From 72ad91fef66c8fb887138f2d49830997da222dac Mon Sep 17 00:00:00 2001 From: Himanshu Sharma Date: Wed, 18 Mar 2026 12:58:27 +0100 Subject: [PATCH] Add nPVcontributors in THnSparse --- PWGHF/D2H/Tasks/taskD0.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/PWGHF/D2H/Tasks/taskD0.cxx b/PWGHF/D2H/Tasks/taskD0.cxx index c7064ab0c67..64d228b45d7 100644 --- a/PWGHF/D2H/Tasks/taskD0.cxx +++ b/PWGHF/D2H/Tasks/taskD0.cxx @@ -369,6 +369,7 @@ struct HfTaskD0 { axes.push_back(thnAxisFDDC); axes.push_back(thnAxisZNA); axes.push_back(thnAxisZNC); + axes.push_back(thnAxisNumPvContr); } if (applyMl) { @@ -591,6 +592,7 @@ struct HfTaskD0 { // Determine gap type using SGSelector with BC range checking const auto gapResult = hf_upc::determineGapType(collision, bcs, upcThresholds); const int gap = gapResult.value; + const auto numPvContributors = collision.numContrib(); // Use the BC with FIT activity if available from SGSelector auto bcForUPC = bc; @@ -652,7 +654,7 @@ struct HfTaskD0 { // Fill THnSparse with structure matching histogram axes: [mass, pt, (mlScores if FillMl), rapidity, d0Type, (cent if storeCentrality), (occ, ir if storeOccupancyAndIR), gapType, FT0A, FT0C, FV0A, FDDA, FDDC, ZNA, ZNC] auto fillTHnData = [&](float mass, int d0Type) { // Pre-calculate vector size to avoid reallocations - constexpr int NAxesBase = 12; // mass, pt, rapidity, d0Type, gapType, FT0A, FT0C, FV0A, FDDA, FDDC, ZNA, ZNC + constexpr int NAxesBase = 13; // mass, pt, rapidity, d0Type, gapType, FT0A, FT0C, FV0A, FDDA, FDDC, ZNA, ZNC, nPVcontr constexpr int NAxesMl = FillMl ? 3 : 0; // 3 ML scores if FillMl int const nAxesCent = storeCentrality ? 1 : 0; // centrality if storeCentrality int const nAxesOccIR = storeOccupancyAndIR ? 2 : 0; // occupancy and IR if storeOccupancyAndIR @@ -686,6 +688,7 @@ struct HfTaskD0 { valuesToFill.push_back(static_cast(fitInfo.ampFDDC)); valuesToFill.push_back(static_cast(zdcEnergyZNA)); valuesToFill.push_back(static_cast(zdcEnergyZNC)); + valuesToFill.push_back(static_cast(numPvContributors)); if constexpr (FillMl) { registry.get(HIST("hBdtScoreVsMassVsPtVsPtBVsYVsOriginVsD0Type"))->Fill(valuesToFill.data());