1 /**************************************************************************
2 * Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
16 // Comment describing what this class does needed!
18 #include "AliJHistos.h"
20 #include "AliJBaseTrack.h"
21 #include "AliJPhoton.h"
22 #include "AliJTrack.h"
26 //______________________________________________________________________________
27 AliJHistos::AliJHistos(AliJCard* cardP) :
65 fhInvariantMassKlong(),
67 fhInvariantMassXeLikeSign(),
68 fhInvariantMassKlongLikeSign(),
69 fhInvariantMassPtaLikeSign(),
70 fhInvariantMassXeUnlikeSign(),
71 fhInvariantMassKlongUnlikeSign(),
72 fhInvariantMassPtaUnlikeSign(),
73 fhDphiAssocIsolTrigg(),
79 fhPtAssocUEIsolTrigg(),
108 fhTriggPtBinIsolTrigg(),
129 fhJTKlongBgLikeSign(),
130 fhJTKlongBgRLikeSign(),
131 fhJTKlongUnlikeSign(),
132 fhJTKlongBgUnlikeSign(),
133 fhJTKlongBgRUnlikeSign(),
139 fhJTPtaBgRLikeSign(),
141 fhJTPtaBgUnlikeSign(),
142 fhJTPtaBgRUnlikeSign(),
144 fhIetaTriggFromFile(),
145 fhIetaAssocFromFile(),
146 fhIphiTriggFromFile(),
147 fhIphiAssocFromFile(),
148 fhDphiAssocMixFromFile(),
154 fhChargedPtJacekEta(),
159 fhTrackingEfficiency(),
174 fhConeActivityIsolated(),
175 fhPerpConeActivity(),
176 fhPerpConeActivityIsolated(),
193 fhLPJetRapidityPTt(),
195 fhLeadingJetWLPPTt(),
213 fhNStringGroupFrom(),
214 fhNTracksInStringGroupFrom(),
227 fmaxTriggEtaRange(0),
235 fmaxEtaRange = fCard->Get("EtaRange");
236 ftriggFiducCut = fCard->Get("TriggerFiducialEtaCut"); //FK// Fiduc cut
237 fmaxTriggEtaRange = fmaxEtaRange - ftriggFiducCut; //FK// Trigger range
239 fHMG = new AliJHistManager( "HistManager");
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") );
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};
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.};
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];
274 double eta[nEta+1] = {-0.8,-0.2,0.3,0.8};// eta bins
276 fNEta = nEta; // Number of bins
277 fEta = new double[fNEta+1];
278 for(int i = 0; i <= fNEta; i++){
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};
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];
300 //fhtyp[2] = "Mixed";
301 //fhtyp[3] = "Rap. Gap";
304 //______________________________________________________________________________
305 AliJHistos::AliJHistos(const AliJHistos& obj) :
308 fCentBin(obj.fCentBin),
309 fVtxBin(obj.fVtxBin),
310 fPTtBin(obj.fPTtBin),
311 fPTaBin(obj.fPTaBin),
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),
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),
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),
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),
391 fhxEFIsolTrigg(obj.fhxEFIsolTrigg),
392 fhPoutF(obj.fhPoutF),
393 fhxEPtBin(obj.fhxEPtBin),
396 fhJTBgR(obj.fhJTBgR),
397 fhJTLikeSign(obj.fhJTLikeSign),
398 fhJTBgLikeSign(obj.fhJTBgLikeSign),
399 fhJTBgRLikeSign(obj.fhJTBgRLikeSign),
400 fhJTUnlikeSign(obj.fhJTUnlikeSign),
401 fhJTBgUnlikeSign(obj.fhJTBgUnlikeSign),
402 fhJTBgRUnlikeSign(obj.fhJTBgRUnlikeSign),
403 fhJTKlong(obj.fhJTKlong),
404 fhJTKlongBg(obj.fhJTKlongBg),
405 fhJTKlongBgR(obj.fhJTKlongBgR),
406 fhJTKlongLikeSign(obj.fhJTKlongLikeSign),
407 fhJTKlongBgLikeSign(obj.fhJTKlongBgLikeSign),
408 fhJTKlongBgRLikeSign(obj.fhJTKlongBgRLikeSign),
409 fhJTKlongUnlikeSign(obj.fhJTKlongUnlikeSign),
410 fhJTKlongBgUnlikeSign(obj.fhJTKlongBgUnlikeSign),
411 fhJTKlongBgRUnlikeSign(obj.fhJTKlongBgRUnlikeSign),
412 fhJTPta(obj.fhJTPta),
413 fhJTPtaBg(obj.fhJTPtaBg),
414 fhJTPtaBgR(obj.fhJTPtaBgR),
415 fhJTPtaLikeSign(obj.fhJTPtaLikeSign),
416 fhJTPtaBgLikeSign(obj.fhJTPtaBgLikeSign),
417 fhJTPtaBgRLikeSign(obj.fhJTPtaBgRLikeSign),
418 fhJTPtaUnlikeSign(obj.fhJTPtaUnlikeSign),
419 fhJTPtaBgUnlikeSign(obj.fhJTPtaBgUnlikeSign),
420 fhJTPtaBgRUnlikeSign(obj.fhJTPtaBgRUnlikeSign),
421 fHmgInclusive(obj.fHmgInclusive),
422 fhIetaTriggFromFile(),
423 fhIetaAssocFromFile(),
424 fhIphiTriggFromFile(),
425 fhIphiAssocFromFile(),
426 fhDphiAssocMixFromFile(),
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),
437 fhTrackingEfficiency(obj.fhTrackingEfficiency),
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),
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),
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),
508 fnUEfar(obj.fnUEfar),
509 fLowRange(obj.fLowRange),
510 fHighRange(obj.fHighRange)
516 //______________________________________________________________________________
517 AliJHistos& AliJHistos::operator=(const AliJHistos& obj){
523 AliJHistos::~AliJHistos() {
525 delete fHmgInclusive;
528 //______________________________________________________________________________
529 void AliJHistos::CreateAzimuthCorrHistos()
531 // Comment needed here!
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
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);
546 logUEbw = (log(uEb)-log(uEa))/fnUEfar;
547 for(int ij=0;ij<=fnUE;ij++) fUEBinsxFar[ij]=uEa*exp(ij*logUEbw);
550 if(fCard->GetNoOfBins(kCentrType) > kMaxNoCentrBin ){
551 cout<<"ERROR: No of Centrality bins exceed max dim in AliJHistos.cxx "<<endl;
555 //==================================
556 // trigger pt fhistos
557 //==================================
559 double pTt1 = fPTtBin.GetMin();
560 double pTt2 = fPTtBin.GetMax();
561 double pTa1 = fPTaBin.GetMin();
562 double pTa2 = fPTaBin.GetMax();
564 fhTriggPtBinIsolTrigg
565 << TH1D( "hTriggPtBinIsolTrigg", "", (int)TMath::Ceil((pTt2-pTt1)/ptbw),pTt1, pTt2)
566 << fTypBin << fCentBin << fPTtBin
569 << TH1D( "hTriggMult", "", 100, -0.5, 99.5)
570 << fCentBin << fPTtBin << "END";
572 << TH1D( "fhIphiTrigg", "", bins, -kJPi-0.1, kJPi+0.1)
573 << fCentBin << fPTtBin << "END";
575 << TH1D( "hIetaTrigg", "", 80, -fmaxEtaRange, fmaxEtaRange)
576 << fCentBin << fPTtBin << "END";// inclusive eta
578 << TH1D( "hTriggPtBin", "", (int)TMath::Ceil((pTt2-pTt1)/ptbw),pTt1, pTt2)
579 << fCentBin << fVtxBin << fPTtBin << "END";
581 //=====================================
582 // associated pt fhistos with etaGaps
583 //=====================================
586 << TH1D( "hDphiAssoc", "", bins, fLowRange, fHighRange)
587 << fTypBin << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
590 << TH1D( "hDEtaNear", "", 320, -2*fmaxEtaRange, 2*fmaxEtaRange)
591 << fCentBin << fVtxBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
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 //=====================================
600 << TH1D( "hDphiAssocXEbin", "", bins, fLowRange, fHighRange)
601 << fTypBin << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END";
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) );
621 << TH1D( "hDEtaNearXEbin", "", 320, -2*fmaxEtaRange, 2*fmaxEtaRange)
622 << fCentBin << fVtxBin << fEtaGapBin << fPTtBin << fXEBin << "END";
624 << TH1D( "hDEtaNearMXEbin", "", 320, -2*fmaxEtaRange, 2*fmaxEtaRange)
625 << fCentBin << fVtxBin << fEtaGapBin << fPTtBin << fXEBin << "END";
626 //=======================================
627 // associated fpt fhistos without etaGaps
628 //=======================================
630 << TH1D( "hDphiAssocIsolTrigg", "", bins, fLowRange, fHighRange)
631 << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";//FK//
633 << TProfile( "hMeanPtAssoc", "", bins, fLowRange, fHighRange)
634 << fCentBin << fPTtBin << fPTaBin << "END";
636 << TProfile( "hMeanZtAssoc", "", bins, fLowRange, fHighRange)
637 << fCentBin << fPTtBin << fPTaBin << "END";
639 << TH1D( "hAssocPtBin", "", (int)TMath::Ceil((pTa2-pTa1)/ptbw), pTa1, pTa2)
640 << fCentBin << fPTtBin << fPTaBin << "END";
642 << TH1D( "fhIphiAssoc", "", bins, -kJPi-0.1, kJPi+0.1)
643 << fCentBin << fPTaBin << "END";
645 << TH1D( "hIetaAssoc", "", 80, -fmaxEtaRange, fmaxEtaRange)
646 << fCentBin << fPTaBin << "END";
648 << TH1D( "hDEtaFar", "", 120, -2*fmaxEtaRange, 2*fmaxEtaRange)
649 << fTypBin << fCentBin << fPTtBin << "END";
651 //==========================
653 //==========================
655 << TH1D( "hPtAssocUE", "", fnUE, fUEBinsx)
656 << fCentBin << fEtaGapBin << fPTtBin << "END";
658 << TH1D( "hPtaEtaGapN", "", fnUE, fUEBinsx)
659 << fCentBin << fEtaGapBin << fPTtBin << "END";
661 << TH1D( "hPtaRGapN", "", fnUE, fUEBinsx)
662 << fCentBin << fRGapBin << fPTtBin << "END";
664 << TH1D( "hPtAssocUEIsolTrigg", "", fnUE, fUEBinsx)
665 << fPTtBin << "END";//FK//
667 << TH1D( "hPtAssocN", "", fnUE, fUEBinsx)
670 << TH1D( "hPtAssocF", "", fnUE, fUEBinsx)
673 //======================
674 // invariant mass histograms
675 //======================
678 << TH1D("hInvariantMassXe","",1500,0,3)
679 << fTypBin << fCentBin << fPTtBin << fXEBin << "END";
682 << TH1D("hInvariantMassKlong","",1500,0,3)
683 << fTypBin << fCentBin << fPTtBin << fKLongBin << "END";
686 << TH1D("hInvariantMassPta","",1500,0,3)
687 << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";
689 // Like sign pairs for invariant mass histograms
691 fhInvariantMassXeLikeSign
692 << TH1D("hInvariantMassXeLikeSign","",1500,0,3)
693 << fTypBin << fCentBin << fPTtBin << fXEBin << "END";
695 fhInvariantMassKlongLikeSign
696 << TH1D("hInvariantMassKlongLikeSign","",1500,0,3)
697 << fTypBin << fCentBin << fPTtBin << fKLongBin << "END";
699 fhInvariantMassPtaLikeSign
700 << TH1D("hInvariantMassPtaLikeSign","",1500,0,3)
701 << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";
703 // Unlike sign pairs for invariant mass histograms
705 fhInvariantMassXeUnlikeSign
706 << TH1D("hInvariantMassXeUnlikeSign","",1500,0,3)
707 << fTypBin << fCentBin << fPTtBin << fXEBin << "END";
709 fhInvariantMassKlongUnlikeSign
710 << TH1D("hInvariantMassKlongUnlikeSign","",1500,0,3)
711 << fTypBin << fCentBin << fPTtBin << fKLongBin << "END";
713 fhInvariantMassPtaUnlikeSign
714 << TH1D("hInvariantMassPtaUnlikeSign","",1500,0,3)
715 << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";
717 //=======================
719 //=======================
722 double jtLow = 0.05, jtHigh = 20;
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);
729 << TH1D( "hPoutF", "", 300, 0, 15)
730 << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";//FK//
732 // Histograms in xlong bins
735 << TH1D( "hJT", "", nJT, logBinsJt)
736 << fTypBin << fCentBin << fPTtBin << fXEBin << "END";
739 << TH1D( "hJTBg", "", nJT, logBinsJt)
740 << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END";
743 << TH1D( "hJTBgR", "", nJT, logBinsJt)
744 << fCentBin << fRGapBin << fPTtBin << fXEBin << "END";
747 << TH1D( "hJTLikeSign", "", nJT, logBinsJt)
748 << fTypBin << fCentBin << fPTtBin << fXEBin << "END";
751 << TH1D( "hJTBgLikeSign", "", nJT, logBinsJt)
752 << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END";
755 << TH1D( "hJTBgRLikeSign", "", nJT, logBinsJt)
756 << fCentBin << fRGapBin << fPTtBin << fXEBin << "END";
759 << TH1D( "hJTUnlikeSign", "", nJT, logBinsJt)
760 << fTypBin << fCentBin << fPTtBin << fXEBin << "END";
763 << TH1D( "hJTBgUnlikeSign", "", nJT, logBinsJt)
764 << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END";
767 << TH1D( "hJTBgRUnlikeSign", "", nJT, logBinsJt)
768 << fCentBin << fRGapBin << fPTtBin << fXEBin << "END";
771 << TH1D( "hBgAssocXe", "", fnUE, fUEBinsx)
772 << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END";
775 << TH1D( "hBgAssocXeR", "", fnUE, fUEBinsx)
776 << fCentBin << fRGapBin << fPTtBin << fXEBin << "END";
779 << TH2D( "hDphiDetaXe", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
780 << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END";
783 << TH2D( "hDphiDetaXeR", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
784 << fCentBin << fRGapBin << fPTtBin << fXEBin << "END";
786 // Histograms in klong bins
789 << TH1D( "hJTKlong", "", nJT, logBinsJt)
790 << fTypBin << fCentBin << fPTtBin << fKLongBin << "END";
793 << TH1D( "hJTKlongBg", "", nJT, logBinsJt)
794 << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END";
797 << TH1D( "hJTKlongBgR", "", nJT, logBinsJt)
798 << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END";
801 << TH1D( "hJTKlongLikeSign", "", nJT, logBinsJt)
802 << fTypBin << fCentBin << fPTtBin << fKLongBin << "END";
805 << TH1D( "hJTKlongBgLikeSign", "", nJT, logBinsJt)
806 << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END";
809 << TH1D( "hJTKlongBgRLikeSign", "", nJT, logBinsJt)
810 << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END";
813 << TH1D( "hJTKlongUnlikeSign", "", nJT, logBinsJt)
814 << fTypBin << fCentBin << fPTtBin << fKLongBin << "END";
816 fhJTKlongBgUnlikeSign
817 << TH1D( "hJTKlongBgUnlikeSign", "", nJT, logBinsJt)
818 << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END";
820 fhJTKlongBgRUnlikeSign
821 << TH1D( "hJTKlongBgRUnlikeSign", "", nJT, logBinsJt)
822 << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END";
825 << TH1D( "hBgAssocKlong", "", fnUE, fUEBinsx)
826 << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END";
829 << TH1D( "hBgAssocKlongR", "", fnUE, fUEBinsx)
830 << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END";
833 << TH2D( "hDphiDetaKlong", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
834 << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END";
837 << TH2D( "hDphiDetaKlongR", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
838 << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END";
840 // Histograms in pta bins
843 << TH1D( "hJTPta", "", nJT, logBinsJt)
844 << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";
847 << TH1D( "hJTPtaBg", "", nJT, logBinsJt)
848 << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
851 << TH1D( "hJTPtaBgR", "", nJT, logBinsJt)
852 << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END";
855 << TH1D( "hJTPtaLikeSign", "", nJT, logBinsJt)
856 << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";
859 << TH1D( "hJTPtaBgLikeSign", "", nJT, logBinsJt)
860 << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
863 << TH1D( "hJTPtaBgRLikeSign", "", nJT, logBinsJt)
864 << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END";
867 << TH1D( "hJTPtaUnlikeSign", "", nJT, logBinsJt)
868 << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";
871 << TH1D( "hJTPtaBgUnlikeSign", "", nJT, logBinsJt)
872 << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
875 << TH1D( "hJTPtaBgRUnlikeSign", "", nJT, logBinsJt)
876 << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END";
879 << TH1D( "hBgAssocPta", "", fnUE, fUEBinsx)
880 << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
883 << TH1D( "hBgAssocPtaR", "", fnUE, fUEBinsx)
884 << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END";
887 << TH2D( "hDphiDetaPta", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
888 << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
891 << TH2D( "hDphiDetaPtaR", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
892 << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END";
896 void AliJHistos::CreateIAAMoons()
901 << TH1D( "hDRNearPt", "", fnUE, fUEBinsx)
902 << fTypBin << fCentBin << fVtxBin << fRGapBin << fPTtBin << "END";
904 << TH1D( "hDRFarPt", "", fnUEfar, fUEBinsxFar)
905 << fTypBin << fCentBin << fVtxBin << fRGapBin << fPTtBin << "END";
909 << TH1D( "hDRNearPtMoon", "", fnUE, fUEBinsx)
910 << fCentBin << fVtxBin << fRGapBin << fPhiGapBin << fPTtBin << "END";
912 << TH1D( "hDRNearPtMoonM", "", fnUE, fUEBinsx)
913 << fCentBin << fVtxBin << fRGapBin << fPhiGapBin << fPTtBin << "END";
916 << TH1D( "hDRFarPtMoon", "", fnUE, fUEBinsx)
917 << fCentBin << fVtxBin << fRGapBin << fPhiGapBin << fPTtBin << "END";
919 << TH1D( "hDRFarPtMoonM", "", fnUE, fUEBinsx)
920 << fCentBin << fVtxBin << fRGapBin << fPhiGapBin << fPTtBin << "END";
922 //==========================
924 //==========================
926 << TH2D( "hDphiAssoc2DIAA", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, fLowRange, fHighRange)
927 << fTypBin << fCentBin << fVtxBin << fPTtBin << fPTaBin << "END";
929 << TH2D( "hDphiAssoc2D", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, fLowRange, fHighRange)
930 << fRGapBin << fPhiGapBin << "END";
933 void AliJHistos::CreateXEHistos(){
934 //==================================
936 //==================================
938 double xel=0.0, xeh=1.2;
939 int nbxE = int((xeh-xel)/0.04);
942 << TH1D( "hxEPtBin", "", nbxE, xel, xeh)
943 << fTypBin3 << fPTtBin << fPTaBin << "END";
945 << TH1D( "hxEF", "", nbxE, xel, xeh)
946 << fTypBin << fPTtBin <<"END";
948 << TH1D( "hxEFIsoTrigg", "", nbxE, xel, xeh)
949 << fTypBin << fPTtBin << "END";
951 << TH1D("hxEN", "", nbxE, xel, xeh)
952 << fTypBin << fPTtBin << "END";
956 void AliJHistos::CreatePairPtCosThetaStar(){
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;
965 << TH1D( "hPairPtDphi", "", bins, lowRange, highRange)
966 << fTypBin << fPTtBin << fPTaBin << "END";
968 << TH1D( "hPairPt", "", 210, 0, 70)
969 << fTypBin << fPTtBin << fPTaBin << "END";
970 //==================================
971 // CosThetaStar fhistos
972 //==================================
973 //cout<<"ippt="<<fPairPtBin<<" "<<fCard->IsLessThanUpperPairPtCut(-fPairPtBin)<<endl;
975 << TH1D( "hCosThetaStar", "", 100, 0, 1)
976 << fTypBin << fPairPtBin << fMassBin << "END";
978 << TH2D( "hCMSrap", "", 100, 0, 1, 50, -1, 1)
979 << fPairPtBin << fMassBin << "END";
981 << TH1D( "hInvMass", "", 200, 0, 40)
982 << fPairPtBin << "END";
985 << TH1D( "hPairPtMass", "", 250, 0, 50)
986 << fMassBin << "END";
988 << TH1D( "hPairDPhi", "", bins, lowRange, highRange)
989 << fMassBin << "END";
991 << TH1D( "hPairDpT", "", 150, 0-25./150./2., 25-25./150./2.)
992 << fMassBin << "END";
994 << TProfile("pCMSrap","no pair pT cut",100,-1,1)
998 //______________________________________________________________________________
999 void AliJHistos::CreatePtCorrHistos(){
1005 << TH1D( "hPtNear", "", ptbins, lpt, upt)
1006 << fTypBin << 3 << fCentBin << "END";
1008 << TH1D( "hPtFar", "", ptbins, lpt, upt)
1009 << fTypBin << 3 << fCentBin << "END";
1012 //______________________________________________________________________________
1013 void AliJHistos::CreateRunByRunHistos(int runID, int runcounter) const {
1017 JUNUSED(runcounter);
1021 //______________________________________________________________________________
1022 void AliJHistos::CreateEventTrackHistos(){
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);
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";
1038 fhAssocMult << TH1D("hAssocMult","Assoc mlt",100,-0.5,99.5)<< "END";
1041 << TH1D("hChargedMult","", 300, 0., 3500.)
1042 << fCentBin << "END";
1044 << TH1D("hChargedMultCut","", 300, 0., 3500.)
1045 << fCentBin << "END";
1047 << TH1D("hZVert", "", 100, -30., 30.)
1048 << fCentBin << "END";
1050 << TH1D("hChargedPt","", nBINS, logBinsX )
1051 << fCentBin << "END";
1053 << TH1D("hChargedPtNoCorr","", nBINS, logBinsX )
1054 << fCentBin << "END";
1056 << TH1D("hChargedPtJacek","", fNJacek, fPttJacek )
1057 << fCentBin << "END";
1059 << TH1D("hChargedPtJacekEta","", fNJacek, fPttJacek )
1060 << fCentBin << 3 << "END";
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";
1082 << TH1D("hBkgActivity", "", 200, 0, 20)
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";
1095 << TH1D("hEvents","events passing cuts", 100, -0.5, 100-0.5 ) << "END";
1097 << TH1D("hEventTrigger","Trigger count", 50, -0.5, 50.-.5 )
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" );
1104 void AliJHistos::CreateJetHistos(){
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);
1113 << TH1D( "hLPJetPt", "", nBINS, logBinsX)
1114 << fCentBin << "END";
1116 << TH1D( "hJetPt", "", nBINS, logBinsX)
1117 << fCentBin << "END";
1119 << TH1D( "hLeadingJetPt", "", nBINS, logBinsX)
1120 << fCentBin << "END";
1122 << TH1D( "hLeadingJetWLPPt", "", nBINS, logBinsX)
1123 << fCentBin << "END";
1125 << TH1D( "hLPJetPTt", "", nBINS, logBinsX)
1126 << fCentBin << fPTtBin << "END";
1128 << TH1D( "hLeadingJetWLPPTt", "", nBINS, logBinsX)
1129 << fCentBin << fPTtBin << "END";
1131 << TH1D( "hLPJetEtaPTt", "", 100, -1, 1)
1132 << fCentBin << fPTtBin << "END";
1134 << TH1D( "hLPJetRapidityPTt", "", 100, -1, 1)
1135 << fCentBin << fPTtBin << "END";
1137 << TH1D( "hLPJetMassPTt", "", nBINS, logBinsX)
1138 << fCentBin << fPTtBin << "END";
1140 << TH1D( "hDphiLPJet", "", 160, -kJPi/2., kJPi/2.)
1141 << fCentBin << fPTtBin << "END";
1143 << TH1D( "hDEtaLPJet", "", 240, -1.2, 1.2)
1144 << fCentBin << fPTtBin << "END";
1145 // LP jet vs Leading Jet
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)
1156 fhJetRho << TH1D("hJetRho","#rho",200,0, 50)
1158 fhJetRhoSigma << TH1D("hJetRhoSigma","#sigma",200,0, 50)
1160 // How many particles in a jet
1161 fhJetPartMult << TH1D("hJetPartMult","Number of consituents",100, 0-0.5, 100-0.5)
1164 << TH1D("hRecoDiJetM", "Invariant Mass", 201,-0.5, 200 )
1167 << TH1D("hJetUEPt","UE particles p_{T} by Jet substract",nBINS,logBinsX)
1171 << TH1D("hNParton71", "hNParton71", 100, -0.5, 100-0.5)
1174 << TH1D("hNStringGroup", "hNStringGroup", 100, -0.5, 100-0.5)
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";
1180 << TH1D("hPt71From", "hPt71From", 1000, 0, 100)
1185 //______________________________________________________________________________
1186 void AliJHistos::CreateXtHistos() {
1191 TH1::SetDefaultSumw2(kTRUE);
1192 cout << "GetDefaultSumw2() = " << TH1::GetDefaultSumw2() << endl;
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);
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);
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 );
1211 fhPerpConeActivityIsolated << TProfile("hPerpActivityIsolated", "Mean activity inside perpendicular cone", nBinsPt, logBinsPt );
1213 << TH1D("hPtForXt","", fNJacek, fPttJacek )
1214 << 3 << fCentBin <<"END";
1217 << TH1D("hXt", "Charged xT", nBinsXt, logBinsXt )
1218 << 3 << fCentBin <<"END";
1221 << TH1D("hXtWeighted", "Charged xT", nBinsXt, logBinsXt )
1222 << 3 << fCentBin <<"END";
1225 << TH1D("hXtWeightedHT", "", nBinsXt, logBinsXt )
1226 << 3 << fCentBin <<"END";
1229 //______________________________________________________________________________
1230 //void AliJHistos::ReadInclusiveHistos(TFile *inFile){
1231 void AliJHistos::ReadInclusiveHistos(const char *inclusFileName){
1232 // read inclusive histos
1235 TPMERegexp sep("::");
1236 int ncol = sep.Split( inclusFileName );
1237 TString filename = sep[0];
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]));
1244 cout << " ReadInclusiveHistos wrong file name or dirname !!!!" << endl;
1247 cout<<inclusFileName<<"\t"<<filename<<"\t";
1248 if( ncol > 1 ) cout<<sep[1];
1254 fHmgInclusive = new AliJHistManager("hst");
1255 fHmgInclusive->LoadConfig();
1257 fhIetaTriggFromFile = fHmgInclusive->GetTH1D("hIetaTrigg");
1258 fhIetaTriggFromFile.Print();
1259 fhIetaTriggFromFile[0][0]->Print();
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();
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);
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);
1289 //normalize to traingle
1290 double counts = fhDEtaNearMixFromFile[hic][hit][hia]->Integral();
1291 double bw = fhDEtaNearMixFromFile[hic][hit][hia]->GetBinWidth(1);
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;
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