Skip to content

Trigger config migration continued

Joerg Stelzer requested to merge stelzer/athena:master-RoiBuilderMenuMig into master

Migrate more L1 configuration clients to the json format. Tier0 reconstruction jobs of M-week data should now be possible.

  • Migration of AnalysisTriggerAlgs/RoIBResultToxAOD to the new configuration (including the ROI creation)
  • Migration of TrigDecisionMaker/TrigDecisionMakerMT to the new configuration
  • Migration of TrigSteering/Lvl1ResultAccessTool to the new configuration
  • Migration of TrigT1ZDC and TrigT1MBTS to the new configuration
  • Extended populateBunchgroup for old-style xAODTriggerMenu in xAODMenuWriterMT (the json style writing still needs to be added)
  • Note that the large number of changes in xAODMenuWriterMT.cxx is due to the Prettier plugin in vscode. I can revert this if it makes the review difficult
  • TrigConfigSvc (wrapper around different ConfigSvc types ("ds", "xml") has now a Run 3 mode, where it only calls the LVL1 and HLT ConfigSvc for the purpose of triggering the menu writing to the DetectorStore. In particular it avoids calling L1TopoConfigSvc, which isn't used for Run 3

TrigT1Interfaces/RecEmTauRoI, TrigT1Interfaces/RecEnergyRoI, TrigT1Interfaces/RecJetRoI, TrigT1Interfaces/RecMuonRoI

  • New constructors added that accept an TrigConf::L1Menu* to access the L1 threshold configuration
  • Added internal construct methods for extracting the information from the ROIWord, using the L1Menu configuration
  • Fix copy constructors and assignment operators, which were not correctly implemented

(these changes are only to make the current RoIBResultToxAOD work, they should not interfere with the ongoing updates to the L1Calo EDM)

Extend interpretation of flag Trigger.triggerConfig in TrigConfigSvc/python/TrigConfigSvcCfg.py

  • Interpret ConfigFlag Trigger.triggerConfig
  • Access to trigger configuration in COOL from python
  • Fix python access to trigger information in COOL (bug in IOV range specification)

Some small extensions

  • L1BunchGroupSet with access to bunch vector
  • LVL1ConfigSvc provides L1BunchGroupSet through DetectorStore (just like the L1Menu)
  • L1Menu provides access to L1Threshold by type+mapping (useful for ROI constructors)

Note: this is a large MR, but all changes are necessary to have a running reconstruction job where the trigger configuration is taken from the Run 3 TriggerDB. For testing I will leave everything in here, but if it helps I can break this up into smaller MRs for easier approval.

cc: @tamartin , @rbielski , @fwinkl , @tbold , @mark , @watsona , @afaulkne

Jira ticket: ATR-22470

Edited by Joerg Stelzer

Merge request reports