From 1f83fd7290d90e504a727080f87f39230bb91ed1 Mon Sep 17 00:00:00 2001
From: Dave Casper <dcasper@localhost.localdomain>
Date: Thu, 16 Jan 2020 02:10:10 -0800
Subject: [PATCH] Start making configuration work

---
 .../python/FaserSCT_DigitizationConfigNew.py  | 17 +++---
 .../test/FaserSCT_DigitizationDbg.py          | 58 +++++++++++++++++++
 2 files changed, 67 insertions(+), 8 deletions(-)
 create mode 100644 Tracker/TrackerDigitization/FaserSCT_Digitization/test/FaserSCT_DigitizationDbg.py

diff --git a/Tracker/TrackerDigitization/FaserSCT_Digitization/python/FaserSCT_DigitizationConfigNew.py b/Tracker/TrackerDigitization/FaserSCT_Digitization/python/FaserSCT_DigitizationConfigNew.py
index 4bb87778..92b74cad 100644
--- a/Tracker/TrackerDigitization/FaserSCT_Digitization/python/FaserSCT_DigitizationConfigNew.py
+++ b/Tracker/TrackerDigitization/FaserSCT_Digitization/python/FaserSCT_DigitizationConfigNew.py
@@ -17,9 +17,9 @@ PileUpXingFolder=CompFactory.PileUpXingFolder
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 #SCT_RadDamageSummaryTool=CompFactory.SCT_RadDamageSummaryTool
 from FaserSCT_GeoModel.FaserSCT_GeoModelConfig import FaserSCT_GeometryCfg
-#from SCT_ConditionsTools.SCT_DCSConditionsConfig import SCT_DCSConditionsCfg
-#from SCT_ConditionsTools.SCT_SiliconConditionsConfig import SCT_SiliconConditionsToolCfg, SCT_SiliconConditionsCfg
-#from SCT_ConditionsTools.SCT_ReadCalibChipDataConfig import SCT_ReadCalibChipDataCfg
+from SCT_ConditionsTools.SCT_DCSConditionsConfig import SCT_DCSConditionsCfg
+from SCT_ConditionsTools.SCT_SiliconConditionsConfig import SCT_SiliconConditionsToolCfg, SCT_SiliconConditionsCfg
+from SCT_ConditionsTools.SCT_ReadCalibChipDataConfig import SCT_ReadCalibChipDataCfg
 from SiPropertiesTool.SCT_SiPropertiesConfig import SCT_SiPropertiesCfg
 from SiLorentzAngleTool.SCT_LorentzAngleConfig import SCT_LorentzAngleCfg
 from Digitization.TruthDigitizationOutputConfig import TruthDigitizationOutputCfg
