Bug in EventView/Sub-Slot graph traversal with nodes with multiple parents
This is a post-hoc issue: confirming that this was a Gaudi issue meant that I already had a fix available. However, I've created this ticket for the sake of bookkeeping.
Background: a section of the precedence graph can be treated as a re-usable subslot by informing the scheduler of the control flow node that should serve as the root. This allows EventView scheduling in the ATLAS HLT.
Issue: when a node of the graph (algorithm or CF node) has multiple parents, there is the potential for one of the parents to be within a subslot, and another not to be. This causes graph visitors to "escape" from the subslot and promote algorithms to ControlReady at inappropriate moments.
Use-case: ATLAS HLT re-run workflow - we configure an algorithm to run in sub-slots to analyse regions of interest from the level 1 trigger. However, this same algorithm is also attached to the CF graph in a conditional "re-run" section, that is only scheduled if the event is accepted by the HLT.