Prevent CP algorithms from copying the EventInfo collection
In general we only want to have 1 EventInfo
container. Right now there are a few algorithms apply weight decorations to the EventInfo
which depend on systematics. This MR switches those to use SysDecorationHandles
. The most involved one of these is the pileup reweighting alg. This required me to make a small (backwards compatible) change in the tool's interface so that the methods used in apply
could be extracted into the algorithm's body.
This also adds a new ctest to run the pileup reweighting. I've checked that all the existing ctests run correctly.
Something that might need some discussion is whether or not we want to have the EventInfo as an inputProp
for the sequences (i.e. something that needs to be configured). I feel that we don't want to do this, so I've removed it from the sequence append calls, but I've left it configurable on the actual algorithms in case there are workflows that require it. This does mean that the PRW algorithm is a bit more complicated as it has decorations that are affected by the PRW tool's systematics and ones which are not...
This replaces !46907 (closed) as I had to cherry-pick these commits to deal with the large number of changes swept from r22.