CLUE is a fast and fully parallelizable density-based clustering algorithm, optimized for high-
occupancy scenarios, where the number of clusters is much larger than the average number of hits
in a cluster (Rovere et al. 2020). The algorithm uses a grid spatial index for fast querying of
neighbors and its timing scales linearly with the number of points within the range considered. It is
currently used in the CMS and CLIC event reconstruction software for clustering calorimetric hits in
two dimensions based on their energy. The CLUE algorithm has been generalized to an arbitrary
number of dimensions and to a wider range of applications in CLUEstering, a general purpose
clustering library, with the backend implemented in C++ and providing a Python interface for
easier use. The backend can be executed on multiple backends (serial, TBB, GPUs, ecc) thanks
to the Alpaka performance portability library. One feature currently lacking from CLUEstering
and that would be extremely useful for every user, is an autotuning of the parameters, that given
the expected number of clusters computes the combination of input parameters that results in the best
clustering.
For this task, one of the options to be explored is “The Optimizer”, a Python library developed by
the Patatrack group of the CMS experiment which provides a collection of optimization algorithm,
in particular MOPSO (Multi-Objective Particle Swarm Optimization).
Interested students please contact simone.balducci@cern.ch