add histogram to select primary pi0 decays that do not overlap and the companion...
[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
9b01dc66 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) ;
23130491 41
1b1a1b2e 42 void CalculateCaloSignalInCone (AliAODPWG4ParticleCorrelation * aodParticle, Float_t & coneptsumCluster, Float_t & coneptLeadCluster) ;
9b01dc66 43 void CalculateCaloCellSignalInCone(AliAODPWG4ParticleCorrelation * aodParticle, Float_t & coneptsumCell) ;
1b1a1b2e 44 void CalculateTrackSignalInCone (AliAODPWG4ParticleCorrelation * aodParticle, Float_t & coneptsumTrack , Float_t & coneptLeadTrack ) ;
727a309a 45
201d37ac 46
23130491 47 void CalculateNormalizeUEBandPerUnitArea(AliAODPWG4ParticleCorrelation * pCandidate,
b94e038e 48 Float_t coneptsumCluster, Float_t coneptsumCell, Float_t coneptsumTrack,
727a309a 49 Float_t &etaBandptsumTrackNorm, Float_t &etaBandptsumClusterNorm ) ;
1a31a9ab 50
b5dbb99b 51 TObjString * GetAnalysisCuts() ;
1a31a9ab 52
b5dbb99b 53 TList * GetCreateOutputObjects() ;
54
03bae431 55 void Init() ;
56
b5dbb99b 57 void InitParameters() ;
803d06a8 58
1a31a9ab 59 void MakeAnalysisFillAOD() ;
60
61 void MakeAnalysisFillHistograms() ;
62
23130491 63
b5dbb99b 64 void Print( const Option_t * opt ) const ;
1a31a9ab 65
1a31a9ab 66 //Analysis specific methods
b5dbb99b 67
2ad19c3d 68 void FillPileUpHistograms(Int_t clusterID) ;
69
dc9c6e78 70 void FillAcceptanceHistograms();
71
124bffb3 72 void FillTrackMatchingShowerShapeControlHistograms(AliAODPWG4ParticleCorrelation * pCandidate,
dc1966bb 73 Float_t coneptsum, Float_t coneleadpt, Int_t mcIndex) ;
b5dbb99b 74
64373095 75 Bool_t IsTriggerTheNearSideEventLeadingParticle(Int_t & idLeading);
76
124bffb3 77 void MakeSeveralICAnalysis( AliAODPWG4ParticleCorrelation * ph, Int_t mcIndex ) ;
1a31a9ab 78
1a31a9ab 79 // Analysis Setters and Getters
80
b5dbb99b 81 TString GetCalorimeter() const { return fCalorimeter ; }
4b6cb0f2 82 TString GetTriggerDetector() const { return fIsoDetector ; }
b5dbb99b 83 Int_t GetNCones() const { return fNCones ; }
84 Int_t GetNPtThresFrac() const { return fNPtThresFrac ; }
85 Float_t GetConeSizes(Int_t i) const { return fConeSizes[i] ; }
86 Float_t GetPtThresholds(Int_t i) const { return fPtThresholds[i] ; }
db6fb352 87 Float_t GetSumPtThresholds(Int_t i) const { return fSumPtThresholds[i]; }
b5dbb99b 88 Float_t GetPtFractions(Int_t i) const { return fPtFractions[i] ; }
1a31a9ab 89
124bffb3 90 Int_t GetMCIndex(Int_t mcTag);
91
b5dbb99b 92 void SetCalorimeter(TString & det) { fCalorimeter = det ; }
4b6cb0f2 93 void SetTriggerDetector(TString & det) { fIsoDetector = det ; }
b5dbb99b 94 void SetNCones(Int_t ncs) { fNCones = ncs ; }
95 void SetNPtThresFrac(Int_t npt) { fNPtThresFrac = npt ; }
96 void SetConeSizes(Int_t i, Float_t r) { fConeSizes[i] = r ; }
97 void SetPtThresholds(Int_t i, Float_t pt) { fPtThresholds[i] = pt ; }
98 void SetPtFractions(Int_t i, Float_t pt) { fPtFractions[i] = pt ; }
b0a31c92 99 void SetSumPtThresholds(Int_t i, Float_t pt){ fSumPtThresholds[i] = pt ; }
977564f5 100
b5dbb99b 101 Bool_t IsReIsolationOn() const { return fReMakeIC ; }
102 void SwitchOnReIsolation() { fReMakeIC = kTRUE ; }
103 void SwitchOffReIsolation() { fReMakeIC = kFALSE ; }
1a31a9ab 104
b5dbb99b 105 Bool_t IsSeveralIsolationOn() const { return fMakeSeveralIC ; }
106 void SwitchOnSeveralIsolation() { fMakeSeveralIC = kTRUE ; }
107 void SwitchOffSeveralIsolation() { fMakeSeveralIC = kFALSE ; }
09273901 108
2ad19c3d 109 void SwitchOnFillPileUpHistograms() { fFillPileUpHistograms = kTRUE ; }
110 void SwitchOffFillPileUpHistograms() { fFillPileUpHistograms = kFALSE ; }
111
b5dbb99b 112 void SwitchOnTMHistoFill() { fFillTMHisto = kTRUE ; }
113 void SwitchOffTMHistoFill() { fFillTMHisto = kFALSE ; }
09273901 114
b5dbb99b 115 void SwitchOnSSHistoFill() { fFillSSHisto = kTRUE ; }
116 void SwitchOffSSHistoFill() { fFillSSHisto = kFALSE ; }
09273901 117
64373095 118 Bool_t IsLeadingOnlyOn() const { return fLeadingOnly ; }
119 void SwitchOnLeadingOnly() { fLeadingOnly = kTRUE ; }
120 void SwitchOffLeadingOnly() { fLeadingOnly = kFALSE ; }
121
122 void SwitchOnCheckNeutralClustersForLeading() { fCheckLeadingWithNeutralClusters = kTRUE ; }
123 void SwitchOffCheckNeutralClustersForLeading(){ fCheckLeadingWithNeutralClusters = kFALSE ; }
124
977564f5 125 void SwitchOnUEBandSubtractionHistoFill() { fFillUEBandSubtractHistograms = kTRUE ; }
126 void SwitchOffUEBandSubtractionHistoFill() { fFillUEBandSubtractHistograms = kFALSE ; }
127
128 void SwitchOnCellHistoFill() { fFillCellHistograms = kTRUE ; }
129 void SwitchOffCellHistoFill() { fFillCellHistograms = kFALSE; }
130
131 void SwitchOnHighMultiplicityHistoFill() { fFillHighMultHistograms = kTRUE ; }
132 void SwitchOffHighMultiplicityHistoFill() { fFillHighMultHistograms = kFALSE; }
133
134 void SwitchOnNLMHistoFill() { fFillNLMHistograms = kTRUE ; }
135 void SwitchOffNLMHistoFill() { fFillNLMHistograms = kFALSE; }
136
137 void SwitchOnDecayTaggedHistoFill() { fFillTaggedDecayHistograms = kTRUE ; }
138 void SwitchOffDecayTaggedHistoFill() { fFillTaggedDecayHistograms = kFALSE; }
8913c8c4 139 void SetNDecayBits(Int_t n) { fNDecayBits = n ; }
140 void SetDecayBits(Int_t i, UInt_t bit) { if(i < 4) fDecayBits[i] = bit ; }
977564f5 141
dc1966bb 142 void SwitchOnBackgroundBinHistoFill() { fFillBackgroundBinHistograms = kTRUE ; }
71f8368b 143 void SwitchOffBackgroundBinHistoFill() { fFillBackgroundBinHistograms = kFALSE; }
dc1966bb 144 void SetNBackgroundBins(Int_t n) { if(n < 19) fNBkgBin = n ; }
145 void SetBackgroundLimits(Int_t i,Float_t l){ if(i <= fNBkgBin) fBkgBinLimit[i] = l; }
146
d24561b6 147 void SwitchOnPrimariesInConeSelection() { fSelectPrimariesInCone = kTRUE ; }
148 void SwitchOffPrimariesInConeSelection() { fSelectPrimariesInCone = kFALSE; }
149
150 void SwitchOnPrimariesPi0DecayStudy() { fMakePrimaryPi0DecayStudy = kTRUE ; }
151 void SwitchOffPrimariesPi0DecayStudy() { fMakePrimaryPi0DecayStudy = kFALSE; }
152
dc1966bb 153 // For primary histograms in arrays, index in the array, corresponding to a photon origin
bf8a7dac 154 enum mcPrimTypes { kmcPrimPhoton = 0, kmcPrimPi0Decay = 1, kmcPrimOtherDecay = 2,
d24561b6 155 kmcPrimPrompt = 3, kmcPrimFrag = 4, kmcPrimISR = 5, kmcPrimPi0 = 6 } ;
156 static const Int_t fgkNmcPrimTypes = 7;
d2d42179 157
158 // For histograms in arrays, index in the array, corresponding to any particle origin
70460dc6 159 enum mcTypes { kmcPhoton = 0, kmcPrompt = 1, kmcFragment = 2,
160 kmcPi0 = 3, kmcPi0Decay = 4, kmcPi0DecayLostPair = 5,
161 kmcEtaDecay = 6, kmcOtherDecay = 7,
162 kmcElectron = 8, kmcHadron = 9 } ;
163 static const Int_t fgkNmcTypes = 10;
d24561b6 164
1a31a9ab 165 private:
166
167 TString fCalorimeter ; // Calorimeter where neutral particles in cone for isolation are;
4b6cb0f2 168 TString fIsoDetector ; // Candidate particle for isolation detector ;
1a31a9ab 169 Bool_t fReMakeIC ; // Do isolation analysis
170 Bool_t fMakeSeveralIC ; // Do analysis for different IC
2ad19c3d 171 Bool_t fFillPileUpHistograms; // Fill pile-up related histograms
09273901 172 Bool_t fFillTMHisto; // Fill track matching plots
173 Bool_t fFillSSHisto; // Fill Shower shape plots
977564f5 174 Bool_t fFillUEBandSubtractHistograms; // Fill histograms working on the UE subtraction
175 Bool_t fFillCellHistograms; // Fill cell histograms
176 Bool_t fFillHighMultHistograms; // Fill high multiplicity histograms
177 Bool_t fFillTaggedDecayHistograms; // Fill histograms for clusters tagged as decay
8913c8c4 178 Int_t fNDecayBits ; // in case of study of decay triggers, select the decay bit
179 UInt_t fDecayBits[4] ; // in case of study of decay triggers, select the decay bit
977564f5 180 Bool_t fFillNLMHistograms; // Fill NLM histograms
64373095 181 Bool_t fLeadingOnly; // Do isolation with leading particle
182 Bool_t fCheckLeadingWithNeutralClusters; // Compare the trigger candidate to Leading pT with the clusters pT, by default only charged
d24561b6 183 Bool_t fSelectPrimariesInCone; // In primary particle isolation studies, select only particles in isolation cone within detector acceptance and E cut.
184 Bool_t fMakePrimaryPi0DecayStudy; // Fill dedicated histograms for primary decay photons
185
dc1966bb 186 Bool_t fFillBackgroundBinHistograms; // Fill histograms for different bins in pt content of the cone
187 Int_t fNBkgBin; // Number of bins on pt content in cone
188 Float_t fBkgBinLimit[20]; // Pt bin limits on pt content in the cone
189
64373095 190 // Analysis data members for multiple cones and pt thresholds
803d06a8 191 Int_t fNCones ; //! Number of cone sizes to test
192 Int_t fNPtThresFrac ; //! Number of ptThres and ptFrac to test
193
194 Float_t fConeSizes[5] ; //! Array with cones to test
195 Float_t fPtThresholds[5] ; //! Array with pt thresholds to test
db6fb352 196 Float_t fPtFractions[5] ; //! Array with pt thresholds to test frac
197 Float_t fSumPtThresholds[5] ; //! Array with pt thresholds to test frac
1a31a9ab 198
199 //Histograms
200
b1f720a7 201 TH1F * fhEIso ; //! Number of isolated particles vs energy
202 TH1F * fhPtIso ; //! Number of isolated particles vs pT
c8710850 203 TH2F * fhPtCentralityIso ; //! centrality vs pT
204 TH2F * fhPtEventPlaneIso ; //! event plane angle vs pT
8736d400 205 TH2F * fhPtNLocMaxIso ; //! Number of isolated particles vs NLM in cluster
1a31a9ab 206 TH2F * fhPhiIso ; //! Phi of isolated particles
207 TH2F * fhEtaIso ; //! eta of isolated particles
0fb69ade 208 TH2F * fhEtaPhiIso ; //! eta vs phi of isolated particles
d0a4f937 209 TH2F * fhEtaPhiNoIso ; //! eta vs phi of not isolated leading particles
b1f720a7 210 TH1F * fhENoIso ; //! Number of not isolated leading particles vs Energy
211 TH1F * fhPtNoIso ; //! Number of not isolated leading particles vs pT
8736d400 212 TH2F * fhPtNLocMaxNoIso ; //! Number of not isolated particles vs NLM in cluster
8913c8c4 213 TH1F * fhPtDecayIso[4] ; //! Number of isolated Pi0 decay particles (invariant mass tag)
214 TH1F * fhPtDecayNoIso[4] ; //! Number of not isolated Pi0 decay leading particles (invariant mass tag)
215 TH2F * fhEtaPhiDecayIso[4] ; //! eta vs phi of isolated Pi0 decay particles
216 TH2F * fhEtaPhiDecayNoIso[4] ; //! eta vs phi of not isolated leading Pi0 decay particles
2ff4efcd 217 TH2F * fhPtLambda0Decay[2][4]; //! Shower shape of (non) isolated leading Pi0 decay particles (do not apply SS cut previously)
218
fedea415 219 TH2F * fhPtInCone ; //! Cluster/track Pt in the cone
23130491 220 TH2F * fhPtClusterInCone ; //! Cluster Pt in the cone
9b01dc66 221 TH2F * fhPtCellInCone ; //! Cell amplitude in the cone
fedea415 222 TH2F * fhPtTrackInCone ; //! Track Pt in the cone
223 TH2F * fhPtTrackInConeOtherBC ; //! Track Pt in the cone, tracks out of main BC Time window
224 TH2F * fhPtTrackInConeOtherBCPileUpSPD ; //! Track Pt in the cone, tracks out of main BC Time window
2a9171b5 225 TH2F * fhPtTrackInConeBC0 ; //! Track Pt in the cone, tracks in BC=0
cc944149 226 TH2F * fhPtTrackInConeVtxBC0 ; //! Track Pt in the cone, tracks in BC=0
2a9171b5 227 TH2F * fhPtTrackInConeBC0PileUpSPD ; //! Track Pt in the cone, tracks in BC=0
8958866f 228 TH2F * fhPtInConePileUp[7] ; //! Particle Pt in the cone, if event is from pile-up (SPD method)
b7ce43b4 229 TH2F * fhPtInConeCent ; //! Particle Pt in the cone versus centrality
23130491 230 TH2F * fhPerpConeSumPt ; //! Sum Pt in cone at the perpendicular phi region to trigger axis (phi +90)
231 TH2F * fhPtInPerpCone ; //! Particle Pt in cone at the perpendicular phi region to trigger axis (phi +90)
232
9004af1c 233 TH2F * fhEtaPhiInConeCluster ; //! Eta vs. phi of clusters in cone
234 TH2F * fhEtaPhiCluster ; //! Eta vs. phi of all clusters
235 TH2F * fhEtaPhiInConeTrack ; //! Eta vs. phi of tracks in cone
236 TH2F * fhEtaPhiTrack ; //! Eta vs. phi of all tracks
237
23130491 238 TH2F * fhEtaBandCluster ; //! Accumulated pT in Eta band to estimate UE in cone, only clusters
239 TH2F * fhPhiBandCluster ; //! Accumulated pT in Phi band to estimate UE in cone, only clusters
240 TH2F * fhEtaBandTrack ; //! Accumulated pT in Eta band to estimate UE in cone, only tracks
241 TH2F * fhPhiBandTrack ; //! Accumulated pT in Phi band to estimate UE in cone, only tracks
9b01dc66 242 TH2F * fhEtaBandCell ; //! Accumulated pT in Eta band to estimate UE in cone, only cells
243 TH2F * fhPhiBandCell ; //! Accumulated pT in Phi band to estimate UE in cone, only cells
244
1b1a1b2e 245 TH2F * fhConePtLead ; //! Cluster and tracks leading pt in the cone
246 TH2F * fhConePtLeadCluster ; //! Clusters leading pt in the cone
247 TH2F * fhConePtLeadTrack ; //! Tracks leading pt in the cone
dc1966bb 248 TH2F * fhConePtLeadClustervsTrack; //! Tracks vs Clusters leading pt
249 TH2F * fhConePtLeadClusterTrackFrac; //! Trigger pt vs cluster/track leading pt
1b1a1b2e 250
23130491 251 TH2F * fhConeSumPt ; //! Cluster and tracks Sum Pt Sum Pt in the cone
9b01dc66 252 TH2F * fhConeSumPtCellTrack ; //! Cells and tracks Sum Pt Sum Pt in the cone
253 TH2F * fhConeSumPtCell ; //! Cells Sum Pt Sum Pt in the cone
814d1087 254 TH2F * fhConeSumPtCluster ; //! Clusters Sum Pt Sum Pt in the cone
255 TH2F * fhConeSumPtTrack ; //! Tracks Sum Pt Sum Pt in the cone
23130491 256 TH2F * fhConeSumPtEtaBandUECluster; //! Cluster Sum Pt in the eta band for clusters, before normalization
257 TH2F * fhConeSumPtPhiBandUECluster; //! Cluster Sum Pt in the phi band for clusters, before normalization
258 TH2F * fhConeSumPtEtaBandUETrack; //! Track Sum Pt in the eta band for tracks , before normalization
259 TH2F * fhConeSumPtPhiBandUETrack; //! Track Sum Pt in the phi badn for tracks , before normalization
9b01dc66 260 TH2F * fhConeSumPtEtaBandUECell; //! Cell Sum amplitude in the eta band for cells, before normalization
261 TH2F * fhConeSumPtPhiBandUECell; //! Cell Sum amplitude in the phi band for cells, before normalization
262
23130491 263 TH2F * fhConeSumPtTrigEtaPhi ; //! Cluster and tracks Sum Pt Sum Pt in the cone, per eta-phi bin of trigger,
9b01dc66 264 TH2F * fhConeSumPtCellTrackTrigEtaPhi ; //! Cell and tracks Sum Pt Sum Pt in the cone, per eta-phi bin of trigger,
23130491 265 TH2F * fhConeSumPtEtaBandUEClusterTrigEtaPhi; //! Cluster Sum Pt in the eta band for clusters, per eta-phi bin of trigger,before normalization
266 TH2F * fhConeSumPtPhiBandUEClusterTrigEtaPhi; //! Cluster Sum Pt in the phi band for clusters, per eta-phi bin of trigger, before normalization
267 TH2F * fhConeSumPtEtaBandUETrackTrigEtaPhi; //! Track Sum Pt in the eta band for tracks , per eta-phi bin of trigger, before normalization
268 TH2F * fhConeSumPtPhiBandUETrackTrigEtaPhi; //! Track Sum Pt in the phi badn for tracks , per eta-phi bin of trigger, before normalization
9b01dc66 269 TH2F * fhConeSumPtEtaBandUECellTrigEtaPhi; //! Cluster Sum amplitude in the eta band for cells, per eta-phi bin of trigger, before normalization
270 TH2F * fhConeSumPtPhiBandUECellTrigEtaPhi; //! Cluster Sum amplitude in the phi band for cells, per eta-phi bin of trigger, before normalization
271
23130491 272 TH2F * fhConeSumPtEtaUESub; //! Cluster and tracks Sum Pt in the cone after bkg subtraction, vs pT trigger
273 TH2F * fhConeSumPtPhiUESub; //! Cluster and tracks Sum Pt in the cone after bkg subtraction, vs pT trigger
274 TH2F * fhConeSumPtEtaUESubTrigEtaPhi; //! Cluster and tracks Sum Pt in the cone after bkg subtraction, vs eta-phi trigger
275 TH2F * fhConeSumPtPhiUESubTrigEtaPhi; //! Cluster and tracks Sum Pt in the cone after bkg subtraction, vs eta-phi trigger
9b01dc66 276
277 TH2F * fhConeSumPtEtaUESubTrackCell; //! Cluster and tracks Sum Pt in the cone after bkg subtraction, vs pT trigger
278 TH2F * fhConeSumPtPhiUESubTrackCell; //! Cluster and tracks Sum Pt in the cone after bkg subtraction, vs pT trigger
279 TH2F * fhConeSumPtEtaUESubTrackCellTrigEtaPhi;//! Cluster and tracks Sum Pt in the cone after bkg subtraction, vs eta-phi trigger
280 TH2F * fhConeSumPtPhiUESubTrackCellTrigEtaPhi;//! Cluster and tracks Sum Pt in the cone after bkg subtraction, vs eta-phi trigger
281
23130491 282 TH2F * fhConeSumPtEtaUESubCluster; //! Cluster Sum Pt in the cone after bkg subtraction, vs pT trigger
283 TH2F * fhConeSumPtPhiUESubCluster; //! Cluster Sum Pt in the cone after bkg subtraction, vs pT trigger
284 TH2F * fhConeSumPtEtaUESubClusterTrigEtaPhi; //! Cluster Sum Pt in the cone after bkg subtraction, vs eta-phi trigger
285 TH2F * fhConeSumPtPhiUESubClusterTrigEtaPhi; //! Cluster Sum Pt in the cone after bkg subtraction, vs eta-phi trigger
286
9b01dc66 287 TH2F * fhConeSumPtEtaUESubCell; //! Cell Sum amplitude in the cone after bkg subtraction, vs pT trigger
288 TH2F * fhConeSumPtPhiUESubCell; //! Cell Sum amplitude in the cone after bkg subtraction, vs pT trigger
289 TH2F * fhConeSumPtEtaUESubCellTrigEtaPhi; //! Cell Sum amplitude in the cone after bkg subtraction, vs eta-phi trigger
290 TH2F * fhConeSumPtPhiUESubCellTrigEtaPhi; //! Cell Sum amplitude in the cone after bkg subtraction, vs eta-phi trigger
291
23130491 292 TH2F * fhConeSumPtEtaUESubTrack; //! Track Sum Pt in the cone after bkg subtraction, vs pT trigger
293 TH2F * fhConeSumPtPhiUESubTrack; //! Track Sum Pt in the cone after bkg subtraction, vs pT trigger
294 TH2F * fhConeSumPtEtaUESubTrackTrigEtaPhi; //! Track Sum Pt in the cone after bkg subtraction, vs eta-phi trigger
295 TH2F * fhConeSumPtPhiUESubTrackTrigEtaPhi; //! Track Sum Pt in the cone after bkg subtraction, vs eta-phi trigger
296
297 TH2F * fhFractionTrackOutConeEta; //! Fraction of cone out of tracks acceptance in eta
298 TH2F * fhFractionTrackOutConeEtaTrigEtaPhi; //! Fraction of cone out of tracks acceptance in eta, vs trigger eta-phi
299 TH2F * fhFractionClusterOutConeEta; //! Fraction of cone out of clusters acceptance in eta
300 TH2F * fhFractionClusterOutConeEtaTrigEtaPhi; //! Fraction of cone out of clusters acceptance in eta, vs trigger eta-phi
301 TH2F * fhFractionClusterOutConePhi; //! Fraction of cone out of clusters acceptance in phi
302 TH2F * fhFractionClusterOutConePhiTrigEtaPhi; //! Fraction of cone out of clusters acceptance in phi, vs trigger eta-phi
1a31a9ab 303
9b01dc66 304 TH2F * fhFractionCellOutConeEta; //! Fraction of cone out of cells acceptance in eta
305 TH2F * fhFractionCellOutConeEtaTrigEtaPhi; //! Fraction of cone out of cells acceptance in eta, vs trigger eta-phi
306 TH2F * fhFractionCellOutConePhi; //! Fraction of cone out of cells acceptance in phi
307 TH2F * fhFractionCellOutConePhiTrigEtaPhi; //! Fraction of cone out of cells acceptance in phi, vs trigger eta-phi
308
814d1087 309 TH2F * fhConeSumPtClustervsTrack ; //! Cluster vs tracks Sum Pt Sum Pt in the cone
dc1966bb 310 TH2F * fhConeSumPtClusterTrackFrac ; //! Cluster / tracks Sum Pt Sum Pt in the cone
814d1087 311 TH2F * fhConeSumPtEtaUESubClustervsTrack ; //! Cluster vs tracks Sum Pt Sum Pt in the cone, after subtraction in eta band
312 TH2F * fhConeSumPtPhiUESubClustervsTrack ; //! Cluster vs tracks Sum Pt Sum Pt in the cone, after subtraction in phi band
9b01dc66 313 TH2F * fhConeSumPtCellvsTrack; //! Cell vs tracks Sum Pt Sum Pt in the cone
314 TH2F * fhConeSumPtEtaUESubCellvsTrack ; //! Cell vs tracks Sum Pt Sum Pt in the cone, after subtraction in eta band
315 TH2F * fhConeSumPtPhiUESubCellvsTrack ; //! Cell vs tracks Sum Pt Sum Pt in the cone, after subtraction in phi band
316
814d1087 317 TH2F * fhEtaBandClustervsTrack ; //! Accumulated pT in Eta band to estimate UE in cone, clusters vs tracks
318 TH2F * fhPhiBandClustervsTrack ; //! Accumulated pT in Phi band to estimate UE in cone, clusters vs tracks
319 TH2F * fhEtaBandNormClustervsTrack ; //! Accumulated pT in Eta band to estimate UE in cone, normalized to cone size, clusters vs tracks
320 TH2F * fhPhiBandNormClustervsTrack ; //! Accumulated pT in Phi band to estimate UE in cone, normalized to cone size, clusters vs tracks
b5d10017 321 TH2F * fhEtaBandCellvsTrack ; //! Accumulated pT in Eta band to estimate UE in cone, cells vs tracks
322 TH2F * fhPhiBandCellvsTrack ; //! Accumulated pT in Phi band to estimate UE in cone, cells vs tracks
323 TH2F * fhEtaBandNormCellvsTrack ; //! Accumulated pT cell in Eta band to estimate UE in cone, normalized to cone size, clusters vs tracks
324 TH2F * fhPhiBandNormCellvsTrack ; //! Accumulated pT cell in Phi band to estimate UE in cone, normalized to cone
325
32d244b0 326 TH2F * fhConeSumPtSubvsConeSumPtTotPhiTrack; //! Tracks, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
327 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
328 TH2F * fhConeSumPtSubvsConeSumPtTotEtaTrack; //! Tracks, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
329 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
330 TH2F * fhConeSumPtSubvsConeSumPtTotPhiCluster; //! Clusters, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
b5d10017 331 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
32d244b0 332 TH2F * fhConeSumPtSubvsConeSumPtTotEtaCluster; //! Clusters, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
b5d10017 333 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
32d244b0 334 TH2F * fhConeSumPtSubvsConeSumPtTotPhiCell; //! Cells, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
335 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
336 TH2F * fhConeSumPtSubvsConeSumPtTotEtaCell; //! Cells, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
337 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
338 TH2F * fhConeSumPtVSUETracksEtaBand; //! fhConeSumPtVSUETracksEtaBand
339 TH2F * fhConeSumPtVSUETracksPhiBand; //! fhConeSumPtVSUETracksPhiBand
340 TH2F * fhConeSumPtVSUEClusterEtaBand; //! fhConeSumPtVSUEClusterEtaBand
341 TH2F * fhConeSumPtVSUEClusterPhiBand; //! fhConeSumPtVSUEClusterPhiBand
814d1087 342
1a31a9ab 343 //MC
124bffb3 344 //
d24561b6 345 TH2F * fhEtaPrimMC [fgkNmcPrimTypes]; //! Pt vs Eta of generated photon
346 TH2F * fhPhiPrimMC [fgkNmcPrimTypes]; //! Pt vs Phi of generated photon
347 TH1F * fhEPrimMC [fgkNmcPrimTypes]; //! Number of generated photon vs E
348 TH1F * fhPtPrimMC [fgkNmcPrimTypes]; //! Number of generated photon vs pT
349 TH1F * fhPtPrimMCiso[fgkNmcPrimTypes]; //! Number of generated isolated photon vs pT
350
351 TH1F * fhPtPrimMCPi0DecayPairOutOfCone; //! Pi0 decay photons, with decay pair out of isolation cone
352 TH1F * fhPtPrimMCPi0DecayPairOutOfAcceptance; //! Pi0 decay photons, with decay pair out of detector acceptance
9ecbb69a 353 TH1F * fhPtPrimMCPi0DecayPairOutOfAcceptanceNoOverlap; //! Pi0 decay photons, with decay pair out of detector acceptance
d24561b6 354 TH1F * fhPtPrimMCPi0DecayPairAcceptInConeLowPt;//! Pi0 decay photons, with decay pair in cone and acceptance and lower pT than threshold
355 TH1F * fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlap; //! Pi0 decay photons, with decay pair in cone and acceptance and lower pT than threshold, and do not overlap
e79b1086 356 TH1F * fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlapCaloE; //! Pi0 decay photons, with decay pair in cone and acceptance and lower pT than threshold, and larger than detector threshold, and do not overlap
d24561b6 357 TH1F * fhPtPrimMCPi0DecayPairNoOverlap; //! Pi0 decay photons, not overlapped decay
358
359 TH1F * fhPtPrimMCPi0DecayIsoPairOutOfCone; //! Pi0 decay photons, with decay pair out of isolation cone, isolated
360 TH1F * fhPtPrimMCPi0DecayIsoPairOutOfAcceptance; //! Pi0 decay photons, with decay pair out of detector acceptance, isolated
9ecbb69a 361 TH1F * fhPtPrimMCPi0DecayIsoPairOutOfAcceptanceNoOverlap; //! Pi0 decay photons, with decay pair out of detector acceptance, isolated
d24561b6 362 TH1F * fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPt;//! Pi0 decay photons, with decay pair in cone and acceptance and lower pT than threshold, isolated
363 TH1F * fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlap; //! Pi0 decay photons, with decay pair in cone and acceptance and lower pT than threshold, and do not overlap, isolated
e79b1086 364 TH1F * fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlapCaloE; //! Pi0 decay photons, with decay pair in cone and acceptance and lower pT than threshold, and larger than detector threshold, and do not overlap, isolated
7eedb724 365 TH1F * fhPtPrimMCPi0DecayIsoPairNoOverlap; //! Pi0 decay photons isolated, not overlapped decay
d24561b6 366
9cfeb6de 367 TH1F * fhPtPrimMCPi0Overlap; //! Pi0 with overlapped decay photons
368 TH1F * fhPtPrimMCPi0IsoOverlap; //! Pi0 isolated with overlapped decay photons
369
370
d24561b6 371 TH1F * fhPtNoIsoMC [fgkNmcTypes]; //! Number of not isolated mcTypes particle
372 TH1F * fhPtIsoMC [fgkNmcTypes]; //! Number of isolated mcTypes particle
373 TH2F * fhPhiIsoMC [fgkNmcTypes]; //! Phi of isolated mcTypes particle
374 TH2F * fhEtaIsoMC [fgkNmcTypes]; //! eta of isolated mcTypes particle
375
376 TH1F * fhPtDecayIsoMC [4][fgkNmcTypes] ; //! Number of isolated Pi0 decay particles (invariant mass tag) for a mcTypes particle
377 TH1F * fhPtDecayNoIsoMC[4][fgkNmcTypes] ; //! Number of not isolated Pi0 decay particles (invariant mass tag) for a mcTypes particle
378
379 TH2F * fhPtLambda0MC [fgkNmcTypes][2]; //! Shower shape of (non) isolated candidates originated by mcTypes particle (do not apply SS cut previously)
f5b702a0 380
381 // Multiple cut analysis
ca134929 382 TH2F * fhSumPtLeadingPt[5] ; //! Sum Pt in the cone
383 TH2F * fhPtLeadingPt[5] ; //! Particle Pt in the cone
23130491 384 TH2F * fhPerpSumPtLeadingPt[5] ; //! Sum Pt in the cone at the perpendicular phi region to trigger axis (phi +90)
385 TH2F * fhPerpPtLeadingPt[5]; //! Sum Pt in the cone at the perpendicular phi region to trigger axis (phi +90)
44e48e82 386
ca134929 387 TH1F * fhPtThresIsolated[5][5] ; //! Isolated particle with pt threshold
db6fb352 388 TH1F * fhPtFracIsolated[5][5] ; //! Isolated particle with pt threshold frac
f5b702a0 389 TH1F * fhSumPtIsolated[5][5] ; //! Isolated particle with threshold on cone pt sum
db6fb352 390
391 TH2F * fhEtaPhiPtThresIso[5][5] ; //! eta vs phi of isolated particles with pt threshold
8913c8c4 392 TH2F * fhEtaPhiPtThresDecayIso[5][5] ; //! eta vs phi of isolated particles with pt threshold, only for decay bit fDecayBits[0]
393 TH1F * fhPtPtThresDecayIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt threshold,, only for decay bit fDecayBits[0]
db6fb352 394
395 TH2F * fhEtaPhiPtFracIso[5][5] ; //! eta vs phi of isolated particles with pt frac
8913c8c4 396 TH2F * fhEtaPhiPtFracDecayIso[5][5] ; //! eta vs phi of isolated particles with pt frac,, only for decay bit fDecayBits[0]
397 TH1F * fhPtPtFracDecayIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt fra, only for decay bit fDecayBits[0]
b0a31c92 398
db6fb352 399 TH2F * fhEtaPhiPtSumIso[5][5] ; //! eta vs phi of isolated particles with pt sum
8913c8c4 400 TH2F * fhEtaPhiPtSumDecayIso[5][5] ; //! eta vs phi of isolated particles with pt sum,, only for decay bit fDecayBits[0]
401 TH1F * fhPtPtSumDecayIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt sum, only for decay bit fDecayBits[0]
db6fb352 402
e2c74e5d 403 TH2F * fhEtaPhiSumDensityIso[5][5]; //! Isolated particle with threshold on cone sum density
8913c8c4 404 TH2F * fhEtaPhiSumDensityDecayIso[5][5]; //! Isolated particle with threshold on cone sum density, only for decay bit fDecayBits[0]
db6fb352 405 TH1F * fhPtSumDensityIso[5][5]; //! Isolated particle with threshold on cone sum density
8913c8c4 406 TH1F * fhPtSumDensityDecayIso[5][5]; //! Isolated decay particle with threshold on cone sum density, only for decay bit fDecayBits[0]
db6fb352 407
e2c74e5d 408 TH1F * fhPtFracPtSumIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt sum
8913c8c4 409 TH1F * fhPtFracPtSumDecayIso[5][5] ; //! Number of isolated Pi0 decay particles (invariant mass tag) with pt sum, only for decay bit fDecayBits[0]
e2c74e5d 410 TH2F * fhEtaPhiFracPtSumIso[5][5]; //! Isolated particle with threshold on cone sum density
8913c8c4 411 TH2F * fhEtaPhiFracPtSumDecayIso[5][5]; //! Isolated particle with threshold on cone sum density, only for decay bit fDecayBits[0]
b0a31c92 412
f5b702a0 413 // Multiple cut MC
d24561b6 414 TH1F * fhPtThresIsolatedMC[fgkNmcTypes][5][5];//! Isolated mcTypes particle with pt threshold
415 TH1F * fhPtFracIsolatedMC [fgkNmcTypes][5][5];//! Isolated mcTypes particle with pt frac
416 TH1F * fhSumPtIsolatedMC [fgkNmcTypes][5][5];//! Isolated mcTypes particle with threshold on cone pt sum
417 TH2F * fhSumPtLeadingPtMC [fgkNmcTypes][5]; //! mcTypes particle for sum Pt, different cone
f5b702a0 418
09273901 419 // Track matching studies
b7ce43b4 420 TH2F * fhTrackMatchedDEta[2] ; //! Eta distance between track and cluster vs cluster E
421 TH2F * fhTrackMatchedDPhi[2] ; //! Phi distance between track and cluster vs cluster E
422 TH2F * fhTrackMatchedDEtaDPhi[2] ; //! Eta vs Phi distance between track and cluster, E cluster > 0.5 GeV
423 TH2F * fhdEdx[2] ; //! matched track dEdx vs cluster E
424 TH2F * fhEOverP[2]; //! matched track E cluster over P track vs cluster E, after dEdx cut
425 TH2F * fhTrackMatchedMCParticle[2]; //! Trace origin of matched particle
31ae6d59 426
09273901 427 // Shower Shape histograms
32d244b0 428 TH2F * fhELambda0[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously)
429 TH2F * fhPtLambda0[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously)
b7ce43b4 430 TH2F * fhELambda1[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously)
431 TH2F * fhELambda0TRD[2]; //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously)
32d244b0 432 TH2F * fhPtLambda0TRD[2]; //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously)
b7ce43b4 433 TH2F * fhELambda1TRD[2]; //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously)
764ab1f4 434
dc1966bb 435 TH2F ** fhPtLeadConeBinLambda0 ; //![fNBkgBin] Candidate shower shape distribution depending on bin of cone leading particle
436 TH2F ** fhSumPtConeBinLambda0 ; //![fNBkgBin] Candidate shower shape distribution depending on bin of cone sum pt
d24561b6 437 TH2F ** fhPtLeadConeBinLambda0MC ; //![fNBkgBin*fgkNmcTypes] Candidate shower shape distribution depending on bin of cone leading particle, per MC particle
438 TH2F ** fhSumPtConeBinLambda0MC ; //![fNBkgBin*fgkNmcTypes] Candidate shower shape distribution depending on bin of cone sum pt, per MC particle
dc1966bb 439
5c46c992 440 // Local maxima
b7ce43b4 441 TH2F * fhNLocMax[2]; //! number of maxima in selected clusters
442 TH2F * fhELambda0LocMax1[2] ; //! E vs lambda0 of selected cluster, 1 local maxima in cluster
443 TH2F * fhELambda1LocMax1[2] ; //! E vs lambda1 of selected cluster, 1 local maxima in cluster
444 TH2F * fhELambda0LocMax2[2] ; //! E vs lambda0 of selected cluster, 2 local maxima in cluster
445 TH2F * fhELambda1LocMax2[2] ; //! E vs lambda1 of selected cluster, 2 local maxima in cluster
446 TH2F * fhELambda0LocMaxN[2] ; //! E vs lambda0 of selected cluster, N>2 local maxima in cluster
447 TH2F * fhELambda1LocMaxN[2] ; //! E vs lambda1 of selected cluster, N>2 local maxima in cluster
5c46c992 448
2ad19c3d 449 // Pile-up
8958866f 450 TH1F * fhEIsoPileUp[7] ; //! Number of isolated particles
451 TH1F * fhPtIsoPileUp[7] ; //! Number of isolated particles
452 TH1F * fhENoIsoPileUp[7] ; //! Number of not isolated particles
453 TH1F * fhPtNoIsoPileUp[7] ; //! Number of not isolated particles
2ad19c3d 454 TH2F * fhTimeENoCut; //! time of cluster vs E, no cut
455 TH2F * fhTimeESPD; //! time of cluster vs E, IsSPDPileUp
456 TH2F * fhTimeESPDMulti; //! time of cluster vs E, IsSPDPileUpMulti
457 TH2F * fhTimeNPileUpVertSPD; //! time of cluster vs n pile-up vertices from SPD
458 TH2F * fhTimeNPileUpVertTrack; //! time of cluster vs n pile-up vertices from Tracks
459 TH2F * fhTimeNPileUpVertContributors; //! time of cluster vs n pile-up vertex from SPD contributors
460 TH2F * fhTimePileUpMainVertexZDistance; //! time of cluster vs difference of z main vertex and pile-up vertex
461 TH2F * fhTimePileUpMainVertexZDiamond; //! time of cluster vs difference of z diamond and pile-up vertex
462
09273901 463 AliAnaParticleIsolation( const AliAnaParticleIsolation & iso) ; // cpy ctor
464 AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & iso) ; // cpy assignment
c5693f62 465
2ff4efcd 466 ClassDef(AliAnaParticleIsolation,29)
1a31a9ab 467} ;
468
469
470#endif //ALIANAPARTICLEISOLATION_H
471
472
473