Skip to content

Optimised caching of SCT BS decoding errors

Ths MR is another attempt (previous ones were to hard to restart on) to improve the performance of the SCT BS Errors Tool. The fix works as follows. When decoding the data we fill Errors IDC for every decoded ID. With value 0 if there is no error. Then, in the BS Error tool when we consume this information the cache for SCT modules is filled from all decoded data. Most of the cases it will be filled with 0 signifying that there was no error. But this then helps to avoid doing tedious check each time the tool is asked if there is an error for an HashID as it was done so far. For that, it had to check the IDC cache again and again.

Tagging: @oda @abarton related to: https://its.cern.ch/jira/browse/ATLASRECTS-5433 and is a continuation of https://its.cern.ch/jira/browse/ATR-20647

PS. Sorry for trailings spaces cleanup. I was playing with editor settings. Please have a look at the changes neglecting white space changes.

For reference. The number of calls of the expensive SCT_ByteStreamErrorsTool::fillData was 644438 and after the change improving the caching is: 13240 in the 20 events trigger test job which configures ... > 50 instances of this tool. This actually points to another potential for optimisation.

Edited by Tomasz Bold

Merge request reports