From 30ceceda3924b50fadb1fa35c8a7f99e8180386a Mon Sep 17 00:00:00 2001
From: Susumu Oda <susumu.oda@cern.ch>
Date: Thu, 6 Sep 2018 14:55:14 +0000
Subject: [PATCH] Make SCT conditions tools private (ATLASRECTS-4563)

---
 .../share/testCalibChipRead.py                |  2 +-
 .../share/testCalibRead.py                    |  7 ++++--
 .../share/testConfig.py                       |  6 ++---
 .../share/testDCSConditions.py                | 14 ++++-------
 .../share/testMajority.py                     |  4 ---
 .../share/testModuleVeto.py                   |  4 ---
 .../share/testMonRead.py                      |  6 +----
 .../share/testParameters.py                   | 13 +++++-----
 .../share/testReadout.py                      |  4 ---
 .../share/testRodVeto.py                      | 13 ++++------
 .../share/testSensors.py                      |  4 ---
 .../share/testSilicon.py                      |  6 +----
 .../share/testStripVeto.py                    |  6 +----
 .../share/testSummary.py                      | 10 +++++---
 .../share/testTdaqEnabled.py                  | 14 ++++-------
 .../python/SCT_ByteStreamErrorsToolSetup.py   | 10 +++-----
 .../SCT_ConditionsParameterToolSetup.py       |  6 ++---
 .../python/SCT_ConditionsSummaryToolSetup.py  | 25 +++++++++++--------
 .../SCT_ConfigurationConditionsToolSetup.py   |  6 ++---
 .../python/SCT_DCSConditionsToolSetup.py      | 10 +++-----
 .../python/SCT_FlaggedConditionToolSetup.py   |  6 ++---
 .../python/SCT_LinkMaskingToolSetup.py        |  6 ++---
 .../python/SCT_MajorityConditionsToolSetup.py |  6 ++---
 .../python/SCT_ModuleVetoToolSetup.py         |  6 ++---
 .../python/SCT_MonitorConditionsToolSetup.py  | 10 +++-----
 .../python/SCT_RODVetoToolSetup.py            |  6 ++---
 .../python/SCT_RadDamageSummaryToolSetup.py   |  6 ++---
 .../python/SCT_ReadCalibChipDataToolSetup.py  |  6 ++---
 .../python/SCT_ReadCalibDataToolSetup.py      |  6 ++---
 .../python/SCT_SensorsToolSetup.py            |  6 ++---
 .../python/SCT_SiliconConditionsToolSetup.py  | 10 +++-----
 .../python/SCT_StripVetoToolSetup.py          |  6 ++---
 .../python/SCT_TdaqEnabledToolSetup.py        |  8 +++---
 .../python/SCT_SiPropertiesToolSetup.py       | 10 +++-----
 .../share/InDetRecConditionsAccess.py         |  3 +--
 .../python/InDetTrigConfigConditions.py       |  6 ++---
 .../share/SCTMonitor_topOptions.py            |  3 +--
 .../python/CombinedMuonTrackSummary.py        |  6 ++++-
 .../TrigUpgradeTest/python/InDetSetup.py      |  6 ++---
 39 files changed, 113 insertions(+), 179 deletions(-)

diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testCalibChipRead.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testCalibChipRead.py
index 755b8d61fba..29d561aa9dd 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testCalibChipRead.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testCalibChipRead.py
@@ -108,7 +108,7 @@ sct_ReadCalibChipDataToolSetup.setup()
 SCT_ReadCalibChipDataTool=sct_ReadCalibChipDataToolSetup.getTool()
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_ReadCalibChipDataTestAlg
-topSequence+= SCT_ReadCalibChipDataTestAlg()
+topSequence+= SCT_ReadCalibChipDataTestAlg(SCT_ReadCalibChipDataTool=SCT_ReadCalibChipDataTool)
 
 ##Modules to test:
 ##136523776, strips 0-255 BAD_OPE=good
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testCalibRead.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testCalibRead.py
index 179f04e6e8b..8fdc2bae41a 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testCalibRead.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testCalibRead.py
@@ -80,10 +80,13 @@ DetFlags.readRIOBS.all_setOff()
 DetFlags.readRIOPool.all_setOff()
 DetFlags.writeRIOPool.all_setOff()
 
-
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
+# Set up SCT cabling
+from AthenaCommon.Include import include
+include('InDetRecExample/InDetRecCabling.py')
+
 #--------------------------------------------------------------
 # Load ReadCalibData Alg and Service
 #--------------------------------------------------------------
