268 const Float_t minNofPoints = -0.5;
269 const Float_t maxNofPoints = 14.5;
270 const Int_t nofBinsPoints = 15;
273 UInt_t nofBinsC = 100000;
275 CreateH1(
"hno_NofObjects_GlobalTracks",
"Tracks per event",
"Yield", nofBinsC, 1., maxXC);
276 CreateH1(
"hno_NofObjects_GemTracks",
"Tracks per event",
"Yield", nofBinsC, 1., maxXC);
277 CreateH1(
"hno_NofObjects_GemHits",
"GEM hits per event",
"Yield", nofBinsC, 1., maxXC);
280 CreateH1(
"hen_EventNo_TrackingQa",
"",
"", 1, 0, 1.);
281 CreateH1(
"Impact parameter",
"b, fm",
"Counter", 100, 0.0, 0.0);
282 CreateH1(
"Multiplicity",
"N_{prim}",
"Counter", 100, 0.0, 0.0);
283 CreateH2(
"Impact_Mult",
"b, fm",
"N_{prim}",
"", 100, 0.0, 0.0, 100, 0.0, 0.0);
286 CreateH2(
"momRes_2D",
"P_{sim}/q, GeV/c",
"#Delta P / P, %",
"", 100,
fPRangeMin, 10, 100, -10.0, 10.0);
289 CreateH1(
"momRes_Mean",
"#Delta P / P, %",
"Counter", 100, -10.0, 10.0);
291 CreateH2(
"PxRes_2D",
"Px_{sim}/q, GeV/c",
"#Delta Px / Px, %",
"", 100,
fPRangeMin, 1, 100, -10.0, 10.0);
294 CreateH1(
"PxRes_Mean",
"#Delta Px / Px, %",
"Counter", 100, -10.0, 10.0);
296 CreateH2(
"PyRes_2D",
"Py_{sim}/q, GeV/c",
"#Delta Py / Py, %",
"", 100,
fPRangeMin, 1, 100, -10.0, 10.0);
299 CreateH1(
"PyRes_Mean",
"#Delta Py / Py, %",
"Counter", 100, -10.0, 10.0);
301 CreateH2(
"PzRes_2D",
"Pz_{sim}/q, GeV/c",
"#Delta Pz / Pz, %",
"", 100,
fPRangeMin, 8, 100, -10.0, 10.0);
304 CreateH1(
"PzRes_Mean",
"#Delta Pz / Pz, %",
"Counter", 100, -10.0, 10.0);
313 CreateH2(
"MomRes_vs_Length",
"Length, cm",
"#Delta P / P, %",
"", 400, 0, 800, 100, -10, 10);
314 CreateH1(
"MomRes_vs_Length_1D",
"Length, cm",
"#Delta P / P, #sigma, %", 50, 0, 800);
315 CreateH1(
"MomMean_vs_Length_1D",
"Length, cm",
"#Delta P / P, #mu, %", 50, 0, 800);
317 CreateH2(
"MomRes_vs_nHits",
"N_{hits}",
"#Delta P / P, %",
"", 12, 0, 12, 100, -10, 10);
318 CreateH1(
"MomRes_vs_nHits_1D",
"N_{hits}",
"#Delta P / P, #sigma, %", 12, 0, 12);
319 CreateH1(
"MomMean_vs_nHits_1D",
"N_{hits}",
"#Delta P / P, #mu, %", 12, 0, 12);
321 CreateH2(
"EtaP_rec",
"#eta_{rec}",
"P_{rec}/q, GeV/c",
"", 100,
fEtaRangeMin,
fEtaRangeMax, 100,
fPRangeMin,
323 CreateH2(
"EtaP_sim",
"#eta_{sim}",
"P_{sim}/q, GeV/c",
"", 100,
fEtaRangeMin,
fEtaRangeMax, 100,
fPRangeMin,
325 CreateH2(
"EtaP_fakes_sim",
"#eta_{sim}",
"P_{sim}/q, GeV/c",
"", 100,
fEtaRangeMin,
fEtaRangeMax, 100,
fPRangeMin,
327 CreateH2(
"EtaP_clones_sim",
"#eta_{sim}",
"P_{sim}/q, GeV/c",
"", 100,
fEtaRangeMin,
fEtaRangeMax, 100,
fPRangeMin,
329 CreateH2(
"ThetaP_sim",
"#theta_{sim}",
"P_{sim}/q, GeV/c",
"", 100,
fThetaRangeMin,
fThetaRangeMax, 100,
fPRangeMin,
331 CreateH2(
"ThetaP_rec",
"#theta_{rec}",
"P_{rec}/q, GeV/c",
"", 100,
fThetaRangeMin,
fThetaRangeMax, 100,
fPRangeMin,
334 CreateH2(
"P_rec_P_sim",
"P_{sim}/q, GeV/c",
"P_{rec}/q, GeV/c",
"", 100,
fPRangeMin,
fPRangeMax, 100,
fPRangeMin,
336 CreateH2(
"Px_rec_Px_sim",
"P^{x}_{sim}/q, GeV/c",
"P^{x}/q_{rec}, GeV/c",
"", 100, -
fPtRangeMax,
fPtRangeMax, 100,
338 CreateH2(
"Py_rec_Py_sim",
"P^{y}_{sim}/q, GeV/c",
"P^{y}/q_{rec}, GeV/c",
"", 100, -
fPtRangeMax,
fPtRangeMax, 100,
340 CreateH2(
"Pz_rec_Pz_sim",
"P^{z}_{sim}/q, GeV/c",
"P^{z}/q_{rec}, GeV/c",
"", 100,
fPtRangeMin, 4, 100,
fPtRangeMin,
342 CreateH2(
"Pt_rec_Pt_sim",
"P^{t}_{sim}/q, GeV/c",
"P^{t}/q_{rec}, GeV/c",
"", 100,
fPtRangeMin, 4, 100,
fPtRangeMin,
347 CreateH2(
"EtaRes_2D",
"#eta_{sim}",
"#Delta #eta / #eta, %",
"", 100, 0, 4, 100, -5.0, 5.0);
350 CreateH1(
"EtaRes_Mean",
"#Delta #eta / #eta, %",
"Counter", 100, -5.0, 5.0);
352 CreateH2(
"Tx_rec_Tx_sim",
"T^{x}_{sim}",
"T^{x}_{rec}",
"", 100, -1.0, 1.0, 100, -1.0, 1.0);
353 CreateH2(
"TxRes_2D",
"Tx_{sim}",
"#Delta Tx / Tx, %",
"", 100, -1, 1, 100, -10.0, 10.0);
356 CreateH1(
"TxRes_Mean",
"#Delta Tx / Tx, %",
"Counter", 100, -10.0, 10.0);
358 CreateH2(
"Ty_rec_Ty_sim",
"T^{y}_{sim}",
"T^{y}_{rec}",
"", 100, -1.0, 1.0, 100, -1.0, 1.0);
359 CreateH2(
"TyRes_2D",
"Ty_{sim}",
"#Delta Ty / Ty, %",
"", 100, -1, 1, 100, -10.0, 10.0);
362 CreateH1(
"TyRes_Mean",
"#Delta Ty / Ty, %",
"Counter", 100, -10.0, 10.0);
364 CreateH2(
"Nh_rec_Nh_sim",
"Number of mc-points",
"Number of reco-hits",
"", nofBinsPoints, minNofPoints,
365 maxNofPoints, nofBinsPoints, minNofPoints, maxNofPoints);
367 CreateH2(
"Nh_sim_Eta_sim",
"Number of mc-points",
"#eta_{sim}",
"", nofBinsPoints, minNofPoints, maxNofPoints, 100,
369 CreateH2(
"Nh_rec_Eta_rec",
"Number of hits",
"#eta_{rec}",
"", nofBinsPoints, minNofPoints, maxNofPoints, 100,
371 CreateH2(
"Nh_sim_P_sim",
"Number of mc-points",
"P_{sim}",
"", nofBinsPoints, minNofPoints, maxNofPoints, 100,
373 CreateH2(
"Nh_rec_P_rec",
"Number of hits",
"P_{rec}",
"", nofBinsPoints, minNofPoints, maxNofPoints, 100,
375 CreateH2(
"Nh_sim_Theta_sim",
"Number of mc-points",
"#theta_{sim}",
"", nofBinsPoints, minNofPoints, maxNofPoints,
377 CreateH2(
"Nh_rec_Theta_rec",
"Number of hits",
"#theta_{rec}",
"", nofBinsPoints, minNofPoints, maxNofPoints, 100,
416 CreateH1(
"Eff_vs_Nh",
"Number of hits",
"Efficiency, %", nofBinsPoints, minNofPoints, maxNofPoints);
417 CreateH1(
"Ghost_vs_Nh",
"Number of hits",
"Counter", nofBinsPoints, minNofPoints, maxNofPoints);
418 CreateH1(
"SplitEff_vs_Nh",
"Number of hits",
"Splits, %", nofBinsPoints, minNofPoints, maxNofPoints);
419 CreateH1(
"Split_vs_Nh",
"Number of hits",
"Counter", nofBinsPoints, minNofPoints, maxNofPoints);
420 CreateH1(
"Sim_vs_Nh",
"Number of hits",
"Counter", nofBinsPoints, minNofPoints, maxNofPoints);
421 CreateH1(
"Rec_vs_Nh",
"Number of hits",
"Counter", nofBinsPoints, minNofPoints, maxNofPoints);
422 CreateH1(
"Well_vs_Nh",
"Number of hits",
"Counter", nofBinsPoints, minNofPoints, maxNofPoints);
423 CreateH1(
"Fake_vs_Nh",
"Number of hits",
"Ghosts, %", nofBinsPoints, minNofPoints, maxNofPoints);
425 CreateH2(
"MomRes_vs_Chi2",
"#chi^{2}",
"#Delta P / P, %",
"", 100, 0, 10, 100, -10, 10);
426 CreateH2(
"Mom_vs_Chi2",
"#chi^{2}",
"P_{rec}/q, GeV/c",
"", 100, 0, 10, 100,
fPRangeMin,
fPRangeMax);
427 CreateH2(
"Mom_vs_Length",
"Length, cm",
"P_{rec}/q, GeV/c",
"", 400, 0, 800, 100,
fPRangeMin,
fPRangeMax);
428 CreateH1(
"Chi2",
"#chi^{2} / NDF",
"Counter", 100, 0, 10);
429 CreateH1(
"Length",
"length, cm",
"Counter", 400, 0, 800);
431 CreateH1(
"VertResX",
"#DeltaV_{x}, cm",
"Counter", 100, -2.0, 2.0);
432 CreateH1(
"VertResY",
"#DeltaV_{y}, cm",
"Counter", 100, -2.0, 2.0);
433 CreateH1(
"VertResZ",
"#DeltaV_{z}, cm",
"Counter", 100, -2.0, 2.0);
434 CreateH1(
"VertX",
"V_{x}, cm",
"Counter", 300, -1.0, 1.0);
435 CreateH1(
"VertY",
"V_{y}, cm",
"Counter", 300, -1.0, 1.0);
436 CreateH1(
"VertZ",
"V_{z}, cm",
"Counter", 300, -2.0, +2.0);
437 CreateH2(
"VertX_vs_Ntracks",
"Number of tracks",
"V_{x}, cm",
"", 100, 0, 100, 300, -1.0, 1.0);
438 CreateH2(
"VertY_vs_Ntracks",
"Number of tracks",
"V_{y}, cm",
"", 100, 0, 100, 300, -1.0, 1.0);
439 CreateH2(
"VertZ_vs_Ntracks",
"Number of tracks",
"V_{z}, cm",
"", 100, 0, 100, 300, -2.0, +2.0);
441 CreateH2(
"Eff_vs_EtaP",
"#eta_{sim}",
"P_{sim, GeV/c}",
"", 100,
fEtaRangeMin,
fEtaRangeMax, 100,
fPRangeMin,
443 CreateH2(
"Clones_vs_EtaP",
"#eta_{sim}",
"P_{sim, GeV/c}",
"", 100,
fEtaRangeMin,
fEtaRangeMax, 100,
fPRangeMin,
445 CreateH2(
"Fakes_vs_EtaP",
"#eta_{sim}",
"P_{sim, GeV/c}",
"", 100,
fEtaRangeMin,
fEtaRangeMax, 100,
fPRangeMin,
449 CreateH1(
"ResX_f",
"Residual X, cm",
"", 100, -20, 20);
450 CreateH1(
"ResY_f",
"Residual Y, cm",
"", 100, -20, 20);
451 CreateH1(
"ResTx_f",
"Residual t_{x}",
"", 100, -0.5, 0.5);
452 CreateH1(
"ResTy_f",
"Residual t_{y}",
"", 100, -0.5, 0.5);
453 CreateH1(
"ResQp_f",
"Residual q/p, (GeV/c)^{-1}",
"", 100, -2.0, 2.0);
454 CreateH1(
"ErrX_f",
"Error X, cm",
"", 100, -0, 1);
455 CreateH1(
"ErrY_f",
"Error Y, cm",
"", 100, -0, 1);
456 CreateH1(
"ErrTx_f",
"Error t_{x}",
"", 100, -0, 0.1);
457 CreateH1(
"ErrTy_f",
"Error t_{y}",
"", 100, -0, 0.1);
458 CreateH1(
"ErrQp_f",
"Error q/p, (GeV/c)^{-1}",
"", 100, -0, 0.2);
459 CreateH1(
"PullX_f",
"Pull X",
"", 100, -5.0, 5.0);
460 CreateH1(
"PullY_f",
"Pull Y",
"", 100, -5.0, 5.0);
461 CreateH1(
"PullTx_f",
"Pull t_{x}",
"", 100, -5.0, 5.0);
462 CreateH1(
"PullTy_f",
"Pull t_{y}",
"", 100, -5.0, 5.0);
463 CreateH1(
"PullQp_f",
"Pull q/p",
"", 100, -5.0, 5.0);
465 CreateH1(
"X_f",
"X, cm",
"", 100, -100, 100);
466 CreateH1(
"Y_f",
"Y, cm",
"", 100, -100, 100);
467 CreateH1(
"Tx_f",
"t_{x}",
"", 100, -1.0, 1.0);
468 CreateH1(
"Ty_f",
"t_{y}",
"", 100, -1.0, 1.0);
469 CreateH1(
"Qp_f",
"q/p, (GeV/c)^{-1}",
"", 100, -20.0, 20.0);
470 CreateH1(
"X_l",
"X, cm",
"", 100, -100, 100);
471 CreateH1(
"Y_l",
"Y, cm",
"", 100, -100, 100);
472 CreateH1(
"Tx_l",
"t_{x}",
"", 100, -1.0, 1.0);
473 CreateH1(
"Ty_l",
"t_{y}",
"", 100, -1.0, 1.0);
474 CreateH1(
"Qp_l",
"q/p, (GeV/c)^{-1}",
"", 100, -20.0, 20.0);
476 Int_t nMultBin = 100;
477 CreateH1(
"Eff_vs_mult",
"N",
"Efficiency, %", nMultBin, 0, nMultBin);
478 CreateH1(
"Split_vs_mult",
"N",
"Counter", nMultBin, 0, nMultBin);
479 CreateH1(
"SplitEff_vs_mult",
"N",
"Splits, %", nMultBin, 0, nMultBin);
480 CreateH1(
"Sim_vs_mult",
"N",
"Counter", nMultBin, 0, nMultBin);
481 CreateH1(
"Rec_vs_mult",
"N",
"Counter", nMultBin, 0, nMultBin);
482 CreateH1(
"Ghost_vs_mult",
"N",
"Counter", nMultBin, 0, nMultBin);
483 CreateH1(
"Well_vs_mult",
"N",
"Counter", nMultBin, 0, nMultBin);
484 CreateH1(
"Fake_vs_mult",
"N",
"Ghosts, %", nMultBin, 0, nMultBin);
504 CreateH2(
"banana_tof400",
"P_{rec}/Q, GeV/c",
"#beta_{rec}",
"", 500, -4, 10, 500, 0.5, 1.1);
505 CreateH2(
"banana_tof700",
"P_{rec}/Q, GeV/c",
"#beta_{rec}",
"", 500, -4, 10, 500, 0.5, 1.1);
506 CreateH2(
"banana_tof400_good",
"P_{rec}/Q, GeV/c",
"#beta_{rec}",
"", 500, -4, 10, 500, 0.5, 1.1);
507 CreateH2(
"banana_tof700_good",
"P_{rec}/Q, GeV/c",
"#beta_{rec}",
"", 500, -4, 10, 500, 0.5, 1.1);
508 CreateH1(
"x_residuals_tof400_good",
"dX, cm",
"count", 250, -5.0, 5.0);
509 CreateH1(
"y_residuals_tof400_good",
"dY, cm",
"count", 250, -5.0, 5.0);
510 CreateH1(
"x_residuals_tof400_bad",
"dX, cm",
"count", 250, -5.0, 5.0);
511 CreateH1(
"y_residuals_tof400_bad",
"dY, cm",
"count", 250, -5.0, 5.0);
512 CreateH2(
"x_resi_vs_mom_tof400_good",
"P/Q, GeV/c/Q",
"dX, cm",
"", 500, 0, 8, 500, -5.0, 5.0);
513 CreateH2(
"y_resi_vs_mom_tof400_good",
"P/Q, GeV/c/Q",
"dY, cm",
"", 500, 0, 8, 500, -5.0, 5.0);
514 CreateH1(
"x_residuals_tof700_good",
"dX, cm",
"count", 250, -5.0, 5.0);
515 CreateH1(
"y_residuals_tof700_good",
"dY, cm",
"count", 250, -5.0, 5.0);
516 CreateH2(
"x_resi_vs_mom_tof700_good",
"P/Q, GeV/c/Q",
"dX, cm",
"", 500, 0, 8, 500, -5.0, 5.0);
517 CreateH2(
"y_resi_vs_mom_tof700_good",
"P/Q, GeV/c/Q",
"dY, cm",
"", 500, 0, 8, 500, -5.0, 5.0);
518 CreateH1(
"x_residuals_tof700_bad",
"dX, cm",
"count", 250, -5.0, 5.0);
519 CreateH1(
"y_residuals_tof700_bad",
"dY, cm",
"count", 250, -5.0, 5.0);
520 CreateH2(
"Mass_correlation",
"M_{tof400}/Q, GeV/c^{2}/Q",
"M_{tof700}/Q, GeV/c^{2}/Q",
"", 500, 0, 3, 500, 0, 3);
532 CreateH1(
"x_residuals_csc_good",
"dX, cm",
"count", 250, -5.0, 5.0);
533 CreateH1(
"y_residuals_csc_good",
"dY, cm",
"count", 250, -5.0, 5.0);
534 CreateH2(
"x_resi_vs_mom_csc_good",
"P/Q, GeV/c/Q",
"dX, cm",
"", 500, 0, 8, 500, -5.0, 5.0);
535 CreateH2(
"y_resi_vs_mom_csc_good",
"P/Q, GeV/c/Q",
"dY, cm",
"", 500, 0, 8, 500, -5.0, 5.0);
536 CreateH1(
"x_residuals_csc_bad",
"dX, cm",
"count", 250, -5.0, 5.0);
537 CreateH1(
"y_residuals_csc_bad",
"dY, cm",
"count", 250, -5.0, 5.0);
549 CreateH1(
"x_residuals_dch1_good",
"dX, cm",
"count", 250, -5.0, 5.0);
550 CreateH1(
"y_residuals_dch1_good",
"dY, cm",
"count", 250, -5.0, 5.0);
551 CreateH2(
"x_resi_vs_mom_dch1_good",
"P/Q, GeV/c/Q",
"dX, cm",
"", 500, 0, 8, 500, -5.0, 5.0);
552 CreateH2(
"y_resi_vs_mom_dch1_good",
"P/Q, GeV/c/Q",
"dY, cm",
"", 500, 0, 8, 500, -5.0, 5.0);
553 CreateH1(
"x_residuals_dch1_bad",
"dX, cm",
"count", 250, -5.0, 5.0);
554 CreateH1(
"y_residuals_dch1_bad",
"dY, cm",
"count", 250, -5.0, 5.0);
566 CreateH1(
"x_residuals_dch2_good",
"dX, cm",
"count", 250, -5.0, 5.0);
567 CreateH1(
"y_residuals_dch2_good",
"dY, cm",
"count", 250, -5.0, 5.0);
568 CreateH2(
"x_resi_vs_mom_dch2_good",
"P/Q, GeV/c/Q",
"dX, cm",
"", 500, 0, 8, 500, -5.0, 5.0);
569 CreateH2(
"y_resi_vs_mom_dch2_good",
"P/Q, GeV/c/Q",
"dY, cm",
"", 500, 0, 8, 500, -5.0, 5.0);
570 CreateH1(
"x_residuals_dch2_bad",
"dX, cm",
"count", 250, -5.0, 5.0);
571 CreateH1(
"y_residuals_dch2_bad",
"dY, cm",
"count", 250, -5.0, 5.0);
574 for (
Int_t iSt = 0; iSt < 9; ++iSt) {
575 CreateH1(
Form(
"ResX_%dst", iSt),
"ResX, cm",
"Counter", 100, -0.5, 0.5);
576 CreateH1(
Form(
"ResY_%dst", iSt),
"ResY, cm",
"Counter", 100, -0.5, 0.5);
579 printf(
"\nHISTOGRAMS CREATED!\n\n");
585 cout <<
"New event" << endl;
587 vector<Int_t> splits;
619 fHM->H1(
"VertResX")->Fill(vx - 0.0);
620 fHM->H1(
"VertResY")->Fill(vy - 0.0);
621 fHM->H1(
"VertResZ")->Fill(vz - 0.0);
622 fHM->H1(
"VertX")->Fill(vx);
623 fHM->H1(
"VertY")->Fill(vy);
624 fHM->H1(
"VertZ")->Fill(vz);
625 fHM->H1(
"VertX_vs_Ntracks")->Fill(nStsTracks, vx);
626 fHM->H1(
"VertY_vs_Ntracks")->Fill(nStsTracks, vy);
627 fHM->H1(
"VertZ_vs_Ntracks")->Fill(nStsTracks, vz);
629 for (
Int_t iTrack = 0; iTrack < nStsTracks; iTrack++) {
639 FairTrackParam param;
647 Float_t Pz_rec = P_rec /
Sqrt(Tx * Tx + Ty * Ty + 1);
650 Float_t Pxy_rec =
Sqrt(Px_rec * Px_rec + Py_rec * Py_rec);
651 Float_t Eta_rec = 0.5 *
Log((P_rec + Pz_rec) / (P_rec - Pz_rec));
660 fHM->H1(
"Rec_vs_P")->Fill(P_rec);
661 fHM->H1(
"Rec_vs_P_wide")->Fill(P_rec);
662 fHM->H1(
"Rec_vs_Eta")->Fill(Eta_rec);
663 fHM->H1(
"Rec_vs_Theta")->Fill(Theta_rec);
664 fHM->H1(
"Rec_vs_Nh")->Fill(N_rec);
670 fHM->H1(
"Ghost_vs_P")->Fill(P_rec);
671 fHM->H1(
"Ghost_vs_P_wide")->Fill(P_rec);
672 fHM->H1(
"Ghost_vs_Nh")->Fill(N_rec);
673 fHM->H1(
"Ghost_vs_Eta")->Fill(Eta_rec);
674 fHM->H1(
"Ghost_vs_Theta")->Fill(Theta_rec);
675 fHM->H1(
"Fakes_vs_EtaP")->Fill(Eta_rec, P_rec);
690 Float_t Pxy_sim =
Sqrt(Px_sim * Px_sim + Py_sim * Py_sim);
692 Float_t Eta_sim = 0.5 *
Log((P_sim + Pz_sim) / (P_sim - Pz_sim));
694 vector<Int_t>::iterator it = find(refs.begin(), refs.end(), stsMCId);
695 if (it != refs.end()) {
696 splits.push_back(stsMCId);
697 for (
Int_t i = 0;
i < nStsTracks;
i++) {
701 cout <<
"SPLIT: " <<
i <<
" | " << stsMCId <<
" | " << stsTrkSpl->
GetNStsHits() << endl;
706 refs.push_back(stsMCId);
709 fHM->H1(
"Well_vs_P_wide")->Fill(P_sim);
710 fHM->H1(
"Well_vs_P")->Fill(P_sim);
711 fHM->H1(
"Well_vs_Nh")->Fill(N_sim);
712 fHM->H1(
"Well_vs_Eta")->Fill(Eta_sim);
713 fHM->H1(
"Well_vs_Theta")->Fill(Theta_sim);
714 fHM->H2(
"Nh_rec_Nh_sim")->Fill(N_sim, N_rec);
717 fHM->H2(
"Nh_rec_Eta_rec")->Fill(N_rec, Eta_rec);
718 fHM->H2(
"Nh_rec_P_rec")->Fill(N_rec, P_rec);
719 fHM->H2(
"Nh_rec_Theta_rec")->Fill(N_rec, Theta_rec);
721 fHM->H2(
"momRes_2D")->Fill(P_sim, (P_sim - P_rec) / P_sim * 100.0);
722 fHM->H2(
"PxRes_2D")->Fill(Px_sim, (Px_sim - Px_rec) / Px_sim * 100.0);
723 fHM->H2(
"PyRes_2D")->Fill(Py_sim, (Py_sim - Py_rec) / Py_sim * 100.0);
724 fHM->H2(
"PzRes_2D")->Fill(Pz_sim, (Pz_sim - Pz_rec) / Pz_sim * 100.0);
725 fHM->H2(
"MomRes_vs_Chi2")->Fill(chi2, (P_sim - P_rec) / P_sim * 100.0);
726 fHM->H2(
"MomRes_vs_Length")->Fill(len, (P_sim - P_rec) / P_sim * 100.0);
727 fHM->H2(
"MomRes_vs_nHits")->Fill(N_rec, (P_sim - P_rec) / P_sim * 100.0);
728 fHM->H2(
"MomRes_vs_Theta")->Fill(Theta_sim, (P_sim - P_rec) / P_sim * 100.0);
729 fHM->H2(
"Mom_vs_Chi2")->Fill(chi2, P_rec);
730 fHM->H2(
"Mom_vs_Length")->Fill(len, P_rec);
731 fHM->H1(
"Chi2")->Fill(chi2);
732 fHM->H1(
"Length")->Fill(len);
734 fHM->H2(
"P_rec_P_sim")->Fill(P_sim, P_rec);
735 fHM->H2(
"Eta_rec_Eta_sim")->Fill(Eta_sim, Eta_rec);
736 fHM->H2(
"EtaRes_2D")->Fill(Eta_sim, (Eta_sim - Eta_rec) / Eta_sim * 100.0);
737 fHM->H2(
"Px_rec_Px_sim")->Fill(Px_sim, Px_rec);
738 fHM->H2(
"Py_rec_Py_sim")->Fill(Py_sim, Py_rec);
739 fHM->H2(
"Pt_rec_Pt_sim")->Fill(
Sqrt(Px_sim * Px_sim + Pz_sim * Pz_sim), Pz_rec *
Sqrt(1 + Tx * Tx));
740 Float_t Tx_sim = Px_sim / Pz_sim;
741 Float_t Ty_sim = Py_sim / Pz_sim;
742 fHM->H2(
"Tx_rec_Tx_sim")->Fill(Tx_sim, Tx);
743 fHM->H2(
"TxRes_2D")->Fill(Tx_sim, (Tx_sim - Tx) / Tx_sim * 100.0);
744 fHM->H2(
"TyRes_2D")->Fill(Ty_sim, (Ty_sim - Ty) / Ty_sim * 100.0);
745 fHM->H2(
"Ty_rec_Ty_sim")->Fill(Py_sim / Pz_sim, Ty);
746 fHM->H2(
"Pz_rec_Pz_sim")->Fill(Pz_sim, Pz_rec);
747 fHM->H2(
"EtaP_rec")->Fill(Eta_rec, P_rec);
748 fHM->H2(
"ThetaP_rec")->Fill(Theta_rec, P_rec);
750 FairTrackParam* pf = ¶m;
757 fHM->H1(
"ResX_f")->Fill(mcTrack->
GetStartX() - pf->GetX());
758 fHM->H1(
"ResY_f")->Fill(mcTrack->
GetStartY() - pf->GetY());
759 fHM->H1(
"ResTx_f")->Fill(Tx_sim - pf->GetTx());
760 fHM->H1(
"ResTy_f")->Fill(Ty_sim - pf->GetTy());
761 fHM->H1(
"ResQp_f")->Fill(1.0 / P_sim -
Abs(pf->GetQp()));
762 fHM->H1(
"ErrX_f")->Fill(
Sqrt(cov[0]));
763 fHM->H1(
"ErrY_f")->Fill(
Sqrt(cov[5]));
764 fHM->H1(
"ErrTx_f")->Fill(
Sqrt(cov[9]));
765 fHM->H1(
"ErrTy_f")->Fill(
Sqrt(cov[12]));
766 fHM->H1(
"ErrQp_f")->Fill(
Sqrt(cov[14]));
767 fHM->H1(
"PullX_f")->Fill((mcTrack->
GetStartX() - pf->GetX()) /
Sqrt(cov[0]));
768 fHM->H1(
"PullY_f")->Fill((mcTrack->
GetStartY() - pf->GetY()) /
Sqrt(cov[5]));
769 fHM->H1(
"PullTx_f")->Fill((Tx_sim - pf->GetTx()) /
Sqrt(cov[9]));
770 fHM->H1(
"PullTy_f")->Fill((Ty_sim - pf->GetTy()) /
Sqrt(cov[12]));
771 fHM->H1(
"PullQp_f")->Fill((1.0 / P_sim -
Abs(pf->GetQp())) /
Sqrt(cov[14]));
773 fHM->H1(
"X_f")->Fill(pf->GetX());
774 fHM->H1(
"Y_f")->Fill(pf->GetY());
775 fHM->H1(
"Tx_f")->Fill(pf->GetTx());
776 fHM->H1(
"Ty_f")->Fill(pf->GetTy());
777 fHM->H1(
"Qp_f")->Fill(pf->GetQp());
779 fHM->H1(
"X_l")->Fill(pl->GetX());
780 fHM->H1(
"Y_l")->Fill(pl->GetY());
781 fHM->H1(
"Tx_l")->Fill(pl->GetTx());
782 fHM->H1(
"Ty_l")->Fill(pl->GetTy());
783 fHM->H1(
"Qp_l")->Fill(pl->GetQp());
901 Int_t nSplitInOneEvent = 0;
903 for (
size_t i = 0;
i < splits.size(); ++
i) {
923 fHM->H1(
"Split_vs_P")->Fill(P);
924 fHM->H1(
"Split_vs_P_wide")->Fill(P);
925 fHM->H1(
"Split_vs_Eta")->Fill(eta);
926 fHM->H1(
"Split_vs_Theta")->Fill(theta);
927 fHM->H1(
"Split_vs_Nh")->Fill(nPointsPerTrack);
928 fHM->H2(
"Clones_vs_EtaP")->Fill(eta, P);
931 Int_t nReconstructable = 0;
933 for (
Int_t iTrack = 0; iTrack <
fMCTracks->GetEntriesFast(); iTrack++) {
953 fHM->H1(
"Sim_vs_P")->Fill(P);
954 fHM->H1(
"Sim_vs_P_wide")->Fill(P);
955 fHM->H1(
"Sim_vs_Eta")->Fill(eta);
956 fHM->H1(
"Sim_vs_Theta")->Fill(theta);
957 fHM->H1(
"Sim_vs_Nh")->Fill(nHitsPerTrack);
958 fHM->H2(
"Nh_sim_Eta_sim")->Fill(nHitsPerTrack, eta);
959 fHM->H2(
"Nh_sim_Theta_sim")->Fill(nHitsPerTrack, theta);
960 fHM->H2(
"Nh_sim_P_sim")->Fill(nHitsPerTrack, P);
961 fHM->H2(
"ThetaP_sim")->Fill(theta, P);
962 fHM->H2(
"EtaP_sim")->Fill(eta, P);
965 fHM->H1(
"Sim_vs_P_tof400")->Fill(P);
969 fHM->H1(
"Sim_vs_P_tof700")->Fill(P);
973 fHM->H1(
"Sim_vs_P_csc")->Fill(P);
977 fHM->H1(
"Sim_vs_P_dch1")->Fill(P);
978 fHM->H1(
"Sim_vs_P_dch2")->Fill(P);
982 fHM->H1(
"Sim_vs_mult")
983 ->SetBinContent(nReconstructable,
fHM->H1(
"Sim_vs_mult")->GetBinContent(nReconstructable) + nReconstructable);
984 fHM->H1(
"Well_vs_mult")
985 ->SetBinContent(nReconstructable,
fHM->H1(
"Well_vs_mult")->GetBinContent(nReconstructable) +
nWellRecoInEvent);
986 fHM->H1(
"Rec_vs_mult")
987 ->SetBinContent(nReconstructable,
fHM->H1(
"Rec_vs_mult")->GetBinContent(nReconstructable) +
nAllRecoInEvent);
988 fHM->H1(
"Split_vs_mult")
989 ->SetBinContent(nReconstructable,
fHM->H1(
"Split_vs_mult")->GetBinContent(nReconstructable) + nSplitInOneEvent);
990 fHM->H1(
"Ghost_vs_mult")
991 ->SetBinContent(nReconstructable,
fHM->H1(
"Ghost_vs_mult")->GetBinContent(nReconstructable) +
nBadRecoInEvent);