Skip to content

Fix writing HLT result in failed events (debug stream) + extend tooling and testing

Rafal Bielski requested to merge rbielski/athena:fix-hlt-debug-result into 22.0

A couple of changes improving the HLT online error handling and the related tooling/testing:

  1. HLTResultMTMaker: Split the "create" and "fill" functionality into separate functions to allow the next change.
  2. HltEventLoopMgr: Fill HLT result after adding debug stream tag, not before. This ensures the event is already marked as accepted (force-accepted to debug stream) and thus the optimisation skipping EDM serialisation on rejected events (!33290 (merged)) doesn't kick in. This was the primary cause of bug ATR-25981.
  3. HltEventLoopMgr: Improve error handling, trying to avoid the possibility of dropping event processing without communicating it to data collector (DCM) when result building/recording/sending fails. When unavoidable, instead of continuing event loop, now the error message specifically highlights this issue and aborts the event loop.
  4. MTCalibPebConfig: Add some useful framework EDM objects to the job output. In particular including TrigConfKeysOnline and HLT_RuntimeMetadata.
  5. trigbs_dumpHLTContentInBS_run3.py: Add option to print HLT_RuntimeMetadata (currently only containing the hostname).
  6. test_trigP1_timeout_build.py: Add a check ensuring the TrigConfKeysOnline and HLT_RuntimeMetadata are always written, also in debug stream events.

Fixes ATR-25981 and hopefully prevents such a problem in the future

Merge request reports