This was long overdue, essentially this allows to write out systematic variations at the decoration level, instead of the container level. The main advantage is that we end up with fewer systematically varied containers in the end, which then propagates to fewer systematically varied containers downstream, and with that fewer tool executions downstream as well. That should save some CPU and disk space.
The plan is (mostly) to use this for scale factors which have their own systematics and aren't really read back again anywhere in the analysis chain. I put it in for the muon scale factors as an example, but if people are happy with it we would then add it to the other object types as well.
The way it is set up it should still be possible to configure algorithms the old way if preferred. Actually I'm not 100% sure that I got the configuration right, if not I may have to dig into the
AnaAlgSequence code again. At least so far my tests seem to indicate it works right though.