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