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