Skip to content

Constness in eflowRec and other small improvements

To be MT-safe, the tools in eflowRec need to be const, as do a number of their member variables. These were (still!) caching event data in member variables, which were not even mutables.

I eliminated various sorts of caching and started to get rid of some of the pointer arguments. The EtaPhi classes are lightweight enough that we can return by value w/o serious overhead.

There were even "hidden" constness problems in e.g. PFTrackClusterMatchingTool where the caching happened by way of a pointer, such that the pointer value did not change but the functions being called on the member object were non-const. The compiler didn't seem to be able to catch such issues.

The MatchDistance class had unused data content, so eliminated this in favour of just a simple pair.

There remain some unused (obsolete?) functions e.g. in PFMatcher but I left them in for now.

Partially addresses ATLJETMET-1256.

Merge request reports