From ac0fe07faf33cf5f8acc34b93592feb798405a0d Mon Sep 17 00:00:00 2001
From: scott snyder <scott.snyder@cern.ch>
Date: Tue, 17 Jul 2018 16:59:39 +0200
Subject: [PATCH] AthenaCommon: Reorganize streams to fix event filtering.

Event filtering was broken because the contents of athFilterSeq were
being unrolled into athMasterSeq, which in turn had StopOverride set
in order to ensure that registration always gets run.

Remove the unrolling, and move athRegStreams to athMasterSeq.
---
 Control/AthenaCommon/python/AppMgr.py | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/Control/AthenaCommon/python/AppMgr.py b/Control/AthenaCommon/python/AppMgr.py
index 55bcdb2f003..35389b0641f 100755
--- a/Control/AthenaCommon/python/AppMgr.py
+++ b/Control/AthenaCommon/python/AppMgr.py
@@ -299,10 +299,7 @@ class AthAppMgr( AppMgr ):
          ipa2=IPA("IncidentProcAlg2")
          athEndSeq += ipa2
 
-         # unroll AthFilterSeq to save some function calls and
-         # stack size on the C++ side
-         for c in athFilterSeq.getChildren():
-            athMasterSeq += c
+         athMasterSeq += athFilterSeq
 
          # XXX: should we discard empty sequences ?
          #      might save some CPU and memory...
@@ -324,8 +321,8 @@ class AthAppMgr( AppMgr ):
          athAlgEvtSeq += athAllAlgSeq
          athAlgEvtSeq += athEndSeq
 
-         athMasterSeq += athAlgEvtSeq
-         athMasterSeq += athOutSeq
+         athFilterSeq += athAlgEvtSeq
+         athFilterSeq += athOutSeq
          athMasterSeq += athRegSeq
          
          Logging.log.debug ("building master sequence... [done]")
@@ -975,8 +972,8 @@ def AuditorSvc():             # backwards compatibility
 #                        +--- athEndSeq
 #                |
 #                +--- athOutSeq
-#                |
-#                +--- athRegStreams
+#         |
+#         +--- athRegStreams
 athMasterSeq = AlgSequence.AthSequencer( "AthMasterSeq" )
 athFilterSeq = AlgSequence.AthSequencer( "AthFilterSeq" )
 athCondSeq   = AlgSequence.AthSequencer( "AthCondSeq" )
-- 
GitLab