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