Migrate TRTDigitizationTool to use IAtRNGSvc for AthenaMT
In order to make the output of MT MC Overlay (and digitization) reproducible then we need to use the thread-safe random number service (via IAtRNGSvc
) in all digitization code. This merge request does this for the TRT Digitization code.
The approach taken is to retrieve the CLHEP::HepRandomEngine
instance re-seeded for the current event in a method of the PileUpTool
which is called once per event, this is then as an argument in calls to other methods where random numbers are required. This helps to make those tools (more) const.
Due to the slightly different way that the random number seeding is done in the MT service, the output is slightly different, but this should just be statistical.
Edited by John Derek Chapman