Faster cluster corrections in calo shower overlap algorithm
New options to improve performance of CaloFutureShowerOverlap
by implementing a stopping criteria for cluster corrections, or not applying L,S corrections (default behaviour is not changed).
These corrections are applied iteratively by default 5 times (by CaloFutureShowerOverlap
, more times by other algorithms), however, if after a few iterations the cluster energy and parameters do not change significantly, stop the iterations.
The tolerance is implemented as either relative or absolute, i.e. a
and b
are equal within tol
if either |a-b| < tol
or |(a-b)/a < tol|
. With this stopping criteria, performance of CaloFutureShowerOverlap
is improved by 40% by this change.
If disabling L,S corrections, performance of CaloFutureShowerOverlap
is improved by 60%.
See also LHCb!2380 (merged), Lbcom!431 (merged), Moore!386 (merged), Brunel!971 (merged), lhcb-datapkg/PRConfig!113 (merged)
Update 21.01.2020: implemented resolution values for energy and cluster center in transverse plane from LHCb note 2003-091. Currently the stopping criteria is to stop if changes for cluster energy and position are below 1% of expected resolution (tolerance = 0.01). As @cmarinbe asked, below are differences between reference and new counters.
Update 20.04.2020: the ultimate differences in the counters can be seen in the reference updates in Moore!386 (merged)
Different content of Counters for algo CaloFutureMergedPi0.SplitPhotonS...
37: (CaloFutureMergedPi0.SplitPhotonS... ref) Delta(Z) | 25102 | 3136832 | 124.96 | 10.420 | 68.127 | 159.39
37: (CaloFutureMergedPi0.SplitPhotonS... new) Delta(Z) | 11839 | 1470387 | 124.20 | 10.208 | 68.127 | 159.39
37: (CaloFutureMergedPi0.SplitPhotonS... ref) <gamma> Inner | 5313 | 78515.73 | 14.778 | 0.0000 | 14.778 | 14.778
37: (CaloFutureMergedPi0.SplitPhotonS... new) <gamma> Inner | 2787 | 41184.73 | 14.777 | 0.085634 | 14.778 | 14.778
37: (CaloFutureMergedPi0.SplitPhotonS... ref) <gamma> Middle | 4158 | 60018.42 | 14.434 | 0.13414 | 14.435 | 14.435
37: (CaloFutureMergedPi0.SplitPhotonS... new) <gamma> Middle | 2235 | 32262.55 | 14.435 | 0.0000 | 14.435 | 14.435
37: (CaloFutureMergedPi0.SplitPhotonS... ref) <gamma> Outer | 15631 | 228415 | 14.613 | 0.15602 | 14.614 | 14.614
37: (CaloFutureMergedPi0.SplitPhotonS... new) <gamma> Outer | 6817 | 99631.19 | 14.615 | 0.0000 | 14.614 | 14.614
37: (CaloFutureMergedPi0.SplitPhotonS... ref) <delta> Outer | 15631 | 1701827 | 108.88 | 1.3645 | 108.88 | 108.88
37: (CaloFutureMergedPi0.SplitPhotonS... new) <delta> Outer | 6817 | 742203.1 | 108.88 | 1.1753 | 108.88 | 108.88
37: (CaloFutureMergedPi0.SplitPhotonS... ref) Delta(Z) Inner | 5313 | 656024.8 | 123.48 | 9.9239 | 68.127 | 147.68
37: (CaloFutureMergedPi0.SplitPhotonS... new) Delta(Z) Inner | 2787 | 341491.1 | 122.53 | 10.056 | 68.127 | 147.68
37: (CaloFutureMergedPi0.SplitPhotonS... ref) Delta(Z) Outer | 15631 | 1969906 | 126.03 | 10.240 | 81.754 | 159.39
37: (CaloFutureMergedPi0.SplitPhotonS... new) Delta(Z) Outer | 6817 | 855942.2 | 125.56 | 9.6239 | 81.754 | 159.39
37: (CaloFutureMergedPi0.SplitPhotonS... ref) <delta> Inner | 5313 | 431642.8 | 81.243 | 0.0000 | 81.241 | 81.241
37: (CaloFutureMergedPi0.SplitPhotonS... new) <delta> Inner | 2787 | 226412.2 | 81.239 | 0.53844 | 81.241 | 81.241
37: (CaloFutureMergedPi0.SplitPhotonS... ref) Delta(Z) Middle | 4158 | 510952 | 122.88 | 11.025 | 85.314 | 152.43
37: (CaloFutureMergedPi0.SplitPhotonS... new) Delta(Z) Middle | 2235 | 272949.6 | 122.13 | 11.420 | 85.314 | 152.43
37: (CaloFutureMergedPi0.SplitPhotonS... ref) <delta> Middle | 4158 | 396277 | 95.305 | 0.0000 | 95.304 | 95.304
37: (CaloFutureMergedPi0.SplitPhotonS... new) <delta> Middle | 2235 | 212999.1 | 95.302 | 0.62319 | 95.304 | 95.304
37: Different content of Counters for algo ToolSvc.CaloFutureLCorrection
37: (ToolSvc.CaloFutureLCorrection ref) Delta(Z) | 652 | 82331.45 | 126.28 | 10.219 | 68.564 | 158.91
37: (ToolSvc.CaloFutureLCorrection new) Delta(Z) | 652 | 82340.98 | 126.29 | 10.195 | 68.564 | 158.91
37: (ToolSvc.CaloFutureLCorrection ref) Delta(Z) Outer | 406 | 51661.38 | 127.24 | 9.9465 | 83.062 | 158.91
37: (ToolSvc.CaloFutureLCorrection new) Delta(Z) Outer | 406 | 51670.98 | 127.27 | 9.9038 | 83.062 | 158.91
37: (ToolSvc.CaloFutureLCorrection ref) Delta(Z) Middle | 108 | 13471.58 | 124.74 | 10.317 | 86.012 | 151.42
37: (ToolSvc.CaloFutureLCorrection new) Delta(Z) Middle | 108 | 13471.49 | 124.74 | 10.319 | 85.971 | 151.42
37: Different content of Counters for algo CaloFutureShowerOverlap.PhotonSh...1
37: (CaloFutureShowerOverlap.PhotonSh...1 ref) Delta(Y) | 285226 | 17977.09 | 0.063028 | 12.598 | -26.049 | 22.930
37: (CaloFutureShowerOverlap.PhotonSh...1 new) Delta(Y) | 148360 | 9785.642 | 0.065959 | 12.453 | -26.049 | 22.930
37: (CaloFutureShowerOverlap.PhotonSh...1 ref) Delta(X) | 285226 | -26651.25 | -0.093439 | 12.651 | -23.059 | 24.135
37: (CaloFutureShowerOverlap.PhotonSh...1 new) Delta(X) | 148360 | -16579.21 | -0.11175 | 12.501 | -23.059 | 24.135
37: Different content of Counters for algo ToolSvc.ECorrectionElectron
37: (ToolSvc.ECorrectionElectron ref) <alpha> Outer | 2911 | 2913.024 | 1.0007 | 0.014442 | 0.97413 | 1.0473
37: (ToolSvc.ECorrectionElectron new) <alpha> Outer | 2911 | 2913.024 | 1.0007 | 0.014431 | 0.97413 | 1.0473
37: (ToolSvc.ECorrectionElectron ref) <alpha> Inner | 2491 | 2480.869 | 0.99593 | 0.019359 | 0.96515 | 1.1151
37: (ToolSvc.ECorrectionElectron new) <alpha> Inner | 2491 | 2480.869 | 0.99593 | 0.019357 | 0.96515 | 1.1151
37: Different content of Counters for algo CaloFutureShowerOverlap.PhotonSh...
37: (CaloFutureShowerOverlap.PhotonSh... ref) Delta(Z) | 285226 | 3.197815e+07 | 112.12 | 11.747 | 75.977 | 172.85
37: (CaloFutureShowerOverlap.PhotonSh... new) Delta(Z) | 148360 | 1.665894e+07 | 112.29 | 11.681 | 75.977 | 172.85
37: (CaloFutureShowerOverlap.PhotonSh... ref) <gamma> Inner | 92446 | 1364670 | 14.762 | 0.53285 | 14.778 | 14.778
37: (CaloFutureShowerOverlap.PhotonSh... new) <gamma> Inner | 49831 | 736098.6 | 14.772 | 0.39038 | 14.778 | 14.778
37: (CaloFutureShowerOverlap.PhotonSh... ref) <gamma> Middle | 64073 | 925039.7 | 14.437 | 0.0000 | 14.435 | 14.435
37: (CaloFutureShowerOverlap.PhotonSh... new) <gamma> Middle | 33647 | 485764.3 | 14.437 | 0.0000 | 14.435 | 14.435
37: (CaloFutureShowerOverlap.PhotonSh... ref) <gamma> Outer | 128707 | 1882115 | 14.623 | 0.12403 | 14.614 | 14.614
37: (CaloFutureShowerOverlap.PhotonSh... new) <gamma> Outer | 64882 | 948674.8 | 14.622 | 0.0000 | 14.614 | 14.614
37: (CaloFutureShowerOverlap.PhotonSh... ref) <delta> Outer | 128707 | 1.402666e+07 | 108.98 | 0.0000 | 108.88 | 108.88
37: (CaloFutureShowerOverlap.PhotonSh... new) <delta> Outer | 64882 | 7069732 | 108.96 | 0.0000 | 108.88 | 108.88
37: (CaloFutureShowerOverlap.PhotonSh... ref) Delta(Z) Inner | 92446 | 1.028885e+07 | 111.30 | 10.788 | 79.695 | 151.12
37: (CaloFutureShowerOverlap.PhotonSh... new) Delta(Z) Inner | 49831 | 5555452 | 111.49 | 10.772 | 79.695 | 151.12
37: (CaloFutureShowerOverlap.PhotonSh... ref) Delta(Z) Outer | 128707 | 1.459159e+07 | 113.37 | 12.448 | 75.977 | 172.85
37: (CaloFutureShowerOverlap.PhotonSh... new) Delta(Z) Outer | 64882 | 7370452 | 113.60 | 12.517 | 75.977 | 172.85
37: (CaloFutureShowerOverlap.PhotonSh... ref) <delta> Inner | 92446 | 7500993 | 81.139 | 3.7025 | 81.241 | 81.241
37: (CaloFutureShowerOverlap.PhotonSh... new) <delta> Inner | 49831 | 4048730 | 81.249 | 0.59159 | 81.241 | 81.241
37: (CaloFutureShowerOverlap.PhotonSh... ref) Delta(Z) Middle | 64073 | 7100516 | 110.82 | 10.942 | 81.001 | 154.19
37: (CaloFutureShowerOverlap.PhotonSh... new) Delta(Z) Middle | 33647 | 3733034 | 110.95 | 10.987 | 81.001 | 154.19
37: (CaloFutureShowerOverlap.PhotonSh... ref) <delta> Middle | 64073 | 6108620 | 95.338 | 0.0000 | 95.304 | 95.304
37: (CaloFutureShowerOverlap.PhotonSh... new) <delta> Middle | 33647 | 3205532 | 95.269 | 2.9874 | 95.304 | 95.304
37: Different content of Counters for algo FutureElectronMatchAlg
37: (FutureElectronMatchAlg ref) #chi2 | 91193 | 3.956179e+08 | 4338.2 | 2954.6 | 0.066904 | 10000.
37: (FutureElectronMatchAlg new) #chi2 | 91194 | 3.95628e+08 | 4338.3 | 2954.6 | 0.066904 | 10000.
37: Different content of Counters for algo ToolSvc.CaloFutureSCorrection
37: (ToolSvc.CaloFutureSCorrection ref) Delta(Y) | 652 | -342.2076 | -0.52486 | 13.803 | -29.478 | 22.926
37: (ToolSvc.CaloFutureSCorrection new) Delta(Y) | 652 | -383.0414 | -0.58749 | 13.814 | -29.477 | 22.926
37: (ToolSvc.CaloFutureSCorrection ref) Delta(X) | 652 | -517.7936 | -0.79416 | 13.880 | -41.592 | 22.930
37: (ToolSvc.CaloFutureSCorrection new) Delta(X) | 652 | -578.0464 | -0.88657 | 13.927 | -41.591 | 22.930
37: Different content of Counters for algo ToolSvc.ECorrectionPhoton
37: (ToolSvc.ECorrectionPhoton ref) <alpha> Outer | 4518 | 4501.212 | 0.99628 | 0.015183 | 0.97356 | 1.0515
37: (ToolSvc.ECorrectionPhoton new) <alpha> Outer | 4518 | 4501.212 | 0.99628 | 0.015179 | 0.97356 | 1.0515
37: Different content of Counters for algo ToolSvc.CaloFutureECorrection
37: (ToolSvc.CaloFutureECorrection ref) <alpha> Outer | 406 | 405.9853 | 0.99996 | 0.021064 | 0.97423 | 1.1018
37: (ToolSvc.CaloFutureECorrection new) <alpha> Outer | 406 | 405.8788 | 0.99970 | 0.020750 | 0.97423 | 1.1018
37: (ToolSvc.CaloFutureECorrection ref) <alpha> Inner | 138 | 137.3227 | 0.99509 | 0.022504 | 0.96665 | 1.0733
37: (ToolSvc.CaloFutureECorrection new) <alpha> Inner | 138 | 137.3225 | 0.99509 | 0.022491 | 0.96665 | 1.0733
37: (ToolSvc.CaloFutureECorrection ref) Corrected energy | 652 | 6435316 | 9870.1 | 10790. | 195.68 | 81343.
37: (ToolSvc.CaloFutureECorrection new) Corrected energy | 652 | 6434955 | 9869.6 | 10788. | 195.69 | 81349.
37: (ToolSvc.CaloFutureECorrection ref) Delta(E) | 652 | -32392.09 | -49.681 | 343.12 | -2625.1 | 2374.0
37: (ToolSvc.CaloFutureECorrection new) Delta(E) | 652 | -32759.65 | -50.245 | 342.93 | -2624.4 | 2373.8
37: (ToolSvc.CaloFutureECorrection ref) <alpha> Middle | 108 | 108.4858 | 1.0045 | 0.026134 | 0.97819 | 1.1070
37: (ToolSvc.CaloFutureECorrection new) <alpha> Middle | 108 | 108.4857 | 1.0045 | 0.026124 | 0.97820 | 1.1070
37: Different content of Counters for algo CaloFutureMergedPi0.SplitPhotonS...1
37: (CaloFutureMergedPi0.SplitPhotonS...1 ref) Delta(Y) | 25102 | -14205.57 | -0.56591 | 13.900 | -30.023 | 22.930
37: (CaloFutureMergedPi0.SplitPhotonS...1 new) Delta(Y) | 11839 | -4825.629 | -0.40760 | 13.679 | -30.023 | 22.930
37: (CaloFutureMergedPi0.SplitPhotonS...1 ref) Delta(X) | 25102 | -18946.35 | -0.75477 | 14.120 | -41.592 | 22.930
37: (CaloFutureMergedPi0.SplitPhotonS...1 new) Delta(X) | 11839 | 1281.361 | 0.10823 | 13.645 | -41.591 | 22.930