it is essential that the default target is a sub-shell "$(MAKE) aliroot".
[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
0d8a4589 18enum AliEventCutProperty
19 {
20 kPrimVertexXCut,
21 kPrimVertexYCut,
22 kPrimVertexZCut,
23 kNChargedCut
24 };
25
b4fb427e 26class AliEventBaseCut: public TObject
b26900d0 27{
28 public:
b4fb427e 29 AliEventBaseCut();
30 AliEventBaseCut(Double_t min,Double_t max);
31 virtual ~AliEventBaseCut(){}
b26900d0 32
a5556ea5 33 virtual Bool_t Pass(AliAOD* aod) const;//returns kTRUE if rejected
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
39 private:
b4fb427e 40 ClassDef(AliEventBaseCut,1)
b26900d0 41};
42
0d8a4589 43/************************************************************/
44
b4fb427e 45class AliPrimVertexXCut: public AliEventBaseCut
0d8a4589 46{
47 public:
48 AliPrimVertexXCut(){}
b4fb427e 49 AliPrimVertexXCut(Double_t min,Double_t max):AliEventBaseCut(min,max){}
0d8a4589 50 virtual ~AliPrimVertexXCut(){}
51 protected:
52 Double_t GetValue(AliAOD* aod) const;
53
54 private:
55 ClassDef(AliPrimVertexXCut,1)
56};
57/************************************************************/
58
b4fb427e 59class AliPrimVertexYCut: public AliEventBaseCut
0d8a4589 60{
61 public:
62 AliPrimVertexYCut(){}
b4fb427e 63 AliPrimVertexYCut(Double_t min,Double_t max):AliEventBaseCut(min,max){}
0d8a4589 64 virtual ~AliPrimVertexYCut(){}
65
66 protected:
67 Double_t GetValue(AliAOD* aod) const;
68
69 private:
70 ClassDef(AliPrimVertexYCut,1)
71};
72/************************************************************/
73
b4fb427e 74class AliPrimVertexZCut: public AliEventBaseCut
0d8a4589 75{
76 public:
77 AliPrimVertexZCut(){}
b4fb427e 78 AliPrimVertexZCut(Double_t min,Double_t max):AliEventBaseCut(min,max){}
0d8a4589 79 virtual ~AliPrimVertexZCut(){}
80 protected:
81 Double_t GetValue(AliAOD* aod) const;
82
83 private:
84 ClassDef(AliPrimVertexZCut,1)
85};
86
87
88/************************************************************/
89
b4fb427e 90class AliNChargedCut: public AliEventBaseCut
0d8a4589 91{
92 public:
93 AliNChargedCut(){}
94 AliNChargedCut(Double_t min, Double_t max, Double_t etamin = -10.0, Double_t etamax = 10.0):
b4fb427e 95 AliEventBaseCut(min,max),fEtaMin(etamin),fEtaMax(etamax){}
0d8a4589 96 virtual ~AliNChargedCut(){}
97 protected:
98 Double_t GetValue(AliAOD* aod) const;
99 Double_t fEtaMin;//Defines max of eta range where mult is caclulated
100 Double_t fEtaMax;//Defines min of eta range where mult is caclulated
101
102 private:
103 ClassDef(AliNChargedCut,1)
104};
105
106
b26900d0 107#endif