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