ParticleCombiner use local CheckOverlap implementation
The CheckOverlap tool does many memory allocations when collecting all the proto particles for all the combinations, see MooreOnline#77. It also shows up in hlt2 profiles, see Moore#773.
This is an attempt to reduce the allocations and streamline the code a bit, tailored to the only use case in the ParticleCombiner, i.e. overlap between two particles. The tool is now only called when explicitly configured. Otherwise a local implementation is used.
Gives ~1.7% for HLT2 on data
Edited by Andre Gunther