@@ -107,7 +110,7 @@ SCT_ReadCalibDataCondAlg = sct_ReadCalibDataToolSetup.getAlg()
 SCT_ReadCalibDataTool = sct_ReadCalibDataToolSetup.getTool()
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_ReadCalibDataTestAlg
-topSequence+= SCT_ReadCalibDataTestAlg()
+topSequence+= SCT_ReadCalibDataTestAlg(SCT_ReadCalibDataTool=SCT_ReadCalibDataTool)
 
 # <-999 setting ignores the defect, otherwise it will be checked against the set value
 SCT_ReadCalibDataCondAlg.IgnoreDefects = ["NOISE_SLOPE","OFFSET_SLOPE","GAIN_SLOPE","BAD_OPE"]
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testConfig.py
index 11db021654b..d2095ea25ed 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testConfig.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testConfig.py
@@ -58,9 +58,9 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
+# Set up SCT cabling
+from AthenaCommon.Include import include
+include('InDetRecExample/InDetRecCabling.py')
 
 from AthenaCommon.AlgSequence import AlgSequence
 job = AlgSequence()
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testDCSConditions.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testDCSConditions.py
index fa51c726235..6a3bfb45f6a 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testDCSConditions.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testDCSConditions.py
@@ -70,9 +70,10 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
+# Set up SCT_DCSConditionsTool and required conditions folders and conditions algorithms
+from SCT_ConditionsTools.SCT_DCSConditionsToolSetup import SCT_DCSConditionsToolSetup
+sct_DCSConditionsToolSetup = SCT_DCSConditionsToolSetup()
+sct_DCSConditionsToolSetup.setup()
 
 #--------------------------------------------------------------
 # Load DCSConditions Alg and Service
@@ -81,12 +82,7 @@ from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsTestAlg
-topSequence+= SCT_DCSConditionsTestAlg()
-
-# Set up SCT_DCSConditionsTool and required conditions folders and conditions algorithms
-from SCT_ConditionsTools.SCT_DCSConditionsToolSetup import SCT_DCSConditionsToolSetup
-sct_DCSConditionsToolSetup = SCT_DCSConditionsToolSetup()
-sct_DCSConditionsToolSetup.setup()
+topSequence+= SCT_DCSConditionsTestAlg(SCT_DCSConditionsTool=sct_DCSConditionsToolSetup.getTool())
 
 #--------------------------------------------------------------
 # Event selector settings. Use McEventSelector
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testMajority.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testMajority.py
index 171fc883d16..3c0344e023b 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testMajority.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testMajority.py
@@ -58,10 +58,6 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
-
 #--------------------------------------------------------------
 # Load conditions services and alg
 #--------------------------------------------------------------
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testModuleVeto.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testModuleVeto.py
index 3468eb5dd1d..9685f0a0974 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testModuleVeto.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testModuleVeto.py
@@ -59,10 +59,6 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
-
 from AthenaCommon.AlgSequence import AlgSequence
 
 job = AlgSequence()
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testMonRead.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testMonRead.py
index 1afff782494..c6f61410eac 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testMonRead.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testMonRead.py
@@ -60,10 +60,6 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
-
 #------------------------------------------------------------
 
 from AthenaCommon.AlgSequence import AlgSequence
@@ -81,7 +77,7 @@ SCT_MonitorConditionsTool=sct_MonitorConditionsToolSetup.getTool()
 SCT_MonitorConditionsTool.OutputLevel = DEBUG
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_MonitorConditionsTestAlg
-job+= SCT_MonitorConditionsTestAlg()
+job+= SCT_MonitorConditionsTestAlg(SCT_MonitorConditionsTool=SCT_MonitorConditionsTool)
 
 SCT_MonitorTest=job.SCT_MonitorConditionsTestAlg
 SCT_MonitorTest.OutputLevel  = 2
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testParameters.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testParameters.py
index 80f81f43279..1f28de14c8b 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testParameters.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testParameters.py
@@ -69,19 +69,20 @@ DetFlags.readRIOBS.all_setOff()
 DetFlags.readRIOPool.all_setOff()
 DetFlags.writeRIOPool.all_setOff()
 
