Skip to content

Draft: xAOD::TEvent Rewrite, main branch (2025.10.23.)

After quite some preparatory work, this MR changes xAOD::TEvent to be based on xAOD::Event. With only the TTree specific code remaining in xAOD::TEvent, and all the code that's generally storage technology independent, living in xAOD::Event.

One of the things I decided to do was to remove default function arguments on the internal functions of the class. So that clients would need to be a bit more explicit about what they want to do. The previous formalism came from a time before Git. When it was a lot less painful to extend existing functions with additional arguments by making the additional arguments have default values. Which over time developed into pretty hard to read code unfortunately.

Since there are a number of clients making use of these "expert" functions of xAOD::TEvent, a number of clients needed to be updated. But hopefully this will just make the code of all those clients a little easier to read as well. 🤔

This is pretty close to what it would be like to fundamentally rewrite StoreGateSvc. So all the possible tests will need to run. I'm all but certain that I would've missed some stuff.

As always, pinging @schaffer. 😉

Merge request reports

Loading