Skip to content

Hep3Vector Compatibility, main branch (2025.04.16.)

As discussed in ATEAM-1069, with CLHEP 2.4.2.0 the internal payload of CLHEP::Hep3Vector changed (CLHEP/CLHEP@5f20daf0).

To be able to read AOD files written with CLHEP 2.4.1.3 (which we used in the offline software since basically forever), the read rule perform an in-situ transformation.

This makes the tests in tauEventAthenaPool work. Kind of. As I will need a full Athena build to actually make the tests succeed. (Since I moved the dictionary of CLHEP::Hep3Vector from one shared library to another, in a WorkDir based build I get a warning from ROOT about the dictionary being available from two different libraries. And this warning makes the tests fail.) But it does not provide a full solution to our issue with the CLHEP update.

In addition to this, we'll also need either

  • to teach the read rule to only be active for files with the old CLHEP::Hep3Vector payload;
  • or to remove all instances where we would write CLHEP::Hep3Vector directly to a ROOT file.

The first one would require setting the version="[1-]" property correctly, which I intend to ask help with from the ROOT developers. (Though I fear that this may not actually be possible to do.) The latter I believe is doable, but will require some possibly tedious work. 🤔

Pinging @jchapman and @ssnyder.

Merge request reports

Loading