]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/PartCorrDep/AliAnaParticleHadronCorrelation.h
Change correlation variable, add new histograms (Yaxian Mao)
[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
16 // --- ROOT system ---
17 class TH2F;
18
19 // --- Analysis system ---
20 #include "AliAnaPartCorrBaseClass.h"
21 class AliAODPWG4ParticleCorrelation ;
22
23 class AliAnaParticleHadronCorrelation : public AliAnaPartCorrBaseClass {
24   
25  public: 
26   
27   AliAnaParticleHadronCorrelation() ; // default ctor
28   AliAnaParticleHadronCorrelation(const AliAnaParticleHadronCorrelation & ph) ; // cpy ctor
29   AliAnaParticleHadronCorrelation & operator = (const AliAnaParticleHadronCorrelation & ph) ;//cpy assignment
30   virtual ~AliAnaParticleHadronCorrelation() {;} //virtual dtor
31   
32   TList * GetCreateOutputObjects();
33   
34   Double_t GetDeltaPhiMaxCut() const {return fDeltaPhiMaxCut ; }
35   Double_t GetDeltaPhiMinCut() const {return fDeltaPhiMinCut ; }
36   void SetDeltaPhiCutRange(Double_t phimin, Double_t phimax)
37   {fDeltaPhiMaxCut =phimax;  fDeltaPhiMinCut =phimin;}
38
39   Double_t GetUeDeltaPhiMaxCut() const {return fUeDeltaPhiMaxCut ; }
40   Double_t GetUeDeltaPhiMinCut() const {return fUeDeltaPhiMinCut ; }
41   void SetUeDeltaPhiCutRange(Double_t uephimin, Double_t uephimax)
42   {fUeDeltaPhiMaxCut =uephimax;  fUeDeltaPhiMinCut =uephimin;}
43   Bool_t IsSeveralUEOn() const {return fMakeSeveralUE ; }
44   void SwitchOnSeveralUECalculation()  { fMakeSeveralUE = kTRUE;}
45   void SwitchOffSeveralUECalculation() { fMakeSeveralUE = kFALSE;}
46
47   Bool_t OnlyIsolated() const {return fSelectIsolated ; }
48   void SelectIsolated(Bool_t select) {fSelectIsolated = select ; }
49   
50   void InitParameters();
51   
52   void Print(const Option_t * opt) const;
53   
54   void MakeChargedCorrelation(AliAODPWG4ParticleCorrelation * aodParticle,TObjArray* const pl, const Bool_t bFillHisto) ;
55   void MakeNeutralCorrelationFillAOD(AliAODPWG4ParticleCorrelation* const aodParticle, TObjArray* const pl, TString detector)  ;
56   void MakeNeutralCorrelationFillHistograms(AliAODPWG4ParticleCorrelation* const aodParticle)  ;
57         
58   void MakeAnalysisFillAOD()  ;
59   void MakeAnalysisFillHistograms() ; 
60   
61   Bool_t SelectCluster(AliAODCaloCluster * calo, Double_t *vertex, TLorentzVector & mom, Int_t & pdg) const ;
62   
63  private:
64   
65   Double_t   fDeltaPhiMaxCut ;      // Minimum Delta Phi Gamma-Hadron
66   Double_t   fDeltaPhiMinCut ;      // Maximum Delta Phi Gamma-Hadron
67   Bool_t     fSelectIsolated ;      // Select only trigger particles isolated
68   Bool_t   fMakeSeveralUE ; // Do analysis for several underlying events contribution
69   Double_t   fUeDeltaPhiMaxCut ;      // Minimum Delta Phi Gamma-Underlying Hadron
70   Double_t   fUeDeltaPhiMinCut ;      // Maximum Delta Phi Gamma-Underlying Hadron
71
72   
73   //Histograms
74   TH2F * fhPhiCharged  ; //! Phi distribution of charged particles
75   TH2F * fhPhiNeutral   ;  //! Phi distribution of neutral particles
76   TH2F * fhEtaCharged  ; //! Eta distribution of charged particles
77   TH2F * fhEtaNeutral   ; //! Eta distribution of neutral particles
78   TH2F * fhDeltaPhiCharged  ;  //! Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT
79   TH2F * fhDeltaPhiNeutral   ;  //! Difference of neutral particle phi and trigger particle  phi as function of  trigger particle pT
80   TH2F * fhDeltaEtaCharged  ;  //! Difference of charged particle eta and trigger particle  eta as function of  trigger particle pT
81   TH2F * fhDeltaEtaNeutral  ;  //! Difference of neutral particle eta and trigger particle  eta as function of  trigger particle pT
82   TH2F * fhDeltaPhiChargedPt  ;  //! Difference of charged particle phi and trigger particle  phi as function of charged particle pT
83   TH2F * fhDeltaPhiNeutralPt  ;  //! Difference of neutral particle phi and trigger particle  phi as function of neutral particle particle pT
84   TH2F * fhDeltaPhiUeChargedPt  ;  //! Difference of charged particle from underlying events phi and trigger particle  phi as function of charged particle pT
85   TH2F * fhDeltaPhiUeNeutralPt  ;  //! Difference of neutral particle phi and trigger particle  phi as function of neutral particle particle pT
86
87   TH2F * fhPtImbalanceNeutral  ; //! Trigger particle - neutral hadron momentum imbalance histogram 
88   TH2F * fhPtImbalanceCharged  ; //! Trigger particle -charged hadron momentim imbalance histogram
89   TH2F * fhPtImbalanceUeCharged  ; //! Trigger particle -underlying charged hadron momentim imbalance histogram  
90   TH2F * fhPtImbalanceUeNeutral  ; //! Trigger particle - neutral hadron momentum imbalance histogram 
91
92   //with different imblance varible defination HBP distribution
93   TH2F * fhPtHbpCharged  ; //! Trigger particle -charged hadron momentim HBP histogram
94   TH2F * fhPtHbpUeCharged  ; //! Trigger particle -underlying charged hadron momentim HBP histogram  
95   TH2F * fhPtHbpNeutral  ; //! Trigger particle -neutral particle momentim HBP histogram
96   TH2F * fhPtHbpUeNeutral  ; //! Trigger particle -underlying neutral hadron momentim HBP histogram  
97
98
99 //if several UE calculation is on, most useful for jet-jet events contribution
100   TH2F * fhDeltaPhiUeLeftCharged  ;  //! Difference of charged particle from underlying events phi and trigger particle  phi as function of charged particle pT
101   TH2F * fhDeltaPhiUeRightCharged  ;  //! Difference of charged particle from underlying events phi and trigger particle  phi 
102   TH2F * fhDeltaPhiUeLeftNeutral  ;  //! Difference of charged particle from underlying events phi and trigger particle  phi as function of neutral particle pT
103   TH2F * fhDeltaPhiUeRightNeutral  ;  //! Difference of charged particle from underlying events phi and trigger particle  phi 
104   TH2F * fhPtImbalanceUeLeftCharged  ; //! Trigger particle -underlying charged hadron momentim imbalance histogram 
105   TH2F * fhPtImbalanceUeRightCharged  ; //! Trigger particle -underlying charged hadron momentim imbalance histogram  
106   TH2F * fhPtImbalanceUeLeftNeutral  ; //! Trigger particle -underlying neutral hadron momentim imbalance histogram 
107   TH2F * fhPtImbalanceUeRightNeutral  ; //! Trigger particle -underlying neutral hadron momentim imbalance histogram 
108   TH2F * fhPtHbpUeLeftCharged  ; //! Trigger particle -underlying charged hadron momentim HBP histogram 
109   TH2F * fhPtHbpUeRightCharged  ; //! Trigger particle -underlying charged hadron momentim HBP histogram  
110   TH2F * fhPtHbpUeLeftNeutral  ; //! Trigger particle -underlying neutral hadron momentim HBP histogram 
111   TH2F * fhPtHbpUeRightNeutral  ; //! Trigger particle -underlying neutral hadron momentim HBP histogram  
112         
113         
114   ClassDef(AliAnaParticleHadronCorrelation,2)
115 } ;
116  
117
118 #endif //ALIANAPARTICLEHADRONCORRELATION_H
119
120
121