From c966c87dfb9e619534a7080678df74bb37b5709b Mon Sep 17 00:00:00 2001 From: Valerio Di Bella Date: Thu, 26 Feb 2026 15:04:26 +0100 Subject: [PATCH] clean error + add histograms --- .../correlatorDplusDplusReduced.cxx | 22 +++++++++---------- .../taskCorrelationDplusDplusReduced.cxx | 18 ++++++++++++--- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorDplusDplusReduced.cxx b/PWGHF/HFC/TableProducer/correlatorDplusDplusReduced.cxx index 306d2d494e8..141e486f635 100644 --- a/PWGHF/HFC/TableProducer/correlatorDplusDplusReduced.cxx +++ b/PWGHF/HFC/TableProducer/correlatorDplusDplusReduced.cxx @@ -114,21 +114,21 @@ struct HfCorrelatorDplusDplusReduced { collision.posZ()); } - template + template void fillCandidateTable(const T& candidate, int localEvIdx = -1, int sign = 1) { int8_t flagMc = 0; int8_t originMc = 0; int8_t channelMc = 0; - if constexpr (doMc) { + if constexpr (DoMc) { flagMc = candidate.flagMcMatchRec(); originMc = candidate.originMcRec(); channelMc = candidate.flagMcDecayChanRec(); } std::vector outputMl = {-999., -999.}; - if constexpr (doMl) { + if constexpr (DoMl) { for (unsigned int iclass = 0; iclass < classMlIndexes->size(); iclass++) { outputMl[iclass] = candidate.mlProbDplusToPiKPi()[classMlIndexes->at(iclass)]; } @@ -283,7 +283,7 @@ struct HfCorrelatorDplusDplusReduced { } } - void processData(aod::Collisions const& collisions, SelectedCandidates const& candidates, aod::Tracks const&) + void processData(aod::Collisions const& collisions, SelectedCandidates const& candidates, aod::Tracks const&, aod::BCsWithTimestamps const&) { static int lastRunNumber = -1; // reserve memory @@ -315,16 +315,16 @@ struct HfCorrelatorDplusDplusReduced { continue; fillEvent(collision); for (const auto& candidate : candidatesInThisCollision) { - auto prong_candidate = candidate.prong1_as(); - auto candidate_sign = prong_candidate.sign(); - fillCandidateTable(candidate, rowCandidateFullEvents.lastIndex(), candidate_sign); + auto prongCandidate = candidate.prong1_as(); + auto candidateSign = -prongCandidate.sign(); + fillCandidateTable(candidate, rowCandidateFullEvents.lastIndex(), candidateSign); } } } PROCESS_SWITCH(HfCorrelatorDplusDplusReduced, processData, "Process data per collision", false); void processMcRec(aod::Collisions const& collisions, - SelectedCandidatesMc const& candidates) + SelectedCandidatesMc const& candidates, aod::Tracks const&) { // reserve memory rowCandidateFullEvents.reserve(collisions.size()); @@ -342,9 +342,9 @@ struct HfCorrelatorDplusDplusReduced { continue; fillEvent(collision); for (const auto& candidate : candidatesInThisCollision) { - auto prong_candidate = candidate.prong1_as(); - auto candidate_sign = prong_candidate.sign(); - fillCandidateTable(candidate, rowCandidateFullEvents.lastIndex(), candidate_sign); + auto prongCandidate = candidate.prong1_as(); + auto candidateSign = -prongCandidate.sign(); + fillCandidateTable(candidate, rowCandidateFullEvents.lastIndex(), candidateSign); } } } diff --git a/PWGHF/HFC/Tasks/taskCorrelationDplusDplusReduced.cxx b/PWGHF/HFC/Tasks/taskCorrelationDplusDplusReduced.cxx index 926e2a111e5..c37c1f73feb 100644 --- a/PWGHF/HFC/Tasks/taskCorrelationDplusDplusReduced.cxx +++ b/PWGHF/HFC/Tasks/taskCorrelationDplusDplusReduced.cxx @@ -55,7 +55,9 @@ struct HfTaskCorrelationDplusDplusReduced { void init(InitContext const&) { registry.add("hMassDplus", "D+ candidates;inv. mass (#pi#pi K) (GeV/#it{c}^{2}))", {HistType::kTH1F, {{120, 1.5848, 2.1848}}}); + registry.add("hMassDminus", "D- candidates;inv. mass (#pi#pi K) (GeV/#it{c}^{2}))", {HistType::kTH1F, {{120, 1.5848, 2.1848}}}); registry.add("hMassDplusMatched", "D+ matched candidates;inv. mass (#pi#pi K) (GeV/#it{c}^{2}))", {HistType::kTH1F, {{120, 1.5848, 2.1848}}}); + registry.add("hMassDminusMatched", "D- matched candidates;inv. mass (#pi#pi K) (GeV/#it{c}^{2}))", {HistType::kTH1F, {{120, 1.5848, 2.1848}}}); registry.add("hMassDplusminusPair", "D plus-minus pair candidates;inv. mass (#pi K) (GeV/#it{c}^{2});inv. mass (#pi K) (GeV/#it{c}^{2})", {HistType::kTH2F, {{120, 1.5848, 2.1848}, {120, 1.5848, 2.1848}}}); registry.add("hMassDplusPair", "D plus pair candidates;inv. mass (#pi K) (GeV/#it{c}^{2});inv. mass (#pi K) (GeV/#it{c}^{2})", {HistType::kTH2F, {{120, 1.5848, 2.1848}, {120, 1.5848, 2.1848}}}); registry.add("hMassDminusPair", "D minus pair candidates;inv. mass (#pi K) (GeV/#it{c}^{2});inv. mass (#pi K) (GeV/#it{c}^{2})", {HistType::kTH2F, {{120, 1.5848, 2.1848}, {120, 1.5848, 2.1848}}}); @@ -72,7 +74,11 @@ struct HfTaskCorrelationDplusDplusReduced { auto sign1 = 1; if (cand1.pt() < 0) { sign1 = -1; + registry.fill(HIST("hMassDminus"), mass1); + } else { + registry.fill(HIST("hMassDplus"), mass1); } + for (auto cand2 = cand1 + 1; cand2 != localCandidates.end(); ++cand2) { auto mass2 = cand2.m(); auto sign2 = 1; @@ -100,9 +106,15 @@ struct HfTaskCorrelationDplusDplusReduced { for (const auto& cand1 : localCandidates) { auto mass1 = cand1.m(); - registry.fill(HIST("hMassDplus"), mass1); - if (std::abs(cand1.flagMcMatchRec()) == hf_decay::hf_cand_3prong::DecayChannelMain::DplusToPiKPi) - registry.fill(HIST("hMassDplusMatched"), mass1); + if (cand1.pt() < 0) { + registry.fill(HIST("hMassDminus"), mass1); + if (std::abs(cand1.flagMcMatchRec()) == hf_decay::hf_cand_3prong::DecayChannelMain::DplusToPiKPi) + registry.fill(HIST("hMassDminusMatched"), mass1); + } else { + registry.fill(HIST("hMassDplus"), mass1); + if (std::abs(cand1.flagMcMatchRec()) == hf_decay::hf_cand_3prong::DecayChannelMain::DplusToPiKPi) + registry.fill(HIST("hMassDplusMatched"), mass1); + } } } PROCESS_SWITCH(HfTaskCorrelationDplusDplusReduced, processLocalDataMcRec, "Process local MC data", false);