]>
Commit | Line | Data |
---|---|---|
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 | // Modified by Yaxian Mao: | |
13 | // 1. add the UE subtraction for corrlation study | |
14 | // 2. change the correlation variable | |
15 | ||
16 | // --- ROOT system --- | |
17 | class TH2F; | |
18 | ||
19 | // --- Analysis system --- | |
20 | #include "AliAnaPartCorrBaseClass.h" | |
21 | class AliAODPWG4ParticleCorrelation ; | |
22 | ||
23 | class AliAnaParticleHadronCorrelation : public AliAnaPartCorrBaseClass { | |
24 | ||
25 | public: | |
26 | ||
27 | AliAnaParticleHadronCorrelation() ; // default ctor | |
28 | AliAnaParticleHadronCorrelation(const AliAnaParticleHadronCorrelation & ph) ; // cpy ctor | |
29 | AliAnaParticleHadronCorrelation & operator = (const AliAnaParticleHadronCorrelation & ph) ;//cpy assignment | |
30 | virtual ~AliAnaParticleHadronCorrelation() {;} //virtual dtor | |
31 | ||
32 | TList * GetCreateOutputObjects(); | |
33 | ||
34 | Double_t GetDeltaPhiMaxCut() const {return fDeltaPhiMaxCut ; } | |
35 | Double_t GetDeltaPhiMinCut() const {return fDeltaPhiMinCut ; } | |
36 | void SetDeltaPhiCutRange(Double_t phimin, Double_t phimax) | |
37 | {fDeltaPhiMaxCut =phimax; fDeltaPhiMinCut =phimin;} | |
38 | ||
39 | Double_t GetUeDeltaPhiMaxCut() const {return fUeDeltaPhiMaxCut ; } | |
40 | Double_t GetUeDeltaPhiMinCut() const {return fUeDeltaPhiMinCut ; } | |
41 | void SetUeDeltaPhiCutRange(Double_t uephimin, Double_t uephimax) | |
42 | {fUeDeltaPhiMaxCut =uephimax; fUeDeltaPhiMinCut =uephimin;} | |
43 | Bool_t IsSeveralUEOn() const {return fMakeSeveralUE ; } | |
44 | void SwitchOnSeveralUECalculation() { fMakeSeveralUE = kTRUE;} | |
45 | void SwitchOffSeveralUECalculation() { fMakeSeveralUE = kFALSE;} | |
46 | ||
47 | Bool_t OnlyIsolated() const {return fSelectIsolated ; } | |
48 | void SelectIsolated(Bool_t select) {fSelectIsolated = select ; } | |
49 | ||
50 | void InitParameters(); | |
51 | ||
52 | void Print(const Option_t * opt) const; | |
53 | ||
54 | void MakeChargedCorrelation(AliAODPWG4ParticleCorrelation * aodParticle,TObjArray* const pl, const Bool_t bFillHisto) ; | |
55 | void MakeNeutralCorrelationFillAOD(AliAODPWG4ParticleCorrelation* const aodParticle, TObjArray* const pl, TString detector) ; | |
56 | void MakeNeutralCorrelationFillHistograms(AliAODPWG4ParticleCorrelation* const aodParticle) ; | |
57 | ||
58 | void MakeAnalysisFillAOD() ; | |
59 | void MakeAnalysisFillHistograms() ; | |
60 | ||
61 | Bool_t SelectCluster(AliAODCaloCluster * calo, Double_t *vertex, TLorentzVector & mom, Int_t & pdg) const ; | |
62 | ||
63 | private: | |
64 | ||
65 | Double_t fDeltaPhiMaxCut ; // Minimum Delta Phi Gamma-Hadron | |
66 | Double_t fDeltaPhiMinCut ; // Maximum Delta Phi Gamma-Hadron | |
67 | Bool_t fSelectIsolated ; // Select only trigger particles isolated | |
68 | Bool_t fMakeSeveralUE ; // Do analysis for several underlying events contribution | |
69 | Double_t fUeDeltaPhiMaxCut ; // Minimum Delta Phi Gamma-Underlying Hadron | |
70 | Double_t fUeDeltaPhiMinCut ; // Maximum Delta Phi Gamma-Underlying Hadron | |
71 | ||
72 | ||
73 | //Histograms | |
74 | TH2F * fhPhiCharged ; //! Phi distribution of charged particles | |
75 | TH2F * fhPhiNeutral ; //! Phi distribution of neutral particles | |
76 | TH2F * fhEtaCharged ; //! Eta distribution of charged particles | |
77 | TH2F * fhEtaNeutral ; //! Eta distribution of neutral particles | |
78 | TH2F * fhDeltaPhiCharged ; //! Difference of charged particle phi and trigger particle phi as function of trigger particle pT | |
79 | TH2F * fhDeltaPhiNeutral ; //! Difference of neutral particle phi and trigger particle phi as function of trigger particle pT | |
80 | TH2F * fhDeltaEtaCharged ; //! Difference of charged particle eta and trigger particle eta as function of trigger particle pT | |
81 | TH2F * fhDeltaEtaNeutral ; //! Difference of neutral particle eta and trigger particle eta as function of trigger particle pT | |
82 | TH2F * fhDeltaPhiChargedPt ; //! Difference of charged particle phi and trigger particle phi as function of charged particle pT | |
83 | TH2F * fhDeltaPhiNeutralPt ; //! Difference of neutral particle phi and trigger particle phi as function of neutral particle particle pT | |
84 | TH2F * fhDeltaPhiUeChargedPt ; //! Difference of charged particle from underlying events phi and trigger particle phi as function of charged particle pT | |
85 | TH2F * fhDeltaPhiUeNeutralPt ; //! Difference of neutral particle phi and trigger particle phi as function of neutral particle particle pT | |
86 | ||
87 | TH2F * fhPtImbalanceNeutral ; //! Trigger particle - neutral hadron momentum imbalance histogram | |
88 | TH2F * fhPtImbalanceCharged ; //! Trigger particle -charged hadron momentim imbalance histogram | |
89 | TH2F * fhPtImbalanceUeCharged ; //! Trigger particle -underlying charged hadron momentim imbalance histogram | |
90 | TH2F * fhPtImbalanceUeNeutral ; //! Trigger particle - neutral hadron momentum imbalance histogram | |
91 | ||
92 | //with different imblance varible defination HBP distribution | |
93 | TH2F * fhPtHbpCharged ; //! Trigger particle -charged hadron momentim HBP histogram | |
94 | TH2F * fhPtHbpUeCharged ; //! Trigger particle -underlying charged hadron momentim HBP histogram | |
95 | TH2F * fhPtHbpNeutral ; //! Trigger particle -neutral particle momentim HBP histogram | |
96 | TH2F * fhPtHbpUeNeutral ; //! Trigger particle -underlying neutral hadron momentim HBP histogram | |
97 | ||
98 | ||
99 | //if several UE calculation is on, most useful for jet-jet events contribution | |
100 | TH2F * fhDeltaPhiUeLeftCharged ; //! Difference of charged particle from underlying events phi and trigger particle phi as function of charged particle pT | |
101 | TH2F * fhDeltaPhiUeRightCharged ; //! Difference of charged particle from underlying events phi and trigger particle phi | |
102 | TH2F * fhDeltaPhiUeLeftNeutral ; //! Difference of charged particle from underlying events phi and trigger particle phi as function of neutral particle pT | |
103 | TH2F * fhDeltaPhiUeRightNeutral ; //! Difference of charged particle from underlying events phi and trigger particle phi | |
104 | TH2F * fhPtImbalanceUeLeftCharged ; //! Trigger particle -underlying charged hadron momentim imbalance histogram | |
105 | TH2F * fhPtImbalanceUeRightCharged ; //! Trigger particle -underlying charged hadron momentim imbalance histogram | |
106 | TH2F * fhPtImbalanceUeLeftNeutral ; //! Trigger particle -underlying neutral hadron momentim imbalance histogram | |
107 | TH2F * fhPtImbalanceUeRightNeutral ; //! Trigger particle -underlying neutral hadron momentim imbalance histogram | |
108 | TH2F * fhPtHbpUeLeftCharged ; //! Trigger particle -underlying charged hadron momentim HBP histogram | |
109 | TH2F * fhPtHbpUeRightCharged ; //! Trigger particle -underlying charged hadron momentim HBP histogram | |
110 | TH2F * fhPtHbpUeLeftNeutral ; //! Trigger particle -underlying neutral hadron momentim HBP histogram | |
111 | TH2F * fhPtHbpUeRightNeutral ; //! Trigger particle -underlying neutral hadron momentim HBP histogram | |
112 | ||
113 | ||
114 | ClassDef(AliAnaParticleHadronCorrelation,2) | |
115 | } ; | |
116 | ||
117 | ||
118 | #endif //ALIANAPARTICLEHADRONCORRELATION_H | |
119 | ||
120 | ||
121 |