create general emcal task lib
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalPhysicsSelection.h
CommitLineData
be94a07d 1#ifndef ALIEMCALPHYSICSSELECTION_H
2#define ALIEMCALPHYSICSSELECTION_H
3
4// $Id$
5
6#include "AliPhysicsSelection.h"
7
8class AliEmcalPhysicsSelection: public AliPhysicsSelection
9{
10 public:
fb81cdb7 11 enum EOfflineEmcalTypes {
12 kEmcalHC = BIT(28), //=true when EMCAL cell above given Et found
13 kEmcalHT = BIT(29), //=true when EMCAL cluster above given Et found
ccd733eb 14 kEmcalOk = BIT(31), //=true when EMCAL good event criteria are found
fb81cdb7 15 };
16
17 AliEmcalPhysicsSelection();
be94a07d 18 virtual ~AliEmcalPhysicsSelection() {;}
19
20 virtual UInt_t GetSelectionMask(const TObject* obj);
21
fb81cdb7 22 void SetCellMinE(Double_t e) { fCellMinE = e; }
1dc3ded9 23 void SetCentRange(Double_t min, Double_t max) { fCentMin = min; fCentMax = max; }
24 void SetCheckZvertexDiff(Bool_t b) { fZvertexDiff = b; }
fb81cdb7 25 void SetClusMinE(Double_t e) { fClusMinE = e; }
26 void SetMarkFastOnly(Bool_t b) { fMarkFastOnly = b; }
27 void SetMarkLedEvent(Bool_t b) { fMarkLedEvent = b; }
28 void SetSkipFastOnly(Bool_t b) { fSkipFastOnly = b; }
29 void SetSkipLedEvent(Bool_t b) { fSkipLedEvent = b; }
2c091b4a 30 void SetTrackMinPt(Double_t p) { fTrackMinPt = p; }
31 void SetTriggers(UInt_t t) { fTriggers = t; }
1dc3ded9 32 void SetZVertex(Double_t z=10) { fZvertex = z; }
6a7fb48f 33 void SetCellTrackScale(Double_t min, Double_t max) { fMinCellTrackScale = min; fMaxCellTrackScale = max; }
1dc3ded9 34
2c091b4a 35 Double_t GetCellMaxE() const { return fCellMaxE; }
36 Double_t GetClusMaxE() const { return fClusMaxE; }
37 Double_t GetTrackMaxPt() const { return fTrackMaxPt; }
38 Bool_t IsFastOnly() const { return fIsFastOnly; }
39 Bool_t IsLedEvent() const { return fIsLedEvent; }
40 Bool_t IsGoodEvent() const { return fIsGoodEvent; }
be94a07d 41
42 protected:
6a7fb48f 43 Bool_t fMarkFastOnly; //=true then mark FastOnly events (only for LHC11a)
44 Bool_t fMarkLedEvent; //=true then mark Led events (only for LHC11a)
45 Bool_t fSkipFastOnly; //=true then skip FastOnly events (only for LHC11a)
46 Bool_t fSkipLedEvent; //=true then skip Led events (only for LHC11a)
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
1dc3ded9 63
64 ClassDef(AliEmcalPhysicsSelection, 4); // Emcal physics selection
be94a07d 65};
66#endif