Skip to content

Remove "rerun" from HLT bits (ByteStream EDM evolution)

Rafal Bielski requested to merge rbielski/athena:hlt-bits-norerun into master

Change the interpretation of the HLT bits stored in ByteStream full event header by removing the "rerun" bits. Rerun was a Run-2 feature we decided to drop in Run 3, at least in any form affecting HLT bits. The bits stored in the header change from three consecutive bitsets (passRaw/prescaled/rerun) to just two (passRaw/prescaled).

All code reading and writing the bits is updated. A schema evolution is implemented where we are still able to read data written with release 22 before this MR, i.e. in cosmic and test runs throughout M-weeks of LS2 (M1-M8). Since there is nothing in the event header we could use to mark this version, we use the ROD minor version of the HLT ROBFragment to mark the version, even though this information is stored in the event header, not the HLT ROBFragment. To mark this change, version 1.0 is updated to 1.1.

The transient helper object HLTResultMT is updated to keep track of the version for ease of use. As a bonus change, the methods for storing/retrieval of the bits from this transient object are improved.

Important note: The event format does not change, neither ByteStream nor POOL. Only the interpretation of one of the fields in the BS event header, and a helper non-EDM class (HLTResultMT) change.

Closes ATR-22177 (request to remove the rerun bits)
Closes ATR-22655 (request to update one of the clients - a python script reading the bits)

Requires explicit approval from @tamartin

Tagging @wiedenma, @tbold, @astruebi, @palacino for info

Edited by Rafal Bielski

Merge request reports