Cut Property enum moved to BaseCut -> Not to pollute global name space
[u/mrichter/AliRoot.git] / ANALYSIS / AliEventBaseCut.h
CommitLineData
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 16class AliAOD;
b26900d0 17
b4fb427e 18class AliEventBaseCut: public TObject
b26900d0 19{
20 public:
41d658c5 21 enum EEventCutProperty {
22 kPrimVertexXCut,kPrimVertexYCut,kPrimVertexZCut,
23 kNChargedCut,kNone
24 };
25
b4fb427e 26 AliEventBaseCut();
a94c0b01 27 AliEventBaseCut(Double_t min,Double_t max, EEventCutProperty prop = kNone);
b4fb427e 28 virtual ~AliEventBaseCut(){}
cea0a066 29 virtual Bool_t Rejected(AliAOD* aod) const;//returns kTRUE if rejected
a94c0b01 30 virtual void SetRange(Double_t min, Double_t max){fMin = min; fMax = max;}
31
32 virtual EEventCutProperty GetProperty()const{return fProperty;}
33
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
a94c0b01 39 EEventCutProperty fProperty;//Defines the type of the cut - used by the setters cut
40
b26900d0 41 private:
b4fb427e 42 ClassDef(AliEventBaseCut,1)
b26900d0 43};
44
0d8a4589 45/************************************************************/
46
b4fb427e 47class AliPrimVertexXCut: public AliEventBaseCut
0d8a4589 48{
49 public:
a94c0b01 50 AliPrimVertexXCut():AliEventBaseCut(0,0,kPrimVertexXCut){}
51 AliPrimVertexXCut(Double_t min,Double_t max):AliEventBaseCut(min,max,kPrimVertexXCut){}
0d8a4589 52 virtual ~AliPrimVertexXCut(){}
53 protected:
54 Double_t GetValue(AliAOD* aod) const;
55
56 private:
57 ClassDef(AliPrimVertexXCut,1)
58};
59/************************************************************/
60
b4fb427e 61class AliPrimVertexYCut: public AliEventBaseCut
0d8a4589 62{
63 public:
a94c0b01 64 AliPrimVertexYCut():AliEventBaseCut(0,0,kPrimVertexYCut){}
65 AliPrimVertexYCut(Double_t min,Double_t max):AliEventBaseCut(min,max,kPrimVertexYCut){}
0d8a4589 66 virtual ~AliPrimVertexYCut(){}
67
68 protected:
69 Double_t GetValue(AliAOD* aod) const;
70
71 private:
72 ClassDef(AliPrimVertexYCut,1)
73};
74/************************************************************/
75
b4fb427e 76class AliPrimVertexZCut: public AliEventBaseCut
0d8a4589 77{
78 public:
a94c0b01 79 AliPrimVertexZCut():AliEventBaseCut(0,0,kPrimVertexZCut){}
80 AliPrimVertexZCut(Double_t min,Double_t max):AliEventBaseCut(min,max,kPrimVertexZCut){}
0d8a4589 81 virtual ~AliPrimVertexZCut(){}
82 protected:
83 Double_t GetValue(AliAOD* aod) const;
84
85 private:
86 ClassDef(AliPrimVertexZCut,1)
87};
88
89
90/************************************************************/
91
b4fb427e 92class AliNChargedCut: public AliEventBaseCut
0d8a4589 93{
94 public:
a94c0b01 95 AliNChargedCut():AliEventBaseCut(0,0,kNChargedCut){}
0d8a4589 96 AliNChargedCut(Double_t min, Double_t max, Double_t etamin = -10.0, Double_t etamax = 10.0):
a94c0b01 97 AliEventBaseCut(min,max,kNChargedCut),fEtaMin(etamin),fEtaMax(etamax){}
0d8a4589 98 virtual ~AliNChargedCut(){}
a94c0b01 99
100 void SetEtaRange(Double_t min,Double_t max){fEtaMin = min;fEtaMax = max;}
0d8a4589 101 protected:
102 Double_t GetValue(AliAOD* aod) const;
103 Double_t fEtaMin;//Defines max of eta range where mult is caclulated
104 Double_t fEtaMax;//Defines min of eta range where mult is caclulated
105
106 private:
107 ClassDef(AliNChargedCut,1)
108};
109
110
b26900d0 111#endif