Add new ShadowParticle Attribute for linking between GenEvents

Merged John Derek Chapman requested to merge jchapman/athena:ShadowGenParticle_23.0 into 23.0

The new ShadowParticle HepMC3::Attribute class is intended to be used to link GenParticle objects between GenEvent objects.
Currently not used, but is intended to be used as part of the refactoring of the quasi-stable particle simulation code in !63059 (merged).
The purpose of that development is to allow ATLAS to migrate to using GenParticle::id() to link EDM objects to the HepMC truth, rather than the barcode Attribute (using the barcode Attribute is around 10% slower for some production steps than using a GenParticle member variable, as can be seen when comparing performance between master and master--HepMC2, where barcode was a GenParticle member variable).

Tagging @averbyts, @pclark, @tlari, @mbandier

Edited by John Derek Chapman

Merge request reports