From dfac0b1ed86b341500d4641dd09c765b9d008aa2 Mon Sep 17 00:00:00 2001
From: Tadej Novak <tadej.novak@cern.ch>
Date: Wed, 6 Mar 2024 07:34:45 +0100
Subject: [PATCH] CP algs: Move SysListDumperAlg to the common services block

---
 .../AnalysisAlgorithmsConfig/python/FullCPAlgorithmsTest.py   | 1 +
 .../AsgAnalysisAlgorithms/python/AsgAnalysisConfig.py         | 4 ++++
 .../AsgAnalysisAlgorithms/python/OutputAnalysisConfig.py      | 4 ----
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/PhysicsAnalysis/Algorithms/AnalysisAlgorithmsConfig/python/FullCPAlgorithmsTest.py b/PhysicsAnalysis/Algorithms/AnalysisAlgorithmsConfig/python/FullCPAlgorithmsTest.py
index fd56227fd148..4c9fa49c1654 100644
--- a/PhysicsAnalysis/Algorithms/AnalysisAlgorithmsConfig/python/FullCPAlgorithmsTest.py
+++ b/PhysicsAnalysis/Algorithms/AnalysisAlgorithmsConfig/python/FullCPAlgorithmsTest.py
@@ -670,6 +670,7 @@ def makeSequenceBlocks (dataType, algSeq, forCompare, isPhyslite,
 
     # noSystematics is passed in block from config accumulator
     configSeq += config.makeConfig('CommonServices')
+    configSeq.setOptionValue('.systematicsHistogram', 'systematicsList')
     if forCompare:
         configSeq.setOptionValue('.filterSystematics', "^(?:(?!PseudoData).)*$")
 
diff --git a/PhysicsAnalysis/Algorithms/AsgAnalysisAlgorithms/python/AsgAnalysisConfig.py b/PhysicsAnalysis/Algorithms/AsgAnalysisAlgorithms/python/AsgAnalysisConfig.py
index 32fc1193490a..57ac7924dbfe 100644
--- a/PhysicsAnalysis/Algorithms/AsgAnalysisAlgorithms/python/AsgAnalysisConfig.py
+++ b/PhysicsAnalysis/Algorithms/AsgAnalysisAlgorithms/python/AsgAnalysisConfig.py
@@ -18,6 +18,7 @@ class CommonServicesConfig (ConfigBlock) :
         super (CommonServicesConfig, self).__init__ ('CommonServices')
         self.addOption ('runSystematics', None, type=bool)
         self.addOption ('filterSystematics', None, type=str)
+        self.addOption ('systematicsHistogram', None , type=str)
 
     def makeAlgs (self, config) :
 
@@ -41,6 +42,9 @@ class CommonServicesConfig (ConfigBlock) :
                 sysService.systematicsRegex = self.filterSystematics
         config.createService( 'CP::SelectionNameSvc', 'SelectionNameSvc')
 
+        if self.systematicsHistogram is not None:
+            sysDumper = config.createAlgorithm( 'CP::SysListDumperAlg', 'SystematicsPrinter' )
+            sysDumper.histogramName = self.systematicsHistogram
 
 
 class PileupReweightingBlock (ConfigBlock):
diff --git a/PhysicsAnalysis/Algorithms/AsgAnalysisAlgorithms/python/OutputAnalysisConfig.py b/PhysicsAnalysis/Algorithms/AsgAnalysisAlgorithms/python/OutputAnalysisConfig.py
index 0fde30abdc74..2efb88bdccfa 100644
--- a/PhysicsAnalysis/Algorithms/AsgAnalysisAlgorithms/python/OutputAnalysisConfig.py
+++ b/PhysicsAnalysis/Algorithms/AsgAnalysisAlgorithms/python/OutputAnalysisConfig.py
@@ -18,7 +18,6 @@ class OutputAnalysisConfig (ConfigBlock):
         self.addOption ('metTermName', 'Final', type=str)
         self.addOption ('storeSelectionFlags', True, type=bool)
         self.addOption ('selectionFlagPrefix', 'select', type=str)
-        self.addOption ('systematicsHistogram', None , type=str)
         self.addOption ('commands', [], type=None,
                         info="a list of commands for branch selection/configuration")
 
@@ -109,9 +108,6 @@ class OutputAnalysisConfig (ConfigBlock):
         treeFiller = config.createAlgorithm( 'CP::TreeFillerAlg', 'TreeFiller' + postfix )
         treeFiller.TreeName = self.treeName
 
-        if self.systematicsHistogram is not None:
-            sysDumper = config.createAlgorithm( 'CP::SysListDumperAlg', 'SystematicsPrinter' )
-            sysDumper.histogramName = self.systematicsHistogram
 
     def createSelectionFlagBranches(self, config):
         """
-- 
GitLab