]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGDQ/dielectron/AliAnalysisTaskDielectronFilter.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / AliAnalysisTaskDielectronFilter.h
index c398bfdc2d91e994c2e48890a22e5cd950452a50..2f64a896232274994a4de36fe31d4c7bdb329b40 100644 (file)
@@ -29,6 +29,8 @@ Add a sattelite AOD with the array of candidates.
 
 class AliDielectron;
 class TH1D;
+class AliTriggerAnalysis;
+class AliAODCaloCluster;
 
 class AliAnalysisTaskDielectronFilter : public AliAnalysisTaskSE {
   
@@ -37,6 +39,8 @@ public:
   AliAnalysisTaskDielectronFilter(const char *name);
   virtual ~AliAnalysisTaskDielectronFilter(){}
 
+  enum ETriggerLogig {kAny, kExact};
+
   virtual void UserExec(Option_t *option);
   virtual void Init();
   virtual void UserCreateOutputObjects();
@@ -47,25 +51,44 @@ public:
   void UsePhysicsSelection(Bool_t phy=kTRUE) {fSelectPhysics=phy;}
   void SetTriggerMask(UInt_t mask) {fTriggerMask=mask;}
   UInt_t GetTriggerMask() const { return fTriggerMask; }
+  void SetExcludeTriggerMask(ULong64_t mask) {fExcludeTriggerMask=mask;}
+  UInt_t GetExcludeTriggerMask() const { return fExcludeTriggerMask; }
+  void SetTriggerLogic(ETriggerLogig log) {fTriggerLogic=log;}
+  ETriggerLogig GetTriggerLogic() const {return fTriggerLogic;}
   
+
   void SetDielectron(AliDielectron * const die) { fDielectron = die; }
 
   void SetStoreLikeSignCandidates(Bool_t storeLS) { fStoreLikeSign = storeLS; }
   void SetStoreRotatedPairs(Bool_t storeTR) { fStoreRotatedPairs = storeTR; }
+  void SetStoreEventsWithSingleTracks(Bool_t storeSingleTrk) { fStoreEventsWithSingleTracks = storeSingleTrk; }
+  void SetCreateNanoAODs(Bool_t storeTrackRef) { fCreateNanoAOD = storeTrackRef; }
+  void SetStoreHeader(Bool_t storeHeader) { fStoreHeader = storeHeader; }
 
   void SetEventFilter(AliAnalysisCuts * const filter) {fEventFilter=filter;}
 
 private:
-  
+  enum {kAllEvents=0, kSelectedEvents, kV0andEvents, kFilteredEvents, kPileupEvents, kNbinsEvent};  
+
   AliDielectron *fDielectron;             // J/psi framework object
 
   Bool_t fSelectPhysics;                  // Whether to use physics selection
   UInt_t fTriggerMask;               // Event trigger mask
+  UInt_t fExcludeTriggerMask;        // Triggers to exclude from the analysis
+  Bool_t fTriggerOnV0AND;            // if to trigger on V0and
+  Bool_t fRejectPileup;              // pileup rejection wanted
 
   TH1D *fEventStat;                  //! Histogram with event statistics
+
+  ETriggerLogig fTriggerLogic;       // trigger logic: any or all bits need to be matching
+
+  AliTriggerAnalysis *fTriggerAnalysis; //! trigger analysis class
   
   Bool_t fStoreLikeSign;        // flag to store like-sign candidates
   Bool_t fStoreRotatedPairs;    // flag to store rotation
+  Bool_t fStoreEventsWithSingleTracks;    // flag to store events with a least one reconstructed track 
+  Bool_t fCreateNanoAOD;        // flag to create nanoAODs 
+  Bool_t fStoreHeader;          // flag to store header for all events 
 
   AliAnalysisCuts *fEventFilter;     // event filter