Skip to content

Fixing issue which causes run 3 trigger navigation to be dropped from DAODs

ATLASDPD-1777

This fixes an issue caused by the component accumulator migration. In release 22 containers which inherit from xAOD::AuxContainerBase can be "expanded" into dynamic auxiliary variables via a simple notation as the container is added to the stream:

xAOD::AuxContainerBase!#ContainerNameAux.

This doesn't work for containers that don't inherit from AuxContainerBase, just two types at the current time:

xAOD::JetTrigAuxContainer --> deprecated for run 3
xAOD::TrigCompositeAuxContainer

These have to be processed in the old release 21 way via AuxStoreWrapper. However, the code scheduling this wrapper no longer works with the component accumulator, and since this was overlooked, the containers were no longer properly dealt with and no longer appeared in the output. In particular this means any DAODs thus produced miss the HLTNav_Summary_DAODSlimmedAux and so run 3 trigger matching isn't possible.

However, since the T/P converter for TrigCompositeAuxContainer handles the conversion, the object in memory actually inherits from AuxContainerBase and so the usual !# form can be used. So this MR implements the following:

  • The ContainersForExpansion list is made empty so that no expansion is attempted (which would anyway not work as explained above)
  • Consequently all containers get the !# treatment

This leads to some dead code. It will be cleaned up in a future MR along with a general clean-up of the non-CA python. Since JetTrigAuxContainer is deprecated and TrigCompositeAuxContainer can be treated as normal, it would appear that there is no longer a need for the AuxStoreWrapper machinery. If this turns out to be wrong, a new MR will be needed to run this mechanism through the CA.

Merge request reports