Skip to content

WIP: xAOD Dictionary Cleanup, master branch (2020.04.16.)

Triggered by the LCG_97 migration (!31633 (merged)), and @ssnyder's dictionary fix attempt (!31988 (closed)) I've set out to finally do some much needed maintenance on the xAOD dictionaries. The currently failing tests (http://atlas-computing.web.cern.ch/atlas-computing/links/distDirectory/gitwww/GITWebArea/nightlies/master/2020-04-15T2149/Athena/x86_64-centos7-gcc8-dbg/Athena/UT/xAODDataSource.log.html) are only the tip of the iceberg, the xAOD dictionaries suffer from of a lot of problems at the moment... 😦

The goal of this MR is to harmonise how all of the xAOD packages generate/build their dictionaries. Reducing the current clutter a bit.

Things done (so far):

  • Added a new header to xAODCore, which should help all the other package instantiate the interface types correctly that they need to generate dictionaries for;
  • Updated xAODMuon to generate all the necessary dictionaries, while cleaning up any unnecessary statements from the dictionary setup files;
    • Had to adjust the code in xAOD::MuonSegment_v1 a bit. Otherwise ROOT was getting confused at runtime, mistaking the Muon type defined in the global namespace for xAOD::Muon. (The typedef that this MR teaches it about...)
  • Updated xAODEgamma in the same way.

I also greatly simplified the CMake configurations of all of the "regular" xAOD packages touched by this MR. (Shied away from touching xAODCore's CMake configuration at this point, that should be done in a separate MR in the future.)

I want to update all of the xAOD packages in this MR. But also wanted to get some (relatively) early feedback, that's why I'm opening a WIP MR. 😉

Also pinging @fwinkl, @mnowak, @wlampl and @emoyse.

Merge request reports