Skip to content

Radiation damage speed up

Tomas Dado requested to merge tdado/athena:RadDMG into master

This MR replaces !40382 (closed)

This MR is a fist step towards speeding up the radiation damage code. It has been identified with a profiler that the dominant portion of time is spent in retrieving values for various objects (position, Ramo potential, etc) from a ROOT histogram.

Thus, this MR adds a new helper class that takes a ROOT histogram, transforms it into a 1D linearized vector and adds optimal (to the best of my knowledge) function to find a bin, exploiting the fact that the bins are equidistant.

This results in some tiny differences wrt the old implmentation due to floating point precision, but now the code is faster and the reading of the values from the histograms is not in the top 5 largest CPU consumers anymore, as tested with the overlay transform without pileup.

Further improvements will follow in the future.

cc @tadej

Edited by Tomas Dado

Merge request reports