Skip to content

ParticleJetTools: Fix for the case where the output decoration already exists.

In derivation, we can have configurations where different algorithms are both configured to write the same output decoration. Before writing the decoration, the code here was testing if the decoration already exists and if so, skipping the write.

However, the code was also using the WriteDecorHandle to read the decoration. But this fails if the decoration is locked, as it should be if it was written by a previous algorithm. This was only working before due to a bug in WriteDecorHandle where it would fail to lock the decoration if isAvailable() had been called before the write. Fixed by using a ConstAccessor.

Note, though, that configuration where multiple algorithms are producing the same decorations are not likely to work reliably in MT.

In support of !73627 / ATLASRECTS-8008.

Edited by Scott Snyder

Merge request reports

Loading