Classify Photon Electron
Replace CaloFutureSinglePhotonAlg
and CaloFutureElectronAlg
by a single ClassifyPhotonElectronAlg
.
The new algorithm is a MultiTransformer
and the loop on clusters is done manually (old ones were ScalarTransformer
so this was implicit). It applies exactly the same selection as the previous code but it gets rid of the selector tools and instead applies the requirements directly in if
statements.
Photon and electron CaloHypo
are built according to the selection criteria and energy and position corrections are applied through the correction tools, as was done before in the old algorithms.
This runs and produces the same results in Brunel (brunel-upgrade-baseline). There are smaller differences with respect to the reference due to the change of the algorithm name and counter titles.
The new algorithm also implements the explicit dependency on the cluster-track matching table, which was missing in the old algorithms. Still, it crashes when trying to run it in minibrunel (minibrunel.hive-single-thread). The crash happens in the CaloCorrectionBase
tool called to apply energy and position corrections, so I think this can be solved in a separate MR. For now, this algorithm is not added to the minibrunel configuration (the old ones were not yet there either).