- Adding track distance cuts (x and z) with setters and getters
[u/mrichter/AliRoot.git] / PWG4 / totEt / AliAnalysisEtCuts.h
1 #ifndef ALIANALYSISETCUTS_H
2 #define ALIANALYSISETCUTS_H
3 //_________________________________________________________________________
4 //  Utility Class for transverse energy studies
5 //  Base class for ESD & MC analysis
6 //  - cuts for reconstruction and MonteCarlo 
7 //  
8 //*-- Authors: Oystein Djuvsland (Bergen), David Silvermyr (ORNL)
9 //_________________________________________________________________________
10
11 #include "TNamed.h"
12
13 class AliAnalysisEtCuts : public TNamed
14 {
15  public:
16    
17   AliAnalysisEtCuts();
18   virtual ~AliAnalysisEtCuts();
19
20   virtual void SetPbPbDefaults();
21
22   // Getters
23   // Common
24   Double_t GetCommonEtaCut() const { return fCommonEtaCut; }
25   Double_t GetCommonClusterEnergyCut() const { return fCommonClusterEnergyCut; }
26   Double_t GetCommonTrackPtCut() const { return fCommonTrackPtCut; }
27   Int_t GetCommonSingleCell() const { return fCommonSingleCell; }
28
29   // GeometryPhos
30   Double_t GetGeometryPhosEtaAccCut() const { return fGeometryPhosEtaAccCut; }
31   Double_t GetGeometryPhosPhiAccMinCut() const { return fGeometryPhosPhiAccMinCut; }
32   Double_t GetGeometryPhosPhiAccMaxCut() const { return fGeometryPhosPhiAccMaxCut; }
33   Double_t GetGeometryPhosDetectorRadius() const { return fGeometryPhosDetectorRadius; }
34   // GeometryEmcal
35   Double_t GetGeometryEmcalEtaAccCut() const { return fGeometryEmcalEtaAccCut; }
36   Double_t GetGeometryEmcalPhiAccMinCut() const { return fGeometryEmcalPhiAccMinCut; }
37   Double_t GetGeometryEmcalPhiAccMaxCut() const { return fGeometryEmcalPhiAccMaxCut; }
38   Double_t GetGeometryEmcalDetectorRadius() const { return fGeometryEmcalDetectorRadius; }
39   // Reconstructed
40   Double_t GetReconstructedVertexXCut() const { return fReconstructedVertexXCut; }
41   Double_t GetReconstructedVertexYCut() const { return fReconstructedVertexYCut; }
42   Double_t GetReconstructedVertexZCut() const { return fReconstructedVertexZCut; }
43   Double_t GetReconstructedIPxyCut() const { return fReconstructedIPxyCut; }
44   Double_t GetReconstructedIPzCut() const { return fReconstructedIPzCut; }
45   Int_t GetReconstructedNTpcClustersCut() const { return fReconstructedNTpcClustersCut; }
46   Int_t GetReconstructedNItsClustersCut() const { return fReconstructedNItsClustersCut; }
47   Double_t GetReconstructedPidCut() const { return fReconstructedPidCut; }
48   // ReconstructedPhos
49   Char_t GetReconstructedPhosClusterType() const { return fReconstructedPhosClusterType; }
50   Double_t GetReconstructedPhosClusterEnergyCut() const { return fReconstructedPhosClusterEnergyCut; }
51   Double_t GetReconstructedPhosSingleCellEnergyCut() const { return fReconstructedPhosSingleCellEnergyCut; }
52   Double_t GetPhosTrackDistanceCut() const { return fPhosTrackDistanceCut; }
53   Double_t GetPhosTrackDxCut() const { return fPhosTrackDxCut; }
54   Double_t GetPhosTrackDzCut() const { return fPhosTrackDzCut; }
55   // ReconstructedEmcal
56   Char_t GetReconstructedEmcalClusterType() const { return fReconstructedEmcalClusterType; }
57   Double_t GetReconstructedEmcalClusterEnergyCut() const { return fReconstructedEmcalClusterEnergyCut; }
58   Double_t GetReconstructedEmcalSingleCellEnergyCut() const { return fReconstructedEmcalSingleCellEnergyCut; }
59   Double_t GetEmcalTrackDistanceCut() const { return fEmcalTrackDistanceCut; }
60   Double_t GetEmcalTrackDxCut() const { return fEmcalTrackDxCut; }
61   Double_t GetEmcalTrackDzCut() const { return fEmcalTrackDzCut; }
62   
63   // MonteCarlo
64   Double_t GetMonteCarloSingleChargedParticle() const { return fMonteCarloSingleChargedParticle; }
65   Double_t GetMonteCarloNeutralParticle() const { return fMonteCarloNeutralParticle; }
66   // Hist: TTree and histogram info
67   Bool_t GetHistMakeTree() const { return fHistMakeTree; }
68   Bool_t GetHistMakeTreeDeposit() const { return fHistMakeTreeDeposit; }
69   //
70   Int_t GetHistNbinsMult() const { return fHistNbinsMult; }
71   Double_t GetHistMinMult() const { return fHistMinMult; }
72   Double_t GetHistMaxMult() const { return fHistMaxMult; }
73   //
74   Int_t GetHistNbinsTotEt() const { return fHistNbinsTotEt; }
75   Double_t GetHistMinTotEt() const { return fHistMinTotEt; }
76   Double_t GetHistMaxTotEt() const { return fHistMaxTotEt; }
77   //
78   Int_t GetHistNbinsParticleEt() const { return fHistNbinsParticleEt; }
79   Double_t GetHistMinParticleEt() const { return fHistMinParticleEt; }
80   Double_t GetHistMaxParticleEt() const { return fHistMaxParticleEt; }
81   //
82   Int_t GetHistNbinsParticlePt() const { return fHistNbinsParticlePt; }
83   Double_t GetHistMinParticlePt() const { return fHistMinParticlePt; }
84   Double_t GetHistMaxParticlePt() const { return fHistMaxParticlePt; }
85   
86   Short_t GetDetectorPhos() const { return fDetectorPhos; }
87   Short_t GetDetectorEmcal() const { return fDetectorEmcal; }
88
89   // Setters
90   // Common
91   void SetCommonEtaCut(const Double_t val) { fCommonEtaCut = val; }
92   void SetCommonClusterEnergyCut(const Double_t val) { fCommonClusterEnergyCut = val; }
93   void SetCommonTrackPtCut(const Double_t val) { fCommonTrackPtCut = val; }
94   void SetCommonSingleCell(const Int_t val) { fCommonSingleCell = val;}
95   // GeometryPhos
96   void SetGeometryPhosEtaAccCut(const Double_t val) { fGeometryPhosEtaAccCut = val; }
97   void SetGeometryPhosPhiAccMinCut(const Double_t val) { fGeometryPhosPhiAccMinCut = val; }
98   void SetGeometryPhosPhiAccMaxCut(const Double_t val) { fGeometryPhosPhiAccMaxCut = val; }
99   void SetGeometryPhosDetectorRadius(const Double_t val) { fGeometryPhosDetectorRadius = val; }
100   // GeometryEmcal
101   void SetGeometryEmcalEtaAccCut(const Double_t val) { fGeometryEmcalEtaAccCut = val; }
102   void SetGeometryEmcalPhiAccMinCut(const Double_t val) { fGeometryEmcalPhiAccMinCut = val; }
103   void SetGeometryEmcalPhiAccMaxCut(const Double_t val) { fGeometryEmcalPhiAccMaxCut = val; }
104   void SetGeometryEmcalDetectorRadius(const Double_t val) { fGeometryEmcalDetectorRadius = val; }
105   // Reconstructed
106   void SetReconstructedVertexXCut(const Double_t val) { fReconstructedVertexXCut = val; }
107   void SetReconstructedVertexYCut(const Double_t val) { fReconstructedVertexYCut = val; }
108   void SetReconstructedVertexZCut(const Double_t val) { fReconstructedVertexZCut = val; }
109   void SetReconstructedIPxyCut(const Double_t val) { fReconstructedIPxyCut = val; }
110   void SetReconstructedIPzCut(const Double_t val) { fReconstructedIPzCut = val; }
111   void SetReconstructedNTpcClustersCut(const Int_t val) { fReconstructedNTpcClustersCut = val; }
112   void SetReconstructedNItsClustersCut(const Int_t val) { fReconstructedNItsClustersCut = val; }
113   void SetReconstrucedPidCut(const Double_t val) { fReconstructedPidCut = val; }
114   // ReconstructedPhos
115   void SetReconstructedPhosClusterType(const Char_t val) { fReconstructedPhosClusterType = val; }
116   void SetReconstructedPhosClusterEnergyCut(const Double_t val) { fReconstructedPhosClusterEnergyCut = val; }
117   void SetReconstructedPhosSingleCellEnergyCut(const Double_t val) { fReconstructedPhosSingleCellEnergyCut = val; }
118   void SetPhosTrackDistanceCut(const Double_t val) { fPhosTrackDistanceCut = val; }
119   void SetPhosTrackDxCut(const Double_t val) { fPhosTrackDxCut = val; }
120   void SetPhosTrackDzCut(const Double_t val) { fPhosTrackDzCut = val; }
121   
122   // ReconstructedEmcal
123   void SetReconstructedEmcalClusterType(const Char_t val) { fReconstructedEmcalClusterType = val; }
124   void SetReconstructedEmcalClusterEnergyCut(const Double_t val) { fReconstructedEmcalClusterEnergyCut = val; }
125   void SetReconstructedEmcalSingleCellEnergyCut(const Double_t val) { fReconstructedEmcalSingleCellEnergyCut = val; }
126   void SetEmcalTrackDistanceCut(const Double_t val) { fEmcalTrackDistanceCut = val; }
127   // MonteCarlo
128   void SetMonteCarloSingleChargedParticle(const Double_t val) { fMonteCarloSingleChargedParticle = val; }
129   void SetMonteCarloNeutralParticle(const Double_t val) { fMonteCarloNeutralParticle = val; }
130   // Hist: TTree and histogram info
131   void SetHistMakeTree(const Bool_t val) { fHistMakeTree = val; }
132   void SetHistMakeTreeDeposit(const Bool_t val) { fHistMakeTreeDeposit = val; }
133   //
134   void SetHistNbinsMult(const Int_t val) { fHistNbinsMult = val; }
135   void SetHistMinMult(const Double_t val) { fHistMinMult = val; }
136   void SetHistMaxMult(const Double_t val) { fHistMaxMult = val; }
137   //
138   void SetHistNbinsTotEt(const Int_t val) { fHistNbinsTotEt = val; }
139   void SetHistMinTotEt(const Double_t val) { fHistMinTotEt = val; }
140   void SetHistMaxTotEt(const Double_t val) { fHistMaxTotEt = val; }
141   //
142   void SetHistNbinsParticleEt(const Int_t val) { fHistNbinsParticleEt = val; }
143   void SetHistMinParticleEt(const Double_t val) { fHistMinParticleEt = val; }
144   void SetHistMaxParticleEt(const Double_t val) { fHistMaxParticleEt = val; }
145   //
146   void SetHistNbinsParticlePt(const Int_t val) { fHistNbinsParticlePt = val; }
147   void SetHistMinParticlePt(const Double_t val) { fHistMinParticlePt = val; }
148   void SetHistMaxParticlePt(const Double_t val) { fHistMaxParticlePt = val; }
149
150
151  protected:
152
153   // Common   
154   Double_t fCommonEtaCut; // Eta cut
155   Double_t fCommonClusterEnergyCut; // Cluster Energy cut
156   Double_t fCommonTrackPtCut; // Track Pt
157   Int_t fCommonSingleCell; // Single Cell (1)
158   Double_t fEmcalTrackDistanceCut; // EMCal track distance
159   Double_t fEmcalTrackDxCut; // EMCal track distance in x 
160   Double_t fEmcalTrackDzCut; // EMCal track distance in z
161   
162   Double_t fPhosTrackDistanceCut; // PHOS track distance  
163   Double_t fPhosTrackDxCut; // PHOS track distance in x
164   Double_t fPhosTrackDzCut; // PHOS track distance  in z
165   
166   // GeometryPhos
167   Double_t fGeometryPhosEtaAccCut; // PHOS Eta Acc cut
168   Double_t fGeometryPhosPhiAccMinCut; // PHOS Phi Acc Min cut
169   Double_t fGeometryPhosPhiAccMaxCut; // PHOS Phi Acc Max cut
170   Double_t fGeometryPhosDetectorRadius; // PHOS Detector Radius 
171
172   // GeometryEmcal
173   Double_t fGeometryEmcalEtaAccCut; // EMCal Eta Acc cut
174   Double_t fGeometryEmcalPhiAccMinCut; // EMCal Phi Acc Min cut
175   Double_t fGeometryEmcalPhiAccMaxCut; // EMCal Phi Acc Max cut
176   Double_t fGeometryEmcalDetectorRadius; // EMCal Detector Radius
177
178   // Reconstructed
179   Double_t fReconstructedVertexXCut; // vertex X cut
180   Double_t fReconstructedVertexYCut; // vertex Y cut
181   Double_t fReconstructedVertexZCut; // vertex Z cut
182   Double_t fReconstructedIPxyCut; // IP xy cut
183   Double_t fReconstructedIPzCut; // IP z cut
184   Int_t fReconstructedNTpcClustersCut; // # of TPC clusters cut
185   Int_t fReconstructedNItsClustersCut; // # of ITS clusters cut
186   Double_t fReconstructedPidCut; // cut on pid prob
187
188   // ReconstructedPhos
189   Char_t fReconstructedPhosClusterType; // PHOS cluster type
190   Double_t fReconstructedPhosClusterEnergyCut; // PHOS cluster energy
191   Double_t fReconstructedPhosSingleCellEnergyCut; // PHOS single cell energy
192   Double_t fReconstructedPhosTrackDistanceTightCut; // PHOS track distance
193   Double_t fReconstructedPhosTrackDistanceMediumCut; // PHOS track distance
194   Double_t fReconstructedPhosTrackDistanceLooseCut; // PHOS track distance
195
196   // ReconstructedEmcal
197   Char_t fReconstructedEmcalClusterType; // EMCal cluster type
198   Double_t fReconstructedEmcalClusterEnergyCut; // EMCal cluster energy
199   Double_t fReconstructedEmcalSingleCellEnergyCut; // EMCal single cell energy
200   Double_t fReconstructedEmcalTrackDistanceTightCut; // EMCAL track distance
201   Double_t fReconstructedEmcalTrackDistanceMediumCut; // EMCAL track distance
202   Double_t fReconstructedEmcalTrackDistanceLooseCut; // EMCAL track distance
203
204   // MonteCarlo
205   Double_t fMonteCarloSingleChargedParticle; // MC charged
206   Double_t fMonteCarloNeutralParticle; // MC neutral
207
208   // Hist: TTree and histogram info
209   Bool_t fHistMakeTree; // whether to make a summary tree or not
210   Bool_t fHistMakeTreeDeposit; // whether to make a summary tree of energy deposit or not
211   
212   Int_t fHistNbinsMult; // number of bins in multiplicity histograms
213   Double_t fHistMinMult; // minimum value in multiplicity histograms
214   Double_t fHistMaxMult; // maximum value in multiplicity histograms
215
216   Int_t fHistNbinsTotEt; // number of bins in event Et histograms
217   Double_t fHistMinTotEt; // minimum value in event Et histograms
218   Double_t fHistMaxTotEt; // maximum value in event Et histograms
219
220   Int_t fHistNbinsParticleEt; // number of bins in particle Et histograms
221   Double_t fHistMinParticleEt; // minimum value in particle Et histograms
222   Double_t fHistMaxParticleEt; // maximum value in particle Et histograms
223
224   Int_t fHistNbinsParticlePt; // number of bins in particle Pt histograms
225   Double_t fHistMinParticlePt; // minimum value in particle Pt histograms
226   Double_t fHistMaxParticlePt; // maximum value in particle Pt histograms
227
228 // Detector definition
229   const Short_t fDetectorPhos; // PHOS 
230   const Short_t fDetectorEmcal; // PHOS 
231
232 private:
233   //Declare private to avoid compilation warning
234   AliAnalysisEtCuts & operator = (const AliAnalysisEtCuts & g) ;//copy assignment
235   AliAnalysisEtCuts(const AliAnalysisEtCuts & g) ; // copy ctor
236
237   ClassDef(AliAnalysisEtCuts, 1);
238 };
239
240 #endif // ALIANALYSISETCUTS_H