![]() |
Project
|
This is a reimplementation of the original MLEM-based clustering algorithm from AliRoot.
It takes as input the list of digits associated to one precluster and fills the internal structure with the clusters and the list of associated digits. The list of clusters and associated digits can be retreived with the corresponding getters and cleared with the reset function. An example of usage is given in the ClusterFinderOriginalSpec.cxx device.
The algorithm starts with a simplification of the precluster, sending back some digits to the preclustering for further use. It then builds an array of pixels, which is basically the intersect of the pads from both cathodes, that will be used to determine the number of clusters embedded in the precluster and find there approximate locations to be used as seeds for the fit of the charge distribution with a sum of Mathieson functions.
A more detailed description of the various parts of the algorithm is given in the code itself.
The line below allows to read run2 digits from the file digits.in, run the preclustering, then the clustering and write the clusters with associated digits in the file clusters.out:
o2-mch-digits-reader-workflow --infile "digits.in" --useRun2DigitUID | o2-mch-digits-to-preclusters-workflow | o2-mch-preclusters-to-clusters-original-workflow | o2-mch-clusters-sink-workflow --outfile "clusters.out" --useRun2DigitUID