]>
Commit | Line | Data |
---|---|---|
477d6cee | 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 ; | |
0c1383b5 | 20 | class TObjString; |
477d6cee | 21 | |
22 | // --- ANALYSIS system --- | |
23 | #include "AliAnaPartCorrBaseClass.h" | |
7f0c28bc | 24 | class AliAODPWG4Particle; |
477d6cee | 25 | class AliAODPWG4ParticleCorrelation ; |
26 | ||
27 | ||
28 | class AliAnaParticleIsolation : public AliAnaPartCorrBaseClass { | |
29 | ||
78219bac | 30 | public: |
477d6cee | 31 | AliAnaParticleIsolation() ; // default ctor |
78219bac | 32 | virtual ~AliAnaParticleIsolation() ; //virtual dtor |
33 | ||
34 | private: | |
477d6cee | 35 | AliAnaParticleIsolation(const AliAnaParticleIsolation & g) ; // cpy ctor |
36 | AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & g) ;//cpy assignment | |
78219bac | 37 | |
38 | public: | |
39 | ||
decca433 | 40 | Bool_t CheckInvMass(const Int_t icalo,const AliAODPWG4Particle * ph) ; |
477d6cee | 41 | |
0c1383b5 | 42 | TObjString * GetAnalysisCuts(); |
43 | TList * GetCreateOutputObjects(); | |
477d6cee | 44 | |
45 | void MakeAnalysisFillAOD() ; | |
46 | ||
47 | void MakeAnalysisFillHistograms() ; | |
48 | ||
49 | void MakeSeveralICAnalysis(AliAODPWG4ParticleCorrelation * ph); | |
50 | ||
51 | void Print(const Option_t * opt)const; | |
52 | ||
53 | TString GetCalorimeter() const {return fCalorimeter ; } | |
54 | void SetCalorimeter(TString det) {fCalorimeter = det ; } | |
55 | ||
56 | Int_t GetNCones() const {return fNCones ; } | |
57 | Int_t GetNPtThresFrac() const {return fNPtThresFrac ; } | |
58 | Float_t GetConeSizes(Int_t i) const {return fConeSizes[i] ; } | |
59 | Float_t GetPtThresholds(Int_t i) const {return fPtThresholds[i] ; } | |
60 | Float_t GetPtFractions(Int_t i) const {return fPtFractions[i] ; } | |
61 | ||
62 | void InitParameters(); | |
63 | ||
64 | void SetNCones(Int_t ncs) {fNCones = ncs ; } | |
65 | void SetNPtThresFrac(Int_t npt) {fNPtThresFrac = npt; } | |
66 | void SetConeSizes(Int_t i, Float_t r) {fConeSizes[i] = r ; } | |
67 | void SetPtThresholds(Int_t i, Float_t pt) {fPtThresholds[i] = pt; } | |
68 | void SetPtFractions(Int_t i, Float_t pt) {fPtFractions[i] = pt; } | |
69 | ||
70 | Bool_t IsReIsolationOn() const {return fReMakeIC ; } | |
71 | void SwitchOnReIsolation() { fReMakeIC = kTRUE;} | |
72 | void SwitchOffReIsolation() { fReMakeIC = kFALSE;} | |
73 | ||
74 | Bool_t IsSeveralIsolationOn() const {return fMakeSeveralIC ; } | |
75 | void SwitchOnSeveralIsolation() { fMakeSeveralIC = kTRUE;} | |
76 | void SwitchOffSeveralIsolation() { fMakeSeveralIC = kFALSE;} | |
77 | ||
78 | Bool_t IsInvariantMassOn() const {return fMakeInvMass ; } | |
79 | void SwitchOnInvariantMass() { fMakeInvMass = kTRUE;} | |
80 | void SwitchOffInvariantMass() { fMakeInvMass = kFALSE;} | |
81 | ||
82 | //Histogrammes setters and getters | |
83 | virtual void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n) { | |
84 | fHistoNPtSumBins = n ; | |
85 | fHistoPtSumMax = max ; | |
86 | fHistoPtSumMin = min ; | |
87 | } | |
88 | ||
89 | Int_t GetHistoNPtSumBins() const { return fHistoNPtSumBins ; } | |
90 | Float_t GetHistoPtSumMin() const { return fHistoPtSumMin ; } | |
91 | Float_t GetHistoPtSumMax() const { return fHistoPtSumMax ; } | |
92 | ||
93 | virtual void SetHistoPtInConeRangeAndNBins(Float_t min, Float_t max, Int_t n) { | |
94 | fHistoNPtInConeBins = n ; | |
95 | fHistoPtInConeMax = max ; | |
96 | fHistoPtInConeMin = min ; | |
97 | } | |
98 | ||
99 | Int_t GetHistoNPtInConeBins() const { return fHistoNPtInConeBins ; } | |
100 | Float_t GetHistoPtInConeMin() const { return fHistoPtInConeMin ; } | |
101 | Float_t GetHistoPtInConeMax() const { return fHistoPtInConeMax ; } | |
102 | ||
103 | ||
104 | private: | |
105 | ||
106 | TString fCalorimeter ; // Calorimeter where neutral particles in cone for isolation are; | |
477d6cee | 107 | Bool_t fReMakeIC ; // Do isolation analysis |
108 | Bool_t fMakeSeveralIC ; // Do analysis for different IC | |
109 | Bool_t fMakeInvMass; // Select candidate if no pair from decay | |
110 | ||
111 | //Histograms | |
112 | ||
113 | TH1F * fhPtIso ; //! Number of isolated particles | |
114 | TH2F * fhPhiIso ; //! Phi of isolated particles | |
115 | TH2F * fhEtaIso ; //! eta of isolated particles | |
116 | TH2F * fhConeSumPt ; //! Sum Pt in the cone | |
117 | TH2F * fhPtInCone ; //! Particle Pt in the cone | |
118 | ||
119 | //Prompt photon analysis data members for multiple cones and pt thresholds | |
120 | Int_t fNCones ; //! Number of cone sizes to test | |
121 | Int_t fNPtThresFrac ; //! Number of ptThres and ptFrac to test | |
122 | ||
123 | Float_t fConeSizes[5] ; //! Array with cones to test | |
124 | Float_t fPtThresholds[5] ; //! Array with pt thresholds to test | |
125 | Float_t fPtFractions[5] ; //! Array with pt thresholds to test | |
126 | ||
127 | TH1F* fhPtThresIsolated[5][5] ; //! Isolated particle with pt threshold | |
128 | TH1F* fhPtFracIsolated[5][5] ; //! Isolated particle with pt threshold | |
129 | TH2F* fhPtSumIsolated[5] ; //! Isolated particle with threshold on cone pt sum | |
130 | ||
131 | //MC | |
132 | TH1F * fhPtIsoPrompt; //! Number of isolated prompt gamma | |
133 | TH2F * fhPhiIsoPrompt; //! Phi of isolated prompt gamma | |
134 | TH2F * fhEtaIsoPrompt; //! eta of isolated prompt gamma | |
135 | TH1F * fhPtThresIsolatedPrompt[5][5]; //! Isolated prompt gamma with pt threshold | |
136 | TH1F * fhPtFracIsolatedPrompt[5][5]; //! Isolated prompt gamma with pt frac | |
137 | TH2F * fhPtSumIsolatedPrompt[5]; //! Isolated prompt gamma with threshold on cone pt sume | |
138 | TH1F * fhPtIsoFragmentation; //! Number of isolated fragmentation gamma | |
139 | TH2F * fhPhiIsoFragmentation; //! Phi of isolated fragmentation gamma | |
140 | TH2F * fhEtaIsoFragmentation; //! eta of isolated fragmentation gamma | |
141 | TH1F * fhPtThresIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt threshold | |
142 | TH1F * fhPtFracIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt frac | |
143 | TH2F * fhPtSumIsolatedFragmentation[5]; //! Isolated fragmentation gamma with threshold on cone pt sume | |
144 | TH1F * fhPtIsoPi0Decay; //!Number of isolated Pi0Decay gamma | |
145 | TH2F * fhPhiIsoPi0Decay; //! Phi of isolated Pi0Decay gamma | |
146 | TH2F * fhEtaIsoPi0Decay; //! eta of isolated Pi0Decay gamma | |
147 | TH1F * fhPtThresIsolatedPi0Decay[5][5]; //! Isolated Pi0Decay gamma with pt threshold | |
148 | TH1F * fhPtFracIsolatedPi0Decay[5][5]; //! Isolated Pi0Decay gamma with pt frac | |
149 | TH2F * fhPtSumIsolatedPi0Decay[5]; //! Isolated Pi0Decay gamma with threshold on cone pt sume | |
150 | TH1F * fhPtIsoOtherDecay; //! Number of isolated OtherDecay gamma | |
151 | TH2F * fhPhiIsoOtherDecay; //! Phi of isolated OtherDecay gamma | |
152 | TH2F * fhEtaIsoOtherDecay; //! eta of isolated OtherDecay gamma | |
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 | ||
169 | //Histograms settings | |
170 | Int_t fHistoNPtSumBins; // Number of bins in PtSum histograms | |
171 | Float_t fHistoPtSumMax; // PtSum maximum in histogram | |
172 | Float_t fHistoPtSumMin; // PtSum minimum in histogram | |
173 | Int_t fHistoNPtInConeBins; // Number of bins in PtInCone histogram | |
174 | Float_t fHistoPtInConeMax; // PtInCone maximum in histogram | |
175 | Float_t fHistoPtInConeMin; // PtInCone maximum in histogram | |
176 | ||
233e0df8 | 177 | ClassDef(AliAnaParticleIsolation,3) |
477d6cee | 178 | } ; |
179 | ||
180 | ||
181 | #endif //ALIANAPARTICLEISOLATION_H | |
182 | ||
183 | ||
184 |