[ATR-21373] Trigger JSON menu metadata storage and access
Squash of !32844 (closed)
This MR populates and propagates new xAOD::TriggerMenuJsonContainer
branches into the POOL metadata collection.
There are separate branches for the L1 menus, HLT menus, L1 PS sets, HLT PS sets and bunchgroups - though bunchgroup JSON are not yet ready, this is commented out.
These work together to replace the xAOD::TriggerMenu
branch which was used throughout R2.
Both the xAOD::TrigConfSvc and xAOD::TrigConfTool are able to decode and serve configuration data from either the R2 xAOD::TriggerMenu
or the R3 xAOD::TriggerMenuJsonContainer
. With xAOD::TrigConfSvc doing so fully thread-safely. For R3 AOD, the ptree corresponding to the JSON data structure are accessible and the full content may be explored.
For R3 and R2 AOD, the existing legacy interface (originating back from R1) continues to be supported, allowing old code to continue to function when running on files which only store the JSON payload.
The xAOD::TriggerMenu
writing is not yet disabled, hence for a while we will write the data in both formats. We will move to switch this off once everything is confirmed OK.