From 54184a835747fd3b14574d16c5d1f938659a8b44 Mon Sep 17 00:00:00 2001
From: fsouzade <fsouzade@pluscc02.lbdaq.cern.ch>
Date: Tue, 23 Nov 2021 15:47:30 +0100
Subject: [PATCH] Fix AlgFlowManager ignoring filter passed

---
 Online/GaudiOnline/components/ControlFlowNode.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/Online/GaudiOnline/components/ControlFlowNode.h b/Online/GaudiOnline/components/ControlFlowNode.h
index 34b62d8e6..deaed632c 100644
--- a/Online/GaudiOnline/components/ControlFlowNode.h
+++ b/Online/GaudiOnline/components/ControlFlowNode.h
@@ -54,6 +54,10 @@ namespace Online {
 
     bool isExecuted( LHCb::span<AlgState const> AlgoStates ) const { return AlgoStates[m_executedIndex].isExecuted; }
 
+    bool getFilterPassed( LHCb::span<AlgState const> AlgoStates ) const {
+      return AlgoStates[m_executedIndex].filterPassed;
+    }
+
     void setIndex( uint16_t i ) { m_executedIndex = i; }
 
     void execute( EventContext& evtCtx, LHCb::span<AlgState> AlgoStates ) const {
@@ -138,7 +142,7 @@ namespace Online {
       // the last of m_requiredAlgs is our own Algorithm, depending on which we want to set
       // executionCtr and passed flag of this node
       NodeStates[m_NodeID].executionCtr--;
-      NodeStates[m_NodeID].passed = m_RequiredAlgs.back().passed();
+      NodeStates[m_NodeID].passed = m_RequiredAlgs.back().getFilterPassed( AlgStates );
 
     } // end of execute
 
-- 
GitLab