From f31dd345a0a27c075dcc59ad2f8e9d92bfbfeb5e Mon Sep 17 00:00:00 2001 From: Anton Riedel Date: Tue, 27 Jan 2026 13:47:10 +0100 Subject: [PATCH] Feat: add granular event selection --- EventFiltering/PWGCF/CFFilterAll.cxx | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/EventFiltering/PWGCF/CFFilterAll.cxx b/EventFiltering/PWGCF/CFFilterAll.cxx index 84807d4d257..8e0bfe2e119 100644 --- a/EventFiltering/PWGCF/CFFilterAll.cxx +++ b/EventFiltering/PWGCF/CFFilterAll.cxx @@ -140,7 +140,10 @@ struct CFFilterAll { struct : ConfigurableGroup { std::string prefix = "EventSel"; Configurable zvtx{"zvtx", 10.f, "Max. z-Vertex (cm)"}; - Configurable eventSel{"eventSel", true, "Use sel8"}; + Configurable useSel8{"useSel8", true, "Use sel8"}; + Configurable useIsTriggerTvx{"useIsTriggerTvx", false, "Use TVX trigger"}; + Configurable useNoTimeFrameBorder{"useNoTimeFrameBorder", false, "Use time frame border cut"}; + Configurable useNoItsRofFrameBorder{"useNoItsRofFrameBorder", false, "Use ITS ROF border cut"}; } EventSelection; // Configs for tracks @@ -1051,7 +1054,18 @@ struct CFFilterAll { if (std::abs(col.posZ()) > EventSelection.zvtx.value) { return false; } - if (EventSelection.eventSel.value && !col.sel8()) { + // full cut on sel 8 + if (EventSelection.useSel8.value && !col.sel8()) { + return false; + } + // allow cut on components of sel8 in case we dont need ROF cut in 2026 anymore + if (EventSelection.useIsTriggerTvx.value && !col.selection_bit(aod::evsel::kIsTriggerTVX)) { + return false; + } + if (EventSelection.useNoTimeFrameBorder.value && !col.selection_bit(aod::evsel::kNoTimeFrameBorder)) { + return false; + } + if (EventSelection.useNoItsRofFrameBorder.value && !col.selection_bit(aod::evsel::kNoITSROFrameBorder)) { return false; } return true;