diff --git a/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoniMT.cxx b/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoniMT.cxx index 77e7b17d16da8dd67adb15d47fc422c4d543bfd3..07d57aaa70ce2b534127b979c69ad44396655a6d 100644 --- a/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoniMT.cxx +++ b/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoniMT.cxx @@ -72,8 +72,10 @@ StatusCode TrigSignatureMoniMT::fillChains(const TrigCompositeUtils::DecisionIDC auto id2bin = m_chainIDToBinMap.find( id ); if ( id2bin == m_chainIDToBinMap.end() ) { ATH_MSG_WARNING( "HLT chain " << HLT::Identifier(id) << " not configured to be monitred" ); + } else { + ATH_MSG_DEBUG( "Passed " << id2bin->second << " " << row ); + m_outputHistogram->Fill( id2bin->second, double(row) ); } - m_outputHistogram->Fill( id2bin->second, double(row) ); } return StatusCode::SUCCESS; } @@ -86,8 +88,9 @@ StatusCode TrigSignatureMoniMT::execute() { CHECK( l1Decisions->at( 1 )->name() == "unprescaled" ); // see L1Decoder implementation auto fillL1 = [&]( int index ) -> StatusCode { - TrigCompositeUtils::DecisionIDContainer ids; - TrigCompositeUtils::passingIDs( l1Decisions->at( index ), ids ); + TrigCompositeUtils::DecisionIDContainer ids; + TrigCompositeUtils::decisionIDs( l1Decisions->at( index ), ids ); + ATH_MSG_DEBUG( "L1 " << index << " N positive decisions " << ids.size() ); CHECK( fillChains( ids, index ) ); if ( not ids.empty() ) m_outputHistogram->Fill( 0., double( index+1 ) ); @@ -103,6 +106,7 @@ StatusCode TrigSignatureMoniMT::execute() { for ( auto d: m_finalDecisionsKey ) { auto decisions = SG::makeHandle( d ); if ( decisions.isValid() ) { // may be invalid and that is perfectly correct (early rejection + ATH_MSG_DEBUG( "Decision for " << decisions->size() << " objects available in " << d.key() ); // we need one entry per chain only and the "sum" is used for that TrigCompositeUtils::DecisionIDContainer sum; @@ -170,11 +174,5 @@ StatusCode TrigSignatureMoniMT::initHist() { y->SetBinLabel(bin, ( "Step " + std::to_string( bin - 2 ) ).c_str() ); } - for ( int xbin = 1; xbin <= x->GetNbins(); ++xbin ) { - for ( int ybin = 1; ybin <= y->GetNbins(); ++ybin ) { - m_outputHistogram->SetBinContent( xbin, ybin, -1 ); - } - } - return StatusCode::SUCCESS; } diff --git a/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoniMT.h b/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoniMT.h index f2307d9db5f0f06285e06f6c5e76e1d0c4eb3d83..8fb9341f48d1e800707b731b0c55f4fad585fc22 100644 --- a/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoniMT.h +++ b/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoniMT.h @@ -33,7 +33,7 @@ class TrigSignatureMoniMT : public ::AthAlgorithm private: TrigSignatureMoniMT(); - SG::ReadHandleKey<TrigCompositeUtils::DecisionContainer> m_l1DecisionsKey{ this, "L1Decisions", "HLTChains", "Chains activated after the L1" }; + SG::ReadHandleKey<TrigCompositeUtils::DecisionContainer> m_l1DecisionsKey{ this, "L1Decisions", "HLTChainsResult", "Chains activated after the L1" }; SG::ReadHandleKeyArray<TrigCompositeUtils::DecisionContainer> m_finalDecisionsKey{ this, "FinalDecisions", {}, "Final stage of all decisions" }; typedef std::map<std::string, std::vector<std::string> > StringToStringVectorMap; diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py b/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py index 54f579daf72870e4621f9d4c0538b69c909b3a68..fe73b07b1cd8fc730dd87504782c54d806c5f3f2 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py @@ -210,10 +210,11 @@ summary.OutputLevel = DEBUG steps = seqAND("HLTSteps", [ step0, step1, summary ] ) -mon = TriggerSummaryAlg( "TriggerMonitoringAlg" ) -mon.InputDecision = "HLTChains" +from TrigSteerMonitor.TrigSteerMonitorConf import TrigSignatureMoniMT +mon = TrigSignatureMoniMT() mon.FinalDecisions = [ "ElectronL2Decisions", "MuonL2Decisions", "WhateverElse" ] -mon.HLTSummary = "MonitoringSummary" +from TrigUpgradeTest.TestUtils import MenuTest +mon.ChainsList = [ x.split(":")[1] for x in MenuTest.CTPToChainMapping ] mon.OutputLevel = DEBUG hltTop = seqOR( "hltTop", [ steps, mon] )