From aebb1cff7456dd4f3d93c28ce02af6ce73e84bb4 Mon Sep 17 00:00:00 2001 From: Roman Lietava Date: Thu, 4 Sep 2025 15:45:12 +0200 Subject: [PATCH 1/2] double count fix II --- PWGLF/Tasks/Strangeness/nonPromptCascade.cxx | 22 ++++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/PWGLF/Tasks/Strangeness/nonPromptCascade.cxx b/PWGLF/Tasks/Strangeness/nonPromptCascade.cxx index 9672a65d4f8..f6bdca85033 100644 --- a/PWGLF/Tasks/Strangeness/nonPromptCascade.cxx +++ b/PWGLF/Tasks/Strangeness/nonPromptCascade.cxx @@ -210,6 +210,7 @@ struct NonPromptCascadeTask { float mBz = 0.f; o2::vertexing::DCAFitterN<2> mDCAFitter; std::array mProcessCounter = {0, 0}; // {Tracked, All} + std::map mToiMap; void initCCDB(aod::BCsWithTimestamps::iterator const& bc) { @@ -299,9 +300,10 @@ struct NonPromptCascadeTask { return true; } - void zorroAccounting(const auto& collisions, auto& toiMap) + void zorroAccounting(const auto& collisions) { if (cfgSkimmedProcessing && mProcessCounter[0] != mProcessCounter[1]) { + mToiMap.clear(); int runNumber{-1}; for (const auto& coll : collisions) { auto bc = coll.template bc_as(); @@ -320,7 +322,7 @@ struct NonPromptCascadeTask { for (size_t i{0}; i < toivect.size(); i++) { toiMask += toivect[i] << i; } - toiMap[bc.globalBC()] = toiMask; + mToiMap[bc.globalBC()] = toiMask; } } } @@ -338,7 +340,7 @@ struct NonPromptCascadeTask { }; template - void fillCandidatesVector(CollisionType const&, TrackType const& tracks, auto const& cascades, auto& candidates, std::map toiMap = {}) + void fillCandidatesVector(CollisionType const&, TrackType const& tracks, auto const& cascades, auto& candidates) { const auto& getCascade = [](auto const& candidate) { @@ -543,8 +545,8 @@ struct NonPromptCascadeTask { o2::base::Propagator::Instance()->propagateToDCA(primaryVertex, ntCascadeTrack, mBz, 2.f, matCorr, &motherDCA); } uint32_t toiMask = 0x0; - if (toiMap.count(bc.globalBC())) { - toiMask = toiMap[bc.globalBC()]; + if (mToiMap.count(bc.globalBC())) { + toiMask = mToiMap[bc.globalBC()]; } candidates.emplace_back(NPCascCandidate{mcParticleID, trackedCascGlobalIndex, itsTrackGlobalIndex, candidate.collisionId(), matchingChi2, deltaPtITSCascade, deltaPtCascade, cascITSclsSize, hasReassociatedClusters, hasFakeReassociation, isGoodMatch, isGoodCascade, pdgCodeMom, itsTrackPDG, fromHF[0], fromHF[1], collision.numContrib(), cascPVContribs, collision.collisionTimeRes(), primaryVertex.getX(), primaryVertex.getY(), primaryVertex.getZ(), @@ -694,9 +696,8 @@ struct NonPromptCascadeTask { { mProcessCounter[0]++; fillMultHistos(collisions); - std::map toiMap; - zorroAccounting(collisions, toiMap); - fillCandidatesVector(collisions, tracks, trackedCascades, gCandidates, toiMap); + zorroAccounting(collisions); + fillCandidatesVector(collisions, tracks, trackedCascades, gCandidates); fillDataTable(gCandidates); } PROCESS_SWITCH(NonPromptCascadeTask, processTrackedCascadesData, "process cascades from strangeness tracking: Data analysis", false); @@ -706,9 +707,8 @@ struct NonPromptCascadeTask { aod::BCsWithTimestamps const&) { mProcessCounter[1]++; - std::map toiMap; - zorroAccounting(collisions, toiMap); - fillCandidatesVector(collisions, tracks, cascades, gCandidatesNT, toiMap); + zorroAccounting(collisions); + fillCandidatesVector(collisions, tracks, cascades, gCandidatesNT); fillDataTable(gCandidatesNT); } PROCESS_SWITCH(NonPromptCascadeTask, processCascadesData, "process cascades: Data analysis", false); From e64cc76fc106f39a58d7e44108c063f3297c3ebd Mon Sep 17 00:00:00 2001 From: Roman Lietava Date: Thu, 4 Sep 2025 15:57:20 +0200 Subject: [PATCH 2/2] mult histos to correct place --- PWGLF/Tasks/Strangeness/nonPromptCascade.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGLF/Tasks/Strangeness/nonPromptCascade.cxx b/PWGLF/Tasks/Strangeness/nonPromptCascade.cxx index f6bdca85033..ef261d822ff 100644 --- a/PWGLF/Tasks/Strangeness/nonPromptCascade.cxx +++ b/PWGLF/Tasks/Strangeness/nonPromptCascade.cxx @@ -695,7 +695,6 @@ struct NonPromptCascadeTask { aod::BCsWithTimestamps const&) { mProcessCounter[0]++; - fillMultHistos(collisions); zorroAccounting(collisions); fillCandidatesVector(collisions, tracks, trackedCascades, gCandidates); fillDataTable(gCandidates); @@ -707,6 +706,7 @@ struct NonPromptCascadeTask { aod::BCsWithTimestamps const&) { mProcessCounter[1]++; + fillMultHistos(collisions); zorroAccounting(collisions); fillCandidatesVector(collisions, tracks, cascades, gCandidatesNT); fillDataTable(gCandidatesNT);