]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.h
AliAnaInsideClusterInvariantMass : Improved calculation of splitted clusters position...
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / AliAnaParticleIsolation.h
CommitLineData
1a31a9ab 1#ifndef ALIANAPARTICLEISOLATION_H
2#define ALIANAPARTICLEISOLATION_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
1a31a9ab 5
6//_________________________________________________________________________
7
8// Class for the analysis of particle isolation
9// Input is selected particles put in AOD branch (AliAODPWG4ParticleCorrelation)
10//
11// Class created from old AliPHOSGammaJet
12// (see AliRoot versions previous Release 4-09)
13
14//-- Author: Gustavo Conesa (INFN-LNF)
15
16// --- ROOT system ---
17class TH2F;
18class TList ;
19class TObjString;
20
21// --- ANALYSIS system ---
745913ae 22#include "AliAnaCaloTrackCorrBaseClass.h"
1a31a9ab 23class AliAODPWG4Particle;
24class AliAODPWG4ParticleCorrelation ;
25
26
745913ae 27class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass {
1a31a9ab 28
29 public:
30 AliAnaParticleIsolation() ; // default ctor
803d06a8 31 virtual ~AliAnaParticleIsolation() { ; } //virtual dtor
1a31a9ab 32
1a31a9ab 33 // Main general methods
803d06a8 34
1a31a9ab 35
b5dbb99b 36 TObjString * GetAnalysisCuts() ;
1a31a9ab 37
b5dbb99b 38 TList * GetCreateOutputObjects() ;
39
40 void InitParameters() ;
803d06a8 41
1a31a9ab 42 void MakeAnalysisFillAOD() ;
43
44 void MakeAnalysisFillHistograms() ;
45
b5dbb99b 46 void Print( const Option_t * opt ) const ;
1a31a9ab 47
1a31a9ab 48 //Analysis specific methods
b5dbb99b 49
5c46c992 50 void FillTrackMatchingShowerShapeControlHistograms(const Int_t clusterID,
51 const Int_t nLocMax,
52 const Int_t mcTag ) ;
b5dbb99b 53
54 void MakeSeveralICAnalysis( AliAODPWG4ParticleCorrelation * ph ) ;
1a31a9ab 55
1a31a9ab 56 // Analysis Setters and Getters
57
b5dbb99b 58 TString GetCalorimeter() const { return fCalorimeter ; }
59 Int_t GetNCones() const { return fNCones ; }
60 Int_t GetNPtThresFrac() const { return fNPtThresFrac ; }
61 Float_t GetConeSizes(Int_t i) const { return fConeSizes[i] ; }
62 Float_t GetPtThresholds(Int_t i) const { return fPtThresholds[i] ; }
63 Float_t GetPtFractions(Int_t i) const { return fPtFractions[i] ; }
1a31a9ab 64
b5dbb99b 65 void SetCalorimeter(TString & det) { fCalorimeter = det ; }
66 void SetNCones(Int_t ncs) { fNCones = ncs ; }
67 void SetNPtThresFrac(Int_t npt) { fNPtThresFrac = npt ; }
68 void SetConeSizes(Int_t i, Float_t r) { fConeSizes[i] = r ; }
69 void SetPtThresholds(Int_t i, Float_t pt) { fPtThresholds[i] = pt ; }
70 void SetPtFractions(Int_t i, Float_t pt) { fPtFractions[i] = pt ; }
1a31a9ab 71
b5dbb99b 72 Bool_t IsReIsolationOn() const { return fReMakeIC ; }
73 void SwitchOnReIsolation() { fReMakeIC = kTRUE ; }
74 void SwitchOffReIsolation() { fReMakeIC = kFALSE ; }
1a31a9ab 75
b5dbb99b 76 Bool_t IsSeveralIsolationOn() const { return fMakeSeveralIC ; }
77 void SwitchOnSeveralIsolation() { fMakeSeveralIC = kTRUE ; }
78 void SwitchOffSeveralIsolation() { fMakeSeveralIC = kFALSE ; }
09273901 79
b5dbb99b 80 void SwitchOnTMHistoFill() { fFillTMHisto = kTRUE ; }
81 void SwitchOffTMHistoFill() { fFillTMHisto = kFALSE ; }
09273901 82
b5dbb99b 83 void SwitchOnSSHistoFill() { fFillSSHisto = kTRUE ; }
84 void SwitchOffSSHistoFill() { fFillSSHisto = kFALSE ; }
09273901 85
1a31a9ab 86 //Histogrammes setters and getters
87
b5dbb99b 88 void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n) {
89 fHistoNPtSumBins = n ; fHistoPtSumMax = max ; fHistoPtSumMin = min ; }
1a31a9ab 90
b5dbb99b 91 Int_t GetHistoNPtSumBins() const { return fHistoNPtSumBins ; }
92 Float_t GetHistoPtSumMin() const { return fHistoPtSumMin ; }
93 Float_t GetHistoPtSumMax() const { return fHistoPtSumMax ; }
1a31a9ab 94
b5dbb99b 95 void SetHistoPtInConeRangeAndNBins(Float_t min, Float_t max, Int_t n) {
96 fHistoNPtInConeBins = n ; fHistoPtInConeMax = max ; fHistoPtInConeMin = min ; }
1a31a9ab 97
b5dbb99b 98 Int_t GetHistoNPtInConeBins() const { return fHistoNPtInConeBins; }
99 Float_t GetHistoPtInConeMin() const { return fHistoPtInConeMin ; }
100 Float_t GetHistoPtInConeMax() const { return fHistoPtInConeMax ; }
1a31a9ab 101
102 private:
103
104 TString fCalorimeter ; // Calorimeter where neutral particles in cone for isolation are;
105 Bool_t fReMakeIC ; // Do isolation analysis
106 Bool_t fMakeSeveralIC ; // Do analysis for different IC
09273901 107 Bool_t fFillTMHisto; // Fill track matching plots
108 Bool_t fFillSSHisto; // Fill Shower shape plots
109
803d06a8 110 // Analysis data members for multiple cones and pt thresholds
111 Int_t fNCones ; //! Number of cone sizes to test
112 Int_t fNPtThresFrac ; //! Number of ptThres and ptFrac to test
113
114 Float_t fConeSizes[5] ; //! Array with cones to test
115 Float_t fPtThresholds[5] ; //! Array with pt thresholds to test
116 Float_t fPtFractions[5] ; //! Array with pt thresholds to test
117
118 TH1F* fhPtThresIsolated[5][5] ; //! Isolated particle with pt threshold
119 TH1F* fhPtFracIsolated[5][5] ; //! Isolated particle with pt threshold
120 TH2F* fhPtSumIsolated[5] ; //! Isolated particle with threshold on cone pt sum
1a31a9ab 121
122 //Histograms
123
0fb69ade 124 TH1F * fhEIso ; //! Number of isolated particles
1a31a9ab 125 TH1F * fhPtIso ; //! Number of isolated particles
126 TH2F * fhPhiIso ; //! Phi of isolated particles
127 TH2F * fhEtaIso ; //! eta of isolated particles
0fb69ade 128 TH2F * fhEtaPhiIso ; //! eta vs phi of isolated particles
1a31a9ab 129 TH1F * fhPtNoIso ; //! Number of not isolated leading particles
803d06a8 130 TH1F * fhPtDecayIso ; //! Number of isolated Pi0 decay particles (invariant mass tag)
131 TH1F * fhPtDecayNoIso ; //! Number of not isolated Pi0 decay leading particles (invariant mass tag)
1a31a9ab 132 TH2F * fhConeSumPt ; //! Sum Pt in the cone
133 TH2F * fhPtInCone ; //! Particle Pt in the cone
134 TH2F * fhFRConeSumPt ; //! Sum Pt in the forward region cone (phi +90)
135 TH2F * fhPtInFRCone ; //! Particle Pt in the forward region cone (phi +90 )
136
1a31a9ab 137
138 //MC
139 TH1F * fhPtIsoPrompt; //! Number of isolated prompt gamma
140 TH2F * fhPhiIsoPrompt; //! Phi of isolated prompt gamma
141 TH2F * fhEtaIsoPrompt; //! eta of isolated prompt gamma
142 TH1F * fhPtThresIsolatedPrompt[5][5]; //! Isolated prompt gamma with pt threshold
143 TH1F * fhPtFracIsolatedPrompt[5][5]; //! Isolated prompt gamma with pt frac
144 TH2F * fhPtSumIsolatedPrompt[5]; //! Isolated prompt gamma with threshold on cone pt sume
145 TH1F * fhPtIsoFragmentation; //! Number of isolated fragmentation gamma
146 TH2F * fhPhiIsoFragmentation; //! Phi of isolated fragmentation gamma
147 TH2F * fhEtaIsoFragmentation; //! eta of isolated fragmentation gamma
148 TH1F * fhPtThresIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt threshold
149 TH1F * fhPtFracIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt frac
150 TH2F * fhPtSumIsolatedFragmentation[5]; //! Isolated fragmentation gamma with threshold on cone pt sume
803d06a8 151 TH1F * fhPtIsoPi0Decay; //! Number of isolated pi0 decay gamma
152 TH2F * fhPhiIsoPi0Decay; //! Phi of isolated pi0 decay gamma
153 TH2F * fhEtaIsoPi0Decay; //! eta of isolated pi0 decay gamma
154 TH1F * fhPtThresIsolatedPi0Decay[5][5]; //! Isolated pi0 decay gamma with pt threshold
155 TH1F * fhPtFracIsolatedPi0Decay[5][5]; //! Isolated pi0 decay gamma with pt frac
156 TH2F * fhPtSumIsolatedPi0Decay[5]; //! Isolated pi0 decay gamma with threshold on cone pt sume
157 TH1F * fhPtIsoEtaDecay; //! Number of isolated eta decay gamma
158 TH2F * fhPhiIsoEtaDecay; //! Phi of isolated eta decay gamma
159 TH2F * fhEtaIsoEtaDecay; //! eta of isolated eta decay gamma
160 TH1F * fhPtThresIsolatedEtaDecay[5][5]; //! Isolated eta decay gamma with pt threshold
161 TH1F * fhPtFracIsolatedEtaDecay[5][5]; //! Isolated eta decay gamma with pt frac
162 TH2F * fhPtSumIsolatedEtaDecay[5]; //! Isolated eta fecay gamma with threshold on cone pt sume
163 TH1F * fhPtIsoOtherDecay; //! Number of isolated other decay gamma
164 TH2F * fhPhiIsoOtherDecay; //! Phi of isolated other decay gamma
165 TH2F * fhEtaIsoOtherDecay; //! eta of isolated other decay gamma
1a31a9ab 166 TH1F * fhPtThresIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt threshold
167 TH1F * fhPtFracIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt frac
168 TH2F * fhPtSumIsolatedOtherDecay[5]; //! Isolated OtherDecay gamma with threshold on cone pt sume
169 TH1F * fhPtIsoConversion; //! Number of isolated Conversion gamma
170 TH2F * fhPhiIsoConversion; //! Phi of isolated Conversion gamma
171 TH2F * fhEtaIsoConversion; //! eta of isolated Conversion gamma
172 TH1F * fhPtThresIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt threshold
173 TH1F * fhPtFracIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt frac
174 TH2F * fhPtSumIsolatedConversion[5]; //! Isolated Conversion gamma with threshold on cone pt sume
175 TH1F * fhPtIsoUnknown; //! Number of isolated Unknown
176 TH2F * fhPhiIsoUnknown; //! Phi of isolated Unknown
177 TH2F * fhEtaIsoUnknown; //! eta of isolated Unknown
178 TH1F * fhPtThresIsolatedUnknown[5][5]; //! Isolated Unknown gamma with pt threshold
179 TH1F * fhPtFracIsolatedUnknown[5][5]; //! Isolated Unknown gamma with pt frac
180 TH2F * fhPtSumIsolatedUnknown[5]; //! Isolated Unknown gamma with threshold on cone pt sume
181
803d06a8 182 TH1F * fhPtNoIsoPi0Decay; //! Number of not isolated leading pi0 decay gamma
183 TH1F * fhPtNoIsoEtaDecay; //! Number of not isolated leading eta decay gamma
184 TH1F * fhPtNoIsoOtherDecay; //! Number of not isolated leading other decay gamma
1a31a9ab 185 TH1F * fhPtNoIsoPrompt; //! Number of not isolated leading prompt gamma
186 TH1F * fhPtIsoMCPhoton; //! Number of isolated leading gamma
187 TH1F * fhPtNoIsoMCPhoton; //! Number of not isolated leading gamma
0fb69ade 188 TH1F * fhPtNoIsoConversion; //! Number of not isolated leading conversion gamma
189 TH1F * fhPtNoIsoFragmentation; //! Number of not isolated leading fragmentation gamma
190 TH1F * fhPtNoIsoUnknown; //! Number of not isolated leading hadrons
1a31a9ab 191
09273901 192 // Track matching studies
193 TH2F * fhTrackMatchedDEta ; //! Eta distance between track and cluster vs cluster E
194 TH2F * fhTrackMatchedDPhi ; //! Phi distance between track and cluster vs cluster E
195 TH2F * fhTrackMatchedDEtaDPhi ; //! Eta vs Phi distance between track and cluster, E cluster > 0.5 GeV
31ae6d59 196 TH2F * fhdEdx ; //! matched track dEdx vs cluster E
197 TH2F * fhEOverP; //! matched track E cluster over P track vs cluster E, after dEdx cut
198 TH2F * fhTrackMatchedMCParticle; //! Trace origin of matched particle
199
09273901 200 // Shower Shape histograms
201 TH2F * fhELambda0; //! Shower shape of isolated photons
202 TH2F * fhELambda1; //! Shower shape of isolated photons
b5dbb99b 203 TH2F * fhELambda0TRD; //! Shower shape of isolated photons, SM behind TRD
204 TH2F * fhELambda1TRD; //! Shower shape of isolated photons, SM behind TRD
205
5c46c992 206 // Local maxima
207 TH2F * fhNLocMax; //! number of maxima in selected clusters
208 TH2F * fhELambda0LocMax1 ; //! E vs lambda0 of selected cluster, 1 local maxima in cluster
209 TH2F * fhELambda1LocMax1 ; //! E vs lambda1 of selected cluster, 1 local maxima in cluster
210 TH2F * fhELambda0LocMax2 ; //! E vs lambda0 of selected cluster, 2 local maxima in cluster
211 TH2F * fhELambda1LocMax2 ; //! E vs lambda1 of selected cluster, 2 local maxima in cluster
212 TH2F * fhELambda0LocMaxN ; //! E vs lambda0 of selected cluster, N>2 local maxima in cluster
213 TH2F * fhELambda1LocMaxN ; //! E vs lambda1 of selected cluster, N>2 local maxima in cluster
214
1a31a9ab 215 //Histograms settings
216 Int_t fHistoNPtSumBins; // Number of bins in PtSum histograms
217 Float_t fHistoPtSumMax; // PtSum maximum in histogram
218 Float_t fHistoPtSumMin; // PtSum minimum in histogram
219 Int_t fHistoNPtInConeBins; // Number of bins in PtInCone histogram
220 Float_t fHistoPtInConeMax; // PtInCone maximum in histogram
221 Float_t fHistoPtInConeMin; // PtInCone maximum in histogram
31ae6d59 222
09273901 223 AliAnaParticleIsolation( const AliAnaParticleIsolation & iso) ; // cpy ctor
224 AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & iso) ; // cpy assignment
c5693f62 225
5c46c992 226 ClassDef(AliAnaParticleIsolation,10)
1a31a9ab 227} ;
228
229
230#endif //ALIANAPARTICLEISOLATION_H
231
232
233