PanTau: fix constness, and add ATLAS_CHECK_THREAD_SAFETY
Hello,
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