Skip to content

Implement unit testing for RegionSelector to ensure self-contained CA config

Rafal Bielski requested to merge rbielski/athena:regsel-ca-deps into 22.0

ComponentAccumulator configuration should be self-contained. Add unit testing functionality to the RegionSelector package, to ensure each of the regSelTool_<det>_Cfg functions produces a self-contained CA and produces a working tool configuration that can be executed.

Specific changes:

  • Add new testing algorithm RegSelToolTester which takes an array of RegionSelector tools, retrieves them in initialize() and then in execute() calls their look-up methods for three dummy RoIs (full-scan, central, forward).
  • Add a helper function to configure list of RegionSelector tools from a list of string detector names. This is porting a simplified version of a function that already has two use cases in Trigger (for Partial Event Building and for ROB Prefetching). After this MR, the Trigger code will be adapted to use the new function from RegSelToolConfig.
  • Add unit testing configuration in RegSelToolConfig.py when executed as a script. It takes a list of detector names as command-line arguments.
  • Define unit tests in CMakeLists.txt for each detector individually, and one for all together. Only ID and Tile configurations are currently self-contained. All others, namely LAr and Muons need to be fixed. The unit tests for the problematic ones are added as disabled. This facilitates easier testing for developers who will work on fixing them (will just need to enable the test). Jira ATLASRECTS-7289 tracks the required fixes.
  • It's not feasible time-wise to test different geometries as unit tests, so only the current production (i.e. Run-3) geometry is tested. For that, a Run-3 RAW file is added to AthenaConfiguration.TestDefaults.

cc @fwinkl, @sutt

Edited by Rafal Bielski

Merge request reports