]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/Correlations/JCORRAN/AliJHistos.cxx
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGCF / Correlations / JCORRAN / AliJHistos.cxx
CommitLineData
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//______________________________________________________________________________
27AliJHistos::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//______________________________________________________________________________
305AliJHistos::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//______________________________________________________________________________
517AliJHistos& AliJHistos::operator=(const AliJHistos& obj){
518 // copy constructor
519 JUNUSED(obj);
520 return *this;
521}
522
5dbedd98 523AliJHistos::~AliJHistos() {
524 delete fHMG;
525 delete fHmgInclusive;
526}
527
9dc4f671 528//______________________________________________________________________________
529void 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
896void 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
933void 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
956void 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//______________________________________________________________________________
999void 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//______________________________________________________________________________
1013void 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//______________________________________________________________________________
1022void 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
1104void 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//______________________________________________________________________________
1186void 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){
1231void 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}