-
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
+# Set up SCT cabling
+runNumber=215643
+rec.RunNumber.set_Value_and_Lock(runNumber)
+from AthenaCommon.Include import include
+include('InDetRecExample/InDetRecCabling.py')
 
 #--------------------------------------------------------------
 # Event selector settings. Use McEventSelector
 #--------------------------------------------------------------
 import AthenaCommon.AtlasUnixGeneratorJob
-ServiceMgr.EventSelector.RunNumber = 215643
+ServiceMgr.EventSelector.RunNumber = runNumber
 # initial time stamp - this is number of seconds since 1st Jan 1970 GMT
 ServiceMgr.EventSelector.InitialTimeStamp  = 1354748400 # LB 469 of run 215643, 2012-12-05 @ 11:00pm (UTC)
 ServiceMgr.EventSelector.TimeStampInterval = 180 # increment of 3 minutes
@@ -120,4 +121,4 @@ sct_ConditionsParameterToolSetup = SCT_ConditionsParameterToolSetup()
 sct_ConditionsParameterToolSetup.setup()
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_ConditionsParameterTestAlg
-topSequence+= SCT_ConditionsParameterTestAlg()
+topSequence+= SCT_ConditionsParameterTestAlg(SCT_ConditionsParameterTool=sct_ConditionsParameterToolSetup.getTool())
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testReadout.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testReadout.py
index c241d578fc7..ab9ebe8e287 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testReadout.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testReadout.py
@@ -58,10 +58,6 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
-
 from AthenaCommon.AlgSequence import AlgSequence
 
 job = AlgSequence()
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testRodVeto.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testRodVeto.py
index 6f8f347ba68..de9028807cb 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testRodVeto.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testRodVeto.py
@@ -56,17 +56,14 @@ DetFlags.readRIOBS.all_setOff()
 DetFlags.readRIOPool.all_setOff()
 DetFlags.writeRIOPool.all_setOff()
 
-
-
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
+# Set up SCT cabling
+from AthenaCommon.Include import include
+include('InDetRecExample/InDetRecCabling.py')
 
 from AthenaCommon.AlgSequence import AlgSequence
-
 job = AlgSequence()
 
 #--------------------------------------------------------------
@@ -88,11 +85,11 @@ sct_RODVetoToolSetup.setup()
 sct_RODVetoToolSetup.getAlg().BadRODIds = [0x240100, 0x240030]
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_RODVetoTestAlg
-job+= SCT_RODVetoTestAlg()
+job+= SCT_RODVetoTestAlg(SCT_RODVetoTool=sct_RODVetoToolSetup.getTool())
 
 
 import AthenaCommon.AtlasUnixGeneratorJob
-ToolSvc.SCT_RODVetoTool.OutputLevel=VERBOSE
+sct_RODVetoToolSetup.getTool().OutputLevel=VERBOSE
 ServiceMgr.EventSelector.InitialTimeStamp = 1500000000
 ServiceMgr.EventSelector.RunNumber = 300000 # MC16c 2017 run number
 theApp.EvtMax = 1
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSensors.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSensors.py
index a90691c1e67..7cf7f58073b 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSensors.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSensors.py
@@ -75,10 +75,6 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
-
 from SCT_ConditionsTools.SCT_SensorsToolSetup import SCT_SensorsToolSetup
 sct_SensorsToolSetup = SCT_SensorsToolSetup()
 sct_SensorsToolSetup.setFolderTag("SctSensors-Sep03-14")
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSilicon.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSilicon.py
index bb19885d9cf..77781ae4602 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSilicon.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSilicon.py
@@ -60,10 +60,6 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
-
 from AthenaCommon.AlgSequence import AlgSequence
 job = AlgSequence()
 
@@ -89,7 +85,7 @@ sct_SiliconConditionsToolSetup.setDcsTool(sct_DCSConditionsToolSetup.getTool())
 sct_SiliconConditionsToolSetup.setup()
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_SiliconConditionsTestAlg
-job+= SCT_SiliconConditionsTestAlg()
+job+= SCT_SiliconConditionsTestAlg(SCT_SiliconConditionsTool=sct_SiliconConditionsToolSetup.getTool())
 
 import AthenaCommon.AtlasUnixGeneratorJob
 
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testStripVeto.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testStripVeto.py
index d1a6741a668..d591a108b24 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testStripVeto.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testStripVeto.py
@@ -59,10 +59,6 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
-
 from AthenaCommon.AlgSequence import AlgSequence
 
 job = AlgSequence()
