Skip to content

[ATR-20755] Move TrigComposite utility code into a new package with minimal dependencies

Tim Martin requested to merge tamartin/athena:moveTrigCompositeUtils into master

Here I refactor some code into a more sustainable package structure.

  • TrigCompositeUtils is needed by the TDT and in analysis releases, it gets spun out from DecisionHandling into its own-named package.
  • The HLT::Identifier class has minimal dependencies and is closely related to and needed by the TrigCompositeUtils, so it moves to the new package too.
  • The units tests and as-of-yet-unused Combinator code moves as well.
  • Forwarding headers are setup in TrigCompositeUtils which will remain until all clients are migrated.
  • Forwarding linkings are setup by making TrigCompositeUtilsLib be a public link target of DecisionHandlingLib
  • We need to keep the HLTUtils hashing helper functions, but don't care for the old TE manipulation helpers.
  • The HLTUtils class moved from TrigConfHLTData to TrigCompositeUtils, but only the hashing functions move over.
  • Forwarding of headers and linking is setup in TrigConfHLTData, analogously to above.
  • So as to not have two HLTUtils classes in the codebase, the remaining class in TrigConfHLTData is renamed HLTTEUtils. What few clients it had are updated to the new naming scheme, no new ones are expected. This is legacy R2 trigger code.
  • To tidy up the remaining loops, TrigDecisionTool is migrated from DecisionHandling to TrigCompositeUtils which it can now link against (the original problem was a cyclic loop here, see !28726 (merged))
  • xAODTrigger has its dependency on TrigConfHLTData removed, it wasn't using it for anything, and otherwise would introduce a new loop as TrigCompositeUtils still needs to link against xAODTrigger.

Local re complication & tests of the affected suite of packages is working. All 4 executed tests succeeded

Edited by Tim Martin

Merge request reports