]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliPhysicsSelection.h
Upgrade of the Cascade envt :
[u/mrichter/AliRoot.git] / ANALYSIS / AliPhysicsSelection.h
index 5f75b1978d10db81e26f7a76cab6e9de7312c79f..95d9b64e56c23c8964e7c5429af19099b330a201 100644 (file)
@@ -17,6 +17,7 @@
 
 #include <AliAnalysisCuts.h>
 #include <TList.h>
+#include "TObjString.h"
 
 class AliESDEvent;
 class TH2F;
@@ -36,14 +37,20 @@ class AliPhysicsSelection : public AliAnalysisCuts
     Bool_t IsCollisionCandidate(const AliESDEvent* aEsd);
     Bool_t Initialize(UInt_t runNumber);
     
+    void SetAnalyzeMC(Bool_t flag = kTRUE) { fMC = flag; }
+    void SetSkipTriggerClassSelection(Bool_t flag = kTRUE) { fSkipTriggerClassSelection = flag; }
+   
     void AddBackgroundIdentification(AliAnalysisCuts* background) { fBackgroundIdentification = background; }
     
     virtual void Print(Option_t* option = "") const;
     virtual Long64_t Merge(TCollection* list);
     void SaveHistograms(const char* folder = 0) const;
     
-    TList* GetCollisionTriggerClasses() { return &fCollTrigClasses; }
-    TList* GetBGTriggerClasses() { return &fBGTrigClasses; }
+    const TList* GetCollisionTriggerClasses() const { return &fCollTrigClasses; }
+    const TList* GetBGTriggerClasses()        const { return &fBGTrigClasses; }
+    void AddCollisionTriggerClass(const char* className){ fCollTrigClasses.Add(new TObjString(className)); fUsingCustomClasses = kTRUE; }
+    void AddBGTriggerClass(const char* className)       { fBGTrigClasses.Add(new TObjString(className));  fUsingCustomClasses = kTRUE; }
+  
     AliTriggerAnalysis* GetTriggerAnalysis() { return (fTriggerAnalysis.GetEntries() > 0) ? (AliTriggerAnalysis*) fTriggerAnalysis.At(0) : 0; }    
     
     const TH2F* GetStatisticsHistogram() const { return fHistStatistics; }
@@ -51,8 +58,10 @@ class AliPhysicsSelection : public AliAnalysisCuts
     
   protected:
     Bool_t CheckTriggerClass(const AliESDEvent* aEsd, const char* trigger) const;
+    Int_t GetTriggerScheme(UInt_t runNumber);
     
     Int_t fCurrentRun;      // run number for which the object is initialized
+    Bool_t fMC;             // flag if MC is analyzed
     TList fCollTrigClasses; // trigger class identifying collision candidates
     TList fBGTrigClasses;   // trigger classes identifying background events
     
@@ -63,7 +72,10 @@ class AliPhysicsSelection : public AliAnalysisCuts
     TH2F* fHistStatistics;      // how many events are cut away why
     TH2F* fHistBunchCrossing;   // histograms of accepted bunch crossing numbers
     
-    ClassDef(AliPhysicsSelection, 1)
+    Bool_t fSkipTriggerClassSelection;  // flag that determines if the trigger classs selection is skipped
+    Bool_t fUsingCustomClasses;         // flag that is set if costum trigger classes are defined
+
+    ClassDef(AliPhysicsSelection, 2)
     
   private:
     AliPhysicsSelection(const AliPhysicsSelection&);