]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/PartCorrDep/AliAnaParticleHadronCorrelation.h
Move initialization of common analysis services pointers from init parameters to...
[u/mrichter/AliRoot.git] / PWG4 / PartCorrDep / AliAnaParticleHadronCorrelation.h
1 #ifndef ALIANAPARTICLEHADRONCORRELATION_H
2 #define ALIANAPARTICLEHADRONCORRELATION_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 //_________________________________________________________________________
8 // Class that contains the algorithm for the analysis of particle - hadron correlations
9 // Particle (for example direct gamma) must be found in a previous analysis 
10 //-- Author: Gustavo Conesa (INFN-LNF)
11
12 //  Modified by Yaxian Mao:
13 // 1. add the UE subtraction for corrlation study
14 // 2. change the correlation variable
15 // 3. Only use leading particle(cluster/track) as trigger for correlation (2010/07/02)
16
17 // --- ROOT system ---
18 class TH2F;
19
20 // --- Analysis system ---
21 #include "AliAnaPartCorrBaseClass.h"
22 class AliAODPWG4ParticleCorrelation ;
23
24 class AliAnaParticleHadronCorrelation : public AliAnaPartCorrBaseClass {
25   
26  public: 
27   AliAnaParticleHadronCorrelation() ; // default ctor
28   virtual ~AliAnaParticleHadronCorrelation() {;} //virtual dtor
29  private:  
30   AliAnaParticleHadronCorrelation(const AliAnaParticleHadronCorrelation & ph) ; // cpy ctor
31   AliAnaParticleHadronCorrelation & operator = (const AliAnaParticleHadronCorrelation & ph) ;//cpy assignment
32
33  public:
34
35   TList * GetCreateOutputObjects();
36   
37   Double_t GetDeltaPhiMaxCut() const {return fDeltaPhiMaxCut ; }
38   Double_t GetDeltaPhiMinCut() const {return fDeltaPhiMinCut ; }
39   void SetDeltaPhiCutRange(Double_t phimin, Double_t phimax)
40   {fDeltaPhiMaxCut =phimax;  fDeltaPhiMinCut =phimin;}
41
42   Double_t GetUeDeltaPhiMaxCut() const {return fUeDeltaPhiMaxCut ; }
43   Double_t GetUeDeltaPhiMinCut() const {return fUeDeltaPhiMinCut ; }
44   void SetUeDeltaPhiCutRange(Double_t uephimin, Double_t uephimax)
45   {fUeDeltaPhiMaxCut =uephimax;  fUeDeltaPhiMinCut =uephimin;}
46   Bool_t IsSeveralUEOn() const {return fMakeSeveralUE ; }
47   void SwitchOnSeveralUECalculation()  { fMakeSeveralUE = kTRUE;}
48   void SwitchOffSeveralUECalculation() { fMakeSeveralUE = kFALSE;}
49
50   Bool_t OnlyIsolated() const {return fSelectIsolated ; }
51   void SelectIsolated(Bool_t select) {fSelectIsolated = select ; }
52   
53   void InitParameters();
54   
55   void Print(const Option_t * opt) const;
56   
57   void MakeChargedCorrelation(AliAODPWG4ParticleCorrelation * aodParticle,TObjArray* const pl, const Bool_t bFillHisto) ;
58   void MakeNeutralCorrelationFillAOD(AliAODPWG4ParticleCorrelation* const aodParticle, TObjArray* const pl, TString detector)  ;
59   void MakeNeutralCorrelationFillHistograms(AliAODPWG4ParticleCorrelation* const aodParticle)  ;
60         
61   void MakeAnalysisFillAOD()  ;
62   void MakeAnalysisFillHistograms() ; 
63   
64   Bool_t SelectCluster(AliAODCaloCluster * calo, Double_t *vertex, TLorentzVector & mom, Int_t & pdg) ;
65   
66  private:
67   
68   Double_t   fDeltaPhiMaxCut ;      // Minimum Delta Phi Gamma-Hadron
69   Double_t   fDeltaPhiMinCut ;      // Maximum Delta Phi Gamma-Hadron
70   Bool_t     fSelectIsolated ;      // Select only trigger particles isolated
71   Bool_t     fMakeSeveralUE ;       // Do analysis for several underlying events contribution
72   Double_t   fUeDeltaPhiMaxCut ;    // Minimum Delta Phi Gamma-Underlying Hadron
73   Double_t   fUeDeltaPhiMinCut ;    // Maximum Delta Phi Gamma-Underlying Hadron
74
75   
76   //Histograms
77   //leading particles 
78   TH1F * fhPtLeading;         //! pT distribution of leading particles
79   TH2F * fhPhiLeading;        //! phi distribution vs pT of leading particles
80   TH2F * fhEtaLeading;        //! eta distribution vs pT of leading particles
81   TH2F * fhDeltaPhiDeltaEtaCharged ; //! differences of eta and phi between trigger and charged hadrons
82   TH2F * fhDeltaPhiDeltaEtaNeutral ; //! differences of eta and phi between trigger and neutral hadrons (pi0)
83         
84   TH2F * fhPhiCharged  ; //! Phi distribution of charged particles
85   TH2F * fhPhiNeutral   ;  //! Phi distribution of neutral particles
86   TH2F * fhEtaCharged  ; //! Eta distribution of charged particles
87   TH2F * fhEtaNeutral   ; //! Eta distribution of neutral particles
88   TH2F * fhDeltaPhiCharged  ;  //! Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT
89   TH2F * fhDeltaPhiNeutral   ;  //! Difference of neutral particle phi and trigger particle  phi as function of  trigger particle pT
90   TH2F * fhDeltaEtaCharged  ;  //! Difference of charged particle eta and trigger particle  eta as function of  trigger particle pT
91   TH2F * fhDeltaEtaNeutral  ;  //! Difference of neutral particle eta and trigger particle  eta as function of  trigger particle pT
92   TH2F * fhDeltaPhiChargedPt  ;  //! Difference of charged particle phi and trigger particle  phi as function of charged particle pT
93   TH2F * fhDeltaPhiNeutralPt  ;  //! Difference of neutral particle phi and trigger particle  phi as function of neutral particle particle pT
94   TH2F * fhDeltaPhiUeChargedPt  ;  //! Difference of charged particle from underlying events phi and trigger particle  phi as function of charged particle pT
95   TH2F * fhDeltaPhiUeNeutralPt  ;  //! Difference of neutral particle phi and trigger particle  phi as function of neutral particle particle pT
96
97   TH2F * fhPtImbalanceNeutral  ; //! Trigger particle - neutral hadron momentum imbalance histogram 
98   TH2F * fhPtImbalanceCharged  ; //! Trigger particle -charged hadron momentim imbalance histogram
99   TH2F * fhPtImbalanceUeCharged  ; //! Trigger particle -underlying charged hadron momentim imbalance histogram  
100   TH2F * fhPtImbalanceUeNeutral  ; //! Trigger particle - neutral hadron momentum imbalance histogram 
101
102   //with different imblance varible defination HBP distribution
103   TH2F * fhPtHbpCharged  ; //! Trigger particle -charged hadron momentim HBP histogram
104   TH2F * fhPtHbpUeCharged  ; //! Trigger particle -underlying charged hadron momentim HBP histogram  
105   TH2F * fhPtHbpNeutral  ; //! Trigger particle -neutral particle momentim HBP histogram
106   TH2F * fhPtHbpUeNeutral  ; //! Trigger particle -underlying neutral hadron momentim HBP histogram  
107
108   //if several UE calculation is on, most useful for jet-jet events contribution
109   TH2F * fhDeltaPhiUeLeftCharged  ;  //! Difference of charged particle from underlying events phi and trigger particle  phi as function of charged particle pT
110   TH2F * fhDeltaPhiUeRightCharged  ;  //! Difference of charged particle from underlying events phi and trigger particle  phi 
111   TH2F * fhDeltaPhiUeLeftNeutral  ;  //! Difference of charged particle from underlying events phi and trigger particle  phi as function of neutral particle pT
112   TH2F * fhDeltaPhiUeRightNeutral  ;  //! Difference of charged particle from underlying events phi and trigger particle  phi 
113   TH2F * fhPtImbalanceUeLeftCharged  ; //! Trigger particle -underlying charged hadron momentim imbalance histogram 
114   TH2F * fhPtImbalanceUeRightCharged  ; //! Trigger particle -underlying charged hadron momentim imbalance histogram  
115   TH2F * fhPtImbalanceUeLeftNeutral  ; //! Trigger particle -underlying neutral hadron momentim imbalance histogram 
116   TH2F * fhPtImbalanceUeRightNeutral  ; //! Trigger particle -underlying neutral hadron momentim imbalance histogram 
117   TH2F * fhPtHbpUeLeftCharged  ; //! Trigger particle -underlying charged hadron momentim HBP histogram 
118   TH2F * fhPtHbpUeRightCharged  ; //! Trigger particle -underlying charged hadron momentim HBP histogram  
119   TH2F * fhPtHbpUeLeftNeutral  ; //! Trigger particle -underlying neutral hadron momentim HBP histogram 
120   TH2F * fhPtHbpUeRightNeutral  ; //! Trigger particle -underlying neutral hadron momentim HBP histogram  
121         
122         
123   ClassDef(AliAnaParticleHadronCorrelation,3)
124 } ;
125  
126
127 #endif //ALIANAPARTICLEHADRONCORRELATION_H
128
129
130