]>
Commit | Line | Data |
---|---|---|
9dc4f671 | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
7 | * Permission to use, copy, modify and distribute this software and its * | |
8 | * documentation strictly for non-commercial purposes is hereby granted * | |
9 | * without fee, provided that the above copyright notice appears in all * | |
10 | * copies and that both the copyright notice and this permission notice * | |
11 | * appear in the supporting documentation. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
15 | ||
16 | // Comment describing what this class does needed! | |
17 | ||
18 | #include "AliJHistos.h" | |
19 | #include "AliJCard.h" | |
20 | #include "AliJBaseTrack.h" | |
21 | #include "AliJPhoton.h" | |
22 | #include "AliJTrack.h" | |
5dbedd98 | 23 | #include <TGrid.h> |
24 | #include <TPRegexp.h> | |
9dc4f671 | 25 | |
26 | //______________________________________________________________________________ | |
27 | AliJHistos::AliJHistos(AliJCard* cardP) : | |
28 | fCard(cardP), | |
29 | fHMG(NULL), | |
30 | fCentBin(), | |
31 | fVtxBin(), | |
32 | fPTtBin(), | |
33 | fPTaBin(), | |
34 | fXEBin(), | |
35 | fKLongBin(), | |
36 | fRGapBin(), | |
37 | fEtaGapBin(), | |
38 | fPhiGapBin(), | |
39 | fMassBin(), | |
40 | fTypBin(), | |
41 | fTypBin3(), | |
42 | fPairPtBin(), | |
43 | fhMixStat(), | |
44 | fTestHist(), | |
45 | fhPtNear(), | |
46 | fhPtFar(), | |
47 | fhPhi(), | |
48 | fhDphiAssoc(), | |
49 | fhDphiAssocXEbin(), | |
50 | fhDphiAssoc2DIAA(), | |
51 | fhDphiAssoc2D(), | |
52 | fhDphiDetaKlong(), | |
53 | fhDphiDetaKlongR(), | |
54 | fhDphiDetaXe(), | |
55 | fhDphiDetaXeR(), | |
56 | fhDphiDetaPta(), | |
57 | fhDphiDetaPtaR(), | |
58 | fhBgAssocKlong(), | |
59 | fhBgAssocKlongR(), | |
60 | fhBgAssocXe(), | |
61 | fhBgAssocXeR(), | |
62 | fhBgAssocPta(), | |
63 | fhBgAssocPtaR(), | |
692f6d75 | 64 | fhInvariantMassXe(), |
65 | fhInvariantMassKlong(), | |
66 | fhInvariantMassPta(), | |
67 | fhInvariantMassXeLikeSign(), | |
68 | fhInvariantMassKlongLikeSign(), | |
69 | fhInvariantMassPtaLikeSign(), | |
70 | fhInvariantMassXeUnlikeSign(), | |
71 | fhInvariantMassKlongUnlikeSign(), | |
72 | fhInvariantMassPtaUnlikeSign(), | |
9dc4f671 | 73 | fhDphiAssocIsolTrigg(), |
74 | fhMeanPtAssoc(), | |
75 | fhMeanZtAssoc(), | |
76 | fhPtAssocUE(), | |
77 | fhPtaEtaGapN(), | |
78 | fhPtaRGapN(), | |
79 | fhPtAssocUEIsolTrigg(), | |
80 | fhPtAssocN(), | |
81 | fhPtAssocF(), | |
82 | fhCosThetaStar(), | |
83 | fhCMSrap(), | |
84 | fpCMSrap(), | |
85 | fhInvMass(), | |
86 | fhPairPtMass(), | |
87 | fhPairDPhi(), | |
88 | fhPairDpT(), | |
89 | fhPairPtDphi(), | |
90 | fhPairPt(), | |
91 | fhDEtaNear(), | |
92 | fhDEtaNearM(), | |
93 | fhDEtaNearXEbin(), | |
94 | fhDEtaNearMXEbin(), | |
95 | fhDRNearPt(), | |
96 | fhDRFarPt(), | |
97 | fhDRNearPtMoon(), | |
98 | fhDRFarPtMoon(), | |
99 | fhDRNearPtMoonM(), | |
100 | fhDRFarPtMoonM(), | |
101 | fhDEtaFar(), | |
102 | fhIphiTrigg(), | |
103 | fhIetaTrigg(), | |
104 | fhIphiAssoc(), | |
105 | fhIetaAssoc(), | |
106 | fhFixPtBin(), | |
107 | fhTriggPtBin(), | |
108 | fhTriggPtBinIsolTrigg(), | |
109 | fhTriggMult(), | |
110 | fhAssocPtBin(), | |
111 | fhxEN(), | |
112 | fhxEF(), | |
113 | fhxEFIsolTrigg(), | |
114 | fhPoutF(), | |
115 | fhxEPtBin(), | |
116 | fhJT(), | |
117 | fhJTBg(), | |
118 | fhJTBgR(), | |
692f6d75 | 119 | fhJTLikeSign(), |
120 | fhJTBgLikeSign(), | |
121 | fhJTBgRLikeSign(), | |
122 | fhJTUnlikeSign(), | |
123 | fhJTBgUnlikeSign(), | |
124 | fhJTBgRUnlikeSign(), | |
9dc4f671 | 125 | fhJTKlong(), |
126 | fhJTKlongBg(), | |
127 | fhJTKlongBgR(), | |
692f6d75 | 128 | fhJTKlongLikeSign(), |
129 | fhJTKlongBgLikeSign(), | |
130 | fhJTKlongBgRLikeSign(), | |
131 | fhJTKlongUnlikeSign(), | |
132 | fhJTKlongBgUnlikeSign(), | |
133 | fhJTKlongBgRUnlikeSign(), | |
9dc4f671 | 134 | fhJTPta(), |
135 | fhJTPtaBg(), | |
136 | fhJTPtaBgR(), | |
692f6d75 | 137 | fhJTPtaLikeSign(), |
138 | fhJTPtaBgLikeSign(), | |
139 | fhJTPtaBgRLikeSign(), | |
140 | fhJTPtaUnlikeSign(), | |
141 | fhJTPtaBgUnlikeSign(), | |
142 | fhJTPtaBgRUnlikeSign(), | |
5dbedd98 | 143 | fHmgInclusive(NULL), |
144 | fhIetaTriggFromFile(), | |
145 | fhIetaAssocFromFile(), | |
146 | fhIphiTriggFromFile(), | |
147 | fhIphiAssocFromFile(), | |
148 | fhDphiAssocMixFromFile(), | |
9dc4f671 | 149 | fhLPpt(), |
150 | fhLPpairPt(), | |
151 | fhChargedPt(), | |
152 | fhChargedPtNoCorr(), | |
153 | fhChargedPtJacek(), | |
154 | fhChargedPtJacekEta(), | |
155 | fhChargedPtFiete(), | |
156 | fhVdelta2(), | |
157 | fhVdelta3(), | |
158 | fhVN(), | |
159 | fhTrackingEfficiency(), | |
160 | fpV2(), | |
161 | fpV3(), | |
162 | fpVdeltaNorm(), | |
163 | fhChargedEta(), | |
164 | fhLPeta(), | |
165 | fhAssocMult(), | |
166 | fhChargedMult(), | |
167 | fhChargedMultCut(), | |
168 | fhChargedMultCent(), | |
169 | fhXt(), | |
170 | fhXtWeighted(), | |
171 | fhXtWeightedHT(), | |
172 | fhPtForXt(), | |
173 | fhConeActivity(), | |
174 | fhConeActivityIsolated(), | |
175 | fhPerpConeActivity(), | |
176 | fhPerpConeActivityIsolated(), | |
177 | fhV0AMult(), | |
178 | fhZVertRaw(), | |
179 | fhZVertRawErr(), | |
180 | fhZVert(), | |
181 | fhCentr(), | |
182 | fhiCentr(), | |
183 | fhEventPerRun(), | |
184 | fhVertexZTriggVtx(), | |
185 | fhIsolatedLPpt(), | |
186 | fhBkgActivity(), | |
187 | fhDphiLPJet(), | |
188 | fhDEtaLPJet(), | |
189 | fhDPtLPJet(), | |
190 | fhLPJetPTt(), | |
191 | fhLPJetPt(), | |
192 | fhLPJetEtaPTt(), | |
193 | fhLPJetRapidityPTt(), | |
194 | fhLPJetMassPTt(), | |
195 | fhLeadingJetWLPPTt(), | |
196 | fhJetPt(), | |
197 | fhLeadingJetPt(), | |
198 | fhLeadingJetWLPPt(), | |
199 | fhJetAssymPTt(), | |
200 | fhJetMassPTt(), | |
201 | fhJetUEPt(), | |
202 | fhJetDphi(), | |
203 | fhJetDeta(), | |
204 | fhJetMultPt(), | |
205 | fhJetRho(), | |
206 | fhJetRhoSigma(), | |
207 | fhJetPartMult(), | |
208 | fhRecoDiJetM(), | |
209 | fhRecoDiJetdPhi(), | |
210 | fhRecoDiJetkT(), | |
211 | fhNParton71(), | |
212 | fhNStringGroup(), | |
213 | fhNStringGroupFrom(), | |
214 | fhNTracksInStringGroupFrom(), | |
215 | fhRapidity71From(), | |
216 | fhPt71From(), | |
217 | fhTrackSelection(), | |
218 | fNJacek(0), | |
219 | fPttJacek(0), | |
220 | fNEta(0), | |
221 | fEta(0), | |
222 | fNJanFiete(0), | |
223 | fJanFiete(0), | |
224 | fhEvents(), | |
225 | fhEventTrigger(), | |
226 | fmaxEtaRange(0), | |
227 | fmaxTriggEtaRange(0), | |
228 | ftriggFiducCut(0), | |
229 | fnUE(0), | |
230 | fnUEfar(0), | |
231 | fLowRange(0), | |
232 | fHighRange(0) | |
233 | { // constructor | |
234 | ||
235 | fmaxEtaRange = fCard->Get("EtaRange"); | |
236 | ftriggFiducCut = fCard->Get("TriggerFiducialEtaCut"); //FK// Fiduc cut | |
237 | fmaxTriggEtaRange = fmaxEtaRange - ftriggFiducCut; //FK// Trigger range | |
238 | ||
5dbedd98 | 239 | fHMG = new AliJHistManager( "HistManager"); |
9dc4f671 | 240 | //for (int hiklong = 0; hiklong < fCard->GetNoOfBins(kLongType); hiklong++) |
241 | //kRGapType kEtaGapType | |
242 | fCentBin .Set("Cent", "C", "C %2.0f-%2.0f%%" ).SetBin( fCard->GetVector("CentBinBorders")); | |
243 | fVtxBin .Set("Vtx", "V", "" ).SetBin(fCard->GetVector("zVertBins")); | |
244 | fPTtBin .Set("PTt", "T", "").SetBin(fCard->GetVector("TriggPtBorders")); | |
245 | fPTaBin .Set("PTa", "A", "").SetBin(fCard->GetVector("AssocPtBorders")); | |
246 | fXEBin .Set("XE", "X", "x_{E}: %2.1f-%2.1f" ).SetBin(fCard->GetVector("xEBorders")); | |
247 | fKLongBin .Set("KLong", "L", "k_{#parallel}: %2.1f-%2.1f").SetBin(fCard->GetVector("KlongBorders")); | |
248 | fRGapBin .Set("RGap", "R", "").SetBin(fCard->GetVector("RGapThresholds")); | |
249 | fEtaGapBin .Set("EtaGap", "E", "").SetBin(fCard->GetVector("EtaGapThresholds")); | |
250 | fPhiGapBin .Set("PhiGap", "P", "" ).SetBin(fCard->GetVector("EtaGapThresholds")); | |
251 | fMassBin .Set("Mass", "M", "Mass").SetBin(fCard->GetVector("PairInvariantMassBins")); | |
252 | fTypBin .Set("Type", "D", "", AliJBin::kSingle ).SetBin( "0 1" ); | |
253 | fTypBin3 .Set("Type3", "D", "", AliJBin::kSingle ).SetBin( "0 1 2 3" ); | |
254 | //card->IsLessThanUpperPairPtCut(-ipairpt) | |
255 | fPairPtBin .Set("PairPt", "", AliJBin::kSingle ).SetBin( fCard->GetN("UpperPairPtCut") ); | |
256 | ||
257 | const int nJacek = 73 ; | |
258 | double pttJacek[nJacek+1] = {0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, | |
259 | 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.2, 2.4, 2.6, 2.8, 3, 3.2, 3.4, 3.6, 3.8, 4, 4.5, 5, 5.5, 6, 6.5, 7, 8, 9, | |
260 | 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 40, 45, 50, 60, 70, 80, 90, 100}; | |
261 | ||
262 | //const int nJacek = 59 ; | |
263 | //double pttJacek[nJacek] = { 0.15, 0.20, 0.25, 0.30, 0.35, 0.40, 0.45, 0.5, 0.55, 0.60, 0.65, 0.70, 0.75, 0.80, 0.85, 0.9, 0.95, 1., | |
264 | // 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.2, 2.4, 2.6, 2.8, 3., 3.2, 3.4, 3.6, 3.8, 4., 4.5, 5., 5.5, 6., 6.5, 7., 8., 9., 10, | |
265 | // 11., 12., 13., 14., 15., 16., 18., 20, 22, 24, 26., 28., 30.}; | |
266 | ||
267 | fNJacek = nJacek; // Number of bins | |
268 | fPttJacek = new double[fNJacek+1]; | |
269 | for(int i = 0; i <= fNJacek; i++){ | |
270 | fPttJacek[i] = pttJacek[i]; | |
271 | } | |
272 | ||
273 | const int nEta = 3; | |
274 | double eta[nEta+1] = {-0.8,-0.2,0.3,0.8};// eta bins | |
275 | ||
276 | fNEta = nEta; // Number of bins | |
277 | fEta = new double[fNEta+1]; | |
278 | for(int i = 0; i <= fNEta; i++){ | |
279 | fEta[i] = eta[i]; | |
280 | } | |
281 | ||
282 | const int nJanFiete=200; | |
283 | double janFiete[nJanFiete+1]={0, 0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 2.25, 2.5, 2.75, 3, 3.25, 3.5, 3.75, 4, 4.25, 4.5, 4.75, 5, 5.25, 5.5, | |
284 | 5.75, 6, 6.25, 6.5, 6.75, 7, 7.25, 7.5, 7.75, 8, 8.25, 8.5, 8.75, 9, 9.25, 9.5, 9.75, 10, 10.25, 10.5, 10.75, 11, 11.25, 11.5, 11.75, | |
285 | 12, 12.25, 12.5, 12.75, 13, 13.25, 13.5, 13.75, 14, 14.25, 14.5, 14.75, 15, 15.25, 15.5, 15.75, 16, 16.25, 16.5, 16.75, 17, 17.25, 17.5, | |
286 | 17.75, 18, 18.25, 18.5, 18.75, 19, 19.25, 19.5, 19.75, 20, 20.25, 20.5, 20.75, 21, 21.25, 21.5, 21.75, 22, 22.25, 22.5, 22.75, 23, 23.25, | |
287 | 23.5, 23.75, 24, 24.25, 24.5, 24.75, 25, 25.25, 25.5, 25.75, 26, 26.25, 26.5, 26.75, 27, 27.25, 27.5, 27.75, 28, 28.25, 28.5, 28.75, 29, | |
288 | 29.25, 29.5, 29.75, 30, 30.25, 30.5, 30.75, 31, 31.25, 31.5, 31.75, 32, 32.25, 32.5, 32.75, 33, 33.25, 33.5, 33.75, 34, 34.25, 34.5, 34.75, | |
289 | 35, 35.25, 35.5, 35.75, 36, 36.25, 36.5, 36.75, 37, 37.25, 37.5, 37.75, 38, 38.25, 38.5, 38.75, 39, 39.25, 39.5, 39.75, 40, 40.25, 40.5, | |
290 | 40.75, 41, 41.25, 41.5, 41.75, 42, 42.25, 42.5, 42.75, 43, 43.25, 43.5, 43.75, 44, 44.25, 44.5, 44.75, 45, 45.25, 45.5, 45.75, 46, 46.25, | |
291 | 46.5, 46.75, 47, 47.25, 47.5, 47.75, 48, 48.25, 48.5, 48.75, 49, 49.25, 49.5, 49.75, 50}; | |
292 | ||
293 | fNJanFiete = nJanFiete; // Number of bins | |
294 | fJanFiete = new double[fNJanFiete+1]; | |
295 | for(int i = 0; i <= fNJanFiete; i++){ | |
296 | fJanFiete[i] = janFiete[i]; | |
297 | } | |
298 | ||
299 | //fhtyp[1] = "Real"; | |
300 | //fhtyp[2] = "Mixed"; | |
301 | //fhtyp[3] = "Rap. Gap"; | |
302 | } | |
303 | ||
304 | //______________________________________________________________________________ | |
305 | AliJHistos::AliJHistos(const AliJHistos& obj) : | |
306 | fCard(obj.fCard), | |
307 | fHMG(obj.fHMG), | |
308 | fCentBin(obj.fCentBin), | |
309 | fVtxBin(obj.fVtxBin), | |
310 | fPTtBin(obj.fPTtBin), | |
311 | fPTaBin(obj.fPTaBin), | |
312 | fXEBin(obj.fXEBin), | |
313 | fKLongBin(obj.fKLongBin), | |
314 | fRGapBin(obj.fRGapBin), | |
315 | fEtaGapBin(obj.fEtaGapBin), | |
316 | fPhiGapBin(obj.fPhiGapBin), | |
317 | fMassBin(obj.fMassBin), | |
318 | fTypBin(obj.fTypBin), | |
319 | fTypBin3(obj.fTypBin3), | |
320 | fPairPtBin(obj.fPairPtBin), | |
321 | fhMixStat(obj.fhMixStat), | |
322 | fTestHist(obj.fTestHist), | |
323 | fhPtNear(obj.fhPtNear), | |
324 | fhPtFar(obj.fhPtFar), | |
325 | fhPhi(obj.fhPhi), | |
326 | fhDphiAssoc(obj.fhDphiAssoc), | |
327 | fhDphiAssocXEbin(obj.fhDphiAssocXEbin), | |
328 | fhDphiAssoc2DIAA(obj.fhDphiAssoc2DIAA), | |
329 | fhDphiAssoc2D(obj.fhDphiAssoc2D), | |
330 | fhDphiDetaKlong(obj.fhDphiDetaKlong), | |
331 | fhDphiDetaKlongR(obj.fhDphiDetaKlongR), | |
332 | fhDphiDetaXe(obj.fhDphiDetaXe), | |
333 | fhDphiDetaXeR(obj.fhDphiDetaXeR), | |
334 | fhDphiDetaPta(obj.fhDphiDetaPta), | |
335 | fhDphiDetaPtaR(obj.fhDphiDetaPtaR), | |
336 | fhBgAssocKlong(obj.fhBgAssocKlong), | |
337 | fhBgAssocKlongR(obj.fhBgAssocKlongR), | |
338 | fhBgAssocXe(obj.fhBgAssocXe), | |
339 | fhBgAssocXeR(obj.fhBgAssocXeR), | |
340 | fhBgAssocPta(obj.fhBgAssocPta), | |
341 | fhBgAssocPtaR(obj.fhBgAssocPtaR), | |
692f6d75 | 342 | fhInvariantMassXe(obj.fhInvariantMassXe), |
343 | fhInvariantMassKlong(obj.fhInvariantMassKlong), | |
344 | fhInvariantMassPta(obj.fhInvariantMassPta), | |
345 | fhInvariantMassXeLikeSign(obj.fhInvariantMassXeLikeSign), | |
346 | fhInvariantMassKlongLikeSign(obj.fhInvariantMassKlongLikeSign), | |
347 | fhInvariantMassPtaLikeSign(obj.fhInvariantMassPtaLikeSign), | |
348 | fhInvariantMassXeUnlikeSign(obj.fhInvariantMassXeUnlikeSign), | |
349 | fhInvariantMassKlongUnlikeSign(obj.fhInvariantMassKlongUnlikeSign), | |
350 | fhInvariantMassPtaUnlikeSign(obj.fhInvariantMassPtaUnlikeSign), | |
9dc4f671 | 351 | fhDphiAssocIsolTrigg(obj.fhDphiAssocIsolTrigg), |
352 | fhMeanPtAssoc(obj.fhMeanPtAssoc), | |
353 | fhMeanZtAssoc(obj.fhMeanZtAssoc), | |
354 | fhPtAssocUE(obj.fhPtAssocUE), | |
355 | fhPtaEtaGapN(obj.fhPtaEtaGapN), | |
356 | fhPtaRGapN(obj.fhPtaRGapN), | |
357 | fhPtAssocUEIsolTrigg(obj.fhPtAssocUEIsolTrigg), | |
358 | fhPtAssocN(obj.fhPtAssocN), | |
359 | fhPtAssocF(obj.fhPtAssocF), | |
360 | fhCosThetaStar(obj.fhCosThetaStar), | |
361 | fhCMSrap(obj.fhCMSrap), | |
362 | fpCMSrap(obj.fpCMSrap), | |
363 | fhInvMass(obj.fhInvMass), | |
364 | fhPairPtMass(obj.fhPairPtMass), | |
365 | fhPairDPhi(obj.fhPairDPhi), | |
366 | fhPairDpT(obj.fhPairDpT), | |
367 | fhPairPtDphi(obj.fhPairDPhi), | |
368 | fhPairPt(obj.fhPairPt), | |
369 | fhDEtaNear(obj.fhDEtaNear), | |
370 | fhDEtaNearM(obj.fhDEtaNearM), | |
371 | fhDEtaNearXEbin(obj.fhDEtaNearXEbin), | |
372 | fhDEtaNearMXEbin(obj.fhDEtaNearMXEbin), | |
373 | fhDRNearPt(obj.fhDRNearPt), | |
374 | fhDRFarPt(obj.fhDRFarPt), | |
375 | fhDRNearPtMoon(obj.fhDRNearPtMoon), | |
376 | fhDRFarPtMoon(obj.fhDRFarPtMoon), | |
377 | fhDRNearPtMoonM(obj.fhDRNearPtMoonM), | |
378 | fhDRFarPtMoonM(obj.fhDRFarPtMoonM), | |
379 | fhDEtaFar(obj.fhDEtaFar), | |
380 | fhIphiTrigg(obj.fhIphiTrigg), | |
381 | fhIetaTrigg(obj.fhIetaTrigg), | |
382 | fhIphiAssoc(obj.fhIphiAssoc), | |
383 | fhIetaAssoc(obj.fhIetaAssoc), | |
384 | fhFixPtBin(obj.fhFixPtBin), | |
385 | fhTriggPtBin(obj.fhTriggPtBin), | |
386 | fhTriggPtBinIsolTrigg(obj.fhTriggPtBinIsolTrigg), | |
387 | fhTriggMult(obj.fhTriggMult), | |
388 | fhAssocPtBin(obj.fhAssocPtBin), | |
389 | fhxEN(obj.fhxEN), | |
390 | fhxEF(obj.fhxEF), | |
391 | fhxEFIsolTrigg(obj.fhxEFIsolTrigg), | |
392 | fhPoutF(obj.fhPoutF), | |
393 | fhxEPtBin(obj.fhxEPtBin), | |
394 | fhJT(obj.fhJT), | |
395 | fhJTBg(obj.fhJTBg), | |
396 | fhJTBgR(obj.fhJTBgR), | |
692f6d75 | 397 | fhJTLikeSign(obj.fhJTLikeSign), |
398 | fhJTBgLikeSign(obj.fhJTBgLikeSign), | |
399 | fhJTBgRLikeSign(obj.fhJTBgRLikeSign), | |
400 | fhJTUnlikeSign(obj.fhJTUnlikeSign), | |
401 | fhJTBgUnlikeSign(obj.fhJTBgUnlikeSign), | |
402 | fhJTBgRUnlikeSign(obj.fhJTBgRUnlikeSign), | |
9dc4f671 | 403 | fhJTKlong(obj.fhJTKlong), |
404 | fhJTKlongBg(obj.fhJTKlongBg), | |
405 | fhJTKlongBgR(obj.fhJTKlongBgR), | |
692f6d75 | 406 | fhJTKlongLikeSign(obj.fhJTKlongLikeSign), |
407 | fhJTKlongBgLikeSign(obj.fhJTKlongBgLikeSign), | |
408 | fhJTKlongBgRLikeSign(obj.fhJTKlongBgRLikeSign), | |
409 | fhJTKlongUnlikeSign(obj.fhJTKlongUnlikeSign), | |
410 | fhJTKlongBgUnlikeSign(obj.fhJTKlongBgUnlikeSign), | |
411 | fhJTKlongBgRUnlikeSign(obj.fhJTKlongBgRUnlikeSign), | |
9dc4f671 | 412 | fhJTPta(obj.fhJTPta), |
413 | fhJTPtaBg(obj.fhJTPtaBg), | |
414 | fhJTPtaBgR(obj.fhJTPtaBgR), | |
692f6d75 | 415 | fhJTPtaLikeSign(obj.fhJTPtaLikeSign), |
416 | fhJTPtaBgLikeSign(obj.fhJTPtaBgLikeSign), | |
417 | fhJTPtaBgRLikeSign(obj.fhJTPtaBgRLikeSign), | |
418 | fhJTPtaUnlikeSign(obj.fhJTPtaUnlikeSign), | |
419 | fhJTPtaBgUnlikeSign(obj.fhJTPtaBgUnlikeSign), | |
420 | fhJTPtaBgRUnlikeSign(obj.fhJTPtaBgRUnlikeSign), | |
5dbedd98 | 421 | fHmgInclusive(obj.fHmgInclusive), |
422 | fhIetaTriggFromFile(), | |
423 | fhIetaAssocFromFile(), | |
424 | fhIphiTriggFromFile(), | |
425 | fhIphiAssocFromFile(), | |
426 | fhDphiAssocMixFromFile(), | |
9dc4f671 | 427 | fhLPpt(obj.fhLPpt), |
428 | fhLPpairPt(obj.fhLPpairPt), | |
429 | fhChargedPt(obj.fhChargedPt), | |
430 | fhChargedPtNoCorr(obj.fhChargedPtNoCorr), | |
431 | fhChargedPtJacek(obj.fhChargedPtJacek), | |
432 | fhChargedPtJacekEta(obj.fhChargedPtJacekEta), | |
433 | fhChargedPtFiete(obj.fhChargedPtFiete), | |
434 | fhVdelta2(obj.fhVdelta2), | |
435 | fhVdelta3(obj.fhVdelta3), | |
436 | fhVN(obj.fhVN), | |
437 | fhTrackingEfficiency(obj.fhTrackingEfficiency), | |
438 | fpV2(obj.fpV2), | |
439 | fpV3(obj.fpV3), | |
440 | fpVdeltaNorm(obj.fpVdeltaNorm), | |
441 | fhChargedEta(obj.fhChargedEta), | |
442 | fhLPeta(obj.fhLPeta), | |
443 | fhAssocMult(obj.fhAssocMult), | |
444 | fhChargedMult(obj.fhChargedMult), | |
445 | fhChargedMultCut(obj.fhChargedMultCut), | |
446 | fhChargedMultCent(obj.fhChargedMultCent), | |
447 | fhXt(obj.fhXt), | |
448 | fhXtWeighted(obj.fhXtWeighted), | |
449 | fhXtWeightedHT(obj.fhXtWeightedHT), | |
450 | fhPtForXt(obj.fhPtForXt), | |
451 | fhConeActivity(obj.fhConeActivity), | |
452 | fhConeActivityIsolated(obj.fhConeActivityIsolated), | |
453 | fhPerpConeActivity(obj.fhPerpConeActivity), | |
454 | fhPerpConeActivityIsolated(obj.fhPerpConeActivityIsolated), | |
455 | fhV0AMult(obj.fhV0AMult), | |
456 | fhZVertRaw(obj.fhZVertRaw), | |
457 | fhZVertRawErr(obj.fhZVertRawErr), | |
458 | fhZVert(obj.fhZVert), | |
459 | fhCentr(obj.fhCentr), | |
460 | fhiCentr(obj.fhiCentr), | |
461 | fhEventPerRun(obj.fhEventPerRun), | |
462 | fhVertexZTriggVtx(obj.fhVertexZTriggVtx), | |
463 | fhIsolatedLPpt(obj.fhIsolatedLPpt), | |
464 | fhBkgActivity(obj.fhBkgActivity), | |
465 | fhDphiLPJet(obj.fhDphiLPJet), | |
466 | fhDEtaLPJet(obj.fhDEtaLPJet), | |
467 | fhDPtLPJet(obj.fhDPtLPJet), | |
468 | fhLPJetPTt(obj.fhLPJetPTt), | |
469 | fhLPJetPt(obj.fhLPJetPt), | |
470 | fhLPJetEtaPTt(obj.fhLPJetEtaPTt), | |
471 | fhLPJetRapidityPTt(obj.fhLPJetRapidityPTt), | |
472 | fhLPJetMassPTt(obj.fhLPJetMassPTt), | |
473 | fhLeadingJetWLPPTt(obj.fhLeadingJetWLPPTt), | |
474 | fhJetPt(obj.fhJetPt), | |
475 | fhLeadingJetPt(obj.fhLeadingJetPt), | |
476 | fhLeadingJetWLPPt(obj.fhLeadingJetWLPPt), | |
477 | fhJetAssymPTt(obj.fhJetAssymPTt), | |
478 | fhJetMassPTt(obj.fhJetMassPTt), | |
479 | fhJetUEPt(obj.fhJetUEPt), | |
480 | fhJetDphi(obj.fhJetDphi), | |
481 | fhJetDeta(obj.fhJetDeta), | |
482 | fhJetMultPt(obj.fhJetMultPt), | |
483 | fhJetRho(obj.fhJetRho), | |
484 | fhJetRhoSigma(obj.fhJetRhoSigma), | |
485 | fhJetPartMult(obj.fhJetPartMult), | |
486 | fhRecoDiJetM(obj.fhRecoDiJetM), | |
487 | fhRecoDiJetdPhi(obj.fhRecoDiJetdPhi), | |
488 | fhRecoDiJetkT(obj.fhRecoDiJetkT), | |
489 | fhNParton71(obj.fhNParton71), | |
490 | fhNStringGroup(obj.fhNStringGroup), | |
491 | fhNStringGroupFrom(obj.fhNStringGroupFrom), | |
492 | fhNTracksInStringGroupFrom(obj.fhNTracksInStringGroupFrom), | |
493 | fhRapidity71From(obj.fhRapidity71From), | |
494 | fhPt71From(obj.fhPt71From), | |
495 | fhTrackSelection(obj.fhTrackSelection), | |
496 | fNJacek(obj.fNJacek), | |
497 | fPttJacek(obj.fPttJacek), | |
498 | fNEta(obj.fNEta), | |
499 | fEta(obj.fEta), | |
500 | fNJanFiete(obj.fNJanFiete), | |
501 | fJanFiete(obj.fJanFiete), | |
502 | fhEvents(obj.fhEvents), | |
503 | fhEventTrigger(obj.fhEventTrigger), | |
504 | fmaxEtaRange(obj.fmaxEtaRange), | |
505 | fmaxTriggEtaRange(obj.fmaxTriggEtaRange), | |
506 | ftriggFiducCut(obj.ftriggFiducCut), | |
507 | fnUE(obj.fnUE), | |
508 | fnUEfar(obj.fnUEfar), | |
509 | fLowRange(obj.fLowRange), | |
510 | fHighRange(obj.fHighRange) | |
511 | { | |
512 | // copy constructor | |
513 | JUNUSED(obj); | |
514 | } | |
515 | ||
516 | //______________________________________________________________________________ | |
517 | AliJHistos& AliJHistos::operator=(const AliJHistos& obj){ | |
518 | // copy constructor | |
519 | JUNUSED(obj); | |
520 | return *this; | |
521 | } | |
522 | ||
5dbedd98 | 523 | AliJHistos::~AliJHistos() { |
524 | delete fHMG; | |
525 | delete fHmgInclusive; | |
526 | } | |
527 | ||
9dc4f671 | 528 | //______________________________________________________________________________ |
529 | void AliJHistos::CreateAzimuthCorrHistos() | |
530 | { | |
531 | // Comment needed here! | |
5dbedd98 | 532 | fHMG->cd(); |
9dc4f671 | 533 | |
534 | int bins = 240; // 240 is divisible by 2,3,4,612*24=280 -1/3 and 0.5 and 5/3 are bin edges | |
535 | //double fLowRange = -1.0/3, fHighRange= 5.0/3; | |
536 | fLowRange = -9./20.; //lower range for dphi histos | |
537 | fHighRange= fLowRange+2; //upper range for dphi histos; | |
538 | double ptbw=10/100.0; //see hPt histo below, let's make 10 bins per 1GeV/c | |
539 | ||
540 | fnUE=20; | |
541 | double uEa = fCard->GetBinBorder(kAssocType, 0), uEb = fCard->GetBinBorder(kAssocType, fCard->GetNoOfBins(kAssocType)); | |
542 | double logUEbw = (log(uEb)-log(uEa))/fnUE; | |
543 | for(int ij=0;ij<=fnUE;ij++) fUEBinsx[ij]=uEa*exp(ij*logUEbw); | |
544 | ||
545 | fnUEfar=10; | |
546 | logUEbw = (log(uEb)-log(uEa))/fnUEfar; | |
547 | for(int ij=0;ij<=fnUE;ij++) fUEBinsxFar[ij]=uEa*exp(ij*logUEbw); | |
548 | ||
549 | ||
550 | if(fCard->GetNoOfBins(kCentrType) > kMaxNoCentrBin ){ | |
551 | cout<<"ERROR: No of Centrality bins exceed max dim in AliJHistos.cxx "<<endl; | |
552 | exit(0); | |
553 | } | |
554 | ||
555 | //================================== | |
556 | // trigger pt fhistos | |
557 | //================================== | |
558 | //TODO tmp | |
559 | double pTt1 = fPTtBin.GetMin(); | |
560 | double pTt2 = fPTtBin.GetMax(); | |
561 | double pTa1 = fPTaBin.GetMin(); | |
562 | double pTa2 = fPTaBin.GetMax(); | |
563 | ||
564 | fhTriggPtBinIsolTrigg | |
565 | << TH1D( "hTriggPtBinIsolTrigg", "", (int)TMath::Ceil((pTt2-pTt1)/ptbw),pTt1, pTt2) | |
566 | << fTypBin << fCentBin << fPTtBin | |
567 | << "END"; | |
568 | fhTriggMult | |
569 | << TH1D( "hTriggMult", "", 100, -0.5, 99.5) | |
570 | << fCentBin << fPTtBin << "END"; | |
571 | fhIphiTrigg | |
572 | << TH1D( "fhIphiTrigg", "", bins, -kJPi-0.1, kJPi+0.1) | |
573 | << fCentBin << fPTtBin << "END"; | |
574 | fhIetaTrigg | |
575 | << TH1D( "hIetaTrigg", "", 80, -fmaxEtaRange, fmaxEtaRange) | |
576 | << fCentBin << fPTtBin << "END";// inclusive eta | |
577 | fhTriggPtBin | |
578 | << TH1D( "hTriggPtBin", "", (int)TMath::Ceil((pTt2-pTt1)/ptbw),pTt1, pTt2) | |
579 | << fCentBin << fVtxBin << fPTtBin << "END"; | |
580 | ||
581 | //===================================== | |
582 | // associated pt fhistos with etaGaps | |
583 | //===================================== | |
584 | ||
585 | fhDphiAssoc | |
586 | << TH1D( "hDphiAssoc", "", bins, fLowRange, fHighRange) | |
587 | << fTypBin << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END"; | |
588 | ||
589 | fhDEtaNear | |
590 | << TH1D( "hDEtaNear", "", 320, -2*fmaxEtaRange, 2*fmaxEtaRange) | |
591 | << fCentBin << fVtxBin << fEtaGapBin << fPTtBin << fPTaBin << "END"; | |
592 | fhDEtaNearM | |
593 | << TH1D( "hDEtaNearM", "", 320, -2*fmaxEtaRange, 2*fmaxEtaRange) | |
594 | << fCentBin << fVtxBin << fEtaGapBin << fPTtBin << fPTaBin << "END"; | |
595 | //===================================== | |
596 | // associated pt fhistos with etaGaps XE bins | |
597 | //===================================== | |
598 | // xe bins | |
599 | fhDphiAssocXEbin | |
600 | << TH1D( "hDphiAssocXEbin", "", bins, fLowRange, fHighRange) | |
601 | << fTypBin << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END"; | |
602 | fTestHist | |
603 | << TH1D( "testHist","", 5 , 0 ,5 ) | |
604 | <<fTypBin << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END"; | |
605 | for( int ityp=0;ityp<fTypBin.Size();ityp++ ){ | |
606 | for( int ic=0;ic<fCentBin.Size();ic++){ | |
607 | for( int ie=0;ie<fEtaGapBin.Size();ie++ ){ | |
608 | for( int it=0;it<fPTtBin.Size();it++ ){ | |
609 | for( int ix=0;ix<fXEBin.Size();ix++ ){ | |
610 | fTestHist[ityp][ic][ie][it][ix]->SetBinContent( 1, double(ityp) ); | |
611 | fTestHist[ityp][ic][ie][it][ix]->SetBinContent( 2, double(ic) ); | |
612 | fTestHist[ityp][ic][ie][it][ix]->SetBinContent( 3, double(ie) ); | |
613 | fTestHist[ityp][ic][ie][it][ix]->SetBinContent( 4, double(it) ); | |
614 | fTestHist[ityp][ic][ie][it][ix]->SetBinContent( 5, double(ix) ); | |
615 | } | |
616 | } | |
617 | } | |
618 | } | |
619 | } | |
620 | fhDEtaNearXEbin | |
621 | << TH1D( "hDEtaNearXEbin", "", 320, -2*fmaxEtaRange, 2*fmaxEtaRange) | |
622 | << fCentBin << fVtxBin << fEtaGapBin << fPTtBin << fXEBin << "END"; | |
623 | fhDEtaNearMXEbin | |
624 | << TH1D( "hDEtaNearMXEbin", "", 320, -2*fmaxEtaRange, 2*fmaxEtaRange) | |
625 | << fCentBin << fVtxBin << fEtaGapBin << fPTtBin << fXEBin << "END"; | |
626 | //======================================= | |
627 | // associated fpt fhistos without etaGaps | |
628 | //======================================= | |
629 | fhDphiAssocIsolTrigg | |
630 | << TH1D( "hDphiAssocIsolTrigg", "", bins, fLowRange, fHighRange) | |
631 | << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";//FK// | |
632 | fhMeanPtAssoc | |
633 | << TProfile( "hMeanPtAssoc", "", bins, fLowRange, fHighRange) | |
634 | << fCentBin << fPTtBin << fPTaBin << "END"; | |
635 | fhMeanZtAssoc | |
636 | << TProfile( "hMeanZtAssoc", "", bins, fLowRange, fHighRange) | |
637 | << fCentBin << fPTtBin << fPTaBin << "END"; | |
638 | fhAssocPtBin | |
639 | << TH1D( "hAssocPtBin", "", (int)TMath::Ceil((pTa2-pTa1)/ptbw), pTa1, pTa2) | |
640 | << fCentBin << fPTtBin << fPTaBin << "END"; | |
641 | fhIphiAssoc | |
642 | << TH1D( "fhIphiAssoc", "", bins, -kJPi-0.1, kJPi+0.1) | |
643 | << fCentBin << fPTaBin << "END"; | |
644 | fhIetaAssoc | |
645 | << TH1D( "hIetaAssoc", "", 80, -fmaxEtaRange, fmaxEtaRange) | |
646 | << fCentBin << fPTaBin << "END"; | |
647 | fhDEtaFar | |
648 | << TH1D( "hDEtaFar", "", 120, -2*fmaxEtaRange, 2*fmaxEtaRange) | |
649 | << fTypBin << fCentBin << fPTtBin << "END"; | |
650 | ||
651 | //========================== | |
652 | //UE fhistos | |
653 | //========================== | |
654 | fhPtAssocUE | |
655 | << TH1D( "hPtAssocUE", "", fnUE, fUEBinsx) | |
656 | << fCentBin << fEtaGapBin << fPTtBin << "END"; | |
657 | fhPtaEtaGapN | |
658 | << TH1D( "hPtaEtaGapN", "", fnUE, fUEBinsx) | |
659 | << fCentBin << fEtaGapBin << fPTtBin << "END"; | |
660 | fhPtaRGapN | |
661 | << TH1D( "hPtaRGapN", "", fnUE, fUEBinsx) | |
662 | << fCentBin << fRGapBin << fPTtBin << "END"; | |
663 | fhPtAssocUEIsolTrigg | |
664 | << TH1D( "hPtAssocUEIsolTrigg", "", fnUE, fUEBinsx) | |
665 | << fPTtBin << "END";//FK// | |
666 | fhPtAssocN | |
667 | << TH1D( "hPtAssocN", "", fnUE, fUEBinsx) | |
668 | << fPTtBin << "END"; | |
669 | fhPtAssocF | |
670 | << TH1D( "hPtAssocF", "", fnUE, fUEBinsx) | |
671 | << fPTtBin << "END"; | |
672 | ||
692f6d75 | 673 | //====================== |
674 | // invariant mass histograms | |
675 | //====================== | |
676 | ||
677 | fhInvariantMassXe | |
678 | << TH1D("hInvariantMassXe","",1500,0,3) | |
679 | << fTypBin << fCentBin << fPTtBin << fXEBin << "END"; | |
680 | ||
681 | fhInvariantMassKlong | |
682 | << TH1D("hInvariantMassKlong","",1500,0,3) | |
683 | << fTypBin << fCentBin << fPTtBin << fKLongBin << "END"; | |
684 | ||
685 | fhInvariantMassPta | |
686 | << TH1D("hInvariantMassPta","",1500,0,3) | |
687 | << fTypBin << fCentBin << fPTtBin << fPTaBin << "END"; | |
688 | ||
689 | // Like sign pairs for invariant mass histograms | |
690 | ||
691 | fhInvariantMassXeLikeSign | |
692 | << TH1D("hInvariantMassXeLikeSign","",1500,0,3) | |
693 | << fTypBin << fCentBin << fPTtBin << fXEBin << "END"; | |
694 | ||
695 | fhInvariantMassKlongLikeSign | |
696 | << TH1D("hInvariantMassKlongLikeSign","",1500,0,3) | |
697 | << fTypBin << fCentBin << fPTtBin << fKLongBin << "END"; | |
698 | ||
699 | fhInvariantMassPtaLikeSign | |
700 | << TH1D("hInvariantMassPtaLikeSign","",1500,0,3) | |
701 | << fTypBin << fCentBin << fPTtBin << fPTaBin << "END"; | |
702 | ||
703 | // Unlike sign pairs for invariant mass histograms | |
704 | ||
705 | fhInvariantMassXeUnlikeSign | |
706 | << TH1D("hInvariantMassXeUnlikeSign","",1500,0,3) | |
707 | << fTypBin << fCentBin << fPTtBin << fXEBin << "END"; | |
708 | ||
709 | fhInvariantMassKlongUnlikeSign | |
710 | << TH1D("hInvariantMassKlongUnlikeSign","",1500,0,3) | |
711 | << fTypBin << fCentBin << fPTtBin << fKLongBin << "END"; | |
712 | ||
713 | fhInvariantMassPtaUnlikeSign | |
714 | << TH1D("hInvariantMassPtaUnlikeSign","",1500,0,3) | |
715 | << fTypBin << fCentBin << fPTtBin << fPTaBin << "END"; | |
716 | ||
9dc4f671 | 717 | //======================= |
718 | //jT fhistos | |
719 | //======================= | |
720 | ||
721 | int nJT = 100; | |
722 | double jtLow = 0.05, jtHigh = 20; | |
723 | ||
724 | double logBinsJt[101]; | |
725 | double logJt = (log(jtHigh)-log(jtLow))/nJT; | |
726 | for(int ij=0;ij<=nJT;ij++) logBinsJt[ij]=jtLow*exp(ij*logJt); | |
727 | ||
728 | fhPoutF | |
729 | << TH1D( "hPoutF", "", 300, 0, 15) | |
730 | << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";//FK// | |
692f6d75 | 731 | |
732 | // Histograms in xlong bins | |
733 | ||
734 | fhJT | |
735 | << TH1D( "hJT", "", nJT, logBinsJt) | |
736 | << fTypBin << fCentBin << fPTtBin << fXEBin << "END"; | |
737 | ||
9dc4f671 | 738 | fhJTBg |
739 | << TH1D( "hJTBg", "", nJT, logBinsJt) | |
740 | << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END"; | |
692f6d75 | 741 | |
742 | fhJTBgR | |
743 | << TH1D( "hJTBgR", "", nJT, logBinsJt) | |
744 | << fCentBin << fRGapBin << fPTtBin << fXEBin << "END"; | |
745 | ||
746 | fhJTLikeSign | |
747 | << TH1D( "hJTLikeSign", "", nJT, logBinsJt) | |
748 | << fTypBin << fCentBin << fPTtBin << fXEBin << "END"; | |
749 | ||
750 | fhJTBgLikeSign | |
751 | << TH1D( "hJTBgLikeSign", "", nJT, logBinsJt) | |
752 | << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END"; | |
753 | ||
754 | fhJTBgRLikeSign | |
755 | << TH1D( "hJTBgRLikeSign", "", nJT, logBinsJt) | |
756 | << fCentBin << fRGapBin << fPTtBin << fXEBin << "END"; | |
757 | ||
758 | fhJTUnlikeSign | |
759 | << TH1D( "hJTUnlikeSign", "", nJT, logBinsJt) | |
760 | << fTypBin << fCentBin << fPTtBin << fXEBin << "END"; | |
761 | ||
762 | fhJTBgUnlikeSign | |
763 | << TH1D( "hJTBgUnlikeSign", "", nJT, logBinsJt) | |
9dc4f671 | 764 | << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END"; |
692f6d75 | 765 | |
766 | fhJTBgRUnlikeSign | |
767 | << TH1D( "hJTBgRUnlikeSign", "", nJT, logBinsJt) | |
768 | << fCentBin << fRGapBin << fPTtBin << fXEBin << "END"; | |
769 | ||
9dc4f671 | 770 | fhBgAssocXe |
771 | << TH1D( "hBgAssocXe", "", fnUE, fUEBinsx) | |
772 | << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END"; | |
692f6d75 | 773 | |
774 | fhBgAssocXeR | |
775 | << TH1D( "hBgAssocXeR", "", fnUE, fUEBinsx) | |
9dc4f671 | 776 | << fCentBin << fRGapBin << fPTtBin << fXEBin << "END"; |
692f6d75 | 777 | |
778 | fhDphiDetaXe | |
779 | << TH2D( "hDphiDetaXe", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2) | |
780 | << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END"; | |
781 | ||
9dc4f671 | 782 | fhDphiDetaXeR |
783 | << TH2D( "hDphiDetaXeR", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2) | |
784 | << fCentBin << fRGapBin << fPTtBin << fXEBin << "END"; | |
692f6d75 | 785 | |
786 | // Histograms in klong bins | |
787 | ||
788 | fhJTKlong | |
789 | << TH1D( "hJTKlong", "", nJT, logBinsJt) | |
790 | << fTypBin << fCentBin << fPTtBin << fKLongBin << "END"; | |
791 | ||
792 | fhJTKlongBg | |
793 | << TH1D( "hJTKlongBg", "", nJT, logBinsJt) | |
794 | << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END"; | |
795 | ||
796 | fhJTKlongBgR | |
797 | << TH1D( "hJTKlongBgR", "", nJT, logBinsJt) | |
798 | << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END"; | |
799 | ||
800 | fhJTKlongLikeSign | |
801 | << TH1D( "hJTKlongLikeSign", "", nJT, logBinsJt) | |
802 | << fTypBin << fCentBin << fPTtBin << fKLongBin << "END"; | |
803 | ||
804 | fhJTKlongBgLikeSign | |
805 | << TH1D( "hJTKlongBgLikeSign", "", nJT, logBinsJt) | |
806 | << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END"; | |
807 | ||
808 | fhJTKlongBgRLikeSign | |
809 | << TH1D( "hJTKlongBgRLikeSign", "", nJT, logBinsJt) | |
810 | << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END"; | |
811 | ||
812 | fhJTKlongUnlikeSign | |
813 | << TH1D( "hJTKlongUnlikeSign", "", nJT, logBinsJt) | |
814 | << fTypBin << fCentBin << fPTtBin << fKLongBin << "END"; | |
815 | ||
816 | fhJTKlongBgUnlikeSign | |
817 | << TH1D( "hJTKlongBgUnlikeSign", "", nJT, logBinsJt) | |
818 | << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END"; | |
819 | ||
820 | fhJTKlongBgRUnlikeSign | |
821 | << TH1D( "hJTKlongBgRUnlikeSign", "", nJT, logBinsJt) | |
822 | << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END"; | |
823 | ||
824 | fhBgAssocKlong | |
825 | << TH1D( "hBgAssocKlong", "", fnUE, fUEBinsx) | |
826 | << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END"; | |
827 | ||
828 | fhBgAssocKlongR | |
829 | << TH1D( "hBgAssocKlongR", "", fnUE, fUEBinsx) | |
830 | << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END"; | |
831 | ||
832 | fhDphiDetaKlong | |
833 | << TH2D( "hDphiDetaKlong", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2) | |
834 | << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END"; | |
835 | ||
836 | fhDphiDetaKlongR | |
837 | << TH2D( "hDphiDetaKlongR", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2) | |
838 | << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END"; | |
839 | ||
840 | // Histograms in pta bins | |
841 | ||
842 | fhJTPta | |
843 | << TH1D( "hJTPta", "", nJT, logBinsJt) | |
844 | << fTypBin << fCentBin << fPTtBin << fPTaBin << "END"; | |
845 | ||
9dc4f671 | 846 | fhJTPtaBg |
847 | << TH1D( "hJTPtaBg", "", nJT, logBinsJt) | |
848 | << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END"; | |
692f6d75 | 849 | |
850 | fhJTPtaBgR | |
851 | << TH1D( "hJTPtaBgR", "", nJT, logBinsJt) | |
852 | << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END"; | |
853 | ||
854 | fhJTPtaLikeSign | |
855 | << TH1D( "hJTPtaLikeSign", "", nJT, logBinsJt) | |
856 | << fTypBin << fCentBin << fPTtBin << fPTaBin << "END"; | |
857 | ||
858 | fhJTPtaBgLikeSign | |
859 | << TH1D( "hJTPtaBgLikeSign", "", nJT, logBinsJt) | |
860 | << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END"; | |
861 | ||
862 | fhJTPtaBgRLikeSign | |
863 | << TH1D( "hJTPtaBgRLikeSign", "", nJT, logBinsJt) | |
864 | << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END"; | |
865 | ||
866 | fhJTPtaUnlikeSign | |
867 | << TH1D( "hJTPtaUnlikeSign", "", nJT, logBinsJt) | |
868 | << fTypBin << fCentBin << fPTtBin << fPTaBin << "END"; | |
869 | ||
870 | fhJTPtaBgUnlikeSign | |
871 | << TH1D( "hJTPtaBgUnlikeSign", "", nJT, logBinsJt) | |
9dc4f671 | 872 | << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END"; |
692f6d75 | 873 | |
874 | fhJTPtaBgRUnlikeSign | |
875 | << TH1D( "hJTPtaBgRUnlikeSign", "", nJT, logBinsJt) | |
876 | << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END"; | |
877 | ||
9dc4f671 | 878 | fhBgAssocPta |
879 | << TH1D( "hBgAssocPta", "", fnUE, fUEBinsx) | |
880 | << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END"; | |
692f6d75 | 881 | |
882 | fhBgAssocPtaR | |
883 | << TH1D( "hBgAssocPtaR", "", fnUE, fUEBinsx) | |
9dc4f671 | 884 | << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END"; |
692f6d75 | 885 | |
886 | fhDphiDetaPta | |
887 | << TH2D( "hDphiDetaPta", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2) | |
888 | << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END"; | |
889 | ||
9dc4f671 | 890 | fhDphiDetaPtaR |
891 | << TH2D( "hDphiDetaPtaR", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2) | |
892 | << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END"; | |
9dc4f671 | 893 | } |
894 | ||
895 | ||
896 | void AliJHistos::CreateIAAMoons() | |
897 | { | |
5dbedd98 | 898 | fHMG->cd(); |
9dc4f671 | 899 | //--- IAA signal --- |
900 | fhDRNearPt | |
901 | << TH1D( "hDRNearPt", "", fnUE, fUEBinsx) | |
902 | << fTypBin << fCentBin << fVtxBin << fRGapBin << fPTtBin << "END"; | |
903 | fhDRFarPt | |
904 | << TH1D( "hDRFarPt", "", fnUEfar, fUEBinsxFar) | |
905 | << fTypBin << fCentBin << fVtxBin << fRGapBin << fPTtBin << "END"; | |
906 | ||
907 | // --- Moons --- | |
908 | fhDRNearPtMoon | |
909 | << TH1D( "hDRNearPtMoon", "", fnUE, fUEBinsx) | |
910 | << fCentBin << fVtxBin << fRGapBin << fPhiGapBin << fPTtBin << "END"; | |
911 | fhDRNearPtMoonM | |
912 | << TH1D( "hDRNearPtMoonM", "", fnUE, fUEBinsx) | |
913 | << fCentBin << fVtxBin << fRGapBin << fPhiGapBin << fPTtBin << "END"; | |
914 | ||
915 | fhDRFarPtMoon | |
916 | << TH1D( "hDRFarPtMoon", "", fnUE, fUEBinsx) | |
917 | << fCentBin << fVtxBin << fRGapBin << fPhiGapBin << fPTtBin << "END"; | |
918 | fhDRFarPtMoonM | |
919 | << TH1D( "hDRFarPtMoonM", "", fnUE, fUEBinsx) | |
920 | << fCentBin << fVtxBin << fRGapBin << fPhiGapBin << fPTtBin << "END"; | |
921 | ||
922 | //========================== | |
923 | // 2D fhistos | |
924 | //========================== | |
925 | fhDphiAssoc2DIAA | |
926 | << TH2D( "hDphiAssoc2DIAA", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, fLowRange, fHighRange) | |
927 | << fTypBin << fCentBin << fVtxBin << fPTtBin << fPTaBin << "END"; | |
928 | fhDphiAssoc2D | |
929 | << TH2D( "hDphiAssoc2D", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, fLowRange, fHighRange) | |
930 | << fRGapBin << fPhiGapBin << "END"; | |
931 | } | |
932 | ||
933 | void AliJHistos::CreateXEHistos(){ | |
934 | //================================== | |
935 | // xe slopes | |
936 | //================================== | |
5dbedd98 | 937 | fHMG->cd(); |
9dc4f671 | 938 | double xel=0.0, xeh=1.2; |
939 | int nbxE = int((xeh-xel)/0.04); | |
940 | ||
941 | fhxEPtBin | |
942 | << TH1D( "hxEPtBin", "", nbxE, xel, xeh) | |
943 | << fTypBin3 << fPTtBin << fPTaBin << "END"; | |
944 | fhxEF | |
945 | << TH1D( "hxEF", "", nbxE, xel, xeh) | |
946 | << fTypBin << fPTtBin <<"END"; | |
947 | fhxEFIsolTrigg | |
948 | << TH1D( "hxEFIsoTrigg", "", nbxE, xel, xeh) | |
949 | << fTypBin << fPTtBin << "END"; | |
950 | fhxEN | |
951 | << TH1D("hxEN", "", nbxE, xel, xeh) | |
952 | << fTypBin << fPTtBin << "END"; | |
953 | ||
954 | } | |
955 | ||
956 | void AliJHistos::CreatePairPtCosThetaStar(){ | |
957 | // pairs | |
5dbedd98 | 958 | fHMG->cd(); |
9dc4f671 | 959 | int bins = 288; // 12*24 -1/3 and 0.5 and 5/3 are bin edges |
960 | double lowRange = -1./3, highRange= 5./3; | |
961 | //================= | |
962 | //pairPT | |
963 | //================= | |
964 | fhPairPtDphi | |
965 | << TH1D( "hPairPtDphi", "", bins, lowRange, highRange) | |
966 | << fTypBin << fPTtBin << fPTaBin << "END"; | |
967 | fhPairPt | |
968 | << TH1D( "hPairPt", "", 210, 0, 70) | |
969 | << fTypBin << fPTtBin << fPTaBin << "END"; | |
970 | //================================== | |
971 | // CosThetaStar fhistos | |
972 | //================================== | |
973 | //cout<<"ippt="<<fPairPtBin<<" "<<fCard->IsLessThanUpperPairPtCut(-fPairPtBin)<<endl; | |
974 | fhCosThetaStar | |
975 | << TH1D( "hCosThetaStar", "", 100, 0, 1) | |
976 | << fTypBin << fPairPtBin << fMassBin << "END"; | |
977 | fhCMSrap | |
978 | << TH2D( "hCMSrap", "", 100, 0, 1, 50, -1, 1) | |
979 | << fPairPtBin << fMassBin << "END"; | |
980 | fhInvMass | |
981 | << TH1D( "hInvMass", "", 200, 0, 40) | |
982 | << fPairPtBin << "END"; | |
983 | ||
984 | fhPairPtMass | |
985 | << TH1D( "hPairPtMass", "", 250, 0, 50) | |
986 | << fMassBin << "END"; | |
987 | fhPairDPhi | |
988 | << TH1D( "hPairDPhi", "", bins, lowRange, highRange) | |
989 | << fMassBin << "END"; | |
990 | fhPairDpT | |
991 | << TH1D( "hPairDpT", "", 150, 0-25./150./2., 25-25./150./2.) | |
992 | << fMassBin << "END"; | |
993 | fpCMSrap | |
994 | << TProfile("pCMSrap","no pair pT cut",100,-1,1) | |
995 | << "END"; | |
996 | } | |
997 | ||
998 | //______________________________________________________________________________ | |
999 | void AliJHistos::CreatePtCorrHistos(){ | |
1000 | // pt corr histos | |
5dbedd98 | 1001 | fHMG->cd(); |
9dc4f671 | 1002 | int ptbins=30; |
1003 | double lpt=0,upt=8; | |
1004 | fhPtNear | |
1005 | << TH1D( "hPtNear", "", ptbins, lpt, upt) | |
1006 | << fTypBin << 3 << fCentBin << "END"; | |
1007 | fhPtFar | |
1008 | << TH1D( "hPtFar", "", ptbins, lpt, upt) | |
1009 | << fTypBin << 3 << fCentBin << "END"; | |
1010 | } | |
1011 | ||
1012 | //______________________________________________________________________________ | |
1013 | void AliJHistos::CreateRunByRunHistos(int runID, int runcounter) const { | |
1014 | // Todo | |
5dbedd98 | 1015 | fHMG->cd(); |
9dc4f671 | 1016 | JUNUSED(runID); |
1017 | JUNUSED(runcounter); | |
1018 | } //TODO | |
1019 | ||
1020 | ||
1021 | //______________________________________________________________________________ | |
1022 | void AliJHistos::CreateEventTrackHistos(){ | |
1023 | // comment needed | |
5dbedd98 | 1024 | fHMG->cd(); |
9dc4f671 | 1025 | int nBINS=150; |
1026 | double logBinsX[nBINS+1], limL=0.1, limH=100; | |
1027 | double logBW = (log(limH)-log(limL))/nBINS; | |
1028 | for(int ij=0;ij<=nBINS;ij++) logBinsX[ij]=limL*exp(ij*logBW); | |
1029 | ||
1030 | fhLPpt << TH1D("hLPpt","LP pt", nBINS, logBinsX ) << "END"; | |
1031 | fhLPpairPt << TH1D("hLPpairPt","LP pair pt", nBINS, logBinsX )<< "END"; | |
1032 | fhChargedEta << TH1D("hChargedEta","All eta",100,-1.0,1.0)<< "END"; | |
1033 | fhLPeta << TH1D("hLPeta","LP eta",100,-1.0,1.0)<< "END"; | |
1034 | fhIsolatedLPpt << TH1D("hIsolatedLPpt","Isolated LP pt", nBINS, logBinsX )<< "END"; | |
1035 | fhChargedPtFiete << TH1D("hChargedPtFiete", "Jan Fiete bins", fNJanFiete, fJanFiete )<< "END"; | |
1036 | ||
1037 | ||
1038 | fhAssocMult << TH1D("hAssocMult","Assoc mlt",100,-0.5,99.5)<< "END"; | |
1039 | ||
1040 | fhChargedMult | |
1041 | << TH1D("hChargedMult","", 300, 0., 3500.) | |
1042 | << fCentBin << "END"; | |
1043 | fhChargedMultCut | |
1044 | << TH1D("hChargedMultCut","", 300, 0., 3500.) | |
1045 | << fCentBin << "END"; | |
1046 | fhZVert | |
1047 | << TH1D("hZVert", "", 100, -30., 30.) | |
1048 | << fCentBin << "END"; | |
1049 | fhChargedPt | |
1050 | << TH1D("hChargedPt","", nBINS, logBinsX ) | |
1051 | << fCentBin << "END"; | |
1052 | fhChargedPtNoCorr | |
1053 | << TH1D("hChargedPtNoCorr","", nBINS, logBinsX ) | |
1054 | << fCentBin << "END"; | |
1055 | fhChargedPtJacek | |
1056 | << TH1D("hChargedPtJacek","", fNJacek, fPttJacek ) | |
1057 | << fCentBin << "END"; | |
1058 | fhChargedPtJacekEta | |
1059 | << TH1D("hChargedPtJacekEta","", fNJacek, fPttJacek ) | |
1060 | << fCentBin << 3 << "END"; | |
1061 | ||
1062 | fhVdelta2 << TH1D("hVdelta2","", 100, -0.2, 5) | |
1063 | << fCentBin << "END"; | |
1064 | fhVdelta3 << TH1D("hVdelta3","", 100, -0.2, 5) | |
1065 | << fCentBin << "END"; | |
1066 | fhVN << TH1D("hVN","", 100, -kJPi, kJPi) | |
1067 | << fCentBin << "END"; | |
1068 | fhTrackingEfficiency << TProfile("hTrackingEff","",fNJacek, fPttJacek) | |
1069 | << fCentBin << "END"; | |
1070 | fhV0AMult << TH1D("hV0Mult","", 2000,0,2000 ) | |
1071 | << fCentBin << "END"; | |
1072 | fpV2 << TProfile("pV2", "v2 with cent", 50, 0, 90) << "END"; | |
1073 | fpV3 << TProfile("pV3", "v3 with cent", 50, 0, 90) << "END"; | |
1074 | fpVdeltaNorm << TProfile("pVdeltaNorm", "mult with cent", 50, 0, 90) << "END"; | |
1075 | fhChargedMultCent << TH2D("hChargedMultCent ", "log(fmult) vs cent", 100, 0, 90, 100, 1, 10) << "END"; | |
1076 | fhZVertRaw << TH1D("hZVertRaw","vertex 0", 120, -30., 30.) << "END"; | |
1077 | fhZVertRawErr << TH1D("hZVertRawErr","vertex 0 Err", 100, 0, 0.1) << "END"; | |
1078 | fhCentr << TH1D("hCentr","centrality", 101, -0.5, 100.5) << "END"; | |
1079 | fhiCentr << TH1D("hiCentr","centrality",10, -0.5, 9.5) << "END"; | |
1080 | fhEventPerRun << TH1D("hEventPerRun","log(eve)/run",200, 0, 30.0) << "END"; | |
1081 | fhBkgActivity | |
1082 | << TH1D("hBkgActivity", "", 200, 0, 20) | |
1083 | << fPTtBin <<"END"; | |
1084 | ||
1085 | //------------------ for Abs Norm FK -------------------------------- | |
1086 | double binsVertexMult[] = {0,1,2,3,4,5,10000}; | |
1087 | int nbinsVertexMult = sizeof(binsVertexMult)/sizeof(double)-1; | |
1088 | //double binsVertexZ[] = {-10,-5,-2,0,2,5,10}; | |
1089 | double binsVertexZ[] = {-10,-6,-3,-2,-1.5,-1,-0.5,0,0.5,1,1.5,2,3,6,10}; | |
1090 | int nbinsVertexZ = sizeof(binsVertexZ)/sizeof(double)-1; | |
1091 | fhVertexZTriggVtx << TH2D("hVertexZTriggVtx","Vertex counts", nbinsVertexMult, binsVertexMult, nbinsVertexZ, binsVertexZ) << "END"; | |
1092 | ||
1093 | // event counter | |
1094 | fhEvents | |
1095 | << TH1D("hEvents","events passing cuts", 100, -0.5, 100-0.5 ) << "END"; | |
1096 | fhEventTrigger | |
1097 | << TH1D("hEventTrigger","Trigger count", 50, -0.5, 50.-.5 ) | |
1098 | << "END"; | |
1099 | fhTrackSelection | |
1100 | << TH1D("hTrackSelection","checking bit convention", 100, -0.5, 100-0.5) << "END"; | |
1101 | // TODO fhEvents->SetXTitle( "0 - all, 1 - SDD selected, 2 - has vertex, 3 - good vertex, 4 - trigger + MB, 5 - trigger, 6 - BX, 7 - centrality" ); | |
1102 | } | |
1103 | ||
1104 | void AliJHistos::CreateJetHistos(){ | |
5dbedd98 | 1105 | fHMG->cd(); |
9dc4f671 | 1106 | // jet histos |
1107 | int nBINS=200; | |
1108 | double logBinsX[nBINS+1], limL=0.1, limH=200; | |
1109 | double logBW = (log(limH)-log(limL))/nBINS; | |
1110 | for(int ij=0;ij<=nBINS;ij++) logBinsX[ij]=limL*exp(ij*logBW); | |
1111 | ||
1112 | fhLPJetPt | |
1113 | << TH1D( "hLPJetPt", "", nBINS, logBinsX) | |
1114 | << fCentBin << "END"; | |
1115 | fhJetPt | |
1116 | << TH1D( "hJetPt", "", nBINS, logBinsX) | |
1117 | << fCentBin << "END"; | |
1118 | fhLeadingJetPt | |
1119 | << TH1D( "hLeadingJetPt", "", nBINS, logBinsX) | |
1120 | << fCentBin << "END"; | |
1121 | fhLeadingJetWLPPt | |
1122 | << TH1D( "hLeadingJetWLPPt", "", nBINS, logBinsX) | |
1123 | << fCentBin << "END"; | |
1124 | fhLPJetPTt | |
1125 | << TH1D( "hLPJetPTt", "", nBINS, logBinsX) | |
1126 | << fCentBin << fPTtBin << "END"; | |
1127 | fhLeadingJetWLPPTt | |
1128 | << TH1D( "hLeadingJetWLPPTt", "", nBINS, logBinsX) | |
1129 | << fCentBin << fPTtBin << "END"; | |
1130 | fhLPJetEtaPTt | |
1131 | << TH1D( "hLPJetEtaPTt", "", 100, -1, 1) | |
1132 | << fCentBin << fPTtBin << "END"; | |
1133 | fhLPJetRapidityPTt | |
1134 | << TH1D( "hLPJetRapidityPTt", "", 100, -1, 1) | |
1135 | << fCentBin << fPTtBin << "END"; | |
1136 | fhLPJetMassPTt | |
1137 | << TH1D( "hLPJetMassPTt", "", nBINS, logBinsX) | |
1138 | << fCentBin << fPTtBin << "END"; | |
1139 | fhDphiLPJet | |
1140 | << TH1D( "hDphiLPJet", "", 160, -kJPi/2., kJPi/2.) | |
1141 | << fCentBin << fPTtBin << "END"; | |
1142 | fhDEtaLPJet | |
1143 | << TH1D( "hDEtaLPJet", "", 240, -1.2, 1.2) | |
1144 | << fCentBin << fPTtBin << "END"; | |
1145 | // LP jet vs Leading Jet | |
1146 | fhDPtLPJet | |
1147 | << TH1D( "hDPtLPJet", "", 100, 0, 10.) | |
1148 | << fCentBin << fPTtBin << "END"; | |
1149 | //================================== | |
1150 | fhJetDphi << TH1D( "hJetDphi", "#Delta#phi", 100,-TMath::Pi(), TMath::Pi()) | |
1151 | << fTypBin << fPTtBin <<"END"; | |
1152 | fhJetDeta << TH1D("hJetDeta","#Delta#eta ",100,-1, 1) | |
1153 | << fTypBin << fPTtBin <<"END"; | |
1154 | fhJetMultPt << TH1D("hJetMultPt","Jet Multiplicity ",100,0-0.5, 100-0.5) | |
1155 | << fPTtBin <<"END"; | |
1156 | fhJetRho << TH1D("hJetRho","#rho",200,0, 50) | |
1157 | << fPTtBin <<"END"; | |
1158 | fhJetRhoSigma << TH1D("hJetRhoSigma","#sigma",200,0, 50) | |
1159 | << fPTtBin <<"END"; | |
1160 | // How many particles in a jet | |
1161 | fhJetPartMult << TH1D("hJetPartMult","Number of consituents",100, 0-0.5, 100-0.5) | |
1162 | << fPTtBin <<"END"; | |
1163 | fhRecoDiJetM | |
1164 | << TH1D("hRecoDiJetM", "Invariant Mass", 201,-0.5, 200 ) | |
1165 | << "END"; | |
1166 | fhJetUEPt | |
1167 | << TH1D("hJetUEPt","UE particles p_{T} by Jet substract",nBINS,logBinsX) | |
1168 | << "END"; | |
1169 | // pytfPTaBin | |
1170 | fhNParton71 | |
1171 | << TH1D("hNParton71", "hNParton71", 100, -0.5, 100-0.5) | |
1172 | <<"END"; | |
1173 | fhNStringGroup | |
1174 | << TH1D("hNStringGroup", "hNStringGroup", 100, -0.5, 100-0.5) | |
1175 | <<"END"; | |
1176 | fhNStringGroupFrom << TH1D("hNStringGroupFrom", "hNStringGroupFrom", 100, -0.5, 100-0.5) << 2 <<"END"; | |
1177 | fhNTracksInStringGroupFrom << TH1D("hNTracksInStringGroupFrom", "hNTracksInStringGroupFrom", 100, -0.5, 100-0.5) << 2 << "END"; | |
1178 | fhRapidity71From << TH1D("hRapidity71From", "hRapidity71From", 100, -8, 8 ) << 2 << "END"; | |
1179 | fhPt71From | |
1180 | << TH1D("hPt71From", "hPt71From", 1000, 0, 100) | |
1181 | << 2 << "END"; | |
1182 | ||
1183 | } | |
1184 | ||
1185 | //______________________________________________________________________________ | |
1186 | void AliJHistos::CreateXtHistos() { | |
5dbedd98 | 1187 | // TODO comment |
1188 | // | |
1189 | fHMG->cd(); | |
9dc4f671 | 1190 | // Esko |
1191 | TH1::SetDefaultSumw2(kTRUE); | |
1192 | cout << "GetDefaultSumw2() = " << TH1::GetDefaultSumw2() << endl; | |
1193 | ||
1194 | // xT binning | |
1195 | int nBinsXt=200; | |
1196 | double logBinsXt[nBinsXt+1]; | |
1197 | double xTLimL = 1e-5, xTLimH = 1.0, xTlogBW = (log(xTLimH)-log(xTLimL))/nBinsXt; | |
1198 | for(int ij=0;ij<=nBinsXt;ij++) logBinsXt[ij]=xTLimL*exp(ij*xTlogBW); | |
1199 | ||
1200 | ||
1201 | // pT binning | |
1202 | int nBinsPt=200; | |
1203 | double logBinsPt[nBinsPt+1]; | |
1204 | double pTLimL=0.1, pTLimH=200 , pTlogBW = (log(pTLimH)-log(pTLimL))/nBinsPt; | |
1205 | for(int ij=0;ij<=nBinsPt;ij++) logBinsPt[ij]=pTLimL*exp(ij*pTlogBW); | |
1206 | ||
1207 | fhConeActivity << TProfile("hActivity", "Mean activity inside cone", nBinsPt, logBinsPt ); | |
1208 | fhPerpConeActivity << TProfile("hPerpActivity", "Mean activity inside perpendicular cone", nBinsPt, logBinsPt ); | |
1209 | fhConeActivityIsolated << TProfile("hActivityIsolated", "Mean pion activity inside cone isolated", nBinsPt, logBinsPt ); | |
1210 | ||
1211 | fhPerpConeActivityIsolated << TProfile("hPerpActivityIsolated", "Mean activity inside perpendicular cone", nBinsPt, logBinsPt ); | |
1212 | fhPtForXt | |
1213 | << TH1D("hPtForXt","", fNJacek, fPttJacek ) | |
1214 | << 3 << fCentBin <<"END"; | |
1215 | ||
1216 | fhXt | |
1217 | << TH1D("hXt", "Charged xT", nBinsXt, logBinsXt ) | |
1218 | << 3 << fCentBin <<"END"; | |
1219 | ||
1220 | fhXtWeighted | |
1221 | << TH1D("hXtWeighted", "Charged xT", nBinsXt, logBinsXt ) | |
1222 | << 3 << fCentBin <<"END"; | |
1223 | ||
1224 | fhXtWeightedHT | |
1225 | << TH1D("hXtWeightedHT", "", nBinsXt, logBinsXt ) | |
1226 | << 3 << fCentBin <<"END"; | |
1227 | } | |
1228 | ||
1229 | //______________________________________________________________________________ | |
1230 | //void AliJHistos::ReadInclusiveHistos(TFile *inFile){ | |
1231 | void AliJHistos::ReadInclusiveHistos(const char *inclusFileName){ | |
5dbedd98 | 1232 | // read inclusive histos |
1233 | fHMG->cd(); | |
9dc4f671 | 1234 | |
5dbedd98 | 1235 | TPMERegexp sep("::"); |
1236 | int ncol = sep.Split( inclusFileName ); | |
1237 | TString filename = sep[0]; | |
9dc4f671 | 1238 | |
5dbedd98 | 1239 | if (TString(inclusFileName).BeginsWith("alien:")) TGrid::Connect("alien:"); |
1240 | TFile *inclusFile = TFile::Open(filename); | |
1241 | TDirectory * dir = (TDirectory*) inclusFile; | |
1242 | if( ncol > 1 ) dir = (TDirectory*)( inclusFile->Get(sep[1])); | |
1243 | if( !dir ) { | |
1244 | cout << " ReadInclusiveHistos wrong file name or dirname !!!!" << endl; | |
1245 | } | |
1246 | ||
1247 | cout<<inclusFileName<<"\t"<<filename<<"\t"; | |
1248 | if( ncol > 1 ) cout<<sep[1]; | |
1249 | cout<<endl; | |
1250 | dir->Print(); | |
1251 | ||
1252 | dir->cd(); | |
1253 | ||
1254 | fHmgInclusive = new AliJHistManager("hst"); | |
1255 | fHmgInclusive->LoadConfig(); | |
1256 | ||
1257 | fhIetaTriggFromFile = fHmgInclusive->GetTH1D("hIetaTrigg"); | |
1258 | fhIetaTriggFromFile.Print(); | |
1259 | fhIetaTriggFromFile[0][0]->Print(); | |
1260 | ||
1261 | fhIphiTriggFromFile = fHmgInclusive->GetTH1D("fhIphiTrigg"); // TODO | |
1262 | fhIphiTriggFromFile.Print(); | |
1263 | fhIetaAssocFromFile = fHmgInclusive->GetTH1D("hIetaAssoc"); | |
1264 | fhIetaAssocFromFile.Print(); | |
1265 | fhIphiAssocFromFile = fHmgInclusive->GetTH1D("fhIphiAssoc"); | |
1266 | fhIphiAssocFromFile.Print(); | |
1267 | ||
1268 | int numCent = fCard->GetNoOfBins(kCentrType); | |
1269 | int numPtt = fCard->GetNoOfBins(kTriggType); | |
1270 | int numPta = fCard->GetNoOfBins(kAssocType); | |
1271 | int numEtaGaps = fCard->GetNoOfBins(kEtaGapType); | |
1272 | int numZvtx = fCard->GetNoOfBins(kZVertType); | |
1273 | ||
1274 | //------------ R e a d mixed D a t a ------------ | |
1275 | const int zFirstBin = 0 ; | |
1276 | const int etaGapFirstBin = 0 ; | |
1277 | AliJTH1D hDEtaNearTmp = fHmgInclusive->GetTH1D("hDEtaNear"); | |
1278 | for (int hic = 0;hic < numCent; hic++) { | |
1279 | for (int hit = 0; hit < numPtt;hit++){ | |
1280 | for (int hia = 0; hia < numPta; hia++){ | |
1281 | fhDEtaNearMixFromFile[hic][hit][hia]= hDEtaNearTmp[hic][zFirstBin][etaGapFirstBin][hit][hia]; | |
1282 | for (int iEtaGap=0; iEtaGap < numEtaGaps; iEtaGap++){//fdphi slices | |
1283 | for (int hiz = 0; hiz < numZvtx; hiz++) { | |
1284 | if( iEtaGap==etaGapFirstBin && hiz==zFirstBin ) continue; | |
1285 | TH1D *hid = hDEtaNearTmp[hic][hiz][iEtaGap][hit][hia]; | |
1286 | fhDEtaNearMixFromFile[hic][hit][hia]->Add(hid); | |
1287 | } | |
1288 | } | |
1289 | //normalize to traingle | |
1290 | double counts = fhDEtaNearMixFromFile[hic][hit][hia]->Integral(); | |
1291 | double bw = fhDEtaNearMixFromFile[hic][hit][hia]->GetBinWidth(1); | |
1292 | int rebin = 4; | |
1293 | if(counts<5000) rebin=8; | |
1294 | if(counts<3000) rebin=10; | |
1295 | if(counts<1000) rebin=16; | |
1296 | fhDEtaNearMixFromFile[hic][hit][hia]->Rebin(rebin); | |
1297 | if(counts>0) fhDEtaNearMixFromFile[hic][hit][hia]->Scale(2.*fmaxEtaRange/counts/bw/rebin);//triangle f(0)=1, f(1.6)=0 | |
1298 | //if(counts>0) fhDEtaNearMixFromFile[hic][hit][hia]->Scale(2.*fmaxEtaRange/counts/bw); | |
1299 | //cout<<"c=" << hic <<" as="<< hia <<" entries="<< fhDEtaNearMixFromFile[hic][hit][hia]->GetEntries() <<endl; | |
1300 | ||
1301 | } | |
1302 | } | |
1303 | } | |
1304 | ||
1305 | ||
1306 | //for (int hic = 0;hic < fCard->GetNoOfBins(kCentrType);hic++) { | |
1307 | // for (int hit = 0; hit < fCard->GetNoOfBins(kTriggType);hit++){ | |
1308 | // for (int hia = 0; hia < fCard->GetNoOfBins(kAssocType); hia++){ | |
1309 | // hDphiAssocMixSpectraFile[hic][hit][hia]= (TH1D*) inclusFile->Get(Form("xhDphiAssoc%02dC%02dE00T%02dA%02d",1, hic, hit, hia));//FK//mix2 | |
1310 | // } | |
1311 | // } | |
1312 | //} | |
9dc4f671 | 1313 | } |