diff --git a/Trigger/TrigSteer/DecisionHandling/src/RoRSeqFilter.cxx b/Trigger/TrigSteer/DecisionHandling/src/RoRSeqFilter.cxx index b50c771c4e3b745551f7f2575d0e5081c45a98b8..d1186a001c80d3ff45707fdf5886a9c0aced021f 100644 --- a/Trigger/TrigSteer/DecisionHandling/src/RoRSeqFilter.cxx +++ b/Trigger/TrigSteer/DecisionHandling/src/RoRSeqFilter.cxx @@ -7,14 +7,10 @@ #include "GaudiKernel/Property.h" - - RoRSeqFilter::RoRSeqFilter( const std::string& name, ISvcLocator* pSvcLocator ) : ::AthAlgorithm( name, pSvcLocator ) -{ - //declareProperty( "Property", m_nProperty ); -} +{} RoRSeqFilter::~RoRSeqFilter() {} @@ -63,12 +59,10 @@ StatusCode RoRSeqFilter::execute() { output->clear( SG::VIEW_ELEMENTS ); for ( auto inputHandle: inputHandles ) { - //auto inputHandle = SG::makeHandle( inputKey ); passCounter += copyPassing( *inputHandle, *output ); } - ATH_MSG_DEBUG( "Recording " << m_outputKeys[ 0 ].key() ); - //auto outputHandle = SG::makeHandle( m_outputKeys[ 0 ] ); + ATH_MSG_DEBUG( "Recording " << m_outputKeys[ 0 ].key() ); CHECK( outputHandles[0].record( std::move( output ) ) ); } else { @@ -82,7 +76,7 @@ StatusCode RoRSeqFilter::execute() { passCounter += copyPassing( *inputHandle, *output ); ATH_MSG_DEBUG( "Recording " << outputIndex << " " << m_outputKeys[ outputIndex ].key() ); - //auto outputHandle = SG::makeHandle( m_outputKeys[ outputIndex ] ); + CHECK( outputHandles[outputIndex].record( std::move( output ) ) ); outputIndex++; @@ -90,8 +84,7 @@ StatusCode RoRSeqFilter::execute() { } ATH_MSG_DEBUG( "Filter " << ( passCounter != 0 ? "passed" : "rejected") ); - //setFilterPassed( passCounter != 0 ); - setFilterPassed( true ); + setFilterPassed( passCounter != 0 ); return StatusCode::SUCCESS; } @@ -102,8 +95,10 @@ size_t RoRSeqFilter::copyPassing( const TrigCompositeUtils::DecisionContainer& i for ( const TrigCompositeUtils::Decision* i: input ) { TrigCompositeUtils::DecisionIDContainer objDecisions; - TrigCompositeUtils::passingIDs( i, objDecisions ); + TrigCompositeUtils::decisionIDs( i, objDecisions ); + ATH_MSG_DEBUG("Number of positive decisions " << objDecisions.size() ); + for ( TrigCompositeUtils::DecisionID id : objDecisions ) { ATH_MSG_DEBUG( "Positive decision " << HLT::Identifier( id ) ); } diff --git a/Trigger/TrigSteer/DecisionHandling/src/RoRSeqFilter.h b/Trigger/TrigSteer/DecisionHandling/src/RoRSeqFilter.h index 4d140f4a7e9a50bf8985dc0bff2ca19fbc02b1b3..0b7e6a9f8debcc7a9755e827fd820bd838562ad4 100644 --- a/Trigger/TrigSteer/DecisionHandling/src/RoRSeqFilter.h +++ b/Trigger/TrigSteer/DecisionHandling/src/RoRSeqFilter.h @@ -15,8 +15,8 @@ /** - * @class $(klass)s - * @brief + * @class Filtering algorithm for HLT step sequencer + * @brief Consumes multiple decision inputs and filters those that are labled with the required decision IDs **/ class RoRSeqFilter @@ -27,11 +27,10 @@ class RoRSeqFilter virtual ~RoRSeqFilter(); - //RoRSeqFilter &operator=(const RoRSeqFilter &alg); - - StatusCode initialize() override; - StatusCode execute() override; - StatusCode finalize() override; + + virtual StatusCode initialize() override; + virtual StatusCode execute() override; + virtual StatusCode finalize() override; private: RoRSeqFilter(); diff --git a/Trigger/TrigSteer/DecisionHandling/test/TrigCompositeUtils_test.cxx b/Trigger/TrigSteer/DecisionHandling/test/TrigCompositeUtils_test.cxx index 76999b56b3b9dcc096975946f0b6218cde09175e..079f71d761d6e991f9c92b75debcd53612f9fcec 100644 --- a/Trigger/TrigSteer/DecisionHandling/test/TrigCompositeUtils_test.cxx +++ b/Trigger/TrigSteer/DecisionHandling/test/TrigCompositeUtils_test.cxx @@ -30,6 +30,7 @@ int main() { for ( auto id: ids ) std::cout << id << " from d1\n"; + decisionIDs( d2, ids ); for ( auto id: ids ) diff --git a/Trigger/TrigSteer/L1Decoder/src/EMRoIsUnpackingTool.cxx b/Trigger/TrigSteer/L1Decoder/src/EMRoIsUnpackingTool.cxx index bd0ffa3c9ed7b927c271363a9f712800dbb40a1a..e306fc36ecae1a78fcdca4ad1e41f78e41303710 100644 --- a/Trigger/TrigSteer/L1Decoder/src/EMRoIsUnpackingTool.cxx +++ b/Trigger/TrigSteer/L1Decoder/src/EMRoIsUnpackingTool.cxx @@ -129,6 +129,10 @@ StatusCode EMRoIsUnpackingTool::unpack( const EventContext& ctx, if ( recRoI->passedThreshold( th->thresholdNumber() ) ) { ATH_MSG_DEBUG( "Passed Threshold name " << th->name() ); addChainsToDecision( HLT::Identifier( th->name() ), decision, activeChains ); + ATH_MSG_DEBUG( "Labeled object with chains: " << [&](){ + TrigCompositeUtils::DecisionIDContainer ids; + TrigCompositeUtils::decisionIDs( decision, ids ); + return std::vector<TrigCompositeUtils::DecisionID>( ids.begin(), ids.end() ); }() ); } } diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py b/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py index 5f7d4684aab2b905bf506870c31fd243ecfa3bd9..124d0c7f26e26f6e2aa81c1f90739804ff41671a 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py @@ -322,9 +322,10 @@ else: # ID algs can't run w/o views yet pass + +# CF construction step0 = parOR("step0", [ egammaCaloStep ] ) step1 = parOR("step1", [ egammaIDStep ] ) - steps = seqAND("HLTSteps", [ step0, step1 ] ) topSequence += steps