3 //________________________________
4 ///////////////////////////////////////////////////////////
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
13 ///////////////////////////////////////////////////////////
16 #include <TObjArray.h>
17 #include "AliEventBaseCut.h"
20 enum AliEventBaseCut::EEventCutProperty;
22 class AliEventCut: public TObject
26 AliEventCut(const AliEventCut& in);
27 virtual ~AliEventCut();
29 virtual Bool_t Rejected(AliAOD* aod) const;//returns kTRUE if rejected
30 void AddBasePartCut(AliEventBaseCut* ebcut);
32 void SetNChargedRange(Int_t min,Int_t max, Double_t etamin = -10.0,Double_t etamax = 10.0);
33 void SetVertexXRange(Double_t min, Double_t max);
34 void SetVertexYRange(Double_t min, Double_t max);
35 void SetVertexZRange(Double_t min, Double_t max);
38 AliEventBaseCut* FindCut(AliEventBaseCut::EEventCutProperty prop);
42 ClassDef(AliEventCut,1)
45 class AliEventEmptyCut: public TObject
49 virtual ~AliEventEmptyCut(){}
51 Bool_t Rejected(AliAOD* /*aod*/) const {return kFALSE;}//always accept
55 ClassDef(AliEventEmptyCut,1)