]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Trigger class for real data analysis
authorpchrist <pchrist@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 9 Dec 2009 17:15:23 +0000 (17:15 +0000)
committerpchrist <pchrist@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 9 Dec 2009 17:15:23 +0000 (17:15 +0000)
PWG2/SPECTRA/AliAnalysisTaskProtons.cxx
PWG2/SPECTRA/AliProtonAnalysisBase.cxx
PWG2/SPECTRA/AliProtonAnalysisBase.h

index 865e21176de902659a02e7ec0e303b90544efcce..f8af1b7c37508ebecc1300305236791d1fd0f724 100644 (file)
@@ -1,3 +1,4 @@
+#include "Riostream.h"
 #include "TStyle.h"
 #include "TChain.h"
 #include "TTree.h"
@@ -122,24 +123,15 @@ void AliAnalysisTaskProtons::Exec(Option_t *) {
       return;
     }
 
-    if(dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetMCAnalysisMode()) {
-      if(dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->IsEventTriggered(fESD,dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetTriggerMode())) {
-       const AliESDVertex *vertex = dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetVertex(fESD,dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetAnalysisMode(),dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetVxMax(),dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetVyMax(),dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetVzMax());
-       if(vertex) {
-         AliDebug(1,Form("Proton ESD analysis task: There are %d tracks in this event",fESD->GetNumberOfTracks()));
-         //Printf("Proton ESD analysis task: There are %d tracks in this event", fESD->GetNumberOfTracks());
-         fProtonAnalysis->Analyze(fESD,vertex);
-       }//reconstructed vertex
-      }//triggered event
-    }//MC analysis
-    else {
+    if(dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->IsEventTriggered(fESD,dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetTriggerMode())) {
+      AliDebug(1,Form("Fired trigger class: %s",fESD->GetFiredTriggerClasses().Data()));
       const AliESDVertex *vertex = dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetVertex(fESD,dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetAnalysisMode(),dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetVxMax(),dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetVyMax(),dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetVzMax());
       if(vertex) {
        AliDebug(1,Form("Proton ESD analysis task: There are %d tracks in this event",fESD->GetNumberOfTracks()));
        //Printf("Proton ESD analysis task: There are %d tracks in this event", fESD->GetNumberOfTracks());
        fProtonAnalysis->Analyze(fESD,vertex);
       }//reconstructed vertex
-    }//real data analysis
+    }//triggered event
   }//ESD analysis              
   
   else if(gAnalysisLevel == "AOD") {
index 9f8efdf4d86c394cd83d74c5d19d63eb7fa850ac..1e1e544a56c80ba6144ef1c810a752c24c12ba03 100644 (file)
@@ -585,29 +585,36 @@ Bool_t AliProtonAnalysisBase::IsEventTriggered(const AliESDEvent *esd,
                                               TriggerMode trigger) {
   // check if the event was triggered
   ULong64_t triggerMask = esd->GetTriggerMask();
-  
-  // definitions from p-p.cfg
-  ULong64_t spdFO = (1 << 14);
-  ULong64_t v0left = (1 << 11);
-  ULong64_t v0right = (1 << 12);
-
-  switch (trigger) {
-  case kMB1: {
-    if (triggerMask & spdFO || ((triggerMask & v0left) || (triggerMask & v0right)))
-      return kTRUE;
-    break;
-  }
-  case kMB2: {
-    if (triggerMask & spdFO && ((triggerMask & v0left) || (triggerMask & v0right)))
-      return kTRUE;
-    break;
+  TString firedTriggerClass = esd->GetFiredTriggerClasses();
+
+  if(fAnalysisMC) {
+    // definitions from p-p.cfg
+    ULong64_t spdFO = (1 << 14);
+    ULong64_t v0left = (1 << 11);
+    ULong64_t v0right = (1 << 12);
+    
+    switch (trigger) {
+    case kMB1: {
+      if (triggerMask & spdFO || ((triggerMask & v0left) || (triggerMask & v0right)))
+       return kTRUE;
+      break;
+    }
+    case kMB2: {
+      if (triggerMask & spdFO && ((triggerMask & v0left) || (triggerMask & v0right)))
+       return kTRUE;
+      break;
+    }
+    case kSPDFASTOR: {
+      if (triggerMask & spdFO)
+       return kTRUE;
+      break;
+    }
+    }//switch
   }
-  case kSPDFASTOR: {
-    if (triggerMask & spdFO)
+  else {
+    if(firedTriggerClass.Contains("CINT1B-ABCE-NOPF-ALL"))
       return kTRUE;
-    break;
   }
-  }//switch
 
   return kFALSE;
 }
index c9f5b7698bfcec3d08f95da72a5237cf1bd90e67..13b402789042957d68933746fe1fe944a7586406 100644 (file)
@@ -70,8 +70,8 @@ class AliProtonAnalysisBase : public TObject {
   Double_t GetMaxX() const {return fMaxX;}
   Double_t GetMaxY() const {return fMaxY;}
 
-  static Bool_t IsEventTriggered(const AliESDEvent *esd,
-                                 TriggerMode trigger = kMB2);
+  Bool_t IsEventTriggered(const AliESDEvent *esd,
+                         TriggerMode trigger = kMB2);
   Bool_t IsAccepted(AliESDEvent *esd,
                    const AliESDVertex *vertex, 
                    AliESDtrack *track);