From 46de7dc9b1d47157734f0d3851c56816593da4d1 Mon Sep 17 00:00:00 2001 From: Meiyi Chen Date: Fri, 6 Nov 2026 18:05:20 +0100 Subject: [PATCH 1/2] Update HadNucleiFemto.cxx --- .../TableProducer/HadNucleiFemto.cxx | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/PWGCF/Femto/FemtoNuclei/TableProducer/HadNucleiFemto.cxx b/PWGCF/Femto/FemtoNuclei/TableProducer/HadNucleiFemto.cxx index 6a77e7bd814..24818ee5cd0 100644 --- a/PWGCF/Femto/FemtoNuclei/TableProducer/HadNucleiFemto.cxx +++ b/PWGCF/Femto/FemtoNuclei/TableProducer/HadNucleiFemto.cxx @@ -623,7 +623,8 @@ struct HadNucleiFemto { // cppcheck-suppress unusedStructMember std::string prefix{"zorro"}; // Zorro - Configurable settingSkimmedProcessing{"settingSkimmedProcessing", false, "Skimmed dataset processing"}; + Configurable settingSkimmedProcessing{"settingSkimmedProcessing", false, "Use the pair-specific fHe or fTritonFemto Zorro trigger"}; + Configurable settingUseHighFt0MultTrigger{"settingUseHighFt0MultTrigger", false, "Select events with the fHighFt0Mult Zorro trigger instead of the pair-specific trigger"}; } zorro; struct : o2::framework::ConfigurableGroup { @@ -1041,7 +1042,7 @@ struct HadNucleiFemto { return; } if constexpr (!isMC) { - if (zorro.settingSkimmedProcessing) { + if (useZorroSelection()) { mZorro.initCCDB(mCcdb.service, bc.runNumber(), bc.timestamp(), zorroTriggerMask()); mZorro.populateHistRegistry(mQaRegistry, bc.runNumber()); } @@ -1113,7 +1114,7 @@ struct HadNucleiFemto { template bool passesZorroSelection(const Tcollision& collision) { - if (!zorro.settingSkimmedProcessing) { + if (!useZorroSelection()) { return true; } auto bc = collision.template bc_as(); @@ -1132,7 +1133,7 @@ struct HadNucleiFemto { mQaRegistry.fill(HIST("hEvents"), 1); if constexpr (!isMC) { - if (zorro.settingSkimmedProcessing) { + if (useZorroSelection()) { if (!passesZorroSelection(collision)) { return false; } @@ -1289,10 +1290,19 @@ struct HadNucleiFemto { const char* zorroTriggerMask() const { + if (zorro.settingUseHighFt0MultTrigger.value) { + return "fHighFt0Mult"; + } if (useTritonNucleus()) { return "fTritonFemto"; } - return useHelium3Nucleus() ? "fHe" : "fDe"; + return "fHe"; + } + + bool useZorroSelection() const + { + return zorro.settingUseHighFt0MultTrigger.value || + (zorro.settingSkimmedProcessing.value && (useHelium3Nucleus() || useTritonNucleus())); } const char* nucleusBetheBlochLabel() const From a2ee1475f7ff5b4f49742a847bd2cdc5d5a79324 Mon Sep 17 00:00:00 2001 From: Meiyi Chen Date: Fri, 6 Nov 2026 18:52:45 +0100 Subject: [PATCH 2/2] Update HadNucleiFemto.cxx --- .../TableProducer/HadNucleiFemto.cxx | 22 +++++-------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/PWGCF/Femto/FemtoNuclei/TableProducer/HadNucleiFemto.cxx b/PWGCF/Femto/FemtoNuclei/TableProducer/HadNucleiFemto.cxx index 24818ee5cd0..a6e71890aed 100644 --- a/PWGCF/Femto/FemtoNuclei/TableProducer/HadNucleiFemto.cxx +++ b/PWGCF/Femto/FemtoNuclei/TableProducer/HadNucleiFemto.cxx @@ -623,8 +623,9 @@ struct HadNucleiFemto { // cppcheck-suppress unusedStructMember std::string prefix{"zorro"}; // Zorro - Configurable settingSkimmedProcessing{"settingSkimmedProcessing", false, "Use the pair-specific fHe or fTritonFemto Zorro trigger"}; - Configurable settingUseHighFt0MultTrigger{"settingUseHighFt0MultTrigger", false, "Select events with the fHighFt0Mult Zorro trigger instead of the pair-specific trigger"}; + Configurable settingEnableTriggerSelection{"settingEnableTriggerSelection", false, "Enable Zorro event selection for the configured software triggers"}; + Configurable settingSoftwareTriggerNames{"settingSoftwareTriggerNames", "fHighFt0Mult", "Software trigger names, separated by commas (OR selection)"}; + Configurable settingBaseCCDBPathForTriggers{"settingBaseCCDBPathForTriggers", "EventFiltering/Zorro/", "CCDB path for Zorro trigger information"}; } zorro; struct : o2::framework::ConfigurableGroup { @@ -1043,7 +1044,8 @@ struct HadNucleiFemto { } if constexpr (!isMC) { if (useZorroSelection()) { - mZorro.initCCDB(mCcdb.service, bc.runNumber(), bc.timestamp(), zorroTriggerMask()); + mZorro.setBaseCCDBPath(zorro.settingBaseCCDBPathForTriggers.value); + mZorro.initCCDB(mCcdb.service, bc.runNumber(), bc.timestamp(), zorro.settingSoftwareTriggerNames.value); mZorro.populateHistRegistry(mQaRegistry, bc.runNumber()); } } @@ -1288,21 +1290,9 @@ struct HadNucleiFemto { return species.settingNuPDGCode.value == He3PDG; } - const char* zorroTriggerMask() const - { - if (zorro.settingUseHighFt0MultTrigger.value) { - return "fHighFt0Mult"; - } - if (useTritonNucleus()) { - return "fTritonFemto"; - } - return "fHe"; - } - bool useZorroSelection() const { - return zorro.settingUseHighFt0MultTrigger.value || - (zorro.settingSkimmedProcessing.value && (useHelium3Nucleus() || useTritonNucleus())); + return zorro.settingEnableTriggerSelection.value; } const char* nucleusBetheBlochLabel() const