]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/CaloTrackCorrelations/AliAnaGeneratorKine.h
correcting cone exess
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / AliAnaGeneratorKine.h
1 #ifndef ALIANAGENERATORKINE_H
2 #define ALIANAGENERATORKINE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5
6 //___________________________________________________________________________
7 // Do photon/pi0 analysis for isolation and correlation
8 // at the generator level. Only for kine stack (ESDs)
9 //
10 //
11 //-- Author: Gustavo Conesa (LPSC-CNRS-Grenoble)
12
13 // --- ROOT ---
14 class TH2F ;
15 class TParticle ;
16 class AliStack ;
17 class TLorentzVector ;
18
19 // --- ANALYSIS ---
20 #include "AliAnaCaloTrackCorrBaseClass.h"
21
22 class AliAnaGeneratorKine : public AliAnaCaloTrackCorrBaseClass {
23        
24 public:
25   
26   AliAnaGeneratorKine() ; // default ctor
27   virtual ~AliAnaGeneratorKine() { ; } //virtual dtor              
28   
29   Bool_t CorrelateWithPartonOrJet(const TLorentzVector trigger,  
30                                   const Int_t   indexTrig,                     
31                                   const Int_t   pdgTrig, 
32                                   const Bool_t  leading[4], 
33                                   const Bool_t  isolated[4], 
34                                   Int_t & iparton) ; 
35   
36   TList * GetCreateOutputObjects() ;
37   
38   void    GetPartonsAndJets() ;
39     
40   void    GetXE(const TLorentzVector trigger,  
41                 const Int_t   indexTrig,                     
42                 const Int_t   pdgTrig, 
43                 const Bool_t  leading[4], 
44                 const Bool_t  isolated[4], 
45                 const Int_t   iparton) ;    
46   
47   void    InitParameters() ;
48   
49   void    IsLeadingAndIsolated(const TLorentzVector trigger, 
50                                const Int_t   indexTrig,                     
51                                const Int_t   pdgTrig, 
52                                Bool_t leading[4],     
53                                Bool_t isolated[4]) ;
54   
55   void    MakeAnalysisFillAOD()  { ; }
56   
57   void    MakeAnalysisFillHistograms() ; 
58     
59 private:
60   
61   AliStack  * fStack;                       //! access stack
62   
63   TParticle * fParton2;                     //! Initial state Parton
64   TParticle * fParton3;                     //! Initial state Parton
65   
66   TParticle * fParton6;                     //! Final state Parton
67   TParticle * fParton7;                     //! Final state Parton
68   
69   TLorentzVector fJet6;                     //! Pythia jet close to parton in position 6
70   TLorentzVector fJet7;                     //! Pythia jet close to parton in position 7
71
72   Float_t     fPtHard;                      //! Generated pT hard
73   
74   TH1F      * fhPtHard;                     //! pt of parton 
75   TH1F      * fhPtParton;                   //! pt of parton  
76   TH1F      * fhPtJet;                      //! pt of jet 
77   
78   TH2F      * fhPtPartonPtHard;             //! pt of parton divided to pt hard, trigger is photon 
79   TH2F      * fhPtJetPtHard;                //! pt of jet divided to pt hard, trigger is photon 
80   TH2F      * fhPtJetPtParton;              //! pt of parton divided to pt parton, trigger is photon 
81
82   TH1F      * fhPtPhoton;                   //! Input photon
83   TH1F      * fhPtPi0;                      //! Input pi0
84   
85   TH1F      * fhPtPhotonLeading[4];         //! Leading photon
86   TH1F      * fhPtPi0Leading[4];            //! Leading pi0
87   
88   TH1F      * fhPtPhotonLeadingIsolated[4]; //! Leading photon, isolated
89   TH1F      * fhPtPi0LeadingIsolated[4];    //! Leading pi0, isolated
90
91   TH2F      * fhPtPartonTypeNearPhotonLeading[4];           //! Leading photon, particle pt versus originating parton type
92   TH2F      * fhPtPartonTypeNearPi0Leading[4];              //! Leading pi0, particle pt versus originating parton type
93   TH2F      * fhPtPartonTypeNearPhotonLeadingIsolated[4];   //! Leading photon, particle pt versus originating parton type
94   TH2F      * fhPtPartonTypeNearPi0LeadingIsolated[4];      //! Leading pi0, particle pt versus originating parton type
95   
96   TH2F      * fhPtPartonTypeAwayPhotonLeading[4];           //! Leading photon, particle pt versus away side parton type
97   TH2F      * fhPtPartonTypeAwayPi0Leading[4];              //! Leading pi0, particle pt versus away side parton type
98   TH2F      * fhPtPartonTypeAwayPhotonLeadingIsolated[4];   //! Leading photon, isolated, particle pt versus away side parton type 
99   TH2F      * fhPtPartonTypeAwayPi0LeadingIsolated[4];      //! Leading pi0, isolated, particle pt versus away side parton type
100   
101   TH2F      * fhZHardPhotonLeading[4];           //! Leading photon, zHard
102   TH2F      * fhZHardPi0Leading[4];              //! Leading pi0, zHard
103   TH2F      * fhZHardPhotonLeadingIsolated[4];   //! Leading photon, isolated, zHard
104   TH2F      * fhZHardPi0LeadingIsolated[4];      //! Leading pi0, isolated, zHard
105   
106   TH2F      * fhZPartonPhotonLeading[4];         //! Leading photon, zHard
107   TH2F      * fhZPartonPi0Leading[4];            //! Leading pi0, zHard
108   TH2F      * fhZPartonPhotonLeadingIsolated[4]; //! Leading photon, isolated, zHard
109   TH2F      * fhZPartonPi0LeadingIsolated[4];    //! Leading pi0, isolated, zHard
110
111   TH2F      * fhZJetPhotonLeading[4];            //! Leading photon, zHard
112   TH2F      * fhZJetPi0Leading[4];               //! Leading pi0, zHard
113   TH2F      * fhZJetPhotonLeadingIsolated[4];    //! Leading photon, isolated, zHard
114   TH2F      * fhZJetPi0LeadingIsolated[4];       //! Leading pi0, isolated, zHard
115   
116   TH2F      * fhXEPhotonLeading[4];              //! Leading photon, xE away side
117   TH2F      * fhXEPi0Leading[4];                 //! Leading pi0, xE away side
118   TH2F      * fhXEPhotonLeadingIsolated[4];      //! Leading photon, xE away side
119   TH2F      * fhXEPi0LeadingIsolated[4];         //! Leading pi0, isolated, xE away side
120   
121   TH2F      * fhXEUEPhotonLeading[4];              //! Leading photon, xE away side
122   TH2F      * fhXEUEPi0Leading[4];                 //! Leading pi0, xE away side
123   TH2F      * fhXEUEPhotonLeadingIsolated[4];      //! Leading photon, xE away side
124   TH2F      * fhXEUEPi0LeadingIsolated[4];         //! Leading pi0, isolated, xE away side
125   
126   AliAnaGeneratorKine              (const AliAnaGeneratorKine & gk) ; // cpy ctor
127   AliAnaGeneratorKine & operator = (const AliAnaGeneratorKine & gk) ; // cpy assignment
128   
129   ClassDef(AliAnaGeneratorKine,1)
130   
131 } ;
132
133
134 #endif //ALIANAGENERATORKINE_H
135
136
137