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 | |
0d8a4589 |
18 | enum AliEventCutProperty |
19 | { |
20 | kPrimVertexXCut, |
21 | kPrimVertexYCut, |
22 | kPrimVertexZCut, |
23 | kNChargedCut |
24 | }; |
25 | |
b4fb427e |
26 | class AliEventBaseCut: public TObject |
b26900d0 |
27 | { |
28 | public: |
b4fb427e |
29 | AliEventBaseCut(); |
30 | AliEventBaseCut(Double_t min,Double_t max); |
31 | virtual ~AliEventBaseCut(){} |
b26900d0 |
32 | |
a5556ea5 |
33 | virtual Bool_t Pass(AliAOD* aod) const;//returns kTRUE if rejected |
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 |
39 | private: |
b4fb427e |
40 | ClassDef(AliEventBaseCut,1) |
b26900d0 |
41 | }; |
42 | |
0d8a4589 |
43 | /************************************************************/ |
44 | |
b4fb427e |
45 | class AliPrimVertexXCut: public AliEventBaseCut |
0d8a4589 |
46 | { |
47 | public: |
48 | AliPrimVertexXCut(){} |
b4fb427e |
49 | AliPrimVertexXCut(Double_t min,Double_t max):AliEventBaseCut(min,max){} |
0d8a4589 |
50 | virtual ~AliPrimVertexXCut(){} |
51 | protected: |
52 | Double_t GetValue(AliAOD* aod) const; |
53 | |
54 | private: |
55 | ClassDef(AliPrimVertexXCut,1) |
56 | }; |
57 | /************************************************************/ |
58 | |
b4fb427e |
59 | class AliPrimVertexYCut: public AliEventBaseCut |
0d8a4589 |
60 | { |
61 | public: |
62 | AliPrimVertexYCut(){} |
b4fb427e |
63 | AliPrimVertexYCut(Double_t min,Double_t max):AliEventBaseCut(min,max){} |
0d8a4589 |
64 | virtual ~AliPrimVertexYCut(){} |
65 | |
66 | protected: |
67 | Double_t GetValue(AliAOD* aod) const; |
68 | |
69 | private: |
70 | ClassDef(AliPrimVertexYCut,1) |
71 | }; |
72 | /************************************************************/ |
73 | |
b4fb427e |
74 | class AliPrimVertexZCut: public AliEventBaseCut |
0d8a4589 |
75 | { |
76 | public: |
77 | AliPrimVertexZCut(){} |
b4fb427e |
78 | AliPrimVertexZCut(Double_t min,Double_t max):AliEventBaseCut(min,max){} |
0d8a4589 |
79 | virtual ~AliPrimVertexZCut(){} |
80 | protected: |
81 | Double_t GetValue(AliAOD* aod) const; |
82 | |
83 | private: |
84 | ClassDef(AliPrimVertexZCut,1) |
85 | }; |
86 | |
87 | |
88 | /************************************************************/ |
89 | |
b4fb427e |
90 | class AliNChargedCut: public AliEventBaseCut |
0d8a4589 |
91 | { |
92 | public: |
93 | AliNChargedCut(){} |
94 | AliNChargedCut(Double_t min, Double_t max, Double_t etamin = -10.0, Double_t etamax = 10.0): |
b4fb427e |
95 | AliEventBaseCut(min,max),fEtaMin(etamin),fEtaMax(etamax){} |
0d8a4589 |
96 | virtual ~AliNChargedCut(){} |
97 | protected: |
98 | Double_t GetValue(AliAOD* aod) const; |
99 | Double_t fEtaMin;//Defines max of eta range where mult is caclulated |
100 | Double_t fEtaMax;//Defines min of eta range where mult is caclulated |
101 | |
102 | private: |
103 | ClassDef(AliNChargedCut,1) |
104 | }; |
105 | |
106 | |
b26900d0 |
107 | #endif |