Skip to content

KalmanVertexUpdator performance tuning for use in AMVF

This MR significantly speeds up the KalmanVertexUpdator's update method by replacing a temporarily created and subsequently destroyed xAOD::Vertex object by a slim struct. This is also done in the IVertexUpdator and propagated to all clients. This, together with local caching of a matrix inversion result, yields a factor of up to 4 speed improvement for the Adaptive multi vertex fitter (see https://its.cern.ch/jira/browse/ATLIDTRKCP-245).

In addition to this performance tuning, some clean-up to the code is performed (removal of commented lines, attempt to clean up indentation to a consistent scheme, uniform use of messaging macros, use of std algorithms where possible, fix of potential memory leak).

The changes were tested to not change the reco output (except for CPU/timings) compared to running the AMVF in an unchanged master.

Adding @sroe and @npetters who are also working on improving the AMVF performance.

Edited by Maximilian Emanuel Goblirsch-Kolb

Merge request reports