]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/JetTasks/AliAnalysisHelperJetTasks.cxx
New book-keeping class
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliAnalysisHelperJetTasks.cxx
index 743ba3fdc436ea7a58cc4c4f33763090147e8fd6..f5eba6bda3362fa211c0f931b76d9353df5eeac9 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"
@@ -635,8 +636,92 @@ Bool_t AliAnalysisHelperJetTasks::IsTriggerFired(const AliVEvent* aEv, Trigger t
 Bool_t AliAnalysisHelperJetTasks::IsTriggerBitFired(const AliVEvent* aEv, Trigger trigger)
 {
   // checks if an event is fired using the trigger bits
-
-  return IsTriggerBitFired(aEv->GetTriggerMask(), trigger);
+  // here we do a dirty hack to take also into account the
+  // missing trigger bits and Bunch crossing paatern for real data 
+  
+  if(aEv->InheritsFrom("AliESDEvent")){
+    const AliESDEvent *esd = (AliESDEvent*)aEv;
+    switch (trigger)
+      {
+      case kAcceptAll:
+       {
+         return kTRUE;
+         break;
+       }
+      case kMB1:
+       {
+         if(esd->GetFiredTriggerClasses().Contains("CINT1B-"))return kTRUE;
+         // does the same but without or'ed V0s
+         if(esd->GetFiredTriggerClasses().Contains("CSMBB"))return kTRUE;   
+         // this is for simulated data
+         if(esd->GetFiredTriggerClasses().Contains("MB1"))return kTRUE;   
+         break;
+       }
+      case kMB2:
+       {
+         if(esd->GetFiredTriggerClasses().Contains("MB2"))return kTRUE;   
+         break;
+       }
+      case kMB3:
+       {
+         if(esd->GetFiredTriggerClasses().Contains("MB3"))return kTRUE;   
+         break;
+       }
+      case kSPDGFO:
+       {
+         if(esd->GetFiredTriggerClasses().Contains("CSMBB"))return kTRUE;
+         if(esd->GetFiredTriggerClasses().Contains("GFO"))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:
+       {
+         return kTRUE;
+         break;
+       }
+      case kMB1:
+       {
+         if(aod->GetFiredTriggerClasses().Contains("CINT1B"))return kTRUE;
+         // does the same but without or'ed V0s
+         if(aod->GetFiredTriggerClasses().Contains("CSMBB"))return kTRUE;   
+         // for sim data
+         if(aod->GetFiredTriggerClasses().Contains("MB1"))return kTRUE;   
+         break;
+       }
+      case kMB2:
+       {
+         if(aod->GetFiredTriggerClasses().Contains("MB2"))return kTRUE;   
+         break;
+       }
+      case kMB3:
+       {
+         if(aod->GetFiredTriggerClasses().Contains("MB3"))return kTRUE;   
+         break;
+       }
+      case kSPDGFO:
+       {
+         if(aod->GetFiredTriggerClasses().Contains("CSMBB"))return kTRUE;        
+         if(aod->GetFiredTriggerClasses().Contains("GFO"))return kTRUE;   
+         break;
+       }
+      default:
+       {
+         Printf("IsEventTriggered: ERROR: Trigger type %d not implemented in this method", (Int_t) trigger);
+         break;
+       }
+      }
+  }
+    return kFALSE;
 }
 
 Bool_t AliAnalysisHelperJetTasks::IsTriggerBitFired(ULong64_t triggerMask, Trigger trigger)
@@ -644,8 +729,6 @@ Bool_t AliAnalysisHelperJetTasks::IsTriggerBitFired(ULong64_t triggerMask, Trigg
   // checks if an event is fired using the trigger bits
   //
   // this function needs the branch TriggerMask in the ESD
-  Printf("Triggermask %d",triggerMask);
-
 
   // definitions from p-p.cfg
   ULong64_t spdFO = (1 << 14);