Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 66 additions & 12 deletions PWGLF/Tasks/LFNucleiBATask.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,30 @@ struct LFNucleiBATask {

if (doprocessMCReco) {
histos.add<TH1>("tracks/proton/h1ProtonSpectraTrue", "#it{p}_{T} (p)", HistType::kTH1F, {ptAxis});
histos.add<TH1>("tracks/proton/h1ProtonSpectraTruePrim", "#it{p}_{T} (p)", HistType::kTH1F, {ptAxis});
histos.add<TH1>("tracks/proton/h1ProtonSpectraTrueSec", "#it{p}_{T} (p)", HistType::kTH1F, {ptAxis});
histos.add<TH1>("tracks/proton/h1ProtonSpectraTrueTransport", "#it{p}_{T} (p)", HistType::kTH1F, {ptAxis});

histos.add<TH1>("tracks/proton/h1antiProtonSpectraTrue", "#it{p}_{T} (p)", HistType::kTH1F, {ptAxis});
histos.add<TH1>("tracks/proton/h1antiProtonSpectraTruePrim", "#it{p}_{T} (p)", HistType::kTH1F, {ptAxis});
histos.add<TH1>("tracks/proton/h1antiProtonSpectraTrueSec", "#it{p}_{T} (p)", HistType::kTH1F, {ptAxis});
histos.add<TH1>("tracks/proton/h1antiProtonSpectraTrueTransport", "#it{p}_{T} (p)", HistType::kTH1F, {ptAxis});

histos.add<TH1>("tracks/deuteron/h1DeuteronSpectraTrue", "#it{p}_{T} (d)", HistType::kTH1F, {ptAxis});
histos.add<TH1>("tracks/deuteron/h1DeuteronSpectraTruePrim", "#it{p}_{T} (d)", HistType::kTH1F, {ptAxis});
histos.add<TH1>("tracks/deuteron/h1DeuteronSpectraTrueSec", "#it{p}_{T} (d)", HistType::kTH1F, {ptAxis});
histos.add<TH1>("tracks/deuteron/h1DeuteronSpectraTrueTransport", "#it{p}_{T} (d)", HistType::kTH1F, {ptAxis});

histos.add<TH1>("tracks/deuteron/h1antiDeuteronSpectraTrue", "#it{p}_{T} (d)", HistType::kTH1F, {ptAxis});
histos.add<TH1>("tracks/deuteron/h1antiDeuteronSpectraTruePrim", "#it{p}_{T} (d)", HistType::kTH1F, {ptAxis});
histos.add<TH1>("tracks/deuteron/h1antiDeuteronSpectraTrueSec", "#it{p}_{T} (d)", HistType::kTH1F, {ptAxis});
histos.add<TH1>("tracks/deuteron/h1antiDeuteronSpectraTrueTransport", "#it{p}_{T} (d)", HistType::kTH1F, {ptAxis});

histos.add<TH1>("tracks/helium/h1HeliumSpectraTrue", "#it{p}_{T} (He)", HistType::kTH1F, {ptAxis});
histos.add<TH1>("tracks/helium/h1HeliumSpectraTruePrim", "#it{p}_{T} (He)", HistType::kTH1F, {ptAxis});
histos.add<TH1>("tracks/helium/h1HeliumSpectraTrueSec", "#it{p}_{T} (He)", HistType::kTH1F, {ptAxis});
histos.add<TH1>("tracks/helium/h1HeliumSpectraTrueTransport", "#it{p}_{T} (He)", HistType::kTH1F, {ptAxis});

histos.add<TH1>("tracks/helium/h1antiHeliumSpectraTrue", "#it{p}_{T} (He)", HistType::kTH1F, {ptAxis});
}

Expand Down Expand Up @@ -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());
Expand Down Expand Up @@ -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());
}
}
}
}
Expand Down Expand Up @@ -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());
Expand All @@ -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());
Expand Down