From 2b746c8df62f367f77b8844bfff8bce872c7df67 Mon Sep 17 00:00:00 2001 From: Maria Paula Martins Palhares Date: Thu, 22 Jan 2026 18:48:57 +0100 Subject: [PATCH 1/2] Added cfgEvtSel kNoSameBunchPileup and kIsGoodZvtxFT0vsPV for OO analysis --- PWGLF/TableProducer/Nuspex/hyperRecoTask.cxx | 42 ++++++++++++++++++-- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/PWGLF/TableProducer/Nuspex/hyperRecoTask.cxx b/PWGLF/TableProducer/Nuspex/hyperRecoTask.cxx index 338f8bc971f..79903d2baea 100644 --- a/PWGLF/TableProducer/Nuspex/hyperRecoTask.cxx +++ b/PWGLF/TableProducer/Nuspex/hyperRecoTask.cxx @@ -179,6 +179,8 @@ struct hyperRecoTask { Configurable> cfgBetheBlochParams{"cfgBetheBlochParams", {betheBlochDefault[0], 1, 6, particleName, betheBlochParNames}, "TPC Bethe-Bloch parameterisation for He3"}; Configurable cfgCompensatePIDinTracking{"cfgCompensatePIDinTracking", true, "If true, divide tpcInnerParam by the electric charge"}; Configurable cfgMaterialCorrection{"cfgMaterialCorrection", static_cast(o2::base::Propagator::MatCorrType::USEMatCorrNONE), "Type of material correction"}; + Configurable cfgEvSelkNoSameBunchPileup{"cfgEvSelkNoSameBunchPileup", false, "Rejects collisions which are associated with the same found-by-T0 bunch crossing"}; + Configurable cfgEvSelkIsGoodZvtxFT0vsPV{"cfgEvSelkIsGoodZvtxFT0vsPV", false, "Verifies the consistency between the primary vertex z position from tracking and the z position of the PV from FT0 timing"}; // CCDB options Configurable d_bz_input{"d_bz", -999, "bz field, -999 is automatic"}; @@ -256,9 +258,11 @@ struct hyperRecoTask { hH4LMassBefSel = qaRegistry.add("hH4LMassBefSel", ";M (GeV/#it{c}^{2}); ", HistType::kTH1D, {{60, 3.76, 3.84}}); hH4LMassTracked = qaRegistry.add("hH4LMassTracked", ";M (GeV/#it{c}^{2}); ", HistType::kTH1D, {{60, 3.76, 3.84}}); - hEvents = qaRegistry.add("hEvents", ";Events; ", HistType::kTH1D, {{2, -0.5, 1.5}}); + hEvents = qaRegistry.add("hEvents", ";Events; ", HistType::kTH1D, {{4, -0.5, 3.5}}); hEvents->GetXaxis()->SetBinLabel(1, "All"); - hEvents->GetXaxis()->SetBinLabel(2, "Selected"); + hEvents->GetXaxis()->SetBinLabel(2, "sel8"); + hEvents->GetXaxis()->SetBinLabel(3, "kNoSameBunchPileup"); + hEvents->GetXaxis()->SetBinLabel(4, "kIsGoodZvtxFT0vsPV"); hEventsZorro = qaRegistry.add("hEventsZorro", ";Events; ", HistType::kTH1D, {{2, -0.5, 1.5}}); hEventsZorro->GetXaxis()->SetBinLabel(1, "Zorro before evsel"); @@ -365,12 +369,27 @@ struct hyperRecoTask { continue; } + hEvents->Fill(1.); + if (zorroSelected) { hEventsZorro->Fill(1.); } + if (cfgEvSelkNoSameBunchPileup) { + if (!collision.selection_bit(aod::evsel::kNoSameBunchPileup)) { + continue; + } + hEvents->Fill(2.); + } + + if (cfgEvSelkIsGoodZvtxFT0vsPV) { + if (!collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV)) { + continue; + } + hEvents->Fill(3.); + } + goodCollision[collision.globalIndex()] = true; - hEvents->Fill(1.); hZvtx->Fill(collision.posZ()); hCentFT0A->Fill(collision.centFT0A()); hCentFT0C->Fill(collision.centFT0C()); @@ -390,12 +409,27 @@ struct hyperRecoTask { } if (!collision.selection_bit(aod::evsel::kIsTriggerTVX) || !collision.selection_bit(aod::evsel::kNoTimeFrameBorder) || std::abs(collision.posZ()) > 10) continue; + + hEvents->Fill(1.); + + if (cfgEvSelkNoSameBunchPileup) { + if (!collision.selection_bit(aod::evsel::kNoSameBunchPileup)) { + continue; + } + hEvents->Fill(2.); + } + if (cfgEvSelkIsGoodZvtxFT0vsPV) { + if (!collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV)) { + continue; + } + hEvents->Fill(3.); + } + if (collision.has_mcCollision()) { isSurvEvSelCollision[collision.mcCollisionId()] = true; } goodCollision[collision.globalIndex()] = true; - hEvents->Fill(1.); hZvtx->Fill(collision.posZ()); hCentFT0A->Fill(collision.centFT0A()); hCentFT0C->Fill(collision.centFT0C()); From dce63b9598978d6e571d0c91c315bd870379a075 Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Thu, 22 Jan 2026 17:51:58 +0000 Subject: [PATCH 2/2] Please consider the following formatting changes --- PWGLF/TableProducer/Nuspex/hyperRecoTask.cxx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/PWGLF/TableProducer/Nuspex/hyperRecoTask.cxx b/PWGLF/TableProducer/Nuspex/hyperRecoTask.cxx index 79903d2baea..e58aed75ade 100644 --- a/PWGLF/TableProducer/Nuspex/hyperRecoTask.cxx +++ b/PWGLF/TableProducer/Nuspex/hyperRecoTask.cxx @@ -380,7 +380,7 @@ struct hyperRecoTask { continue; } hEvents->Fill(2.); - } + } if (cfgEvSelkIsGoodZvtxFT0vsPV) { if (!collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV)) { @@ -409,15 +409,15 @@ struct hyperRecoTask { } if (!collision.selection_bit(aod::evsel::kIsTriggerTVX) || !collision.selection_bit(aod::evsel::kNoTimeFrameBorder) || std::abs(collision.posZ()) > 10) continue; - + hEvents->Fill(1.); - + if (cfgEvSelkNoSameBunchPileup) { if (!collision.selection_bit(aod::evsel::kNoSameBunchPileup)) { continue; } hEvents->Fill(2.); - } + } if (cfgEvSelkIsGoodZvtxFT0vsPV) { if (!collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV)) { @@ -425,7 +425,7 @@ struct hyperRecoTask { } hEvents->Fill(3.); } - + if (collision.has_mcCollision()) { isSurvEvSelCollision[collision.mcCollisionId()] = true; }