Providing an explicit list of branches for truth mini-collections in DAODs
This MR replaces the current AllVariables setting used for the contents of the truth mini-collections (e.g. TruthMuons, TruthElectrons etc with an explicit list of branches. The branch list is extracted from here.
This is necessary to avoid decorations that are written to the main truth collection, and which are used internally, from being swept into the
mini-containers in the output stream and thus ending up in the output files. This happens because the mini-containers are copied from the main
truth container, and depending on when the copying happens, may or may not get these extra decorations. This particularly applies to the
dressedPhoton decorations which are used by the truth jets.
In serial and MP mode, the TruthTau and BornLeptons get these decoration, because those two containers are copied from the main truth
container after the jet finding and therefore after the decorations are written to the main truth. The rest of the mini-truth collections like
TruthMuons don't get them.
In MT mode, additional containers may or may not get the decorations, depending on when the scheduler does the decoration and when it does the copying. The more threads there are, and the more events are processed, the more containers get the decorations.
Although not harmful, these decorations are not used in analysis and it isn't acceptable to have unpredictable contents, which will happen in MT-based processing if no action is taken.
A side effect of this MR is that warning messages about unavailable branches will appear when certain truth containers aren't built (e.g.
TruthBSM for SM samples). The only way around this would be to put logic into the configuration to detect BSM samples, and I think this is
more trouble than it is worth. In any case there are plenty of similar warnings about other containers, and they are only printed once per job.
Due to the removal of these spurious decorations, there will be complaints from the CI about output changes in BornLeptons and TruthTaus.