]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.h
Reduce the number of histograms in case of SS plotting option is on, if it is requested
[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,
db7b861a 55 const Int_t mcTag,
56 const TObjArray * plCTS,
57 const TObjArray * plNe,
58 AliAODPWG4ParticleCorrelation * pCandidate,
59 const AliCaloTrackReader * reader,
60 const AliCaloPID * pid) ;
61
62
b5dbb99b 63
64 void MakeSeveralICAnalysis( AliAODPWG4ParticleCorrelation * ph ) ;
1a31a9ab 65
1a31a9ab 66 // Analysis Setters and Getters
67
b5dbb99b 68 TString GetCalorimeter() const { return fCalorimeter ; }
69 Int_t GetNCones() const { return fNCones ; }
70 Int_t GetNPtThresFrac() const { return fNPtThresFrac ; }
71 Float_t GetConeSizes(Int_t i) const { return fConeSizes[i] ; }
72 Float_t GetPtThresholds(Int_t i) const { return fPtThresholds[i] ; }
db6fb352 73 Float_t GetSumPtThresholds(Int_t i) const { return fSumPtThresholds[i]; }
b5dbb99b 74 Float_t GetPtFractions(Int_t i) const { return fPtFractions[i] ; }
1a31a9ab 75
b5dbb99b 76 void SetCalorimeter(TString & det) { fCalorimeter = det ; }
77 void SetNCones(Int_t ncs) { fNCones = ncs ; }
78 void SetNPtThresFrac(Int_t npt) { fNPtThresFrac = npt ; }
79 void SetConeSizes(Int_t i, Float_t r) { fConeSizes[i] = r ; }
80 void SetPtThresholds(Int_t i, Float_t pt) { fPtThresholds[i] = pt ; }
81 void SetPtFractions(Int_t i, Float_t pt) { fPtFractions[i] = pt ; }
b0a31c92 82 void SetSumPtThresholds(Int_t i, Float_t pt){ fSumPtThresholds[i] = pt ; }
db6fb352 83
1a31a9ab 84
b5dbb99b 85 Bool_t IsReIsolationOn() const { return fReMakeIC ; }
86 void SwitchOnReIsolation() { fReMakeIC = kTRUE ; }
87 void SwitchOffReIsolation() { fReMakeIC = kFALSE ; }
1a31a9ab 88
b5dbb99b 89 Bool_t IsSeveralIsolationOn() const { return fMakeSeveralIC ; }
90 void SwitchOnSeveralIsolation() { fMakeSeveralIC = kTRUE ; }
91 void SwitchOffSeveralIsolation() { fMakeSeveralIC = kFALSE ; }
09273901 92
b5dbb99b 93 void SwitchOnTMHistoFill() { fFillTMHisto = kTRUE ; }
94 void SwitchOffTMHistoFill() { fFillTMHisto = kFALSE ; }
09273901 95
b5dbb99b 96 void SwitchOnSSHistoFill() { fFillSSHisto = kTRUE ; }
97 void SwitchOffSSHistoFill() { fFillSSHisto = kFALSE ; }
09273901 98
1a31a9ab 99 //Histogrammes setters and getters
100
b5dbb99b 101 void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n) {
102 fHistoNPtSumBins = n ; fHistoPtSumMax = max ; fHistoPtSumMin = min ; }
1a31a9ab 103
b5dbb99b 104 Int_t GetHistoNPtSumBins() const { return fHistoNPtSumBins ; }
105 Float_t GetHistoPtSumMin() const { return fHistoPtSumMin ; }
106 Float_t GetHistoPtSumMax() const { return fHistoPtSumMax ; }
1a31a9ab 107
b5dbb99b 108 void SetHistoPtInConeRangeAndNBins(Float_t min, Float_t max, Int_t n) {
109 fHistoNPtInConeBins = n ; fHistoPtInConeMax = max ; fHistoPtInConeMin = min ; }
1a31a9ab 110
b5dbb99b 111 Int_t GetHistoNPtInConeBins() const { return fHistoNPtInConeBins; }
112 Float_t GetHistoPtInConeMin() const { return fHistoPtInConeMin ; }
113 Float_t GetHistoPtInConeMax() const { return fHistoPtInConeMax ; }
1a31a9ab 114
115 private:
116
117 TString fCalorimeter ; // Calorimeter where neutral particles in cone for isolation are;
118 Bool_t fReMakeIC ; // Do isolation analysis
119 Bool_t fMakeSeveralIC ; // Do analysis for different IC
09273901 120 Bool_t fFillTMHisto; // Fill track matching plots
121 Bool_t fFillSSHisto; // Fill Shower shape plots
122
803d06a8 123 // Analysis data members for multiple cones and pt thresholds
124 Int_t fNCones ; //! Number of cone sizes to test
125 Int_t fNPtThresFrac ; //! Number of ptThres and ptFrac to test
126
127 Float_t fConeSizes[5] ; //! Array with cones to test
128 Float_t fPtThresholds[5] ; //! Array with pt thresholds to test
db6fb352 129 Float_t fPtFractions[5] ; //! Array with pt thresholds to test frac
130 Float_t fSumPtThresholds[5] ; //! Array with pt thresholds to test frac
1a31a9ab 131
132 //Histograms
133
0fb69ade 134 TH1F * fhEIso ; //! Number of isolated particles
1a31a9ab 135 TH1F * fhPtIso ; //! Number of isolated particles
136 TH2F * fhPhiIso ; //! Phi of isolated particles
137 TH2F * fhEtaIso ; //! eta of isolated particles
0fb69ade 138 TH2F * fhEtaPhiIso ; //! eta vs phi of isolated particles
d0a4f937 139 TH2F * fhEtaPhiNoIso ; //! eta vs phi of not isolated leading particles
1a31a9ab 140 TH1F * fhPtNoIso ; //! Number of not isolated leading particles
803d06a8 141 TH1F * fhPtDecayIso ; //! Number of isolated Pi0 decay particles (invariant mass tag)
142 TH1F * fhPtDecayNoIso ; //! Number of not isolated Pi0 decay leading particles (invariant mass tag)
d0a4f937 143 TH2F * fhEtaPhiDecayIso ; //! eta vs phi of isolated Pi0 decay particles
144 TH2F * fhEtaPhiDecayNoIso ; //! eta vs phi of not isolated leading Pi0 decay particles
1a31a9ab 145 TH2F * fhConeSumPt ; //! Sum Pt in the cone
146 TH2F * fhPtInCone ; //! Particle Pt in the cone
b7ce43b4 147 TH2F * fhPtInConeCent ; //! Particle Pt in the cone versus centrality
1a31a9ab 148 TH2F * fhFRConeSumPt ; //! Sum Pt in the forward region cone (phi +90)
149 TH2F * fhPtInFRCone ; //! Particle Pt in the forward region cone (phi +90 )
b7ce43b4 150 TH2F * fhPhiUEConeSumPt ; //! UE Pt sum in phi band around cone
151 TH2F * fhEtaUEConeSumPt ; //! UE Pt sum in eta band around cone
152 TH2F * fhEtaBand ; //! Eta band to estimate UE in cone
153 TH2F * fhPhiBand ; //! Phi band to estimate UE in cone
154 TH2F * fhConeSumPtEtaUESub; //! Sum Pt in the cone after bkg subtraction
155 TH2F * fhConeSumPtPhiUESub; //! Sum Pt in the cone after bkg subtraction
1a31a9ab 156
1a31a9ab 157 //MC
158 TH1F * fhPtIsoPrompt; //! Number of isolated prompt gamma
159 TH2F * fhPhiIsoPrompt; //! Phi of isolated prompt gamma
160 TH2F * fhEtaIsoPrompt; //! eta of isolated prompt gamma
161 TH1F * fhPtThresIsolatedPrompt[5][5]; //! Isolated prompt gamma with pt threshold
162 TH1F * fhPtFracIsolatedPrompt[5][5]; //! Isolated prompt gamma with pt frac
163 TH2F * fhPtSumIsolatedPrompt[5]; //! Isolated prompt gamma with threshold on cone pt sume
164 TH1F * fhPtIsoFragmentation; //! Number of isolated fragmentation gamma
165 TH2F * fhPhiIsoFragmentation; //! Phi of isolated fragmentation gamma
166 TH2F * fhEtaIsoFragmentation; //! eta of isolated fragmentation gamma
167 TH1F * fhPtThresIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt threshold
168 TH1F * fhPtFracIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt frac
169 TH2F * fhPtSumIsolatedFragmentation[5]; //! Isolated fragmentation gamma with threshold on cone pt sume
764ab1f4 170 TH1F * fhPtIsoPi0; //! Number of isolated pi0 (2 gamma)
171 TH2F * fhPhiIsoPi0; //! Phi of isolated pi0 (2 gamma)
172 TH2F * fhEtaIsoPi0; //! eta of isolated pi0 (2 gamma)
173 TH1F * fhPtThresIsolatedPi0[5][5]; //! Isolated pi0 (2 gamma) with pt threshold
174 TH1F * fhPtFracIsolatedPi0[5][5]; //! Isolated pi0 (2 gamma) with pt frac
175 TH2F * fhPtSumIsolatedPi0[5]; //! Isolated pi0 (2 gamma) with threshold on cone pt sum
803d06a8 176 TH1F * fhPtIsoPi0Decay; //! Number of isolated pi0 decay gamma
177 TH2F * fhPhiIsoPi0Decay; //! Phi of isolated pi0 decay gamma
178 TH2F * fhEtaIsoPi0Decay; //! eta of isolated pi0 decay gamma
179 TH1F * fhPtThresIsolatedPi0Decay[5][5]; //! Isolated pi0 decay gamma with pt threshold
180 TH1F * fhPtFracIsolatedPi0Decay[5][5]; //! Isolated pi0 decay gamma with pt frac
181 TH2F * fhPtSumIsolatedPi0Decay[5]; //! Isolated pi0 decay gamma with threshold on cone pt sume
182 TH1F * fhPtIsoEtaDecay; //! Number of isolated eta decay gamma
183 TH2F * fhPhiIsoEtaDecay; //! Phi of isolated eta decay gamma
184 TH2F * fhEtaIsoEtaDecay; //! eta of isolated eta decay gamma
185 TH1F * fhPtThresIsolatedEtaDecay[5][5]; //! Isolated eta decay gamma with pt threshold
186 TH1F * fhPtFracIsolatedEtaDecay[5][5]; //! Isolated eta decay gamma with pt frac
187 TH2F * fhPtSumIsolatedEtaDecay[5]; //! Isolated eta fecay gamma with threshold on cone pt sume
188 TH1F * fhPtIsoOtherDecay; //! Number of isolated other decay gamma
189 TH2F * fhPhiIsoOtherDecay; //! Phi of isolated other decay gamma
190 TH2F * fhEtaIsoOtherDecay; //! eta of isolated other decay gamma
1a31a9ab 191 TH1F * fhPtThresIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt threshold
192 TH1F * fhPtFracIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt frac
193 TH2F * fhPtSumIsolatedOtherDecay[5]; //! Isolated OtherDecay gamma with threshold on cone pt sume
764ab1f4 194// TH1F * fhPtIsoConversion; //! Number of isolated Conversion gamma
195// TH2F * fhPhiIsoConversion; //! Phi of isolated Conversion gamma
196// TH2F * fhEtaIsoConversion; //! eta of isolated Conversion gamma
197// TH1F * fhPtThresIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt threshold
198// TH1F * fhPtFracIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt frac
199// TH2F * fhPtSumIsolatedConversion[5]; //! Isolated Conversion gamma with threshold on cone pt sume
200 TH1F * fhPtIsoHadron; //! Number of isolated Hadron
201 TH2F * fhPhiIsoHadron; //! Phi of isolated Hadron
202 TH2F * fhEtaIsoHadron; //! eta of isolated Hadron
203 TH1F * fhPtThresIsolatedHadron[5][5]; //! Isolated Hadron gamma with pt threshold
204 TH1F * fhPtFracIsolatedHadron[5][5]; //! Isolated Hadron gamma with pt frac
205 TH2F * fhPtSumIsolatedHadron[5]; //! Isolated Hadron gamma with threshold on cone pt sume
1a31a9ab 206
44e48e82 207 // Multi Cut analysis Several IC
764ab1f4 208 TH1F * fhPtNoIsoPi0; //! Number of not isolated leading pi0 (2 gamma)
ca134929 209 TH1F * fhPtNoIsoPi0Decay; //! Number of not isolated leading pi0 decay gamma
803d06a8 210 TH1F * fhPtNoIsoEtaDecay; //! Number of not isolated leading eta decay gamma
211 TH1F * fhPtNoIsoOtherDecay; //! Number of not isolated leading other decay gamma
1a31a9ab 212 TH1F * fhPtNoIsoPrompt; //! Number of not isolated leading prompt gamma
213 TH1F * fhPtIsoMCPhoton; //! Number of isolated leading gamma
214 TH1F * fhPtNoIsoMCPhoton; //! Number of not isolated leading gamma
764ab1f4 215// TH1F * fhPtNoIsoConversion; //! Number of not isolated leading conversion gamma
0fb69ade 216 TH1F * fhPtNoIsoFragmentation; //! Number of not isolated leading fragmentation gamma
764ab1f4 217 TH1F * fhPtNoIsoHadron; //! Number of not isolated leading hadrons
db6fb352 218
ca134929 219 TH2F * fhSumPtLeadingPt[5] ; //! Sum Pt in the cone
220 TH2F * fhPtLeadingPt[5] ; //! Particle Pt in the cone
221 TH2F * fhFRSumPtLeadingPt[5] ; //! Sum Pt in the forward region cone (phi +90)
222 TH2F * fhFRPtLeadingPt[5]; //! Particle Pt in the forward region cone (phi +90 )
44e48e82 223
ca134929 224 TH1F * fhPtThresIsolated[5][5] ; //! Isolated particle with pt threshold
db6fb352 225 TH1F * fhPtFracIsolated[5][5] ; //! Isolated particle with pt threshold frac
226 TH1F * fhPtSumIsolated[5][5] ; //! Isolated particle with threshold on cone pt sum
227
228 TH2F * fhEtaPhiPtThresIso[5][5] ; //! eta vs phi of isolated particles with pt threshold
229 TH2F * fhEtaPhiPtThresDecayIso[5][5] ; //! eta vs phi of isolated particles with pt threshold
230 TH1F * fhPtPtThresDecayIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt threshold
231
232 TH2F * fhEtaPhiPtFracIso[5][5] ; //! eta vs phi of isolated particles with pt frac
233 TH2F * fhEtaPhiPtFracDecayIso[5][5] ; //! eta vs phi of isolated particles with pt frac
234 TH1F * fhPtPtFracDecayIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt fra
b0a31c92 235
db6fb352 236 TH2F * fhEtaPhiPtSumIso[5][5] ; //! eta vs phi of isolated particles with pt sum
237 TH2F * fhEtaPhiPtSumDecayIso[5][5] ; //! eta vs phi of isolated particles with pt sum
238 TH1F * fhPtPtSumDecayIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt sum
239
e2c74e5d 240 TH2F * fhEtaPhiSumDensityIso[5][5]; //! Isolated particle with threshold on cone sum density
241 TH2F * fhEtaPhiSumDensityDecayIso[5][5]; //! Isolated particle with threshold on cone sum density
db6fb352 242 TH1F * fhPtSumDensityIso[5][5]; //! Isolated particle with threshold on cone sum density
243 TH1F * fhPtSumDensityDecayIso[5][5]; //! Isolated decay particle with threshold on cone sum density
244
e2c74e5d 245 TH1F * fhPtFracPtSumIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt sum
246 TH1F * fhPtFracPtSumDecayIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt sum
247 TH2F * fhEtaPhiFracPtSumIso[5][5]; //! Isolated particle with threshold on cone sum density
248 TH2F * fhEtaPhiFracPtSumDecayIso[5][5]; //! Isolated particle with threshold on cone sum density
b0a31c92 249
09273901 250 // Track matching studies
b7ce43b4 251 TH2F * fhTrackMatchedDEta[2] ; //! Eta distance between track and cluster vs cluster E
252 TH2F * fhTrackMatchedDPhi[2] ; //! Phi distance between track and cluster vs cluster E
253 TH2F * fhTrackMatchedDEtaDPhi[2] ; //! Eta vs Phi distance between track and cluster, E cluster > 0.5 GeV
254 TH2F * fhdEdx[2] ; //! matched track dEdx vs cluster E
255 TH2F * fhEOverP[2]; //! matched track E cluster over P track vs cluster E, after dEdx cut
256 TH2F * fhTrackMatchedMCParticle[2]; //! Trace origin of matched particle
31ae6d59 257
09273901 258 // Shower Shape histograms
b7ce43b4 259 TH2F * fhELambda0[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously)
260 TH2F * fhELambda1[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously)
db7b861a 261 TH2F * fhELambda0SSBkg; //! Shower shape of non isolated photons close to isolation threshold (do not apply SS cut previously)
b7ce43b4 262 TH2F * fhELambda0TRD[2]; //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously)
263 TH2F * fhELambda1TRD[2]; //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously)
764ab1f4 264 TH2F * fhELambda0MCPhoton[2]; //! Shower shape of (non) isolated photon candidates originated by particle photon not decay (do not apply SS cut previously)
265 TH2F * fhELambda0MCPi0[2]; //! Shower shape of (non) isolated photon candidates originated by particle 2 merged pi0 photons (do not apply SS cut previously)
266 TH2F * fhELambda0MCPi0Decay[2]; //! Shower shape of (non) isolated photon candidates originated by particle pi0 decay photon (do not apply SS cut previously)
267 TH2F * fhELambda0MCEtaDecay[2]; //! Shower shape of (non) isolated photon candidates originated by particle eta decay photon (do not apply SS cut previously)
268 TH2F * fhELambda0MCOtherDecay[2]; //! Shower shape of (non) isolated photon candidates originated by particle other decay photon (do not apply SS cut previously)
269 TH2F * fhELambda0MCHadron[2]; //! Shower shape of (non) isolated photon candidates originated by particle other hadrons (do not apply SS cut previously)
270
5c46c992 271 // Local maxima
b7ce43b4 272 TH2F * fhNLocMax[2]; //! number of maxima in selected clusters
273 TH2F * fhELambda0LocMax1[2] ; //! E vs lambda0 of selected cluster, 1 local maxima in cluster
274 TH2F * fhELambda1LocMax1[2] ; //! E vs lambda1 of selected cluster, 1 local maxima in cluster
275 TH2F * fhELambda0LocMax2[2] ; //! E vs lambda0 of selected cluster, 2 local maxima in cluster
276 TH2F * fhELambda1LocMax2[2] ; //! E vs lambda1 of selected cluster, 2 local maxima in cluster
277 TH2F * fhELambda0LocMaxN[2] ; //! E vs lambda0 of selected cluster, N>2 local maxima in cluster
278 TH2F * fhELambda1LocMaxN[2] ; //! E vs lambda1 of selected cluster, N>2 local maxima in cluster
5c46c992 279
1a31a9ab 280 //Histograms settings
281 Int_t fHistoNPtSumBins; // Number of bins in PtSum histograms
282 Float_t fHistoPtSumMax; // PtSum maximum in histogram
b7ce43b4 283 Float_t fHistoPtSumMin; // PtSum minimum in histogram
1a31a9ab 284 Int_t fHistoNPtInConeBins; // Number of bins in PtInCone histogram
285 Float_t fHistoPtInConeMax; // PtInCone maximum in histogram
286 Float_t fHistoPtInConeMin; // PtInCone maximum in histogram
31ae6d59 287
09273901 288 AliAnaParticleIsolation( const AliAnaParticleIsolation & iso) ; // cpy ctor
289 AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & iso) ; // cpy assignment
c5693f62 290
764ab1f4 291 ClassDef(AliAnaParticleIsolation,16)
1a31a9ab 292} ;
293
294
295#endif //ALIANAPARTICLEISOLATION_H
296
297
298