Skip to content

refactor: Unify ACTS clusterization algorithms

The clusterization (RDO -> cluster) is done with two separate tools, for Pixel & Strip. Both tools have a separate algorithm frontend which feeds RDO collections to their respective tools. Since !66049 (merged), the logic in the algorithms is non-trivial in order to support partial-detector clusterization. However both algorithms implement the exact same logic, which is a maintenance hazard -- equivalent changes are always needed in two places, and there is a high likelihood that both implementations diverge at some point.

In this MR, the code is refactor such that there is a single source of truth for the algorithm frontend, implemented as a ClusterizationAlgorithm class templated on the clustering tool interface. Both Pixel & Strip clusterization algorithms are then expressed as instantiations of the template.

This is purely refactoring, therefore there should be no changes in performance observed.

cc @cvarni

Merge request reports