]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/AliEventCut.h
7cb041d6382f75d90022a2160be69823afaf25c3
[u/mrichter/AliRoot.git] / ANALYSIS / AliEventCut.h
1 #ifndef ALIEVENTCUT_H
2 #define ALIEVENTCUT_H
3 //________________________________
4 ///////////////////////////////////////////////////////////
5 //
6 // class AliEventCut
7 //
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
12 //
13 ///////////////////////////////////////////////////////////
14
15 #include <TObject.h>
16 #include <TObjArray.h>
17 #include "AliBaseEventCut.h"
18
19 class AliAOD;
20
21 class AliEventCut: public TObject
22 {
23   public: 
24     AliEventCut();
25     AliEventCut(const AliEventCut& in);
26     virtual ~AliEventCut();
27     
28     virtual Bool_t Pass(AliAOD* aod) const;//returns kTRUE if rejected
29     void AddBasePartCut(AliBaseEventCut* ebcut){fBaseCuts.Add(ebcut);}
30     
31   protected:
32     TObjArray fBaseCuts;
33   private:
34     ClassDef(AliEventCut,1)
35 };
36
37 class AliEmptyEventCut: public TObject
38 {
39   public: 
40     AliEmptyEventCut(){}
41     virtual ~AliEmptyEventCut(){}
42     
43     Bool_t Pass(AliAOD* aod) const {return kFALSE;}//always accept
44     
45   protected:
46   private:
47     ClassDef(AliEmptyEventCut,1)
48 };
49
50 #endif