]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/EMCAL/AliEmcalPhysicsSelection.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalPhysicsSelection.h
1 #ifndef ALIEMCALPHYSICSSELECTION_H
2 #define ALIEMCALPHYSICSSELECTION_H
3
4 #include "AliPhysicsSelection.h"
5
6 class AliEmcalPhysicsSelection: public AliPhysicsSelection
7 {
8  public:
9   enum EOfflineEmcalTypes { 
10     kEmcalHC = BIT(28), //=true when EMCAL cell above given Et found
11     kEmcalHT = BIT(29), //=true when EMCAL cluster above given Et found
12     kEmcalOk = BIT(31), //=true when EMCAL good event criteria are found
13   };
14
15   AliEmcalPhysicsSelection();
16   virtual ~AliEmcalPhysicsSelection() {;}
17
18   virtual UInt_t GetSelectionMask(const TObject* obj);
19
20   void           SetCellMinE(Double_t e)       { fCellMinE     = e; }
21   void           SetCentRange(Double_t min, Double_t max) { fCentMin = min; fCentMax = max; }
22   void           SetCheckZvertexDiff(Bool_t b) { fZvertexDiff  = b; }
23   void           SetClusMinE(Double_t e)       { fClusMinE     = e; }
24   void           SetMarkFastOnly(Bool_t b)     { fMarkFastOnly = b; }
25   void           SetMarkLedEvent(Bool_t b)     { fMarkLedEvent = b; }
26   void           SetSkipFastOnly(Bool_t b)     { fSkipFastOnly = b; }
27   void           SetSkipLedEvent(Bool_t b)     { fSkipLedEvent = b; }
28   void           SetTrackMinPt(Double_t p)     { fTrackMinPt   = p; }
29   void           SetTriggers(UInt_t t)         { fTriggers     = t; }
30   void           SetZVertex(Double_t z=10)     { fZvertex      = z; }
31   void           SetCellTrackScale(Double_t min, Double_t max) { fMinCellTrackScale = min; fMaxCellTrackScale = max; }
32  
33   Double_t       GetCellMaxE()   const { return fCellMaxE;    }
34   Double_t       GetClusMaxE()   const { return fClusMaxE;    }
35   Double_t       GetTrackMaxPt() const { return fTrackMaxPt;  }
36   Bool_t         IsFastOnly()    const { return fIsFastOnly;  }
37   Bool_t         IsLedEvent()    const { return fIsLedEvent;  }
38   Bool_t         IsGoodEvent()   const { return fIsGoodEvent; }
39
40  protected:
41   Bool_t         fMarkFastOnly;      //=true then mark FastOnly events (only for LHC11a)
42   Bool_t         fMarkLedEvent;      //=true then mark Led events (only for LHC11a)
43   Bool_t         fSkipFastOnly;      //=true then skip FastOnly events (only for LHC11a)
44   Bool_t         fSkipLedEvent;      //=true then skip Led events (only for LHC11a)
45   Double_t       fCellMinE;          //minimum cell energy (<0 -> do not compute)
46   Double_t       fClusMinE;          //minimum clus energy (<0 -> do not compute)
47   Double_t       fTrackMinPt;        //minimum track pt    (<0 -> do not compute)
48   UInt_t         fTriggers;          //if not zero only process given trigges
49   Double_t       fZvertex;           //primary vertex z cut (-1 none)
50   Bool_t         fZvertexDiff;       //=true then select on PRI minus SPD z-vertex 
51   Double_t       fCentMin;           //minimum centrality required (V0M)
52   Double_t       fCentMax;           //maximum centrality required (V0M)
53   Double_t       fMinCellTrackScale; //minimum cells over tracks scale
54   Double_t       fMaxCellTrackScale; //maximum cells over tracks scale
55   Bool_t         fIsFastOnly;        //!=true if FASTONLY event is found
56   Bool_t         fIsLedEvent;        //!=true if LED event is found
57   Bool_t         fIsGoodEvent;       //!=true if good EMCAL event
58   Double_t       fCellMaxE;          //!maximum cell energy in event
59   Double_t       fClusMaxE;          //!maximum clus energy in event
60   Double_t       fTrackMaxPt;        //!maximum track pt in event
61
62   ClassDef(AliEmcalPhysicsSelection, 5); // Emcal physics selection
63 };
64 #endif