]>
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 | |
5c46c992 | 52 | void FillTrackMatchingShowerShapeControlHistograms(const Int_t clusterID, |
53 | const Int_t nLocMax, | |
54 | const Int_t mcTag ) ; | |
b5dbb99b | 55 | |
56 | void MakeSeveralICAnalysis( AliAODPWG4ParticleCorrelation * ph ) ; | |
1a31a9ab | 57 | |
1a31a9ab | 58 | // Analysis Setters and Getters |
59 | ||
b5dbb99b | 60 | TString GetCalorimeter() const { return fCalorimeter ; } |
61 | Int_t GetNCones() const { return fNCones ; } | |
62 | Int_t GetNPtThresFrac() const { return fNPtThresFrac ; } | |
63 | Float_t GetConeSizes(Int_t i) const { return fConeSizes[i] ; } | |
64 | Float_t GetPtThresholds(Int_t i) const { return fPtThresholds[i] ; } | |
65 | Float_t GetPtFractions(Int_t i) const { return fPtFractions[i] ; } | |
1a31a9ab | 66 | |
b5dbb99b | 67 | void SetCalorimeter(TString & det) { fCalorimeter = det ; } |
68 | void SetNCones(Int_t ncs) { fNCones = ncs ; } | |
69 | void SetNPtThresFrac(Int_t npt) { fNPtThresFrac = npt ; } | |
70 | void SetConeSizes(Int_t i, Float_t r) { fConeSizes[i] = r ; } | |
71 | void SetPtThresholds(Int_t i, Float_t pt) { fPtThresholds[i] = pt ; } | |
72 | void SetPtFractions(Int_t i, Float_t pt) { fPtFractions[i] = pt ; } | |
1a31a9ab | 73 | |
b5dbb99b | 74 | Bool_t IsReIsolationOn() const { return fReMakeIC ; } |
75 | void SwitchOnReIsolation() { fReMakeIC = kTRUE ; } | |
76 | void SwitchOffReIsolation() { fReMakeIC = kFALSE ; } | |
1a31a9ab | 77 | |
b5dbb99b | 78 | Bool_t IsSeveralIsolationOn() const { return fMakeSeveralIC ; } |
79 | void SwitchOnSeveralIsolation() { fMakeSeveralIC = kTRUE ; } | |
80 | void SwitchOffSeveralIsolation() { fMakeSeveralIC = kFALSE ; } | |
09273901 | 81 | |
b5dbb99b | 82 | void SwitchOnTMHistoFill() { fFillTMHisto = kTRUE ; } |
83 | void SwitchOffTMHistoFill() { fFillTMHisto = kFALSE ; } | |
09273901 | 84 | |
b5dbb99b | 85 | void SwitchOnSSHistoFill() { fFillSSHisto = kTRUE ; } |
86 | void SwitchOffSSHistoFill() { fFillSSHisto = kFALSE ; } | |
09273901 | 87 | |
1a31a9ab | 88 | //Histogrammes setters and getters |
89 | ||
b5dbb99b | 90 | void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n) { |
91 | fHistoNPtSumBins = n ; fHistoPtSumMax = max ; fHistoPtSumMin = min ; } | |
1a31a9ab | 92 | |
b5dbb99b | 93 | Int_t GetHistoNPtSumBins() const { return fHistoNPtSumBins ; } |
94 | Float_t GetHistoPtSumMin() const { return fHistoPtSumMin ; } | |
95 | Float_t GetHistoPtSumMax() const { return fHistoPtSumMax ; } | |
1a31a9ab | 96 | |
b5dbb99b | 97 | void SetHistoPtInConeRangeAndNBins(Float_t min, Float_t max, Int_t n) { |
98 | fHistoNPtInConeBins = n ; fHistoPtInConeMax = max ; fHistoPtInConeMin = min ; } | |
1a31a9ab | 99 | |
b5dbb99b | 100 | Int_t GetHistoNPtInConeBins() const { return fHistoNPtInConeBins; } |
101 | Float_t GetHistoPtInConeMin() const { return fHistoPtInConeMin ; } | |
102 | Float_t GetHistoPtInConeMax() const { return fHistoPtInConeMax ; } | |
1a31a9ab | 103 | |
104 | private: | |
105 | ||
106 | TString fCalorimeter ; // Calorimeter where neutral particles in cone for isolation are; | |
107 | Bool_t fReMakeIC ; // Do isolation analysis | |
108 | Bool_t fMakeSeveralIC ; // Do analysis for different IC | |
09273901 | 109 | Bool_t fFillTMHisto; // Fill track matching plots |
110 | Bool_t fFillSSHisto; // Fill Shower shape plots | |
111 | ||
803d06a8 | 112 | // Analysis data members for multiple cones and pt thresholds |
113 | Int_t fNCones ; //! Number of cone sizes to test | |
114 | Int_t fNPtThresFrac ; //! Number of ptThres and ptFrac to test | |
115 | ||
116 | Float_t fConeSizes[5] ; //! Array with cones to test | |
117 | Float_t fPtThresholds[5] ; //! Array with pt thresholds to test | |
118 | Float_t fPtFractions[5] ; //! Array with pt thresholds to test | |
119 | ||
120 | TH1F* fhPtThresIsolated[5][5] ; //! Isolated particle with pt threshold | |
121 | TH1F* fhPtFracIsolated[5][5] ; //! Isolated particle with pt threshold | |
122 | TH2F* fhPtSumIsolated[5] ; //! Isolated particle with threshold on cone pt sum | |
1a31a9ab | 123 | |
124 | //Histograms | |
125 | ||
0fb69ade | 126 | TH1F * fhEIso ; //! Number of isolated particles |
1a31a9ab | 127 | TH1F * fhPtIso ; //! Number of isolated particles |
128 | TH2F * fhPhiIso ; //! Phi of isolated particles | |
129 | TH2F * fhEtaIso ; //! eta of isolated particles | |
0fb69ade | 130 | TH2F * fhEtaPhiIso ; //! eta vs phi of isolated particles |
1a31a9ab | 131 | TH1F * fhPtNoIso ; //! Number of not isolated leading particles |
803d06a8 | 132 | TH1F * fhPtDecayIso ; //! Number of isolated Pi0 decay particles (invariant mass tag) |
133 | TH1F * fhPtDecayNoIso ; //! Number of not isolated Pi0 decay leading particles (invariant mass tag) | |
1a31a9ab | 134 | TH2F * fhConeSumPt ; //! Sum Pt in the cone |
135 | TH2F * fhPtInCone ; //! Particle Pt in the cone | |
136 | TH2F * fhFRConeSumPt ; //! Sum Pt in the forward region cone (phi +90) | |
137 | TH2F * fhPtInFRCone ; //! Particle Pt in the forward region cone (phi +90 ) | |
138 | ||
1a31a9ab | 139 | |
140 | //MC | |
141 | TH1F * fhPtIsoPrompt; //! Number of isolated prompt gamma | |
142 | TH2F * fhPhiIsoPrompt; //! Phi of isolated prompt gamma | |
143 | TH2F * fhEtaIsoPrompt; //! eta of isolated prompt gamma | |
144 | TH1F * fhPtThresIsolatedPrompt[5][5]; //! Isolated prompt gamma with pt threshold | |
145 | TH1F * fhPtFracIsolatedPrompt[5][5]; //! Isolated prompt gamma with pt frac | |
146 | TH2F * fhPtSumIsolatedPrompt[5]; //! Isolated prompt gamma with threshold on cone pt sume | |
147 | TH1F * fhPtIsoFragmentation; //! Number of isolated fragmentation gamma | |
148 | TH2F * fhPhiIsoFragmentation; //! Phi of isolated fragmentation gamma | |
149 | TH2F * fhEtaIsoFragmentation; //! eta of isolated fragmentation gamma | |
150 | TH1F * fhPtThresIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt threshold | |
151 | TH1F * fhPtFracIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt frac | |
152 | TH2F * fhPtSumIsolatedFragmentation[5]; //! Isolated fragmentation gamma with threshold on cone pt sume | |
803d06a8 | 153 | TH1F * fhPtIsoPi0Decay; //! Number of isolated pi0 decay gamma |
154 | TH2F * fhPhiIsoPi0Decay; //! Phi of isolated pi0 decay gamma | |
155 | TH2F * fhEtaIsoPi0Decay; //! eta of isolated pi0 decay gamma | |
156 | TH1F * fhPtThresIsolatedPi0Decay[5][5]; //! Isolated pi0 decay gamma with pt threshold | |
157 | TH1F * fhPtFracIsolatedPi0Decay[5][5]; //! Isolated pi0 decay gamma with pt frac | |
158 | TH2F * fhPtSumIsolatedPi0Decay[5]; //! Isolated pi0 decay gamma with threshold on cone pt sume | |
159 | TH1F * fhPtIsoEtaDecay; //! Number of isolated eta decay gamma | |
160 | TH2F * fhPhiIsoEtaDecay; //! Phi of isolated eta decay gamma | |
161 | TH2F * fhEtaIsoEtaDecay; //! eta of isolated eta decay gamma | |
162 | TH1F * fhPtThresIsolatedEtaDecay[5][5]; //! Isolated eta decay gamma with pt threshold | |
163 | TH1F * fhPtFracIsolatedEtaDecay[5][5]; //! Isolated eta decay gamma with pt frac | |
164 | TH2F * fhPtSumIsolatedEtaDecay[5]; //! Isolated eta fecay gamma with threshold on cone pt sume | |
165 | TH1F * fhPtIsoOtherDecay; //! Number of isolated other decay gamma | |
166 | TH2F * fhPhiIsoOtherDecay; //! Phi of isolated other decay gamma | |
167 | TH2F * fhEtaIsoOtherDecay; //! eta of isolated other decay gamma | |
1a31a9ab | 168 | TH1F * fhPtThresIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt threshold |
169 | TH1F * fhPtFracIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt frac | |
170 | TH2F * fhPtSumIsolatedOtherDecay[5]; //! Isolated OtherDecay gamma with threshold on cone pt sume | |
171 | TH1F * fhPtIsoConversion; //! Number of isolated Conversion gamma | |
172 | TH2F * fhPhiIsoConversion; //! Phi of isolated Conversion gamma | |
173 | TH2F * fhEtaIsoConversion; //! eta of isolated Conversion gamma | |
174 | TH1F * fhPtThresIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt threshold | |
175 | TH1F * fhPtFracIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt frac | |
176 | TH2F * fhPtSumIsolatedConversion[5]; //! Isolated Conversion gamma with threshold on cone pt sume | |
177 | TH1F * fhPtIsoUnknown; //! Number of isolated Unknown | |
178 | TH2F * fhPhiIsoUnknown; //! Phi of isolated Unknown | |
179 | TH2F * fhEtaIsoUnknown; //! eta of isolated Unknown | |
180 | TH1F * fhPtThresIsolatedUnknown[5][5]; //! Isolated Unknown gamma with pt threshold | |
181 | TH1F * fhPtFracIsolatedUnknown[5][5]; //! Isolated Unknown gamma with pt frac | |
182 | TH2F * fhPtSumIsolatedUnknown[5]; //! Isolated Unknown gamma with threshold on cone pt sume | |
183 | ||
803d06a8 | 184 | TH1F * fhPtNoIsoPi0Decay; //! Number of not isolated leading pi0 decay gamma |
185 | TH1F * fhPtNoIsoEtaDecay; //! Number of not isolated leading eta decay gamma | |
186 | TH1F * fhPtNoIsoOtherDecay; //! Number of not isolated leading other decay gamma | |
1a31a9ab | 187 | TH1F * fhPtNoIsoPrompt; //! Number of not isolated leading prompt gamma |
188 | TH1F * fhPtIsoMCPhoton; //! Number of isolated leading gamma | |
189 | TH1F * fhPtNoIsoMCPhoton; //! Number of not isolated leading gamma | |
0fb69ade | 190 | TH1F * fhPtNoIsoConversion; //! Number of not isolated leading conversion gamma |
191 | TH1F * fhPtNoIsoFragmentation; //! Number of not isolated leading fragmentation gamma | |
192 | TH1F * fhPtNoIsoUnknown; //! Number of not isolated leading hadrons | |
1a31a9ab | 193 | |
09273901 | 194 | // Track matching studies |
195 | TH2F * fhTrackMatchedDEta ; //! Eta distance between track and cluster vs cluster E | |
196 | TH2F * fhTrackMatchedDPhi ; //! Phi distance between track and cluster vs cluster E | |
197 | TH2F * fhTrackMatchedDEtaDPhi ; //! Eta vs Phi distance between track and cluster, E cluster > 0.5 GeV | |
31ae6d59 | 198 | TH2F * fhdEdx ; //! matched track dEdx vs cluster E |
199 | TH2F * fhEOverP; //! matched track E cluster over P track vs cluster E, after dEdx cut | |
200 | TH2F * fhTrackMatchedMCParticle; //! Trace origin of matched particle | |
201 | ||
09273901 | 202 | // Shower Shape histograms |
203 | TH2F * fhELambda0; //! Shower shape of isolated photons | |
204 | TH2F * fhELambda1; //! Shower shape of isolated photons | |
b5dbb99b | 205 | TH2F * fhELambda0TRD; //! Shower shape of isolated photons, SM behind TRD |
206 | TH2F * fhELambda1TRD; //! Shower shape of isolated photons, SM behind TRD | |
207 | ||
5c46c992 | 208 | // Local maxima |
209 | TH2F * fhNLocMax; //! number of maxima in selected clusters | |
210 | TH2F * fhELambda0LocMax1 ; //! E vs lambda0 of selected cluster, 1 local maxima in cluster | |
211 | TH2F * fhELambda1LocMax1 ; //! E vs lambda1 of selected cluster, 1 local maxima in cluster | |
212 | TH2F * fhELambda0LocMax2 ; //! E vs lambda0 of selected cluster, 2 local maxima in cluster | |
213 | TH2F * fhELambda1LocMax2 ; //! E vs lambda1 of selected cluster, 2 local maxima in cluster | |
214 | TH2F * fhELambda0LocMaxN ; //! E vs lambda0 of selected cluster, N>2 local maxima in cluster | |
215 | TH2F * fhELambda1LocMaxN ; //! E vs lambda1 of selected cluster, N>2 local maxima in cluster | |
216 | ||
1a31a9ab | 217 | //Histograms settings |
218 | Int_t fHistoNPtSumBins; // Number of bins in PtSum histograms | |
219 | Float_t fHistoPtSumMax; // PtSum maximum in histogram | |
220 | Float_t fHistoPtSumMin; // PtSum minimum in histogram | |
221 | Int_t fHistoNPtInConeBins; // Number of bins in PtInCone histogram | |
222 | Float_t fHistoPtInConeMax; // PtInCone maximum in histogram | |
223 | Float_t fHistoPtInConeMin; // PtInCone maximum in histogram | |
31ae6d59 | 224 | |
09273901 | 225 | AliAnaParticleIsolation( const AliAnaParticleIsolation & iso) ; // cpy ctor |
226 | AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & iso) ; // cpy assignment | |
c5693f62 | 227 | |
03bae431 | 228 | ClassDef(AliAnaParticleIsolation,11) |
1a31a9ab | 229 | } ; |
230 | ||
231 | ||
232 | #endif //ALIANAPARTICLEISOLATION_H | |
233 | ||
234 | ||
235 |