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