diff --git a/Trigger/TrigSteer/DecisionHandling/src/RoRSeqFilter.cxx b/Trigger/TrigSteer/DecisionHandling/src/RoRSeqFilter.cxx index 2876e30e74e221bb24cf7f241c15dcabcfb64f6a..2e95d1959e3968b4764a02aec9c3451f5a5ea444 100644 --- a/Trigger/TrigSteer/DecisionHandling/src/RoRSeqFilter.cxx +++ b/Trigger/TrigSteer/DecisionHandling/src/RoRSeqFilter.cxx @@ -160,9 +160,9 @@ StatusCode RoRSeqFilter::execute( const EventContext& ctx ) const { if ( inputHandles[inputIndex].isValid() and not inputHandles[inputIndex]->empty() ) { ATH_MSG_DEBUG( "Checking inputHandle: "<< inputHandles[inputIndex].key() <<" has " << inputHandles[inputIndex]->size() <<" elements"); if ( not m_chainsPerInput.empty() ) { - passCounter += copyPassing( *inputHandles[inputIndex], *output, m_chainsPerInput[inputIndex] ); + passCounter += copyPassing( *inputHandles[inputIndex], *output, m_chainsPerInput[inputIndex], ctx ); } else { - passCounter += copyPassing( *inputHandles[inputIndex], *output, m_chains ); + passCounter += copyPassing( *inputHandles[inputIndex], *output, m_chains, ctx ); } ATH_MSG_DEBUG( "Recorded output key " << m_outputKeys[ outputIndex ].key() <<" of size "<<output->size() <<" at index "<< outputIndex); } @@ -183,7 +183,8 @@ StatusCode RoRSeqFilter::execute( const EventContext& ctx ) const { } size_t RoRSeqFilter::copyPassing( const DecisionContainer& input, - DecisionContainer& output, const std::set<HLT::Identifier>& topass ) const { + DecisionContainer& output, const std::set<HLT::Identifier>& topass, + const EventContext& ctx ) const { size_t passCounter = 0; for (size_t i = 0; i < input.size(); ++i) { const Decision* inputDecision = input.at(i); @@ -200,7 +201,7 @@ size_t RoRSeqFilter::copyPassing( const DecisionContainer& input, if ( not intersection.empty() ) { // This sets up the 'self' link & the 'seed' link (seeds from inputDecision) - Decision* decisionCopy = newDecisionIn( &output, inputDecision, "F" ); + Decision* decisionCopy = newDecisionIn( &output, inputDecision, "F", ctx ); // Copy accross only the DecisionIDs which have passed through this Filter for this Decision object. // WARNING: Still need to 100% confirm if the correct set to propagate forward is objDecisions or intersection. diff --git a/Trigger/TrigSteer/DecisionHandling/src/RoRSeqFilter.h b/Trigger/TrigSteer/DecisionHandling/src/RoRSeqFilter.h index 6fc374e0b55e2de76cea35403811d2bca7f87b73..ea0846269006eb9c8aa497511163c11adce9b9d8 100644 --- a/Trigger/TrigSteer/DecisionHandling/src/RoRSeqFilter.h +++ b/Trigger/TrigSteer/DecisionHandling/src/RoRSeqFilter.h @@ -91,9 +91,10 @@ class RoRSeqFilter * at least one of the chains which this filter algorithm is configured for. This new object is linked to its * parent and stored in the output collection. It will form the starting point for the next Step. **/ - size_t copyPassing( const TrigCompositeUtils::DecisionContainer& input, - TrigCompositeUtils::DecisionContainer& output, const std::set<HLT::Identifier>& topass) const; - + size_t copyPassing( const TrigCompositeUtils::DecisionContainer& input, + TrigCompositeUtils::DecisionContainer& output, + const std::set<HLT::Identifier>& topass, + const EventContext& ctx) const; ToolHandle<GenericMonitoringTool> m_monTool{ this, "MonTool", "", "Filter I/O monitoring" }; };