]>
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 | TObjString * GetAnalysisCuts(); |
36 | ||
37 | TList * GetCreateOutputObjects(); | |
38 | ||
803d06a8 | 39 | void InitParameters(); |
40 | ||
1a31a9ab | 41 | void MakeAnalysisFillAOD() ; |
42 | ||
43 | void MakeAnalysisFillHistograms() ; | |
44 | ||
45 | void Print(const Option_t * opt)const; | |
46 | ||
1a31a9ab | 47 | //Analysis specific methods |
803d06a8 | 48 | |
1a31a9ab | 49 | void MakeSeveralICAnalysis(AliAODPWG4ParticleCorrelation * ph); |
50 | ||
1a31a9ab | 51 | // Analysis Setters and Getters |
52 | ||
53 | TString GetCalorimeter() const { return fCalorimeter ; } | |
54 | Int_t GetNCones() const { return fNCones ; } | |
55 | Int_t GetNPtThresFrac() const { return fNPtThresFrac ; } | |
56 | Float_t GetConeSizes(Int_t i) const { return fConeSizes[i] ; } | |
57 | Float_t GetPtThresholds(Int_t i) const { return fPtThresholds[i] ; } | |
58 | Float_t GetPtFractions(Int_t i) const { return fPtFractions[i] ; } | |
59 | ||
803d06a8 | 60 | void SetCalorimeter(TString & det) { fCalorimeter = det ; } |
61 | void SetNCones(Int_t ncs) { fNCones = ncs ; } | |
62 | void SetNPtThresFrac(Int_t npt) { fNPtThresFrac = npt ; } | |
63 | void SetConeSizes(Int_t i, Float_t r) { fConeSizes[i] = r ; } | |
64 | void SetPtThresholds(Int_t i, Float_t pt) { fPtThresholds[i] = pt ; } | |
65 | void SetPtFractions(Int_t i, Float_t pt) { fPtFractions[i] = pt ; } | |
1a31a9ab | 66 | |
67 | Bool_t IsReIsolationOn() const { return fReMakeIC ; } | |
68 | void SwitchOnReIsolation() { fReMakeIC = kTRUE ; } | |
69 | void SwitchOffReIsolation() { fReMakeIC = kFALSE ; } | |
70 | ||
71 | Bool_t IsSeveralIsolationOn() const { return fMakeSeveralIC ; } | |
72 | void SwitchOnSeveralIsolation() { fMakeSeveralIC = kTRUE ; } | |
73 | void SwitchOffSeveralIsolation() { fMakeSeveralIC = kFALSE ; } | |
803d06a8 | 74 | |
1a31a9ab | 75 | //Histogrammes setters and getters |
76 | ||
77 | virtual void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n){ | |
78 | fHistoNPtSumBins = n ; fHistoPtSumMax = max ; fHistoPtSumMin = min ; } | |
79 | ||
80 | Int_t GetHistoNPtSumBins() const { return fHistoNPtSumBins ; } | |
81 | Float_t GetHistoPtSumMin() const { return fHistoPtSumMin ; } | |
82 | Float_t GetHistoPtSumMax() const { return fHistoPtSumMax ; } | |
83 | ||
84 | virtual void SetHistoPtInConeRangeAndNBins(Float_t min, Float_t max, Int_t n) { | |
85 | fHistoNPtInConeBins = n ; fHistoPtInConeMax = max ; fHistoPtInConeMin = min ; } | |
86 | ||
803d06a8 | 87 | Int_t GetHistoNPtInConeBins() const { return fHistoNPtInConeBins; } |
88 | Float_t GetHistoPtInConeMin() const { return fHistoPtInConeMin ; } | |
89 | Float_t GetHistoPtInConeMax() const { return fHistoPtInConeMax ; } | |
1a31a9ab | 90 | |
91 | private: | |
92 | ||
93 | TString fCalorimeter ; // Calorimeter where neutral particles in cone for isolation are; | |
94 | Bool_t fReMakeIC ; // Do isolation analysis | |
95 | Bool_t fMakeSeveralIC ; // Do analysis for different IC | |
803d06a8 | 96 | |
97 | // Analysis data members for multiple cones and pt thresholds | |
98 | Int_t fNCones ; //! Number of cone sizes to test | |
99 | Int_t fNPtThresFrac ; //! Number of ptThres and ptFrac to test | |
100 | ||
101 | Float_t fConeSizes[5] ; //! Array with cones to test | |
102 | Float_t fPtThresholds[5] ; //! Array with pt thresholds to test | |
103 | Float_t fPtFractions[5] ; //! Array with pt thresholds to test | |
104 | ||
105 | TH1F* fhPtThresIsolated[5][5] ; //! Isolated particle with pt threshold | |
106 | TH1F* fhPtFracIsolated[5][5] ; //! Isolated particle with pt threshold | |
107 | TH2F* fhPtSumIsolated[5] ; //! Isolated particle with threshold on cone pt sum | |
1a31a9ab | 108 | |
109 | //Histograms | |
110 | ||
0fb69ade | 111 | TH1F * fhEIso ; //! Number of isolated particles |
1a31a9ab | 112 | TH1F * fhPtIso ; //! Number of isolated particles |
113 | TH2F * fhPhiIso ; //! Phi of isolated particles | |
114 | TH2F * fhEtaIso ; //! eta of isolated particles | |
0fb69ade | 115 | TH2F * fhEtaPhiIso ; //! eta vs phi of isolated particles |
1a31a9ab | 116 | TH1F * fhPtNoIso ; //! Number of not isolated leading particles |
803d06a8 | 117 | TH1F * fhPtDecayIso ; //! Number of isolated Pi0 decay particles (invariant mass tag) |
118 | TH1F * fhPtDecayNoIso ; //! Number of not isolated Pi0 decay leading particles (invariant mass tag) | |
1a31a9ab | 119 | TH2F * fhConeSumPt ; //! Sum Pt in the cone |
120 | TH2F * fhPtInCone ; //! Particle Pt in the cone | |
121 | TH2F * fhFRConeSumPt ; //! Sum Pt in the forward region cone (phi +90) | |
122 | TH2F * fhPtInFRCone ; //! Particle Pt in the forward region cone (phi +90 ) | |
123 | ||
1a31a9ab | 124 | |
125 | //MC | |
126 | TH1F * fhPtIsoPrompt; //! Number of isolated prompt gamma | |
127 | TH2F * fhPhiIsoPrompt; //! Phi of isolated prompt gamma | |
128 | TH2F * fhEtaIsoPrompt; //! eta of isolated prompt gamma | |
129 | TH1F * fhPtThresIsolatedPrompt[5][5]; //! Isolated prompt gamma with pt threshold | |
130 | TH1F * fhPtFracIsolatedPrompt[5][5]; //! Isolated prompt gamma with pt frac | |
131 | TH2F * fhPtSumIsolatedPrompt[5]; //! Isolated prompt gamma with threshold on cone pt sume | |
132 | TH1F * fhPtIsoFragmentation; //! Number of isolated fragmentation gamma | |
133 | TH2F * fhPhiIsoFragmentation; //! Phi of isolated fragmentation gamma | |
134 | TH2F * fhEtaIsoFragmentation; //! eta of isolated fragmentation gamma | |
135 | TH1F * fhPtThresIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt threshold | |
136 | TH1F * fhPtFracIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt frac | |
137 | TH2F * fhPtSumIsolatedFragmentation[5]; //! Isolated fragmentation gamma with threshold on cone pt sume | |
803d06a8 | 138 | TH1F * fhPtIsoPi0Decay; //! Number of isolated pi0 decay gamma |
139 | TH2F * fhPhiIsoPi0Decay; //! Phi of isolated pi0 decay gamma | |
140 | TH2F * fhEtaIsoPi0Decay; //! eta of isolated pi0 decay gamma | |
141 | TH1F * fhPtThresIsolatedPi0Decay[5][5]; //! Isolated pi0 decay gamma with pt threshold | |
142 | TH1F * fhPtFracIsolatedPi0Decay[5][5]; //! Isolated pi0 decay gamma with pt frac | |
143 | TH2F * fhPtSumIsolatedPi0Decay[5]; //! Isolated pi0 decay gamma with threshold on cone pt sume | |
144 | TH1F * fhPtIsoEtaDecay; //! Number of isolated eta decay gamma | |
145 | TH2F * fhPhiIsoEtaDecay; //! Phi of isolated eta decay gamma | |
146 | TH2F * fhEtaIsoEtaDecay; //! eta of isolated eta decay gamma | |
147 | TH1F * fhPtThresIsolatedEtaDecay[5][5]; //! Isolated eta decay gamma with pt threshold | |
148 | TH1F * fhPtFracIsolatedEtaDecay[5][5]; //! Isolated eta decay gamma with pt frac | |
149 | TH2F * fhPtSumIsolatedEtaDecay[5]; //! Isolated eta fecay gamma with threshold on cone pt sume | |
150 | TH1F * fhPtIsoOtherDecay; //! Number of isolated other decay gamma | |
151 | TH2F * fhPhiIsoOtherDecay; //! Phi of isolated other decay gamma | |
152 | TH2F * fhEtaIsoOtherDecay; //! eta of isolated other decay gamma | |
1a31a9ab | 153 | TH1F * fhPtThresIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt threshold |
154 | TH1F * fhPtFracIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt frac | |
155 | TH2F * fhPtSumIsolatedOtherDecay[5]; //! Isolated OtherDecay gamma with threshold on cone pt sume | |
156 | TH1F * fhPtIsoConversion; //! Number of isolated Conversion gamma | |
157 | TH2F * fhPhiIsoConversion; //! Phi of isolated Conversion gamma | |
158 | TH2F * fhEtaIsoConversion; //! eta of isolated Conversion gamma | |
159 | TH1F * fhPtThresIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt threshold | |
160 | TH1F * fhPtFracIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt frac | |
161 | TH2F * fhPtSumIsolatedConversion[5]; //! Isolated Conversion gamma with threshold on cone pt sume | |
162 | TH1F * fhPtIsoUnknown; //! Number of isolated Unknown | |
163 | TH2F * fhPhiIsoUnknown; //! Phi of isolated Unknown | |
164 | TH2F * fhEtaIsoUnknown; //! eta of isolated Unknown | |
165 | TH1F * fhPtThresIsolatedUnknown[5][5]; //! Isolated Unknown gamma with pt threshold | |
166 | TH1F * fhPtFracIsolatedUnknown[5][5]; //! Isolated Unknown gamma with pt frac | |
167 | TH2F * fhPtSumIsolatedUnknown[5]; //! Isolated Unknown gamma with threshold on cone pt sume | |
168 | ||
803d06a8 | 169 | TH1F * fhPtNoIsoPi0Decay; //! Number of not isolated leading pi0 decay gamma |
170 | TH1F * fhPtNoIsoEtaDecay; //! Number of not isolated leading eta decay gamma | |
171 | TH1F * fhPtNoIsoOtherDecay; //! Number of not isolated leading other decay gamma | |
1a31a9ab | 172 | TH1F * fhPtNoIsoPrompt; //! Number of not isolated leading prompt gamma |
173 | TH1F * fhPtIsoMCPhoton; //! Number of isolated leading gamma | |
174 | TH1F * fhPtNoIsoMCPhoton; //! Number of not isolated leading gamma | |
0fb69ade | 175 | TH1F * fhPtNoIsoConversion; //! Number of not isolated leading conversion gamma |
176 | TH1F * fhPtNoIsoFragmentation; //! Number of not isolated leading fragmentation gamma | |
177 | TH1F * fhPtNoIsoUnknown; //! Number of not isolated leading hadrons | |
1a31a9ab | 178 | |
179 | //Histograms settings | |
180 | Int_t fHistoNPtSumBins; // Number of bins in PtSum histograms | |
181 | Float_t fHistoPtSumMax; // PtSum maximum in histogram | |
182 | Float_t fHistoPtSumMin; // PtSum minimum in histogram | |
183 | Int_t fHistoNPtInConeBins; // Number of bins in PtInCone histogram | |
184 | Float_t fHistoPtInConeMax; // PtInCone maximum in histogram | |
185 | Float_t fHistoPtInConeMin; // PtInCone maximum in histogram | |
186 | ||
c5693f62 | 187 | AliAnaParticleIsolation(const AliAnaParticleIsolation & g) ; // cpy ctor |
188 | AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & g) ;// cpy assignment | |
189 | ||
0fb69ade | 190 | ClassDef(AliAnaParticleIsolation,5) |
1a31a9ab | 191 | } ; |
192 | ||
193 | ||
194 | #endif //ALIANAPARTICLEISOLATION_H | |
195 | ||
196 | ||
197 |