Skip to content

Reduce overhead in SiDetElementsRoadMaker_xk

So far, the SiDetElementsRoadMaker_xk would re-populate a large array of vectors of vectors with several thousand elements for every call of the tool - so once per seed (thousands of times per event).

This MR reduces overhead by using an event data struct to store this array, booking it once per event, and only resetting its content upon each call rather than re-booking. This reduces the number of re-allocations by a factor of around 2000 in mu=60 offline tracking. Tracking performance stays unchanged. Offline CPU impact is minor, but we expect to improve for the trigger.

To pass the event data struct to the road maker tool, interface changes were necessary. However, there is just one tool using this interface, so no clashes are expected.

In addition, added some further documentation.

Adding @sroe, @npetters, @christos and @smh for info.

Edited by Maximilian Emanuel Goblirsch-Kolb

Merge request reports