From 6296237a0e2c718e332f4c40cf39503e83a0bf6e Mon Sep 17 00:00:00 2001 From: Rutuparna Rath Date: Sun, 17 Jul 2022 21:44:28 +0200 Subject: [PATCH] [BATask] histograms added for primary and secondaries in true reco --- PWGLF/Tasks/LFNucleiBATask.cxx | 78 ++++++++++++++++++++++++++++------ 1 file changed, 66 insertions(+), 12 deletions(-) diff --git a/PWGLF/Tasks/LFNucleiBATask.cxx b/PWGLF/Tasks/LFNucleiBATask.cxx index d4ac8d44b06..bccec3ec7d9 100644 --- a/PWGLF/Tasks/LFNucleiBATask.cxx +++ b/PWGLF/Tasks/LFNucleiBATask.cxx @@ -90,10 +90,30 @@ struct LFNucleiBATask { if (doprocessMCReco) { histos.add("tracks/proton/h1ProtonSpectraTrue", "#it{p}_{T} (p)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/proton/h1ProtonSpectraTruePrim", "#it{p}_{T} (p)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/proton/h1ProtonSpectraTrueSec", "#it{p}_{T} (p)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/proton/h1ProtonSpectraTrueTransport", "#it{p}_{T} (p)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/proton/h1antiProtonSpectraTrue", "#it{p}_{T} (p)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/proton/h1antiProtonSpectraTruePrim", "#it{p}_{T} (p)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/proton/h1antiProtonSpectraTrueSec", "#it{p}_{T} (p)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/proton/h1antiProtonSpectraTrueTransport", "#it{p}_{T} (p)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/deuteron/h1DeuteronSpectraTrue", "#it{p}_{T} (d)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/deuteron/h1DeuteronSpectraTruePrim", "#it{p}_{T} (d)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/deuteron/h1DeuteronSpectraTrueSec", "#it{p}_{T} (d)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/deuteron/h1DeuteronSpectraTrueTransport", "#it{p}_{T} (d)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/deuteron/h1antiDeuteronSpectraTrue", "#it{p}_{T} (d)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/deuteron/h1antiDeuteronSpectraTruePrim", "#it{p}_{T} (d)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/deuteron/h1antiDeuteronSpectraTrueSec", "#it{p}_{T} (d)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/deuteron/h1antiDeuteronSpectraTrueTransport", "#it{p}_{T} (d)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/helium/h1HeliumSpectraTrue", "#it{p}_{T} (He)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/helium/h1HeliumSpectraTruePrim", "#it{p}_{T} (He)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/helium/h1HeliumSpectraTrueSec", "#it{p}_{T} (He)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/helium/h1HeliumSpectraTrueTransport", "#it{p}_{T} (He)", HistType::kTH1F, {ptAxis}); + histos.add("tracks/helium/h1antiHeliumSpectraTrue", "#it{p}_{T} (He)", HistType::kTH1F, {ptAxis}); } @@ -205,7 +225,7 @@ struct LFNucleiBATask { histos.fill(HIST("tracks/helium/h2HeliumVspTNSigmaTPC"), track.pt(), track.nsigTPC3He()); // TOF - histos.fill(HIST("tracks/pion/h2PionVspTNSigmaTOF"), track.p(), track.nsigTOFPi()); + histos.fill(HIST("tracks/pion/h2PionVspTNSigmaTOF"), track.pt(), track.nsigTOFPi()); histos.fill(HIST("tracks/kaon/h2KaonVspTNSigmaTOF"), track.pt(), track.nsigTOFKa()); histos.fill(HIST("tracks/proton/h2ProtonVspTNSigmaTOF"), track.pt(), track.nsigTOFPr()); histos.fill(HIST("tracks/deuteron/h2DeuteronVspTNSigmaTOF"), track.pt(), track.nsigTOFD()); @@ -241,24 +261,58 @@ struct LFNucleiBATask { histos.fill(HIST("tracks/helium/h2TOFmass2HeliumVsPt"), massTOF * massTOF - fMassHelium * fMassHelium, track.pt()); } if constexpr (IsMC) { - track.pdgCode(); - track.isPhysicalPrimary(); - track.producedByGenerator(); + bool isPhysPrim = track.isPhysicalPrimary(); + bool isProdByGen = track.producedByGenerator(); + // PID - if (std::abs(track.pdgCode()) == PDGProton) + if (track.pdgCode() == PDGProton) { histos.fill(HIST("tracks/proton/h1ProtonSpectraTrue"), track.pt()); + if (isPhysPrim) + histos.fill(HIST("tracks/proton/h1ProtonSpectraTruePrim"), track.pt()); + if (!isPhysPrim && isProdByGen) + histos.fill(HIST("tracks/proton/h1ProtonSpectraTrueSec"), track.pt()); + if (!isPhysPrim && !isProdByGen) + histos.fill(HIST("tracks/proton/h1ProtonSpectraTrueTransport"), track.pt()); + } - if (std::abs(track.pdgCode()) == -PDGProton) + if (track.pdgCode() == -PDGProton) { histos.fill(HIST("tracks/proton/h1antiProtonSpectraTrue"), track.pt()); - - if (std::abs(track.pdgCode()) == PDGDeuteron) + if (isPhysPrim) + histos.fill(HIST("tracks/proton/h1antiProtonSpectraTruePrim"), track.pt()); + if (!isPhysPrim && isProdByGen) + histos.fill(HIST("tracks/proton/h1antiProtonSpectraTrueSec"), track.pt()); + if (!isPhysPrim && !isProdByGen) + histos.fill(HIST("tracks/proton/h1antiProtonSpectraTrueTransport"), track.pt()); + } + if (track.pdgCode() == PDGDeuteron) { histos.fill(HIST("tracks/deuteron/h1DeuteronSpectraTrue"), track.pt()); + if (isPhysPrim) + histos.fill(HIST("tracks/deuteron/h1DeuteronSpectraTruePrim"), track.pt()); + if (!isPhysPrim && isProdByGen) + histos.fill(HIST("tracks/deuteron/h1DeuteronSpectraTrueSec"), track.pt()); + if (!isPhysPrim && !isProdByGen) + histos.fill(HIST("tracks/deuteron/h1DeuteronSpectraTrueTransport"), track.pt()); + } - if (std::abs(track.pdgCode()) == -PDGDeuteron) + if (track.pdgCode() == -PDGDeuteron) { histos.fill(HIST("tracks/deuteron/h1antiDeuteronSpectraTrue"), track.pt()); + if (isPhysPrim) + histos.fill(HIST("tracks/deuteron/h1antiDeuteronSpectraTruePrim"), track.pt()); + if (!isPhysPrim && isProdByGen) + histos.fill(HIST("tracks/deuteron/h1antiDeuteronSpectraTrueSec"), track.pt()); + if (!isPhysPrim && !isProdByGen) + histos.fill(HIST("tracks/deuteron/h1antiDeuteronSpectraTrueTransport"), track.pt()); + } - if (std::abs(track.pdgCode()) == PDGHelium) + if (track.pdgCode() == PDGHelium) { histos.fill(HIST("tracks/helium/h1HeliumSpectraTrue"), track.pt()); + if (isPhysPrim) + histos.fill(HIST("tracks/helium/h1HeliumSpectraTruePrim"), track.pt()); + if (!isPhysPrim && isProdByGen) + histos.fill(HIST("tracks/helium/h1HeliumSpectraTrueSec"), track.pt()); + if (!isPhysPrim && !isProdByGen) + histos.fill(HIST("tracks/helium/h1HeliumSpectraTrueTransport"), track.pt()); + } } } } @@ -307,7 +361,7 @@ struct LFNucleiBATask { if (!isPhysPrim && !isProdByGen) histos.fill(HIST("spectraGen/histSecTransportPtKaon"), mcParticleGen.pt()); } - if (std::abs(mcParticleGen.pdgCode()) == PDGProton) { + if (mcParticleGen.pdgCode() == PDGProton) { histos.fill(HIST("spectraGen/histGenPtProton"), mcParticleGen.pt()); if (isPhysPrim) histos.fill(HIST("spectraGen/histGenPtProtonPrim"), mcParticleGen.pt()); @@ -316,7 +370,7 @@ struct LFNucleiBATask { if (!isPhysPrim && !isProdByGen) histos.fill(HIST("spectraGen/histSecTransportPtProton"), mcParticleGen.pt()); } - if (std::abs(mcParticleGen.pdgCode()) == -PDGProton) { + if (mcParticleGen.pdgCode() == -PDGProton) { histos.fill(HIST("spectraGen/histGenPtantiProton"), mcParticleGen.pt()); if (isPhysPrim) histos.fill(HIST("spectraGen/histGenPtantiProtonPrim"), mcParticleGen.pt());