]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/PartCorrDep/AliAnaParticleIsolation.h
In case the input is MC Kinematics, need some patches in the vertex and extraction...
[u/mrichter/AliRoot.git] / PWG4 / PartCorrDep / AliAnaParticleIsolation.h
CommitLineData
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 ---
18class TH2F;
19class TList ;
0c1383b5 20class TObjString;
477d6cee 21
22// --- ANALYSIS system ---
23#include "AliAnaPartCorrBaseClass.h"
7f0c28bc 24class AliAODPWG4Particle;
477d6cee 25class AliAODPWG4ParticleCorrelation ;
26
27
28class 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