]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/PartCorrDep/AliAnaParticleIsolation.h
AliCalorimeterUtils: Fix to be able to use PHOS bad map and geometry matrices
[u/mrichter/AliRoot.git] / PWG4 / PartCorrDep / 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 */
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 ---
18class TH2F;
19class TList ;
20class TObjString;
21
22// --- ANALYSIS system ---
23#include "AliAnaPartCorrBaseClass.h"
24class AliAODPWG4Particle;
25class AliAODPWG4ParticleCorrelation ;
26
27
28class AliAnaParticleIsolation : public AliAnaPartCorrBaseClass {
29
30 public:
31 AliAnaParticleIsolation() ; // default ctor
803d06a8 32 virtual ~AliAnaParticleIsolation() { ; } //virtual dtor
1a31a9ab 33
1a31a9ab 34 // Main general methods
803d06a8 35
1a31a9ab 36 TObjString * GetAnalysisCuts();
37
38 TList * GetCreateOutputObjects();
39
803d06a8 40 void InitParameters();
41
1a31a9ab 42 void MakeAnalysisFillAOD() ;
43
44 void MakeAnalysisFillHistograms() ;
45
46 void Print(const Option_t * opt)const;
47
1a31a9ab 48 //Analysis specific methods
803d06a8 49
1a31a9ab 50 void MakeSeveralICAnalysis(AliAODPWG4ParticleCorrelation * ph);
51
1a31a9ab 52 // Analysis Setters and Getters
53
54 TString GetCalorimeter() const { return fCalorimeter ; }
55 Int_t GetNCones() const { return fNCones ; }
56 Int_t GetNPtThresFrac() const { return fNPtThresFrac ; }
57 Float_t GetConeSizes(Int_t i) const { return fConeSizes[i] ; }
58 Float_t GetPtThresholds(Int_t i) const { return fPtThresholds[i] ; }
59 Float_t GetPtFractions(Int_t i) const { return fPtFractions[i] ; }
60
803d06a8 61 void SetCalorimeter(TString & det) { fCalorimeter = det ; }
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 ; }
1a31a9ab 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 ; }
803d06a8 75
1a31a9ab 76 //Histogrammes setters and getters
77
78 virtual void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n){
79 fHistoNPtSumBins = n ; fHistoPtSumMax = max ; fHistoPtSumMin = min ; }
80
81 Int_t GetHistoNPtSumBins() const { return fHistoNPtSumBins ; }
82 Float_t GetHistoPtSumMin() const { return fHistoPtSumMin ; }
83 Float_t GetHistoPtSumMax() const { return fHistoPtSumMax ; }
84
85 virtual void SetHistoPtInConeRangeAndNBins(Float_t min, Float_t max, Int_t n) {
86 fHistoNPtInConeBins = n ; fHistoPtInConeMax = max ; fHistoPtInConeMin = min ; }
87
803d06a8 88 Int_t GetHistoNPtInConeBins() const { return fHistoNPtInConeBins; }
89 Float_t GetHistoPtInConeMin() const { return fHistoPtInConeMin ; }
90 Float_t GetHistoPtInConeMax() const { return fHistoPtInConeMax ; }
1a31a9ab 91
92 private:
93
94 TString fCalorimeter ; // Calorimeter where neutral particles in cone for isolation are;
95 Bool_t fReMakeIC ; // Do isolation analysis
96 Bool_t fMakeSeveralIC ; // Do analysis for different IC
803d06a8 97
98 // Analysis data members for multiple cones and pt thresholds
99 Int_t fNCones ; //! Number of cone sizes to test
100 Int_t fNPtThresFrac ; //! Number of ptThres and ptFrac to test
101
102 Float_t fConeSizes[5] ; //! Array with cones to test
103 Float_t fPtThresholds[5] ; //! Array with pt thresholds to test
104 Float_t fPtFractions[5] ; //! Array with pt thresholds to test
105
106 TH1F* fhPtThresIsolated[5][5] ; //! Isolated particle with pt threshold
107 TH1F* fhPtFracIsolated[5][5] ; //! Isolated particle with pt threshold
108 TH2F* fhPtSumIsolated[5] ; //! Isolated particle with threshold on cone pt sum
1a31a9ab 109
110 //Histograms
111
112 TH1F * fhPtIso ; //! Number of isolated particles
113 TH2F * fhPhiIso ; //! Phi of isolated particles
114 TH2F * fhEtaIso ; //! eta of isolated particles
115 TH1F * fhPtNoIso ; //! Number of not isolated leading particles
803d06a8 116 TH1F * fhPtDecayIso ; //! Number of isolated Pi0 decay particles (invariant mass tag)
117 TH1F * fhPtDecayNoIso ; //! Number of not isolated Pi0 decay leading particles (invariant mass tag)
1a31a9ab 118 TH2F * fhConeSumPt ; //! Sum Pt in the cone
119 TH2F * fhPtInCone ; //! Particle Pt in the cone
120 TH2F * fhFRConeSumPt ; //! Sum Pt in the forward region cone (phi +90)
121 TH2F * fhPtInFRCone ; //! Particle Pt in the forward region cone (phi +90 )
122
1a31a9ab 123
124 //MC
125 TH1F * fhPtIsoPrompt; //! Number of isolated prompt gamma
126 TH2F * fhPhiIsoPrompt; //! Phi of isolated prompt gamma
127 TH2F * fhEtaIsoPrompt; //! eta of isolated prompt gamma
128 TH1F * fhPtThresIsolatedPrompt[5][5]; //! Isolated prompt gamma with pt threshold
129 TH1F * fhPtFracIsolatedPrompt[5][5]; //! Isolated prompt gamma with pt frac
130 TH2F * fhPtSumIsolatedPrompt[5]; //! Isolated prompt gamma with threshold on cone pt sume
131 TH1F * fhPtIsoFragmentation; //! Number of isolated fragmentation gamma
132 TH2F * fhPhiIsoFragmentation; //! Phi of isolated fragmentation gamma
133 TH2F * fhEtaIsoFragmentation; //! eta of isolated fragmentation gamma
134 TH1F * fhPtThresIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt threshold
135 TH1F * fhPtFracIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt frac
136 TH2F * fhPtSumIsolatedFragmentation[5]; //! Isolated fragmentation gamma with threshold on cone pt sume
803d06a8 137 TH1F * fhPtIsoPi0Decay; //! Number of isolated pi0 decay gamma
138 TH2F * fhPhiIsoPi0Decay; //! Phi of isolated pi0 decay gamma
139 TH2F * fhEtaIsoPi0Decay; //! eta of isolated pi0 decay gamma
140 TH1F * fhPtThresIsolatedPi0Decay[5][5]; //! Isolated pi0 decay gamma with pt threshold
141 TH1F * fhPtFracIsolatedPi0Decay[5][5]; //! Isolated pi0 decay gamma with pt frac
142 TH2F * fhPtSumIsolatedPi0Decay[5]; //! Isolated pi0 decay gamma with threshold on cone pt sume
143 TH1F * fhPtIsoEtaDecay; //! Number of isolated eta decay gamma
144 TH2F * fhPhiIsoEtaDecay; //! Phi of isolated eta decay gamma
145 TH2F * fhEtaIsoEtaDecay; //! eta of isolated eta decay gamma
146 TH1F * fhPtThresIsolatedEtaDecay[5][5]; //! Isolated eta decay gamma with pt threshold
147 TH1F * fhPtFracIsolatedEtaDecay[5][5]; //! Isolated eta decay gamma with pt frac
148 TH2F * fhPtSumIsolatedEtaDecay[5]; //! Isolated eta fecay gamma with threshold on cone pt sume
149 TH1F * fhPtIsoOtherDecay; //! Number of isolated other decay gamma
150 TH2F * fhPhiIsoOtherDecay; //! Phi of isolated other decay gamma
151 TH2F * fhEtaIsoOtherDecay; //! eta of isolated other decay gamma
1a31a9ab 152 TH1F * fhPtThresIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt threshold
153 TH1F * fhPtFracIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt frac
154 TH2F * fhPtSumIsolatedOtherDecay[5]; //! Isolated OtherDecay gamma with threshold on cone pt sume
155 TH1F * fhPtIsoConversion; //! Number of isolated Conversion gamma
156 TH2F * fhPhiIsoConversion; //! Phi of isolated Conversion gamma
157 TH2F * fhEtaIsoConversion; //! eta of isolated Conversion gamma
158 TH1F * fhPtThresIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt threshold
159 TH1F * fhPtFracIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt frac
160 TH2F * fhPtSumIsolatedConversion[5]; //! Isolated Conversion gamma with threshold on cone pt sume
161 TH1F * fhPtIsoUnknown; //! Number of isolated Unknown
162 TH2F * fhPhiIsoUnknown; //! Phi of isolated Unknown
163 TH2F * fhEtaIsoUnknown; //! eta of isolated Unknown
164 TH1F * fhPtThresIsolatedUnknown[5][5]; //! Isolated Unknown gamma with pt threshold
165 TH1F * fhPtFracIsolatedUnknown[5][5]; //! Isolated Unknown gamma with pt frac
166 TH2F * fhPtSumIsolatedUnknown[5]; //! Isolated Unknown gamma with threshold on cone pt sume
167
803d06a8 168 TH1F * fhPtNoIsoPi0Decay; //! Number of not isolated leading pi0 decay gamma
169 TH1F * fhPtNoIsoEtaDecay; //! Number of not isolated leading eta decay gamma
170 TH1F * fhPtNoIsoOtherDecay; //! Number of not isolated leading other decay gamma
1a31a9ab 171 TH1F * fhPtNoIsoPrompt; //! Number of not isolated leading prompt gamma
172 TH1F * fhPtIsoMCPhoton; //! Number of isolated leading gamma
173 TH1F * fhPtNoIsoMCPhoton; //! Number of not isolated leading gamma
174
175 //Histograms settings
176 Int_t fHistoNPtSumBins; // Number of bins in PtSum histograms
177 Float_t fHistoPtSumMax; // PtSum maximum in histogram
178 Float_t fHistoPtSumMin; // PtSum minimum in histogram
179 Int_t fHistoNPtInConeBins; // Number of bins in PtInCone histogram
180 Float_t fHistoPtInConeMax; // PtInCone maximum in histogram
181 Float_t fHistoPtInConeMin; // PtInCone maximum in histogram
182
c5693f62 183 AliAnaParticleIsolation(const AliAnaParticleIsolation & g) ; // cpy ctor
184 AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & g) ;// cpy assignment
185
803d06a8 186 ClassDef(AliAnaParticleIsolation,4)
1a31a9ab 187} ;
188
189
190#endif //ALIANAPARTICLEISOLATION_H
191
192
193