@@ -13,12 +13,12 @@ These guidelines are intended to complement the [C++ coding guidelines](/coding-
## EDM
### ReadHandleKeys/WriteHandleKeys
- If an Algorithm creates a collection, a `WriteHandle`for this collection should always be used to record this collect to StoreGate. The Algorithm should have a corresponding `WriteHandleKey` configurable property.
- If an Algorithm creates a collection, a `WriteHandle` should always be used to record this collection to StoreGate. The Algorithm should have a corresponding `WriteHandleKey` configurable property.
- If an Algorithm reads a collection from StoreGate, a `ReadHandle` should always be used. The Algorithm should have a corresponding `ReadHandleKey` configurable property.
!!! warning
Objects written to StoreGate should should not be modified once the corresponding `WriteHandle` has gone out of scope.
In such cases, a copy of the object with the required updates should be made instead. (Exception: See information about "Decorations" for xAOD::Containers below.)
Objects written to StoreGate should not be modified once the corresponding `WriteHandle` has gone out of scope.
In such cases, a copy of the object with the required updates should be made instead. (Exception: See information about "Decorations" for xAOD::Containers below.)