@@ -96,7 +92,7 @@ SCT_StripVetoTool.BadStripIdentifiers=[
 SCT_StripVetoTool.OutputLevel=DEBUG
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_StripVetoTestAlg
-job+= SCT_StripVetoTestAlg()
+job+= SCT_StripVetoTestAlg(StripVetoTool=SCT_StripVetoTool)
 
 import AthenaCommon.AtlasUnixGeneratorJob
 
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSummary.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSummary.py
index 047c7d56bdc..935e79df90e 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSummary.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSummary.py
@@ -48,9 +48,11 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
+# Set up SCT cabling
+runNumber=310809
+rec.RunNumber.set_Value_and_Lock(runNumber)
+from AthenaCommon.Include import include
+include('InDetRecExample/InDetRecCabling.py')
 
 from AthenaCommon.AlgSequence import AlgSequence
 
@@ -97,7 +99,7 @@ job+= SCT_ConditionsSummaryTestAlg(SCT_ConditionsSummaryTool=SCT_ConditionsSumma
 
 import AthenaCommon.AtlasUnixGeneratorJob
 
-ServiceMgr.EventSelector.RunNumber  = 310809
+ServiceMgr.EventSelector.RunNumber = runNumber
 import time, calendar
 # initial time stamp - this is number of seconds since 1st Jan 1970 GMT
 # run 310809 Recording start/end 2016-Oct-17 21:39:18 / 2016-Oct-18 16:45:23 UTC
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testTdaqEnabled.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testTdaqEnabled.py
index ada81fd016c..5464bf2701f 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testTdaqEnabled.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testTdaqEnabled.py
@@ -72,10 +72,6 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
-
 from IOVSvc.IOVSvcConf import CondSvc 
 ServiceMgr += CondSvc()
 from AthenaCommon.AlgSequence import AthSequencer 
@@ -84,6 +80,10 @@ condSeq = AthSequencer("AthCondSeq")
 from xAODEventInfoCnv.xAODEventInfoCreator import xAODMaker__EventInfoCnvAlg
 condSeq+=xAODMaker__EventInfoCnvAlg(OutputLevel=2)
 
+from SCT_ConditionsTools.SCT_TdaqEnabledToolSetup import SCT_TdaqEnabledToolSetup
+sct_TdaqEnabledToolSetup = SCT_TdaqEnabledToolSetup()
+sct_TdaqEnabledToolSetup.setup()
+
 #--------------------------------------------------------------
 # Load DCSConditions Alg and Service
 #--------------------------------------------------------------
@@ -91,7 +91,7 @@ from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_TdaqEnabledTestAlg
-topSequence+= SCT_TdaqEnabledTestAlg()
+topSequence+= SCT_TdaqEnabledTestAlg(SCT_TdaqEnabledTool=sct_TdaqEnabledToolSetup.getTool())
 
 #--------------------------------------------------------------
 # Event selector settings. Use McEventSelector
@@ -123,7 +123,3 @@ conddb.addFolderSplitMC("SCT", "/SCT/DAQ/Config/ROD", "/SCT/DAQ/Config/ROD")
 conddb.addFolderSplitMC("SCT", "/SCT/DAQ/Config/Geog", "/SCT/DAQ/Config/Geog")
 conddb.addFolderSplitMC("SCT", "/SCT/DAQ/Config/RODMUR", "/SCT/DAQ/Config/RODMUR")
 conddb.addFolderSplitMC("SCT", "/SCT/DAQ/Config/MUR", "/SCT/DAQ/Config/MUR")
-
-from SCT_ConditionsTools.SCT_TdaqEnabledToolSetup import SCT_TdaqEnabledToolSetup
-sct_TdaqEnabledToolSetup = SCT_TdaqEnabledToolSetup()
-sct_TdaqEnabledToolSetup.setup()
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ByteStreamErrorsToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ByteStreamErrorsToolSetup.py
index f90f419a537..f9130f2d2d2 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ByteStreamErrorsToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ByteStreamErrorsToolSetup.py
@@ -9,15 +9,13 @@ class SCT_ByteStreamErrorsToolSetup:
         self.tool = None
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ByteStreamErrorsTool
             if self.configTool is None:
-                ToolSvc += SCT_ByteStreamErrorsTool(name = self.toolName)
+                self.tool = SCT_ByteStreamErrorsTool(name = self.toolName)
             else:
-                ToolSvc += SCT_ByteStreamErrorsTool(name = self.toolName,
-                                                    ConfigTool = self.configTool)
-        self.tool = getattr(ToolSvc, self.toolName)
+                self.tool = SCT_ByteStreamErrorsTool(name = self.toolName,
+                                                     ConfigTool = self.configTool)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConditionsParameterToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConditionsParameterToolSetup.py
index cc946abc0df..325ceec0d56 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConditionsParameterToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConditionsParameterToolSetup.py
@@ -50,11 +50,9 @@ class SCT_ConditionsParameterToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ConditionsParameterTool
-            ToolSvc += SCT_ConditionsParameterTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_ConditionsParameterTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConditionsSummaryToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConditionsSummaryToolSetup.py
index 0c85043e84d..f50ae4e070d 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConditionsSummaryToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConditionsSummaryToolSetup.py
@@ -1,18 +1,26 @@
 # Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 
+def singleton(cls):
+    # Create only one instance for one toolName to use the same configuration
+    instances = {} # Dictionary: key: toolName, value instance
+    def wrapper(toolName="InDetSCT_ConditionsSummaryTool"):
+        if (cls, toolName) not in instances:
+            instances[(cls, toolName)] = cls(toolName)
+        return instances[(cls, toolName)]
+    return wrapper
+
+@singleton
 class SCT_ConditionsSummaryToolSetup:
-    "Class to simplify setup of SCT_ConditionsSummaryTool and required conditions algorithms"
+    # Class to simplify setup of SCT_ConditionsSummaryTool
 
-    def __init__(self):
-        self.toolName = "InDetSCT_ConditionsSummaryTool"
+    def __init__(self, toolName):
+        self.toolName = toolName
         self.tool = None
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ConditionsSummaryTool
-            ToolSvc += SCT_ConditionsSummaryTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_ConditionsSummaryTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
@@ -20,8 +28,5 @@ class SCT_ConditionsSummaryToolSetup:
     def getToolName(self):
         return self.toolName
 
-    def setToolName(self, toolName):
-        self.toolName = toolName
-
     def setup(self):
         self.setTool()
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConfigurationConditionsToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConfigurationConditionsToolSetup.py
index 5c076d53464..b67aab56955 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConfigurationConditionsToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConfigurationConditionsToolSetup.py
@@ -94,11 +94,9 @@ class SCT_ConfigurationConditionsToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ConfigurationConditionsTool
-            ToolSvc += SCT_ConfigurationConditionsTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_ConfigurationConditionsTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_DCSConditionsToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_DCSConditionsToolSetup.py
index f5db0a6cd1a..5c82a744df5 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_DCSConditionsToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_DCSConditionsToolSetup.py
@@ -126,13 +126,11 @@ class SCT_DCSConditionsToolSetup:
             self.tempAlg = getattr(condSeq, self.tempAlgName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_DCSConditionsTool
-            ToolSvc += SCT_DCSConditionsTool(name = self.toolName,
-                                               ReadAllDBFolders = self.readAllDBFolders,
-                                               ReturnHVTemp = self.returnHVTemp)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_DCSConditionsTool(name = self.toolName,
+                                              ReadAllDBFolders = self.readAllDBFolders,
+                                              ReturnHVTemp = self.returnHVTemp)
 
     def setup(self):
         self.setFolders()
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_FlaggedConditionToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_FlaggedConditionToolSetup.py
index e17fda14c6b..ca739cac6f4 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_FlaggedConditionToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_FlaggedConditionToolSetup.py
@@ -8,11 +8,9 @@ class SCT_FlaggedConditionToolSetup:
         self.tool = None
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_FlaggedConditionTool
-            ToolSvc += SCT_FlaggedConditionTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_FlaggedConditionTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_LinkMaskingToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_LinkMaskingToolSetup.py
index 0a59d3a173b..5cb2bbb5737 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_LinkMaskingToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_LinkMaskingToolSetup.py
@@ -50,11 +50,9 @@ class SCT_LinkMaskingToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_LinkMaskingTool
-            ToolSvc += SCT_LinkMaskingTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_LinkMaskingTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MajorityConditionsToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MajorityConditionsToolSetup.py
index ccecade4ea0..58d8a363400 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MajorityConditionsToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MajorityConditionsToolSetup.py
@@ -50,11 +50,9 @@ class SCT_MajorityConditionsToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_MajorityConditionsTool
-            ToolSvc += SCT_MajorityConditionsTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_MajorityConditionsTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ModuleVetoToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ModuleVetoToolSetup.py
index aa9b25c82d1..1b7082ee08e 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ModuleVetoToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ModuleVetoToolSetup.py
@@ -61,11 +61,9 @@ class SCT_ModuleVetoToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ModuleVetoTool
-            ToolSvc += SCT_ModuleVetoTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_ModuleVetoTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MonitorConditionsToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MonitorConditionsToolSetup.py
index 7e5ed1a218b..bf11982ee33 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MonitorConditionsToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MonitorConditionsToolSetup.py
@@ -51,15 +51,13 @@ class SCT_MonitorConditionsToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_MonitorConditionsTool
             if self.outputLevel is None:
-                ToolSvc += SCT_MonitorConditionsTool(name = self.toolName)
+                self.tool = SCT_MonitorConditionsTool(name = self.toolName)
             else:
-                ToolSvc += SCT_MonitorConditionsTool(name = self.toolName,
-                                                     OutputLevel = self.outputLevel)
-        self.tool = getattr(ToolSvc, self.toolName)
+                self.tool = SCT_MonitorConditionsTool(name = self.toolName,
+                                                      OutputLevel = self.outputLevel)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_RODVetoToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_RODVetoToolSetup.py
index 1967c488989..2f9306eb82e 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_RODVetoToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_RODVetoToolSetup.py
@@ -23,11 +23,9 @@ class SCT_RODVetoToolSetup:
         return self.alg
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_RODVetoTool
-            ToolSvc += SCT_RODVetoTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_RODVetoTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_RadDamageSummaryToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_RadDamageSummaryToolSetup.py
index e60380ef1f9..ad5bf54c9d8 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_RadDamageSummaryToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_RadDamageSummaryToolSetup.py
@@ -8,11 +8,9 @@ class SCT_RadDamageSummaryToolSetup:
         self.tool = None
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_RadDamageSummaryTool
-            ToolSvc += SCT_RadDamageSummaryTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_RadDamageSummaryTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibChipDataToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibChipDataToolSetup.py
index 7aacb61fa18..fe95b0e8ba3 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibChipDataToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibChipDataToolSetup.py
@@ -73,11 +73,9 @@ class SCT_ReadCalibChipDataToolSetup:
         self.alg = getattr(condSeq, self.gainAlgName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ReadCalibChipDataTool
-            ToolSvc += SCT_ReadCalibChipDataTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_ReadCalibChipDataTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibDataToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibDataToolSetup.py
index 4449f3fc059..ac0e3d7c376 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibDataToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibDataToolSetup.py
@@ -41,11 +41,9 @@ class SCT_ReadCalibDataToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ReadCalibDataTool
-            ToolSvc += SCT_ReadCalibDataTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_ReadCalibDataTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SensorsToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SensorsToolSetup.py
index f162246c97c..d67422a7ca4 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SensorsToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SensorsToolSetup.py
@@ -60,11 +60,9 @@ class SCT_SensorsToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_SensorsTool
-            ToolSvc += SCT_SensorsTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_SensorsTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsToolSetup.py
index 5567e9b3344..3a44384c0c8 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsToolSetup.py
@@ -70,13 +70,11 @@ class SCT_SiliconConditionsToolSetup:
         self.tempAlg = getattr(condSeq, self.tempAlgName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_SiliconConditionsTool
-            ToolSvc += SCT_SiliconConditionsTool(name = self.toolName,
-                                                 UseDB = self.useDB,
-                                                 ForceUseGeoModel = self.forceUseGeoModel)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_SiliconConditionsTool(name = self.toolName,
+                                                  UseDB = self.useDB,
+                                                  ForceUseGeoModel = self.forceUseGeoModel)
 
     def setUseDB(self, useDB):
         self.useDB = useDB
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_StripVetoToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_StripVetoToolSetup.py
index 0948ddec78d..3eed264358f 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_StripVetoToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_StripVetoToolSetup.py
@@ -8,11 +8,9 @@ class SCT_StripVetoToolSetup:
         self.tool = None
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_StripVetoTool
-            ToolSvc += SCT_StripVetoTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_StripVetoTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_TdaqEnabledToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_TdaqEnabledToolSetup.py
index 6d4e9e1c71f..846570e28c8 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_TdaqEnabledToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_TdaqEnabledToolSetup.py
@@ -65,12 +65,10 @@ class SCT_TdaqEnabledToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_TdaqEnabledTool
-            ToolSvc += SCT_TdaqEnabledTool(name = self.toolName,
-                                           EventInfoKey = self.eventInfoKey)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_TdaqEnabledTool(name = self.toolName,
+                                            EventInfoKey = self.eventInfoKey)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SiPropertiesSvc/python/SCT_SiPropertiesToolSetup.py b/InnerDetector/InDetConditions/SiPropertiesSvc/python/SCT_SiPropertiesToolSetup.py
index b1b182cd254..04d99f5dda6 100644
--- a/InnerDetector/InDetConditions/SiPropertiesSvc/python/SCT_SiPropertiesToolSetup.py
+++ b/InnerDetector/InDetConditions/SiPropertiesSvc/python/SCT_SiPropertiesToolSetup.py
@@ -45,13 +45,11 @@ class SCT_SiPropertiesToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SiPropertiesSvc.SiPropertiesSvcConf import SiPropertiesTool
-            ToolSvc += SiPropertiesTool(name = self.toolName,
-                                        DetectorName = "SCT",
-                                        ReadKey = "SCTSiliconPropertiesVector")
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SiPropertiesTool(name = self.toolName,
+                                         DetectorName = "SCT",
+                                         ReadKey = "SCTSiliconPropertiesVector")
 
     def setup(self):
         self.setAlg()
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecConditionsAccess.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecConditionsAccess.py
index 22b282434ed..682da3c9372 100644
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecConditionsAccess.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecConditionsAccess.py
@@ -290,8 +290,7 @@ if DetFlags.haveRIO.SCT_on():
         print InDetSCT_ConditionsSummaryTool
 
     # Conditions summary tool without InDetSCT_FlaggedConditionTool
-    sct_ConditionsSummaryToolSetupWithoutFlagged = SCT_ConditionsSummaryToolSetup()
-    sct_ConditionsSummaryToolSetupWithoutFlagged.setToolName("InDetSCT_ConditionsSummaryToolWithoutFlagged")
+    sct_ConditionsSummaryToolSetupWithoutFlagged = SCT_ConditionsSummaryToolSetup("InDetSCT_ConditionsSummaryToolWithoutFlagged")
     sct_ConditionsSummaryToolSetupWithoutFlagged.setup()
     InDetSCT_ConditionsSummaryToolWithoutFlagged = sct_ConditionsSummaryToolSetupWithoutFlagged.getTool()    
     condTools = []
diff --git a/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigConditions.py b/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigConditions.py
index 59a08564ad6..161d56221a5 100644
--- a/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigConditions.py
+++ b/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigConditions.py
@@ -257,8 +257,7 @@ class SCT_ConditionsToolsSetup:
   def initSummaryTool(self, instanceName):
     "Init summary conditions tool"
     from SCT_ConditionsTools.SCT_ConditionsSummaryToolSetup import SCT_ConditionsSummaryToolSetup
-    sct_ConditionsSummaryToolSetup = SCT_ConditionsSummaryToolSetup()
-    sct_ConditionsSummaryToolSetup.setToolName(instanceName)
+    sct_ConditionsSummaryToolSetup = SCT_ConditionsSummaryToolSetup(instanceName)
     sct_ConditionsSummaryToolSetup.setup()
     summaryTool = sct_ConditionsSummaryToolSetup.getTool()
     if self._print:  print summaryTool
@@ -267,8 +266,7 @@ class SCT_ConditionsToolsSetup:
   def initSummaryToolWithoutFlagged(self, instanceName):
     "Init summary conditions tool without flaggedConditionTool"
     from SCT_ConditionsTools.SCT_ConditionsSummaryToolSetup import SCT_ConditionsSummaryToolSetup
-    sct_ConditionsSummaryToolSetupWithoutFlagged = SCT_ConditionsSummaryToolSetup()
-    sct_ConditionsSummaryToolSetupWithoutFlagged.setToolName(instanceName)
+    sct_ConditionsSummaryToolSetupWithoutFlagged = SCT_ConditionsSummaryToolSetup(instanceName)
     sct_ConditionsSummaryToolSetupWithoutFlagged.setup()
     summaryToolWoFlagged = sct_ConditionsSummaryToolSetupWithoutFlagged.getTool()
     condTools = []
diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/share/SCTMonitor_topOptions.py b/InnerDetector/InDetMonitoring/SCT_Monitoring/share/SCTMonitor_topOptions.py
index 374c73dd9ca..9689976b558 100644
--- a/InnerDetector/InDetMonitoring/SCT_Monitoring/share/SCTMonitor_topOptions.py
+++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/share/SCTMonitor_topOptions.py
@@ -49,8 +49,7 @@ if not conddb.folderRequested(SCTConfigurationFolderPath+"MUR"):
 
 # Load condtions tool
 from SCT_ConditionsTools.SCT_ConditionsSummaryToolSetup import SCT_ConditionsSummaryToolSetup
-sct_ConditionsSummaryToolSetup = SCT_ConditionsSummaryToolSetup()
-sct_ConditionsSummaryToolSetup.setToolName("SCT_MonConditionsSummaryTool")
+sct_ConditionsSummaryToolSetup = SCT_ConditionsSummaryToolSetup("SCT_MonConditionsSummaryTool")
 sct_ConditionsSummaryToolSetup.setup()
 SCT_MonConditionsSummaryTool = sct_ConditionsSummaryToolSetup.getTool()
 
diff --git a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/CombinedMuonTrackSummary.py b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/CombinedMuonTrackSummary.py
index eebaf7dcc6b..178cf2c6c6c 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/CombinedMuonTrackSummary.py
+++ b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/CombinedMuonTrackSummary.py
@@ -107,7 +107,11 @@ if DetFlags.haveRIO.pixel_on():
 
   
 if DetFlags.haveRIO.SCT_on():
-  ToolSvc.CombinedMuonIDHoleSearch.SctSummaryTool      = ToolSvc.InDetSCT_ConditionsSummaryTool
+  from SCT_ConditionsTools.SCT_ConditionsSummaryToolSetup import SCT_ConditionsSummaryToolSetup
+  sct_ConditionsSummaryToolSetup = SCT_ConditionsSummaryToolSetup()
+  sct_ConditionsSummaryToolSetup.setup()
+  InDetSCT_ConditionsSummaryTool = sct_ConditionsSummaryToolSetup.getTool()
+  ToolSvc.CombinedMuonIDHoleSearch.SctSummaryTool = InDetSCT_ConditionsSummaryTool
 
 # check configuration
 #print ToolSvc.CombinedMuonIDHoleSearch
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/InDetSetup.py b/Trigger/TrigValidation/TrigUpgradeTest/python/InDetSetup.py
index b5ac5973e49..0cc90a51a16 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/python/InDetSetup.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/python/InDetSetup.py
@@ -168,8 +168,7 @@ def makeInDetAlgs():
   # InDetSCT_FlaggedConditionTool = sct_FlaggedConditionToolSetup.getTool()
   
   from SCT_ConditionsTools.SCT_ConditionsSummaryToolSetup import SCT_ConditionsSummaryToolSetup
-  sct_ConditionsSummaryToolSetup = SCT_ConditionsSummaryToolSetup()
-  sct_ConditionsSummaryToolSetup.setToolName("InDetSCT_ConditionsSummaryTool")
+  sct_ConditionsSummaryToolSetup = SCT_ConditionsSummaryToolSetup("InDetSCT_ConditionsSummaryTool")
   sct_ConditionsSummaryToolSetup.setup()
   InDetSCT_ConditionsSummaryTool = sct_ConditionsSummaryToolSetup.getTool()
   condTools = []
@@ -179,8 +178,7 @@ def makeInDetAlgs():
     if condTool not in condTools:
       if condTool != "SCT_FlaggedConditionTool/InDetSCT_FlaggedConditionTool":
         condTools.append(condTool)
-  sct_ConditionsSummaryToolSetupWithoutFlagged = SCT_ConditionsSummaryToolSetup()
-  sct_ConditionsSummaryToolSetupWithoutFlagged.setToolName("InDetSCT_ConditionsSummaryToolWithoutFlagged")
+  sct_ConditionsSummaryToolSetupWithoutFlagged = SCT_ConditionsSummaryToolSetup("InDetSCT_ConditionsSummaryToolWithoutFlagged")
   sct_ConditionsSummaryToolSetupWithoutFlagged.setup()
   InDetSCT_ConditionsSummaryToolWithoutFlagged = sct_ConditionsSummaryToolSetupWithoutFlagged.getTool()
   InDetSCT_ConditionsSummaryToolWithoutFlagged.ConditionsTools = condTools
-- 
GitLab