Skip to content

Fixing early exit in CaloClusterThinning

James Catmore requested to merge jcatmore/athena:21.2_CaloClusterThinning into 21.2

This MR fixes a serious logical bug in the CaloClusterThinning tool. In the case that the event contains no electrons/photons, StatusCode::SUCCESS is returned without any thinning being run, e.g. all clusters are kept. This is exactly the wrong way around, since if there are no higher level objects to which cluster could be matched in the event, all clusters should be dropped. This reversal of logic is implemented in the MR.

At the same time some adjustments are made to PHYSLITE to reflect this change, since the "thin all" tool is no longer needed with the bug fixed. A further bug, with several thinning tools not added to the kernel algorithm, is also fixed.

I note in passing that there are several other thinning tools affected by the same logic bug. I'll prepare further MRs where it is obvious and file JIRAs otherwise.

Merge request reports