Skip to content

CP Algorithms: object cut flow overhaul

Nils Erik Krumnack requested to merge krumnack/athena:object_cut_flow into main

The primary thing this does is to introduce a SelectionNameSvc that tracks the name of all the selection bits as reported by the various selection tools, allowing to give much better labels for the individual bins in the selection. In addition this means I no longer need to track the bits for each selection mask, as they get automatically tracked.

I also added a configuration block for the cut flows (there wasn't one yet), that allows to neatly add the cut flows when added.

The one breaking change is that this now requires a SelectionNameSvc to get created. I hope this doesn't cause too many issues. In order to minimize the effect of such changes in the future I introduced a CommonServicesBlock (and corresponding sequence), to which I can add more services as needed.

An example of how such cut flows now look like below. This is still somewhat niche, but if you want to understand which cut kills your electrons this ought to be a quick diagnostic.

c1

Merge request reports