ConfigText: Allow algorithms to be configured using a YAML configuration file

This is a work in progress. There are additional features that will be added in the future (e.g. selection, updates to Block configuration to better work with a text based configuration, etc.). Additionally, additional features or changes in the implementation or configuration can be added.

The AMG group has worked to provide a common analysis framework that takes PHYS or PHYS lite DAODs as input and will output ntuples and a set of histograms. The current framework needs to be configured using python scripts. We would like to instead configure everything using a text (YAML) based configuration file. This allows:

  • document what has been done
  • provide a easily readable document that describes how objects are defined.
  • reduce the amount of work to correctly go from DAODs to analysis level
  • provide an easy way to compare analyses

This merge request has two parts: an example YAML configuration file that provides an example of how specify the configuration of different objects/algorithms and an implementation that uses the YAML configuration file to configure the different algorithms/objects.

An example configuration file has been added to the AnalysisAlgorithmsConfig/data/example_config.yaml directory to demonstrate a simple analysis configuration as well as provide information on the available options and the expected type.

AnalysisAlgorithmsConfig/python/ contains the implementation to read, print, and process a YAML configuration file. The contents of the configuration files will be used to configure the algorithms used to define objects, OLR, define input and output.

The implementation requires the pyyaml package that is currently not included in AnalysisBase releases and must be installed manually. The package has been requested in ATLINFR-4882.

Edited by Dan Guest

Merge request reports