]>
Commit | Line | Data |
---|---|---|
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 --- | |
17 | class TH2F; | |
18 | class TList ; | |
19 | class TObjString; | |
20 | ||
21 | // --- ANALYSIS system --- | |
745913ae | 22 | #include "AliAnaCaloTrackCorrBaseClass.h" |
1a31a9ab | 23 | class AliAODPWG4Particle; |
24 | class AliAODPWG4ParticleCorrelation ; | |
25 | ||
26 | ||
745913ae | 27 | class 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 |