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.