b26900d0 |
1 | #ifndef ALIEVENTCUT_H |
2 | #define ALIEVENTCUT_H |
3 | //________________________________ |
4 | /////////////////////////////////////////////////////////// |
5 | // |
0d8a4589 |
6 | // class AliEventCut |
b26900d0 |
7 | // |
0d8a4589 |
8 | // Event cut. It has list of base event cuts. |
9 | // Each of base event cut checks only one property. |
10 | // Logical base cuts also exists that point to other base cuts. |
11 | // Using them one can build complicated cut with binary tree structure |
b26900d0 |
12 | // |
13 | /////////////////////////////////////////////////////////// |
14 | |
0d8a4589 |
15 | #include <TObject.h> |
16 | #include <TObjArray.h> |
b4fb427e |
17 | #include "AliEventBaseCut.h" |
b26900d0 |
18 | |
a5556ea5 |
19 | class AliAOD; |
41d658c5 |
20 | enum AliEventBaseCut::EEventCutProperty; |
b26900d0 |
21 | |
22 | class AliEventCut: public TObject |
23 | { |
24 | public: |
25 | AliEventCut(); |
0d8a4589 |
26 | AliEventCut(const AliEventCut& in); |
b26900d0 |
27 | virtual ~AliEventCut(); |
28 | |
cea0a066 |
29 | virtual Bool_t Rejected(AliAOD* aod) const;//returns kTRUE if rejected |
a94c0b01 |
30 | void AddBasePartCut(AliEventBaseCut* ebcut); |
31 | |
32 | void SetNChargedRange(Int_t min,Int_t max, Double_t etamin = -10.0,Double_t etamax = 10.0); |
2d544686 |
33 | void SetVertexXRange(Int_t min,Int_t max); |
34 | void SetVertexYRange(Int_t min,Int_t max); |
35 | void SetVertexZRange(Int_t min,Int_t max); |
b26900d0 |
36 | |
37 | protected: |
41d658c5 |
38 | AliEventBaseCut* FindCut(AliEventBaseCut::EEventCutProperty prop); |
a94c0b01 |
39 | |
0d8a4589 |
40 | TObjArray fBaseCuts; |
b26900d0 |
41 | private: |
42 | ClassDef(AliEventCut,1) |
43 | }; |
44 | |
b4fb427e |
45 | class AliEventEmptyCut: public TObject |
0d8a4589 |
46 | { |
47 | public: |
b4fb427e |
48 | AliEventEmptyCut(){} |
49 | virtual ~AliEventEmptyCut(){} |
0d8a4589 |
50 | |
41d658c5 |
51 | Bool_t Rejected(AliAOD* /*aod*/) const {return kFALSE;}//always accept |
0d8a4589 |
52 | |
53 | protected: |
54 | private: |
b4fb427e |
55 | ClassDef(AliEventEmptyCut,1) |
0d8a4589 |
56 | }; |
57 | |
b26900d0 |
58 | #endif |