]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/CaloTrackCorrelations/AliAnaParticleHadronCorrelation.h
fix compilation warning
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / AliAnaParticleHadronCorrelation.h
index 8ec6a97d3eac2f852472d7e92685c1251b8f38b5..5b6db12b355d40049e57255f8e4a0e5a0223f7c2 100755 (executable)
@@ -36,6 +36,8 @@ class AliAnaParticleHadronCorrelation : public AliAnaCaloTrackCorrBaseClass {
   TList      * GetCreateOutputObjects();
   
   void         InitParameters();
+
+  void         FillEventMixPool() ;
   
   void         MakeAnalysisFillAOD()  ;
   
@@ -47,55 +49,59 @@ class AliAnaParticleHadronCorrelation : public AliAnaCaloTrackCorrBaseClass {
   
   Bool_t       GetDecayPhotonMomentum(const AliAODPWG4Particle* trigger, TLorentzVector & mom1,TLorentzVector & mom2);
   
-  Bool_t       MakeChargedCorrelation  (AliAODPWG4ParticleCorrelation * aodParticle, const TObjArray* pl, const Bool_t bFillHisto) ;
+  Bool_t       MakeChargedCorrelation  (AliAODPWG4ParticleCorrelation * aodParticle, const TObjArray* pl, Bool_t bFillHisto) ;
   
-  Bool_t       MakeNeutralCorrelation  (AliAODPWG4ParticleCorrelation * aodParticle, const TObjArray* pl, const Bool_t bFillHisto) ;
+  Bool_t       MakeNeutralCorrelation  (AliAODPWG4ParticleCorrelation * aodParticle, const TObjArray* pl, Bool_t bFillHisto) ;
   
-  void         MakeMCChargedCorrelation(AliAODPWG4ParticleCorrelation * aodParticle);
+  void         MakeMCChargedCorrelation(AliAODPWG4ParticleCorrelation * aodParticle) ;
   
-  void         MakeChargedMixCorrelation(AliAODPWG4ParticleCorrelation *aodParticle);
+  void         MakeChargedMixCorrelation(AliAODPWG4ParticleCorrelation *aodParticle) ;
   
   // Filling histogram methods
   
-  void         FillChargedAngularCorrelationHistograms  (const Float_t ptAssoc,  const Float_t ptTrig,   const Int_t   assocBin,
-                                                         const Float_t phiAssoc, const Float_t phiTrig,  Float_t &     deltaPhi,
-                                                         const Float_t etaAssoc, const Float_t etaTrig,  
-                                                         const Bool_t  decay,    const Float_t hmpidSignal,const Int_t nTracks);
+  void         FillChargedAngularCorrelationHistograms  (Float_t ptAssoc,  Float_t ptTrig,      Int_t   assocBin,
+                                                         Float_t phiAssoc, Float_t phiTrig,     Float_t &     deltaPhi,
+                                                         Float_t etaAssoc, Float_t etaTrig,  
+                                                         Bool_t  decay,    Float_t hmpidSignal, Int_t outTOF,
+                                                         Int_t nTracks,    Int_t   mcTag);
   
   void         FillChargedEventMixPool();
   
-  Bool_t       FillChargedMCCorrelationHistograms       (const Float_t mcAssocPt,      Float_t mcAssocPhi, const Float_t mcAssocEta,
-                                                         const Float_t mcTrigPt, const Float_t mcTrigPhi,  const Float_t mcTrigEta  );
+  Bool_t       FillChargedMCCorrelationHistograms       (Float_t mcAssocPt,      Float_t mcAssocPhi, Float_t mcAssocEta,
+                                                         Float_t mcTrigPt, Float_t mcTrigPhi,  Float_t mcTrigEta  );
 
   
-  void         FillChargedMomentumImbalanceHistograms   (const Float_t ptTrig,   const Float_t ptAssoc, 
-                                                         const Float_t xE,       const Float_t hbpXE, 
-                                                         const Float_t zT,       const Float_t hbpZT, 
-                                                         const Float_t pout,     const Float_t deltaPhi,
-                                                         const Int_t   nTracks,  const Int_t   charge,
-                                                         const Int_t   assocBin, const Bool_t  decay );
+  void         FillChargedMomentumImbalanceHistograms   (Float_t ptTrig,   Float_t ptAssoc, 
+                                                         Float_t xE,       Float_t hbpXE, 
+                                                         Float_t zT,       Float_t hbpZT, 
+                                                         Float_t pout,     Int_t   nTracks,  Int_t charge,
+                                                         Int_t   assocBin, Bool_t  decay,
+                                                         Int_t outTOF,    Int_t mcTag );
+  
+  void         FillChargedUnderlyingEventHistograms     (Float_t ptTrig,   Float_t ptAssoc, 
+                                                         Float_t deltaPhi, Int_t nTracks,    Int_t outTOF);
   
-  void         FillChargedUnderlyingEventHistograms     (const Float_t ptTrig,   const Float_t ptAssoc, 
-                                                         const Float_t deltaPhi, const Int_t nTracks);
+  void         FillChargedUnderlyingEventSidesHistograms(Float_t ptTrig,   Float_t ptAssoc, 
+                                                         Float_t deltaPhi);
   
-  void         FillChargedUnderlyingEventSidesHistograms(const Float_t ptTrig,   const Float_t ptAssoc, 
-                                                         const Float_t xE,       const Float_t hbpXE, 
-                                                         const Float_t zT,       const Float_t hbpZT, 
-                                                         const Float_t deltaPhi);
+  void         FillDecayPhotonCorrelationHistograms     (Float_t ptAssoc,     Float_t phiAssoc, 
+                                                         TLorentzVector mom1, TLorentzVector mom2, 
+                                                         Bool_t bChargedOrNeutral); 
   
-  void         FillDecayPhotonCorrelationHistograms     (const Float_t ptAssoc,     const Float_t phiAssoc, 
-                                                         const TLorentzVector mom1, const TLorentzVector mom2, 
-                                                         const Bool_t bChargedOrNeutral); 
   
+  void         FillNeutralAngularCorrelationHistograms  (Float_t ptAssoc,  Float_t ptTrig,
+                                                         Float_t phiAssoc, Float_t phiTrig,  Float_t &     deltaPhi,
+                                                         Float_t etaAssoc, Float_t etaTrig);
   
-  void         FillNeutralAngularCorrelationHistograms  (const Float_t ptAssoc,  const Float_t ptTrig,
-                                                         const Float_t phiAssoc, const Float_t phiTrig,  Float_t &     deltaPhi,
-                                                         const Float_t etaAssoc, const Float_t etaTrig);
+  void         FillNeutralEventMixPool();
   
-  void         FillNeutralUnderlyingEventSidesHistograms(const Float_t ptTrig,   const Float_t ptAssoc, 
-                                                         const Float_t xE,       const Float_t hbpXE, 
-                                                         const Float_t zT,       const Float_t hbpZT, 
-                                                         const Float_t deltaPhi);  
+  
+  void         FillNeutralUnderlyingEventSidesHistograms(Float_t ptTrig,   Float_t ptAssoc, 
+                                                         Float_t xE,       Float_t hbpXE, 
+                                                         Float_t zT,       Float_t hbpZT, 
+                                                         Float_t deltaPhi);  
+    
+  Int_t        GetMCTagHistogramIndex(Int_t tag);
   
   // Parameter setter and getter
   
@@ -168,7 +174,19 @@ class AliAnaParticleHadronCorrelation : public AliAnaCaloTrackCorrBaseClass {
   void         SwitchOnUseMixStoredInReader()    { fUseMixStoredInReader = kTRUE ; }
   void         SwitchOffUseMixStoredInReader()   { fUseMixStoredInReader = kFALSE; }
   
+  void         SwitchOnFillNeutralInMixedEvent() { fFillNeutralEventMixPool = kTRUE  ; }
+  void         SwitchOffFillNeutralInMixedEvent(){ fFillNeutralEventMixPool = kFALSE ; }
+  
+  void         SetM02Cut(Float_t min=0, Float_t max=10)  { fM02MinCut   = min ; fM02MaxCut  = max ; }
+
+  void         SwitchOnCorrelationVzBin()        { fCorrelVzBin          = kTRUE  ; }
+  void         SwitchOffCorrelationVzBin()       { fCorrelVzBin          = kFALSE ; }  
+  
+  void         SwitchOnFillPileUpHistograms()    { fFillPileUpHistograms = kTRUE  ; }
+  void         SwitchOffFillPileUpHistograms()   { fFillPileUpHistograms = kFALSE ; }
+  
  private:
+  
   Float_t      fMinTriggerPt ;                 // Minimum trigger hadron pt
   Float_t      fMaxAssocPt ;                   // Maximum associated hadron pt
   Float_t      fMinAssocPt ;                   // Minimum associated hadron pt
@@ -188,22 +206,45 @@ class AliAnaParticleHadronCorrelation : public AliAnaCaloTrackCorrBaseClass {
   Bool_t       fHMPIDCorrelation    ;          // Correlate with particles on HMPID or its acceptance
   Bool_t       fFillBradHisto ;                // DPhi histograms calculated differently
   Int_t        fNAssocPtBins ;                 // Number of associated pT bins under study
-  Float_t      fAssocPtBinLimit[10] ;          // Associated pT under study
+  Float_t      fAssocPtBinLimit[20] ;          // Associated pT under study
+  Bool_t       fCorrelVzBin ;                  // Fill one histogram per vz bin
   
-  TList **     fListMixEvents ;                //![GetNCentrBin()*GetNZvertBin()*GetNRPBin()] Containers for photons in stored events for mixing
+  TList **     fListMixTrackEvents ;           //![GetNCentrBin()*GetNZvertBin()*GetNRPBin()] Containers for tracks in stored events for mixing
+  TList **     fListMixCaloEvents ;            //![GetNCentrBin()*GetNZvertBin()*GetNRPBin()] Containers for calo clusters in stored events for mixing
+
   Bool_t       fUseMixStoredInReader;          // Signal if in the current event the pool was filled
+  Bool_t       fFillNeutralEventMixPool;       // Add clusters to pool if requested
   
+  Float_t      fM02MaxCut   ;                  // Study photon clusters with l0 smaller than cut
+  Float_t      fM02MinCut   ;                  // Study photon clusters with l0 larger than cut
+  
+  Bool_t       fFillPileUpHistograms;          // Fill pile-up related histograms
+
   //Histograms
 
   //leading particles 
+  TH1F *       fhPtInput;                      //! pT distribution of trigger particles before selection
+  TH1F *       fhPtFidCut;                     //! pT distribution of trigger particles before leading selection, after fiducial selection
   TH1F *       fhPtLeading;                    //! pT distribution of leading particles
+  TH1F *       fhPtLeadingVtxBC0;              //! pT distribution of leading particles
+  TH1F *       fhPtLeadingPileUp[7];           //! pT distribution of leading particles
+  TH2F *       fhPtLeadingVzBin;               //! pT distribution of leading particles vs vz bin
+  TH2F *       fhPtLeadingBin;                 //! pT distribution of leading particles, vs mixing bin
   TH2F *       fhPhiLeading;                   //! phi distribution vs pT of leading particles
   TH2F *       fhEtaLeading;                   //! eta distribution vs pT of leading particles
   
+  TH1F *       fhPtLeadingMC[6];               //! pT distribution of leading particles, check the origin of the cluster : decay photon (pi0, eta, other), merged photon (pi0), hadron, rest of photons (prompt, FSR, ISR)
+
   TH2F *       fhPtLeadingCentrality;          //! pT distribution of leading particles vs centrality
   TH2F *       fhPtLeadingEventPlane;          //! pT distribution of leading particles vs centrality
   TH2F *       fhLeadingEventPlaneCentrality;  //! event plane vs centrality for leading particles
   
+  TH1F *       fhPtLeadingMixed;               //! pT distribution of leading particles, used in mixing
+  TH2F *       fhPtLeadingMixedVzBin;          //! pT distribution of leading particles, used in mixing, vs vz bin
+  TH2F *       fhPtLeadingMixedBin;            //! pT distribution of leading particles vs mixing bin
+  TH2F *       fhPhiLeadingMixed;              //! phi distribution vs pT of leading particles, used in mixing
+  TH2F *       fhEtaLeadingMixed;              //! eta distribution vs pT of leading particles, used in mixing  
+
   //trigger-charged histograms
   TH2F *       fhDeltaPhiDeltaEtaCharged ;     //! differences of eta and phi between trigger and charged hadrons
   TH2F *       fhPhiCharged  ;                 //! Phi distribution of charged particles
@@ -225,12 +266,62 @@ class AliAnaParticleHadronCorrelation : public AliAnaCaloTrackCorrBaseClass {
   TH2F *       fhZTNegCharged  ;               //! Trigger particle -negative charged hadron momentum imbalance histogram 
   TH2F *       fhPtHbpZTCharged  ;             //! Trigger particle -charged hadron momentum HBP histogram
   TH2F *       fhPtHbpZTUeCharged  ;           //! Trigger particle -underlying charged hadron momentum HBP histogram  
+  
+  TH2F *       fhXEChargedMC[7]  ;             //! Trigger particle -charged hadron momentum imbalance histogram, check the origin of the cluster : decay photon (pi0, eta, other), merged photon (pi0), hadron, rest of photons (prompt, FSR, ISR)
+  TH2F *       fhDeltaPhiChargedMC[7]  ;       //! Trigger particle -charged hadron delta phi histogram, check the origin of the cluster : decay photon (pi0, eta, other), merged photon (pi0), hadron, rest of photons (prompt, FSR, ISR)
+
+  TH2F *       fhDeltaPhiDeltaEtaChargedPtA3GeV;//! differences of eta and phi between trigger and charged hadrons, pTa > 3 GeV
+  TH2F *       fhDeltaPhiChargedPtA3GeV  ;      //! Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT, pTa > 3 GeV
+  TH2F *       fhDeltaEtaChargedPtA3GeV  ;      //! Difference of charged particle eta and trigger particle  eta as function of  trigger particle pT, pTa > 3 GeV
+  
+  // Events tagged as pileup by SDD,EMCal, or combination
+  TH2F *       fhDeltaPhiChargedPileUp[7]  ;    //! Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT
+  TH2F *       fhDeltaEtaChargedPileUp[7]  ;    //! Difference of charged particle eta and trigger particle  eta as function of  trigger particle pT
+  TH2F *       fhDeltaPhiChargedPtA3GeVPileUp[7] ; //! Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT, pTa > 3 GeV
+  TH2F *       fhDeltaEtaChargedPtA3GeVPileUp[7] ; //! Difference of charged particle eta and trigger particle  eta as function of  trigger particle pT, pTa > 3 GeV
+  TH2F *       fhXEChargedPileUp[7]  ;          //! Trigger particle -charged hadron momentum imbalance histogram
+  TH2F *       fhXEUeChargedPileUp[7]  ;        //! Trigger particle -charged hadron momentum imbalance histogram
+  TH2F *       fhZTChargedPileUp[7]  ;          //! Trigger particle -charged hadron momentum imbalance histogram
+  TH2F *       fhZTUeChargedPileUp[7]  ;        //! Trigger particle -charged hadron momentum imbalance histogram
+  TH2F *       fhPtTrigChargedPileUp[7] ;       //! trigger and correlated particl pt, to be used for mean value for kt
+  
+  TH2F *       fhDeltaPhiChargedOtherBC  ;       //! Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT
+  TH2F *       fhDeltaPhiChargedPtA3GeVOtherBC ; //! Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT, pTa > 3 GeV
+  TH2F *       fhXEChargedOtherBC  ;             //! Trigger particle -charged hadron momentum imbalance histogram
+  TH2F *       fhXEUeChargedOtherBC  ;           //! Trigger particle -charged hadron momentum imbalance histogram
+  TH2F *       fhZTChargedOtherBC  ;             //! Trigger particle -charged hadron momentum imbalance histogram
+  TH2F *       fhZTUeChargedOtherBC  ;           //! Trigger particle -charged hadron momentum imbalance histogram
+  TH2F *       fhPtTrigChargedOtherBC ;          //! trigger and correlated particl pt, to be used for mean value for kt
+
+  TH2F *       fhDeltaPhiChargedBC0  ;           //! Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT
+  TH2F *       fhDeltaPhiChargedPtA3GeVBC0 ;     //! Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT, pTa > 3 GeV
+  TH2F *       fhXEChargedBC0  ;                 //! Trigger particle -charged hadron momentum imbalance histogram
+  TH2F *       fhXEUeChargedBC0  ;               //! Trigger particle -charged hadron momentum imbalance histogram
+  TH2F *       fhZTChargedBC0  ;                 //! Trigger particle -charged hadron momentum imbalance histogram
+  TH2F *       fhZTUeChargedBC0  ;               //! Trigger particle -charged hadron momentum imbalance histogram
+  TH2F *       fhPtTrigChargedBC0 ;              //! trigger and correlated particl pt, to be used for mean value for kt
+
+  TH2F *       fhDeltaPhiChargedVtxBC0  ;        //! Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT
+  TH2F *       fhDeltaPhiChargedPtA3GeVVtxBC0 ;  //! Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT, pTa > 3 GeV
+  TH2F *       fhXEChargedVtxBC0  ;              //! Trigger particle -charged hadron momentum imbalance histogram
+  TH2F *       fhXEUeChargedVtxBC0  ;            //! Trigger particle -charged hadron momentum imbalance histogram
+  TH2F *       fhZTChargedVtxBC0  ;              //! Trigger particle -charged hadron momentum imbalance histogram
+  TH2F *       fhZTUeChargedVtxBC0  ;            //! Trigger particle -charged hadron momentum imbalance histogram
+  TH2F *       fhPtTrigChargedVtxBC0 ;           //! trigger and correlated particl pt, to be used for mean value for kt
+  
   //if several UE calculation is on, most useful for jet-jet events contribution
   TH2F *       fhDeltaPhiUeLeftCharged  ;      //! Difference of charged particle from underlying events phi and trigger particle  phi as function of charged particle pT
   TH2F *       fhDeltaPhiUeRightCharged  ;     //! Difference of charged particle from underlying events phi and trigger particle  phi 
+  TH2F *       fhDeltaPhiUeLeftUpCharged;      //! Difference of charged particle from underlying events phi and trigger particle  phi 
+  TH2F *       fhDeltaPhiUeRightUpCharged;     //! Difference of charged particle from underlying events phi and trigger particle  phi 
+  TH2F *       fhDeltaPhiUeLeftDownCharged;    //! Difference of charged particle from underlying events phi and trigger particle  phi 
+  TH2F *       fhDeltaPhiUeRightDownCharged;   //! Difference of charged particle from underlying events phi and trigger particle  phi 
   TH2F *       fhXEUeLeftCharged  ;            //! Trigger particle -underlying charged hadron momentum imbalance histogram 
   TH2F *       fhXEUeRightCharged ;            //! Trigger particle -underlying charged hadron momentum imbalance histogram  
+  TH2F *       fhXEUeLeftUpCharged  ;          //! Trigger particle -underlying charged hadron momentum imbalance histogram 
+  TH2F *       fhXEUeRightUpCharged ;          //! Trigger particle -underlying charged hadron momentum imbalance histogram  
+  TH2F *       fhXEUeLeftDownCharged  ;        //! Trigger particle -underlying charged hadron momentum imbalance histogram 
+  TH2F *       fhXEUeRightDownCharged ;        //! Trigger particle -underlying charged hadron momentum imbalance histogram  
   TH2F *       fhPtHbpXEUeLeftCharged  ;       //! Trigger particle -underlying charged hadron momentum HBP histogram 
   TH2F *       fhPtHbpXEUeRightCharged  ;      //! Trigger particle -underlying charged hadron momentum HBP histogram  
   TH2F *       fhZTUeLeftCharged  ;            //! Trigger particle -underlying charged hadron momentum imbalance histogram 
@@ -251,13 +342,16 @@ class AliAnaParticleHadronCorrelation : public AliAnaCaloTrackCorrBaseClass {
   TH2F **      fhTrigZTUeCorr  ;               //![GetMultiBin()] Trigger particle -UE charged hadron momentum imbalance histogram
   
   TH2F *       fhAssocPtBkg;                   //! Trigger pT vs associated pT for background
-  TH2F **      fhDeltaPhiAssocPtBin;           //![fNAssocPtBins] Trigger pT vs dPhi for different associated pt bins
-  TH2F **      fhDeltaPhiAssocPtBinHMPID;      //![fNAssocPtBins] Trigger pT vs dPhi for different associated pt bins, track with HMPID  
-  TH2F **      fhDeltaPhiAssocPtBinHMPIDAcc;   //![fNAssocPtBins] Trigger pT vs dPhi for different associated pt bins, track with HMPIDAcc  
-  TH2F **      fhDeltaPhiBradAssocPtBin;       //![fNAssocPtBins] Trigger pT vs dPhi Brad (?) for different associated pt bins
+  TH2F **      fhDeltaPhiDeltaEtaAssocPtBin;   //![fNAssocPtBins*GetNZvertBin()] Difference of charged particle phi and trigger particle  phi as function eta difference, for different associated bins
+  TH2F **      fhDeltaPhiAssocPtBin;           //![fNAssocPtBins*GetNZvertBin()] Trigger pT vs dPhi for different associated pt bins
+  TH2F **      fhDeltaPhiAssocPtBinDEta08;     //![fNAssocPtBins*GetNZvertBin()] Trigger pT vs dPhi for different associated pt bins for Delta eta > 0.8
+  TH2F **      fhDeltaPhiAssocPtBinDEta0 ;     //![fNAssocPtBins*GetNZvertBin()] Trigger pT vs dPhi for different associated pt bins for Delta eta = 0
+  TH2F **      fhDeltaPhiAssocPtBinHMPID;      //![fNAssocPtBins*GetNZvertBin()] Trigger pT vs dPhi for different associated pt bins, track with HMPID  
+  TH2F **      fhDeltaPhiAssocPtBinHMPIDAcc;   //![fNAssocPtBins*GetNZvertBin()] Trigger pT vs dPhi for different associated pt bins, track with HMPIDAcc
+  TH2F **      fhDeltaPhiBradAssocPtBin;       //![fNAssocPtBins*GetNZvertBin()] Trigger pT vs dPhi Brad (?) for different associated pt bins
   TH2F *       fhDeltaPhiBrad;                 //! Trigger pT vs dPhi Brad (?) for different associated pt bins
-  TH2F **      fhXEAssocPtBin ;                //![fNAssocPtBins] Trigger pT vs xE for different associated pt bins
-  TH2F **      fhZTAssocPtBin ;                //![fNAssocPtBins] Trigger pT vs zT for different associated pt bins
+  TH2F **      fhXEAssocPtBin ;                //![fNAssocPtBins*GetNZvertBin()] Trigger pT vs xE for different associated pt bins
+  TH2F **      fhZTAssocPtBin ;                //![fNAssocPtBins*GetNZvertBin()] Trigger pT vs zT for different associated pt bins
 
   //trigger-neutral histograms
   TH2F *       fhDeltaPhiDeltaEtaNeutral ;     //! differences of eta and phi between trigger and neutral hadrons (pi0)
@@ -298,13 +392,15 @@ class AliAnaParticleHadronCorrelation : public AliAnaCaloTrackCorrBaseClass {
   TH2F *       fhXEDecayNeutral ;              //! Trigger particle (decay from pi0)-neutral hadron momentum imbalance histogram  
   TH2F *       fhZTDecayNeutral ;              //! Trigger particle (decay from pi0)-neutral hadron momentum imbalance histogram  
 
-  TH2F **      fhDeltaPhiDecayChargedAssocPtBin;//![fNAssocPtBins] Tagged as decay Trigger pT vs dPhi for different associated pt bins
-  TH2F **      fhXEDecayChargedAssocPtBin ;    //![fNAssocPtBins] Tagged as decay Trigger pT vs xE for different associated pt bins
-  TH2F **      fhZTDecayChargedAssocPtBin ;    //![fNAssocPtBins] Tagged as decay Trigger pT vs xE for different associated pt bins  
+  TH2F **      fhDeltaPhiDecayChargedAssocPtBin;//![fNAssocPtBins*GetNZvertBin()] Tagged as decay Trigger pT vs dPhi for different associated pt bins
+  TH2F **      fhXEDecayChargedAssocPtBin ;     //![fNAssocPtBins*GetNZvertBin()] Tagged as decay Trigger pT vs xE for different associated pt bins
+  TH2F **      fhZTDecayChargedAssocPtBin ;     //![fNAssocPtBins*GetNZvertBin()] Tagged as decay Trigger pT vs xE for different associated pt bins  
   
   //if the data is MC, fill MC information
   TH2F *       fh2phiLeadingParticle;          //! #phi resolution for triggers
   TH1F *       fhMCPtLeading;                  //! MC pure pT distribution of leading particles
+  TH2F *       fhMCPhiLeading;                 //! MC pure Phi distribution of leading particles
+  TH2F *       fhMCEtaLeading;                 //! MC pure Eta distribution of leading particles
   TH2F *       fhMCEtaCharged;                 //! MC pure particles charged primary pt vs eta (both associated) 
   TH2F *       fhMCPhiCharged;                 //! MC pure particles charged primary pt vs phi (both associated) 
   TH2F *       fhMCDeltaEtaCharged;            //! MC pure particles charged trigger primary pt vs delta eta (associated-trigger) 
@@ -323,13 +419,17 @@ class AliAnaParticleHadronCorrelation : public AliAnaCaloTrackCorrBaseClass {
 
   // Mixing
   TH1I *       fhNEventsTrigger;               //! number of analyzed triggered events
-  TH1F *       fhNtracksAll;                   //! total number of tracks 
-  TH1F *       fhNtracksTrigger;               //! total number of tracks in triggered events 
   TH1F *       fhNtracksMB;                    //! total number of tracks in MB events
+  TH1F *       fhNclustersMB;                  //! total number of clusters in MB events
   TH2F *       fhMixDeltaPhiCharged  ;         //! Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT
   TH2F *       fhMixDeltaPhiDeltaEtaCharged  ; //! Difference of charged particle phi and trigger particle  phi as function eta difference
-  TH2F **      fhMixDeltaPhiChargedAssocPtBin; //![fNAssocPtBins] Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT, for different associated bins
-  TH2F **      fhMixDeltaPhiDeltaEtaChargedAssocPtBin; //![fNAssocPtBins] Difference of charged particle phi and trigger particle  phi  as function eta difference, for different associated bins
+  TH2F *       fhMixXECharged;                 //! xE for mixed event
+  TH2F *       fhMixXEUeCharged;               //! xE for mixed event in Ue region
+  TH2F *       fhMixHbpXECharged;              //! ln(1/xE) for mixed event
+  TH2F **      fhMixDeltaPhiChargedAssocPtBin; //![fNAssocPtBins*GetNZvertBin()] Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT, for different associated bins
+  TH2F **      fhMixDeltaPhiChargedAssocPtBinDEta08;   //![fNAssocPtBins*GetNZvertBin()] Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT, for different associated bins, delta eta > 0.8
+  TH2F **      fhMixDeltaPhiChargedAssocPtBinDEta0;    //![fNAssocPtBins*GetNZvertBin()] Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT, for different associated bins, delta eta = 0
+  TH2F **      fhMixDeltaPhiDeltaEtaChargedAssocPtBin; //![fNAssocPtBins*GetNZvertBin()] Difference of charged particle phi and trigger particle  phi as function eta difference, for different associated bins
 
   TH1I *       fhEventBin;                     //! Number of real  events in a particular bin (cen,vz,rp)
   TH1I *       fhEventMixBin;                  //! Number of mixed events in a particular bin (cen,vz,rp)
@@ -337,7 +437,7 @@ class AliAnaParticleHadronCorrelation : public AliAnaCaloTrackCorrBaseClass {
   AliAnaParticleHadronCorrelation(              const AliAnaParticleHadronCorrelation & ph) ; // cpy ctor
   AliAnaParticleHadronCorrelation & operator = (const AliAnaParticleHadronCorrelation & ph) ; // cpy assignment
        
-  ClassDef(AliAnaParticleHadronCorrelation,17)
+  ClassDef(AliAnaParticleHadronCorrelation,29)
 } ;