]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.h
adding some centrality dependent histograms and underlying event studies histograms
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / AliAnaParticleIsolation.h
CommitLineData
1a31a9ab 1#ifndef ALIANAPARTICLEISOLATION_H
2#define ALIANAPARTICLEISOLATION_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
1a31a9ab 5
6//_________________________________________________________________________
7
8// Class for the analysis of particle isolation
9// Input is selected particles put in AOD branch (AliAODPWG4ParticleCorrelation)
10//
11// Class created from old AliPHOSGammaJet
12// (see AliRoot versions previous Release 4-09)
13
14//-- Author: Gustavo Conesa (INFN-LNF)
15
16// --- ROOT system ---
17class TH2F;
18class TList ;
19class TObjString;
20
21// --- ANALYSIS system ---
745913ae 22#include "AliAnaCaloTrackCorrBaseClass.h"
1a31a9ab 23class AliAODPWG4Particle;
24class AliAODPWG4ParticleCorrelation ;
25
26
745913ae 27class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass {
1a31a9ab 28
29 public:
30 AliAnaParticleIsolation() ; // default ctor
803d06a8 31 virtual ~AliAnaParticleIsolation() { ; } //virtual dtor
1a31a9ab 32
1a31a9ab 33 // Main general methods
803d06a8 34
1a31a9ab 35
b5dbb99b 36 TObjString * GetAnalysisCuts() ;
1a31a9ab 37
b5dbb99b 38 TList * GetCreateOutputObjects() ;
39
03bae431 40 void Init() ;
41
b5dbb99b 42 void InitParameters() ;
803d06a8 43
1a31a9ab 44 void MakeAnalysisFillAOD() ;
45
46 void MakeAnalysisFillHistograms() ;
47
b5dbb99b 48 void Print( const Option_t * opt ) const ;
1a31a9ab 49
1a31a9ab 50 //Analysis specific methods
b5dbb99b 51
ca134929 52 void FillTrackMatchingShowerShapeControlHistograms(const Bool_t isolated,
53 const Int_t clusterID,
54 const Int_t nLocMax,
55 const Int_t mcTag ) ;
b5dbb99b 56
57 void MakeSeveralICAnalysis( AliAODPWG4ParticleCorrelation * ph ) ;
1a31a9ab 58
1a31a9ab 59 // Analysis Setters and Getters
60
b5dbb99b 61 TString GetCalorimeter() const { return fCalorimeter ; }
62 Int_t GetNCones() const { return fNCones ; }
63 Int_t GetNPtThresFrac() const { return fNPtThresFrac ; }
64 Float_t GetConeSizes(Int_t i) const { return fConeSizes[i] ; }
65 Float_t GetPtThresholds(Int_t i) const { return fPtThresholds[i] ; }
db6fb352 66 Float_t GetSumPtThresholds(Int_t i) const { return fSumPtThresholds[i]; }
b5dbb99b 67 Float_t GetPtFractions(Int_t i) const { return fPtFractions[i] ; }
1a31a9ab 68
b5dbb99b 69 void SetCalorimeter(TString & det) { fCalorimeter = det ; }
70 void SetNCones(Int_t ncs) { fNCones = ncs ; }
71 void SetNPtThresFrac(Int_t npt) { fNPtThresFrac = npt ; }
72 void SetConeSizes(Int_t i, Float_t r) { fConeSizes[i] = r ; }
73 void SetPtThresholds(Int_t i, Float_t pt) { fPtThresholds[i] = pt ; }
74 void SetPtFractions(Int_t i, Float_t pt) { fPtFractions[i] = pt ; }
b0a31c92 75 void SetSumPtThresholds(Int_t i, Float_t pt){ fSumPtThresholds[i] = pt ; }
db6fb352 76
1a31a9ab 77
b5dbb99b 78 Bool_t IsReIsolationOn() const { return fReMakeIC ; }
79 void SwitchOnReIsolation() { fReMakeIC = kTRUE ; }
80 void SwitchOffReIsolation() { fReMakeIC = kFALSE ; }
1a31a9ab 81
b5dbb99b 82 Bool_t IsSeveralIsolationOn() const { return fMakeSeveralIC ; }
83 void SwitchOnSeveralIsolation() { fMakeSeveralIC = kTRUE ; }
84 void SwitchOffSeveralIsolation() { fMakeSeveralIC = kFALSE ; }
09273901 85
b5dbb99b 86 void SwitchOnTMHistoFill() { fFillTMHisto = kTRUE ; }
87 void SwitchOffTMHistoFill() { fFillTMHisto = kFALSE ; }
09273901 88
b5dbb99b 89 void SwitchOnSSHistoFill() { fFillSSHisto = kTRUE ; }
90 void SwitchOffSSHistoFill() { fFillSSHisto = kFALSE ; }
09273901 91
1a31a9ab 92 //Histogrammes setters and getters
93
b5dbb99b 94 void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n) {
95 fHistoNPtSumBins = n ; fHistoPtSumMax = max ; fHistoPtSumMin = min ; }
1a31a9ab 96
b5dbb99b 97 Int_t GetHistoNPtSumBins() const { return fHistoNPtSumBins ; }
98 Float_t GetHistoPtSumMin() const { return fHistoPtSumMin ; }
99 Float_t GetHistoPtSumMax() const { return fHistoPtSumMax ; }
1a31a9ab 100
b5dbb99b 101 void SetHistoPtInConeRangeAndNBins(Float_t min, Float_t max, Int_t n) {
102 fHistoNPtInConeBins = n ; fHistoPtInConeMax = max ; fHistoPtInConeMin = min ; }
1a31a9ab 103
b5dbb99b 104 Int_t GetHistoNPtInConeBins() const { return fHistoNPtInConeBins; }
105 Float_t GetHistoPtInConeMin() const { return fHistoPtInConeMin ; }
106 Float_t GetHistoPtInConeMax() const { return fHistoPtInConeMax ; }
1a31a9ab 107
108 private:
109
110 TString fCalorimeter ; // Calorimeter where neutral particles in cone for isolation are;
111 Bool_t fReMakeIC ; // Do isolation analysis
112 Bool_t fMakeSeveralIC ; // Do analysis for different IC
09273901 113 Bool_t fFillTMHisto; // Fill track matching plots
114 Bool_t fFillSSHisto; // Fill Shower shape plots
115
803d06a8 116 // Analysis data members for multiple cones and pt thresholds
117 Int_t fNCones ; //! Number of cone sizes to test
118 Int_t fNPtThresFrac ; //! Number of ptThres and ptFrac to test
119
120 Float_t fConeSizes[5] ; //! Array with cones to test
121 Float_t fPtThresholds[5] ; //! Array with pt thresholds to test
db6fb352 122 Float_t fPtFractions[5] ; //! Array with pt thresholds to test frac
123 Float_t fSumPtThresholds[5] ; //! Array with pt thresholds to test frac
1a31a9ab 124
125 //Histograms
126
0fb69ade 127 TH1F * fhEIso ; //! Number of isolated particles
1a31a9ab 128 TH1F * fhPtIso ; //! Number of isolated particles
129 TH2F * fhPhiIso ; //! Phi of isolated particles
130 TH2F * fhEtaIso ; //! eta of isolated particles
0fb69ade 131 TH2F * fhEtaPhiIso ; //! eta vs phi of isolated particles
d0a4f937 132 TH2F * fhEtaPhiNoIso ; //! eta vs phi of not isolated leading particles
1a31a9ab 133 TH1F * fhPtNoIso ; //! Number of not isolated leading particles
803d06a8 134 TH1F * fhPtDecayIso ; //! Number of isolated Pi0 decay particles (invariant mass tag)
135 TH1F * fhPtDecayNoIso ; //! Number of not isolated Pi0 decay leading particles (invariant mass tag)
d0a4f937 136 TH2F * fhEtaPhiDecayIso ; //! eta vs phi of isolated Pi0 decay particles
137 TH2F * fhEtaPhiDecayNoIso ; //! eta vs phi of not isolated leading Pi0 decay particles
1a31a9ab 138 TH2F * fhConeSumPt ; //! Sum Pt in the cone
139 TH2F * fhPtInCone ; //! Particle Pt in the cone
b7ce43b4 140 TH2F * fhPtInConeCent ; //! Particle Pt in the cone versus centrality
1a31a9ab 141 TH2F * fhFRConeSumPt ; //! Sum Pt in the forward region cone (phi +90)
142 TH2F * fhPtInFRCone ; //! Particle Pt in the forward region cone (phi +90 )
b7ce43b4 143 TH2F * fhPhiUEConeSumPt ; //! UE Pt sum in phi band around cone
144 TH2F * fhEtaUEConeSumPt ; //! UE Pt sum in eta band around cone
145 TH2F * fhEtaBand ; //! Eta band to estimate UE in cone
146 TH2F * fhPhiBand ; //! Phi band to estimate UE in cone
147 TH2F * fhConeSumPtEtaUESub; //! Sum Pt in the cone after bkg subtraction
148 TH2F * fhConeSumPtPhiUESub; //! Sum Pt in the cone after bkg subtraction
1a31a9ab 149
1a31a9ab 150 //MC
151 TH1F * fhPtIsoPrompt; //! Number of isolated prompt gamma
152 TH2F * fhPhiIsoPrompt; //! Phi of isolated prompt gamma
153 TH2F * fhEtaIsoPrompt; //! eta of isolated prompt gamma
154 TH1F * fhPtThresIsolatedPrompt[5][5]; //! Isolated prompt gamma with pt threshold
155 TH1F * fhPtFracIsolatedPrompt[5][5]; //! Isolated prompt gamma with pt frac
156 TH2F * fhPtSumIsolatedPrompt[5]; //! Isolated prompt gamma with threshold on cone pt sume
157 TH1F * fhPtIsoFragmentation; //! Number of isolated fragmentation gamma
158 TH2F * fhPhiIsoFragmentation; //! Phi of isolated fragmentation gamma
159 TH2F * fhEtaIsoFragmentation; //! eta of isolated fragmentation gamma
160 TH1F * fhPtThresIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt threshold
161 TH1F * fhPtFracIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt frac
162 TH2F * fhPtSumIsolatedFragmentation[5]; //! Isolated fragmentation gamma with threshold on cone pt sume
803d06a8 163 TH1F * fhPtIsoPi0Decay; //! Number of isolated pi0 decay gamma
164 TH2F * fhPhiIsoPi0Decay; //! Phi of isolated pi0 decay gamma
165 TH2F * fhEtaIsoPi0Decay; //! eta of isolated pi0 decay gamma
166 TH1F * fhPtThresIsolatedPi0Decay[5][5]; //! Isolated pi0 decay gamma with pt threshold
167 TH1F * fhPtFracIsolatedPi0Decay[5][5]; //! Isolated pi0 decay gamma with pt frac
168 TH2F * fhPtSumIsolatedPi0Decay[5]; //! Isolated pi0 decay gamma with threshold on cone pt sume
169 TH1F * fhPtIsoEtaDecay; //! Number of isolated eta decay gamma
170 TH2F * fhPhiIsoEtaDecay; //! Phi of isolated eta decay gamma
171 TH2F * fhEtaIsoEtaDecay; //! eta of isolated eta decay gamma
172 TH1F * fhPtThresIsolatedEtaDecay[5][5]; //! Isolated eta decay gamma with pt threshold
173 TH1F * fhPtFracIsolatedEtaDecay[5][5]; //! Isolated eta decay gamma with pt frac
174 TH2F * fhPtSumIsolatedEtaDecay[5]; //! Isolated eta fecay gamma with threshold on cone pt sume
175 TH1F * fhPtIsoOtherDecay; //! Number of isolated other decay gamma
176 TH2F * fhPhiIsoOtherDecay; //! Phi of isolated other decay gamma
177 TH2F * fhEtaIsoOtherDecay; //! eta of isolated other decay gamma
1a31a9ab 178 TH1F * fhPtThresIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt threshold
179 TH1F * fhPtFracIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt frac
180 TH2F * fhPtSumIsolatedOtherDecay[5]; //! Isolated OtherDecay gamma with threshold on cone pt sume
181 TH1F * fhPtIsoConversion; //! Number of isolated Conversion gamma
182 TH2F * fhPhiIsoConversion; //! Phi of isolated Conversion gamma
183 TH2F * fhEtaIsoConversion; //! eta of isolated Conversion gamma
184 TH1F * fhPtThresIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt threshold
185 TH1F * fhPtFracIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt frac
186 TH2F * fhPtSumIsolatedConversion[5]; //! Isolated Conversion gamma with threshold on cone pt sume
187 TH1F * fhPtIsoUnknown; //! Number of isolated Unknown
188 TH2F * fhPhiIsoUnknown; //! Phi of isolated Unknown
189 TH2F * fhEtaIsoUnknown; //! eta of isolated Unknown
190 TH1F * fhPtThresIsolatedUnknown[5][5]; //! Isolated Unknown gamma with pt threshold
191 TH1F * fhPtFracIsolatedUnknown[5][5]; //! Isolated Unknown gamma with pt frac
192 TH2F * fhPtSumIsolatedUnknown[5]; //! Isolated Unknown gamma with threshold on cone pt sume
193
44e48e82 194 // Multi Cut analysis Several IC
ca134929 195 TH1F * fhPtNoIsoPi0Decay; //! Number of not isolated leading pi0 decay gamma
803d06a8 196 TH1F * fhPtNoIsoEtaDecay; //! Number of not isolated leading eta decay gamma
197 TH1F * fhPtNoIsoOtherDecay; //! Number of not isolated leading other decay gamma
1a31a9ab 198 TH1F * fhPtNoIsoPrompt; //! Number of not isolated leading prompt gamma
199 TH1F * fhPtIsoMCPhoton; //! Number of isolated leading gamma
200 TH1F * fhPtNoIsoMCPhoton; //! Number of not isolated leading gamma
0fb69ade 201 TH1F * fhPtNoIsoConversion; //! Number of not isolated leading conversion gamma
202 TH1F * fhPtNoIsoFragmentation; //! Number of not isolated leading fragmentation gamma
203 TH1F * fhPtNoIsoUnknown; //! Number of not isolated leading hadrons
db6fb352 204
ca134929 205 TH2F * fhSumPtLeadingPt[5] ; //! Sum Pt in the cone
206 TH2F * fhPtLeadingPt[5] ; //! Particle Pt in the cone
207 TH2F * fhFRSumPtLeadingPt[5] ; //! Sum Pt in the forward region cone (phi +90)
208 TH2F * fhFRPtLeadingPt[5]; //! Particle Pt in the forward region cone (phi +90 )
44e48e82 209
ca134929 210 TH1F * fhPtThresIsolated[5][5] ; //! Isolated particle with pt threshold
db6fb352 211 TH1F * fhPtFracIsolated[5][5] ; //! Isolated particle with pt threshold frac
212 TH1F * fhPtSumIsolated[5][5] ; //! Isolated particle with threshold on cone pt sum
213
214 TH2F * fhEtaPhiPtThresIso[5][5] ; //! eta vs phi of isolated particles with pt threshold
215 TH2F * fhEtaPhiPtThresDecayIso[5][5] ; //! eta vs phi of isolated particles with pt threshold
216 TH1F * fhPtPtThresDecayIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt threshold
217
218 TH2F * fhEtaPhiPtFracIso[5][5] ; //! eta vs phi of isolated particles with pt frac
219 TH2F * fhEtaPhiPtFracDecayIso[5][5] ; //! eta vs phi of isolated particles with pt frac
220 TH1F * fhPtPtFracDecayIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt fra
b0a31c92 221
db6fb352 222 TH2F * fhEtaPhiPtSumIso[5][5] ; //! eta vs phi of isolated particles with pt sum
223 TH2F * fhEtaPhiPtSumDecayIso[5][5] ; //! eta vs phi of isolated particles with pt sum
224 TH1F * fhPtPtSumDecayIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt sum
225
e2c74e5d 226 TH2F * fhEtaPhiSumDensityIso[5][5]; //! Isolated particle with threshold on cone sum density
227 TH2F * fhEtaPhiSumDensityDecayIso[5][5]; //! Isolated particle with threshold on cone sum density
db6fb352 228 TH1F * fhPtSumDensityIso[5][5]; //! Isolated particle with threshold on cone sum density
229 TH1F * fhPtSumDensityDecayIso[5][5]; //! Isolated decay particle with threshold on cone sum density
230
e2c74e5d 231 TH1F * fhPtFracPtSumIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt sum
232 TH1F * fhPtFracPtSumDecayIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt sum
233 TH2F * fhEtaPhiFracPtSumIso[5][5]; //! Isolated particle with threshold on cone sum density
234 TH2F * fhEtaPhiFracPtSumDecayIso[5][5]; //! Isolated particle with threshold on cone sum density
b0a31c92 235
09273901 236 // Track matching studies
b7ce43b4 237 TH2F * fhTrackMatchedDEta[2] ; //! Eta distance between track and cluster vs cluster E
238 TH2F * fhTrackMatchedDPhi[2] ; //! Phi distance between track and cluster vs cluster E
239 TH2F * fhTrackMatchedDEtaDPhi[2] ; //! Eta vs Phi distance between track and cluster, E cluster > 0.5 GeV
240 TH2F * fhdEdx[2] ; //! matched track dEdx vs cluster E
241 TH2F * fhEOverP[2]; //! matched track E cluster over P track vs cluster E, after dEdx cut
242 TH2F * fhTrackMatchedMCParticle[2]; //! Trace origin of matched particle
31ae6d59 243
09273901 244 // Shower Shape histograms
b7ce43b4 245 TH2F * fhELambda0[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously)
246 TH2F * fhELambda1[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously)
247 TH2F * fhELambda0TRD[2]; //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously)
248 TH2F * fhELambda1TRD[2]; //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously)
b5dbb99b 249
5c46c992 250 // Local maxima
b7ce43b4 251 TH2F * fhNLocMax[2]; //! number of maxima in selected clusters
252 TH2F * fhELambda0LocMax1[2] ; //! E vs lambda0 of selected cluster, 1 local maxima in cluster
253 TH2F * fhELambda1LocMax1[2] ; //! E vs lambda1 of selected cluster, 1 local maxima in cluster
254 TH2F * fhELambda0LocMax2[2] ; //! E vs lambda0 of selected cluster, 2 local maxima in cluster
255 TH2F * fhELambda1LocMax2[2] ; //! E vs lambda1 of selected cluster, 2 local maxima in cluster
256 TH2F * fhELambda0LocMaxN[2] ; //! E vs lambda0 of selected cluster, N>2 local maxima in cluster
257 TH2F * fhELambda1LocMaxN[2] ; //! E vs lambda1 of selected cluster, N>2 local maxima in cluster
5c46c992 258
1a31a9ab 259 //Histograms settings
260 Int_t fHistoNPtSumBins; // Number of bins in PtSum histograms
261 Float_t fHistoPtSumMax; // PtSum maximum in histogram
b7ce43b4 262 Float_t fHistoPtSumMin; // PtSum minimum in histogram
1a31a9ab 263 Int_t fHistoNPtInConeBins; // Number of bins in PtInCone histogram
264 Float_t fHistoPtInConeMax; // PtInCone maximum in histogram
265 Float_t fHistoPtInConeMin; // PtInCone maximum in histogram
31ae6d59 266
09273901 267 AliAnaParticleIsolation( const AliAnaParticleIsolation & iso) ; // cpy ctor
268 AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & iso) ; // cpy assignment
c5693f62 269
b7ce43b4 270 ClassDef(AliAnaParticleIsolation,15)
1a31a9ab 271} ;
272
273
274#endif //ALIANAPARTICLEISOLATION_H
275
276
277