@@ -519,13 +519,13 @@ struct JetHadronsPid {
519519 registryData.add (" mc/reconstruction/pions/rec_pion_all" , " All Tracks PID'd as Pions" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
520520 registryData.add (" mc/reconstruction/pions/mc_rec_pion_pt" , " True Primary Pions (Reconstructed)" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
521521 registryData.add (" mc/reconstruction/pions/mc_sec_pion_pt" , " Secondary Pions (Reconstructed)" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
522- registryData.add (" mc/reconstruction/pions/contamination_matrix_pion" , " Pion PID Contamination" , HistType::kTH2F , {{4000 , -0 .5 , 3999.5 , " Absolute PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
522+ registryData.add (" mc/reconstruction/pions/contamination_matrix_pion" , " Pion PID Contamination" , HistType::kTH2F , {{8000 , -4000 .5 , 3999.5 , " PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
523523
524524 registryData.add (" mc/reconstruction/pions/pos/mc_rec_pion_pos_pt" , " Reconstructed Primary #pi^{+} pT" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
525- registryData.add (" mc/reconstruction/pions/pos/contamination_matrix_pion_pos" , " #pi^{+} PID Contamination" , HistType::kTH2F , {{4000 , -0 .5 , 3999.5 , " Absolute PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
525+ registryData.add (" mc/reconstruction/pions/pos/contamination_matrix_pion_pos" , " #pi^{+} PID Contamination" , HistType::kTH2F , {{8000 , -4000 .5 , 3999.5 , " PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
526526
527527 registryData.add (" mc/reconstruction/pions/neg/mc_rec_pion_neg_pt" , " Reconstructed Primary #pi^{-} pT" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
528- registryData.add (" mc/reconstruction/pions/neg/contamination_matrix_pion_neg" , " #pi^{-} PID Contamination" , HistType::kTH2F , {{4000 , -0 .5 , 3999.5 , " Absolute PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
528+ registryData.add (" mc/reconstruction/pions/neg/contamination_matrix_pion_neg" , " #pi^{-} PID Contamination" , HistType::kTH2F , {{8000 , -4000 .5 , 3999.5 , " PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
529529 registryData.add (" mc/reconstruction/pions/pos/rec_pion_pos_all" , " All Tracks PID'd as #pi^{+}" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
530530 registryData.add (" mc/reconstruction/pions/neg/rec_pion_neg_all" , " All Tracks PID'd as #pi^{-}" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
531531 registryData.add (" mc/reconstruction/pions/pos/mc_sec_pion_pos_pt" , " Secondary #pi^{+} (Reconstructed)" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
@@ -534,33 +534,47 @@ struct JetHadronsPid {
534534 registryData.add (" mc/reconstruction/kaons/rec_kaon_all" , " All Tracks PID'd as Kaons" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
535535 registryData.add (" mc/reconstruction/kaons/mc_rec_kaon_pt" , " True Primary Kaons (Reconstructed)" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
536536 registryData.add (" mc/reconstruction/kaons/mc_sec_kaon_pt" , " Secondary Kaons (Reconstructed)" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
537- registryData.add (" mc/reconstruction/kaons/contamination_matrix_kaon" , " Kaon PID Contamination" , HistType::kTH2F , {{4000 , -0 .5 , 3999.5 , " Absolute PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
537+ registryData.add (" mc/reconstruction/kaons/contamination_matrix_kaon" , " Kaon PID Contamination" , HistType::kTH2F , {{8000 , -4000 .5 , 3999.5 , " PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
538538
539539 registryData.add (" mc/reconstruction/kaons/pos/mc_rec_kaon_pos_pt" , " Reconstructed Primary K^{+} pT" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
540- registryData.add (" mc/reconstruction/kaons/pos/contamination_matrix_kaon_pos" , " K^{+} PID Contamination" , HistType::kTH2F , {{4000 , -0 .5 , 3999.5 , " Absolute PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
540+ registryData.add (" mc/reconstruction/kaons/pos/contamination_matrix_kaon_pos" , " K^{+} PID Contamination" , HistType::kTH2F , {{8000 , -4000 .5 , 3999.5 , " PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
541541
542542 registryData.add (" mc/reconstruction/kaons/pos/rec_kaon_pos_all" , " All Tracks PID'd as K^{+}" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
543543 registryData.add (" mc/reconstruction/kaons/neg/rec_kaon_neg_all" , " All Tracks PID'd as K^{-}" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
544544 registryData.add (" mc/reconstruction/kaons/pos/mc_sec_kaon_pos_pt" , " Secondary K^{+} (Reconstructed)" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
545545 registryData.add (" mc/reconstruction/kaons/neg/mc_sec_kaon_neg_pt" , " Secondary K^{-} (Reconstructed)" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
546546 registryData.add (" mc/reconstruction/kaons/neg/mc_rec_kaon_neg_pt" , " Reconstructed Primary K^{-} pT" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
547- registryData.add (" mc/reconstruction/kaons/neg/contamination_matrix_kaon_neg" , " K^{-} PID Contamination" , HistType::kTH2F , {{4000 , -0 .5 , 3999.5 , " Absolute PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
547+ registryData.add (" mc/reconstruction/kaons/neg/contamination_matrix_kaon_neg" , " K^{-} PID Contamination" , HistType::kTH2F , {{8000 , -4000 .5 , 3999.5 , " PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
548548
549549 registryData.add (" mc/reconstruction/protons/rec_proton_all" , " All Tracks PID'd as Protons" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
550550 registryData.add (" mc/reconstruction/protons/mc_rec_proton_pt" , " True Primary Protons (Reconstructed)" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
551551 registryData.add (" mc/reconstruction/protons/mc_sec_proton_pt" , " Secondary Protons (Reconstructed)" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
552- registryData.add (" mc/reconstruction/protons/contamination_matrix_proton" , " Proton PID Contamination" , HistType::kTH2F , {{4000 , -0 .5 , 3999.5 , " Absolute PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
552+ registryData.add (" mc/reconstruction/protons/contamination_matrix_proton" , " Proton PID Contamination" , HistType::kTH2F , {{8000 , -4000 .5 , 3999.5 , " PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
553553
554554 registryData.add (" mc/reconstruction/protons/pos/mc_rec_proton_pos_pt" , " Reconstructed Primary p pT" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
555- registryData.add (" mc/reconstruction/protons/pos/contamination_matrix_proton_pos" , " p PID Contamination" , HistType::kTH2F , {{4000 , -0 .5 , 3999.5 , " Absolute PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
555+ registryData.add (" mc/reconstruction/protons/pos/contamination_matrix_proton_pos" , " p PID Contamination" , HistType::kTH2F , {{8000 , -4000 .5 , 3999.5 , " PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
556556
557557 registryData.add (" mc/reconstruction/protons/neg/mc_rec_proton_neg_pt" , " Reconstructed Primary #bar{p} pT" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
558- registryData.add (" mc/reconstruction/protons/neg/contamination_matrix_proton_neg" , " #bar{p} PID Contamination" , HistType::kTH2F , {{4000 , -0 .5 , 3999.5 , " Absolute PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
558+ registryData.add (" mc/reconstruction/protons/neg/contamination_matrix_proton_neg" , " #bar{p} PID Contamination" , HistType::kTH2F , {{8000 , -4000 .5 , 3999.5 , " PDG Code" }, {120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
559559 registryData.add (" mc/reconstruction/protons/pos/rec_proton_pos_all" , " All Tracks PID'd as p" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
560560 registryData.add (" mc/reconstruction/protons/neg/rec_proton_neg_all" , " All Tracks PID'd as #bar{p}" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
561561 registryData.add (" mc/reconstruction/protons/pos/mc_sec_proton_pos_pt" , " Secondary p (Reconstructed)" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
562562 registryData.add (" mc/reconstruction/protons/neg/mc_sec_proton_neg_pt" , " Secondary #bar{p} (Reconstructed)" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
563563
564+ registryData.add (" mc/reconstruction/pions/pos/rec_pion_pos_tpc" , " MC TPC #pi^{+} PID" , HistType::kTH2F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }, {200 , -3.0 , 3.0 , " n#sigma_{TPC}" }});
565+ registryData.add (" mc/reconstruction/pions/pos/rec_pion_pos_tof" , " MC TOF #pi^{+} PID" , HistType::kTH2F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }, {200 , -3.0 , 3.0 , " n#sigma_{TOF}" }});
566+ registryData.add (" mc/reconstruction/pions/neg/rec_pion_neg_tpc" , " MC TPC #pi^{-} PID" , HistType::kTH2F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }, {200 , -3.0 , 3.0 , " n#sigma_{TPC}" }});
567+ registryData.add (" mc/reconstruction/pions/neg/rec_pion_neg_tof" , " MC TOF #pi^{-} PID" , HistType::kTH2F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }, {200 , -3.0 , 3.0 , " n#sigma_{TOF}" }});
568+
569+ registryData.add (" mc/reconstruction/kaons/pos/rec_kaon_pos_tpc" , " MC TPC K^{+} PID" , HistType::kTH2F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }, {200 , -3.0 , 3.0 , " n#sigma_{TPC}" }});
570+ registryData.add (" mc/reconstruction/kaons/pos/rec_kaon_pos_tof" , " MC TOF K^{+} PID" , HistType::kTH2F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }, {200 , -3.0 , 3.0 , " n#sigma_{TOF}" }});
571+ registryData.add (" mc/reconstruction/kaons/neg/rec_kaon_neg_tpc" , " MC TPC K^{-} PID" , HistType::kTH2F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }, {200 , -3.0 , 3.0 , " n#sigma_{TPC}" }});
572+ registryData.add (" mc/reconstruction/kaons/neg/rec_kaon_neg_tof" , " MC TOF K^{-} PID" , HistType::kTH2F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }, {200 , -3.0 , 3.0 , " n#sigma_{TOF}" }});
573+
574+ registryData.add (" mc/reconstruction/protons/pos/rec_proton_pos_tpc" , " MC TPC p PID" , HistType::kTH2F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }, {200 , -3.0 , 3.0 , " n#sigma_{TPC}" }});
575+ registryData.add (" mc/reconstruction/protons/pos/rec_proton_pos_tof" , " MC TOF p PID" , HistType::kTH2F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }, {200 , -3.0 , 3.0 , " n#sigma_{TOF}" }});
576+ registryData.add (" mc/reconstruction/protons/neg/rec_proton_neg_tpc" , " MC TPC #bar{p} PID" , HistType::kTH2F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }, {200 , -3.0 , 3.0 , " n#sigma_{TPC}" }});
577+ registryData.add (" mc/reconstruction/protons/neg/rec_proton_neg_tof" , " MC TOF #bar{p} PID" , HistType::kTH2F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }, {200 , -3.0 , 3.0 , " n#sigma_{TOF}" }});
564578 // ////////////////////////////////////////////
565579 // MC
566580 // TRUTH
@@ -577,6 +591,21 @@ struct JetHadronsPid {
577591 registryData.add (" mc/truth/protons/mc_gen_proton_pt" , " Generated Primary Protons (Truth)" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
578592 registryData.add (" mc/truth/protons/pos/mc_gen_proton_pos_pt" , " Generated Primary p pT" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
579593 registryData.add (" mc/truth/protons/neg/mc_gen_proton_neg_pt" , " Generated Primary #bar{p} pT" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
594+
595+ registryData.add (" mc/reconstruction/hadrons/rec_hadron_all" , " All Tracks (Reconstructed)" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
596+ registryData.add (" mc/reconstruction/hadrons/rec_hadron_tof_match" , " All Tracks (Reconstructed) with TOF signal" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
597+ registryData.add (" mc/reconstruction/hadrons/mc_rec_hadron_pt" , " True Primary Tracks (Reconstructed)" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
598+ registryData.add (" mc/reconstruction/hadrons/mc_sec_hadron_pt" , " Secondary Tracks (Reconstructed)" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
599+ registryData.add (" mc/truth/hadrons/mc_gen_hadron_pt" , " Generated Primary Tracks" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
600+
601+ registryData.add (" mc/reconstruction/pions/pos/rec_pion_pos_tof_matched" , " MC TOF Matched #pi^{+}" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
602+ registryData.add (" mc/reconstruction/pions/neg/rec_pion_neg_tof_matched" , " MC TOF Matched #pi^{-}" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
603+
604+ registryData.add (" mc/reconstruction/kaons/pos/rec_kaon_pos_tof_matched" , " MC TOF Matched K^{+}" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
605+ registryData.add (" mc/reconstruction/kaons/neg/rec_kaon_neg_tof_matched" , " MC TOF Matched K^{-}" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
606+
607+ registryData.add (" mc/reconstruction/protons/pos/rec_proton_pos_tof_matched" , " MC TOF Matched p" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
608+ registryData.add (" mc/reconstruction/protons/neg/rec_proton_neg_tof_matched" , " MC TOF Matched #bar{p}" , HistType::kTH1F , {{120 , 0.0 , 4.0 , " #it{p}_{T} (GeV/#it{c})" }});
580609 }
581610
582611 void getPerpendicularDirections (const TVector3& p, TVector3& u1, TVector3& u2)
@@ -610,7 +639,6 @@ struct JetHadronsPid {
610639 template <typename TrackType>
611640 PidResult getPid (const TrackType& track)
612641 {
613-
614642 constexpr int ClosestMatch = 0 ;
615643 constexpr int ExclusiveMatch = 1 ;
616644 constexpr int RejectionBased = 2 ;
@@ -1390,21 +1418,53 @@ struct JetHadronsPid {
13901418 auto const & trueParticle = track.mcParticle ();
13911419
13921420 int pdg = std::abs (trueParticle.pdgCode ());
1421+ int realpdg = trueParticle.pdgCode ();
13931422 bool isPrimary = trueParticle.isPhysicalPrimary ();
13941423 int charge = track.sign ();
13951424
1425+ registryData.fill (HIST (" mc/reconstruction/hadrons/rec_hadron_all" ), pt);
1426+
1427+ if (track.hasTOF ()) {
1428+ registryData.fill (HIST (" mc/reconstruction/hadrons/rec_hadron_tof_match" ), pt);
1429+ }
1430+
1431+ if (isPrimary) {
1432+ registryData.fill (HIST (" mc/reconstruction/hadrons/mc_rec_hadron_pt" ), pt);
1433+ } else {
1434+ registryData.fill (HIST (" mc/reconstruction/hadrons/mc_sec_hadron_pt" ), pt);
1435+ }
1436+
13961437 PidResult pid = getPid (track);
13971438
13981439 if (pid.isPion ) {
13991440 registryData.fill (HIST (" mc/reconstruction/pions/rec_pion_all" ), pt);
1400- registryData.fill (HIST (" mc/reconstruction/pions/contamination_matrix_pion" ), pdg , pt);
1441+ registryData.fill (HIST (" mc/reconstruction/pions/contamination_matrix_pion" ), realpdg , pt);
14011442
14021443 if (charge > 0 ) {
1444+
14031445 registryData.fill (HIST (" mc/reconstruction/pions/pos/rec_pion_pos_all" ), pt);
1404- registryData.fill (HIST (" mc/reconstruction/pions/pos/contamination_matrix_pion_pos" ), pdg, pt);
1446+
1447+ if (track.hasTOF ()) {
1448+ registryData.fill (HIST (" mc/reconstruction/pions/pos/rec_pion_pos_tof_matched" ), pt);
1449+ }
1450+ registryData.fill (HIST (" mc/reconstruction/pions/pos/contamination_matrix_pion_pos" ), realpdg, pt);
1451+
1452+ registryData.fill (HIST (" mc/reconstruction/pions/pos/rec_pion_pos_tpc" ), pt, track.tpcNSigmaPi ());
1453+ if (track.hasTOF ()) {
1454+ registryData.fill (HIST (" mc/reconstruction/pions/pos/rec_pion_pos_tof" ), pt, track.tofNSigmaPi ());
1455+ }
14051456 } else {
14061457 registryData.fill (HIST (" mc/reconstruction/pions/neg/rec_pion_neg_all" ), pt);
1407- registryData.fill (HIST (" mc/reconstruction/pions/neg/contamination_matrix_pion_neg" ), pdg, pt);
1458+
1459+ if (track.hasTOF ()) {
1460+ registryData.fill (HIST (" mc/reconstruction/pions/neg/rec_pion_neg_tof_matched" ), pt);
1461+ }
1462+ registryData.fill (HIST (" mc/reconstruction/pions/neg/contamination_matrix_pion_neg" ), realpdg, pt);
1463+
1464+ registryData.fill (HIST (" mc/reconstruction/pions/neg/rec_pion_neg_tpc" ), pt, track.tpcNSigmaPi ());
1465+ if (track.hasTOF ()) {
1466+ registryData.fill (HIST (" mc/reconstruction/pions/neg/rec_pion_neg_tof" ), pt, track.tofNSigmaPi ());
1467+ }
14081468 }
14091469
14101470 if (isPrimary) {
@@ -1428,14 +1488,34 @@ struct JetHadronsPid {
14281488
14291489 if (pid.isKaon ) {
14301490 registryData.fill (HIST (" mc/reconstruction/kaons/rec_kaon_all" ), pt);
1431- registryData.fill (HIST (" mc/reconstruction/kaons/contamination_matrix_kaon" ), pdg , pt);
1491+ registryData.fill (HIST (" mc/reconstruction/kaons/contamination_matrix_kaon" ), realpdg , pt);
14321492
14331493 if (charge > 0 ) {
1494+
14341495 registryData.fill (HIST (" mc/reconstruction/kaons/pos/rec_kaon_pos_all" ), pt);
1435- registryData.fill (HIST (" mc/reconstruction/kaons/pos/contamination_matrix_kaon_pos" ), pdg, pt);
1496+
1497+ if (track.hasTOF ()) {
1498+ registryData.fill (HIST (" mc/reconstruction/kaons/pos/rec_kaon_pos_tof_matched" ), pt);
1499+ }
1500+ registryData.fill (HIST (" mc/reconstruction/kaons/pos/contamination_matrix_kaon_pos" ), realpdg, pt);
1501+
1502+ registryData.fill (HIST (" mc/reconstruction/kaons/pos/rec_kaon_pos_tpc" ), pt, track.tpcNSigmaKa ());
1503+ if (track.hasTOF ()) {
1504+ registryData.fill (HIST (" mc/reconstruction/kaons/pos/rec_kaon_pos_tof" ), pt, track.tofNSigmaKa ());
1505+ }
14361506 } else {
1507+
14371508 registryData.fill (HIST (" mc/reconstruction/kaons/neg/rec_kaon_neg_all" ), pt);
1438- registryData.fill (HIST (" mc/reconstruction/kaons/neg/contamination_matrix_kaon_neg" ), pdg, pt);
1509+
1510+ if (track.hasTOF ()) {
1511+ registryData.fill (HIST (" mc/reconstruction/kaons/neg/rec_kaon_neg_tof_matched" ), pt);
1512+ }
1513+ registryData.fill (HIST (" mc/reconstruction/kaons/neg/contamination_matrix_kaon_neg" ), realpdg, pt);
1514+
1515+ registryData.fill (HIST (" mc/reconstruction/kaons/neg/rec_kaon_neg_tpc" ), pt, track.tpcNSigmaKa ());
1516+ if (track.hasTOF ()) {
1517+ registryData.fill (HIST (" mc/reconstruction/kaons/neg/rec_kaon_neg_tof" ), pt, track.tofNSigmaKa ());
1518+ }
14391519 }
14401520
14411521 if (isPrimary) {
@@ -1459,14 +1539,31 @@ struct JetHadronsPid {
14591539
14601540 if (pid.isProton ) {
14611541 registryData.fill (HIST (" mc/reconstruction/protons/rec_proton_all" ), pt);
1462- registryData.fill (HIST (" mc/reconstruction/protons/contamination_matrix_proton" ), pdg , pt);
1542+ registryData.fill (HIST (" mc/reconstruction/protons/contamination_matrix_proton" ), realpdg , pt);
14631543
14641544 if (charge > 0 ) {
14651545 registryData.fill (HIST (" mc/reconstruction/protons/pos/rec_proton_pos_all" ), pt);
1466- registryData.fill (HIST (" mc/reconstruction/protons/pos/contamination_matrix_proton_pos" ), pdg, pt);
1546+ if (track.hasTOF ()) {
1547+ registryData.fill (HIST (" mc/reconstruction/protons/pos/rec_proton_pos_tof_matched" ), pt);
1548+ }
1549+ registryData.fill (HIST (" mc/reconstruction/protons/pos/contamination_matrix_proton_pos" ), realpdg, pt);
1550+
1551+ registryData.fill (HIST (" mc/reconstruction/protons/pos/rec_proton_pos_tpc" ), pt, track.tpcNSigmaPr ());
1552+ if (track.hasTOF ()) {
1553+ registryData.fill (HIST (" mc/reconstruction/protons/pos/rec_proton_pos_tof" ), pt, track.tofNSigmaPr ());
1554+ }
14671555 } else {
1556+
14681557 registryData.fill (HIST (" mc/reconstruction/protons/neg/rec_proton_neg_all" ), pt);
1469- registryData.fill (HIST (" mc/reconstruction/protons/neg/contamination_matrix_proton_neg" ), pdg, pt);
1558+ if (track.hasTOF ()) {
1559+ registryData.fill (HIST (" mc/reconstruction/protons/neg/rec_proton_neg_tof_matched" ), pt);
1560+ }
1561+ registryData.fill (HIST (" mc/reconstruction/protons/neg/contamination_matrix_proton_neg" ), realpdg, pt);
1562+
1563+ registryData.fill (HIST (" mc/reconstruction/protons/neg/rec_proton_neg_tpc" ), pt, track.tpcNSigmaPr ());
1564+ if (track.hasTOF ()) {
1565+ registryData.fill (HIST (" mc/reconstruction/protons/neg/rec_proton_neg_tof" ), pt, track.tofNSigmaPr ());
1566+ }
14701567 }
14711568
14721569 if (isPrimary) {
@@ -1512,6 +1609,8 @@ struct JetHadronsPid {
15121609 int pdg = std::abs (originalPdg);
15131610 double pt = mcpart.pt ();
15141611
1612+ registryData.fill (HIST (" mc/truth/hadrons/mc_gen_hadron_pt" ), pt);
1613+
15151614 if (pdg == PDG_t::kPiPlus ) {
15161615 if (pt >= cfg.minPtPion && pt <= cfg.maxPtPion ) {
15171616 registryData.fill (HIST (" mc/truth/pions/mc_gen_pion_pt" ), pt);
0 commit comments