]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/AliAnaParticleJetLeadingConeCorrelation.h
New more general analysis implemention for particle identification and correlation...
[u/mrichter/AliRoot.git] / PWG4 / AliAnaParticleJetLeadingConeCorrelation.h
CommitLineData
d92b41ad 1#ifndef AliAnaParticleJetLeadingCone_H
2#define AliAnaParticleJetLeadingCone_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 reconstruction of jet, cone around leading particle
16// 1)Take the a trigger particle found stored in AliAODParticleCorrelations,
17// 2) Search for the highest pt leading particle opposite to the trigger within a phi, pt window
18// 3) Take all particles around leading in a cone R with pt larger than threshold and construct the jet
19//
20// Class created from old AliPHOSGammaJet
21// (see AliRoot versions previous Release 4-09)
22//-- Author: Gustavo Conesa (INFN-LNF)
23
24#include "AliAnaBaseClass.h"
25
26class AliAnaParticleJetLeadingCone : public AliAnaBaseClass {
27
28public:
29
30 AliAnaParticleJetLeadingCone() ; // default ctor
31 AliAnaParticleJetLeadingCone(const AliAnaParticleJetLeadingCone & g) ; // cpy ctor
32 AliAnaParticleJetLeadingCone & operator = (const AliAnaParticleJetLeadingCone & g) ;//cpy assignment
33 virtual ~AliAnaParticleJetLeadingCone() ; //virtual dtor
34
35 TList * GetCreateOutputObjects();
36
37 void InitParameters();
38
39 void Print(const Option_t * opt) const;
40
41 Bool_t AreSeveralConeAndPtCuts() const {return fSeveralConeAndPtCuts ; }
42 void SetSeveralConeAndPtCuts(Bool_t several){fSeveralConeAndPtCuts = several ;}
43
44 Bool_t IsPbPb() const {return fPbPb ; }
45 void SetPbPb(Bool_t opt){fPbPb = opt; }
46
47 Double_t GetPtJetSelectionCut() const {return fPtJetSelectionCut ; }
48 Double_t GetJetRatioMaxCut() const {return fJetRatioMaxCut ; }
49 Double_t GetJetRatioMinCut() const {return fJetRatioMinCut ; }
50
51 void SetPtJetSelectionCut(Double_t cut){fPtJetSelectionCut = cut; }
52 void SetJetSelection(UInt_t select){ fSelect= select ; }
53
54 Int_t GetJetNCones() const {return fJetNCone ; }
55 Int_t GetJetNPtThres() const {return fJetNPt ; }
56 Float_t GetJetCone() const {return fJetCone ; }
57 Float_t GetJetPtThreshold() const {return fJetPtThreshold ; }
58 Float_t GetJetPtThresPbPb() const {return fJetPtThresPbPb ; }
59 Float_t GetJetCones(Int_t i) const {return fJetCones[i] ; }
60 Float_t GetJetPtThreshold(Int_t i) const {return fJetPtThres[i] ; }
61 TString GetJetConeName(Int_t i) const {return fJetNameCones[i] ; }
62 TString GetJetPtThresName(Int_t i) const {return fJetNamePtThres[i] ; }
63
64 void SetJetNCones(Int_t n){fJetNCone = n ; }
65 void SetJetNPtThresholds(Int_t n){fJetNPt = n ; }
66 void SetJetCones(Int_t i, Float_t cone, TString sc)
67 {fJetCones[i] = cone ; fJetNameCones[i] = sc; };
68 void SetCone(Float_t cone)
69 {fJetCone = cone; }
70 void SetJetPtThreshold(Float_t pt){fJetPtThreshold = pt; };
71 void SetJetPtThresPbPb(Float_t pt){fJetPtThresPbPb = pt; };
72 void SetJetPtThresholds(Int_t i,Float_t pt, TString spt){fJetPtThres[i] = pt ;
73 fJetNamePtThres[i] = spt; };
74
75 void SetJetRatioCutRange(Double_t ratiomin, Double_t ratiomax)
76 {fJetRatioMaxCut =ratiomax; fJetRatioMinCut = ratiomin ; }
77 void SetJetCTSRatioCutRange(Double_t ratiomin, Double_t ratiomax)
78 {fJetCTSRatioMaxCut =ratiomax; fJetCTSRatioMinCut = ratiomin ; }
79
80 void MakeAnalysisFillAOD() ;
81
82 void MakeAnalysisFillHistograms() ;
83
84 private:
85
86 Double_t CalculateJetRatioLimit(const Double_t ptg, const Double_t *param,
87 const Double_t *x);
88 void FillJetHistos(AliAODParticleCorrelation * particle, Double_t ptg, Double_t ptl,TString type, TString lastname);
89
90 Bool_t IsJetSelected(const Double_t ptg, const Double_t ptjet);
91
92 void MakeJet(AliAODParticleCorrelation * particle, const TLorentzVector pLeading, TString lastname);
93
94 void GetLeadingCharge(AliAODParticleCorrelation *particle, TLorentzVector * pLeading) ;
95 void GetLeadingPi0 (AliAODParticleCorrelation *particle, TLorentzVector * pLeading) ;
96 Bool_t GetLeadingParticle(AliAODParticleCorrelation *particle, TLorentzVector * pLeading) ;
97
98 void SetJet(TParticle * part, Bool_t & b, Float_t cone, Double_t eta,
99 Double_t phi);
100
101 Bool_t SelectCluster(AliAODCaloCluster * calo, Double_t *vertex, TLorentzVector & mom, Int_t & pdg) ;
102
103 private:
104
105 Bool_t fPbPb; // PbPb event
106 Bool_t fSeveralConeAndPtCuts; // To play with the jet cone size and pt th.
107
108 //Jet selection parameters
109 //Fixed cuts (old)
110 Double_t fJetCTSRatioMaxCut ; // Leading particle/gamma Ratio cut maximum
111 Double_t fJetCTSRatioMinCut ; // Leading particle/gamma Ratio cut minimum
112 Double_t fJetRatioMaxCut ; // Jet/gamma Ratio cut maximum
113 Double_t fJetRatioMinCut ; // Jet/gamma Ratio cut minimum
114
115 //Cuts depending on jet pt
116 Double_t fJetE1[2]; //Rec. jet energy parameters
117 Double_t fJetE2[2]; //Rec. jet energy parameters
118 Double_t fJetSigma1[2];//Rec. sigma of jet energy parameters
119 Double_t fJetSigma2[2];//Rec. sigma of jet energy parameters
120 Double_t fBkgMean[6]; //Background mean energy
121 Double_t fBkgRMS[6]; //Background RMS
122 Double_t fJetXMin1[6]; //X Factor to set jet min limit for pp
123 Double_t fJetXMin2[6]; //X Factor to set jet min limit for PbPb
124 Double_t fJetXMax1[6]; //X Factor to set jet max limit for pp
125 Double_t fJetXMax2[6]; //X Factor to set jet max limit for PbPb
126
127 Int_t fJetNCone ; // Number of jet cones sizes, maximum 5
128 Int_t fJetNPt ; // Number of jet particle pT threshold, maximum 5
129 Double_t fJetCone ; // Jet cone sizes under study (!fSeveralConeAndPtCuts)
130 Double_t fJetCones[5]; // Jet cone sizes under study (fSeveralConeAndPtCuts)
131 TString fJetNameCones[5]; // String name of cone to append to histos
132 Double_t fJetPtThreshold; // Jet pT threshold under study(!fSeveralConeAndPtCuts)
133 Double_t fJetPtThresPbPb; // Jet pT threshold under study(!fSeveralConeAndPtCuts)
134 Double_t fJetPtThres[5]; // Jet pT threshold under study(fSeveralConeAndPtCuts)
135 TString fJetNamePtThres[5]; // String name of pt th to append to histos
136 Double_t fPtJetSelectionCut; // Jet pt to change to low pt jets analysis
137 UInt_t fSelect ; //kTRUE: Selects all jets, no limits.
138
139 //Histograms
140 //Particle distributions
141 TH2F * fhPhiCharged ; //Phi distribution of charged particles
142 TH2F * fhPhiNeutral ; //Phi distribution of neutral particles
143 TH2F * fhEtaCharged ; //Eta distribution of charged particles
144 TH2F * fhEtaNeutral ; //Eta distribution of neutral particles
145 //Leading particle distributions
146 TH2F * fhDeltaPhiGammaCharged ; //Difference of charged particle phi and prompt gamma phi as function of gamma pT
147 TH2F * fhDeltaPhiGammaNeutral ; //Difference of neutral particle phi and prompt gamma phi as function of gamma pT
148 TH2F * fhDeltaEtaGammaCharged ; //Difference of charged particle eta and prompt gamma eta as function of gamma pT
149 TH2F * fhDeltaEtaGammaNeutral ; //Difference of charged particle eta and prompt gamma eta as function of charged pT
150
151 TH2F * fhAnglePairLeading ; //Aperture angle of decay photons of leading pi0
152 TH2F * fhInvMassPairLeading ; //Invariant mass of decay photons of leading pi0
153 TH2F * fhChargedRatio ; //Ratio of leading charge and prompt gamma
154 TH2F * fhNeutralRatio ; //Ratio of leading neutral and prompt gamma
155 TH1F * fhNBkg ; //Bakground multiplicity
156 TH2F * fhNLeading ; //Accepted leading particle pt distribution
157
158 //Jet distributions
159 //Fixed cone and pt threshold
160 TH1F * fhNJet ; //Accepted reconstructed Jet pt distribution
161 TH2F * fhJetRatio ; //Ratio of pt jet and pt gamma
162 TH2F * fhJetPt ; //reconstructed pt jet vs prompt pt gamma
163 TH2F * fhBkgRatio ; //leading pt bakground / pt gamma
164 TH2F * fhBkgPt ; //leading pt bakground vs pt gamma
165 TH2F * fhJetFragment ; //Accepted reconstructed jet fragmentation function
166 TH2F * fhBkgFragment ; //Background "fragmentation function"
167 TH2F * fhJetPtDist ; //Jet particle pt distribution
168 TH2F * fhBkgPtDist ; //Background jet particle pt distribution
169
170 //Variable cone and pt threshold
171 TH2F * fhJetRatios[5][5]; //Ratio of pt jet and pt gamma
172 TH2F * fhJetPts[5][5]; //reconstructed pt jet vs prompt pt gamma
173 TH2F * fhBkgRatios[5][5]; //leading pt bakground / pt gamma
174 TH2F * fhBkgPts[5][5]; //leading pt bakground vs pt gamma
175
176 TH2F * fhNLeadings[5][5]; //Accepted leading particle pt distribution
177 TH1F * fhNJets[5][5]; //Accepted reconstructed Jet pt distribution
178 TH1F * fhNBkgs[5][5]; //Bakground multiplicity
179
180 TH2F * fhJetFragments[5][5];//Accepted reconstructed jet fragmentation function
181 TH2F * fhBkgFragments[5][5]; //Background "fragmentation function"
182 TH2F * fhJetPtDists[5][5]; //Jet particle pt distribution
183 TH2F * fhBkgPtDists[5][5]; //Background jet particle pt distribution
184
185
186 ClassDef(AliAnaParticleJetLeadingCone,1)
187} ;
188
189
190#endif //AliAnaParticleJetLeadingCone_H
191
192
193