]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/EMCAL/AliEmcalPhysicsSelection.h
Merge branch 'master_patch'
[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           SetSkip1024Bug(Bool_t b)      { fSkip1024Bug  = b; }
29   void           SetTrackMinPt(Double_t p)     { fTrackMinPt   = p; }
30   void           SetTriggers(UInt_t t)         { fTriggers     = t; }
31   void           SetZVertex(Double_t z=10)     { fZvertex      = z; }
32   void           SetCellTrackScale(Double_t min, Double_t max) { fMinCellTrackScale = min; fMaxCellTrackScale = max; }
33  
34   Double_t       GetCellMaxE()   const { return fCellMaxE;    }
35   Double_t       GetClusMaxE()   const { return fClusMaxE;    }
36   Double_t       GetTrackMaxPt() const { return fTrackMaxPt;  }
37   Bool_t         IsFastOnly()    const { return fIsFastOnly;  }
38   Bool_t         IsLedEvent()    const { return fIsLedEvent;  }
39   Bool_t         IsGoodEvent()   const { return fIsGoodEvent; }
40
41  protected:
42   Bool_t         fMarkFastOnly;      //=true then mark FastOnly events (only for LHC11a)
43   Bool_t         fMarkLedEvent;      //=true then mark Led events (only for LHC11a)
44   Bool_t         fSkipFastOnly;      //=true then skip FastOnly events (only for LHC11a)
45   Bool_t         fSkipLedEvent;      //=true then skip Led events (only for LHC11a)
46   Bool_t         fSkip1024Bug;       //=true then skip 1024 EMC trigger bug (only for LHC11h)
47   Double_t       fCellMinE;          //minimum cell energy (<0 -> do not compute)
48   Double_t       fClusMinE;          //minimum clus energy (<0 -> do not compute)
49   Double_t       fTrackMinPt;        //minimum track pt    (<0 -> do not compute)
50   UInt_t         fTriggers;          //if not zero only process given trigges
51   Double_t       fZvertex;           //primary vertex z cut (-1 none)
52   Bool_t         fZvertexDiff;       //=true then select on PRI minus SPD z-vertex 
53   Double_t       fCentMin;           //minimum centrality required (V0M)
54   Double_t       fCentMax;           //maximum centrality required (V0M)
55   Double_t       fMinCellTrackScale; //minimum cells over tracks scale
56   Double_t       fMaxCellTrackScale; //maximum cells over tracks scale
57   Bool_t         fIsFastOnly;        //!=true if FASTONLY event is found
58   Bool_t         fIsLedEvent;        //!=true if LED event is found
59   Bool_t         fIsGoodEvent;       //!=true if good EMCAL event
60   Double_t       fCellMaxE;          //!maximum cell energy in event
61   Double_t       fClusMaxE;          //!maximum clus energy in event
62   Double_t       fTrackMaxPt;        //!maximum track pt in event
63
64   ClassDef(AliEmcalPhysicsSelection, 5); // Emcal physics selection
65 };
66 #endif