dab3d945a9231b8a370cf7797fde02946d5467c2
[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   Bool_t OnlyIsolated() const {return fSelectIsolated ; }
36   void SelectIsolated(Bool_t select) {fSelectIsolated = select ; }
37   
38   void InitParameters();
39
40   void Print(const Option_t * opt) const;
41  
42   void MakeChargedCorrelation(AliAODPWG4ParticleCorrelation * aodParticle,TSeqCollection* pl, const Bool_t bFillHisto) ;
43   void MakeNeutralCorrelation(AliAODPWG4ParticleCorrelation * aodParticle,TSeqCollection* pl, const Bool_t bFillHisto)  ;
44
45   void MakeAnalysisFillAOD()  ;
46   
47   void MakeAnalysisFillHistograms() ; 
48
49   Bool_t SelectCluster(AliAODCaloCluster * calo, Double_t *vertex, TLorentzVector & mom, Int_t & pdg) const ;
50
51   private:
52   
53   Double_t   fDeltaPhiMaxCut ;      // Minimum Delta Phi Gamma-Hadron
54   Double_t   fDeltaPhiMinCut ;      // Maximum Delta Phi Gamma-Hadron
55   Bool_t     fSelectIsolated ;      // Select only trigger particles isolated
56         
57   //Histograms
58   TH2F * fhPhiCharged  ; //! Phi distribution of selected charged particles
59   TH2F * fhPhiNeutral   ;  //! Phi distribution of selected neutral particles
60   TH2F * fhEtaCharged  ; //! Eta distribution of selected charged particles
61   TH2F * fhEtaNeutral   ; //! Eta distribution of selected neutral particles
62   TH2F * fhDeltaPhiCharged  ;  //! Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT
63   TH2F * fhDeltaPhiNeutral   ;  //! Difference of neutral particle phi and trigger particle  phi as function of  trigger particle pT
64   TH2F * fhDeltaEtaCharged  ;  //! Difference of charged particle eta and trigger particle  eta as function of  trigger particle pT
65   TH2F * fhDeltaEtaNeutral  ;  //! Difference of neutral particle eta and trigger particle  eta as function of  trigger particle pT
66   TH2F * fhDeltaPhiChargedPt  ;  //! Difference of charged particle phi and trigger particle  phi as function of charged particle pT
67   TH2F * fhDeltaPhiNeutralPt  ;  //! Difference of neutral particle phi and trigger particle  phi as function of neutral particle particle pT
68
69   TH2F * fhPtImbalanceNeutral  ; //! Trigger particle - neutral hadron momentum imbalance histogram 
70   TH2F * fhPtImbalanceCharged  ; //! Trigger particle -charged hadron momentim imbalance histogram
71   
72   ClassDef(AliAnaParticleHadronCorrelation,1)
73 } ;
74  
75
76 #endif //ALIANAPARTICLEHADRONCORRELATION_H
77
78
79