Skip to content

TrigConfigSvc: Implement HLT-specific JobOptionsSvc

Frank Winklmeier requested to merge fwinkl/athena:hltjoboptsvc into master

Replace the old TrigConf::HLTJobOptionsSvc with the new TrigConf::JobOptionsSvc. The service will ultimately be able to read job properties from JSON (file and DB).

Unlike the old service, which completely re-implemented Gaudi's JobOptionsSvc with all its internal classes (e.g. catalogue), the new one is just a wrapper around the default JobOptionsSvc. Apart from the additional features, it just forwards all other calls to the "real" instance. This renders our own implementation of JobOptionsCatalogue and JobOptionsList obsolete. An additional benefit is that this new service can also be used when running from Python.

For debugging purposes, the service can also dump its catalogue into a JSON file (configured via the DUMPFILE property). However, for production the usual way of extracting the joboptions from the athena pickle file should be used (see !26564 (merged)).

Other changes (in separate commits):

  • Delete some old obsolete header files in the TrigConfigSvc package
  • When generating the joboptions JSON also consider the second pickle ("special services")
  • Several small fixes for running from JSON/DB
  • Remove the --python-setup option in athenaHLT.py

🚧 The new service is not yet enabled by default. Running athenaHLT from a JSON file seems to work fine in my initial tests. But some more work is needed on the command line interface such that the user can specify a JSON file (and ultimately a DB connection and SMK).

cc @mark @stelzer @wiedenma @rbielski

Edited by Frank Winklmeier

Merge request reports