Reconstruction of raw data included (T.Kuhr)
[u/mrichter/AliRoot.git] / ANALYSIS / AliBaseEventCut.h
CommitLineData
b26900d0 1#ifndef ALIBASEEVENTCUT_H
2#define ALIBASEEVENTCUT_H
3//________________________________
4///////////////////////////////////////////////////////////
5//
6// class AliBaseEventCut
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
b26900d0 26class AliBaseEventCut: public TObject
27{
28 public:
29 AliBaseEventCut();
0d8a4589 30 AliBaseEventCut(Double_t min,Double_t max);
b26900d0 31 virtual ~AliBaseEventCut(){}
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:
40 ClassDef(AliBaseEventCut,1)
41};
42
0d8a4589 43/************************************************************/
44
45class AliPrimVertexXCut: public AliBaseEventCut
46{
47 public:
48 AliPrimVertexXCut(){}
49 AliPrimVertexXCut(Double_t min,Double_t max):AliBaseEventCut(min,max){}
50 virtual ~AliPrimVertexXCut(){}
51 protected:
52 Double_t GetValue(AliAOD* aod) const;
53
54 private:
55 ClassDef(AliPrimVertexXCut,1)
56};
57/************************************************************/
58
59class AliPrimVertexYCut: public AliBaseEventCut
60{
61 public:
62 AliPrimVertexYCut(){}
63 AliPrimVertexYCut(Double_t min,Double_t max):AliBaseEventCut(min,max){}
64 virtual ~AliPrimVertexYCut(){}
65
66 protected:
67 Double_t GetValue(AliAOD* aod) const;
68
69 private:
70 ClassDef(AliPrimVertexYCut,1)
71};
72/************************************************************/
73
74class AliPrimVertexZCut: public AliBaseEventCut
75{
76 public:
77 AliPrimVertexZCut(){}
78 AliPrimVertexZCut(Double_t min,Double_t max):AliBaseEventCut(min,max){}
79 virtual ~AliPrimVertexZCut(){}
80 protected:
81 Double_t GetValue(AliAOD* aod) const;
82
83 private:
84 ClassDef(AliPrimVertexZCut,1)
85};
86
87
88/************************************************************/
89
90class AliNChargedCut: public AliBaseEventCut
91{
92 public:
93 AliNChargedCut(){}
94 AliNChargedCut(Double_t min, Double_t max, Double_t etamin = -10.0, Double_t etamax = 10.0):
95 AliBaseEventCut(min,max),fEtaMin(etamin),fEtaMax(etamax){}
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