From 3f0d4e8330e440f751711d21b0691a2e2bf1a7b5 Mon Sep 17 00:00:00 2001 From: Rosen Matev <rosen.matev@cern.ch> Date: Tue, 9 Apr 2024 17:17:10 +0200 Subject: [PATCH] Drop ODIN::EventTypes::HltFlaggingMode and remaining usage --- Event/DAQEvent/include/Event/ODIN.h | 35 ++++++++-------- Kernel/LHCbAlgs/src/OdinTimeDecoder.cpp | 17 ++------ Kernel/LHCbAlgs/src/RunChangeTest.cpp | 41 ++++--------------- .../lhcbalgs.qms/runchange.qms/incident.qmt | 29 ++++--------- 4 files changed, 36 insertions(+), 86 deletions(-) diff --git a/Event/DAQEvent/include/Event/ODIN.h b/Event/DAQEvent/include/Event/ODIN.h index 7311c55c9d6..8d106cb112b 100644 --- a/Event/DAQEvent/include/Event/ODIN.h +++ b/Event/DAQEvent/include/Event/ODIN.h @@ -119,22 +119,22 @@ namespace LHCb { /// Meaning of the EventType bits enum class EventTypes : std::uint16_t { - VeloOpen = 0x0001, - Physics = 0x0002, - NoBias = 0x0004, - Lumi = 0x0008, - Beam1Gas = 0x0010, - Beam2Gas = 0x0020, - et_bit_06 = 0x0040, - et_bit_07 = 0x0080, - et_bit_08 = 0x0100, - et_bit_09 = 0x0200, - et_bit_10 = 0x0400, - et_bit_11 = 0x0800, - et_bit_12 = 0x1000, - et_bit_13 = 0x2000, - et_bit_14 = 0x4000, - HltFlaggingMode = 0x8000 + VeloOpen = 0x0001, + Physics = 0x0002, + NoBias = 0x0004, + Lumi = 0x0008, + Beam1Gas = 0x0010, + Beam2Gas = 0x0020, + et_bit_06 = 0x0040, + et_bit_07 = 0x0080, + et_bit_08 = 0x0100, + et_bit_09 = 0x0200, + et_bit_10 = 0x0400, + et_bit_11 = 0x0800, + et_bit_12 = 0x1000, + et_bit_13 = 0x2000, + et_bit_14 = 0x4000, + et_bit_15 = 0x8000 }; /// Calibration types @@ -366,9 +366,6 @@ namespace LHCb { details::set_bits<EventNumberSize, EventNumberOffset>( data, value ); } - // Helpers - [[nodiscard]] constexpr bool isFlagging() const { return eventTypeBit( EventTypes::HltFlaggingMode ); } - #ifndef ODIN_WITHOUT_GAUDI [[nodiscard]] Gaudi::Time eventTime() const { const auto gps = gpsTime(); diff --git a/Kernel/LHCbAlgs/src/OdinTimeDecoder.cpp b/Kernel/LHCbAlgs/src/OdinTimeDecoder.cpp index 256188d1b6f..070f8728b97 100644 --- a/Kernel/LHCbAlgs/src/OdinTimeDecoder.cpp +++ b/Kernel/LHCbAlgs/src/OdinTimeDecoder.cpp @@ -60,10 +60,6 @@ private: // --- local data --- /// Used to remember the run number and spot a change of run number. mutable unsigned int m_currentRun{0}; - - /// Used to detect if we switch from flagging to filtering mode (which implies - /// a "run change" without actually changing the run number). - mutable bool m_flaggingMode{true}; }; // Declaration of the Tool Factory @@ -118,19 +114,14 @@ Gaudi::Time OdinTimeDecoder::getTime() const { Warning( "Problem with ODIN GPS Time '" + e.message() + "', ignored", StatusCode::SUCCESS ).ignore(); } - // We need to trigger a RunChange incident if the run number changes or - // we switch from flagging mode to filtering mode. - if ( ( m_currentRun != odin->runNumber() ) || ( m_flaggingMode && !odin->isFlagging() ) ) { + // We need to trigger a RunChange incident if the run number changes + if ( m_currentRun != odin->runNumber() ) { ON_DEBUG { debug() << "Firing " << IncidentType::RunChange << " incident. "; - if ( m_currentRun != odin->runNumber() ) - debug() << " Run change " << m_currentRun << " -> " << odin->runNumber(); - else - debug() << " Switched from flagging to filtering mode."; + debug() << " Run change " << m_currentRun << " -> " << odin->runNumber(); debug() << endmsg; } - m_currentRun = odin->runNumber(); - m_flaggingMode = odin->isFlagging(); + m_currentRun = odin->runNumber(); incSvc()->fireIncident( RunChangeIncident( name(), m_currentRun, last_time ) ); } } diff --git a/Kernel/LHCbAlgs/src/RunChangeTest.cpp b/Kernel/LHCbAlgs/src/RunChangeTest.cpp index 4437ef4cbbd..d4b375ed919 100644 --- a/Kernel/LHCbAlgs/src/RunChangeTest.cpp +++ b/Kernel/LHCbAlgs/src/RunChangeTest.cpp @@ -85,7 +85,7 @@ namespace LHCbAlgsTests { void handle( const Incident& incident ) override { info() << incident.type() << " incident received from " << incident.source() << endmsg; auto odin = m_odinHandle.get(); - info() << "Run " << odin->runNumber() << ", " << ( odin->isFlagging() ? "flagging" : "filtering" ) << endmsg; + info() << "Run " << odin->runNumber() << endmsg; } DataObjectReadHandle<LHCb::ODIN> m_odinHandle{this, "ODIN", LHCb::ODINLocation::Default}; @@ -98,40 +98,15 @@ namespace LHCbAlgsTests { StatusCode RunChangeTest::execute( const EventContext& ) const { auto odin = std::make_unique<ODIN>(); auto count = m_counter++; - info() << test_cases[std::min( count, test_cases.size() - 1 )] << endmsg; - switch ( count ) { - case 0: // run 1, flagging + if ( count == 0 ) { + info() << "Define inital condition" << endmsg; odin->setRunNumber( 1 ); - odin->setEventTypeBit( ODIN::EventTypes::HltFlaggingMode, true ); - break; - case 1: // run 1, filtering - odin->setRunNumber( 1 ); - odin->setEventType( 0x0000 ); - break; - case 2: // run 2, filtering + } else if ( count == 1 ) { + info() << "Test: new run" << endmsg; + odin->setRunNumber( 2 ); + } else { + info() << "Test: same run (stable, no trigger)" << endmsg; odin->setRunNumber( 2 ); - odin->setEventType( 0x0000 ); - break; - case 3: // run 3, flagging - odin->setRunNumber( 3 ); - odin->setEventTypeBit( ODIN::EventTypes::HltFlaggingMode, true ); - break; - case 4: // run 4, flagging - odin->setRunNumber( 4 ); - odin->setEventTypeBit( ODIN::EventTypes::HltFlaggingMode, true ); - break; - case 5: // run 5, filtering - odin->setRunNumber( 5 ); - odin->setEventType( 0x0000 ); - break; - case 6: // run 5, flagging - odin->setRunNumber( 5 ); - odin->setEventTypeBit( ODIN::EventTypes::HltFlaggingMode, true ); - break; - default: // run 5, filtering - odin->setRunNumber( 5 ); - odin->setEventType( 0x0000 ); // FIXME - break; } m_odinHandle.put( std::move( odin ) ); // will not try to decode the ODIN bank, but issue a ChangeRun diff --git a/Kernel/LHCbAlgs/tests/qmtest/lhcbalgs.qms/runchange.qms/incident.qmt b/Kernel/LHCbAlgs/tests/qmtest/lhcbalgs.qms/runchange.qms/incident.qmt index 9809a8762df..440f828b53f 100644 --- a/Kernel/LHCbAlgs/tests/qmtest/lhcbalgs.qms/runchange.qms/incident.qmt +++ b/Kernel/LHCbAlgs/tests/qmtest/lhcbalgs.qms/runchange.qms/incident.qmt @@ -22,7 +22,7 @@ from Configurables import LHCbAlgsTests__RunChangeIncidentHandler as IncidentAlg app = ApplicationMgr() app.TopAlg = [ TestAlg("RunChangeTest"), IncidentAlg("IncidentHandler") ] app.EvtSel = "NONE" -app.EvtMax = 10 +app.EvtMax = 5 EventDataSvc(ForceLeaves = True) #MessageSvc(OutputLevel = DEBUG) @@ -30,28 +30,15 @@ EventDataSvc(ForceLeaves = True) </text></argument> <argument name="validator"><text> reference_block = """ -RunChangeTest INFO Define initial condition. +RunChangeTest INFO Define inital condition IncidentHandler INFO RunChange incident received from RunChangeTest.OdinTimeDecoder -IncidentHandler INFO Run 1, flagging -RunChangeTest INFO Test: same run, flagging -> filtering +IncidentHandler INFO Run 1 +RunChangeTest INFO Test: new run IncidentHandler INFO RunChange incident received from RunChangeTest.OdinTimeDecoder -IncidentHandler INFO Run 1, filtering -RunChangeTest INFO Test: new run, always filtering -IncidentHandler INFO RunChange incident received from RunChangeTest.OdinTimeDecoder -IncidentHandler INFO Run 2, filtering -RunChangeTest INFO Test: new run, filtering -> flagging -IncidentHandler INFO RunChange incident received from RunChangeTest.OdinTimeDecoder -IncidentHandler INFO Run 3, flagging -RunChangeTest INFO Test: new run, always flagging -IncidentHandler INFO RunChange incident received from RunChangeTest.OdinTimeDecoder -IncidentHandler INFO Run 4, flagging -RunChangeTest INFO Test: new run, flagging -> filtering -IncidentHandler INFO RunChange incident received from RunChangeTest.OdinTimeDecoder -IncidentHandler INFO Run 5, filtering -RunChangeTest INFO Test: same run, filtering -> flagging (no trigger) -RunChangeTest INFO Test: same run, filtering (stable, no trigger) -RunChangeTest INFO Test: same run, filtering (stable, no trigger) -RunChangeTest INFO Test: same run, filtering (stable, no trigger) +IncidentHandler INFO Run 2 +RunChangeTest INFO Test: same run (stable, no trigger) +RunChangeTest INFO Test: same run (stable, no trigger) +RunChangeTest INFO Test: same run (stable, no trigger) """ findReferenceBlock(reference_block, stdout, result, causes) </text></argument> -- GitLab