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
12 // Author: Piotr.Skowronski@cern.ch
13 ///////////////////////////////////////////////////////////
16 #include <TObjArray.h>
17 #include "AliEventBaseCut.h"
21 class AliEventCut: public TObject
25 AliEventCut(const AliEventCut& in);
26 virtual ~AliEventCut();
28 virtual Bool_t Rejected(AliAOD* aod) const;//returns kTRUE if rejected
29 void AddBasePartCut(AliEventBaseCut* ebcut);
31 void SetNChargedRange(Int_t min,Int_t max, Double_t etamin = -10.0,Double_t etamax = 10.0);
32 void SetVertexXRange(Double_t min, Double_t max);
33 void SetVertexYRange(Double_t min, Double_t max);
34 void SetVertexZRange(Double_t min, Double_t max);
37 AliEventBaseCut* FindCut(AliEventBaseCut::EEventCutProperty prop);
39 TObjArray fBaseCuts; // Array of cuts
41 ClassDef(AliEventCut,1)
44 class AliEventEmptyCut: public TObject
48 virtual ~AliEventEmptyCut(){}
50 Bool_t Rejected(AliAOD* /*aod*/) const {return kFALSE;}//always accept
54 ClassDef(AliEventEmptyCut,1)