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