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"
24 //______________________________________________________________________________
25 AliJHistos::AliJHistos(AliJCard* cardP) :
62 fhDphiAssocIsolTrigg(),
68 fhPtAssocUEIsolTrigg(),
97 fhTriggPtBinIsolTrigg(),
119 fhChargedPtJacekEta(),
124 fhTrackingEfficiency(),
139 fhConeActivityIsolated(),
140 fhPerpConeActivity(),
141 fhPerpConeActivityIsolated(),
158 fhLPJetRapidityPTt(),
160 fhLeadingJetWLPPTt(),
178 fhNStringGroupFrom(),
179 fhNTracksInStringGroupFrom(),
192 fmaxTriggEtaRange(0),
200 fmaxEtaRange = fCard->Get("EtaRange");
201 ftriggFiducCut = fCard->Get("TriggerFiducialEtaCut"); //FK// Fiduc cut
202 fmaxTriggEtaRange = fmaxEtaRange - ftriggFiducCut; //FK// Trigger range
204 fHMG = AliJHistManager::GlobalManager();
205 //for (int hiklong = 0; hiklong < fCard->GetNoOfBins(kLongType); hiklong++)
206 //kRGapType kEtaGapType
207 fCentBin .Set("Cent", "C", "C %2.0f-%2.0f%%" ).SetBin( fCard->GetVector("CentBinBorders"));
208 fVtxBin .Set("Vtx", "V", "" ).SetBin(fCard->GetVector("zVertBins"));
209 fPTtBin .Set("PTt", "T", "").SetBin(fCard->GetVector("TriggPtBorders"));
210 fPTaBin .Set("PTa", "A", "").SetBin(fCard->GetVector("AssocPtBorders"));
211 fXEBin .Set("XE", "X", "x_{E}: %2.1f-%2.1f" ).SetBin(fCard->GetVector("xEBorders"));
212 fKLongBin .Set("KLong", "L", "k_{#parallel}: %2.1f-%2.1f").SetBin(fCard->GetVector("KlongBorders"));
213 fRGapBin .Set("RGap", "R", "").SetBin(fCard->GetVector("RGapThresholds"));
214 fEtaGapBin .Set("EtaGap", "E", "").SetBin(fCard->GetVector("EtaGapThresholds"));
215 fPhiGapBin .Set("PhiGap", "P", "" ).SetBin(fCard->GetVector("EtaGapThresholds"));
216 fMassBin .Set("Mass", "M", "Mass").SetBin(fCard->GetVector("PairInvariantMassBins"));
217 fTypBin .Set("Type", "D", "", AliJBin::kSingle ).SetBin( "0 1" );
218 fTypBin3 .Set("Type3", "D", "", AliJBin::kSingle ).SetBin( "0 1 2 3" );
219 //card->IsLessThanUpperPairPtCut(-ipairpt)
220 fPairPtBin .Set("PairPt", "", AliJBin::kSingle ).SetBin( fCard->GetN("UpperPairPtCut") );
222 const int nJacek = 73 ;
223 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,
224 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,
225 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};
227 //const int nJacek = 59 ;
228 //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.,
229 // 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,
230 // 11., 12., 13., 14., 15., 16., 18., 20, 22, 24, 26., 28., 30.};
232 fNJacek = nJacek; // Number of bins
233 fPttJacek = new double[fNJacek+1];
234 for(int i = 0; i <= fNJacek; i++){
235 fPttJacek[i] = pttJacek[i];
239 double eta[nEta+1] = {-0.8,-0.2,0.3,0.8};// eta bins
241 fNEta = nEta; // Number of bins
242 fEta = new double[fNEta+1];
243 for(int i = 0; i <= fNEta; i++){
247 const int nJanFiete=200;
248 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,
249 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,
250 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,
251 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,
252 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,
253 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,
254 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,
255 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,
256 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};
258 fNJanFiete = nJanFiete; // Number of bins
259 fJanFiete = new double[fNJanFiete+1];
260 for(int i = 0; i <= fNJanFiete; i++){
261 fJanFiete[i] = janFiete[i];
265 //fhtyp[2] = "Mixed";
266 //fhtyp[3] = "Rap. Gap";
269 //______________________________________________________________________________
270 AliJHistos::AliJHistos(const AliJHistos& obj) :
273 fCentBin(obj.fCentBin),
274 fVtxBin(obj.fVtxBin),
275 fPTtBin(obj.fPTtBin),
276 fPTaBin(obj.fPTaBin),
278 fKLongBin(obj.fKLongBin),
279 fRGapBin(obj.fRGapBin),
280 fEtaGapBin(obj.fEtaGapBin),
281 fPhiGapBin(obj.fPhiGapBin),
282 fMassBin(obj.fMassBin),
283 fTypBin(obj.fTypBin),
284 fTypBin3(obj.fTypBin3),
285 fPairPtBin(obj.fPairPtBin),
286 fhMixStat(obj.fhMixStat),
287 fTestHist(obj.fTestHist),
288 fhPtNear(obj.fhPtNear),
289 fhPtFar(obj.fhPtFar),
291 fhDphiAssoc(obj.fhDphiAssoc),
292 fhDphiAssocXEbin(obj.fhDphiAssocXEbin),
293 fhDphiAssoc2DIAA(obj.fhDphiAssoc2DIAA),
294 fhDphiAssoc2D(obj.fhDphiAssoc2D),
295 fhDphiDetaKlong(obj.fhDphiDetaKlong),
296 fhDphiDetaKlongR(obj.fhDphiDetaKlongR),
297 fhDphiDetaXe(obj.fhDphiDetaXe),
298 fhDphiDetaXeR(obj.fhDphiDetaXeR),
299 fhDphiDetaPta(obj.fhDphiDetaPta),
300 fhDphiDetaPtaR(obj.fhDphiDetaPtaR),
301 fhBgAssocKlong(obj.fhBgAssocKlong),
302 fhBgAssocKlongR(obj.fhBgAssocKlongR),
303 fhBgAssocXe(obj.fhBgAssocXe),
304 fhBgAssocXeR(obj.fhBgAssocXeR),
305 fhBgAssocPta(obj.fhBgAssocPta),
306 fhBgAssocPtaR(obj.fhBgAssocPtaR),
307 fhDphiAssocIsolTrigg(obj.fhDphiAssocIsolTrigg),
308 fhMeanPtAssoc(obj.fhMeanPtAssoc),
309 fhMeanZtAssoc(obj.fhMeanZtAssoc),
310 fhPtAssocUE(obj.fhPtAssocUE),
311 fhPtaEtaGapN(obj.fhPtaEtaGapN),
312 fhPtaRGapN(obj.fhPtaRGapN),
313 fhPtAssocUEIsolTrigg(obj.fhPtAssocUEIsolTrigg),
314 fhPtAssocN(obj.fhPtAssocN),
315 fhPtAssocF(obj.fhPtAssocF),
316 fhCosThetaStar(obj.fhCosThetaStar),
317 fhCMSrap(obj.fhCMSrap),
318 fpCMSrap(obj.fpCMSrap),
319 fhInvMass(obj.fhInvMass),
320 fhPairPtMass(obj.fhPairPtMass),
321 fhPairDPhi(obj.fhPairDPhi),
322 fhPairDpT(obj.fhPairDpT),
323 fhPairPtDphi(obj.fhPairDPhi),
324 fhPairPt(obj.fhPairPt),
325 fhDEtaNear(obj.fhDEtaNear),
326 fhDEtaNearM(obj.fhDEtaNearM),
327 fhDEtaNearXEbin(obj.fhDEtaNearXEbin),
328 fhDEtaNearMXEbin(obj.fhDEtaNearMXEbin),
329 fhDRNearPt(obj.fhDRNearPt),
330 fhDRFarPt(obj.fhDRFarPt),
331 fhDRNearPtMoon(obj.fhDRNearPtMoon),
332 fhDRFarPtMoon(obj.fhDRFarPtMoon),
333 fhDRNearPtMoonM(obj.fhDRNearPtMoonM),
334 fhDRFarPtMoonM(obj.fhDRFarPtMoonM),
335 fhDEtaFar(obj.fhDEtaFar),
336 fhIphiTrigg(obj.fhIphiTrigg),
337 fhIetaTrigg(obj.fhIetaTrigg),
338 fhIphiAssoc(obj.fhIphiAssoc),
339 fhIetaAssoc(obj.fhIetaAssoc),
340 fhFixPtBin(obj.fhFixPtBin),
341 fhTriggPtBin(obj.fhTriggPtBin),
342 fhTriggPtBinIsolTrigg(obj.fhTriggPtBinIsolTrigg),
343 fhTriggMult(obj.fhTriggMult),
344 fhAssocPtBin(obj.fhAssocPtBin),
347 fhxEFIsolTrigg(obj.fhxEFIsolTrigg),
348 fhPoutF(obj.fhPoutF),
349 fhxEPtBin(obj.fhxEPtBin),
352 fhJTBgR(obj.fhJTBgR),
353 fhJTKlong(obj.fhJTKlong),
354 fhJTKlongBg(obj.fhJTKlongBg),
355 fhJTKlongBgR(obj.fhJTKlongBgR),
356 fhJTPta(obj.fhJTPta),
357 fhJTPtaBg(obj.fhJTPtaBg),
358 fhJTPtaBgR(obj.fhJTPtaBgR),
360 fhLPpairPt(obj.fhLPpairPt),
361 fhChargedPt(obj.fhChargedPt),
362 fhChargedPtNoCorr(obj.fhChargedPtNoCorr),
363 fhChargedPtJacek(obj.fhChargedPtJacek),
364 fhChargedPtJacekEta(obj.fhChargedPtJacekEta),
365 fhChargedPtFiete(obj.fhChargedPtFiete),
366 fhVdelta2(obj.fhVdelta2),
367 fhVdelta3(obj.fhVdelta3),
369 fhTrackingEfficiency(obj.fhTrackingEfficiency),
372 fpVdeltaNorm(obj.fpVdeltaNorm),
373 fhChargedEta(obj.fhChargedEta),
374 fhLPeta(obj.fhLPeta),
375 fhAssocMult(obj.fhAssocMult),
376 fhChargedMult(obj.fhChargedMult),
377 fhChargedMultCut(obj.fhChargedMultCut),
378 fhChargedMultCent(obj.fhChargedMultCent),
380 fhXtWeighted(obj.fhXtWeighted),
381 fhXtWeightedHT(obj.fhXtWeightedHT),
382 fhPtForXt(obj.fhPtForXt),
383 fhConeActivity(obj.fhConeActivity),
384 fhConeActivityIsolated(obj.fhConeActivityIsolated),
385 fhPerpConeActivity(obj.fhPerpConeActivity),
386 fhPerpConeActivityIsolated(obj.fhPerpConeActivityIsolated),
387 fhV0AMult(obj.fhV0AMult),
388 fhZVertRaw(obj.fhZVertRaw),
389 fhZVertRawErr(obj.fhZVertRawErr),
390 fhZVert(obj.fhZVert),
391 fhCentr(obj.fhCentr),
392 fhiCentr(obj.fhiCentr),
393 fhEventPerRun(obj.fhEventPerRun),
394 fhVertexZTriggVtx(obj.fhVertexZTriggVtx),
395 fhIsolatedLPpt(obj.fhIsolatedLPpt),
396 fhBkgActivity(obj.fhBkgActivity),
397 fhDphiLPJet(obj.fhDphiLPJet),
398 fhDEtaLPJet(obj.fhDEtaLPJet),
399 fhDPtLPJet(obj.fhDPtLPJet),
400 fhLPJetPTt(obj.fhLPJetPTt),
401 fhLPJetPt(obj.fhLPJetPt),
402 fhLPJetEtaPTt(obj.fhLPJetEtaPTt),
403 fhLPJetRapidityPTt(obj.fhLPJetRapidityPTt),
404 fhLPJetMassPTt(obj.fhLPJetMassPTt),
405 fhLeadingJetWLPPTt(obj.fhLeadingJetWLPPTt),
406 fhJetPt(obj.fhJetPt),
407 fhLeadingJetPt(obj.fhLeadingJetPt),
408 fhLeadingJetWLPPt(obj.fhLeadingJetWLPPt),
409 fhJetAssymPTt(obj.fhJetAssymPTt),
410 fhJetMassPTt(obj.fhJetMassPTt),
411 fhJetUEPt(obj.fhJetUEPt),
412 fhJetDphi(obj.fhJetDphi),
413 fhJetDeta(obj.fhJetDeta),
414 fhJetMultPt(obj.fhJetMultPt),
415 fhJetRho(obj.fhJetRho),
416 fhJetRhoSigma(obj.fhJetRhoSigma),
417 fhJetPartMult(obj.fhJetPartMult),
418 fhRecoDiJetM(obj.fhRecoDiJetM),
419 fhRecoDiJetdPhi(obj.fhRecoDiJetdPhi),
420 fhRecoDiJetkT(obj.fhRecoDiJetkT),
421 fhNParton71(obj.fhNParton71),
422 fhNStringGroup(obj.fhNStringGroup),
423 fhNStringGroupFrom(obj.fhNStringGroupFrom),
424 fhNTracksInStringGroupFrom(obj.fhNTracksInStringGroupFrom),
425 fhRapidity71From(obj.fhRapidity71From),
426 fhPt71From(obj.fhPt71From),
427 fhTrackSelection(obj.fhTrackSelection),
428 fNJacek(obj.fNJacek),
429 fPttJacek(obj.fPttJacek),
432 fNJanFiete(obj.fNJanFiete),
433 fJanFiete(obj.fJanFiete),
434 fhEvents(obj.fhEvents),
435 fhEventTrigger(obj.fhEventTrigger),
436 fmaxEtaRange(obj.fmaxEtaRange),
437 fmaxTriggEtaRange(obj.fmaxTriggEtaRange),
438 ftriggFiducCut(obj.ftriggFiducCut),
440 fnUEfar(obj.fnUEfar),
441 fLowRange(obj.fLowRange),
442 fHighRange(obj.fHighRange)
448 //______________________________________________________________________________
449 AliJHistos& AliJHistos::operator=(const AliJHistos& obj){
455 //______________________________________________________________________________
456 void AliJHistos::CreateAzimuthCorrHistos()
458 // Comment needed here!
460 int bins = 240; // 240 is divisible by 2,3,4,612*24=280 -1/3 and 0.5 and 5/3 are bin edges
461 //double fLowRange = -1.0/3, fHighRange= 5.0/3;
462 fLowRange = -9./20.; //lower range for dphi histos
463 fHighRange= fLowRange+2; //upper range for dphi histos;
464 double ptbw=10/100.0; //see hPt histo below, let's make 10 bins per 1GeV/c
467 double uEa = fCard->GetBinBorder(kAssocType, 0), uEb = fCard->GetBinBorder(kAssocType, fCard->GetNoOfBins(kAssocType));
468 double logUEbw = (log(uEb)-log(uEa))/fnUE;
469 for(int ij=0;ij<=fnUE;ij++) fUEBinsx[ij]=uEa*exp(ij*logUEbw);
472 logUEbw = (log(uEb)-log(uEa))/fnUEfar;
473 for(int ij=0;ij<=fnUE;ij++) fUEBinsxFar[ij]=uEa*exp(ij*logUEbw);
476 if(fCard->GetNoOfBins(kCentrType) > kMaxNoCentrBin ){
477 cout<<"ERROR: No of Centrality bins exceed max dim in AliJHistos.cxx "<<endl;
481 //==================================
482 // trigger pt fhistos
483 //==================================
485 double pTt1 = fPTtBin.GetMin();
486 double pTt2 = fPTtBin.GetMax();
487 double pTa1 = fPTaBin.GetMin();
488 double pTa2 = fPTaBin.GetMax();
490 fhTriggPtBinIsolTrigg
491 << TH1D( "hTriggPtBinIsolTrigg", "", (int)TMath::Ceil((pTt2-pTt1)/ptbw),pTt1, pTt2)
492 << fTypBin << fCentBin << fPTtBin
495 << TH1D( "hTriggMult", "", 100, -0.5, 99.5)
496 << fCentBin << fPTtBin << "END";
498 << TH1D( "fhIphiTrigg", "", bins, -kJPi-0.1, kJPi+0.1)
499 << fCentBin << fPTtBin << "END";
501 << TH1D( "hIetaTrigg", "", 80, -fmaxEtaRange, fmaxEtaRange)
502 << fCentBin << fPTtBin << "END";// inclusive eta
504 << TH1D( "hTriggPtBin", "", (int)TMath::Ceil((pTt2-pTt1)/ptbw),pTt1, pTt2)
505 << fCentBin << fVtxBin << fPTtBin << "END";
507 //=====================================
508 // associated pt fhistos with etaGaps
509 //=====================================
512 << TH1D( "hDphiAssoc", "", bins, fLowRange, fHighRange)
513 << fTypBin << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
516 << TH1D( "hDEtaNear", "", 320, -2*fmaxEtaRange, 2*fmaxEtaRange)
517 << fCentBin << fVtxBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
519 << TH1D( "hDEtaNearM", "", 320, -2*fmaxEtaRange, 2*fmaxEtaRange)
520 << fCentBin << fVtxBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
521 //=====================================
522 // associated pt fhistos with etaGaps XE bins
523 //=====================================
526 << TH1D( "hDphiAssocXEbin", "", bins, fLowRange, fHighRange)
527 << fTypBin << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END";
529 << TH1D( "testHist","", 5 , 0 ,5 )
530 <<fTypBin << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END";
531 for( int ityp=0;ityp<fTypBin.Size();ityp++ ){
532 for( int ic=0;ic<fCentBin.Size();ic++){
533 for( int ie=0;ie<fEtaGapBin.Size();ie++ ){
534 for( int it=0;it<fPTtBin.Size();it++ ){
535 for( int ix=0;ix<fXEBin.Size();ix++ ){
536 fTestHist[ityp][ic][ie][it][ix]->SetBinContent( 1, double(ityp) );
537 fTestHist[ityp][ic][ie][it][ix]->SetBinContent( 2, double(ic) );
538 fTestHist[ityp][ic][ie][it][ix]->SetBinContent( 3, double(ie) );
539 fTestHist[ityp][ic][ie][it][ix]->SetBinContent( 4, double(it) );
540 fTestHist[ityp][ic][ie][it][ix]->SetBinContent( 5, double(ix) );
547 << TH1D( "hDEtaNearXEbin", "", 320, -2*fmaxEtaRange, 2*fmaxEtaRange)
548 << fCentBin << fVtxBin << fEtaGapBin << fPTtBin << fXEBin << "END";
550 << TH1D( "hDEtaNearMXEbin", "", 320, -2*fmaxEtaRange, 2*fmaxEtaRange)
551 << fCentBin << fVtxBin << fEtaGapBin << fPTtBin << fXEBin << "END";
552 //=======================================
553 // associated fpt fhistos without etaGaps
554 //=======================================
556 << TH1D( "hDphiAssocIsolTrigg", "", bins, fLowRange, fHighRange)
557 << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";//FK//
559 << TProfile( "hMeanPtAssoc", "", bins, fLowRange, fHighRange)
560 << fCentBin << fPTtBin << fPTaBin << "END";
562 << TProfile( "hMeanZtAssoc", "", bins, fLowRange, fHighRange)
563 << fCentBin << fPTtBin << fPTaBin << "END";
565 << TH1D( "hAssocPtBin", "", (int)TMath::Ceil((pTa2-pTa1)/ptbw), pTa1, pTa2)
566 << fCentBin << fPTtBin << fPTaBin << "END";
568 << TH1D( "fhIphiAssoc", "", bins, -kJPi-0.1, kJPi+0.1)
569 << fCentBin << fPTaBin << "END";
571 << TH1D( "hIetaAssoc", "", 80, -fmaxEtaRange, fmaxEtaRange)
572 << fCentBin << fPTaBin << "END";
574 << TH1D( "hDEtaFar", "", 120, -2*fmaxEtaRange, 2*fmaxEtaRange)
575 << fTypBin << fCentBin << fPTtBin << "END";
577 //==========================
579 //==========================
581 << TH1D( "hPtAssocUE", "", fnUE, fUEBinsx)
582 << fCentBin << fEtaGapBin << fPTtBin << "END";
584 << TH1D( "hPtaEtaGapN", "", fnUE, fUEBinsx)
585 << fCentBin << fEtaGapBin << fPTtBin << "END";
587 << TH1D( "hPtaRGapN", "", fnUE, fUEBinsx)
588 << fCentBin << fRGapBin << fPTtBin << "END";
590 << TH1D( "hPtAssocUEIsolTrigg", "", fnUE, fUEBinsx)
591 << fPTtBin << "END";//FK//
593 << TH1D( "hPtAssocN", "", fnUE, fUEBinsx)
596 << TH1D( "hPtAssocF", "", fnUE, fUEBinsx)
599 //=======================
601 //=======================
604 double jtLow = 0.05, jtHigh = 20;
606 double logBinsJt[101];
607 double logJt = (log(jtHigh)-log(jtLow))/nJT;
608 for(int ij=0;ij<=nJT;ij++) logBinsJt[ij]=jtLow*exp(ij*logJt);
611 << TH1D( "hPoutF", "", 300, 0, 15)
612 << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";//FK//
613 //let's not compute mixed frandom background - takes a lot of time.
615 << TH1D( "hJTKlongBg", "", nJT, logBinsJt)
616 << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END";
618 << TH2D( "hDphiDetaKlong", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
619 << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END";
621 << TH1D( "hBgAssocKlong", "", fnUE, fUEBinsx)
622 << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END";
623 //let's not compute mixed frandom background - takes a lot of time.
625 << TH1D( "hJTKlongBgR", "", nJT, logBinsJt)
626 << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END";
628 << TH2D( "hDphiDetaKlongR", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
629 << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END";
631 << TH1D( "hBgAssocKlongR", "", fnUE, fUEBinsx)
632 << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END";
634 << TH1D( "hJTKlong", "", nJT, logBinsJt)
635 << fTypBin << fCentBin << fPTtBin << fKLongBin << "END";
638 << TH1D( "hJTBg", "", nJT, logBinsJt)
639 << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END";
641 << TH2D( "hDphiDetaXe", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
642 << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END";
644 << TH1D( "hBgAssocXe", "", fnUE, fUEBinsx)
645 << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END";
647 << TH1D( "hJTBgR", "", nJT, logBinsJt)
648 << fCentBin << fRGapBin << fPTtBin << fXEBin << "END";
650 << TH2D( "hDphiDetaXeR", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
651 << fCentBin << fRGapBin << fPTtBin << fXEBin << "END";
653 << TH1D( "hBgAssocXeR", "", fnUE, fUEBinsx)
654 << fCentBin << fRGapBin << fPTtBin << fXEBin << "END";
656 << TH1D( "hJT", "", nJT, logBinsJt)
657 << fTypBin << fCentBin << fPTtBin << fXEBin << "END";
659 << TH1D( "hJTPtaBg", "", nJT, logBinsJt)
660 << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
662 << TH2D( "hDphiDetaPta", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
663 << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
665 << TH1D( "hBgAssocPta", "", fnUE, fUEBinsx)
666 << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
668 << TH1D( "hJTPtaBgR", "", nJT, logBinsJt)
669 << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END";
671 << TH2D( "hDphiDetaPtaR", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
672 << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END";
674 << TH1D( "hBgAssocPtaR", "", fnUE, fUEBinsx)
675 << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END";
677 << TH1D( "hJTPta", "", nJT, logBinsJt)
678 << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";
682 void AliJHistos::CreateIAAMoons()
686 << TH1D( "hDRNearPt", "", fnUE, fUEBinsx)
687 << fTypBin << fCentBin << fVtxBin << fRGapBin << fPTtBin << "END";
689 << TH1D( "hDRFarPt", "", fnUEfar, fUEBinsxFar)
690 << fTypBin << fCentBin << fVtxBin << fRGapBin << fPTtBin << "END";
694 << TH1D( "hDRNearPtMoon", "", fnUE, fUEBinsx)
695 << fCentBin << fVtxBin << fRGapBin << fPhiGapBin << fPTtBin << "END";
697 << TH1D( "hDRNearPtMoonM", "", fnUE, fUEBinsx)
698 << fCentBin << fVtxBin << fRGapBin << fPhiGapBin << fPTtBin << "END";
701 << TH1D( "hDRFarPtMoon", "", fnUE, fUEBinsx)
702 << fCentBin << fVtxBin << fRGapBin << fPhiGapBin << fPTtBin << "END";
704 << TH1D( "hDRFarPtMoonM", "", fnUE, fUEBinsx)
705 << fCentBin << fVtxBin << fRGapBin << fPhiGapBin << fPTtBin << "END";
707 //==========================
709 //==========================
711 << TH2D( "hDphiAssoc2DIAA", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, fLowRange, fHighRange)
712 << fTypBin << fCentBin << fVtxBin << fPTtBin << fPTaBin << "END";
714 << TH2D( "hDphiAssoc2D", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, fLowRange, fHighRange)
715 << fRGapBin << fPhiGapBin << "END";
718 void AliJHistos::CreateXEHistos(){
719 //==================================
721 //==================================
722 double xel=0.0, xeh=1.2;
723 int nbxE = int((xeh-xel)/0.04);
726 << TH1D( "hxEPtBin", "", nbxE, xel, xeh)
727 << fTypBin3 << fPTtBin << fPTaBin << "END";
729 << TH1D( "hxEF", "", nbxE, xel, xeh)
730 << fTypBin << fPTtBin <<"END";
732 << TH1D( "hxEFIsoTrigg", "", nbxE, xel, xeh)
733 << fTypBin << fPTtBin << "END";
735 << TH1D("hxEN", "", nbxE, xel, xeh)
736 << fTypBin << fPTtBin << "END";
740 void AliJHistos::CreatePairPtCosThetaStar(){
742 int bins = 288; // 12*24 -1/3 and 0.5 and 5/3 are bin edges
743 double lowRange = -1./3, highRange= 5./3;
748 << TH1D( "hPairPtDphi", "", bins, lowRange, highRange)
749 << fTypBin << fPTtBin << fPTaBin << "END";
751 << TH1D( "hPairPt", "", 210, 0, 70)
752 << fTypBin << fPTtBin << fPTaBin << "END";
753 //==================================
754 // CosThetaStar fhistos
755 //==================================
756 //cout<<"ippt="<<fPairPtBin<<" "<<fCard->IsLessThanUpperPairPtCut(-fPairPtBin)<<endl;
758 << TH1D( "hCosThetaStar", "", 100, 0, 1)
759 << fTypBin << fPairPtBin << fMassBin << "END";
761 << TH2D( "hCMSrap", "", 100, 0, 1, 50, -1, 1)
762 << fPairPtBin << fMassBin << "END";
764 << TH1D( "hInvMass", "", 200, 0, 40)
765 << fPairPtBin << "END";
768 << TH1D( "hPairPtMass", "", 250, 0, 50)
769 << fMassBin << "END";
771 << TH1D( "hPairDPhi", "", bins, lowRange, highRange)
772 << fMassBin << "END";
774 << TH1D( "hPairDpT", "", 150, 0-25./150./2., 25-25./150./2.)
775 << fMassBin << "END";
777 << TProfile("pCMSrap","no pair pT cut",100,-1,1)
781 //______________________________________________________________________________
782 void AliJHistos::CreatePtCorrHistos(){
787 << TH1D( "hPtNear", "", ptbins, lpt, upt)
788 << fTypBin << 3 << fCentBin << "END";
790 << TH1D( "hPtFar", "", ptbins, lpt, upt)
791 << fTypBin << 3 << fCentBin << "END";
794 //______________________________________________________________________________
795 void AliJHistos::CreateRunByRunHistos(int runID, int runcounter) const {
802 //______________________________________________________________________________
803 void AliJHistos::CreateEventTrackHistos(){
806 double logBinsX[nBINS+1], limL=0.1, limH=100;
807 double logBW = (log(limH)-log(limL))/nBINS;
808 for(int ij=0;ij<=nBINS;ij++) logBinsX[ij]=limL*exp(ij*logBW);
810 fhLPpt << TH1D("hLPpt","LP pt", nBINS, logBinsX ) << "END";
811 fhLPpairPt << TH1D("hLPpairPt","LP pair pt", nBINS, logBinsX )<< "END";
812 fhChargedEta << TH1D("hChargedEta","All eta",100,-1.0,1.0)<< "END";
813 fhLPeta << TH1D("hLPeta","LP eta",100,-1.0,1.0)<< "END";
814 fhIsolatedLPpt << TH1D("hIsolatedLPpt","Isolated LP pt", nBINS, logBinsX )<< "END";
815 fhChargedPtFiete << TH1D("hChargedPtFiete", "Jan Fiete bins", fNJanFiete, fJanFiete )<< "END";
818 fhAssocMult << TH1D("hAssocMult","Assoc mlt",100,-0.5,99.5)<< "END";
821 << TH1D("hChargedMult","", 300, 0., 3500.)
822 << fCentBin << "END";
824 << TH1D("hChargedMultCut","", 300, 0., 3500.)
825 << fCentBin << "END";
827 << TH1D("hZVert", "", 100, -30., 30.)
828 << fCentBin << "END";
830 << TH1D("hChargedPt","", nBINS, logBinsX )
831 << fCentBin << "END";
833 << TH1D("hChargedPtNoCorr","", nBINS, logBinsX )
834 << fCentBin << "END";
836 << TH1D("hChargedPtJacek","", fNJacek, fPttJacek )
837 << fCentBin << "END";
839 << TH1D("hChargedPtJacekEta","", fNJacek, fPttJacek )
840 << fCentBin << 3 << "END";
842 fhVdelta2 << TH1D("hVdelta2","", 100, -0.2, 5)
843 << fCentBin << "END";
844 fhVdelta3 << TH1D("hVdelta3","", 100, -0.2, 5)
845 << fCentBin << "END";
846 fhVN << TH1D("hVN","", 100, -kJPi, kJPi)
847 << fCentBin << "END";
848 fhTrackingEfficiency << TProfile("hTrackingEff","",fNJacek, fPttJacek)
849 << fCentBin << "END";
850 fhV0AMult << TH1D("hV0Mult","", 2000,0,2000 )
851 << fCentBin << "END";
852 fpV2 << TProfile("pV2", "v2 with cent", 50, 0, 90) << "END";
853 fpV3 << TProfile("pV3", "v3 with cent", 50, 0, 90) << "END";
854 fpVdeltaNorm << TProfile("pVdeltaNorm", "mult with cent", 50, 0, 90) << "END";
855 fhChargedMultCent << TH2D("hChargedMultCent ", "log(fmult) vs cent", 100, 0, 90, 100, 1, 10) << "END";
856 fhZVertRaw << TH1D("hZVertRaw","vertex 0", 120, -30., 30.) << "END";
857 fhZVertRawErr << TH1D("hZVertRawErr","vertex 0 Err", 100, 0, 0.1) << "END";
858 fhCentr << TH1D("hCentr","centrality", 101, -0.5, 100.5) << "END";
859 fhiCentr << TH1D("hiCentr","centrality",10, -0.5, 9.5) << "END";
860 fhEventPerRun << TH1D("hEventPerRun","log(eve)/run",200, 0, 30.0) << "END";
862 << TH1D("hBkgActivity", "", 200, 0, 20)
865 //------------------ for Abs Norm FK --------------------------------
866 double binsVertexMult[] = {0,1,2,3,4,5,10000};
867 int nbinsVertexMult = sizeof(binsVertexMult)/sizeof(double)-1;
868 //double binsVertexZ[] = {-10,-5,-2,0,2,5,10};
869 double binsVertexZ[] = {-10,-6,-3,-2,-1.5,-1,-0.5,0,0.5,1,1.5,2,3,6,10};
870 int nbinsVertexZ = sizeof(binsVertexZ)/sizeof(double)-1;
871 fhVertexZTriggVtx << TH2D("hVertexZTriggVtx","Vertex counts", nbinsVertexMult, binsVertexMult, nbinsVertexZ, binsVertexZ) << "END";
875 << TH1D("hEvents","events passing cuts", 100, -0.5, 100-0.5 ) << "END";
877 << TH1D("hEventTrigger","Trigger count", 50, -0.5, 50.-.5 )
880 << TH1D("hTrackSelection","checking bit convention", 100, -0.5, 100-0.5) << "END";
881 // TODO fhEvents->SetXTitle( "0 - all, 1 - SDD selected, 2 - has vertex, 3 - good vertex, 4 - trigger + MB, 5 - trigger, 6 - BX, 7 - centrality" );
884 void AliJHistos::CreateJetHistos(){
887 double logBinsX[nBINS+1], limL=0.1, limH=200;
888 double logBW = (log(limH)-log(limL))/nBINS;
889 for(int ij=0;ij<=nBINS;ij++) logBinsX[ij]=limL*exp(ij*logBW);
892 << TH1D( "hLPJetPt", "", nBINS, logBinsX)
893 << fCentBin << "END";
895 << TH1D( "hJetPt", "", nBINS, logBinsX)
896 << fCentBin << "END";
898 << TH1D( "hLeadingJetPt", "", nBINS, logBinsX)
899 << fCentBin << "END";
901 << TH1D( "hLeadingJetWLPPt", "", nBINS, logBinsX)
902 << fCentBin << "END";
904 << TH1D( "hLPJetPTt", "", nBINS, logBinsX)
905 << fCentBin << fPTtBin << "END";
907 << TH1D( "hLeadingJetWLPPTt", "", nBINS, logBinsX)
908 << fCentBin << fPTtBin << "END";
910 << TH1D( "hLPJetEtaPTt", "", 100, -1, 1)
911 << fCentBin << fPTtBin << "END";
913 << TH1D( "hLPJetRapidityPTt", "", 100, -1, 1)
914 << fCentBin << fPTtBin << "END";
916 << TH1D( "hLPJetMassPTt", "", nBINS, logBinsX)
917 << fCentBin << fPTtBin << "END";
919 << TH1D( "hDphiLPJet", "", 160, -kJPi/2., kJPi/2.)
920 << fCentBin << fPTtBin << "END";
922 << TH1D( "hDEtaLPJet", "", 240, -1.2, 1.2)
923 << fCentBin << fPTtBin << "END";
924 // LP jet vs Leading Jet
926 << TH1D( "hDPtLPJet", "", 100, 0, 10.)
927 << fCentBin << fPTtBin << "END";
928 //==================================
929 fhJetDphi << TH1D( "hJetDphi", "#Delta#phi", 100,-TMath::Pi(), TMath::Pi())
930 << fTypBin << fPTtBin <<"END";
931 fhJetDeta << TH1D("hJetDeta","#Delta#eta ",100,-1, 1)
932 << fTypBin << fPTtBin <<"END";
933 fhJetMultPt << TH1D("hJetMultPt","Jet Multiplicity ",100,0-0.5, 100-0.5)
935 fhJetRho << TH1D("hJetRho","#rho",200,0, 50)
937 fhJetRhoSigma << TH1D("hJetRhoSigma","#sigma",200,0, 50)
939 // How many particles in a jet
940 fhJetPartMult << TH1D("hJetPartMult","Number of consituents",100, 0-0.5, 100-0.5)
943 << TH1D("hRecoDiJetM", "Invariant Mass", 201,-0.5, 200 )
946 << TH1D("hJetUEPt","UE particles p_{T} by Jet substract",nBINS,logBinsX)
950 << TH1D("hNParton71", "hNParton71", 100, -0.5, 100-0.5)
953 << TH1D("hNStringGroup", "hNStringGroup", 100, -0.5, 100-0.5)
955 fhNStringGroupFrom << TH1D("hNStringGroupFrom", "hNStringGroupFrom", 100, -0.5, 100-0.5) << 2 <<"END";
956 fhNTracksInStringGroupFrom << TH1D("hNTracksInStringGroupFrom", "hNTracksInStringGroupFrom", 100, -0.5, 100-0.5) << 2 << "END";
957 fhRapidity71From << TH1D("hRapidity71From", "hRapidity71From", 100, -8, 8 ) << 2 << "END";
959 << TH1D("hPt71From", "hPt71From", 1000, 0, 100)
964 //______________________________________________________________________________
965 void AliJHistos::CreateXtHistos() {
967 // TODO MakeDirectory("xT");
969 TH1::SetDefaultSumw2(kTRUE);
970 cout << "GetDefaultSumw2() = " << TH1::GetDefaultSumw2() << endl;
974 double logBinsXt[nBinsXt+1];
975 double xTLimL = 1e-5, xTLimH = 1.0, xTlogBW = (log(xTLimH)-log(xTLimL))/nBinsXt;
976 for(int ij=0;ij<=nBinsXt;ij++) logBinsXt[ij]=xTLimL*exp(ij*xTlogBW);
981 double logBinsPt[nBinsPt+1];
982 double pTLimL=0.1, pTLimH=200 , pTlogBW = (log(pTLimH)-log(pTLimL))/nBinsPt;
983 for(int ij=0;ij<=nBinsPt;ij++) logBinsPt[ij]=pTLimL*exp(ij*pTlogBW);
985 fhConeActivity << TProfile("hActivity", "Mean activity inside cone", nBinsPt, logBinsPt );
986 fhPerpConeActivity << TProfile("hPerpActivity", "Mean activity inside perpendicular cone", nBinsPt, logBinsPt );
987 fhConeActivityIsolated << TProfile("hActivityIsolated", "Mean pion activity inside cone isolated", nBinsPt, logBinsPt );
989 fhPerpConeActivityIsolated << TProfile("hPerpActivityIsolated", "Mean activity inside perpendicular cone", nBinsPt, logBinsPt );
991 << TH1D("hPtForXt","", fNJacek, fPttJacek )
992 << 3 << fCentBin <<"END";
995 << TH1D("hXt", "Charged xT", nBinsXt, logBinsXt )
996 << 3 << fCentBin <<"END";
999 << TH1D("hXtWeighted", "Charged xT", nBinsXt, logBinsXt )
1000 << 3 << fCentBin <<"END";
1003 << TH1D("hXtWeightedHT", "", nBinsXt, logBinsXt )
1004 << 3 << fCentBin <<"END";
1007 //______________________________________________________________________________
1008 //void AliJHistos::ReadInclusiveHistos(TFile *inFile){
1009 void AliJHistos::ReadInclusiveHistos(const char *inclusFileName){
1010 // read inclusive histos
1011 TFile *inclusFile = new TFile(inclusFileName, "READ");
1014 //cout<<((TH1D*) inclusFile->Get(Form("hIetaTrigg%02d%02d", 0, 0)))->GetEntries() <<endl;
1017 for (int hic = 0;hic < fCard->GetNoOfBins(kCentrType);hic++) {
1018 for (int hit = 0; hit < fCard->GetNoOfBins(kTriggType);hit++){
1019 fhIetaTriggFromFile[hic][hit] = (TH1D*) inclusFile->Get(Form("hIetaTrigg%02d%02d", hic, hit));//FK//mix2
1020 //fhistoList->Add(fhIetaTriggFromFile[hic][hit]);
1021 fhIphiTriggFromFile[hic][hit] = (TH1D*) inclusFile->Get(Form("hIphiTrigg%02d%02d", hic, hit));//FK//mix2
1022 //fhistoList->Add(fhIphiTriggFromFile[hic][hit]);
1023 cout<<"c=" << hic <<" tr="<< hit <<" "<<fhIetaTriggFromFile[hic][hit]<<flush;
1024 cout<<" entries="<<fhIetaTriggFromFile[hic][hit]->GetEntries() << endl;
1028 for (int hic = 0;hic < fCard->GetNoOfBins(kCentrType);hic++) {
1029 for (int hia = 0; hia < fCard->GetNoOfBins(kAssocType); hia++){
1030 fhIetaAssocFromFile[hic][hia] = (TH1D*) inclusFile->Get(Form("hIetaAssoc%02d%02d", hic, hia));//FK//mix2
1031 //fhistoList->Add(fhIetaAssocFromFile[hic][hia]);
1032 fhIphiAssocFromFile[hic][hia] = (TH1D*) inclusFile->Get(Form("hIphiAssoc%02d%02d", hic, hia));//FK//mix2
1033 //fhistoList->Add(fhIphiAssocFromFile[hic][hia]);
1034 cout<<"c=" << hic <<" as="<< hia <<" entries="<< fhIetaAssocFromFile[hic][hia]->GetEntries() <<endl;
1038 int numCent = fCard->GetNoOfBins(kCentrType);
1039 int numPtt = fCard->GetNoOfBins(kTriggType);
1040 int numPta = fCard->GetNoOfBins(kAssocType);
1041 int numEtaGaps = fCard->GetNoOfBins(kEtaGapType);
1042 int numZvtx = fCard->GetNoOfBins(kZVertType);
1044 //------------ R e a d mixed D a t a ------------
1045 const int zFirstBin = 0 ;
1046 const int etaGapFirstBin = 0 ;
1047 for (int hic = 0;hic < numCent; hic++) {
1048 for (int hit = 0; hit < numPtt;hit++){
1049 for (int hia = 0; hia < numPta; hia++){
1050 fhDEtaNearMixFromFile[hic][hit][hia]= (TH1D*) inclusFile->Get(Form("hDEtaNear/hDEtaNear%02d%02d%02d%02d%02d%02d", 1, hic, zFirstBin, etaGapFirstBin, hit, hia));
1051 for (int iEtaGap=0; iEtaGap < numEtaGaps; iEtaGap++){//fdphi slices
1052 for (int hiz = 0; hiz < numZvtx; hiz++) {
1053 if( iEtaGap==etaGapFirstBin && hiz==zFirstBin ) continue;
1054 TH1D *hid = (TH1D*) inclusFile->Get(Form("hDEtaNear/hDEtaNear%02d%02d%02d%02d%02d%02d", 1, hic, hiz, iEtaGap, hit, hia));
1055 fhDEtaNearMixFromFile[hic][hit][hia]->Add(hid);
1058 //normalize to traingle
1059 double counts = fhDEtaNearMixFromFile[hic][hit][hia]->Integral();
1060 double bw = fhDEtaNearMixFromFile[hic][hit][hia]->GetBinWidth(1);
1062 if(counts<5000) rebin=8;
1063 if(counts<3000) rebin=10;
1064 if(counts<1000) rebin=16;
1065 fhDEtaNearMixFromFile[hic][hit][hia]->Rebin(rebin);
1066 if(counts>0) fhDEtaNearMixFromFile[hic][hit][hia]->Scale(2.*fmaxEtaRange/counts/bw/rebin);//triangle f(0)=1, f(1.6)=0
1067 //if(counts>0) fhDEtaNearMixFromFile[hic][hit][hia]->Scale(2.*fmaxEtaRange/counts/bw);
1068 //cout<<"c=" << hic <<" as="<< hia <<" entries="<< fhDEtaNearMixFromFile[hic][hit][hia]->GetEntries() <<endl;
1075 //for (int hic = 0;hic < fCard->GetNoOfBins(kCentrType);hic++) {
1076 // for (int hit = 0; hit < fCard->GetNoOfBins(kTriggType);hit++){
1077 // for (int hia = 0; hia < fCard->GetNoOfBins(kAssocType); hia++){
1078 // hDphiAssocMixSpectraFile[hic][hit][hia]= (TH1D*) inclusFile->Get(Form("xhDphiAssoc%02dC%02dE00T%02dA%02d",1, hic, hit, hia));//FK//mix2