Skip to content

Prevent CP algorithms from copying the EventInfo collection

Jon Burr requested to merge jburr/athena:CPAlgsPRW into 21.2

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.

Tagging @tadej, @krumnack and @will for info.

Merge request reports