From ea3140014177bd655384f4f649eb72df5fd7c046 Mon Sep 17 00:00:00 2001 From: Andrea Sofia Triolo Date: Thu, 25 Apr 2024 09:07:10 +0200 Subject: [PATCH] [PWGLF] nonPromptCascade task: Adding primary vertex position histograms --- PWGLF/DataModel/LFNonPromptCascadeTables.h | 10 ++++++++ PWGLF/Tasks/Strangeness/nonPromptCascade.cxx | 25 ++++++++++++++++++-- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/PWGLF/DataModel/LFNonPromptCascadeTables.h b/PWGLF/DataModel/LFNonPromptCascadeTables.h index 7b8d32c76f6..a1ddb7d7fee 100644 --- a/PWGLF/DataModel/LFNonPromptCascadeTables.h +++ b/PWGLF/DataModel/LFNonPromptCascadeTables.h @@ -24,6 +24,10 @@ namespace o2::aod { namespace NPCascadeTable { +DECLARE_SOA_COLUMN(PvX, pvX, float); +DECLARE_SOA_COLUMN(PvY, pvY, float); +DECLARE_SOA_COLUMN(PvZ, pvZ, float); + DECLARE_SOA_COLUMN(CascPt, cascPt, float); DECLARE_SOA_COLUMN(CascEta, cascEta, float); DECLARE_SOA_COLUMN(CascPhi, cascPhi, float); @@ -83,6 +87,9 @@ DECLARE_SOA_COLUMN(PDGcode, pdgCode, int); } // namespace NPCascadeTable DECLARE_SOA_TABLE(NPCascTable, "AOD", "NPCASCTABLE", + NPCascadeTable::PvX, + NPCascadeTable::PvY, + NPCascadeTable::PvZ, NPCascadeTable::CascPt, NPCascadeTable::CascEta, NPCascadeTable::CascPhi, @@ -126,6 +133,9 @@ DECLARE_SOA_TABLE(NPCascTable, "AOD", "NPCASCTABLE", NPCascadeTable::BachPionTOFNSigma) DECLARE_SOA_TABLE(NPCascTableMC, "AOD", "NPCASCTABLEMC", + NPCascadeTable::PvX, + NPCascadeTable::PvY, + NPCascadeTable::PvZ, NPCascadeTable::CascPt, NPCascadeTable::CascEta, NPCascadeTable::CascPhi, diff --git a/PWGLF/Tasks/Strangeness/nonPromptCascade.cxx b/PWGLF/Tasks/Strangeness/nonPromptCascade.cxx index d9b0fc15dd8..4a842d663c4 100644 --- a/PWGLF/Tasks/Strangeness/nonPromptCascade.cxx +++ b/PWGLF/Tasks/Strangeness/nonPromptCascade.cxx @@ -39,6 +39,9 @@ using namespace o2::framework::expressions; struct NPCascCandidate { int globalIndex; + float pvX; + float pvY; + float pvZ; float cascPt; float cascEta; float cascPhi; @@ -153,6 +156,10 @@ struct NonPromptCascadeTask { HistogramRegistry registry{ "registry", { + {"h_PV_x", "Primary vertex x;x (cm)", {HistType::kTH1D, {{100, -1., 1.}}}}, + {"h_PV_y", "Primary vertex y;y (cm)", {HistType::kTH1D, {{100, -1., 1.}}}}, + {"h_PV_z", "Primary vertex z;z (cm)", {HistType::kTH1D, {{100, -1., 1.}}}}, + {"h_dca_Omega", "DCA;DCA (cm)", {HistType::kTH1D, {{200, 0., .5}}}}, {"h_dcaxy_Omega", "DCA xy;DCA_{xy} (cm)", {HistType::kTH1D, {{200, -.5, .5}}}}, {"h_dcaz_Omega", "DCA z;DCA_{z} (cm)", {HistType::kTH1D, {{200, -.5, .5}}}}, @@ -410,6 +417,11 @@ struct NonPromptCascadeTask { continue; } + // PV + registry.fill(HIST("h_PV_x"), primaryVertex.getX()); + registry.fill(HIST("h_PV_y"), primaryVertex.getY()); + registry.fill(HIST("h_PV_z"), primaryVertex.getZ()); + // Omega masses = {o2::constants::physics::MassLambda0, o2::constants::physics::MassKPlus}; const auto massOmega = RecoDecay::m(momenta, masses); @@ -538,6 +550,7 @@ struct NonPromptCascadeTask { fillDauDCA(trackedCascade, bachelor, protonTrack, pionTrack, primaryVertex, isOmega, dDCA); candidates.emplace_back(NPCascCandidate{static_cast(track.globalIndex()), + primaryVertex.getX(), primaryVertex.getY(), primaryVertex.getZ(), track.pt(), track.eta(), track.phi(), mDCA.DCAxy, mDCA.DCAz, dDCA.protonDCAxy, dDCA.protonDCAz, dDCA.pionDCAxy, dDCA.pionDCAz, dDCA.bachDCAxy, dDCA.bachDCAz, cascCpa, v0Cpa, @@ -562,7 +575,8 @@ struct NonPromptCascadeTask { auto particle = mcParticles.iteratorAt(mcParticleId[i]); auto& c = candidates[i]; - NPCTableMC(c.cascPt, c.cascEta, c.cascPhi, + NPCTableMC(c.pvX, c.pvY, c.pvZ, + c.cascPt, c.cascEta, c.cascPhi, c.cascDCAxy, c.cascDCAz, c.protonDCAxy, c.protonDCAz, c.pionDCAxy, c.pionDCAz, c.bachDCAxy, c.bachDCAz, c.casccosPA, c.v0cosPA, c.massXi, c.massOmega, c.massV0, @@ -644,6 +658,11 @@ struct NonPromptCascadeTask { continue; } + // PV + registry.fill(HIST("h_PV_x"), primaryVertex.getX()); + registry.fill(HIST("h_PV_y"), primaryVertex.getY()); + registry.fill(HIST("h_PV_z"), primaryVertex.getZ()); + // Omega masses = {o2::constants::physics::MassLambda0, o2::constants::physics::MassKPlus}; const auto massOmega = RecoDecay::m(momenta, masses); @@ -764,6 +783,7 @@ struct NonPromptCascadeTask { fillDauDCA(trackedCascade, bachelor, protonTrack, pionTrack, primaryVertex, isOmega, dDCA); candidates.emplace_back(NPCascCandidate{static_cast(track.globalIndex()), + primaryVertex.getX(), primaryVertex.getY(), primaryVertex.getZ(), track.pt(), track.eta(), track.phi(), mDCA.DCAxy, mDCA.DCAz, dDCA.protonDCAxy, dDCA.protonDCAz, dDCA.pionDCAxy, dDCA.pionDCAz, dDCA.bachDCAxy, dDCA.bachDCAz, cascCpa, v0Cpa, @@ -778,7 +798,8 @@ struct NonPromptCascadeTask { for (auto& c : candidates) { - NPCTable(c.cascPt, c.cascEta, c.cascPhi, + NPCTable(c.pvX, c.pvY, c.pvZ, + c.cascPt, c.cascEta, c.cascPhi, c.cascDCAxy, c.cascDCAz, c.protonDCAxy, c.protonDCAz, c.pionDCAxy, c.pionDCAz, c.bachDCAxy, c.bachDCAz, c.casccosPA, c.v0cosPA, c.massXi, c.massOmega, c.massV0,