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 */
6 //_________________________________________________________________________
8 // Class for the analysis of particle isolation
9 // Input is selected particles put in AOD branch (AliAODPWG4ParticleCorrelation)
11 // Class created from old AliPHOSGammaJet
12 // (see AliRoot versions previous Release 4-09)
14 //-- Author: Gustavo Conesa (INFN-LNF)
16 // --- ROOT system ---
21 // --- ANALYSIS system ---
22 #include "AliAnaCaloTrackCorrBaseClass.h"
23 class AliAODPWG4Particle;
24 class AliAODPWG4ParticleCorrelation ;
27 class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass {
30 AliAnaParticleIsolation() ; // default ctor
31 virtual ~AliAnaParticleIsolation() { ; } //virtual dtor
33 // Main general methods
35 void CalculateCaloUEBand (AliAODPWG4ParticleCorrelation * pCandidate,
36 Float_t & etaBand, Float_t & phiBand) ;
37 void CalculateCaloCellUEBand(AliAODPWG4ParticleCorrelation * pCandidate,
38 Float_t & etaBand, Float_t & phiBand) ;
39 void CalculateTrackUEBand (AliAODPWG4ParticleCorrelation * pCandidate,
40 Float_t & etaBand, Float_t & phiBand) ;
42 void CalculateCaloSignalInCone (AliAODPWG4ParticleCorrelation * aodParticle, Float_t & coneptsumCluster) ;
43 void CalculateCaloCellSignalInCone(AliAODPWG4ParticleCorrelation * aodParticle, Float_t & coneptsumCell) ;
44 void CalculateTrackSignalInCone (AliAODPWG4ParticleCorrelation * aodParticle, Float_t & coneptsumTrack ) ;
47 void CalculateNormalizeUEBandPerUnitArea(AliAODPWG4ParticleCorrelation * pCandidate,
48 Float_t coneptsumCluster, Float_t coneptsumCell, Float_t coneptsumTrack,
49 Float_t &etaBandptsumTrackNorm, Float_t &etaBandptsumClusterNorm ) ;
51 TObjString * GetAnalysisCuts() ;
53 TList * GetCreateOutputObjects() ;
57 void InitParameters() ;
59 void MakeAnalysisFillAOD() ;
61 void MakeAnalysisFillHistograms() ;
64 void Print( const Option_t * opt ) const ;
66 //Analysis specific methods
68 void FillPileUpHistograms(Int_t clusterID) ;
70 void FillAcceptanceHistograms();
72 void FillTrackMatchingShowerShapeControlHistograms(AliAODPWG4ParticleCorrelation * pCandidate,
75 void MakeSeveralICAnalysis( AliAODPWG4ParticleCorrelation * ph, Int_t mcIndex ) ;
77 // Analysis Setters and Getters
79 TString GetCalorimeter() const { return fCalorimeter ; }
80 TString GetTriggerDetector() const { return fIsoDetector ; }
81 Int_t GetNCones() const { return fNCones ; }
82 Int_t GetNPtThresFrac() const { return fNPtThresFrac ; }
83 Float_t GetConeSizes(Int_t i) const { return fConeSizes[i] ; }
84 Float_t GetPtThresholds(Int_t i) const { return fPtThresholds[i] ; }
85 Float_t GetSumPtThresholds(Int_t i) const { return fSumPtThresholds[i]; }
86 Float_t GetPtFractions(Int_t i) const { return fPtFractions[i] ; }
87 Int_t GetNumberOfSMCoveredByTRD() const { return fTRDSMCovered ; }
89 Int_t GetMCIndex(Int_t mcTag);
91 void SetCalorimeter(TString & det) { fCalorimeter = det ; }
92 void SetTriggerDetector(TString & det) { fIsoDetector = det ; }
93 void SetNCones(Int_t ncs) { fNCones = ncs ; }
94 void SetNPtThresFrac(Int_t npt) { fNPtThresFrac = npt ; }
95 void SetConeSizes(Int_t i, Float_t r) { fConeSizes[i] = r ; }
96 void SetPtThresholds(Int_t i, Float_t pt) { fPtThresholds[i] = pt ; }
97 void SetPtFractions(Int_t i, Float_t pt) { fPtFractions[i] = pt ; }
98 void SetSumPtThresholds(Int_t i, Float_t pt){ fSumPtThresholds[i] = pt ; }
99 void SetNumberOfSMCoveredByTRD(Int_t n) { fTRDSMCovered = n ; }
101 Bool_t IsReIsolationOn() const { return fReMakeIC ; }
102 void SwitchOnReIsolation() { fReMakeIC = kTRUE ; }
103 void SwitchOffReIsolation() { fReMakeIC = kFALSE ; }
105 Bool_t IsSeveralIsolationOn() const { return fMakeSeveralIC ; }
106 void SwitchOnSeveralIsolation() { fMakeSeveralIC = kTRUE ; }
107 void SwitchOffSeveralIsolation() { fMakeSeveralIC = kFALSE ; }
109 void SwitchOnFillPileUpHistograms() { fFillPileUpHistograms = kTRUE ; }
110 void SwitchOffFillPileUpHistograms() { fFillPileUpHistograms = kFALSE ; }
112 void SwitchOnTMHistoFill() { fFillTMHisto = kTRUE ; }
113 void SwitchOffTMHistoFill() { fFillTMHisto = kFALSE ; }
115 void SwitchOnSSHistoFill() { fFillSSHisto = kTRUE ; }
116 void SwitchOffSSHistoFill() { fFillSSHisto = kFALSE ; }
118 void SwitchOnUEBandSubtractionHistoFill() { fFillUEBandSubtractHistograms = kTRUE ; }
119 void SwitchOffUEBandSubtractionHistoFill() { fFillUEBandSubtractHistograms = kFALSE ; }
121 void SwitchOnCellHistoFill() { fFillCellHistograms = kTRUE ; }
122 void SwitchOffCellHistoFill() { fFillCellHistograms = kFALSE; }
124 void SwitchOnHighMultiplicityHistoFill() { fFillHighMultHistograms = kTRUE ; }
125 void SwitchOffHighMultiplicityHistoFill() { fFillHighMultHistograms = kFALSE; }
127 void SwitchOnNLMHistoFill() { fFillNLMHistograms = kTRUE ; }
128 void SwitchOffNLMHistoFill() { fFillNLMHistograms = kFALSE; }
130 void SwitchOnDecayTaggedHistoFill() { fFillTaggedDecayHistograms = kTRUE ; }
131 void SwitchOffDecayTaggedHistoFill() { fFillTaggedDecayHistograms = kFALSE; }
133 //Histogrammes setters and getters
135 void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n) {
136 fHistoNPtSumBins = n ; fHistoPtSumMax = max ; fHistoPtSumMin = min ; }
138 Int_t GetHistoNPtSumBins() const { return fHistoNPtSumBins ; }
139 Float_t GetHistoPtSumMin() const { return fHistoPtSumMin ; }
140 Float_t GetHistoPtSumMax() const { return fHistoPtSumMax ; }
142 void SetHistoPtInConeRangeAndNBins(Float_t min, Float_t max, Int_t n) {
143 fHistoNPtInConeBins = n ; fHistoPtInConeMax = max ; fHistoPtInConeMin = min ; }
145 Int_t GetHistoNPtInConeBins() const { return fHistoNPtInConeBins; }
146 Float_t GetHistoPtInConeMin() const { return fHistoPtInConeMin ; }
147 Float_t GetHistoPtInConeMax() const { return fHistoPtInConeMax ; }
149 // For primary histograms in arrays, index in the array, corresponding to a photon origin
150 enum mcPrimTypes { kmcPrimPhoton = 0, kmcPrimPi0Decay = 1, kmcPrimOtherDecay = 2,
151 kmcPrimPrompt = 3, kmcPrimFrag = 4, kmcPrimISR = 5 } ;
153 // For histograms in arrays, index in the array, corresponding to any particle origin
154 enum mcTypes { kmcPhoton = 0, kmcPrompt = 1, kmcFragment = 2,
155 kmcPi0 = 3, kmcPi0Decay = 4, kmcEtaDecay = 5, kmcOtherDecay = 6,
156 kmcElectron = 7, kmcHadron = 8 } ;
160 TString fCalorimeter ; // Calorimeter where neutral particles in cone for isolation are;
161 TString fIsoDetector ; // Candidate particle for isolation detector ;
162 Bool_t fReMakeIC ; // Do isolation analysis
163 Bool_t fMakeSeveralIC ; // Do analysis for different IC
164 Bool_t fFillPileUpHistograms; // Fill pile-up related histograms
165 Bool_t fFillTMHisto; // Fill track matching plots
166 Bool_t fFillSSHisto; // Fill Shower shape plots
167 Bool_t fFillUEBandSubtractHistograms; // Fill histograms working on the UE subtraction
168 Bool_t fFillCellHistograms; // Fill cell histograms
169 Bool_t fFillHighMultHistograms; // Fill high multiplicity histograms
170 Bool_t fFillTaggedDecayHistograms; // Fill histograms for clusters tagged as decay
171 Bool_t fFillNLMHistograms; // Fill NLM histograms
172 Int_t fTRDSMCovered; // From which SM EMCal is covered by TRD
174 // Analysis data members for multiple cones and pt thresholds
175 Int_t fNCones ; //! Number of cone sizes to test
176 Int_t fNPtThresFrac ; //! Number of ptThres and ptFrac to test
178 Float_t fConeSizes[5] ; //! Array with cones to test
179 Float_t fPtThresholds[5] ; //! Array with pt thresholds to test
180 Float_t fPtFractions[5] ; //! Array with pt thresholds to test frac
181 Float_t fSumPtThresholds[5] ; //! Array with pt thresholds to test frac
185 TH1F * fhEIso ; //! Number of isolated particles vs energy
186 TH1F * fhPtIso ; //! Number of isolated particles vs pT
187 TH2F * fhPtCentralityIso ; //! centrality vs pT
188 TH2F * fhPtEventPlaneIso ; //! event plane angle vs pT
189 TH2F * fhPtNLocMaxIso ; //! Number of isolated particles vs NLM in cluster
190 TH2F * fhPhiIso ; //! Phi of isolated particles
191 TH2F * fhEtaIso ; //! eta of isolated particles
192 TH2F * fhEtaPhiIso ; //! eta vs phi of isolated particles
193 TH2F * fhEtaPhiNoIso ; //! eta vs phi of not isolated leading particles
194 TH1F * fhENoIso ; //! Number of not isolated leading particles vs Energy
195 TH1F * fhPtNoIso ; //! Number of not isolated leading particles vs pT
196 TH2F * fhPtNLocMaxNoIso ; //! Number of not isolated particles vs NLM in cluster
197 TH1F * fhPtDecayIso ; //! Number of isolated Pi0 decay particles (invariant mass tag)
198 TH1F * fhPtDecayNoIso ; //! Number of not isolated Pi0 decay leading particles (invariant mass tag)
199 TH2F * fhEtaPhiDecayIso ; //! eta vs phi of isolated Pi0 decay particles
200 TH2F * fhEtaPhiDecayNoIso ; //! eta vs phi of not isolated leading Pi0 decay particles
202 TH2F * fhPtInCone ; //! Cluster/track Pt in the cone
203 TH2F * fhPtClusterInCone ; //! Cluster Pt in the cone
204 TH2F * fhPtCellInCone ; //! Cell amplitude in the cone
205 TH2F * fhPtTrackInCone ; //! Track Pt in the cone
206 TH2F * fhPtTrackInConeOtherBC ; //! Track Pt in the cone, tracks out of main BC Time window
207 TH2F * fhPtTrackInConeOtherBCPileUpSPD ; //! Track Pt in the cone, tracks out of main BC Time window
208 TH2F * fhPtTrackInConeBC0 ; //! Track Pt in the cone, tracks in BC=0
209 TH2F * fhPtTrackInConeVtxBC0 ; //! Track Pt in the cone, tracks in BC=0
210 TH2F * fhPtTrackInConeBC0PileUpSPD ; //! Track Pt in the cone, tracks in BC=0
211 TH2F * fhPtInConePileUp[7] ; //! Particle Pt in the cone, if event is from pile-up (SPD method)
212 TH2F * fhPtInConeCent ; //! Particle Pt in the cone versus centrality
213 TH2F * fhPerpConeSumPt ; //! Sum Pt in cone at the perpendicular phi region to trigger axis (phi +90)
214 TH2F * fhPtInPerpCone ; //! Particle Pt in cone at the perpendicular phi region to trigger axis (phi +90)
216 TH2F * fhEtaPhiInConeCluster ; //! Eta vs. phi of clusters in cone
217 TH2F * fhEtaPhiCluster ; //! Eta vs. phi of all clusters
218 TH2F * fhEtaPhiInConeTrack ; //! Eta vs. phi of tracks in cone
219 TH2F * fhEtaPhiTrack ; //! Eta vs. phi of all tracks
221 TH2F * fhEtaBandCluster ; //! Accumulated pT in Eta band to estimate UE in cone, only clusters
222 TH2F * fhPhiBandCluster ; //! Accumulated pT in Phi band to estimate UE in cone, only clusters
223 TH2F * fhEtaBandTrack ; //! Accumulated pT in Eta band to estimate UE in cone, only tracks
224 TH2F * fhPhiBandTrack ; //! Accumulated pT in Phi band to estimate UE in cone, only tracks
225 TH2F * fhEtaBandCell ; //! Accumulated pT in Eta band to estimate UE in cone, only cells
226 TH2F * fhPhiBandCell ; //! Accumulated pT in Phi band to estimate UE in cone, only cells
228 TH2F * fhConeSumPt ; //! Cluster and tracks Sum Pt Sum Pt in the cone
229 TH2F * fhConeSumPtCellTrack ; //! Cells and tracks Sum Pt Sum Pt in the cone
230 TH2F * fhConeSumPtCell ; //! Cells Sum Pt Sum Pt in the cone
231 TH2F * fhConeSumPtCluster ; //! Clusters Sum Pt Sum Pt in the cone
232 TH2F * fhConeSumPtTrack ; //! Tracks Sum Pt Sum Pt in the cone
233 TH2F * fhConeSumPtEtaBandUECluster; //! Cluster Sum Pt in the eta band for clusters, before normalization
234 TH2F * fhConeSumPtPhiBandUECluster; //! Cluster Sum Pt in the phi band for clusters, before normalization
235 TH2F * fhConeSumPtEtaBandUETrack; //! Track Sum Pt in the eta band for tracks , before normalization
236 TH2F * fhConeSumPtPhiBandUETrack; //! Track Sum Pt in the phi badn for tracks , before normalization
237 TH2F * fhConeSumPtEtaBandUECell; //! Cell Sum amplitude in the eta band for cells, before normalization
238 TH2F * fhConeSumPtPhiBandUECell; //! Cell Sum amplitude in the phi band for cells, before normalization
240 TH2F * fhConeSumPtTrigEtaPhi ; //! Cluster and tracks Sum Pt Sum Pt in the cone, per eta-phi bin of trigger,
241 TH2F * fhConeSumPtCellTrackTrigEtaPhi ; //! Cell and tracks Sum Pt Sum Pt in the cone, per eta-phi bin of trigger,
242 TH2F * fhConeSumPtEtaBandUEClusterTrigEtaPhi; //! Cluster Sum Pt in the eta band for clusters, per eta-phi bin of trigger,before normalization
243 TH2F * fhConeSumPtPhiBandUEClusterTrigEtaPhi; //! Cluster Sum Pt in the phi band for clusters, per eta-phi bin of trigger, before normalization
244 TH2F * fhConeSumPtEtaBandUETrackTrigEtaPhi; //! Track Sum Pt in the eta band for tracks , per eta-phi bin of trigger, before normalization
245 TH2F * fhConeSumPtPhiBandUETrackTrigEtaPhi; //! Track Sum Pt in the phi badn for tracks , per eta-phi bin of trigger, before normalization
246 TH2F * fhConeSumPtEtaBandUECellTrigEtaPhi; //! Cluster Sum amplitude in the eta band for cells, per eta-phi bin of trigger, before normalization
247 TH2F * fhConeSumPtPhiBandUECellTrigEtaPhi; //! Cluster Sum amplitude in the phi band for cells, per eta-phi bin of trigger, before normalization
249 TH2F * fhConeSumPtEtaUESub; //! Cluster and tracks Sum Pt in the cone after bkg subtraction, vs pT trigger
250 TH2F * fhConeSumPtPhiUESub; //! Cluster and tracks Sum Pt in the cone after bkg subtraction, vs pT trigger
251 TH2F * fhConeSumPtEtaUESubTrigEtaPhi; //! Cluster and tracks Sum Pt in the cone after bkg subtraction, vs eta-phi trigger
252 TH2F * fhConeSumPtPhiUESubTrigEtaPhi; //! Cluster and tracks Sum Pt in the cone after bkg subtraction, vs eta-phi trigger
254 TH2F * fhConeSumPtEtaUESubTrackCell; //! Cluster and tracks Sum Pt in the cone after bkg subtraction, vs pT trigger
255 TH2F * fhConeSumPtPhiUESubTrackCell; //! Cluster and tracks Sum Pt in the cone after bkg subtraction, vs pT trigger
256 TH2F * fhConeSumPtEtaUESubTrackCellTrigEtaPhi;//! Cluster and tracks Sum Pt in the cone after bkg subtraction, vs eta-phi trigger
257 TH2F * fhConeSumPtPhiUESubTrackCellTrigEtaPhi;//! Cluster and tracks Sum Pt in the cone after bkg subtraction, vs eta-phi trigger
259 TH2F * fhConeSumPtEtaUESubCluster; //! Cluster Sum Pt in the cone after bkg subtraction, vs pT trigger
260 TH2F * fhConeSumPtPhiUESubCluster; //! Cluster Sum Pt in the cone after bkg subtraction, vs pT trigger
261 TH2F * fhConeSumPtEtaUESubClusterTrigEtaPhi; //! Cluster Sum Pt in the cone after bkg subtraction, vs eta-phi trigger
262 TH2F * fhConeSumPtPhiUESubClusterTrigEtaPhi; //! Cluster Sum Pt in the cone after bkg subtraction, vs eta-phi trigger
264 TH2F * fhConeSumPtEtaUESubCell; //! Cell Sum amplitude in the cone after bkg subtraction, vs pT trigger
265 TH2F * fhConeSumPtPhiUESubCell; //! Cell Sum amplitude in the cone after bkg subtraction, vs pT trigger
266 TH2F * fhConeSumPtEtaUESubCellTrigEtaPhi; //! Cell Sum amplitude in the cone after bkg subtraction, vs eta-phi trigger
267 TH2F * fhConeSumPtPhiUESubCellTrigEtaPhi; //! Cell Sum amplitude in the cone after bkg subtraction, vs eta-phi trigger
269 TH2F * fhConeSumPtEtaUESubTrack; //! Track Sum Pt in the cone after bkg subtraction, vs pT trigger
270 TH2F * fhConeSumPtPhiUESubTrack; //! Track Sum Pt in the cone after bkg subtraction, vs pT trigger
271 TH2F * fhConeSumPtEtaUESubTrackTrigEtaPhi; //! Track Sum Pt in the cone after bkg subtraction, vs eta-phi trigger
272 TH2F * fhConeSumPtPhiUESubTrackTrigEtaPhi; //! Track Sum Pt in the cone after bkg subtraction, vs eta-phi trigger
274 TH2F * fhFractionTrackOutConeEta; //! Fraction of cone out of tracks acceptance in eta
275 TH2F * fhFractionTrackOutConeEtaTrigEtaPhi; //! Fraction of cone out of tracks acceptance in eta, vs trigger eta-phi
276 TH2F * fhFractionClusterOutConeEta; //! Fraction of cone out of clusters acceptance in eta
277 TH2F * fhFractionClusterOutConeEtaTrigEtaPhi; //! Fraction of cone out of clusters acceptance in eta, vs trigger eta-phi
278 TH2F * fhFractionClusterOutConePhi; //! Fraction of cone out of clusters acceptance in phi
279 TH2F * fhFractionClusterOutConePhiTrigEtaPhi; //! Fraction of cone out of clusters acceptance in phi, vs trigger eta-phi
281 TH2F * fhFractionCellOutConeEta; //! Fraction of cone out of cells acceptance in eta
282 TH2F * fhFractionCellOutConeEtaTrigEtaPhi; //! Fraction of cone out of cells acceptance in eta, vs trigger eta-phi
283 TH2F * fhFractionCellOutConePhi; //! Fraction of cone out of cells acceptance in phi
284 TH2F * fhFractionCellOutConePhiTrigEtaPhi; //! Fraction of cone out of cells acceptance in phi, vs trigger eta-phi
286 TH2F * fhConeSumPtClustervsTrack ; //! Cluster vs tracks Sum Pt Sum Pt in the cone
287 TH2F * fhConeSumPtEtaUESubClustervsTrack ; //! Cluster vs tracks Sum Pt Sum Pt in the cone, after subtraction in eta band
288 TH2F * fhConeSumPtPhiUESubClustervsTrack ; //! Cluster vs tracks Sum Pt Sum Pt in the cone, after subtraction in phi band
289 TH2F * fhConeSumPtCellvsTrack; //! Cell vs tracks Sum Pt Sum Pt in the cone
290 TH2F * fhConeSumPtEtaUESubCellvsTrack ; //! Cell vs tracks Sum Pt Sum Pt in the cone, after subtraction in eta band
291 TH2F * fhConeSumPtPhiUESubCellvsTrack ; //! Cell vs tracks Sum Pt Sum Pt in the cone, after subtraction in phi band
293 TH2F * fhEtaBandClustervsTrack ; //! Accumulated pT in Eta band to estimate UE in cone, clusters vs tracks
294 TH2F * fhPhiBandClustervsTrack ; //! Accumulated pT in Phi band to estimate UE in cone, clusters vs tracks
295 TH2F * fhEtaBandNormClustervsTrack ; //! Accumulated pT in Eta band to estimate UE in cone, normalized to cone size, clusters vs tracks
296 TH2F * fhPhiBandNormClustervsTrack ; //! Accumulated pT in Phi band to estimate UE in cone, normalized to cone size, clusters vs tracks
297 TH2F * fhEtaBandCellvsTrack ; //! Accumulated pT in Eta band to estimate UE in cone, cells vs tracks
298 TH2F * fhPhiBandCellvsTrack ; //! Accumulated pT in Phi band to estimate UE in cone, cells vs tracks
299 TH2F * fhEtaBandNormCellvsTrack ; //! Accumulated pT cell in Eta band to estimate UE in cone, normalized to cone size, clusters vs tracks
300 TH2F * fhPhiBandNormCellvsTrack ; //! Accumulated pT cell in Phi band to estimate UE in cone, normalized to cone
302 TH2F * fhConeSumPtSubvsConeSumPtTotPhiTrack; //! Tracks, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
303 TH2F * fhConeSumPtSubNormvsConeSumPtTotPhiTrack; //! Tracks, phi band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub
304 TH2F * fhConeSumPtSubvsConeSumPtTotEtaTrack; //! Tracks, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
305 TH2F * fhConeSumPtSubNormvsConeSumPtTotEtaTrack; //! Tracks, eta band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub
306 TH2F * fhConeSumPtSubvsConeSumPtTotPhiCluster; //! Clusters, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
307 TH2F * fhConeSumPtSubNormvsConeSumPtTotPhiCluster; //! Clusters, phi band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub
308 TH2F * fhConeSumPtSubvsConeSumPtTotEtaCluster; //! Clusters, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
309 TH2F * fhConeSumPtSubNormvsConeSumPtTotEtaCluster; //! Clusters, eta band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub
310 TH2F * fhConeSumPtSubvsConeSumPtTotPhiCell; //! Cells, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
311 TH2F * fhConeSumPtSubNormvsConeSumPtTotPhiCell; //! Cells, phi band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub
312 TH2F * fhConeSumPtSubvsConeSumPtTotEtaCell; //! Cells, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
313 TH2F * fhConeSumPtSubNormvsConeSumPtTotEtaCell; //! Cells, eta band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub
314 TH2F * fhConeSumPtVSUETracksEtaBand; //! fhConeSumPtVSUETracksEtaBand
315 TH2F * fhConeSumPtVSUETracksPhiBand; //! fhConeSumPtVSUETracksPhiBand
316 TH2F * fhConeSumPtVSUEClusterEtaBand; //! fhConeSumPtVSUEClusterEtaBand
317 TH2F * fhConeSumPtVSUEClusterPhiBand; //! fhConeSumPtVSUEClusterPhiBand
321 TH2F * fhEtaPrimMC [6]; //! Pt vs Eta of generated photon
322 TH2F * fhPhiPrimMC [6]; //! Pt vs Phi of generated photon
323 TH1F * fhEPrimMC [6]; //! Number of generated photon vs E
324 TH1F * fhPtPrimMCiso[6]; //! Number of generated isolated photon vs pT
326 TH1F * fhPtNoIsoMC[9]; //! Number of not isolated mcTypes particle
327 TH1F * fhPtIsoMC [9]; //! Number of isolated mcTypes particle
328 TH2F * fhPhiIsoMC [9]; //! Phi of isolated mcTypes particle
329 TH2F * fhEtaIsoMC [9]; //! eta of isolated mcTypes particle
330 TH1F * fhPtThresIsolatedMC[9][5][5]; //! Isolated mcTypes particle with pt threshold
331 TH1F * fhPtFracIsolatedMC [9][5][5]; //! Isolated mcTypes particle with pt frac
332 TH2F * fhPtSumIsolatedMC [9][5]; //! Isolated mcTypes particle with threshold on cone pt sum
334 TH2F * fhPtLambda0MC[9][2]; //! Shower shape of (non) isolated candidates originated by mcTypes particle (do not apply SS cut previously)
337 TH2F * fhSumPtLeadingPt[5] ; //! Sum Pt in the cone
338 TH2F * fhPtLeadingPt[5] ; //! Particle Pt in the cone
339 TH2F * fhPerpSumPtLeadingPt[5] ; //! Sum Pt in the cone at the perpendicular phi region to trigger axis (phi +90)
340 TH2F * fhPerpPtLeadingPt[5]; //! Sum Pt in the cone at the perpendicular phi region to trigger axis (phi +90)
342 TH1F * fhPtThresIsolated[5][5] ; //! Isolated particle with pt threshold
343 TH1F * fhPtFracIsolated[5][5] ; //! Isolated particle with pt threshold frac
344 TH1F * fhPtSumIsolated[5][5] ; //! Isolated particle with threshold on cone pt sum
346 TH2F * fhEtaPhiPtThresIso[5][5] ; //! eta vs phi of isolated particles with pt threshold
347 TH2F * fhEtaPhiPtThresDecayIso[5][5] ; //! eta vs phi of isolated particles with pt threshold
348 TH1F * fhPtPtThresDecayIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt threshold
350 TH2F * fhEtaPhiPtFracIso[5][5] ; //! eta vs phi of isolated particles with pt frac
351 TH2F * fhEtaPhiPtFracDecayIso[5][5] ; //! eta vs phi of isolated particles with pt frac
352 TH1F * fhPtPtFracDecayIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt fra
354 TH2F * fhEtaPhiPtSumIso[5][5] ; //! eta vs phi of isolated particles with pt sum
355 TH2F * fhEtaPhiPtSumDecayIso[5][5] ; //! eta vs phi of isolated particles with pt sum
356 TH1F * fhPtPtSumDecayIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt sum
358 TH2F * fhEtaPhiSumDensityIso[5][5]; //! Isolated particle with threshold on cone sum density
359 TH2F * fhEtaPhiSumDensityDecayIso[5][5]; //! Isolated particle with threshold on cone sum density
360 TH1F * fhPtSumDensityIso[5][5]; //! Isolated particle with threshold on cone sum density
361 TH1F * fhPtSumDensityDecayIso[5][5]; //! Isolated decay particle with threshold on cone sum density
363 TH1F * fhPtFracPtSumIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt sum
364 TH1F * fhPtFracPtSumDecayIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt sum
365 TH2F * fhEtaPhiFracPtSumIso[5][5]; //! Isolated particle with threshold on cone sum density
366 TH2F * fhEtaPhiFracPtSumDecayIso[5][5]; //! Isolated particle with threshold on cone sum density
368 // Track matching studies
369 TH2F * fhTrackMatchedDEta[2] ; //! Eta distance between track and cluster vs cluster E
370 TH2F * fhTrackMatchedDPhi[2] ; //! Phi distance between track and cluster vs cluster E
371 TH2F * fhTrackMatchedDEtaDPhi[2] ; //! Eta vs Phi distance between track and cluster, E cluster > 0.5 GeV
372 TH2F * fhdEdx[2] ; //! matched track dEdx vs cluster E
373 TH2F * fhEOverP[2]; //! matched track E cluster over P track vs cluster E, after dEdx cut
374 TH2F * fhTrackMatchedMCParticle[2]; //! Trace origin of matched particle
376 // Shower Shape histograms
377 TH2F * fhELambda0[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously)
378 TH2F * fhPtLambda0[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously)
379 TH2F * fhELambda1[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously)
380 TH2F * fhELambda0TRD[2]; //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously)
381 TH2F * fhPtLambda0TRD[2]; //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously)
382 TH2F * fhELambda1TRD[2]; //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously)
385 TH2F * fhNLocMax[2]; //! number of maxima in selected clusters
386 TH2F * fhELambda0LocMax1[2] ; //! E vs lambda0 of selected cluster, 1 local maxima in cluster
387 TH2F * fhELambda1LocMax1[2] ; //! E vs lambda1 of selected cluster, 1 local maxima in cluster
388 TH2F * fhELambda0LocMax2[2] ; //! E vs lambda0 of selected cluster, 2 local maxima in cluster
389 TH2F * fhELambda1LocMax2[2] ; //! E vs lambda1 of selected cluster, 2 local maxima in cluster
390 TH2F * fhELambda0LocMaxN[2] ; //! E vs lambda0 of selected cluster, N>2 local maxima in cluster
391 TH2F * fhELambda1LocMaxN[2] ; //! E vs lambda1 of selected cluster, N>2 local maxima in cluster
394 TH1F * fhEIsoPileUp[7] ; //! Number of isolated particles
395 TH1F * fhPtIsoPileUp[7] ; //! Number of isolated particles
396 TH1F * fhENoIsoPileUp[7] ; //! Number of not isolated particles
397 TH1F * fhPtNoIsoPileUp[7] ; //! Number of not isolated particles
398 TH2F * fhTimeENoCut; //! time of cluster vs E, no cut
399 TH2F * fhTimeESPD; //! time of cluster vs E, IsSPDPileUp
400 TH2F * fhTimeESPDMulti; //! time of cluster vs E, IsSPDPileUpMulti
401 TH2F * fhTimeNPileUpVertSPD; //! time of cluster vs n pile-up vertices from SPD
402 TH2F * fhTimeNPileUpVertTrack; //! time of cluster vs n pile-up vertices from Tracks
403 TH2F * fhTimeNPileUpVertContributors; //! time of cluster vs n pile-up vertex from SPD contributors
404 TH2F * fhTimePileUpMainVertexZDistance; //! time of cluster vs difference of z main vertex and pile-up vertex
405 TH2F * fhTimePileUpMainVertexZDiamond; //! time of cluster vs difference of z diamond and pile-up vertex
407 //Histograms settings
408 Int_t fHistoNPtSumBins; // Number of bins in PtSum histograms
409 Float_t fHistoPtSumMax; // PtSum maximum in histogram
410 Float_t fHistoPtSumMin; // PtSum minimum in histogram
411 Int_t fHistoNPtInConeBins; // Number of bins in PtInCone histogram
412 Float_t fHistoPtInConeMax; // PtInCone maximum in histogram
413 Float_t fHistoPtInConeMin; // PtInCone maximum in histogram
415 AliAnaParticleIsolation( const AliAnaParticleIsolation & iso) ; // cpy ctor
416 AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & iso) ; // cpy assignment
418 ClassDef(AliAnaParticleIsolation,26)
422 #endif //ALIANAPARTICLEISOLATION_H