]>
Commit | Line | Data |
---|---|---|
b4fb427e | 1 | #ifndef ALIEVENTBASECUT_H |
2 | #define ALIEVENTBASECUT_H | |
b26900d0 | 3 | //________________________________ |
4 | /////////////////////////////////////////////////////////// | |
5 | // | |
b4fb427e | 6 | // class AliEventBaseCut |
b26900d0 | 7 | // |
8 | // Base class for cauts that checks only one event property | |
9 | // | |
10 | // Piotr.Skowronski@cern.ch | |
11 | // | |
12 | /////////////////////////////////////////////////////////// | |
13 | ||
14 | #include "TObject.h" | |
15 | ||
a5556ea5 | 16 | class AliAOD; |
b26900d0 | 17 | |
b4fb427e | 18 | class AliEventBaseCut: public TObject |
b26900d0 | 19 | { |
20 | public: | |
41d658c5 | 21 | enum EEventCutProperty { |
22 | kPrimVertexXCut,kPrimVertexYCut,kPrimVertexZCut, | |
23 | kNChargedCut,kNone | |
24 | }; | |
25 | ||
b4fb427e | 26 | AliEventBaseCut(); |
a94c0b01 | 27 | AliEventBaseCut(Double_t min,Double_t max, EEventCutProperty prop = kNone); |
b4fb427e | 28 | virtual ~AliEventBaseCut(){} |
cea0a066 | 29 | virtual Bool_t Rejected(AliAOD* aod) const;//returns kTRUE if rejected |
a94c0b01 | 30 | virtual void SetRange(Double_t min, Double_t max){fMin = min; fMax = max;} |
31 | ||
32 | virtual EEventCutProperty GetProperty()const{return fProperty;} | |
33 | ||
b26900d0 | 34 | protected: |
a5556ea5 | 35 | virtual Double_t GetValue(AliAOD* aod) const = 0; |
b26900d0 | 36 | |
37 | Double_t fMin;//Minimum value | |
38 | Double_t fMax;//Maximum value | |
a94c0b01 | 39 | EEventCutProperty fProperty;//Defines the type of the cut - used by the setters cut |
40 | ||
b26900d0 | 41 | private: |
b4fb427e | 42 | ClassDef(AliEventBaseCut,1) |
b26900d0 | 43 | }; |
44 | ||
0d8a4589 | 45 | /************************************************************/ |
46 | ||
b4fb427e | 47 | class AliPrimVertexXCut: public AliEventBaseCut |
0d8a4589 | 48 | { |
49 | public: | |
a94c0b01 | 50 | AliPrimVertexXCut():AliEventBaseCut(0,0,kPrimVertexXCut){} |
51 | AliPrimVertexXCut(Double_t min,Double_t max):AliEventBaseCut(min,max,kPrimVertexXCut){} | |
0d8a4589 | 52 | virtual ~AliPrimVertexXCut(){} |
53 | protected: | |
54 | Double_t GetValue(AliAOD* aod) const; | |
55 | ||
56 | private: | |
57 | ClassDef(AliPrimVertexXCut,1) | |
58 | }; | |
59 | /************************************************************/ | |
60 | ||
b4fb427e | 61 | class AliPrimVertexYCut: public AliEventBaseCut |
0d8a4589 | 62 | { |
63 | public: | |
a94c0b01 | 64 | AliPrimVertexYCut():AliEventBaseCut(0,0,kPrimVertexYCut){} |
65 | AliPrimVertexYCut(Double_t min,Double_t max):AliEventBaseCut(min,max,kPrimVertexYCut){} | |
0d8a4589 | 66 | virtual ~AliPrimVertexYCut(){} |
67 | ||
68 | protected: | |
69 | Double_t GetValue(AliAOD* aod) const; | |
70 | ||
71 | private: | |
72 | ClassDef(AliPrimVertexYCut,1) | |
73 | }; | |
74 | /************************************************************/ | |
75 | ||
b4fb427e | 76 | class AliPrimVertexZCut: public AliEventBaseCut |
0d8a4589 | 77 | { |
78 | public: | |
a94c0b01 | 79 | AliPrimVertexZCut():AliEventBaseCut(0,0,kPrimVertexZCut){} |
80 | AliPrimVertexZCut(Double_t min,Double_t max):AliEventBaseCut(min,max,kPrimVertexZCut){} | |
0d8a4589 | 81 | virtual ~AliPrimVertexZCut(){} |
82 | protected: | |
83 | Double_t GetValue(AliAOD* aod) const; | |
84 | ||
85 | private: | |
86 | ClassDef(AliPrimVertexZCut,1) | |
87 | }; | |
88 | ||
89 | ||
90 | /************************************************************/ | |
91 | ||
b4fb427e | 92 | class AliNChargedCut: public AliEventBaseCut |
0d8a4589 | 93 | { |
94 | public: | |
a94c0b01 | 95 | AliNChargedCut():AliEventBaseCut(0,0,kNChargedCut){} |
0a4cc279 | 96 | AliNChargedCut(Int_t min, Int_t max, Double_t etamin = -10.0, Double_t etamax = 10.0): |
a94c0b01 | 97 | AliEventBaseCut(min,max,kNChargedCut),fEtaMin(etamin),fEtaMax(etamax){} |
0d8a4589 | 98 | virtual ~AliNChargedCut(){} |
a94c0b01 | 99 | |
100 | void SetEtaRange(Double_t min,Double_t max){fEtaMin = min;fEtaMax = max;} | |
0d8a4589 | 101 | protected: |
102 | Double_t GetValue(AliAOD* aod) const; | |
103 | Double_t fEtaMin;//Defines max of eta range where mult is caclulated | |
104 | Double_t fEtaMax;//Defines min of eta range where mult is caclulated | |
105 | ||
106 | private: | |
107 | ClassDef(AliNChargedCut,1) | |
108 | }; | |
109 | ||
110 | ||
b26900d0 | 111 | #endif |