Skip to content

Make fastjet::Filter a local variable to avoid cross-event state

Teng Jian Khoo requested to merge khoo/athena:master-JetRec-TrimmingMT into master

As discussed on ATR-22142, the fastjet::Filter member variable in the JetTrimming class could hold state across multiple jets and multiple events, which is a serious multithreading risk and could be a cause of the regular segfaults seen in trimming. This class being lightweight, we should be able to afford generating a new Filter for every jet requiring trimming, and thereby avoid any state retention.

Incidentally simplified retrieval of jets from DataVector after emplace_back.

Merge request reports