Skip to content

DerivationFrameworkMCTruth+DerivationFrameworkL1Calo+DerivationFrameworkTLA: Work around multiple writes to the same decoration.

TruthDressingTool produces an output decoration (dressedPhoton). But the tool gets run with multiple configurations from several algorithms, each of which wanting to update this decoration. That meams that we can't use a WriteDecorHandle, because otherwise the decoration will be left locked after the first algorithm, causing the subsequent ones to fail.

But we don't want to leave the decroration unlocked at the end, because then it will be dropped in deep copies. So we also need the schedule a LockDecoration algorithm once everyone's done scribbling on the decoration.

Having multiple algorithms writing the same decoration like this is of course not MT-safe.

(It only worked in the first place due to a bug in WriteDecorHandle where the decoration would not be locked if isAvailable had been called.)

Also fix the implementation of includeTausInDressingPhotonRemoval.

In support of !73627 / ATLASRECTS-8008.

Merge request reports