PanTau: fix constness, and add ATLAS_CHECK_THREAD_SAFETY


This MR is getting rid of the last const_cast occurrences in PanTau. The main changes are:

  • We pass the non-const neutral PFO container (created in tauRec) as an argument to the PanTau tools, such that we can access directly the non-const neutral PFOs.
  • What we don't need to modify is made const, like the PFO* used to build the TauConstituent objects.
  • If we find input neutral PFOs that have non-zero mass, we abort with an error. This could happen in a re-reconstruction from AOD, where the mass has been set in RAWtoALL before. In R21, we would allow such a configuration and reset the mass to 0. In R22, we would anyway have to rebuild the PFOs before calling PanTau, and therefore we don't expect to find a non-zero mass as input.

Tested locally with RAWtoALL on 200 events. Fortunately, it doesn't seem to change the reconstruction output...

Fixes ATLASRECTS-7307.

I hope the next step will be to finally turn TauRunnerAlg from AthAlgorithm to AthReentrantAlgorithm in tauRec!

Cheers, Bertrand

Merge request reports