Level 3 Home Page

How Do I get the unbiased event sample?

Since the L3 triggered events are in general not unbiased, e.g. the high-pt-RICH triggered events for a flow analysis, most users will want to filter out these events to get an unbiased data set. Therefore a simple member function is provided which checks how the event decision was made: unbiased, i.e. not triggered by a L3 algorithm, or biased, i.e. triggered by L3. One exception is the L3 vertex algorithm, where a bias is not seen, or exspected, for central events. This can be checked with a similar function.

The following lines show how to filter the events for the unbiased set in StEvent:

     StEvent* myEvent;
     myEvent = (StEvent* )chain->GetInputDS("StEvent");

     if (!myEvent) {
       cout <<"No StEvent found.\n";
       return kStWarn;  // nothing is working here!

     // Get L3 entry point
     myL3Trigger = (StL3Trigger* )myEvent->l3Trigger();
     if (!myL3Trigger) {
       cout << "No l3 found inside StEvent.\n";
       cout << "That means l3 was switched off and the event is unbiased. \n";
     else {
       // Get L3 event summary
       const StL3EventSummary* myL3EventSummary = myL3Trigger->l3EventSummary();
       if (!myL3EventSummary) {
         cout << "No l3 event summary found." << endl;
         // that's an error if this is not there, so return
         return kStWarn;

       // now check the event
       if (myL3EventSummary->unbiasedTrigger()==false) {
         cout << "This event was triggered by L3. \n";
         cout << "Don't take it! \n";
         return kStOk;

     // now this event is unbiased
     // do your analysis of this event here...

Christof Struck
Last modified: Fri Nov 9 16:18:04 EST 2001