]>
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 */ | |
5 | /* $Id: AliAnaParticleIsolation.h 27413 2008-07-18 13:28:12Z gconesab $ */ | |
6 | ||
7 | //_________________________________________________________________________ | |
8 | ||
9 | // Class for the analysis of particle isolation | |
10 | // Input is selected particles put in AOD branch (AliAODPWG4ParticleCorrelation) | |
11 | // | |
12 | // Class created from old AliPHOSGammaJet | |
13 | // (see AliRoot versions previous Release 4-09) | |
14 | ||
15 | //-- Author: Gustavo Conesa (INFN-LNF) | |
16 | ||
17 | // --- ROOT system --- | |
18 | class TH2F; | |
19 | class TList ; | |
20 | class TObjString; | |
21 | ||
22 | // --- ANALYSIS system --- | |
23 | #include "AliAnaPartCorrBaseClass.h" | |
24 | class AliAODPWG4Particle; | |
25 | class AliAODPWG4ParticleCorrelation ; | |
26 | ||
27 | ||
28 | class AliAnaParticleIsolation : public AliAnaPartCorrBaseClass { | |
29 | ||
30 | public: | |
31 | AliAnaParticleIsolation() ; // default ctor | |
32 | virtual ~AliAnaParticleIsolation() ; //virtual dtor | |
33 | ||
34 | private: | |
35 | AliAnaParticleIsolation(const AliAnaParticleIsolation & g) ; // cpy ctor | |
36 | AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & g) ;//cpy assignment | |
37 | ||
38 | public: | |
39 | ||
40 | // Main general methods | |
41 | ||
42 | void InitParameters(); | |
43 | ||
44 | TObjString * GetAnalysisCuts(); | |
45 | ||
46 | TList * GetCreateOutputObjects(); | |
47 | ||
48 | void MakeAnalysisFillAOD() ; | |
49 | ||
50 | void MakeAnalysisFillHistograms() ; | |
51 | ||
52 | void Print(const Option_t * opt)const; | |
53 | ||
54 | ||
55 | //Analysis specific methods | |
56 | ||
57 | Bool_t CheckInvMass(const Int_t icalo,const AliAODPWG4Particle * ph) ; | |
58 | ||
59 | void MakeSeveralICAnalysis(AliAODPWG4ParticleCorrelation * ph); | |
60 | ||
61 | ||
62 | // Analysis Setters and Getters | |
63 | ||
64 | TString GetCalorimeter() const { return fCalorimeter ; } | |
65 | Int_t GetNCones() const { return fNCones ; } | |
66 | Int_t GetNPtThresFrac() const { return fNPtThresFrac ; } | |
67 | Float_t GetConeSizes(Int_t i) const { return fConeSizes[i] ; } | |
68 | Float_t GetPtThresholds(Int_t i) const { return fPtThresholds[i] ; } | |
69 | Float_t GetPtFractions(Int_t i) const { return fPtFractions[i] ; } | |
70 | ||
71 | void SetCalorimeter(TString & det) {fCalorimeter = det ; } | |
72 | void SetNCones(Int_t ncs) {fNCones = ncs ; } | |
73 | void SetNPtThresFrac(Int_t npt) {fNPtThresFrac = npt ; } | |
74 | void SetConeSizes(Int_t i, Float_t r) {fConeSizes[i] = r ; } | |
75 | void SetPtThresholds(Int_t i, Float_t pt) {fPtThresholds[i] = pt ; } | |
76 | void SetPtFractions(Int_t i, Float_t pt) {fPtFractions[i] = pt ; } | |
77 | ||
78 | Bool_t IsReIsolationOn() const { return fReMakeIC ; } | |
79 | void SwitchOnReIsolation() { fReMakeIC = kTRUE ; } | |
80 | void SwitchOffReIsolation() { fReMakeIC = kFALSE ; } | |
81 | ||
82 | Bool_t IsSeveralIsolationOn() const { return fMakeSeveralIC ; } | |
83 | void SwitchOnSeveralIsolation() { fMakeSeveralIC = kTRUE ; } | |
84 | void SwitchOffSeveralIsolation() { fMakeSeveralIC = kFALSE ; } | |
85 | ||
86 | Bool_t IsInvariantMassOn() const { return fMakeInvMass ; } | |
87 | void SwitchOnInvariantMass() { fMakeInvMass = kTRUE ; } | |
88 | void SwitchOffInvariantMass() { fMakeInvMass = kFALSE ; } | |
89 | ||
90 | //Histogrammes setters and getters | |
91 | ||
92 | virtual void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n){ | |
93 | fHistoNPtSumBins = n ; fHistoPtSumMax = max ; fHistoPtSumMin = min ; } | |
94 | ||
95 | Int_t GetHistoNPtSumBins() const { return fHistoNPtSumBins ; } | |
96 | Float_t GetHistoPtSumMin() const { return fHistoPtSumMin ; } | |
97 | Float_t GetHistoPtSumMax() const { return fHistoPtSumMax ; } | |
98 | ||
99 | virtual void SetHistoPtInConeRangeAndNBins(Float_t min, Float_t max, Int_t n) { | |
100 | fHistoNPtInConeBins = n ; fHistoPtInConeMax = max ; fHistoPtInConeMin = min ; } | |
101 | ||
102 | Int_t GetHistoNPtInConeBins() const { return fHistoNPtInConeBins ; } | |
103 | Float_t GetHistoPtInConeMin() const { return fHistoPtInConeMin ; } | |
104 | Float_t GetHistoPtInConeMax() const { return fHistoPtInConeMax ; } | |
105 | ||
106 | private: | |
107 | ||
108 | TString fCalorimeter ; // Calorimeter where neutral particles in cone for isolation are; | |
109 | Bool_t fReMakeIC ; // Do isolation analysis | |
110 | Bool_t fMakeSeveralIC ; // Do analysis for different IC | |
111 | Bool_t fMakeInvMass; // Select candidate if no pair from decay | |
112 | ||
113 | //Histograms | |
114 | ||
115 | TH1F * fhPtIso ; //! Number of isolated particles | |
116 | TH2F * fhPhiIso ; //! Phi of isolated particles | |
117 | TH2F * fhEtaIso ; //! eta of isolated particles | |
118 | TH1F * fhPtNoIso ; //! Number of not isolated leading particles | |
119 | TH1F * fhPtInvMassDecayIso ; //! Number of isolated Pi0 decay particles (invariant mass tag) | |
120 | TH1F * fhPtInvMassDecayNoIso ; //! Number of not isolated Pi0 decay leading particles (invariant mass tag) | |
121 | TH2F * fhConeSumPt ; //! Sum Pt in the cone | |
122 | TH2F * fhPtInCone ; //! Particle Pt in the cone | |
123 | TH2F * fhFRConeSumPt ; //! Sum Pt in the forward region cone (phi +90) | |
124 | TH2F * fhPtInFRCone ; //! Particle Pt in the forward region cone (phi +90 ) | |
125 | ||
126 | //Prompt photon analysis data members for multiple cones and pt thresholds | |
127 | Int_t fNCones ; //! Number of cone sizes to test | |
128 | Int_t fNPtThresFrac ; //! Number of ptThres and ptFrac to test | |
129 | ||
130 | Float_t fConeSizes[5] ; //! Array with cones to test | |
131 | Float_t fPtThresholds[5] ; //! Array with pt thresholds to test | |
132 | Float_t fPtFractions[5] ; //! Array with pt thresholds to test | |
133 | ||
134 | TH1F* fhPtThresIsolated[5][5] ; //! Isolated particle with pt threshold | |
135 | TH1F* fhPtFracIsolated[5][5] ; //! Isolated particle with pt threshold | |
136 | TH2F* fhPtSumIsolated[5] ; //! Isolated particle with threshold on cone pt sum | |
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 | |
151 | TH1F * fhPtIsoPi0Decay; //! Number of isolated Pi0Decay gamma | |
152 | TH2F * fhPhiIsoPi0Decay; //! Phi of isolated Pi0Decay gamma | |
153 | TH2F * fhEtaIsoPi0Decay; //! eta of isolated Pi0Decay gamma | |
154 | TH1F * fhPtThresIsolatedPi0Decay[5][5]; //! Isolated Pi0Decay gamma with pt threshold | |
155 | TH1F * fhPtFracIsolatedPi0Decay[5][5]; //! Isolated Pi0Decay gamma with pt frac | |
156 | TH2F * fhPtSumIsolatedPi0Decay[5]; //! Isolated Pi0Decay gamma with threshold on cone pt sume | |
157 | TH1F * fhPtIsoOtherDecay; //! Number of isolated OtherDecay gamma | |
158 | TH2F * fhPhiIsoOtherDecay; //! Phi of isolated OtherDecay gamma | |
159 | TH2F * fhEtaIsoOtherDecay; //! eta of isolated OtherDecay gamma | |
160 | TH1F * fhPtThresIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt threshold | |
161 | TH1F * fhPtFracIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt frac | |
162 | TH2F * fhPtSumIsolatedOtherDecay[5]; //! Isolated OtherDecay gamma with threshold on cone pt sume | |
163 | TH1F * fhPtIsoConversion; //! Number of isolated Conversion gamma | |
164 | TH2F * fhPhiIsoConversion; //! Phi of isolated Conversion gamma | |
165 | TH2F * fhEtaIsoConversion; //! eta of isolated Conversion gamma | |
166 | TH1F * fhPtThresIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt threshold | |
167 | TH1F * fhPtFracIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt frac | |
168 | TH2F * fhPtSumIsolatedConversion[5]; //! Isolated Conversion gamma with threshold on cone pt sume | |
169 | TH1F * fhPtIsoUnknown; //! Number of isolated Unknown | |
170 | TH2F * fhPhiIsoUnknown; //! Phi of isolated Unknown | |
171 | TH2F * fhEtaIsoUnknown; //! eta of isolated Unknown | |
172 | TH1F * fhPtThresIsolatedUnknown[5][5]; //! Isolated Unknown gamma with pt threshold | |
173 | TH1F * fhPtFracIsolatedUnknown[5][5]; //! Isolated Unknown gamma with pt frac | |
174 | TH2F * fhPtSumIsolatedUnknown[5]; //! Isolated Unknown gamma with threshold on cone pt sume | |
175 | ||
176 | TH1F * fhPtNoIsoPi0Decay; //! Number of not isolated leading Pi0Decay gamma | |
177 | TH1F * fhPtNoIsoPrompt; //! Number of not isolated leading prompt gamma | |
178 | TH1F * fhPtIsoMCPhoton; //! Number of isolated leading gamma | |
179 | TH1F * fhPtNoIsoMCPhoton; //! Number of not isolated leading gamma | |
180 | ||
181 | //Histograms settings | |
182 | Int_t fHistoNPtSumBins; // Number of bins in PtSum histograms | |
183 | Float_t fHistoPtSumMax; // PtSum maximum in histogram | |
184 | Float_t fHistoPtSumMin; // PtSum minimum in histogram | |
185 | Int_t fHistoNPtInConeBins; // Number of bins in PtInCone histogram | |
186 | Float_t fHistoPtInConeMax; // PtInCone maximum in histogram | |
187 | Float_t fHistoPtInConeMin; // PtInCone maximum in histogram | |
188 | ||
189 | ClassDef(AliAnaParticleIsolation,3) | |
190 | } ; | |
191 | ||
192 | ||
193 | #endif //ALIANAPARTICLEISOLATION_H | |
194 | ||
195 | ||
196 |