Skip to content

Implement tools decorating L1 xAOD RoI objects with threshold patterns

Rafal Bielski requested to merge rbielski/athena:threshold-tools into master

Implement tools which decorate L1 xAOD RoI objects with threshold patterns, as discussed in ATR-23290. The decoration is a 64-bit mask where each bit corresponds to L1 trigger threshold number of a given type and the value indicates whether the threshold passed or not for the given RoI object (TOB).

There is an interface class IRoIThresholdsTool to be used by clients to call the decorateThresholds method. There is also a base class RoIThresholdsTool taking care of the menu information retrieval, input and output data handles, and the act of adding the decoration. The concrete implementations only need to provide the getPatterns method which translate the information from the menu and the RoI object (TOB) into the 64-bit mask.

For xAOD::eFexEMRoI a new tool is created - eFexEMRoIThresholdsTool.

For xAOD::MuonRoI (MUCTPI), the existing TrigThresholdDecisionTool is adapted to derive from the new base class and follow the new interfaces and logic. cc @armbrust

The clients, eFex EM and MU "RoI unpacking tools" in L1Decoder, are adapted to depend on and read the new decoration for seeding the HLT chains.

Left to do in a separate MR: Implement the getPattern logic for xAOD::eFexEMRoI (eFexEMRoIThresholdsTool). For now it returns an all-pass mask.

NB: As there was no opposition in Jira, I opted for a 64-bit mask instead of 32-bit to be on the safe side regarding the possible number of thresholds.

Edited by Rafal Bielski

Merge request reports