@@ -149,12 +149,12 @@ def SCT_SurfaceChargesGeneratorCfg(flags, name="SCT_SurfaceChargesGenerator", **
     # experimental SCT_DetailedSurfaceChargesGenerator config dropped here
     tool = SCT_SurfaceChargesGenerator(name, **kwargs)
     #tool.RadDamageSummaryTool = SCT_RadDamageSummaryTool()
-    #DCSCondTool = acc.popToolsAndMerge(SCT_DCSConditionsCfg(flags))
+    DCSCondTool = acc.popToolsAndMerge(SCT_DCSConditionsCfg(flags))
     SiliCondTool = SCT_SiliconConditionsToolCfg(flags)
-    #SiliCondAcc = SCT_SiliconConditionsCfg(flags, DCSConditionsTool=DCSCondTool)
+    SiliCondAcc = SCT_SiliconConditionsCfg(flags, DCSConditionsTool=DCSCondTool)
     SiliPropsAcc = SCT_SiPropertiesCfg(flags, SiConditionsTool=SiliCondTool)
-    #acc.merge(SiliCondAcc)
-    tool.SiConditionsTool = SiliCondTool
+    acc.merge(SiliCondAcc)
+    #tool.SiConditionsTool = SiliCondTool
     tool.SiPropertiesTool = acc.popToolsAndMerge(SiliPropsAcc)
     tool.LorentzAngleTool = acc.popToolsAndMerge(SCT_LorentzAngleCfg(flags))
     acc.setPrivateTools(tool)
@@ -194,7 +194,8 @@ def SCT_FrontEndCfg(flags, name="SCT_FrontEnd", **kwargs):
     kwargs.setdefault("UseCalibData", True)
     # Setup the ReadCalibChip folders and Svc
     acc = SCT_ReadCalibChipDataCfg(flags)
-    kwargs.setdefault("SCT_ReadCalibChipDataTool", acc.popPrivateTools())
+    garbage = acc.popPrivateTools()
+    #kwargs.setdefault("SCT_ReadCalibChipDataTool", acc.popPrivateTools())
     # DataCompressionMode: 1 is level mode x1x (default), 2 is edge mode 01x, 3 is expanded any hit xxx
     if flags.Digitization.PileUpPremixing:
         kwargs.setdefault("DataCompressionMode", 3)
diff --git a/Tracker/TrackerDigitization/FaserSCT_Digitization/test/FaserSCT_DigitizationDbg.py b/Tracker/TrackerDigitization/FaserSCT_Digitization/test/FaserSCT_DigitizationDbg.py
new file mode 100644
index 00000000..dd51e8f8
--- /dev/null
+++ b/Tracker/TrackerDigitization/FaserSCT_Digitization/test/FaserSCT_DigitizationDbg.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python                                                                                                                                 
+"""Test various ComponentAccumulator Digitization configuration modules                                                                               
+                                                                                                                                                      
+Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration                                                                               
+"""
+import sys
+from AthenaCommon.Logging import log
+from AthenaCommon.Constants import DEBUG
+from AthenaCommon.Configurable import Configurable
+from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from AthenaConfiguration.AllConfigFlags import ConfigFlags
+from AthenaConfiguration.TestDefaults import defaultTestFiles
+from AthenaConfiguration.MainServicesConfig import MainServicesSerialCfg
+from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
+from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
+#from Digitization.DigitizationParametersConfig import writeDigitizationMetadata                                                                      
+from FaserSCT_Digitization.FaserSCT_DigitizationConfigNew import SCT_DigitizationCfg
+#from MCTruthSimAlgs.RecoTimingConfig import MergeRecoTimingObjCfg                                                                                    
+
+# Set up logging and new style config                                                                                                                 
+log.setLevel(DEBUG)
+Configurable.configurableRun3Behavior = True
+
+# Configure                                                                                                                                           
+ConfigFlags.Input.Files = ['g4.HITS.root']
+ConfigFlags.Output.RDOFileName = "myRDO.pool.root"
+ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-14"
+ConfigFlags.GeoModel.Align.Dynamic = False
+ConfigFlags.Concurrency.NumThreads = 1
+ConfigFlags.Beam.NumberOfCollisions = 0.
+
+ConfigFlags.GeoModel.FaserVersion = "FASER-00"               # Always needed                                                                          
+ConfigFlags.GeoModel.AtlasVersion = "ATLAS-R2-2016-01-00-01" # Always needed to fool autoconfig                                                       
+
+ConfigFlags.lock()
+
+# Core components                                                                                                                                     
+acc = MainServicesSerialCfg()
+acc.merge(PoolReadCfg(ConfigFlags))
+acc.merge(PoolWriteCfg(ConfigFlags))
+#acc.merge(writeDigitizationMetadata(ConfigFlags))                                                                                                    
+
+# Inner Detector                                                                                                                                      
+acc.merge(SCT_DigitizationCfg(ConfigFlags))
+
+# Timing                                                                                                                                              
+#acc.merge(MergeRecoTimingObjCfg(ConfigFlags))                                                                                                        
+
+# Dump config                                                                                                                                         
+acc.getService("StoreGateSvc").Dump = True
+acc.getService("ConditionStore").Dump = True
+acc.printConfig(withDetails=True)
+ConfigFlags.dump()
+# Execute and finish                                                                                                                                  
+sc = acc.run(maxEvents=3)
+# Success should be 0                                                                                                                                 
+sys.exit(not sc.isSuccess())
+
-- 
GitLab