trigger selection hleper works on ESD and AOD now
authorkleinb <kleinb@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 9 Dec 2009 19:45:24 +0000 (19:45 +0000)
committerkleinb <kleinb@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 9 Dec 2009 19:45:24 +0000 (19:45 +0000)
PWG4/JetTasks/AliAnalysisHelperJetTasks.cxx

index 9edb14e..60330b6 100644 (file)
@@ -12,6 +12,7 @@
 #include "AliLog.h"
 #include "AliESDEvent.h"
 #include "AliAODJet.h"
+#include "AliAODEvent.h"
 #include "AliStack.h"
 #include "AliGenEventHeader.h"
 #include "AliGenCocktailEventHeader.h"
@@ -637,22 +638,57 @@ Bool_t AliAnalysisHelperJetTasks::IsTriggerBitFired(const AliVEvent* aEv, Trigge
   // checks if an event is fired using the trigger bits
   // here we do a dirty hack to take also into account the
   // missing trigger bits and Bunch crossing paatern for real data 
+  
 
   Bool_t bitFired = IsTriggerBitFired(aEv->GetTriggerMask(), trigger);
-  Bool_t isStringFired = false;
 
+  if(bitFired)return kTRUE;// TODO add protection in case the upper trigger bit are set in the real data too and not correspond to simulated ones...
   if(aEv->InheritsFrom("AliESDEvent")){
-    const AliESDEvent *esd = (AliESDEvent*)(aEv);
+    const AliESDEvent *esd = (AliESDEvent*)aEv;
+    switch (trigger)
+      {
+      case kAcceptAll:
+       {
+         return kTRUE;
+         break;
+       }
+      case kMB1:
+       {
+         if(esd->GetFiredTriggerClasses().Contains("CINT1B"))return kTRUE;
+         break;
+       }
+      case kMB2:
+       {
+         break;
+       }
+      case kMB3:
+       {
+         break;
+       }
+      case kSPDGFO:
+       {
+         if(esd->GetFiredTriggerClasses().Contains("CSMBB"))return kTRUE;        
+         break;
+       }
+      default:
+       {
+         Printf("IsEventTriggered: ERROR: Trigger type %d not implemented in this method", (Int_t) trigger);
+         break;
+       }
+      }
+  }
+  else if(aEv->InheritsFrom("AliAODEvent")){
+    const AliAODEvent *aod = (AliAODEvent*)aEv;
     switch (trigger)
       {
       case kAcceptAll:
        {
-         isStringFired = kTRUE;
+         return kTRUE;
          break;
        }
       case kMB1:
        {
-         if(esd->GetFiredTriggerClasses().Contains("CINT1B"))isStringFired = true;;
+         if(aod->GetFiredTriggerClasses().Contains("CINT1B"))return kTRUE;
          break;
        }
       case kMB2:
@@ -665,7 +701,7 @@ Bool_t AliAnalysisHelperJetTasks::IsTriggerBitFired(const AliVEvent* aEv, Trigge
        }
       case kSPDGFO:
        {
-         if(esd->GetFiredTriggerClasses().Contains("CSMBB"))isStringFired = true;;       
+         if(aod->GetFiredTriggerClasses().Contains("CSMBB"))return kTRUE;        
          break;
        }
       default:
@@ -675,7 +711,7 @@ Bool_t AliAnalysisHelperJetTasks::IsTriggerBitFired(const AliVEvent* aEv, Trigge
        }
       }
   }
-  return bitFired||isStringFired;
+    return kFALSE;
 }
 
 Bool_t AliAnalysisHelperJetTasks::IsTriggerBitFired(ULong64_t triggerMask, Trigger trigger)