AliPhysics  vAN-20150924 (e816f45)
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
AliAnaParticleJetLeadingConeCorrelation.h
Go to the documentation of this file.
1 #ifndef ALIANAPARTICLEJETLEADINGCONECORRELATION_H
2 #define ALIANAPARTICLEJETLEADINGCONECORRELATION_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 //_________________________________________________________________________
24 
25 
26 // --- ROOT system ---
27 class TH2F;
28 
29 //---- Analysis system ----
30 class AliAODTrack;
31 class AliVCluster;
32 class AliCaloTrackReader;
34 
36 
38 
39 public:
40 
42 
45 
46  TList * GetCreateOutputObjects();
47 
48  void InitParameters();
49 
50  void Print(const Option_t * opt) const;
51 
52  Bool_t AreJetsRecalculated() const { return fReMakeJet ; }
54  void SwitchOffJetsRecalculation() { fReMakeJet = kFALSE ; }
55 
56  Bool_t AreJetsOnlyInCTS() const { return fJetsOnlyInCTS ; }
58  void SwitchOffJetsOnlyInCTS() { fJetsOnlyInCTS = kFALSE ; }
59 
60  Bool_t AreSeveralConeAndPtCuts() const { return fSeveralConeAndPtCuts ; }
63 
64  Bool_t IsPbPb() const { return fPbPb ; }
65  void SetppCollisions() { fPbPb = kFALSE ; }
66  void SetPbPbCollisions() { fPbPb = kTRUE ; }
67 
68  Double_t GetDeltaPhiMaxCut() const { return fDeltaPhiMaxCut ; }
69  Double_t GetDeltaPhiMinCut() const { return fDeltaPhiMinCut ; }
70  Double_t GetLeadingRatioMaxCut() const { return fLeadingRatioMaxCut ; }
71  Double_t GetLeadingRatioMinCut() const { return fLeadingRatioMinCut ; }
72 
73  Double_t GetPtTriggerSelectionCut() const { return fPtTriggerSelectionCut ; }
74  Double_t GetJetRatioMaxCut() const { return fJetRatioMaxCut ; }
75  Double_t GetJetRatioMinCut() const { return fJetRatioMinCut ; }
76 
77  void SetPtTriggerSelectionCut(Double_t cut)
78  { fPtTriggerSelectionCut = cut ; }
79  void SetJetSelectionMode(UInt_t sel) { fSelect= sel ; }
80 
81  Int_t GetJetNCones() const { return fJetNCone ; }
82  Int_t GetJetNPtThres() const { return fJetNPt ; }
83  Float_t GetJetCone() const { return fJetCone ; }
84  Float_t GetJetPtThreshold() const { return fJetPtThreshold ; }
85  Float_t GetJetPtThresPbPb() const { return fJetPtThresPbPb ; }
86  Float_t GetJetCones(Int_t i) const { return fJetCones[i] ; }
87  Float_t GetJetPtThreshold(Int_t i) const { return fJetPtThres[i] ; }
88  TString GetJetConeName(Int_t i) const { return fJetNameCones[i] ; }
89  TString GetJetPtThresName(Int_t i) const { return fJetNamePtThres[i] ; }
90 
91 
92  void SetDeltaPhiCutRange(Double_t phimin, Double_t phimax)
94  void SetLeadingRatioCutRange(Double_t ratiomin, Double_t ratiomax)
95  { fLeadingRatioMaxCut =ratiomax; fLeadingRatioMinCut = ratiomin ; }
96 
97  void SetJetNCones(Int_t n) { fJetNCone = n ; }
98  void SetJetNPtThresholds(Int_t n) { fJetNPt = n ; }
99  void SetJetCones(Int_t i, Float_t cone, TString sc)
100  { fJetCones[i] = cone ; fJetNameCones[i] = sc ; }
101  void SetCone(Float_t cone) { fJetCone = cone ; }
102  void SetJetPtThreshold(Float_t pt) { fJetPtThreshold = pt ; }
103  void SetJetPtThresPbPb(Float_t pt) { fJetPtThresPbPb = pt ; }
104  void SetJetPtThresholds(Int_t i,Float_t pt, TString spt)
105  { fJetPtThres[i] = pt ; fJetNamePtThres[i] = spt ; }
106 
107  void SetJetRatioCutRange(Double_t ratiomin, Double_t ratiomax)
108  { fJetRatioMaxCut = ratiomax ; fJetRatioMinCut = ratiomin ; }
109  void SetJetCTSRatioCutRange(Double_t ratiomin, Double_t ratiomax)
110  { fJetCTSRatioMaxCut = ratiomax ; fJetCTSRatioMinCut = ratiomin ; }
111 
112  Bool_t OnlyIsolated() const { return fSelectIsolated ; }
113  void SelectIsolated(Bool_t select) { fSelectIsolated = select ; }
114 
115  private:
116 
117  Double_t CalculateJetRatioLimit(Double_t ptTrig, const Double_t *param, const Double_t *x) const ;
118 
119  void FillJetHistos(AliAODPWG4ParticleCorrelation * particle, const TLorentzVector jet,
120  const TString & type, const TString & lastname);
121 
122  TList * GetOutputContainer() const { return fOutCont ; }
123 
124  Bool_t IsJetSelected(Double_t ptTrig, Double_t ptjet) const ;
125  Bool_t IsParticleInJetCone(Double_t eta, Double_t phi, Double_t etal, Double_t phil) const ;
126 
127  void GetLeadingCharge (AliAODPWG4ParticleCorrelation * particle) ;
128  void GetLeadingPi0 (AliAODPWG4ParticleCorrelation * particle) ;
129  Bool_t GetLeadingParticle(AliAODPWG4ParticleCorrelation * particle) ;
130 
131  void MakeAnalysisFillAOD();
133  void MakeAODJet(AliAODPWG4ParticleCorrelation * particle) ;
134  void MakeJetFromAOD(AliAODPWG4ParticleCorrelation * particle) ;
135 
136  Bool_t SelectCluster(AliVCluster * calo, Double_t *vertex, TLorentzVector & mom, Int_t & pdg) ;
137 
138  private:
139 
140  Bool_t fJetsOnlyInCTS ;
141  Bool_t fPbPb;
143  Bool_t fReMakeJet ;
144 
145  // Leading particle selection parameters
146  Double_t fDeltaPhiMaxCut ;
147  Double_t fDeltaPhiMinCut ;
150 
151  // Jet selection parameters
152  // Fixed cuts (old)
153  Double_t fJetCTSRatioMaxCut ;
154  Double_t fJetCTSRatioMinCut ;
155  Double_t fJetRatioMaxCut ;
156  Double_t fJetRatioMinCut ;
157 
158  // Cuts depending on jet pt
159  Double_t fJetE1[2];
160  Double_t fJetE2[2];
161  Double_t fJetSigma1[2];
162  Double_t fJetSigma2[2];
163  Double_t fBkgMean[6];
164  Double_t fBkgRMS[6];
165  Double_t fJetXMin1[6];
166  Double_t fJetXMin2[6];
167  Double_t fJetXMax1[6];
168  Double_t fJetXMax2[6];
169 
170  Int_t fJetNCone ;
171  Int_t fJetNPt ;
172  Double_t fJetCone ;
173  Double_t fJetCones[5];
174  TString fJetNameCones[5];
175  Double_t fJetPtThreshold;
176  Double_t fJetPtThresPbPb;
177  Double_t fJetPtThres[5];
178  TString fJetNamePtThres[5];
180  UInt_t fSelect ;
181  Bool_t fSelectIsolated ;
182 
183  // Temporary kinematic containers
184  TVector3 fTrackVector;
185  TLorentzVector fBkgMom;
186  TLorentzVector fJetMom;
187  TLorentzVector fJetConstMom;
188  TLorentzVector fLeadingMom;
189  TLorentzVector fLeadingPi0Mom;
190  TLorentzVector fLeadingPhoMom1;
191  TLorentzVector fLeadingPhoMom2;
192  TLorentzVector fLeadingChargeMom;
193 
194  // Histograms
195  // Leading particle distributions
196  TList * fOutCont ;
197 
205 
215 
220 
221  // Jet distributions
222  // Fixed cone and pt threshold
223  TH2F * fhJetPt ;
224  TH2F * fhJetRatioPt ;
225  TH2F * fhJetDeltaPhi ;
226  TH2F * fhJetDeltaEta ;
230  TH2F * fhJetFFz;
231  TH2F * fhJetFFxi;
232  TH2F * fhJetFFpt;
234 
235  TH2F * fhBkgPt ;
236  TH2F * fhBkgRatioPt ;
237  TH2F * fhBkgDeltaPhi ;
238  TH2F * fhBkgDeltaEta ;
242  TH2F * fhBkgFFz;
243  TH2F * fhBkgFFxi;
244  TH2F * fhBkgFFpt;
246 
247  // Variable cone and pt threshold
248 
249  TH2F * fhJetPts [5][5];
250  TH2F * fhJetRatioPts [5][5];
251  TH2F * fhJetDeltaPhis[5][5];
252  TH2F * fhJetDeltaEtas[5][5];
253  TH2F * fhJetLeadingRatioPts [5][5];
254  TH2F * fhJetLeadingDeltaPhis[5][5];
255  TH2F * fhJetLeadingDeltaEtas[5][5];
256  TH2F * fhJetFFzs [5][5];
257  TH2F * fhJetFFxis[5][5];
258  TH2F * fhJetFFpts[5][5];
259  TH2F * fhJetNTracksInCones[5][5];
260 
261  TH2F * fhBkgPts [5][5];
262  TH2F * fhBkgRatioPts [5][5];
263  TH2F * fhBkgDeltaPhis[5][5];
264  TH2F * fhBkgDeltaEtas[5][5];
265  TH2F * fhBkgLeadingRatioPts [5][5];
266  TH2F * fhBkgLeadingDeltaPhis[5][5];
267  TH2F * fhBkgLeadingDeltaEtas[5][5];
268  TH2F * fhBkgFFzs [5][5];
269  TH2F * fhBkgFFxis[5][5];
270  TH2F * fhBkgFFpts[5][5];
271  TH2F * fhBkgNTracksInCones[5][5];
272 
275 
278 
282 
283 } ;
284 
285 #endif //ALIANAPARTICLEJETLEADINGCONECORRELATION_H
286 
287 
288 
TH2F * fhBkgFFz
! Accepted reconstructed background fragmentation function, z=ptjet/pttrig
Double_t fJetXMax2[6]
X Factor to set jet max limit for PbPb.
Int_t pdg
Double_t fJetPtThres[5]
Jet pT threshold under study(fSeveralConeAndPtCuts)
Double_t fJetSigma2[2]
Rec. sigma of jet energy parameters.
Int_t fJetNCone
Number of jet cones sizes, maximum 5.
Double_t fJetPtThreshold
Jet pT threshold under study(!fSeveralConeAndPtCuts)
void GetLeadingPi0(AliAODPWG4ParticleCorrelation *particle)
TH2F * fhChargedLeadingDeltaPhiRatioPt30
! Difference of charged hadron and trigger phi as function of pT leading / trigger pT...
Double_t fJetXMin2[6]
X Factor to set jet min limit for PbPb.
TH2F * fhNeutralLeadingRatioPt
! Ratio of Pt leading neutral and trigger
Double_t fPtTriggerSelectionCut
Jet pt to change to low pt jets analysis.
Double_t fLeadingRatioMinCut
Leading/gamma Ratio cut minimum.
TH2F * fhJetLeadingRatioPts[5][5]
! Ratio of pt leading and pt jet
TH2F * fhBkgFFzs[5][5]
! Accepted reconstructed background fragmentation function, z=ptjet/pttrig
Double_t fJetXMin1[6]
X Factor to set jet min limit for pp.
TH2F * fhBkgFFxis[5][5]
! Accepted reconstructed background fragmentation function, xsi = ln(pttrig/ptjet) ...
Double_t fLeadingRatioMaxCut
Leading /gamma Ratio cut maximum.
TH2F * fhChargedLeadingPt
! Pt(Pt trigger) distribution of charged hadrons
TLorentzVector fLeadingPhoMom2
! leading particle momentum
TH2F * fhNeutralLeadingPhi
! Phi(Pt trigger) distribution of neutral hadrons
void MakeAnalysisFillHistograms()
Particle-Jet/Hadron Correlation Analysis, fill histograms.
TH2F * fhBkgNTracksInCones[5][5]
! Background multiplicity in cone
Double_t fJetSigma1[2]
Rec. sigma of jet energy parameters.
Bool_t fReMakeJet
Re-make the jet reconstruction from AODParticleCorrelation input.
TH2F * fhBkgPt
! Leading pt bakground vs pt trigger
Double_t fDeltaPhiMinCut
Maximum Delta Phi Gamma-Leading.
TH2F * fhJetFFpts[5][5]
! Jet particle pt distribution in cone
Double_t fJetCTSRatioMaxCut
Jet(CTS) /gamma Ratio cut maximum.
void FillJetHistos(AliAODPWG4ParticleCorrelation *particle, const TLorentzVector jet, const TString &type, const TString &lastname)
Fill jet and background histograms.
TH2F * fhBkgLeadingRatioPts[5][5]
! Ratio of pt leading and pt background
TH2F * fhNeutralLeadingDeltaPhiRatioPt30
! Difference of neutral hadron and trigger phi as function of pT leading / trigger pT...
TH2F * fhNeutralLeadingDeltaPt
! Difference of neutral hadron and trigger pT as function of trigger pT
TLorentzVector fLeadingChargeMom
! leading particle momentum
TH2F * fhNeutralLeadingXi
! Ln (pt leading neutral / pt trigger)
TH2F * fhBkgNTracksInCone
! Background multiplicity in cone
TH2F * fhChargedLeadingEta
! Eta(Pt trigger) distribution of charged hadrons
TH2F * fhNeutralLeadingDeltaEta
! Difference of charged particle and trigger eta as function of trigger pT
void InitParameters()
Initialize the parameters of the analysis.
TH2F * fhBkgLeadingRatioPt
! Ratio of pt leading and pt background
TH2F * fhNeutralLeadingDeltaPhi
! Difference of neutral hadron and trigger phi as function of trigger pT
TH2F * fhBkgPts[5][5]
! Leading pt bakground vs pt trigger
Base class for CaloTrackCorr analysis algorithms.
TH2F * fhJetFFpt
! Jet particle pt distribution in cone
Bool_t IsJetSelected(Double_t ptTrig, Double_t ptjet) const
TH2F * fhJetFFz
! Accepted reconstructed jet fragmentation function, z=ptjet/pttrig
Int_t fJetNPt
Number of jet particle pT threshold, maximum 5.
TH2F * fhJetLeadingRatioPt
! Ratio of pt leading and pt jet
AliAnaParticleJetLeadingConeCorrelation()
Default constructor. Initialize parameters.
Double_t fJetCone
Jet cone sizes under study (!fSeveralConeAndPtCuts)
TH2F * fhChargedLeadingPhi
! Phi(Pt trigger) distribution of charged hadrons
Bool_t SelectCluster(AliVCluster *calo, Double_t *vertex, TLorentzVector &mom, Int_t &pdg)
TH2F * fhNeutralLeadingPt
! Pt(Pt trigger) distribution of neutral hadrons
Bool_t fSelectIsolated
Select only trigger particles isolated.
Double_t fJetRatioMaxCut
Jet(EMCAL+CTS)/gamma Ratio cut maximum.
TH2F * fhChargedLeadingDeltaPt
! Difference of charged hadron and trigger pT as function of trigger p
TH2F * fhJetFFzs[5][5]
! Accepted reconstructed jet fragmentation function, z=ptjet/pttrig
Correlate trigger particle and reconstructed jet.
TH2F * fhChargedLeadingXi
! Ln (pt leading charge / pt trigger)
Base class for event, clusters and tracks filtering and preparation for the analysis.
AliAnaParticleJetLeadingConeCorrelation & operator=(const AliAnaParticleJetLeadingConeCorrelation &g)
Assignment operator not implemented.
TH2F * fhBkgRatioPt
! Ratio of pt background and pt trigger
TLorentzVector fJetConstMom
! jet constituent momentum
TH2F * fhChargedLeadingRatioPt
! Ratio of Pt leading charge and trigger
TH2F * fhChargedLeadingDeltaPhi
! Difference of charged hadron and trigger phi as function of trigger pT
TLorentzVector fLeadingPi0Mom
! leading particle momentum
TH2F * fhBkgFFxi
! Accepted reconstructed background fragmentation function, xsi = ln(pttrig/ptjet) ...
Double_t fDeltaPhiMaxCut
Minimum Delta Phi Gamma-Leading.
void SetDeltaPhiCutRange(Double_t phimin, Double_t phimax)
Double_t fJetPtThresPbPb
Jet pT threshold under study(!fSeveralConeAndPtCuts)
TH2F * fhJetFFxi
! Accepted reconstructed jet fragmentation function, xsi = ln(pttrig/ptjet)
TLorentzVector fLeadingPhoMom1
! leading particle momentum
TH2F * fhJetFFxis[5][5]
! Accepted reconstructed jet fragmentation function, xsi = ln(pttrig/ptjet)
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
Bool_t GetLeadingParticle(AliAODPWG4ParticleCorrelation *particle)
Search Charged or Neutral leading particle, select the highest one and fill AOD.
Bool_t IsParticleInJetCone(Double_t eta, Double_t phi, Double_t etal, Double_t phil) const
TH2F * fhBkgLeadingDeltaPhis[5][5]
! Delta phi background-leading
TH2F * fhJetRatioPts[5][5]
! Ratio of pt jet and pt trigger
TH2F * fhJetNTracksInCones[5][5]
! jet multiplicity in cone
Double_t fJetCones[5]
Jet cone sizes under study (fSeveralConeAndPtCuts)
TH2F * fhChargedLeadingDeltaPhiRatioPt50
! Difference of charged hadron and trigger phi as function of pT leading / trigger pT...
UInt_t fSelect
kTRUE: Selects all jets, no limits.
Double_t fJetXMax1[6]
X Factor to set jet max limit for pp.
TString fJetNameCones[5]
String name of cone to append to histos.
void MakeJetFromAOD(AliAODPWG4ParticleCorrelation *particle)
Double_t CalculateJetRatioLimit(Double_t ptTrig, const Double_t *param, const Double_t *x) const
Bool_t fSeveralConeAndPtCuts
To play with the jet cone size and pt th.
Double_t fJetCTSRatioMinCut
Jet(CTS) /gamma Ratio cut maximum.
Class that contains methods to select candidate cluster pairs to neutral meson.
TH2F * fhNeutralLeadingDeltaPhiRatioPt50
! Difference of neutral hadron and trigger phi as function of pT leading / trigger pT...
void SetLeadingRatioCutRange(Double_t ratiomin, Double_t ratiomax)
TH2F * fhBkgRatioPts[5][5]
! Ratio of pt background and pt trigger
TH2F * fhBkgLeadingDeltaEtas[5][5]
! Delta eta background-leading
TH2F * fhNeutralLeadingEta
! Eta(Pt trigger) distribution of neutral hadrons
TH2F * fhJetPts[5][5]
! Leading pt jet vs pt trigger
void GetLeadingCharge(AliAODPWG4ParticleCorrelation *particle)
TString fJetNamePtThres[5]
String name of pt th to append to histos.
void SetJetCTSRatioCutRange(Double_t ratiomin, Double_t ratiomax)
void SetJetRatioCutRange(Double_t ratiomin, Double_t ratiomax)
Double_t fJetRatioMinCut
Jet(EMCAL+CTS)/gamma Ratio cut minimum.
void MakeAODJet(AliAODPWG4ParticleCorrelation *particle)
TH2F * fhBkgDeltaPhis[5][5]
! Delta phi background-trigger
TLorentzVector fLeadingMom
! leading particle momentum
TH2F * fhBkgDeltaEtas[5][5]
! Delta eta background-trigger
TH2F * fhBkgFFpt
! Background particle pt distribution in cone
TH2F * fhBkgFFpts[5][5]
! Background particle pt distribution in cone
const Double_t phimin
TH2F * fhChargedLeadingDeltaEta
! Difference of charged particle and trigger eta as function of trigger pT