]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/AliAnaGammaHadron.h
B?\008New version from Gustavo
[u/mrichter/AliRoot.git] / PWG4 / AliAnaGammaHadron.h
1 #ifndef ALIANAGAMMAHADRON_H
2 #define ALIANAGAMMAHADRON_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5 /* $Id$ */
6
7 /* History of cvs commits:
8  *
9  * $Log$
10  * Revision 1.1  2007/01/23 17:17:29  schutz
11  * New Gamma package
12  *
13  *
14  */
15
16 //_________________________________________________________________________
17 //  Class for the analysis of gamma-jet correlations.     
18 //  Basically it seaches for a prompt photon in the Calorimeters acceptance, 
19 //  if so we construct a jet around the highest pt particle in the opposite 
20 //  side in azimuth. This jet has to fullfill several conditions to be 
21 //  accepted. Then the fragmentation function of this jet is constructed 
22 //  Class created from old AliPHOSGammaPion
23
24 //*-- Author: Gustavo Conesa (INFN-LNF)
25
26 // --- ROOT system ---
27 #include <TROOT.h>
28 #include <TChain.h>
29 #include "TTask.h"
30 #include "TArrayD.h"
31 #include "TChain.h"
32 #include <TH2F.h>
33 #include <TTree.h> 
34 #include "AliAnaGammaDirect.h" 
35
36 class AliESD ; 
37  
38 class AliAnaGammaHadron : public AliAnaGammaDirect {
39
40 public: 
41
42   AliAnaGammaHadron(const char *name) ; // default ctor
43   AliAnaGammaHadron(const AliAnaGammaHadron & gj) ; // cpy ctor
44   virtual ~AliAnaGammaHadron() ; //virtual dtor
45   virtual void Exec(Option_t * opt = "") ;
46   virtual void ConnectInputData(Option_t *);
47   virtual void CreateOutputObjects();
48   virtual void Terminate(Option_t * opt = "");
49
50   void InitParameters(); 
51   Double_t GetAngleMaxParam(Int_t i) const {return fAngleMaxParam.At(i) ; }
52   Double_t GetInvMassMaxCut() const {return fInvMassMaxCut ; }
53   Double_t GetInvMassMinCut() const {return fInvMassMinCut ; }
54   Double_t GetPhiMaxCut() const {return fPhiMaxCut ; }
55   Double_t GetPhiMinCut() const {return fPhiMinCut ; }
56   Float_t    GetMinPtPion() const {return fMinPtPion ; }
57
58   void Print(const Option_t * opt)const;
59   
60   void SetAngleMaxParam(Int_t i, Double_t par)
61   {fAngleMaxParam.AddAt(par,i) ; }
62   void SetMinPtPion(Float_t pt){fMinPtPion = pt; };
63   void SetInvMassCutRange(Double_t invmassmin, Double_t invmassmax)
64     {fInvMassMaxCut =invmassmax;  fInvMassMinCut =invmassmin;}  
65   void SetPhiCutRange(Double_t phimin, Double_t phimax)
66   {fPhiMaxCut =phimax;  fPhiMinCut =phimin;}
67
68   private:
69
70   Bool_t IsAngleInWindow(const Float_t angle, const Float_t e);
71   void MakeGammaChargedCorrelation(TClonesArray * pl, TParticle *pGamma) const ;
72   void MakeGammaNeutralCorrelation(TClonesArray * pl, TParticle *pGamma)  ;
73   void MakeHistos() ;
74
75  private:
76
77   //  TTree       *fChain ;   //!pointer to the analyzed TTree or TChain
78   //AliESD       *fESD ;     //! Declaration of leave types
79
80   Double_t   fPhiMaxCut ;      // 
81   Double_t   fPhiMinCut ;      // 
82   // Double_t   fGammaPtCut ;  // Min pt in Calorimeter
83   Double_t   fInvMassMaxCut ;  // Invariant Mass cut maximum
84   Double_t   fInvMassMinCut ;  // Invariant Masscut minimun
85  
86   Double_t   fMinPtPion;       // Minimum pt of pion
87   TObjArray  *fOutputContainer ; //! output data container
88   TString     fNamePtThres[10];   // String name of pt th to append to histos
89   TArrayD    fAngleMaxParam ; //Max opening angle selection parameters
90   //TString     fCalorimeter ; //PHOS or EMCAL detects Gamma
91   //Bool_t      fEMCALPID ; //Fill EMCAL particle lists with particles with corresponding pid
92   //Bool_t      fPHOSPID;   //Fill PHOS particle lists with particles with corresponding pid
93
94   //Histograms
95
96   TH2F * fhPhiCharged  ; 
97   TH2F * fhPhiNeutral   ; 
98   TH2F * fhEtaCharged  ; 
99   TH2F * fhEtaNeutral   ; 
100   TH2F * fhDeltaPhiGammaCharged  ;  
101   TH2F * fhDeltaPhiGammaNeutral   ; 
102   TH2F * fhDeltaEtaGammaCharged  ; 
103   TH2F * fhDeltaEtaGammaNeutral  ; 
104
105   TH2F * fhCorrelationGammaNeutral  ; 
106   TH2F * fhCorrelationGammaCharged  ; 
107
108   TH2F * fhAnglePairAccepted  ; 
109   TH2F * fhAnglePairNoCut  ; 
110   TH2F * fhAnglePairAzimuthCut  ; 
111   TH2F * fhAnglePairOpeningAngleCut   ; 
112   TH2F * fhAnglePairAllCut   ; 
113   TH2F * fhInvMassPairNoCut    ; 
114   TH2F * fhInvMassPairAzimuthCut  ; 
115   TH2F * fhInvMassPairOpeningAngleCut  ; 
116   TH2F * fhInvMassPairAllCut   ; 
117   
118   ClassDef(AliAnaGammaHadron,0)
119 } ;
120  
121
122 #endif //ALIANAGAMMAHADRON_H
123
124
125