From 434b93b2bbbd8294aae9dbb5deb1f7c4357d6d77 Mon Sep 17 00:00:00 2001 From: Nils Krumnack <nils.erik.krumnack@cern.ch> Date: Mon, 6 May 2024 15:50:10 -0500 Subject: [PATCH] add an option to add the NOSYS suffix to branches without systematics This makes the n-tuple branches more consistent, and makes it very easy to determine the list of branches for nominal. It also means that if we add (or drop) systematics from a branch, the names of the branches in nominal will not change. That doesn't happen all that often, but could still be helpful. Leaving this disabled by default because it (obviously) changes the n-tuple content. Also we haven't yet decided whether this is even a good idea, but it ought to be a good enough idea to allow users to at least play with it. --- .../AsgAnalysisAlgorithms/python/OutputAnalysisConfig.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/PhysicsAnalysis/Algorithms/AsgAnalysisAlgorithms/python/OutputAnalysisConfig.py b/PhysicsAnalysis/Algorithms/AsgAnalysisAlgorithms/python/OutputAnalysisConfig.py index b9561e276c2c..e4b27ef88890 100644 --- a/PhysicsAnalysis/Algorithms/AsgAnalysisAlgorithms/python/OutputAnalysisConfig.py +++ b/PhysicsAnalysis/Algorithms/AsgAnalysisAlgorithms/python/OutputAnalysisConfig.py @@ -47,6 +47,9 @@ class OutputAnalysisConfig (ConfigBlock): "prefaced by the keywords enable or disable) to turn on/off the " "writing of branches to the output ntuple. The default is None " "(no modification to the scheduled output branches).") + self.addOption ('alwaysAddNosys', False, type=bool, + info="If set to True, all branches will be given a systematics suffix, " + "even if they have no systematics (beyond the nominal).") def makeAlgs (self, config) : @@ -114,6 +117,8 @@ class OutputAnalysisConfig (ConfigBlock): if outputConfig.noSys : outputConfig.outputContainerName = outputConfig.outputContainerName.replace ('%SYS%', 'NOSYS') outputConfig.variableName = outputConfig.variableName.replace ('%SYS%', 'NOSYS') + if self.alwaysAddNosys : + outputName += "_NOSYS" else : outputName += '_%SYS%' myVars += [outputConfig.outputContainerName + '.' + outputConfig.variableName + ' -> ' + outputName] -- GitLab