New more general analysis implemention for particle identification and correlation...
[u/mrichter/AliRoot.git] / PWG4 / 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 /* History of cvs commits:
8  *
9  * $Log$
10  *
11  *
12  */
13
14 //_________________________________________________________________________
15 // Class that contains the algorithm for the analysis of particle - hadron correlations
16 // Particle (for example direct gamma) must be found in a previous analysis 
17 //-- Author: Gustavo Conesa (INFN-LNF)
18
19 // --- ROOT system ---
20 class TH2F;
21
22 // --- Analysis system ---
23 #include "AliAnaBaseClass.h"
24
25 class AliAnaParticleHadronCorrelation : public AliAnaBaseClass {
26
27 public: 
28   
29   AliAnaParticleHadronCorrelation() ; // default ctor
30   AliAnaParticleHadronCorrelation(const AliAnaParticleHadronCorrelation & ph) ; // cpy ctor
31   AliAnaParticleHadronCorrelation & operator = (const AliAnaParticleHadronCorrelation & ph) ;//cpy assignment
32   virtual ~AliAnaParticleHadronCorrelation() {;} //virtual dtor
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   void InitParameters();
42
43   void Print(const Option_t * opt) const;
44  
45   void MakeChargedCorrelation(AliAODParticleCorrelation * aodParticle,TSeqCollection* pl, const Bool_t bFillHisto) ;
46   void MakeNeutralCorrelation(AliAODParticleCorrelation * aodParticle,TSeqCollection* pl, const Bool_t bFillHisto)  ;
47
48   void MakeAnalysisFillAOD()  ;
49   
50   void MakeAnalysisFillHistograms() ; 
51
52   Bool_t SelectCluster(AliAODCaloCluster * calo, Double_t *vertex, TLorentzVector & mom, Int_t & pdg);
53
54   private:
55   
56   Double_t   fDeltaPhiMaxCut ;      // Minimum Delta Phi Gamma-Hadron
57   Double_t   fDeltaPhiMinCut ;      //  Maximum Delta Phi Gamma-Hadron
58
59   //Histograms
60   TH2F * fhPhiCharged  ; //Phi distribution of selected charged particles
61   TH2F * fhPhiNeutral   ;  //Phi distribution of selected neutral particles
62   TH2F * fhEtaCharged  ; //Eta distribution of selected charged particles
63   TH2F * fhEtaNeutral   ; //Eta distribution of selected neutral particles
64   TH2F * fhDeltaPhiCharged  ;  //Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT
65   TH2F * fhDeltaPhiNeutral   ;  //Difference of neutral particle phi and trigger particle  phi as function of  trigger particle pT
66   TH2F * fhDeltaEtaCharged  ;  //Difference of charged particle eta and trigger particle  eta as function of  trigger particle pT
67   TH2F * fhDeltaEtaNeutral  ;  //Difference of neutral particle eta and trigger particle  eta as function of  trigger particle pT
68   TH2F * fhDeltaPhiChargedPt  ;  //Difference of charged particle phi and trigger particle  phi as function of charged particle pT
69   TH2F * fhDeltaPhiNeutralPt  ;  //Difference of neutral particle phi and trigger particle  phi as function of neutral particle particle pT
70
71   TH2F * fhPtImbalanceNeutral  ; //Trigger particle - neutral hadron momentum imbalance histogram 
72   TH2F * fhPtImbalanceCharged  ; //Trigger particle -charged hadron momentim imbalance histogram
73   
74   ClassDef(AliAnaParticleHadronCorrelation,1)
75 } ;
76  
77
78 #endif //AliAnaParticleHadronCorrelation_H
79
80
81