Skip to content

Further speedup of LArDigitalTrigger stuff

Walter Lampl requested to merge wlampl/athena:isECSpeed into 24.0

This MR contains two things:

  1. Follow-up to !70903 (merged): For SuperCells, the logic to distinguish the EMEC Inner Wheel and Outer Wheel is fairly complicated and shows up in callgrind as hotspot. The default implementation of LArOnlineIDBase::isEMECchannel is the logical or of isEMECIW and isEMECOW, so for SuperCells the complicated logic is used. But to answer just the isEMEC question, a much simpler (and faster) logic can be used. This MR specializes the implementation of isEMECchannel for regular cells and super-cells to do that.

  2. The LArLATOMEBuilderAlg used pow(2,integer) that also showed up in callgrind as hotspot. The functionality can be easily implemented a bit-shifting operation that is much faster. Note that there are more uses of pow(2,integer) in the execute method, but the parameters are compile-time constants and the compiler seems to be smart enough not to calculate the same value over and over again. They do not show up as hotspot.

Merge request reports