]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/CaloTrackCorrelations/AliAnaParticleHadronCorrelation.h
add possibility to analyze triggered events and create a pool with MB tracks, fill...
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / 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
6 //_________________________________________________________________________
7 // Class that contains the algorithm for the analysis of particle - hadron correlations
8 // Particle (for example direct gamma) must be found in a previous analysis 
9 //-- Author: Gustavo Conesa (INFN-LNF)
10
11 //  Modified by Yaxian Mao:
12 // 1. add the UE subtraction for corrlation study
13 // 2. change the correlation variable
14 // 3. Only use leading particle(cluster/track) as trigger for correlation (2010/07/02)
15 // 4. Make decay photon-hadron correlations where decay contribute pi0 mass (2010/09/09)
16 // 5. fill the pout to extract kt at the end, also to study charge asymmetry(2010/10/06) 
17 // 6. Add the possibility for event selection analysis based on vertex and multiplicity bins (10/10/2010)
18 // 7. change the way of delta phi cut for UE study due to memory issue (reduce histograms)
19 // 8. Add the possibility to request the absolute leading particle at the near side or not, set trigger bins, general clean-up (08/2011)
20
21 // --- Analysis system ---
22 #include "AliAnaCaloTrackCorrBaseClass.h"
23 class AliAODPWG4ParticleCorrelation ;
24
25 class AliAnaParticleHadronCorrelation : public AliAnaCaloTrackCorrBaseClass {
26   
27  public: 
28   
29   AliAnaParticleHadronCorrelation() ;          // default ctor
30   virtual ~AliAnaParticleHadronCorrelation() ; // virtual dtor
31   
32   // General methods
33       
34   TObjString * GetAnalysisCuts();
35   
36   TList      * GetCreateOutputObjects();
37   
38   void         InitParameters();
39   
40   void         MakeAnalysisFillAOD()  ;
41   
42   void         MakeAnalysisFillHistograms() ; 
43   
44   void         Print(const Option_t * opt) const;
45   
46   // Main analysis methods
47   
48   Bool_t       GetDecayPhotonMomentum(const AliAODPWG4Particle* trigger, TLorentzVector & mom1,TLorentzVector & mom2);
49   
50   Bool_t       MakeChargedCorrelation  (AliAODPWG4ParticleCorrelation * aodParticle, const TObjArray* pl, const Bool_t bFillHisto) ;
51   
52   Bool_t       MakeNeutralCorrelation  (AliAODPWG4ParticleCorrelation * aodParticle, const TObjArray* pl, const Bool_t bFillHisto) ;
53   
54   void         MakeMCChargedCorrelation(AliAODPWG4ParticleCorrelation * aodParticle);
55   
56   void         MakeChargedMixCorrelation(AliAODPWG4ParticleCorrelation *aodParticle);
57   
58   // Filling histogram methods
59   
60   void         FillChargedAngularCorrelationHistograms  (const Float_t ptAssoc,  const Float_t ptTrig,   const Int_t   assocBin,
61                                                          const Float_t phiAssoc, const Float_t phiTrig,  Float_t &     deltaPhi,
62                                                          const Float_t etaAssoc, const Float_t etaTrig,  
63                                                          const Bool_t  decay,    const Float_t hmpidSignal,const Int_t nTracks);
64   
65   void         FillChargedEventMixPool();
66   
67   Bool_t       FillChargedMCCorrelationHistograms       (const Float_t mcAssocPt,      Float_t mcAssocPhi, const Float_t mcAssocEta,
68                                                          const Float_t mcTrigPt, const Float_t mcTrigPhi,  const Float_t mcTrigEta  );
69
70   
71   void         FillChargedMomentumImbalanceHistograms   (const Float_t ptTrig,   const Float_t ptAssoc, 
72                                                          const Float_t xE,       const Float_t hbpXE, 
73                                                          const Float_t zT,       const Float_t hbpZT, 
74                                                          const Float_t pout,     const Float_t deltaPhi,
75                                                          const Int_t   nTracks,  const Int_t   charge,
76                                                          const Int_t   assocBin, const Bool_t  decay );
77   
78   void         FillChargedUnderlyingEventHistograms     (const Float_t ptTrig,   const Float_t ptAssoc, 
79                                                          const Float_t deltaPhi, const Int_t nTracks);
80   
81   void         FillChargedUnderlyingEventSidesHistograms(const Float_t ptTrig,   const Float_t ptAssoc, 
82                                                          const Float_t xE,       const Float_t hbpXE, 
83                                                          const Float_t zT,       const Float_t hbpZT, 
84                                                          const Float_t deltaPhi);
85   
86   void         FillDecayPhotonCorrelationHistograms     (const Float_t ptAssoc,     const Float_t phiAssoc, 
87                                                          const TLorentzVector mom1, const TLorentzVector mom2, 
88                                                          const Bool_t bChargedOrNeutral); 
89   
90   
91   void         FillNeutralAngularCorrelationHistograms  (const Float_t ptAssoc,  const Float_t ptTrig,
92                                                          const Float_t phiAssoc, const Float_t phiTrig,  Float_t &     deltaPhi,
93                                                          const Float_t etaAssoc, const Float_t etaTrig);
94   
95   void         FillNeutralUnderlyingEventSidesHistograms(const Float_t ptTrig,   const Float_t ptAssoc, 
96                                                          const Float_t xE,       const Float_t hbpXE, 
97                                                          const Float_t zT,       const Float_t hbpZT, 
98                                                          const Float_t deltaPhi);  
99   
100   
101   // Parameter setter and getter
102   
103   Float_t      GetMinimumTriggerPt()       const { return fMinTriggerPt          ; }
104   
105   Float_t      GetMaximumAssociatedPt()    const { return fMaxAssocPt            ; }
106   Float_t      GetMinimumAssociatedPt()    const { return fMinAssocPt            ; }
107   
108   Double_t     GetDeltaPhiMaxCut()         const { return fDeltaPhiMaxCut        ; }
109   Double_t     GetDeltaPhiMinCut()         const { return fDeltaPhiMinCut        ; }
110   
111   Double_t     GetUeDeltaPhiMaxCut()       const { return fUeDeltaPhiMaxCut      ; }
112   Double_t     GetUeDeltaPhiMinCut()       const { return fUeDeltaPhiMinCut      ; }
113   
114   void         SetMinimumTriggerPt(Float_t min)  { fMinTriggerPt = min           ; }
115   
116   void         SetAssociatedPtRange(Float_t min, Float_t max)
117                   { fMaxAssocPt   = max ;           fMinAssocPt  = min           ; }
118   
119   void         SetDeltaPhiCutRange(Double_t phimin, Double_t phimax)
120                   { fDeltaPhiMaxCut   = phimax ;    fDeltaPhiMinCut   = phimin   ; }
121   
122   void         SetUeDeltaPhiCutRange(Double_t uephimin, Double_t uephimax)
123                   { fUeDeltaPhiMaxCut = uephimax ;  fUeDeltaPhiMinCut = uephimin ; }
124   
125   Bool_t       IsSeveralUEOn()             const { return fMakeSeveralUE         ; }
126   void         SwitchOnSeveralUECalculation()    { fMakeSeveralUE      = kTRUE   ; }
127   void         SwitchOffSeveralUECalculation()   { fMakeSeveralUE      = kFALSE  ; }
128
129   // Do trigger-neutral correlation
130   Bool_t       DoNeutralCorr()             const { return fNeutralCorr           ; }
131   void         SwitchOnNeutralCorr()             { fNeutralCorr      = kTRUE     ; }
132   void         SwitchOffNeutralCorr()            { fNeutralCorr      = kFALSE    ; }  
133   
134   // Taking the absolute leading as the trigger or not
135   Bool_t       DoAbsoluteLeading()         const { return fMakeAbsoluteLeading   ; }
136   void         SwitchOnAbsoluteLeading()         { fMakeAbsoluteLeading = kTRUE  ; }
137   void         SwitchOffAbsoluteLeading()        { fMakeAbsoluteLeading = kFALSE ; }
138   
139   // Taking the near side leading as the trigger or not
140   Bool_t       DoNearSideLeading()         const { return fMakeNearSideLeading   ; }
141   void         SwitchOnNearSideLeading()         { fMakeNearSideLeading = kTRUE  ; }
142   void         SwitchOffNearSideLeading()        { fMakeNearSideLeading = kFALSE ; }
143   
144   // Do decay-hadron correlation if it is pi0 trigger
145   Bool_t       IsPi0Trigger()              const { return fPi0Trigger            ; }
146   void         SwitchOnPi0TriggerDecayCorr()     { fPi0Trigger          = kTRUE  ; }
147   void         SwitchOffPi0TriggerDecayCorr()    { fPi0Trigger          = kFALSE ; }  
148
149   Bool_t       IsDecayTrigger()            const { return fDecayTrigger          ; }
150   void         SwitchOnDecayTriggerDecayCorr()   { fDecayTrigger        = kTRUE  ; }
151   void         SwitchOffDecayTriggerDecayCorr()  { fDecayTrigger        = kFALSE ; }  
152
153   Bool_t       IsHMPIDCorrelation()        const { return fHMPIDCorrelation      ; }
154   void         SwitchOnHMPIDCorrelation()        { fHMPIDCorrelation    = kTRUE  ; }
155   void         SwitchOffHMPIDCorrelation()       { fHMPIDCorrelation    = kFALSE ; }  
156   
157   void         SwitchOnFillBradHistograms()      { fFillBradHisto       = kTRUE  ; }
158   void         SwitchOffFillBradHistograms()     { fFillBradHisto       = kFALSE ; }  
159     
160   Bool_t       OnlyIsolated()              const { return fSelectIsolated        ; }
161   void         SelectIsolated(Bool_t s)          { fSelectIsolated   = s         ; }
162
163   void         SetPi0AODBranchName(TString n)    { fPi0AODBranchName = n         ; }
164   
165   void         SetNAssocPtBins(Int_t n) ;     
166   void         SetAssocPtBinLimit(Int_t ibin, Float_t pt) ;
167   
168   void         SwitchOnOwnMix()                  { fDoOwnMix            = kTRUE  ; }
169   void         SwitchOffOwnMix()                 { fDoOwnMix            = kFALSE ; }
170
171   void         SwitchOnTrackMultBins()           { fUseTrackMultBins    = kTRUE  ; }
172   void         SwitchOffTrackMultBins()          { fUseTrackMultBins    = kFALSE ; }
173                 
174  private:
175   Float_t      fMinTriggerPt ;                 // Minimum trigger hadron pt
176   Float_t      fMaxAssocPt ;                   // Maximum associated hadron pt
177   Float_t      fMinAssocPt ;                   // Minimum associated hadron pt
178   Double_t     fDeltaPhiMaxCut ;               // Minimum Delta Phi Gamma-Hadron
179   Double_t     fDeltaPhiMinCut ;               // Maximum Delta Phi Gamma-Hadron
180   Bool_t       fSelectIsolated ;               // Select only trigger particles isolated
181   Bool_t       fMakeSeveralUE ;                // Do analysis for several underlying events contribution
182   Double_t     fUeDeltaPhiMaxCut ;             // Minimum Delta Phi Gamma-Underlying Hadron
183   Double_t     fUeDeltaPhiMinCut ;             // Maximum Delta Phi Gamma-Underlying Hadron
184   TString      fPi0AODBranchName;              // Name of AOD branch with pi0, not trigger
185   Bool_t       fNeutralCorr ;                  // switch the analysis with neutral particles
186   Bool_t       fPi0Trigger ;                   // switch the analysis with decay photon from pi0 trigger
187   Bool_t       fDecayTrigger ;                 // switch the analysis with decay photon from photon trigger
188   Bool_t       fMakeAbsoluteLeading ;          // requesting absolute leading triggers
189   Bool_t       fMakeNearSideLeading ;          // requesting near side leading (+-90º from trigger particle) triggers
190   Int_t        fLeadingTriggerIndex ;          // Store here per event the trigger index, to avoid too many loops
191   Bool_t       fHMPIDCorrelation    ;          // Correlate with particles on HMPID or its acceptance
192   Bool_t       fFillBradHisto ;                // DPhi histograms calculated differently
193   Int_t        fNAssocPtBins ;                 // Number of associated pT bins under study
194   Float_t      fAssocPtBinLimit[10] ;          // Associated pT under study
195   
196   Bool_t       fDoOwnMix;                      // Do combinatorial background not the one provided by the frame
197   Bool_t       fUseTrackMultBins;              // Use track multiplicity and not centrality bins
198   TList **     fListMixEvents ;                //![GetNCentrBin()*GetNZvertBin()] Containers for photons in stored events for mixing
199   
200   //Histograms
201
202   //leading particles 
203   TH1F *       fhPtLeading;                    //! pT distribution of leading particles
204   TH2F *       fhPhiLeading;                   //! phi distribution vs pT of leading particles
205   TH2F *       fhEtaLeading;                   //! eta distribution vs pT of leading particles
206   
207   //trigger-charged histograms
208   TH2F *       fhDeltaPhiDeltaEtaCharged ;     //! differences of eta and phi between trigger and charged hadrons
209   TH2F *       fhPhiCharged  ;                 //! Phi distribution of charged particles
210   TH2F *       fhEtaCharged  ;                 //! Eta distribution of charged particles
211   TH2F *       fhDeltaPhiCharged  ;            //! Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT
212   TH2F *       fhDeltaEtaCharged  ;            //! Difference of charged particle eta and trigger particle  eta as function of  trigger particle pT
213   TH2F *       fhDeltaPhiChargedPt  ;          //! Difference of charged particle phi and trigger particle  phi as function of charged particle pT
214   TH2F *       fhDeltaPhiUeChargedPt ;         //! Difference of charged particle from underlying events phi and trigger particle  phi as function of charged particle pT
215   TH2F *       fhXECharged  ;                  //! Trigger particle -charged hadron momentum imbalance histogram
216   TH2F *       fhXEUeCharged  ;                //! Trigger particle -underlying charged hadron momentum imbalance histogram  
217   TH2F *       fhXEPosCharged  ;               //! Trigger particle -positive charged hadron momentum imbalance histogram
218   TH2F *       fhXENegCharged  ;               //! Trigger particle -negative charged hadron momentum imbalance histogram 
219   TH2F *       fhPtHbpXECharged  ;             //! Trigger particle -charged hadron momentum HBP histogram
220   TH2F *       fhPtHbpXEUeCharged  ;           //! Trigger particle -underlying charged hadron momentum HBP histogram  
221   TH2F *       fhZTCharged  ;                  //! Trigger particle -charged hadron momentum imbalance histogram
222   TH2F *       fhZTUeCharged  ;                //! Trigger particle -underlying charged hadron momentum imbalance histogram  
223   TH2F *       fhZTPosCharged  ;               //! Trigger particle -positive charged hadron momentum imbalance histogram
224   TH2F *       fhZTNegCharged  ;               //! Trigger particle -negative charged hadron momentum imbalance histogram 
225   TH2F *       fhPtHbpZTCharged  ;             //! Trigger particle -charged hadron momentum HBP histogram
226   TH2F *       fhPtHbpZTUeCharged  ;           //! Trigger particle -underlying charged hadron momentum HBP histogram  
227  
228   //if several UE calculation is on, most useful for jet-jet events contribution
229   TH2F *       fhDeltaPhiUeLeftCharged  ;      //! Difference of charged particle from underlying events phi and trigger particle  phi as function of charged particle pT
230   TH2F *       fhDeltaPhiUeRightCharged  ;     //! Difference of charged particle from underlying events phi and trigger particle  phi 
231   TH2F *       fhXEUeLeftCharged  ;            //! Trigger particle -underlying charged hadron momentum imbalance histogram 
232   TH2F *       fhXEUeRightCharged ;            //! Trigger particle -underlying charged hadron momentum imbalance histogram  
233   TH2F *       fhPtHbpXEUeLeftCharged  ;       //! Trigger particle -underlying charged hadron momentum HBP histogram 
234   TH2F *       fhPtHbpXEUeRightCharged  ;      //! Trigger particle -underlying charged hadron momentum HBP histogram  
235   TH2F *       fhZTUeLeftCharged  ;            //! Trigger particle -underlying charged hadron momentum imbalance histogram 
236   TH2F *       fhZTUeRightCharged ;            //! Trigger particle -underlying charged hadron momentum imbalance histogram  
237   TH2F *       fhPtHbpZTUeLeftCharged  ;       //! Trigger particle -underlying charged hadron momentum HBP histogram 
238   TH2F *       fhPtHbpZTUeRightCharged  ;      //! Trigger particle -underlying charged hadron momentum HBP histogram 
239   
240   //for pout and kt extraction
241   TH2F *       fhPtTrigPout  ;                 //! Pout =associated pt*sin(delta phi) distribution vs trigger pt 
242   TH2F *       fhPtTrigCharged ;               //! trigger and correlated particl pt, to be used for mean value for kt  
243   
244   //if different multiplicity analysis asked
245   TH2F **      fhTrigDeltaPhiCharged ;         //![GetMultiBin()] differences of phi between trigger and charged hadrons
246   TH2F **      fhTrigDeltaEtaCharged ;         //![GetMultiBin()] differences of eta between trigger and charged hadrons
247   TH2F **      fhTrigXECorr  ;                 //![GetMultiBin()] Trigger particle -charged hadron momentum imbalance histogram
248   TH2F **      fhTrigXEUeCorr  ;               //![GetMultiBin()] Trigger particle -UE charged hadron momentum imbalance histogram
249   TH2F **      fhTrigZTCorr  ;                 //![GetMultiBin()] Trigger particle -charged hadron momentum imbalance histogram
250   TH2F **      fhTrigZTUeCorr  ;               //![GetMultiBin()] Trigger particle -UE charged hadron momentum imbalance histogram
251   
252   TH2F *       fhAssocPtBkg;                   //! Trigger pT vs associated pT for background
253   TH2F **      fhDeltaPhiAssocPtBin;           //![fNAssocPtBins] Trigger pT vs dPhi for different associated pt bins
254   TH2F **      fhDeltaPhiAssocPtBinHMPID;      //![fNAssocPtBins] Trigger pT vs dPhi for different associated pt bins, track with HMPID  
255   TH2F **      fhDeltaPhiAssocPtBinHMPIDAcc;   //![fNAssocPtBins] Trigger pT vs dPhi for different associated pt bins, track with HMPIDAcc  
256   TH2F **      fhDeltaPhiBradAssocPtBin;       //![fNAssocPtBins] Trigger pT vs dPhi Brad (?) for different associated pt bins
257   TH2F *       fhDeltaPhiBrad;                 //! Trigger pT vs dPhi Brad (?) for different associated pt bins
258   TH2F **      fhXEAssocPtBin ;                //![fNAssocPtBins] Trigger pT vs xE for different associated pt bins
259   TH2F **      fhZTAssocPtBin ;                //![fNAssocPtBins] Trigger pT vs zT for different associated pt bins
260
261   //trigger-neutral histograms
262   TH2F *       fhDeltaPhiDeltaEtaNeutral ;     //! differences of eta and phi between trigger and neutral hadrons (pi0)
263   TH2F *       fhPhiNeutral   ;                //! Phi distribution of neutral particles  
264   TH2F *       fhEtaNeutral   ;                //! Eta distribution of neutral particles
265   TH2F *       fhDeltaPhiNeutral   ;           //! Difference of neutral particle phi and trigger particle  phi as function of  trigger particle pT
266   TH2F *       fhDeltaEtaNeutral  ;            //! Difference of neutral particle eta and trigger particle  eta as function of  trigger particle pT
267   TH2F *       fhDeltaPhiNeutralPt  ;          //! Difference of neutral particle phi and trigger particle  phi as function of neutral particle particle pT
268   TH2F *       fhDeltaPhiUeNeutralPt ;         //! Difference of neutral particle phi and trigger particle  phi as function of neutral particle particle pT  
269   TH2F *       fhXENeutral  ;                  //! Trigger particle - neutral hadron momentum imbalance histogram 
270   TH2F *       fhXEUeNeutral  ;                //! Trigger particle - neutral hadron momentum imbalance histogram 
271   TH2F *       fhPtHbpXENeutral  ;             //! Trigger particle - neutral particle momentum HBP histogram
272   TH2F *       fhPtHbpXEUeNeutral  ;           //! Trigger particle - underlying neutral hadron momentum HBP histogram  
273   TH2F *       fhZTNeutral  ;                  //! Trigger particle - neutral hadron momentum imbalance histogram 
274   TH2F *       fhZTUeNeutral  ;                //! Trigger particle - neutral hadron momentum imbalance histogram 
275   TH2F *       fhPtHbpZTNeutral  ;             //! Trigger particle - neutral particle momentum HBP histogram
276   TH2F *       fhPtHbpZTUeNeutral  ;           //! Trigger particle - underlying neutral hadron momentum HBP histogram  
277   
278   //if several UE calculation is on, most useful for jet-jet events contribution
279   TH2F *       fhDeltaPhiUeLeftNeutral  ;      //! Difference of charged particle from underlying events phi and trigger particle  phi as function of neutral particle pT
280   TH2F *       fhDeltaPhiUeRightNeutral  ;     //! Difference of charged particle from underlying events phi and trigger particle  phi 
281   TH2F *       fhXEUeLeftNeutral  ;            //! Trigger particle -underlying neutral hadron momentum imbalance histogram 
282   TH2F *       fhXEUeRightNeutral ;            //! Trigger particle -underlying neutral hadron momentum imbalance histogram 
283   TH2F *       fhPtHbpXEUeLeftNeutral  ;       //! Trigger particle -underlying neutral hadron momentum HBP histogram 
284   TH2F *       fhPtHbpXEUeRightNeutral  ;      //! Trigger particle -underlying neutral hadron momentum HBP histogram 
285   TH2F *       fhZTUeLeftNeutral  ;            //! Trigger particle -underlying neutral hadron momentum imbalance histogram 
286   TH2F *       fhZTUeRightNeutral ;            //! Trigger particle -underlying neutral hadron momentum imbalance histogram 
287   TH2F *       fhPtHbpZTUeLeftNeutral  ;       //! Trigger particle -underlying neutral hadron momentum HBP histogram 
288   TH2F *       fhPtHbpZTUeRightNeutral  ;      //! Trigger particle -underlying neutral hadron momentum HBP histogram 
289   
290   //for decay photon trigger correlation
291   TH2F *       fhPtPi0DecayRatio ;             //! for pi0 pt and ratio of decay photon pt
292   TH2F *       fhDeltaPhiDecayCharged  ;       //! Difference of charged particle phi and decay trigger
293   TH2F *       fhXEDecayCharged ;              //! Trigger particle (decay from pi0)-charged hadron momentum imbalance histogram    
294   TH2F *       fhZTDecayCharged ;              //! Trigger particle (decay from pi0)-charged hadron momentum imbalance histogram   
295
296   TH2F *       fhDeltaPhiDecayNeutral  ;       //! Difference of neutral particle phi and decay trigger
297   TH2F *       fhXEDecayNeutral ;              //! Trigger particle (decay from pi0)-neutral hadron momentum imbalance histogram  
298   TH2F *       fhZTDecayNeutral ;              //! Trigger particle (decay from pi0)-neutral hadron momentum imbalance histogram  
299
300   TH2F **      fhDeltaPhiDecayChargedAssocPtBin;//![fNAssocPtBins] Tagged as decay Trigger pT vs dPhi for different associated pt bins
301   TH2F **      fhXEDecayChargedAssocPtBin ;    //![fNAssocPtBins] Tagged as decay Trigger pT vs xE for different associated pt bins
302   TH2F **      fhZTDecayChargedAssocPtBin ;    //![fNAssocPtBins] Tagged as decay Trigger pT vs xE for different associated pt bins  
303   
304   //if the data is MC, fill MC information
305   TH2F *       fh2phiLeadingParticle;          //! #phi resolution for triggers
306   TH2F *       fhMCEtaCharged;                 //! MC pure particles charged primary pt vs eta (both associated) 
307   TH2F *       fhMCPhiCharged;                 //! MC pure particles charged primary pt vs phi (both associated) 
308   TH2F *       fhMCDeltaEtaCharged;            //! MC pure particles charged trigger primary pt vs delta eta (associated-trigger) 
309   TH2F *       fhMCDeltaPhiCharged;            //! MC pure particles charged trigger primary pt vs delta phi (associated-trigger) 
310   TH2F *       fhMCDeltaPhiDeltaEtaCharged;    //! MC pure particles charged associated primary pt vs delta phi (associated-trigger), in away side 
311   TH2F *       fhMCDeltaPhiChargedPt;          //! MC pure particles charged delta phi vs delta eta (associated-trigger) 
312   TH2F *       fhMCPtXECharged;                //! MC pure particles charged trigger primary pt vs xE
313   TH2F *       fhMCPtHbpXECharged;             //! MC pure particles charged trigger primary pt vs ln(1/xE)
314   TH2F *       fhMCPtZTCharged;                //! MC pure particles charged trigger primary pt vs zT
315   TH2F *       fhMCPtHbpZTCharged;             //! MC pure particles charged trigger primary pt vs ln(1/zT)
316   TH2F *       fhMCPtTrigPout ;                //! MC pure particles charged trigger primary pt vs pOut
317   TH2F *       fhMCPtAssocDeltaPhi  ;          //! MC pure particles charged associated primary pt vs delta phi (associated-trigger) 
318
319   // Mixing
320   TH1I *       fhNEventsTrigger;               //! number of analyzed triggered events
321   TH1F *       fhNtracksAll;                   //! total number of tracks 
322   TH1F *       fhNtracksTrigger;               //! total number of tracks in triggered events 
323   TH1F *       fhNtracksINT;                   //! total number of tracks in MB events
324   TH2F *       fhMixDeltaPhiCharged  ;         //! Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT
325   TH2F *       fhMixDeltaPhiDeltaEtaCharged  ; //! Difference of charged particle phi and trigger particle  phi as function eta difference
326   TH2F **      fhMixDeltaPhiChargedAssocPtBin; //![fNAssocPtBins] Difference of charged particle phi and trigger particle  phi as function of  trigger particle pT, for different associated bins
327   TH2F **      fhMixDeltaPhiDeltaEtaChargedAssocPtBin; //![fNAssocPtBins] Difference of charged particle phi and trigger particle  phi  as function eta difference, for different associated bins
328
329   AliAnaParticleHadronCorrelation(              const AliAnaParticleHadronCorrelation & ph) ; // cpy ctor
330   AliAnaParticleHadronCorrelation & operator = (const AliAnaParticleHadronCorrelation & ph) ; // cpy assignment
331         
332   ClassDef(AliAnaParticleHadronCorrelation,13)
333 } ;
334  
335
336 #endif //ALIANAPARTICLEHADRONCORRELATION_H
337
338
339