Make fastjet::Filter a local variable to avoid cross-event state
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
.