Skip to content

Further optimisations to eflowRec energy subtraction

We can avoid rerunning track-cluster matching in two places:

  1. The dR<0.15 cluster list is obviously a subset of the dR<0.2 list, so we can extract it by retaining the distance to each cluster.
  2. In RecoverSplitShowers, we can just pull out the list of clusters in dR<0.2 rather than recomputing it from the list of clusters to consider (where we filter out clusters that have already been fully subtracted). Using an unordered_set we can rapidly test the clusters in the cone to see which ones should be used.

Added sorting of the transient cluster collection prior to moment calculation because there seems to be some order-dependence, and we don't want to introduce physics differences from merely reordering the matched clusters.

WRT the previous implementation, running q221 I find differences in 2 events, where the calibrated neutral PFO transverse momenta change by O(10 MeV), in one case resulting in the order of PFOs in the container changing. The EM-scale PFO four-vectors are not affected, hence the jets are identical, and there are changes in the MET at the level of float precision.

Merge request reports