CPU optimization for SCT/Strip digitization
A few optimizations for SCT_FrontEnd as discussed in ATLITKSW-161 that improve the CPU performance while leaving RDO content unchanged (tested for Run 2 detector):
-
Remove some items from
SCT_FrontEndData
which are never used outside of where they are initially filled, and so can be replaced by a local variable -
Avoid assigning zero to per-strip Gain vector, and just reserve size instead; any places where the values are used should have been filled previously, and so the (costly) initial zeroing is not needed.
Running an ITkStrip
digitization test job, this saves ~55s out of a total of ~170s as shown below. For SCT
this should also give noticeable CPU savings (although not as large as for ITk due to there being fewer channels).