Skip to content
Snippets Groups Projects
Commit 3f0d4e83 authored by Rosen Matev's avatar Rosen Matev :sunny:
Browse files

Drop ODIN::EventTypes::HltFlaggingMode and remaining usage

parent 46b12de2
No related branches found
No related tags found
4 merge requests!4553Fix UT Decoder,!4539Synchronize master branch with 2024-patches,!4525Draft: Synchronize master branch with 2024-patches,!4514Fix ODIN::CalibrationTypes and clean up
......@@ -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();
......
......@@ -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 ) );
}
}
......
......@@ -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
......
......@@ -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>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment