CaloRecGPU: Options for GPU-Compatible Criteria Standard Algorithms

Adds options to CaloClusterKineHelper::calculateKine, CaloTopoClusterMaker, CaloTopoClusterSplitter and CaloClusterMomentsMaker to use the same criteria as the GPU version, giving the possibility of 100% agreement in cell assigment.

As illustrated in today's presentation at the HLT Calo meeting, the previously observed significant differences between the current CPU criteria and those adopted in the GPU implementation were largely a consequence of a bug in the cluster matching procedure. In truth, in the usual ttbar sample that has been used for testing, no more than 16 unmatched clusters are found, and the huge majority of the clusters still have the same cells.

The addition of this option to the standard algorithms will greatly facilitate the writing of more extensive tests for the CaloRecGPU package. To the author's best knowledge, if the option to use the GPU criteria is set to false, there are no changes to the algorithm's behaviour, and, barring three or four checks for that option, no relevant performance implications.

Merge request reports