From 9e7e71bb58104b9dcaa452035f8f96e26d62e732 Mon Sep 17 00:00:00 2001
From: Walter Lampl <walter.lampl@cern.ch>
Date: Tue, 17 Dec 2019 12:24:10 +0000
Subject: [PATCH] NewConfig: Move to ComponentFactory

---
 .../python/BeamPipeGMConfig.py                |   3 +-
 .../python/SubDetectorEnvelopesConfigNew.py   |   3 +-
 .../python/CaloBadChanToolConfig.py           |   3 +-
 .../python/CaloCellCorrectionConfig.py        |   9 +-
 .../CaloRec/python/CaloBCIDAvgAlgConfig.py    |   3 +-
 .../CaloRec/python/CaloCellMakerConfig.py     |   5 +-
 Calorimeter/CaloRec/python/CaloRecoConfig.py  |   5 +-
 .../CaloRec/python/CaloTopoClusterConfig.py   |  23 ++--
 .../python/CaloEstimatedGainToolConfig.py     |   5 +-
 .../python/CaloNoiseCondAlgConfig.py          |   3 +-
 .../python/ComponentAccumulatorTest.py        |   3 +-
 .../python/MainServicesConfig.py              |  29 ++---
 .../python/HelloWorldConfig.py                |   5 +-
 Control/RngComps/python/RandomServices.py     |  11 +-
 .../SGComps/python/AddressRemappingConfig.py  |   3 +-
 .../AthenaPoolCnvSvc/python/PoolReadConfig.py |  13 ++-
 .../python/PoolWriteConfig.py                 |   3 +-
 .../python/OutputStreamConfig.py              |  17 +--
 .../python/BunchGroupCondAlgConfig.py         |   3 +-
 .../python/BunchLumisCondAlgConfig.py         |   3 +-
 .../python/FillParamsCondAlgConfig.py         |   3 +-
 .../OnlineLumiCalibrationCondAlgConfig.py     |   3 +-
 Database/IOVDbSvc/python/IOVDbSvcConfig.py    |  17 +--
 .../python/DetDescrCnvSvcConfig.py            |   5 +-
 .../python/ForDetGeoModelConfig.py            |  11 +-
 .../AtlasGeoModel/python/GeoModelConfig.py    |   3 +-
 .../AtlasGeoModel/python/InDetGMConfig.py     |   7 +-
 .../python/ByteStreamConfig.py                |  23 ++--
 .../python/DumpEventDataToJSONConfig.py       |   3 +-
 Event/EventInfoMgt/python/TagInfoMgrConfig.py |   7 +-
 .../python/xAODEventInfoCnvConfig.py          |   5 +-
 .../python/McEventSelectorConfig.py           |   7 +-
 .../python/PixelConditionsConfig.py           |   8 +-
 .../python/PixelConditionsSummaryConfig.py    |   5 +-
 .../python/PixelDCSConditionsConfig.py        |   7 +-
 .../python/SCT_DCSConditionsConfig.py         |   9 +-
 .../python/SCT_ReadCalibChipDataConfig.py     |   7 +-
 .../python/SCT_SiliconConditionsConfig.py     |   7 +-
 .../python/PixelLorentzAngleConfig.py         |   5 +-
 .../python/SCT_LorentzAngleConfig.py          |   5 +-
 .../python/PixelSiPropertiesConfig.py         |   5 +-
 .../python/SCT_SiPropertiesConfig.py          |   5 +-
 .../python/PixelCablingConfigNew.py           |   9 +-
 .../python/PixelGeoModelConfig.py             |  17 +--
 .../SCT_Cabling/python/SCT_CablingConfig.py   |   3 +-
 .../SCT_Cabling/python/TestSCT_CablingCfg.py  |   3 +-
 .../SCT_GeoModel/python/SCT_GeoModelConfig.py |  17 +--
 .../TRT_GeoModel/python/TRT_GeoModelConfig.py |   7 +-
 .../python/BCM_DigitizationConfigNew.py       |   5 +-
 .../python/PixelDigitizationConfigNew.py      |   3 +-
 .../python/SCT_DigitizationConfigNew.py       |   5 +-
 .../python/TRT_DigitizationConfigNew.py       |   7 +-
 .../BCM_G4_SD/python/BCM_G4_SDToolConfig.py   |   3 +-
 .../BLM_G4_SD/python/BLM_G4_SDToolConfig.py   |   3 +-
 .../PixelG4_SD/python/PixelG4_SDToolConfig.py |   3 +-
 .../SCT_G4_SD/python/SCT_G4_SDToolConfig.py   |   5 +-
 .../InDetOverlay/python/PixelOverlayConfig.py |   5 +-
 .../InDetOverlay/python/SCTOverlayConfig.py   |   5 +-
 .../InDetOverlay/python/TRTOverlayConfig.py   |   5 +-
 .../python/TRT_ConditionsConfig.py            |   9 +-
 .../python/LArBadChannelConfig.py             |   3 +-
 .../python/LArBadFebsConfig.py                |   3 +-
 .../LArCabling/python/LArCablingConfig.py     |   3 +-
 .../LArCalibUtils/python/LArHVScaleConfig.py  |  11 +-
 .../LArCellRec/python/LArCellBuilderConfig.py |   5 +-
 .../python/LArCollisionTimeConfig.py          |   3 +-
 .../python/LArNoisyROSummaryConfig.py         |   3 +-
 .../python/LArRawDataReadingConfig.py         |   5 +-
 .../python/LArElecCalibDBConfig.py            |   3 +-
 .../python/LArDigitizationConfigNew.py        |  13 ++-
 .../python/LArG4BarrelConfigNew.py            |  21 ++--
 .../LArG4FCAL/python/LArG4FCALConfigNew.py    |   5 +-
 .../LArG4HEC/python/LArG4HECConfigNew.py      |  13 ++-
 .../LArG4/LArG4SD/python/LArG4SDToolConfig.py |  19 ++--
 .../LArGeoAlgsNV/python/LArGMConfig.py        |   3 +-
 .../LArMonitoring/python/LArHVDBConfig.py     |   9 +-
 .../python/LArFebErrorSummaryMakerConfig.py   |   3 +-
 .../python/LArRawChannelBuilderAlgConfig.py   |   5 +-
 .../python/LArFebConfigCondAlgConfig.py       |   3 +-
 .../LArRecUtils/python/LArRecUtilsConfig.py   |   9 +-
 .../python/BunchCrossingCondAlgConfig.py      |  10 +-
 .../python/BunchCrossingCondAlgTest.py        |   8 +-
 .../python/LBDurationCondAlgConfig.py         |   3 +-
 .../python/LuminosityCondAlgConfig.py         |   7 +-
 .../python/TrigLiveFractionCondAlgConfig.py   |   5 +-
 .../python/MagFieldServicesConfig.py          |   3 +-
 .../python/CSC_DigitizationConfig.py          |   5 +-
 .../python/MDT_DigitizationConfig.py          |   3 +-
 .../python/MuonByteStreamCnvTestConfig.py     |   3 +-
 .../python/MuonBytestreamDecodeConfig.py      |  35 +++---
 .../MuonConfig/python/MuonCablingConfig.py    |  19 ++--
 .../MuonConfig/python/MuonCalibConfig.py      |   9 +-
 .../MuonConfig/python/MuonCondAlgConfig.py    |   3 +-
 .../MuonConfig/python/MuonCondSvcConfig.py    |  11 +-
 .../MuonConfig/python/MuonGeometryConfig.py   |  11 +-
 .../python/MuonRIO_OnTrackCreatorConfig.py    |   9 +-
 .../MuonConfig/python/MuonRdoDecodeConfig.py  |  23 ++--
 .../MuonConfig/python/MuonRecToolsConfig.py   |  40 +++----
 .../python/MuonReconstructionConfig.py        |   3 +-
 .../python/MuonSegmentFindingConfig.py        |  47 ++++----
 .../python/MuonTrackBuildingConfig.py         |  31 ++---
 .../python/RPC_DigitizationConfig.py          |   5 +-
 .../python/TGC_DigitizationConfig.py          |   5 +-
 .../MuonG4SD/python/MuonG4SDToolConfig.py     |   9 +-
 .../python/AsgElectronIsEMSelectorsConfig.py  |   3 +-
 .../AsgElectronLikelihoodToolsConfig.py       |   3 +-
 .../AsgForwardElectronIsEMSelectorsConfig.py  |   3 +-
 .../python/AsgPhotonIsEMSelectorsConfig.py    |   3 +-
 .../python/BTagMuonToJetAssociatorConfig.py   |   3 +-
 .../BTagging/python/BTagRun3Config.py         |   9 +-
 .../BTagging/python/BTagSecVertexingConfig.py |   3 +-
 .../BTagging/python/BTagToolConfig.py         |   3 +-
 .../python/BTagTrackAssociationConfig.py      |   3 +-
 .../python/BTagTrackToJetAssociatorConfig.py  |   3 +-
 ...ovedJetFitterInitializationHelperConfig.py |   3 +-
 .../python/ImprovedJetFitterRoutinesConfig.py |   3 +-
 ...mprovedJetFitterTrackSelectorToolConfig.py |   3 +-
 .../python/InDetJetFitterUtilsConfig.py       |   3 +-
 .../python/InDetVKalVxInJetToolConfig.py      |   3 +-
 .../BTagging/python/JetBTaggerAlgConfig.py    |   5 +-
 ...tFitterFullLinearizedTrackFactoryConfig.py |   3 +-
 .../python/JetFitterMode3dTo1dFinderConfig.py |   3 +-
 .../JetFitterSequentialVertexFitterConfig.py  |   3 +-
 ...JetFitterSequentialVertexSmootherConfig.py |   3 +-
 .../python/JetParticleAssociationAlgConfig.py |   3 +-
 .../python/JetParticleAssociationConfig.py    |   3 +-
 .../python/JetSecVertexingAlgConfig.py        |   3 +-
 .../KalmanVertexOnJetAxisSmootherConfig.py    |   3 +-
 .../python/MSVVariablesFactoryConfig.py       |   3 +-
 .../python/NewJetFitterVxFinderConfig.py      |   3 +-
 .../TrkDistanceFinderNeutralChargedConfig.py  |   3 +-
 .../TrkDistanceFinderNeutralNeutralConfig.py  |   3 +-
 .../python/VxInternalEdmFactoryConfig.py      |   3 +-
 .../BTagFullLinearizedTrackFactoryConfig.py   |   3 +-
 .../BTagTrackToVertexIPEstimatorConfig.py     |   3 +-
 .../python/BTagTrackToVertexToolConfig.py     |   3 +-
 .../JetTagTools/python/DL1TagConfig.py        |   3 +-
 .../JetTagTools/python/IP2DTagConfig.py       |   3 +-
 .../JetTagTools/python/IP3DTagConfig.py       |   3 +-
 .../IPDetailedTrackGradeFactoryConfig.py      |   3 +-
 .../python/IPTrackSelectorConfig.py           |   3 +-
 .../python/InDetTrackSelectorConfig.py        |   3 +-
 .../python/JetFitterNNToolConfig.py           |   3 +-
 .../python/JetFitterNtupleWriterNNConfig.py   |   3 +-
 .../JetTagTools/python/JetFitterTagConfig.py  |   3 +-
 .../python/JetFitterVariablesFactoryConfig.py |   3 +-
 .../JetTagTools/python/MV2TagConfig.py        |   3 +-
 .../JetTagTools/python/MultiSVTagConfig.py    |   3 +-
 .../python/MultivariateTagManagerConfig.py    |   3 +-
 .../python/MuonCorrectionsToolConfig.py       |   3 +-
 .../python/MuonSelectorToolConfig.py          |   3 +-
 .../python/NeuralNetworkToHistoToolConfig.py  |   3 +-
 .../python/NewLikelihoodToolConfig.py         |   3 +-
 .../JetTagTools/python/RNNIPTagConfig.py      |   3 +-
 .../JetTagTools/python/SV1TagConfig.py        |   3 +-
 .../JetTagTools/python/SVForIPToolConfig.py   |   3 +-
 .../JetTagTools/python/SoftMuonTagConfig.py   |   3 +-
 .../python/SpecialTrackAssociatorConfig.py    |   3 +-
 .../python/MCTruthClassifierConfig.py         |   3 +-
 .../HIJetRec/python/HIJetRecUtils.py          |  35 +++---
 .../TrackToCalo/python/TrackToCaloConfig.py   |   3 +-
 Reconstruction/eflowRec/python/PFHLTConfig.py |  35 +++---
 .../eflowRec/python/PFRun3Config.py           |  55 ++++-----
 .../eflowRec/python/ScheduleCHSPFlowMods.py   |   8 +-
 .../python/EMGSFCaloExtensionBuilderConfig.py |   3 +-
 .../python/egammaForwardBuilderConfig.py      |   5 +-
 .../egammaLargeClusterMakerAlgConfig.py       |   3 +-
 .../python/egammaRecBuilderConfig.py          |   3 +-
 .../python/egammaSelectedTrackCopyConfig.py   |   5 +-
 .../python/egammaTopoClusterCopierConfig.py   |   3 +-
 .../python/egammaTrackSlimmerConfig.py        |   3 +-
 .../python/egammaTruthAssociationConfig.py    |   3 +-
 .../python/topoEgammaBuilderConfig.py         |   5 +-
 .../python/egammaCaloToolsConfig.py           |   3 +-
 .../python/TrigEgammaMVACalibConfig.py        |   3 +-
 .../python/egammaMVACalibConfig.py            |   3 +-
 .../python/EMConversionBuilderConfig.py       |   3 +-
 .../egammaTools/python/EMPIDBuilderConfig.py  |   5 +-
 .../python/EMShowerBuilderConfig.py           |   5 +-
 .../python/EMTrackMatchBuilderConfig.py       |   3 +-
 .../python/egammaLargeClusterMakerConfig.py   |   3 +-
 .../python/egammaOQFlagsBuilderConfig.py      |   5 +-
 .../egammaTools/python/egammaSwToolConfig.py  |   3 +-
 .../python/egammaTrackToolsConfig.py          |   3 +-
 .../python/BarcodeServicesConfigNew.py        |   3 +-
 .../python/BeamEffectsAlgConfig.py            |  19 ++--
 .../Digitization/python/PileUpToolsConfig.py  |   3 +-
 .../python/AddNoiseCellBuilderToolConfig.py   |   3 +-
 .../python/G4AtlasFieldServices.py            |   5 +-
 .../python/G4AtlasServicesConfigNew.py        |   5 +-
 .../python/G4AtlasToolsConfigNew.py           |   3 +-
 .../G4AtlasTools/python/G4FieldConfigNew.py   |   4 +-
 .../python/G4GeometryToolConfig.py            |   5 +-
 .../MCTruthSimAlgs/python/RecoTimingConfig.py |   1 +
 .../python/ISF_ServicesConfigNew.py           |   3 +-
 .../python/ISF_HepMC_ToolsConfigNew.py        |   3 +-
 .../python/OverlayCopyAlgsConfig.py           |  13 ++-
 .../python/TileAutoCorrelationConfig.py       |   3 +-
 .../python/TileBadChannelsConfig.py           |   7 +-
 .../python/TileConditionsConfig.py            |  28 ++---
 .../TileConditions/python/TileDCSConfig.py    |   5 +-
 .../python/TileDSPThresholdConfig.py          |   3 +-
 .../python/TileEMScaleConfig.py               |   7 +-
 .../python/TileInfoLoaderConfig.py            |   3 +-
 .../python/TileIntegratorConfig.py            |   3 +-
 .../TileConditions/python/TileMuIDConfig.py   |   3 +-
 .../TileConditions/python/TileOFCConfig.py    |   5 +-
 .../python/TilePulseShapeConfig.py            |   5 +-
 .../python/TileSampleNoiseConfig.py           |   3 +-
 .../TileConditions/python/TileTMDBConfig.py   |   3 +-
 .../TileConditions/python/TileTimingConfig.py |   3 +-
 .../python/MinBiasScintillatorToolConfig.py   |   3 +-
 .../python/TileGeoG4CalibConfigNew.py         |   3 +-
 .../python/TileGeoG4SDToolConfig.py           |   3 +-
 .../TileGeoModel/python/TileGMConfig.py       |   3 +-
 .../TileL2Algs/python/TileL2Config.py         |   5 +-
 .../python/TileTowerBuilderConfig.py          |   5 +-
 .../python/TileTowerMonitorAlgorithm.py       |   3 +-
 .../python/MBTSTimeDiffEventInfoAlgConfig.py  |   3 +-
 .../python/TileDigitsFilterConfig.py          |   3 +-
 .../python/TileCellBuilderConfig.py           |   3 +-
 .../python/TileCellMakerConfig.py             |   5 +-
 .../python/TileCellNoiseFilterConfig.py       |   3 +-
 .../TileRecUtils/python/TileDQstatusConfig.py |   5 +-
 .../python/TileRawChannelBuilderConfig.py     |   5 +-
 .../python/TileRawChannelBuilderFitConfig.py  |   3 +-
 .../python/TileRawChannelBuilderMFConfig.py   |   3 +-
 .../python/TileRawChannelBuilderOptConfig.py  |   3 +-
 .../python/TileRawChannelCorrectionConfig.py  |   7 +-
 .../python/TileRawChannelMakerConfig.py       |   3 +-
 .../python/TileDigitsMakerConfig.py           |   5 +-
 .../TileSimAlgs/python/TileHitToTTL1Config.py |   3 +-
 .../python/TileHitVecToCntConfig.py           |  11 +-
 .../python/TileMuonReceiverConfig.py          |   3 +-
 .../python/TileMuonReceiverDecisionConfig.py  |   3 +-
 .../python/AtlasTrackingGeometrySvcConfig.py  |  47 ++++----
 .../python/TrackCollectionReadConfig.py       |   3 +-
 .../python/AtlasExtrapolationEngineConfig.py  |   9 +-
 .../python/AtlasExtrapolatorConfig.py         |   5 +-
 .../python/MdtDataPreparator_test.py          |   3 +-
 .../python/TrigL2MuonSAConfig_newJO.py        |  21 ++--
 .../python/TrigCaloDataAccessConfig.py        |   9 +-
 .../python/TrigT2CaloEgammaMTConfig.py        |   6 +-
 .../python/TrigmuCombConfig_newJO.py          |   3 +-
 .../TrigInDetConfig/python/InDetConfig.py     | 105 ++++++++---------
 .../python/HLTSignatureConfig.py              |   6 +-
 .../TrigUpgradeTest/python/InDetConfig.py     | 107 +++++++++---------
 .../TriggerJobOpts/python/TriggerConfig.py    |  11 +-
 248 files changed, 1043 insertions(+), 792 deletions(-)
 mode change 100755 => 100644 InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py

diff --git a/AtlasGeometryCommon/BeamPipeGeoModel/python/BeamPipeGMConfig.py b/AtlasGeometryCommon/BeamPipeGeoModel/python/BeamPipeGMConfig.py
index 4c6ebf7b71f6..521390cc0033 100644
--- a/AtlasGeometryCommon/BeamPipeGeoModel/python/BeamPipeGMConfig.py
+++ b/AtlasGeometryCommon/BeamPipeGeoModel/python/BeamPipeGMConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AtlasGeoModel.GeoModelConfig import GeoModelCfg
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def BeamPipeGeometryCfg(flags):
     result=GeoModelCfg(flags)
-    from BeamPipeGeoModel.BeamPipeGeoModelConf import BeamPipeDetectorTool
+    BeamPipeDetectorTool=CompFactory.BeamPipeDetectorTool
     result.getPrimary().DetectorTools += [ BeamPipeDetectorTool() ]
     return result
diff --git a/AtlasGeometryCommon/SubDetectorEnvelopes/python/SubDetectorEnvelopesConfigNew.py b/AtlasGeometryCommon/SubDetectorEnvelopes/python/SubDetectorEnvelopesConfigNew.py
index 2d035a98176e..af1312ed447c 100644
--- a/AtlasGeometryCommon/SubDetectorEnvelopes/python/SubDetectorEnvelopesConfigNew.py
+++ b/AtlasGeometryCommon/SubDetectorEnvelopes/python/SubDetectorEnvelopesConfigNew.py
@@ -6,8 +6,9 @@ Elmar Ritsch, 27/09/2013
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from SubDetectorEnvelopes.SubDetectorEnvelopesConf import DetDescrDBEnvelopeSvc
+DetDescrDBEnvelopeSvc=CompFactory.DetDescrDBEnvelopeSvc
 
 def EnvelopeDefSvcCfg(ConfigFlags, name="AtlasGeometry_EnvelopeDefSvc", **kwargs):
     result = ComponentAccumulator()
diff --git a/Calorimeter/CaloBadChannelTool/python/CaloBadChanToolConfig.py b/Calorimeter/CaloBadChannelTool/python/CaloBadChanToolConfig.py
index e73fa3488c69..8ac4ed0ab2b8 100644
--- a/Calorimeter/CaloBadChannelTool/python/CaloBadChanToolConfig.py
+++ b/Calorimeter/CaloBadChannelTool/python/CaloBadChanToolConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured private Calo bad channels tool"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def CaloBadChanToolCfg(flags, **kwargs):
     """Return component accumulator with configured private Calo bad channels tool
@@ -22,7 +23,7 @@ def CaloBadChanToolCfg(flags, **kwargs):
         badChannelsTool = acc.popToolsAndMerge( TileBadChanToolCfg(flags) )
         kwargs['TileBadChanTool'] = badChannelsTool
 
-    from CaloBadChannelTool.CaloBadChannelToolConf import CaloBadChanTool
+    CaloBadChanTool=CompFactory.CaloBadChanTool
     acc.setPrivateTools(CaloBadChanTool(**kwargs))
 
     return acc
diff --git a/Calorimeter/CaloCellCorrection/python/CaloCellCorrectionConfig.py b/Calorimeter/CaloCellCorrection/python/CaloCellCorrectionConfig.py
index 53e043062d6e..189bc80941b1 100644
--- a/Calorimeter/CaloCellCorrection/python/CaloCellCorrectionConfig.py
+++ b/Calorimeter/CaloCellCorrection/python/CaloCellCorrectionConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from DetDescrCnvSvc.DetDescrCnvSvcConfig import DetDescrCnvSvcCfg
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 
 def CaloCellPedestalCorrCfg(configFlags):
-   from CaloCellCorrection.CaloCellCorrectionConf import CaloCellPedestalCorr
+   CaloCellPedestalCorr=CompFactory.CaloCellPedestalCorr
 
    result=DetDescrCnvSvcCfg(configFlags)
    isMC=configFlags.Input.isMC
@@ -57,7 +58,7 @@ def CaloCellNeighborsAverageCorrCfg(flags):
     from TileGeoModel.TileGMConfig import TileGMCfg
     acc.merge(TileGMCfg(flags))
 
-    from CaloCellCorrection.CaloCellCorrectionConf import CaloCellNeighborsAverageCorr
+    CaloCellNeighborsAverageCorr=CompFactory.CaloCellNeighborsAverageCorr
     caloCellNeighborsAverageCorrection = CaloCellNeighborsAverageCorr(testMode = False)
 
     acc.setPrivateTools( caloCellNeighborsAverageCorrection )
@@ -65,7 +66,7 @@ def CaloCellNeighborsAverageCorrCfg(flags):
 
 
 def CaloCellTimeCorrCfg(configFlags):
-   from CaloCellCorrection.CaloCellCorrectionConf import CaloCellTimeCorrTool
+   CaloCellTimeCorrTool=CompFactory.CaloCellTimeCorrTool
    result=ComponentAccumulator()
    folder= "/LAR/TimeCorrectionOfl/CellTimeOffset"
    result.merge(addFolders(configFlags,[folder,], "LAR_OFL", className="AthenaAttributeList"))
@@ -74,7 +75,7 @@ def CaloCellTimeCorrCfg(configFlags):
 
 
 def CaloEnergyRescalerCfg(configFlags):
-   from CaloCellCorrection.CaloCellCorrectionConf import CaloCellEnergyRescaler
+   CaloCellEnergyRescaler=CompFactory.CaloCellEnergyRescaler
    result=ComponentAccumulator()
    folder="/LAR/CellCorrOfl/EnergyCorr"
    result.merge(addFolders(configFlags,[folder,], "LAR_OFL", className="AthenaAttributeList"))
diff --git a/Calorimeter/CaloRec/python/CaloBCIDAvgAlgConfig.py b/Calorimeter/CaloRec/python/CaloBCIDAvgAlgConfig.py
index 4a63e19b0a09..01d0fb73a189 100644
--- a/Calorimeter/CaloRec/python/CaloBCIDAvgAlgConfig.py
+++ b/Calorimeter/CaloRec/python/CaloBCIDAvgAlgConfig.py
@@ -5,13 +5,14 @@
 # Purpose: Configure CaloBCIDAvgAlg.
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 def CaloBCIDAvgAlgCfg (flags):
     from IOVDbSvc.IOVDbSvcConfig import addFolderList
-    from CaloRec.CaloRecConf import CaloBCIDAvgAlg
+    CaloBCIDAvgAlg=CompFactory.CaloBCIDAvgAlg
 
     result = ComponentAccumulator()
 
diff --git a/Calorimeter/CaloRec/python/CaloCellMakerConfig.py b/Calorimeter/CaloRec/python/CaloCellMakerConfig.py
index 60783ba00204..74448086d338 100644
--- a/Calorimeter/CaloRec/python/CaloCellMakerConfig.py
+++ b/Calorimeter/CaloRec/python/CaloCellMakerConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-#from LArCellRec.LArCellRecConf import LArCellBuilderFromLArRawChannelTool
-from CaloRec.CaloRecConf import CaloCellMaker, CaloCellContainerFinalizerTool     
+from AthenaConfiguration.ComponentFactory import CompFactory
+#LArCellBuilderFromLArRawChannelTool=CompFactory.LArCellBuilderFromLArRawChannelTool
+CaloCellMaker, CaloCellContainerFinalizerTool     =CompFactory.getComps("CaloCellMaker","CaloCellContainerFinalizerTool",)
 from LArCellRec.LArCellBuilderConfig import LArCellBuilderCfg,LArCellCorrectorCfg
 from TileRecUtils.TileCellBuilderConfig import TileCellBuilderCfg
 from CaloCellCorrection.CaloCellCorrectionConfig import CaloCellPedestalCorrCfg, CaloCellNeighborsAverageCorrCfg, CaloCellTimeCorrCfg, CaloEnergyRescalerCfg
diff --git a/Calorimeter/CaloRec/python/CaloRecoConfig.py b/Calorimeter/CaloRec/python/CaloRecoConfig.py
index 49f6fd4330d0..060943e4ce84 100644
--- a/Calorimeter/CaloRec/python/CaloRecoConfig.py
+++ b/Calorimeter/CaloRec/python/CaloRecoConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def CaloRecoCfg(configFlags):
     
@@ -51,10 +52,10 @@ if __name__=="__main__":
     acc.merge(CaloRecoCfg(ConfigFlags))
 
 
-    from CaloRec.CaloRecConf import CaloCellDumper
+    CaloCellDumper=CompFactory.CaloCellDumper
     acc.addEventAlgo(CaloCellDumper())
 
-    from xAODCaloEventCnv.xAODCaloEventCnvConf import ClusterDumper
+    ClusterDumper=CompFactory.ClusterDumper
     acc.addEventAlgo(ClusterDumper("TopoDumper",ContainerName="CaloCalTopoClusters",FileName="TopoCluster.txt"))
 
     f=open("CaloRec.pkl","wb")
diff --git a/Calorimeter/CaloRec/python/CaloTopoClusterConfig.py b/Calorimeter/CaloRec/python/CaloTopoClusterConfig.py
index 9e207e062a26..a728c3801ced 100644
--- a/Calorimeter/CaloRec/python/CaloTopoClusterConfig.py
+++ b/Calorimeter/CaloRec/python/CaloTopoClusterConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.SystemOfUnits import MeV
 
 def caloTopoCoolFolderCfg(configFlags):
@@ -26,8 +27,8 @@ def caloTopoCoolFolderCfg(configFlags):
     return result
 
 def getTopoClusterLocalCalibTools(configFlags):
-    from CaloUtils.CaloUtilsConf import CaloLCClassificationTool, CaloLCWeightTool, CaloLCOutOfClusterTool, CaloLCDeadMaterialTool
-    from CaloClusterCorrection.CaloClusterCorrectionConf import CaloClusterLocalCalib
+    CaloLCClassificationTool, CaloLCWeightTool, CaloLCOutOfClusterTool, CaloLCDeadMaterialTool=CompFactory.getComps("CaloLCClassificationTool","CaloLCWeightTool","CaloLCOutOfClusterTool","CaloLCDeadMaterialTool",)
+    CaloClusterLocalCalib=CompFactory.CaloClusterLocalCalib
     # Local cell weights
     LCClassify   = CaloLCClassificationTool("LCClassify")
     LCClassify.ClassificationKey   = "EMFracClassify"
@@ -93,7 +94,7 @@ def getTopoClusterLocalCalibTools(configFlags):
     return lccalibtools
 
 def getTopoMoments(configFlags):
-    from CaloRec.CaloRecConf import CaloClusterMomentsMaker
+    CaloClusterMomentsMaker=CompFactory.CaloClusterMomentsMaker
     TopoMoments = CaloClusterMomentsMaker ("TopoMoments")
     TopoMoments.WeightingOfNegClusters = configFlags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
     from AthenaCommon.SystemOfUnits import deg
@@ -143,7 +144,7 @@ def getTopoMoments(configFlags):
         # only add HV related moments if it is offline.
         # from IOVDbSvc.CondDB import conddb
         # if not conddb.isOnline:
-        from LArCellRec.LArCellRecConf import LArHVFraction
+        LArHVFraction=CompFactory.LArHVFraction
         if configFlags.Input.isMC:
             TopoMoments.LArHVFraction=LArHVFraction(HVScaleCorrKey="LArHVScaleCorr")
         else:
@@ -156,9 +157,9 @@ def getTopoMoments(configFlags):
 
 # a.k.a. DigiTruth
 def getTopoTruthMoments(configFlags):
-    from CaloRec.CaloRecConf import CaloClusterMomentsMaker_DigiHSTruth
+    CaloClusterMomentsMaker_DigiHSTruth=CompFactory.CaloClusterMomentsMaker_DigiHSTruth
     TopoMoments_Truth = CaloClusterMomentsMaker_DigiHSTruth ("TopoMoments_Truth")
-    from LArCellRec.LArCellRecConf import LArHVFraction
+    LArHVFraction=CompFactory.LArHVFraction
     TopoMoments_Truth.LArHVFraction=LArHVFraction(HVScaleCorrKey="LArHVScaleCorr")
     TopoMoments_Truth.WeightingOfNegClusters = configFlags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
     from AthenaCommon.SystemOfUnits import deg
@@ -197,7 +198,7 @@ def getTopoTruthMoments(configFlags):
     return TopoMoments_Truth
 
 def getTopoCalibMoments(configFlags):
-    from CaloCalibHitRec.CaloCalibHitRecConf import CaloCalibClusterMomentsMaker2
+    CaloCalibClusterMomentsMaker2=CompFactory.CaloCalibClusterMomentsMaker2
     TopoCalibMoments = CaloCalibClusterMomentsMaker2 ("TopoCalibMoments")
     TopoCalibMoments.MomentsNames = ["ENG_CALIB_TOT"
                                      ,"ENG_CALIB_OUT_L"
@@ -249,7 +250,7 @@ def CaloTopoClusterCfg(configFlags,cellsname="AllCalo",clustersname="",doLCCalib
     # Schedule electronic noise cond alg (needed for LC weights)
     result.merge(CaloNoiseCondAlgCfg(configFlags,"electronicNoise"))
     
-    from CaloRec.CaloRecConf import CaloTopoClusterMaker, CaloTopoClusterSplitter, CaloClusterMaker, CaloClusterSnapshot
+    CaloTopoClusterMaker, CaloTopoClusterSplitter, CaloClusterMaker, CaloClusterSnapshot=CompFactory.getComps("CaloTopoClusterMaker","CaloTopoClusterSplitter","CaloClusterMaker","CaloClusterSnapshot",)
 
     result.merge(LArGMCfg(configFlags))
 
@@ -334,7 +335,7 @@ def CaloTopoClusterCfg(configFlags,cellsname="AllCalo",clustersname="",doLCCalib
     
     from CaloBadChannelTool.CaloBadChanToolConfig import CaloBadChanToolCfg
     caloBadChanTool = result.popToolsAndMerge( CaloBadChanToolCfg(configFlags) )
-    from CaloClusterCorrection.CaloClusterCorrectionConf import CaloClusterBadChannelList
+    CaloClusterBadChannelList=CompFactory.CaloClusterBadChannelList
     BadChannelListCorr = CaloClusterBadChannelList(badChannelTool = caloBadChanTool)
     CaloTopoCluster.ClusterCorrectionTools += [BadChannelListCorr]
 
@@ -389,12 +390,12 @@ if __name__=="__main__":
                                                             # "CaloClusterCellLinkContainer#"+theKey+"_links"
                                                            ]))
 
-    from AthenaServices.AthenaServicesConf import ThinningSvc, ThinningOutputTool
+    ThinningSvc, ThinningOutputTool=CompFactory.getComps("ThinningSvc","ThinningOutputTool",)
     cfg.addService(ThinningSvc())
     tot = ThinningOutputTool("Thin_xAOD",ThinningSvc = cfg.getService("ThinningSvc"))
     cfg.getEventAlgo("OutputStreamxAOD").HelperTools += [tot]
 
-    from ThinningUtils.ThinningUtilsConf import ThinNegativeEnergyCaloClustersAlg
+    ThinNegativeEnergyCaloClustersAlg=CompFactory.ThinNegativeEnergyCaloClustersAlg
     theNegativeEnergyCaloClustersThinner = ThinNegativeEnergyCaloClustersAlg(
         "ThinNegativeEnergyCaloClustersAlg",
         CaloClustersKey=theKey,
diff --git a/Calorimeter/CaloTools/python/CaloEstimatedGainToolConfig.py b/Calorimeter/CaloTools/python/CaloEstimatedGainToolConfig.py
index ef8a7ca37e77..2a7b6b38de4c 100644
--- a/Calorimeter/CaloTools/python/CaloEstimatedGainToolConfig.py
+++ b/Calorimeter/CaloTools/python/CaloEstimatedGainToolConfig.py
@@ -7,6 +7,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 
@@ -43,9 +44,9 @@ def CaloEstimatedGainToolCfg (configFlags):
     result.merge (LArADC2MeVCondAlgCfg (configFlags))
     adc2mev = result.getCondAlgo ('LArADC2MeVCondAlg')
 
-    from TileConditions.TileConditionsConf import TileCondIdTransforms
+    TileCondIdTransforms=CompFactory.TileCondIdTransforms
 
-    from CaloTools.CaloToolsConf import CaloEstimatedGainTool
+    CaloEstimatedGainTool=CompFactory.CaloEstimatedGainTool
     tool = CaloEstimatedGainTool ('CaloEstimatedGainTool',
                                   ADC2MeVKey = adc2mev.LArADC2MeVKey,
                                   TileCondIdTransforms = TileCondIdTransforms(),
diff --git a/Calorimeter/CaloTools/python/CaloNoiseCondAlgConfig.py b/Calorimeter/CaloTools/python/CaloNoiseCondAlgConfig.py
index e8b7d30db113..bcd0df440ce9 100644
--- a/Calorimeter/CaloTools/python/CaloNoiseCondAlgConfig.py
+++ b/Calorimeter/CaloTools/python/CaloNoiseCondAlgConfig.py
@@ -1,8 +1,9 @@
 #  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import addFolders
-from CaloTools.CaloToolsConf import CaloNoiseCondAlg
+CaloNoiseCondAlg=CompFactory.CaloNoiseCondAlg
 from AthenaCommon.Logging import logging
 
 def CaloNoiseCondAlgCfg(configFlags,noisetype="totalNoise"):
diff --git a/Control/AthenaConfiguration/python/ComponentAccumulatorTest.py b/Control/AthenaConfiguration/python/ComponentAccumulatorTest.py
index 1a727c6481ca..ebed27dc89e3 100644
--- a/Control/AthenaConfiguration/python/ComponentAccumulatorTest.py
+++ b/Control/AthenaConfiguration/python/ComponentAccumulatorTest.py
@@ -3,6 +3,7 @@
 # self test of ComponentAccumulator
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator 
 from AthenaConfiguration.Deduplication import DeduplicationFailed
 from AthenaConfiguration.AthConfigFlags import AthConfigFlags
@@ -324,7 +325,7 @@ class TestComponentAccumulatorAccessors( unittest.TestCase ):
 
 class TestDeduplication( unittest.TestCase ):
     def runTest( self ):
-        from IOVDbSvc.IOVDbSvcConf import IOVDbSvc #Test de-duplicating folder-list
+        IOVDbSvc=CompFactory.IOVDbSvc #Test de-duplicating folder-list
         result1=ComponentAccumulator()
         result1.addService(IOVDbSvc(Folders=["/foo"]))
         result1.wasMerged()
diff --git a/Control/AthenaConfiguration/python/MainServicesConfig.py b/Control/AthenaConfiguration/python/MainServicesConfig.py
index e5f543568026..c5fc7989f391 100644
--- a/Control/AthenaConfiguration/python/MainServicesConfig.py
+++ b/Control/AthenaConfiguration/python/MainServicesConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from AthenaCommon.AlgSequence import AthSequencer
@@ -67,8 +68,8 @@ def MainServicesThreadedCfg(cfgFlags):
 
     
     #Set up incident firing:
-    from AthenaServices.AthenaServicesConf import AthIncFirerAlg
-    from GaudiCoreSvc.GaudiCoreSvcConf import IncidentProcAlg
+    AthIncFirerAlg=CompFactory.AthIncFirerAlg
+    IncidentProcAlg=CompFactory.IncidentProcAlg
 
     cfg.addEventAlgo(AthIncFirerAlg("BeginIncFiringAlg",FireSerial=False,Incidents=['BeginEvent']),sequenceName='AthBeginSeq')
     cfg.addEventAlgo(IncidentProcAlg('IncidentProcAlg1'),sequenceName='AthBeginSeq')
@@ -77,16 +78,16 @@ def MainServicesThreadedCfg(cfgFlags):
     cfg.addEventAlgo(IncidentProcAlg('IncidentProcAlg2'),sequenceName="AthEndSeq")
 
     #Basic services:
-    from CLIDComps.CLIDCompsConf import ClassIDSvc
+    ClassIDSvc=CompFactory.ClassIDSvc
     cfg.addService(ClassIDSvc(CLIDDBFiles= ['clid.db',"Gaudi_clid.db" ]))
 
-    from StoreGate.StoreGateConf import StoreGateSvc
+    StoreGateSvc=CompFactory.StoreGateSvc
     cfg.addService(StoreGateSvc())
     cfg.addService(StoreGateSvc("DetectorStore"))
     cfg.addService(StoreGateSvc("HistoryStore"))
     cfg.addService( StoreGateSvc("ConditionStore") )
     
-    from AthenaServices.AthenaServicesConf import CoreDumpSvc
+    CoreDumpSvc=CompFactory.CoreDumpSvc
     #438 is the logical or of  FATAL_ON_QUIT, FATAL_ON_INT, FATAL_DUMP_SIG, FATAL_DUMP_STACK, FATAL_DUMP_CONTEXT, FATAL_AUTO_EXIT
     #as defiend in Control/AthenaServices/src/SetFatalHandler.h 
     cfg.addService(CoreDumpSvc(FatalHandler = 438))
@@ -98,8 +99,8 @@ def MainServicesThreadedCfg(cfgFlags):
     if cfgFlags.Concurrency.NumThreads>0:
 
         # Migrated code from AtlasThreadedJob.py
-        from GaudiCoreSvc.GaudiCoreSvcConf import MessageSvc
-        from GaudiSvc.GaudiSvcConf import StatusCodeSvc, AuditorSvc
+        MessageSvc=CompFactory.MessageSvc
+        StatusCodeSvc, AuditorSvc=CompFactory.getComps("StatusCodeSvc","AuditorSvc",)
 
         msgsvc = MessageSvc()
         msgsvc.defaultLimit = 0 
@@ -113,18 +114,18 @@ def MainServicesThreadedCfg(cfgFlags):
         cfg.addService(scsvc)
         cfg.setAppProperty('StatusCodeCheck',False)
 
-        from StoreGate.StoreGateConf import SG__HiveMgrSvc
+        SG__HiveMgrSvc=CompFactory.SG__HiveMgrSvc
         hivesvc = SG__HiveMgrSvc("EventDataSvc")
         hivesvc.NSlots = cfgFlags.Concurrency.NumConcurrentEvents
         cfg.addService( hivesvc )
 
-        from GaudiHive.GaudiHiveConf import AlgResourcePool
+        AlgResourcePool=CompFactory.AlgResourcePool
         from AthenaCommon.Constants import INFO
         arp=AlgResourcePool( OutputLevel = INFO )
         arp.TopAlg=["AthMasterSeq"] #this should enable control flow
         cfg.addService( arp )
 
-        from GaudiHive.GaudiHiveConf import AvalancheSchedulerSvc
+        AvalancheSchedulerSvc=CompFactory.AvalancheSchedulerSvc
         scheduler = AvalancheSchedulerSvc()
         scheduler.CheckDependencies    = cfgFlags.Scheduler.CheckDependencies
         scheduler.ShowDataDependencies = cfgFlags.Scheduler.ShowDataDeps
@@ -133,7 +134,7 @@ def MainServicesThreadedCfg(cfgFlags):
         scheduler.ThreadPoolSize       = cfgFlags.Concurrency.NumThreads
         cfg.addService(scheduler)
 
-        from SGComps.SGCompsConf import SGInputLoader
+        SGInputLoader=CompFactory.SGInputLoader
         # FailIfNoProxy=False makes it a warning, not an error, if unmet data
         # dependencies are not found in the store.  It should probably be changed
         # to True eventually.
@@ -141,7 +142,7 @@ def MainServicesThreadedCfg(cfgFlags):
         cfg.addEventAlgo( inputloader, "AthAlgSeq" )
         scheduler.DataLoaderAlg = inputloader.getName()
 
-        from AthenaServices.AthenaServicesConf import AthenaHiveEventLoopMgr
+        AthenaHiveEventLoopMgr=CompFactory.AthenaHiveEventLoopMgr
 
         elmgr = AthenaHiveEventLoopMgr()
         elmgr.WhiteboardSvc = "EventDataSvc"
@@ -149,7 +150,7 @@ def MainServicesThreadedCfg(cfgFlags):
         cfg.addService( elmgr )
 
         # enable timeline recording
-        from GaudiHive.GaudiHiveConf import TimelineSvc
+        TimelineSvc=CompFactory.TimelineSvc
         cfg.addService( TimelineSvc( RecordTimeline = True, Partial = False ) )
 
         #
@@ -157,7 +158,7 @@ def MainServicesThreadedCfg(cfgFlags):
         #
 
         auditorsvc = AuditorSvc()
-        from SGComps.SGCompsConf import SGCommitAuditor
+        SGCommitAuditor=CompFactory.SGCommitAuditor
         auditorsvc += SGCommitAuditor()
         cfg.addService( auditorsvc )
         cfg.setAppProperty("AuditAlgorithms", True)
diff --git a/Control/AthenaExamples/AthExHelloWorld/python/HelloWorldConfig.py b/Control/AthenaExamples/AthExHelloWorld/python/HelloWorldConfig.py
index 008cac0a30af..84d95a35526f 100644
--- a/Control/AthenaExamples/AthExHelloWorld/python/HelloWorldConfig.py
+++ b/Control/AthenaExamples/AthExHelloWorld/python/HelloWorldConfig.py
@@ -1,13 +1,14 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 def HelloWorldCfg():
     result=ComponentAccumulator()
     
-    from AthExHelloWorld.AthExHelloWorldConf import HelloAlg
+    HelloAlg=CompFactory.HelloAlg
     HelloWorld=HelloAlg("HelloWorld")
     
     HelloWorld.OutputLevel = 0
@@ -47,7 +48,7 @@ def HelloWorldCfg():
     # ... and some more:
     HelloWorld.MyMatrix += [ [ 7, 8, 9 ] ]
 
-    from AthExHelloWorld.AthExHelloWorldConf import HelloTool
+    HelloTool=CompFactory.HelloTool
     ht=HelloTool( "HelloTool" )
     HelloWorld.MyPrivateHelloTool = ht #HelloTool( "HelloTool" )
     HelloWorld.MyPrivateHelloTool.MyMessage = "A Private Message!"
diff --git a/Control/RngComps/python/RandomServices.py b/Control/RngComps/python/RandomServices.py
index bf45c3391fe5..aa4f9555958e 100755
--- a/Control/RngComps/python/RandomServices.py
+++ b/Control/RngComps/python/RandomServices.py
@@ -3,12 +3,11 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from RngComps.RngCompsConf import (
-    AtDSFMTGenSvc,
-    AtRanluxGenSvc,
-    AtRndmGenSvc,
-    AthRNGSvc,
-)
+from AthenaConfiguration.ComponentFactory import CompFactory
+
+
+AtDSFMTGenSvc,AtRanluxGenSvc,AtRndmGenSvc,AthRNGSvc=\
+CompFactory.getComps("AtDSFMTGenSvc","AtRanluxGenSvc","AtRndmGenSvc","AthRNGSvc")
 
 # Translate between names in AthRNGSvc and elsewhere
 AthEngines = {
diff --git a/Control/SGComps/python/AddressRemappingConfig.py b/Control/SGComps/python/AddressRemappingConfig.py
index 3a0664bfce87..1c686d12dac3 100644
--- a/Control/SGComps/python/AddressRemappingConfig.py
+++ b/Control/SGComps/python/AddressRemappingConfig.py
@@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def AddressRemappingCfg(renameMaps=[]):
@@ -12,7 +13,7 @@ def AddressRemappingCfg(renameMaps=[]):
     AddressRemappingSvc and other needed services
     """
 
-    from SGComps.SGCompsConf import AddressRemappingSvc, ProxyProviderSvc
+    AddressRemappingSvc, ProxyProviderSvc=CompFactory.getComps("AddressRemappingSvc","ProxyProviderSvc",)
 
     acc = ComponentAccumulator()
     svc = AddressRemappingSvc()
diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolReadConfig.py b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolReadConfig.py
index eacd29f7f4c5..249167447585 100644
--- a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolReadConfig.py
+++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolReadConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def PoolReadCfg(configFlags):
     """
@@ -13,13 +14,13 @@ def PoolReadCfg(configFlags):
 
     result=ComponentAccumulator()
 
-    from PoolSvc.PoolSvcConf import PoolSvc
-    from SGComps.SGCompsConf import ProxyProviderSvc
-    from AthenaPoolCnvSvc.AthenaPoolCnvSvcConf import AthenaPoolCnvSvc
-    from EventSelectorAthenaPool.EventSelectorAthenaPoolConf import AthenaPoolAddressProviderSvc, EventSelectorAthenaPool, DoubleEventSelectorAthenaPool
-    from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+    PoolSvc=CompFactory.PoolSvc
+    ProxyProviderSvc=CompFactory.ProxyProviderSvc
+    AthenaPoolCnvSvc=CompFactory.AthenaPoolCnvSvc
+    AthenaPoolAddressProviderSvc, EventSelectorAthenaPool, DoubleEventSelectorAthenaPool=CompFactory.getComps("AthenaPoolAddressProviderSvc","EventSelectorAthenaPool","DoubleEventSelectorAthenaPool",)
+    EvtPersistencySvc=CompFactory.EvtPersistencySvc
     
-    from StoreGate.StoreGateConf import StoreGateSvc
+    StoreGateSvc=CompFactory.StoreGateSvc
 
     result.addService(PoolSvc(MaxFilesOpen=0))
     apcs=AthenaPoolCnvSvc()
diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolWriteConfig.py b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolWriteConfig.py
index e695062b04fe..14f28d7aad17 100644
--- a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolWriteConfig.py
+++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolWriteConfig.py
@@ -3,7 +3,8 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from AthenaPoolCnvSvc.AthenaPoolCnvSvcConf import AthenaPoolCnvSvc
+from AthenaConfiguration.ComponentFactory import CompFactory
+AthenaPoolCnvSvc=CompFactory.AthenaPoolCnvSvc
 
 
 def PoolWriteCfg(configFlags, **kwargs):
diff --git a/Database/AthenaPOOL/OutputStreamAthenaPool/python/OutputStreamConfig.py b/Database/AthenaPOOL/OutputStreamAthenaPool/python/OutputStreamConfig.py
index 59932d17670d..f46bb11ed2e8 100644
--- a/Database/AthenaPOOL/OutputStreamAthenaPool/python/OutputStreamConfig.py
+++ b/Database/AthenaPOOL/OutputStreamAthenaPool/python/OutputStreamConfig.py
@@ -1,13 +1,14 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator, ConfigurationError
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Logging import logging
 
 def OutputStreamCfg(configFlags, streamName, ItemList=[], disableEventTag=False ):
-   from OutputStreamAthenaPool.OutputStreamAthenaPoolConf import MakeEventStreamInfo
-   from AthenaServices.AthenaServicesConf import AthenaOutputStream
-   from AthenaServices.AthenaServicesConf import AthenaOutputStreamTool
-   from StoreGate.StoreGateConf import StoreGateSvc
+   MakeEventStreamInfo=CompFactory.MakeEventStreamInfo
+   AthenaOutputStream=CompFactory.AthenaOutputStream
+   AthenaOutputStreamTool=CompFactory.AthenaOutputStreamTool
+   StoreGateSvc=CompFactory.StoreGateSvc
 
    flagName="Output.%sFileName" % streamName
    if configFlags.hasFlag(flagName):
@@ -44,25 +45,25 @@ def OutputStreamCfg(configFlags, streamName, ItemList=[], disableEventTag=False
       key = "SimpleTag"
       outputStream.WritingTool.AttributeListKey=key
       # build eventinfo attribute list
-      from .OutputStreamAthenaPoolConf import EventInfoAttListTool, EventInfoTagBuilder
+      EventInfoAttListTool, EventInfoTagBuilder=CompFactory.getComps("EventInfoAttListTool","EventInfoTagBuilder",)
       result.addPublicTool(EventInfoAttListTool())
       tagBuilder = EventInfoTagBuilder(AttributeList=key)
       result.addEventAlgo(tagBuilder)
 
    # For xAOD output
    if streamName=="xAOD":
-      from xAODEventFormatCnv.xAODEventFormatCnvConf import xAODMaker__EventFormatSvc
+      xAODMaker__EventFormatSvc=CompFactory.xAODMaker__EventFormatSvc
       # Simplifies naming 
       result.addService(xAODMaker__EventFormatSvc())
       outputStream.MetadataItemList.append( "xAOD::EventFormat#EventFormat" )
 
-      from xAODMetaDataCnv.xAODMetaDataCnvConf import xAODMaker__FileMetaDataMarkUpTool
+      xAODMaker__FileMetaDataMarkUpTool=CompFactory.xAODMaker__FileMetaDataMarkUpTool
       streamMarkUpTool = xAODMaker__FileMetaDataMarkUpTool( streamName + "_FileMetaDataMarkUpTool" )
       streamMarkUpTool.Key = streamName
       outputStream.HelperTools += [ streamMarkUpTool ]
       outputStream.WritingTool.SubLevelBranchName = "<key>"
 
-      from AthenaPoolCnvSvc.AthenaPoolCnvSvcConf import AthenaPoolCnvSvc
+      AthenaPoolCnvSvc=CompFactory.AthenaPoolCnvSvc
       poolcnvsvc = AthenaPoolCnvSvc()
       result.addService(poolcnvsvc)
       poolcnvsvc.PoolAttributes += [ "DatabaseName = '" + fileName + "'; COMPRESSION_LEVEL = '5'" ]
diff --git a/Database/CoolLumiUtilities/python/BunchGroupCondAlgConfig.py b/Database/CoolLumiUtilities/python/BunchGroupCondAlgConfig.py
index b06610a84807..facc3af78b23 100644
--- a/Database/CoolLumiUtilities/python/BunchGroupCondAlgConfig.py
+++ b/Database/CoolLumiUtilities/python/BunchGroupCondAlgConfig.py
@@ -7,6 +7,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
@@ -25,7 +26,7 @@ def BunchGroupCondAlgCfg (configFlags):
         result.merge (addFolders (configFlags, folder, 'TRIGGER', tag='HEAD',
                                   className='AthenaAttributeList'))
 
-    from CoolLumiUtilities.CoolLumiUtilitiesConf import BunchGroupCondAlg
+    BunchGroupCondAlg=CompFactory.BunchGroupCondAlg
     alg = BunchGroupCondAlg (name,
                              BunchGroupFolderInputKey = folder,
                              BunchGroupOutputKey = 'BunchGroupCondData')
diff --git a/Database/CoolLumiUtilities/python/BunchLumisCondAlgConfig.py b/Database/CoolLumiUtilities/python/BunchLumisCondAlgConfig.py
index 535fdfe16328..32f22a2281d1 100644
--- a/Database/CoolLumiUtilities/python/BunchLumisCondAlgConfig.py
+++ b/Database/CoolLumiUtilities/python/BunchLumisCondAlgConfig.py
@@ -7,6 +7,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
@@ -34,7 +35,7 @@ def BunchLumisCondAlgCfg (configFlags):
     result.merge (FillParamsCondAlgCfg(configFlags))
     fpalg = result.getCondAlgo ('FillParamsCondAlg')
 
-    from CoolLumiUtilities.CoolLumiUtilitiesConf import BunchLumisCondAlg
+    BunchLumisCondAlg=CompFactory.BunchLumisCondAlg
     alg = BunchLumisCondAlg (name,
                              BunchLumisFolderInputKey = folder,
                              FillParamsInputKey = fpalg.FillParamsOutputKey,
diff --git a/Database/CoolLumiUtilities/python/FillParamsCondAlgConfig.py b/Database/CoolLumiUtilities/python/FillParamsCondAlgConfig.py
index 64c959d00416..cf0ff927a973 100644
--- a/Database/CoolLumiUtilities/python/FillParamsCondAlgConfig.py
+++ b/Database/CoolLumiUtilities/python/FillParamsCondAlgConfig.py
@@ -7,6 +7,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
@@ -25,7 +26,7 @@ def FillParamsCondAlgCfg (configFlags):
     result.merge (addFolders (configFlags, folder, 'TDAQ', tag='HEAD',
                               className='AthenaAttributeList'))
 
-    from CoolLumiUtilities.CoolLumiUtilitiesConf import FillParamsCondAlg
+    FillParamsCondAlg=CompFactory.FillParamsCondAlg
     alg = FillParamsCondAlg (name,
                              FillParamsFolderInputKey = folder,
                              FillParamsOutputKey = 'FillParamsCondData')
diff --git a/Database/CoolLumiUtilities/python/OnlineLumiCalibrationCondAlgConfig.py b/Database/CoolLumiUtilities/python/OnlineLumiCalibrationCondAlgConfig.py
index 393af5067237..5956df1bfe5e 100644
--- a/Database/CoolLumiUtilities/python/OnlineLumiCalibrationCondAlgConfig.py
+++ b/Database/CoolLumiUtilities/python/OnlineLumiCalibrationCondAlgConfig.py
@@ -7,6 +7,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
@@ -25,7 +26,7 @@ def OnlineLumiCalibrationCondAlgCfg (configFlags):
     result.merge (addFolders (configFlags, folder, 'TDAQ',
                               className='CondAttrListCollection'))
 
-    from CoolLumiUtilities.CoolLumiUtilitiesConf import OnlineLumiCalibrationCondAlg
+    OnlineLumiCalibrationCondAlg=CompFactory.OnlineLumiCalibrationCondAlg
     alg = OnlineLumiCalibrationCondAlg (name,
                                         CalibrationFolderInputKey = folder,
                                         LumiCalibOutputKey = 'OnlineLumiCalibrationCondData')
diff --git a/Database/IOVDbSvc/python/IOVDbSvcConfig.py b/Database/IOVDbSvc/python/IOVDbSvcConfig.py
index 07042b8454ad..355a4f532c60 100644
--- a/Database/IOVDbSvc/python/IOVDbSvcConfig.py
+++ b/Database/IOVDbSvc/python/IOVDbSvcConfig.py
@@ -1,7 +1,8 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator, ConfigurationError
-from IOVSvc.IOVSvcConf import CondInputLoader
+from AthenaConfiguration.ComponentFactory import CompFactory
+CondInputLoader=CompFactory.CondInputLoader
 import os
 
 def IOVDbSvcCfg(configFlags):
@@ -11,9 +12,9 @@ def IOVDbSvcCfg(configFlags):
     #Add the conditions loader, must be the first in the sequence
     result.addCondAlgo(CondInputLoader())
 
-    from IOVDbSvc.IOVDbSvcConf import IOVDbSvc
-    from IOVSvc.IOVSvcConf import CondSvc
-    from SGComps.SGCompsConf import ProxyProviderSvc
+    IOVDbSvc=CompFactory.IOVDbSvc
+    CondSvc=CompFactory.CondSvc
+    ProxyProviderSvc=CompFactory.ProxyProviderSvc
 
     #Properties of IOVDbSvc to be set here:
     #online-mode, DBInstance (slite)
@@ -51,7 +52,7 @@ def IOVDbSvcCfg(configFlags):
 
     # Set up POOLSvc with appropriate catalogs
     
-    from PoolSvc.PoolSvcConf import PoolSvc
+    PoolSvc=CompFactory.PoolSvc
     poolSvc=PoolSvc()
     poolSvc.MaxFilesOpen=0
     poolSvc.ReadCatalog=["apcfile:poolcond/PoolFileCatalog.xml",
@@ -67,7 +68,7 @@ def IOVDbSvcCfg(configFlags):
     result.addService(CondSvc())
     result.addService(ProxyProviderSvc(ProviderNames=["IOVDbSvc",]))
 
-    from DBReplicaSvc.DBReplicaSvcConf import DBReplicaSvc
+    DBReplicaSvc=CompFactory.DBReplicaSvc
     if not isMC:
         result.addService(DBReplicaSvc(COOLSQLiteVetoPattern="/DBRelease/"))
 
@@ -138,10 +139,10 @@ def addFolderList(configFlags,listOfFolderInfoTuple,extensible=False):
 
     if len(loadFolders)>0:
         result.getCondAlgo("CondInputLoader").Load+=loadFolders
-        from AthenaPoolCnvSvc.AthenaPoolCnvSvcConf import AthenaPoolCnvSvc
+        AthenaPoolCnvSvc=CompFactory.AthenaPoolCnvSvc
         apcs=AthenaPoolCnvSvc()
         result.addService(apcs)
-        from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+        EvtPersistencySvc=CompFactory.EvtPersistencySvc
         result.addService(EvtPersistencySvc("EventPersistencySvc",CnvServices=[apcs.getFullJobOptName(),]))
 
     return result
diff --git a/DetectorDescription/DetDescrCnvSvc/python/DetDescrCnvSvcConfig.py b/DetectorDescription/DetDescrCnvSvc/python/DetDescrCnvSvcConfig.py
index 2c81a08a38a0..6086c40dd350 100644
--- a/DetectorDescription/DetDescrCnvSvc/python/DetDescrCnvSvcConfig.py
+++ b/DetectorDescription/DetDescrCnvSvc/python/DetDescrCnvSvcConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def DetDescrCnvSvcCfg(configFlags):
-    from DetDescrCnvSvc.DetDescrCnvSvcConf import DetDescrCnvSvc
-    from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+    DetDescrCnvSvc=CompFactory.DetDescrCnvSvc
+    EvtPersistencySvc=CompFactory.EvtPersistencySvc
     acc=ComponentAccumulator()
     # Specify primary Identifier dictionary to be use
     detDescrCnvSvc=DetDescrCnvSvc(IdDictName = "IdDictParser/ATLAS_IDS.xml",
diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/python/ForDetGeoModelConfig.py b/DetectorDescription/GeoModel/AtlasGeoModel/python/ForDetGeoModelConfig.py
index e7180957a28f..9eb702a10232 100644
--- a/DetectorDescription/GeoModel/AtlasGeoModel/python/ForDetGeoModelConfig.py
+++ b/DetectorDescription/GeoModel/AtlasGeoModel/python/ForDetGeoModelConfig.py
@@ -1,15 +1,16 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def ForDetGeometryCfg( ConfigFlags ):
     from AtlasGeoModel.GeoModelConfig import GeoModelCfg
     acc = GeoModelCfg( ConfigFlags )
     geoModelSvc=acc.getPrimary()
-    from GeometryDBSvc.GeometryDBSvcConf import GeometryDBSvc
+    GeometryDBSvc=CompFactory.GeometryDBSvc
     acc.addService(GeometryDBSvc("InDetGeometryDBSvc"))
     # LUCID
     if ConfigFlags.Detector.GeometryLucid:
-        from LUCID_GeoModel.LUCID_GeoModelConf import LUCID_DetectorTool
+        LUCID_DetectorTool=CompFactory.LUCID_DetectorTool
         geoModelSvc.DetectorTools += [ LUCID_DetectorTool() ]
     # ALFA
     if ConfigFlags.Detector.GeometryALFA:
@@ -37,15 +38,15 @@ def ForDetGeometryCfg( ConfigFlags ):
         acc.merge(addFoldersSplitOnline(ConfigFlags,'FWD','/FWD/Onl/ALFA/position_calibration','/FWD/ALFA/position_calibration'))
     # ForwardRegion
     if ConfigFlags.Detector.GeometryFwdRegion:
-        from ForwardRegionGeoModel.ForwardRegionGeoModelConf import ForwardRegionGeoModelTool
+        ForwardRegionGeoModelTool=CompFactory.ForwardRegionGeoModelTool
         geoModelSvc.DetectorTools += [ ForwardRegionGeoModelTool() ]
     # ZDC
     if ConfigFlags.Detector.GeometryZDC:
-        from ZDC_GeoM.ZDC_GeoMConf import ZDC_DetTool
+        ZDC_DetTool=CompFactory.ZDC_DetTool
         geoModelSvc.DetectorTools += [ ZDC_DetTool() ]
     # AFP
     if ConfigFlags.Detector.GeometryAFP:
-        from AFP_GeoModel.AFP_GeoModelConf import AFP_GeoModelTool
+        AFP_GeoModelTool=CompFactory.AFP_GeoModelTool
         geoModelSvc.DetectorTools += [ AFP_GeoModelTool() ]
     acc.addService(geoModelSvc)
     return acc
diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/python/GeoModelConfig.py b/DetectorDescription/GeoModel/AtlasGeoModel/python/GeoModelConfig.py
index 2c6086d6f0e4..2da385b00cfd 100644
--- a/DetectorDescription/GeoModel/AtlasGeoModel/python/GeoModelConfig.py
+++ b/DetectorDescription/GeoModel/AtlasGeoModel/python/GeoModelConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Configurable import Configurable
 from AthenaCommon import Logging
 
@@ -15,7 +16,7 @@ def GeoModelCfg(configFlags):
 
 
     result=ComponentAccumulator()
-    from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+    GeoModelSvc=CompFactory.GeoModelSvc
     gms=GeoModelSvc(AtlasVersion=version,
                     SupportedGeometry = int(relversion[0]))
     if configFlags.Detector.Simulate:
diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/python/InDetGMConfig.py b/DetectorDescription/GeoModel/AtlasGeoModel/python/InDetGMConfig.py
index 12f3ee3f54ee..a50f5d95a7e8 100644
--- a/DetectorDescription/GeoModel/AtlasGeoModel/python/InDetGMConfig.py
+++ b/DetectorDescription/GeoModel/AtlasGeoModel/python/InDetGMConfig.py
@@ -3,17 +3,18 @@
 #
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def InDetServiceMaterialCfg (flags):
     from AtlasGeoModel.GeoModelConfig import GeoModelCfg
     acc = GeoModelCfg( flags )
     geoModelSvc=acc.getPrimary()
-    from GeometryDBSvc.GeometryDBSvcConf import GeometryDBSvc
+    GeometryDBSvc=CompFactory.GeometryDBSvc
     acc.addService(GeometryDBSvc("InDetGeometryDBSvc"))
-    from InDetServMatGeoModel.InDetServMatGeoModelConf import InDetServMatTool
+    InDetServMatTool=CompFactory.InDetServMatTool
     servMatTool = InDetServMatTool()
     if flags.GeoModel.Run=="RUN4":
-        from InDetServMatGeoModel.InDetServMatGeoModelConf import InDetServMatBuilderToolSLHC
+        InDetServMatBuilderToolSLHC=CompFactory.InDetServMatBuilderToolSLHC
         InDetServMatBuilderToolSLHC = InDetServMatBuilderToolSLHC()
         acc.addPublicTool( InDetServMatBuilderToolSLHC )
         servMatTool.ServiceBuilderTool = InDetServMatBuilderToolSLHC
diff --git a/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py b/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py
index f34727e5f6c3..62abeeac7629 100644
--- a/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py
+++ b/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py
@@ -3,6 +3,7 @@
 #
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def ByteStreamReadCfg( inputFlags, typeNames=[] ):
@@ -15,9 +16,9 @@ def ByteStreamReadCfg( inputFlags, typeNames=[] ):
 
     acc = ComponentAccumulator()
     
-    from ByteStreamCnvSvc.ByteStreamCnvSvcConf import ByteStreamCnvSvc, ByteStreamEventStorageInputSvc, EventSelectorByteStream
+    ByteStreamCnvSvc, ByteStreamEventStorageInputSvc, EventSelectorByteStream=CompFactory.getComps("ByteStreamCnvSvc","ByteStreamEventStorageInputSvc","EventSelectorByteStream",)
 
-    from xAODEventInfoCnv.xAODEventInfoCnvConf import xAODMaker__EventInfoSelectorTool 
+    xAODMaker__EventInfoSelectorTool, =CompFactory.getComps("xAODMaker__EventInfoSelectorTool",)
     xconv = xAODMaker__EventInfoSelectorTool()
 
     eventSelector = EventSelectorByteStream("EventSelector")
@@ -29,7 +30,7 @@ def ByteStreamReadCfg( inputFlags, typeNames=[] ):
     bsInputSvc.FullFileName = filenames
     acc.addService( bsInputSvc )
 
-    from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+    EvtPersistencySvc=CompFactory.EvtPersistencySvc
     eventPersistencySvc = EvtPersistencySvc( "EventPersistencySvc" )
     acc.addService( eventPersistencySvc )
     
@@ -38,30 +39,30 @@ def ByteStreamReadCfg( inputFlags, typeNames=[] ):
     eventPersistencySvc.CnvServices = [ bsCnvSvc.name() ]
     acc.addService( bsCnvSvc )
 
-    from ByteStreamCnvSvcBase.ByteStreamCnvSvcBaseConf import ROBDataProviderSvc
+    ROBDataProviderSvc=CompFactory.ROBDataProviderSvc
     robDPSvc = ROBDataProviderSvc()
     acc.addService( robDPSvc ) 
 
-    from ByteStreamCnvSvcBase.ByteStreamCnvSvcBaseConf import ByteStreamAddressProviderSvc
+    ByteStreamAddressProviderSvc=CompFactory.ByteStreamAddressProviderSvc
     bsAddressProviderSvc = ByteStreamAddressProviderSvc(TypeNames=typeNames)
     acc.addService( bsAddressProviderSvc )
 
-    from IOVDbMetaDataTools.IOVDbMetaDataToolsConf import IOVDbMetaDataTool
+    IOVDbMetaDataTool=CompFactory.IOVDbMetaDataTool
     iovMetaDataTool = IOVDbMetaDataTool()
     acc.addPublicTool( iovMetaDataTool )
     
-    from ByteStreamCnvSvc.ByteStreamCnvSvcConf import ByteStreamMetadataTool
+    ByteStreamMetadataTool=CompFactory.ByteStreamMetadataTool
     bsMetaDataTool = ByteStreamMetadataTool()
     acc.addPublicTool( bsMetaDataTool )
     
-    from StoreGate.StoreGateConf import StoreGateSvc
-    from SGComps.SGCompsConf import ProxyProviderSvc
+    StoreGateSvc=CompFactory.StoreGateSvc
+    ProxyProviderSvc=CompFactory.ProxyProviderSvc
     metaDataStore = StoreGateSvc("MetaDataStore")   
     acc.addService( metaDataStore )
     inputMetaDataStore = StoreGateSvc("InputMetaDataStore")   
     acc.addService( inputMetaDataStore )
 
-    from AthenaServices.AthenaServicesConf import MetaDataSvc
+    MetaDataSvc=CompFactory.MetaDataSvc
     metaDataSvc = MetaDataSvc()
     acc.addService( metaDataSvc )
 
@@ -72,7 +73,7 @@ def ByteStreamReadCfg( inputFlags, typeNames=[] ):
     proxy.ProviderNames += [ bsAddressProviderSvc.name(), metaDataSvc.name() ]
     acc.addService( proxy )
 
-    from ByteStreamCnvSvc.ByteStreamCnvSvcConf import ByteStreamAttListMetadataSvc
+    ByteStreamAttListMetadataSvc=CompFactory.ByteStreamAttListMetadataSvc
     acc.addService( ByteStreamAttListMetadataSvc() )
     
     bsCnvSvc.InitCnvs += [ "EventInfo",]
diff --git a/Event/DumpEventDataToJSON/python/DumpEventDataToJSONConfig.py b/Event/DumpEventDataToJSON/python/DumpEventDataToJSONConfig.py
index 88034bf94475..9c8544450967 100644
--- a/Event/DumpEventDataToJSON/python/DumpEventDataToJSONConfig.py
+++ b/Event/DumpEventDataToJSON/python/DumpEventDataToJSONConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Constants import VERBOSE
-from DumpEventDataToJSON.DumpEventDataToJSONConf import DumpEventDataToJsonAlg
+DumpEventDataToJsonAlg=CompFactory.DumpEventDataToJsonAlg
 
 def DumpEventDataToJSONAlgCfg(configFlags, doExtrap=False, **kwargs):
     result=ComponentAccumulator()
diff --git a/Event/EventInfoMgt/python/TagInfoMgrConfig.py b/Event/EventInfoMgt/python/TagInfoMgrConfig.py
index 9e816f56e0b9..5b0f5f3dde4f 100644
--- a/Event/EventInfoMgt/python/TagInfoMgrConfig.py
+++ b/Event/EventInfoMgt/python/TagInfoMgrConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator, ConfigurationError
 import os
@@ -15,9 +16,9 @@ def TagInfoMgrCfg(configFlags,tagValuePairs=[]):
 
     result=ComponentAccumulator()
 
-    from EventInfoMgt.EventInfoMgtConf import TagInfoMgr
-    from SGComps.SGCompsConf import ProxyProviderSvc
-    from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+    TagInfoMgr=CompFactory.TagInfoMgr
+    ProxyProviderSvc=CompFactory.ProxyProviderSvc
+    EvtPersistencySvc=CompFactory.EvtPersistencySvc
 
     #Build project-version string for the TagInfoMgr 
     project = os.getenv('AtlasProject',"Unknown")
diff --git a/Event/xAOD/xAODEventInfoCnv/python/xAODEventInfoCnvConfig.py b/Event/xAOD/xAODEventInfoCnv/python/xAODEventInfoCnvConfig.py
index 0b8ed51438d9..cb2b847b2fa6 100644
--- a/Event/xAOD/xAODEventInfoCnv/python/xAODEventInfoCnvConfig.py
+++ b/Event/xAOD/xAODEventInfoCnv/python/xAODEventInfoCnvConfig.py
@@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def EventInfoCnvAlgCfg(flags, name="EventInfoCnvAlg",
@@ -18,7 +19,7 @@ def EventInfoCnvAlgCfg(flags, name="EventInfoCnvAlg",
 
     # TODO: luminosity
 
-    from xAODEventInfoCnv.xAODEventInfoCnvConf import xAODMaker__EventInfoCnvAlg
+    xAODMaker__EventInfoCnvAlg=CompFactory.xAODMaker__EventInfoCnvAlg
     alg = xAODMaker__EventInfoCnvAlg(name, **kwargs)
     acc.addEventAlgo(alg)
 
@@ -37,7 +38,7 @@ def EventInfoOverlayAlgCfg(flags, name="EventInfoOverlay", **kwargs):
     kwargs.setdefault("DataOverlay", flags.Overlay.DataOverlay)
 
     # Do the xAOD::EventInfo overlay
-    from xAODEventInfoCnv.xAODEventInfoCnvConf import xAODMaker__EventInfoOverlay
+    xAODMaker__EventInfoOverlay=CompFactory.xAODMaker__EventInfoOverlay
     alg = xAODMaker__EventInfoOverlay(name, **kwargs)
     acc.addEventAlgo(alg)
 
diff --git a/Generators/McEventSelector/python/McEventSelectorConfig.py b/Generators/McEventSelector/python/McEventSelectorConfig.py
index 03f470a8d416..a31db701baf8 100644
--- a/Generators/McEventSelector/python/McEventSelectorConfig.py
+++ b/Generators/McEventSelector/python/McEventSelectorConfig.py
@@ -3,17 +3,18 @@
 # https://twiki.cern.ch/twiki/bin/viewauth/AtlasComputing/AthenaJobConfigRun3
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def McEventSelectorCfg(configFlags):
     cfg=ComponentAccumulator()
 
-    from McEventSelector.McEventSelectorConf import McCnvSvc
+    McCnvSvc=CompFactory.McCnvSvc
     mcCnvSvc = McCnvSvc()
     cfg.addService(mcCnvSvc)
-    from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+    EvtPersistencySvc=CompFactory.EvtPersistencySvc
     cfg.addService(EvtPersistencySvc("EventPersistencySvc",CnvServices=[mcCnvSvc.getFullJobOptName(),]))
 
-    from McEventSelector.McEventSelectorConf import McEventSelector
+    McEventSelector=CompFactory.McEventSelector
     evSel=McEventSelector("EventSelector")
     rn = configFlags.Input.RunNumber
     if isinstance(rn, type([])):
diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py
index 0a4f4405178e..181a9b3f3097 100644
--- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py
+++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py
@@ -3,10 +3,12 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import addFolders,addFoldersSplitOnline
-from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import (
-    PixelConfigCondAlg, PixelOfflineCalibCondAlg, PixelChargeCalibCondAlg, PixelDistortionAlg
-)
+
+
+PixelConfigCondAlg, PixelOfflineCalibCondAlg, PixelChargeCalibCondAlg, PixelDistortionAlg =\
+CompFactory.getComps("PixelConfigCondAlg","PixelOfflineCalibCondAlg","PixelChargeCalibCondAlg","PixelDistortionAlg")
 
 def PixelConfigCondAlgCfg(flags, name="PixelConfigCondAlg", **kwargs):
     """Return a ComponentAccumulator with configured PixelConfigCondAlg"""
diff --git a/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelConditionsSummaryConfig.py b/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelConditionsSummaryConfig.py
index 9c7a665a2a72..2ce9ed70ac04 100644
--- a/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelConditionsSummaryConfig.py
+++ b/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelConditionsSummaryConfig.py
@@ -3,9 +3,10 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline, addFolders
-from PixelConditionsTools.PixelConditionsToolsConf import PixelConditionsSummaryTool
-from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelTDAQCondAlg
+PixelConditionsSummaryTool=CompFactory.PixelConditionsSummaryTool
+PixelTDAQCondAlg=CompFactory.PixelTDAQCondAlg
 from PixelConditionsTools.PixelDCSConditionsConfig import PixelDCSConditionsCfg
 from PixelConditionsAlgorithms.PixelConditionsConfig import PixelConfigCondAlgCfg
 
diff --git a/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelDCSConditionsConfig.py b/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelDCSConditionsConfig.py
index 60fd358a48a5..b162e59325a3 100644
--- a/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelDCSConditionsConfig.py
+++ b/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelDCSConditionsConfig.py
@@ -3,10 +3,11 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import addFolders
-from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDCSCondStateAlg
-from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDCSCondHVAlg
-from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDCSCondTempAlg
+PixelDCSCondStateAlg=CompFactory.PixelDCSCondStateAlg
+PixelDCSCondHVAlg=CompFactory.PixelDCSCondHVAlg
+PixelDCSCondTempAlg=CompFactory.PixelDCSCondTempAlg
 
 def PixelDCSConditionsCfg(flags, name="PixelDCSCond", **kwargs):
     """Return configured ComponentAccumulator and tool for PixelDCSConditions"""
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_DCSConditionsConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_DCSConditionsConfig.py
index d718e090ca0a..8fa64f67e930 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_DCSConditionsConfig.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_DCSConditionsConfig.py
@@ -3,11 +3,12 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import addFolders
-from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_DCSConditionsTool
-from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsStatCondAlg
-from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsHVCondAlg
-from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsTempCondAlg
+SCT_DCSConditionsTool=CompFactory.SCT_DCSConditionsTool
+SCT_DCSConditionsStatCondAlg=CompFactory.SCT_DCSConditionsStatCondAlg
+SCT_DCSConditionsHVCondAlg=CompFactory.SCT_DCSConditionsHVCondAlg
+SCT_DCSConditionsTempCondAlg=CompFactory.SCT_DCSConditionsTempCondAlg
 
 def SCT_DCSConditionsToolCfg(flags, name="InDetSCT_DCSConditionsTool", **kwargs):
     """Return a configured SCT_DCSConditionsTool"""
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibChipDataConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibChipDataConfig.py
index 081cd9d9d85b..8e2d20d8e646 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibChipDataConfig.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibChipDataConfig.py
@@ -3,10 +3,11 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline
-from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ReadCalibChipDataTool
-from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_ReadCalibChipNoiseCondAlg
-from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_ReadCalibChipGainCondAlg
+SCT_ReadCalibChipDataTool=CompFactory.SCT_ReadCalibChipDataTool
+SCT_ReadCalibChipNoiseCondAlg=CompFactory.SCT_ReadCalibChipNoiseCondAlg
+SCT_ReadCalibChipGainCondAlg=CompFactory.SCT_ReadCalibChipGainCondAlg
 
 def SCT_ReadCalibChipDataToolCfg(flags, name="InDetSCT_ReadCalibChipDataTool", **kwargs):
     """Return a ReadCalibChipDataTool configured for SCT"""
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsConfig.py
index 41b9e2494c18..ae125aaf76e1 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsConfig.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsConfig.py
@@ -3,9 +3,10 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_SiliconHVCondAlg
-from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_SiliconTempCondAlg
-from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_SiliconConditionsTool
+from AthenaConfiguration.ComponentFactory import CompFactory
+SCT_SiliconHVCondAlg=CompFactory.SCT_SiliconHVCondAlg
+SCT_SiliconTempCondAlg=CompFactory.SCT_SiliconTempCondAlg
+SCT_SiliconConditionsTool=CompFactory.SCT_SiliconConditionsTool
 
 def SCT_SiliconConditionsToolCfg(flags, name="SCT_SiliconConditionsTool", **kwargs):
     """Return a configured SCT_SiliconConditionsTool (a.k.a. SiConditionsTool)"""
diff --git a/InnerDetector/InDetConditions/SiLorentzAngleTool/python/PixelLorentzAngleConfig.py b/InnerDetector/InDetConditions/SiLorentzAngleTool/python/PixelLorentzAngleConfig.py
index 5d02336a6c26..2849fe50c437 100644
--- a/InnerDetector/InDetConditions/SiLorentzAngleTool/python/PixelLorentzAngleConfig.py
+++ b/InnerDetector/InDetConditions/SiLorentzAngleTool/python/PixelLorentzAngleConfig.py
@@ -3,8 +3,9 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from SiPropertiesTool.PixelSiPropertiesConfig import PixelSiPropertiesCfg
-from SiLorentzAngleTool.SiLorentzAngleToolConf import SiLorentzAngleTool
-from SiLorentzAngleTool.SiLorentzAngleToolConf import PixelSiLorentzAngleCondAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+SiLorentzAngleTool=CompFactory.SiLorentzAngleTool
+PixelSiLorentzAngleCondAlg=CompFactory.PixelSiLorentzAngleCondAlg
 from PixelConditionsTools.PixelDCSConditionsConfig import PixelDCSConditionsCfg
 from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
 
diff --git a/InnerDetector/InDetConditions/SiLorentzAngleTool/python/SCT_LorentzAngleConfig.py b/InnerDetector/InDetConditions/SiLorentzAngleTool/python/SCT_LorentzAngleConfig.py
index 8cdaa0727da3..92dfe76ccf82 100644
--- a/InnerDetector/InDetConditions/SiLorentzAngleTool/python/SCT_LorentzAngleConfig.py
+++ b/InnerDetector/InDetConditions/SiLorentzAngleTool/python/SCT_LorentzAngleConfig.py
@@ -3,8 +3,9 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaCommon import Logging
-from SiLorentzAngleTool.SiLorentzAngleToolConf import SiLorentzAngleTool
-from SiLorentzAngleTool.SiLorentzAngleToolConf import SCTSiLorentzAngleCondAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+SiLorentzAngleTool=CompFactory.SiLorentzAngleTool
+SCTSiLorentzAngleCondAlg=CompFactory.SCTSiLorentzAngleCondAlg
 from SCT_ConditionsTools.SCT_DCSConditionsConfig import SCT_DCSConditionsCfg
 from SCT_ConditionsTools.SCT_SiliconConditionsConfig import SCT_SiliconConditionsCfg
 from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
diff --git a/InnerDetector/InDetConditions/SiPropertiesTool/python/PixelSiPropertiesConfig.py b/InnerDetector/InDetConditions/SiPropertiesTool/python/PixelSiPropertiesConfig.py
index 2d97c4be155d..8af3b93f6458 100644
--- a/InnerDetector/InDetConditions/SiPropertiesTool/python/PixelSiPropertiesConfig.py
+++ b/InnerDetector/InDetConditions/SiPropertiesTool/python/PixelSiPropertiesConfig.py
@@ -3,8 +3,9 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from PixelConditionsTools.PixelDCSConditionsConfig import PixelDCSConditionsCfg
-from SiPropertiesTool.SiPropertiesToolConf import SiPropertiesTool
-from SiPropertiesTool.SiPropertiesToolConf import PixelSiPropertiesCondAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+SiPropertiesTool=CompFactory.SiPropertiesTool
+PixelSiPropertiesCondAlg=CompFactory.PixelSiPropertiesCondAlg
 
 def PixelSiPropertiesToolCfg(flags, name="PixelSiPropertiesTool", **kwargs):
     """Return a SiPropertiesTool configured for Pixel"""
diff --git a/InnerDetector/InDetConditions/SiPropertiesTool/python/SCT_SiPropertiesConfig.py b/InnerDetector/InDetConditions/SiPropertiesTool/python/SCT_SiPropertiesConfig.py
index d6922564b576..e14c33682801 100644
--- a/InnerDetector/InDetConditions/SiPropertiesTool/python/SCT_SiPropertiesConfig.py
+++ b/InnerDetector/InDetConditions/SiPropertiesTool/python/SCT_SiPropertiesConfig.py
@@ -3,8 +3,9 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from SiPropertiesTool.SiPropertiesToolConf import SiPropertiesTool
-from SiPropertiesTool.SiPropertiesToolConf import SCTSiPropertiesCondAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+SiPropertiesTool=CompFactory.SiPropertiesTool
+SCTSiPropertiesCondAlg=CompFactory.SCTSiPropertiesCondAlg
 
 def SCT_SiPropertiesToolCfg(flags, name="SCT_SiPropertiesTool", **kwargs):
     """Return a SiPropertiesTool configured for SCT"""
diff --git a/InnerDetector/InDetDetDescr/PixelCabling/python/PixelCablingConfigNew.py b/InnerDetector/InDetDetDescr/PixelCabling/python/PixelCablingConfigNew.py
index f9ab5edad8a0..1f0894abcc6e 100644
--- a/InnerDetector/InDetDetDescr/PixelCabling/python/PixelCablingConfigNew.py
+++ b/InnerDetector/InDetDetDescr/PixelCabling/python/PixelCablingConfigNew.py
@@ -3,12 +3,13 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Logging import logging
 from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline, addFolders
-from PixelCabling.PixelCablingConf import PixelCablingSvc
-from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelReadoutSpeedAlg
-from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelCablingCondAlg
-from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelHitDiscCnfgAlg
+PixelCablingSvc=CompFactory.PixelCablingSvc
+PixelReadoutSpeedAlg=CompFactory.PixelReadoutSpeedAlg
+PixelCablingCondAlg=CompFactory.PixelCablingCondAlg
+PixelHitDiscCnfgAlg=CompFactory.PixelHitDiscCnfgAlg
 
 
 def PixelCablingSvcCfg(flags, name="PixelCablingSvc", **kwargs):
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/python/PixelGeoModelConfig.py b/InnerDetector/InDetDetDescr/PixelGeoModel/python/PixelGeoModelConfig.py
index 18a960cffec8..bab6a7587ac2 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/python/PixelGeoModelConfig.py
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/python/PixelGeoModelConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaCommon import CfgMgr
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def getPixelDetectorTool(name="PixelDetectorTool", **kwargs):
     from AtlasGeoModel.InDetGMJobProperties import InDetGeometryFlags
@@ -19,18 +20,18 @@ def PixelGeometryCfg( flags ):
   from AtlasGeoModel.GeoModelConfig import GeoModelCfg
   acc = GeoModelCfg( flags )
   geoModelSvc=acc.getPrimary()
-  from GeometryDBSvc.GeometryDBSvcConf import GeometryDBSvc
+  GeometryDBSvc=CompFactory.GeometryDBSvc
   acc.addService(GeometryDBSvc("InDetGeometryDBSvc"))
-  from PixelGeoModel.PixelGeoModelConf import PixelDetectorTool
+  PixelDetectorTool=CompFactory.PixelDetectorTool
   pixelDetectorTool = PixelDetectorTool("PixelDetectorTool")
-  from BCM_GeoModel.BCM_GeoModelConf import InDetDD__BCM_Builder
+  InDetDD__BCM_Builder=CompFactory.InDetDD__BCM_Builder
   bcmTool = InDetDD__BCM_Builder()
   pixelDetectorTool.BCM_Tool = bcmTool
-  from BLM_GeoModel.BLM_GeoModelConf import InDetDD__BLM_Builder
+  InDetDD__BLM_Builder=CompFactory.InDetDD__BLM_Builder
   blmTool = InDetDD__BLM_Builder()
   pixelDetectorTool.BLM_Tool = blmTool
   if flags.GeoModel.Run=="RUN4":
-      from InDetServMatGeoModel.InDetServMatGeoModelConf import InDetServMatBuilderToolSLHC
+      InDetServMatBuilderToolSLHC=CompFactory.InDetServMatBuilderToolSLHC
       InDetServMatBuilderToolSLHC = InDetServMatBuilderToolSLHC()
       acc.addPublicTool( InDetServMatBuilderToolSLHC )
       pixelDetectorTool.ServiceBuilderTool = InDetServMatBuilderToolSLHC
@@ -50,13 +51,13 @@ def PixelGeometryCfg( flags ):
       acc.merge(addFoldersSplitOnline(flags,"INDET","/Indet/Onl/Align","/Indet/Align",className="AlignableTransformContainer"))
     else:
       acc.merge(addFoldersSplitOnline(flags,"INDET","/Indet/Onl/Align","/Indet/Align"))
-  if flags.Common.Project is not "AthSimulation": # Protection for AthSimulation builds
+  if flags.Common.Project != "AthSimulation": # Protection for AthSimulation builds
       if (not flags.Detector.SimulatePixel) or flags.Detector.OverlayPixel:
-          from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelAlignCondAlg
+          PixelAlignCondAlg=CompFactory.PixelAlignCondAlg
           pixelAlignCondAlg = PixelAlignCondAlg(name = "PixelAlignCondAlg",
                                                 UseDynamicAlignFolders = flags.GeoModel.Align.Dynamic)
           acc.addCondAlgo(pixelAlignCondAlg)
-          from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDetectorElementCondAlg
+          PixelDetectorElementCondAlg=CompFactory.PixelDetectorElementCondAlg
           pixelDetectorElementCondAlg = PixelDetectorElementCondAlg(name = "PixelDetectorElementCondAlg")
           acc.addCondAlgo(pixelDetectorElementCondAlg)
   return acc
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/python/SCT_CablingConfig.py b/InnerDetector/InDetDetDescr/SCT_Cabling/python/SCT_CablingConfig.py
index 45f60de74135..aa66ef5a4cf4 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/python/SCT_CablingConfig.py
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/python/SCT_CablingConfig.py
@@ -3,6 +3,7 @@
 # https://twiki.cern.ch/twiki/bin/viewauth/AtlasComputing/ConfiguredFactory
 
 from AthenaCommon import CfgMgr
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def setSCT_CablingDataBase():
     from IOVDbSvc.CondDB import conddb
@@ -92,7 +93,7 @@ def SCT_CablingCondAlgCfg(configFlags):
     cfg=ComponentAccumulator()
     foldersCfg,path=SCT_CablingFoldersCfg(configFlags)
     cfg.merge(foldersCfg)
-    from SCT_Cabling.SCT_CablingConf import SCT_CablingCondAlgFromCoraCool
+    SCT_CablingCondAlgFromCoraCool=CompFactory.SCT_CablingCondAlgFromCoraCool
     cfg.addCondAlgo(SCT_CablingCondAlgFromCoraCool(ReadKeyRod=path+"ROD",
                                                    ReadKeyRodMur=path+"RODMUR",
                                                    ReadKeyMur=path+"MUR",
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/python/TestSCT_CablingCfg.py b/InnerDetector/InDetDetDescr/SCT_Cabling/python/TestSCT_CablingCfg.py
index 85da9f5f1c32..706da20a10d0 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/python/TestSCT_CablingCfg.py
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/python/TestSCT_CablingCfg.py
@@ -3,6 +3,7 @@
 # https://twiki.cern.ch/twiki/bin/viewauth/AtlasComputing/AthenaJobConfigRun3
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def SCT_TestCablingAlgCfg(configFlags):
@@ -21,7 +22,7 @@ def SCT_TestCablingAlgCfg(configFlags):
     SCT_CablingTool.DataSource = "COOLVECTOR"
     SCT_CablingTool.OutputLevel = INFO
 
-    from SCT_Cabling.SCT_CablingConf import SCT_TestCablingAlg
+    SCT_TestCablingAlg=CompFactory.SCT_TestCablingAlg
     testAlg = SCT_TestCablingAlg(SCT_CablingTool = SCT_CablingTool,
                                  OutputLevel = INFO)
     cfg.addEventAlgo(testAlg)
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/python/SCT_GeoModelConfig.py b/InnerDetector/InDetDetDescr/SCT_GeoModel/python/SCT_GeoModelConfig.py
index 5686cd2d4400..2672235bde44 100644
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/python/SCT_GeoModelConfig.py
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/python/SCT_GeoModelConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaCommon import CfgMgr
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def getSCT_DetectorTool(name="SCT_DetectorTool", **kwargs):
     kwargs.setdefault("DetectorName",     "SCT")
@@ -17,21 +18,21 @@ def SCT_GeometryCfg( flags ):
     from AtlasGeoModel.GeoModelConfig import GeoModelCfg
     acc = GeoModelCfg( flags )
     geoModelSvc=acc.getPrimary()
-    from GeometryDBSvc.GeometryDBSvcConf import GeometryDBSvc
+    GeometryDBSvc=CompFactory.GeometryDBSvc
     acc.addService(GeometryDBSvc("InDetGeometryDBSvc"))
     if flags.GeoModel.Run=="RUN4":
         if "GMX" == flags.GeoModel.StripGeoType():
-            from SCT_GeoModelXml.SCT_GeoModelXmlConf import SCT_GMX_DetectorTool
+            SCT_GMX_DetectorTool=CompFactory.SCT_GMX_DetectorTool
             sctDetectorTool = SCT_GMX_DetectorTool()
         else:
-            from SCT_SLHC_GeoModel.SCT_SLHC_GeoModelConf import SCT_SLHC_DetectorTool
+            SCT_SLHC_DetectorTool=CompFactory.SCT_SLHC_DetectorTool
             sctDetectorTool = SCT_SLHC_DetectorTool()
-            from InDetServMatGeoModel.InDetServMatGeoModelConf import InDetServMatBuilderToolSLHC
+            InDetServMatBuilderToolSLHC=CompFactory.InDetServMatBuilderToolSLHC
             InDetServMatBuilderToolSLHC = InDetServMatBuilderToolSLHC()
             acc.addPublicTool( InDetServMatBuilderToolSLHC )
             sctDetectorTool.ServiceBuilderTool = InDetServMatBuilderToolSLHC
     else:
-        from SCT_GeoModel.SCT_GeoModelConf import SCT_DetectorTool
+        SCT_DetectorTool=CompFactory.SCT_DetectorTool
         sctDetectorTool = SCT_DetectorTool()
     sctDetectorTool.useDynamicAlignFolders = flags.GeoModel.Align.Dynamic
     geoModelSvc.DetectorTools += [ sctDetectorTool ]
@@ -44,13 +45,13 @@ def SCT_GeometryCfg( flags ):
             acc.merge(addFoldersSplitOnline(flags,"INDET","/Indet/Onl/Align","/Indet/Align",className="AlignableTransformContainer"))
         else:
             acc.merge(addFoldersSplitOnline(flags,"INDET","/Indet/Onl/Align","/Indet/Align"))
-    if flags.Common.Project is not "AthSimulation": # Protection for AthSimulation builds
+    if flags.Common.Project != "AthSimulation": # Protection for AthSimulation builds
         if (not flags.Detector.SimulateSCT) or flags.Detector.OverlaySCT:
-            from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_AlignCondAlg
+            SCT_AlignCondAlg=CompFactory.SCT_AlignCondAlg
             sctAlignCondAlg = SCT_AlignCondAlg(name = "SCT_AlignCondAlg",
                                                UseDynamicAlignFolders = flags.GeoModel.Align.Dynamic)
             acc.addCondAlgo(sctAlignCondAlg)
-            from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DetectorElementCondAlg
+            SCT_DetectorElementCondAlg=CompFactory.SCT_DetectorElementCondAlg
             sctDetectorElementCondAlg = SCT_DetectorElementCondAlg(name = "SCT_DetectorElementCondAlg")
             acc.addCondAlgo(sctDetectorElementCondAlg)
     return acc
diff --git a/InnerDetector/InDetDetDescr/TRT_GeoModel/python/TRT_GeoModelConfig.py b/InnerDetector/InDetDetDescr/TRT_GeoModel/python/TRT_GeoModelConfig.py
index ebf0123dff11..8579e8ef4c4a 100644
--- a/InnerDetector/InDetDetDescr/TRT_GeoModel/python/TRT_GeoModelConfig.py
+++ b/InnerDetector/InDetDetDescr/TRT_GeoModel/python/TRT_GeoModelConfig.py
@@ -3,14 +3,15 @@
 #
 
 from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TRT_GeometryCfg( flags ):
     from AtlasGeoModel.GeoModelConfig import GeoModelCfg
     acc = GeoModelCfg( flags )
     geoModelSvc=acc.getPrimary()
-    from GeometryDBSvc.GeometryDBSvcConf import GeometryDBSvc
+    GeometryDBSvc=CompFactory.GeometryDBSvc
     acc.addService(GeometryDBSvc("InDetGeometryDBSvc"))
-    from TRT_GeoModel.TRT_GeoModelConf import TRT_DetectorTool
+    TRT_DetectorTool=CompFactory.TRT_DetectorTool
     trtDetectorTool = TRT_DetectorTool()
     trtDetectorTool.useDynamicAlignFolders = flags.GeoModel.Align.Dynamic
     geoModelSvc.DetectorTools += [ trtDetectorTool ]
@@ -30,7 +31,7 @@ def TRT_GeometryCfg( flags ):
         # Argon straw list
         acc.merge(addFoldersSplitOnline(flags, "TRT","/TRT/Onl/Cond/StatusHT","/TRT/Cond/StatusHT",className='TRTCond::StrawStatusMultChanContainer'))
     # TRT Condition Algorithm
-    from TRT_ConditionsAlgs.TRT_ConditionsAlgsConf import TRTAlignCondAlg
+    TRTAlignCondAlg=CompFactory.TRTAlignCondAlg
     TRTAlignCondAlg = TRTAlignCondAlg(name = "TRTAlignCondAlg",
                                       UseDynamicFolders = flags.GeoModel.Align.Dynamic)
     if flags.GeoModel.Align.Dynamic:
diff --git a/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py b/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py
old mode 100755
new mode 100644
index 4e80c26851f2..a8ee1e72670b
--- a/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py
+++ b/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py
@@ -3,11 +3,12 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from RngComps.RandomServices import RNG
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
+PileUpXingFolder=CompFactory.PileUpXingFolder
 from PixelGeoModel.PixelGeoModelConfig import PixelGeometryCfg
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
-from BCM_Digitization.BCM_DigitizationConf import BCM_DigitizationTool, BCM_Digitization
+BCM_DigitizationTool, BCM_Digitization=CompFactory.getComps("BCM_DigitizationTool","BCM_Digitization",)
 from Digitization.TruthDigitizationOutputConfig import TruthDigitizationOutputCfg
 from Digitization.PileUpToolsConfig import PileUpToolsCfg
 
diff --git a/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfigNew.py b/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfigNew.py
index ba6b80366939..fc12fb90de27 100644
--- a/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfigNew.py
+++ b/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfigNew.py
@@ -3,7 +3,8 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
+from AthenaConfiguration.ComponentFactory import CompFactory
+PileUpXingFolder=CompFactory.PileUpXingFolder
 from PixelCabling.PixelCablingConfigNew import PixelCablingSvcCfg
 from PixelDigitization.PixelDigitizationConf import (
     PixelDigitizationTool, PixelDigitization, ChargeCollProbSvc,
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigNew.py b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigNew.py
index 00dce9272295..3c07578f44e4 100644
--- a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigNew.py
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigNew.py
@@ -3,6 +3,7 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Logging import logging
 from SCT_Digitization.SCT_DigitizationConf import (
     SCT_RandomDisabledCellGenerator,
@@ -12,9 +13,9 @@ from SCT_Digitization.SCT_DigitizationConf import (
     SCT_DigitizationTool,
     SCT_Digitization,
 )
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
+PileUpXingFolder=CompFactory.PileUpXingFolder
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
-from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_RadDamageSummaryTool
+SCT_RadDamageSummaryTool=CompFactory.SCT_RadDamageSummaryTool
 from SCT_GeoModel.SCT_GeoModelConfig import SCT_GeometryCfg
 from SCT_ConditionsTools.SCT_DCSConditionsConfig import SCT_DCSConditionsCfg
 from SCT_ConditionsTools.SCT_SiliconConditionsConfig import SCT_SiliconConditionsToolCfg, SCT_SiliconConditionsCfg
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/python/TRT_DigitizationConfigNew.py b/InnerDetector/InDetDigitization/TRT_Digitization/python/TRT_DigitizationConfigNew.py
index 53bfe06a6b9f..ec503c3d4d81 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/python/TRT_DigitizationConfigNew.py
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/python/TRT_DigitizationConfigNew.py
@@ -3,14 +3,15 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from TRT_Digitization.TRT_DigitizationConf import TRTDigitizationTool, TRTDigitization
+from AthenaConfiguration.ComponentFactory import CompFactory
+TRTDigitizationTool, TRTDigitization=CompFactory.getComps("TRTDigitizationTool","TRTDigitization",)
 from TRT_GeoModel.TRT_GeoModelConfig import TRT_GeometryCfg
 from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
 from TRT_PAI_Process.TRT_PAI_ProcessConfigNew import TRT_PAI_Process_XeToolCfg
 from TRT_PAI_Process.TRT_PAI_ProcessConfigNew import TRT_PAI_Process_ArToolCfg
 from TRT_PAI_Process.TRT_PAI_ProcessConfigNew import TRT_PAI_Process_KrToolCfg
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
-from PartPropSvc.PartPropSvcConf import PartPropSvc
+PileUpXingFolder=CompFactory.PileUpXingFolder
+PartPropSvc=CompFactory.PartPropSvc
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 from Digitization.PileUpToolsConfig import PileUpToolsCfg
diff --git a/InnerDetector/InDetG4/BCM_G4_SD/python/BCM_G4_SDToolConfig.py b/InnerDetector/InDetG4/BCM_G4_SD/python/BCM_G4_SDToolConfig.py
index b87f06bfe1b7..5bcf6ddf9b1f 100644
--- a/InnerDetector/InDetG4/BCM_G4_SD/python/BCM_G4_SDToolConfig.py
+++ b/InnerDetector/InDetG4/BCM_G4_SD/python/BCM_G4_SDToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from ISF_Algorithms.collection_merger_helpersNew import CollectionMergerCfg
 
-from BCM_G4_SD.BCM_G4_SDConf import BCMSensorSDTool
+BCMSensorSDTool=CompFactory.BCMSensorSDTool
 
 def BCMSensorSDCfg(ConfigFlags, name="BCMSensorSD", **kwargs):
 
diff --git a/InnerDetector/InDetG4/BLM_G4_SD/python/BLM_G4_SDToolConfig.py b/InnerDetector/InDetG4/BLM_G4_SD/python/BLM_G4_SDToolConfig.py
index b1c0159e5e39..f816bda346ce 100644
--- a/InnerDetector/InDetG4/BLM_G4_SD/python/BLM_G4_SDToolConfig.py
+++ b/InnerDetector/InDetG4/BLM_G4_SD/python/BLM_G4_SDToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from ISF_Algorithms.collection_merger_helpersNew import CollectionMergerCfg
 
-from BLM_G4_SD.BLM_G4_SDConf import BLMSensorSDTool
+BLMSensorSDTool=CompFactory.BLMSensorSDTool
 
 
 def BLMSensorSDCfg(ConfigFlags, name="BLMSensorSD", **kwargs):
diff --git a/InnerDetector/InDetG4/PixelG4_SD/python/PixelG4_SDToolConfig.py b/InnerDetector/InDetG4/PixelG4_SD/python/PixelG4_SDToolConfig.py
index 5aece606e332..bfe0d3c14a5f 100644
--- a/InnerDetector/InDetG4/PixelG4_SD/python/PixelG4_SDToolConfig.py
+++ b/InnerDetector/InDetG4/PixelG4_SD/python/PixelG4_SDToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from ISF_Algorithms.collection_merger_helpersNew import CollectionMergerCfg
 
-from PixelG4_SD.PixelG4_SDConf import PixelSensorSDTool
+PixelSensorSDTool=CompFactory.PixelSensorSDTool
 
 
 def PixelSensorSDCfg(ConfigFlags, name="PixelSensorSD", **kwargs):
diff --git a/InnerDetector/InDetG4/SCT_G4_SD/python/SCT_G4_SDToolConfig.py b/InnerDetector/InDetG4/SCT_G4_SD/python/SCT_G4_SDToolConfig.py
index b2a6c43a1590..d3af78ebff43 100644
--- a/InnerDetector/InDetG4/SCT_G4_SD/python/SCT_G4_SDToolConfig.py
+++ b/InnerDetector/InDetG4/SCT_G4_SD/python/SCT_G4_SDToolConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from ISF_Algorithms.collection_merger_helpersNew import CollectionMergerCfg
 
-from SCT_G4_SD.SCT_G4_SDConf import SctSensorSDTool
-from SCT_G4_SD.SCT_G4_SDConf import SctSensor_CTBTool
+SctSensorSDTool=CompFactory.SctSensorSDTool
+SctSensor_CTBTool=CompFactory.SctSensor_CTBTool
 
 
 def SctSensorSDCfg(ConfigFlags, name="SctSensorSD", **kwargs):
diff --git a/InnerDetector/InDetRawAlgs/InDetOverlay/python/PixelOverlayConfig.py b/InnerDetector/InDetRawAlgs/InDetOverlay/python/PixelOverlayConfig.py
index 7873e24f3b21..2bacdc8a8739 100644
--- a/InnerDetector/InDetRawAlgs/InDetOverlay/python/PixelOverlayConfig.py
+++ b/InnerDetector/InDetRawAlgs/InDetOverlay/python/PixelOverlayConfig.py
@@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def PixelOverlayAlgCfg(flags, name = "PixelOverlay", **kwargs):
@@ -17,7 +18,7 @@ def PixelOverlayAlgCfg(flags, name = "PixelOverlay", **kwargs):
     kwargs.setdefault("includeBkg", True)
 
     # Do Pixel overlay
-    from InDetOverlay.InDetOverlayConf import PixelOverlay
+    PixelOverlay=CompFactory.PixelOverlay
     alg = PixelOverlay(name, **kwargs)
     acc.addEventAlgo(alg)
 
@@ -41,7 +42,7 @@ def PixelTruthOverlayCfg(flags, name = "PixelSDOOverlay", **kwargs):
     kwargs.setdefault("OutputKey", "PixelSDO_Map")
 
     # Do Pixel truth overlay
-    from InDetOverlay.InDetOverlayConf import InDetSDOOverlay
+    InDetSDOOverlay=CompFactory.InDetSDOOverlay
     alg = InDetSDOOverlay(name, **kwargs)
     acc.addEventAlgo(alg)
 
diff --git a/InnerDetector/InDetRawAlgs/InDetOverlay/python/SCTOverlayConfig.py b/InnerDetector/InDetRawAlgs/InDetOverlay/python/SCTOverlayConfig.py
index b4a95804212e..cef25d9277d5 100644
--- a/InnerDetector/InDetRawAlgs/InDetOverlay/python/SCTOverlayConfig.py
+++ b/InnerDetector/InDetRawAlgs/InDetOverlay/python/SCTOverlayConfig.py
@@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def SCTOverlayAlgCfg(flags, name = "SCTOverlay", **kwargs):
@@ -17,7 +18,7 @@ def SCTOverlayAlgCfg(flags, name = "SCTOverlay", **kwargs):
     kwargs.setdefault("includeBkg", True)
 
     # Do SCT overlay
-    from InDetOverlay.InDetOverlayConf import SCTOverlay
+    SCTOverlay=CompFactory.SCTOverlay
     alg = SCTOverlay(name, **kwargs)
     acc.addEventAlgo(alg)
 
@@ -41,7 +42,7 @@ def SCTTruthOverlayCfg(flags, name = "SCTSDOOverlay", **kwargs):
     kwargs.setdefault("OutputKey", "SCT_SDO_Map")
 
     # Do SCT truth overlay
-    from InDetOverlay.InDetOverlayConf import InDetSDOOverlay
+    InDetSDOOverlay=CompFactory.InDetSDOOverlay
     alg = InDetSDOOverlay(name, **kwargs)
     acc.addEventAlgo(alg)
 
diff --git a/InnerDetector/InDetRawAlgs/InDetOverlay/python/TRTOverlayConfig.py b/InnerDetector/InDetRawAlgs/InDetOverlay/python/TRTOverlayConfig.py
index 18f443eb1779..a86b7da182a5 100644
--- a/InnerDetector/InDetRawAlgs/InDetOverlay/python/TRTOverlayConfig.py
+++ b/InnerDetector/InDetRawAlgs/InDetOverlay/python/TRTOverlayConfig.py
@@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TRTOverlayAlgCfg(flags, name = "TRTOverlay", **kwargs):
     """Return a ComponentAccumulator for TRTOverlay algorithm"""
@@ -26,7 +27,7 @@ def TRTOverlayAlgCfg(flags, name = "TRTOverlay", **kwargs):
     kwargs.setdefault("TRT_HT_OccupancyCorrectionEndcapNoE", 0.050)
 
     # Do TRT overlay
-    from InDetOverlay.InDetOverlayConf import TRTOverlay
+    TRTOverlay=CompFactory.TRTOverlay
     alg = TRTOverlay(name, **kwargs)
 
     from InDetOverlay.TRT_ConditionsConfig import TRT_LocalOccupancyCfg, TRT_StrawStatusSummaryToolCfg
@@ -54,7 +55,7 @@ def TRTTruthOverlayCfg(flags, name = "TRTSDOOverlay", **kwargs):
     kwargs.setdefault("OutputKey", "TRT_SDO_Map")
 
     # Do TRT truth overlay
-    from InDetOverlay.InDetOverlayConf import InDetSDOOverlay
+    InDetSDOOverlay=CompFactory.InDetSDOOverlay
     alg = InDetSDOOverlay(name, **kwargs)
     acc.addEventAlgo(alg)
 
diff --git a/InnerDetector/InDetRawAlgs/InDetOverlay/python/TRT_ConditionsConfig.py b/InnerDetector/InDetRawAlgs/InDetOverlay/python/TRT_ConditionsConfig.py
index 09d25961ba07..ed124dfb894b 100644
--- a/InnerDetector/InDetRawAlgs/InDetOverlay/python/TRT_ConditionsConfig.py
+++ b/InnerDetector/InDetRawAlgs/InDetOverlay/python/TRT_ConditionsConfig.py
@@ -6,12 +6,13 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TRT_CalDbToolCfg(flags, name = "TRT_CalDbTool"):
     """Return a ComponentAccumulator for TRT_CalDbTool"""
     from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline
     acc = addFoldersSplitOnline(flags,"TRT","/TRT/Onl/Calib/T0","/TRT/Calib/T0",className='TRTCond::StrawT0MultChanContainer')
-    from TRT_ConditionsServices.TRT_ConditionsServicesConf import TRT_CalDbTool
+    TRT_CalDbTool=CompFactory.TRT_CalDbTool
     acc.setPrivateTools(TRT_CalDbTool(name = "TRT_CalDbTool"))
     return acc
 
@@ -19,7 +20,7 @@ def TRT_CalDbToolCfg(flags, name = "TRT_CalDbTool"):
 def TRT_StrawStatusSummaryToolCfg(flags, name = "TRT_StrawStatusSummaryTool"):
     """Return a ComponentAccumulator for TRT_StrawStatusSummaryTool"""
     acc = ComponentAccumulator()
-    from TRT_ConditionsServices.TRT_ConditionsServicesConf import TRT_StrawStatusSummaryTool
+    TRT_StrawStatusSummaryTool=CompFactory.TRT_StrawStatusSummaryTool
     acc.setPrivateTools(TRT_StrawStatusSummaryTool(name = "TRT_StrawStatusSummaryTool",
                                                    isGEANT4 = flags.Detector.Simulate))
     return acc
@@ -31,7 +32,7 @@ def TRT_LocalOccupancyCfg(flags, name = "TRT_LocalOccupancy"):
     trtCalDbTool = acc.popToolsAndMerge(TRT_CalDbToolCfg(flags))
     trtStrawStatusSummaryTool = acc.popToolsAndMerge(TRT_StrawStatusSummaryToolCfg(flags))
 
-    from TRT_ElectronPidTools.TRT_ElectronPidToolsConf import InDet__TRT_LocalOccupancy
+    InDet__TRT_LocalOccupancy=CompFactory.InDet__TRT_LocalOccupancy
     acc.setPrivateTools(InDet__TRT_LocalOccupancy(name = "TRT_LocalOccupancy",
                                                   isTrigger = False,
                                                   TRTCalDbTool = trtCalDbTool,
@@ -44,7 +45,7 @@ def TRTStrawCondAlgCfg(flags, name = "TRTStrawCondAlg"):
     acc = ComponentAccumulator()
     trtStrawStatusSummaryTool = acc.popToolsAndMerge(TRT_StrawStatusSummaryToolCfg(flags))
     # Alive straws algorithm
-    from TRT_ConditionsAlgs.TRT_ConditionsAlgsConf import TRTStrawCondAlg
+    TRTStrawCondAlg=CompFactory.TRTStrawCondAlg
     acc.addCondAlgo(TRTStrawCondAlg(name = "TRTStrawCondAlg",
                                     TRTStrawStatusSummaryTool = trtStrawStatusSummaryTool,
                                     isGEANT4 =flags.Detector.Simulate))
diff --git a/LArCalorimeter/LArBadChannelTool/python/LArBadChannelConfig.py b/LArCalorimeter/LArBadChannelTool/python/LArBadChannelConfig.py
index 40f7358185c7..1e3fae2056c4 100644
--- a/LArCalorimeter/LArBadChannelTool/python/LArBadChannelConfig.py
+++ b/LArCalorimeter/LArBadChannelTool/python/LArBadChannelConfig.py
@@ -1,7 +1,8 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from LArBadChannelTool.LArBadChannelToolConf import LArBadChannelCondAlg, LArBadFebCondAlg, LArBadChannelMasker
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArBadChannelCondAlg, LArBadFebCondAlg, LArBadChannelMasker=CompFactory.getComps("LArBadChannelCondAlg","LArBadFebCondAlg","LArBadChannelMasker",)
 from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 
diff --git a/LArCalorimeter/LArBadChannelTool/python/LArBadFebsConfig.py b/LArCalorimeter/LArBadChannelTool/python/LArBadFebsConfig.py
index 4e32d7cb6465..ce39d215f7ab 100644
--- a/LArCalorimeter/LArBadChannelTool/python/LArBadFebsConfig.py
+++ b/LArCalorimeter/LArBadChannelTool/python/LArBadFebsConfig.py
@@ -1,7 +1,8 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from LArBadChannelTool.LArBadChannelToolConf import LArBadFebCondAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArBadFebCondAlg=CompFactory.LArBadFebCondAlg
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 
 def LArKnownBadFebCfg(configFlags, tag=""):
diff --git a/LArCalorimeter/LArCabling/python/LArCablingConfig.py b/LArCalorimeter/LArCabling/python/LArCablingConfig.py
index de04bd079d3f..1030263e7d7d 100644
--- a/LArCalorimeter/LArCabling/python/LArCablingConfig.py
+++ b/LArCalorimeter/LArCabling/python/LArCablingConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from IOVDbSvc.IOVDbSvcConfig import IOVDbSvcCfg, addFolders
-from LArRecUtils.LArRecUtilsConf import LArOnOffMappingAlg, LArFebRodMappingAlg, LArCalibLineMappingAlg
+LArOnOffMappingAlg, LArFebRodMappingAlg, LArCalibLineMappingAlg=CompFactory.getComps("LArOnOffMappingAlg","LArFebRodMappingAlg","LArCalibLineMappingAlg",)
 
 def _larCablingCfg(configFlags,algo,folder):
     result=ComponentAccumulator()
diff --git a/LArCalorimeter/LArCalibUtils/python/LArHVScaleConfig.py b/LArCalorimeter/LArCalibUtils/python/LArHVScaleConfig.py
index 38e273b1dcf2..d112bedb1288 100644
--- a/LArCalorimeter/LArCalibUtils/python/LArHVScaleConfig.py
+++ b/LArCalorimeter/LArCalibUtils/python/LArHVScaleConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def LArHVScaleCfg(configFlags):
     result=ComponentAccumulator()
@@ -11,7 +12,7 @@ def LArHVScaleCfg(configFlags):
     if configFlags.Input.isMC:
         result.merge(addFolders(configFlags,["/LAR/Identifier/HVLineToElectrodeMap<tag>LARHVLineToElectrodeMap-001</tag>"], "LAR_OFL", className="AthenaAttributeList"))
 
-        from LArRecUtils.LArRecUtilsConf import LArHVIdMappingAlg
+        LArHVIdMappingAlg=CompFactory.LArHVIdMappingAlg
         hvmapalg = LArHVIdMappingAlg(ReadKey="/LAR/Identifier/HVLineToElectrodeMap",WriteKey="LArHVIdMap")
         result.addCondAlgo(hvmapalg)
 
@@ -27,24 +28,24 @@ def LArHVScaleCfg(configFlags):
         result.merge(LArBadChannelCfg(configFlags))
         result.merge(LArBadFebCfg(configFlags))
 
-        from LArRecUtils.LArRecUtilsConf import LArHVIdMappingAlg
+        LArHVIdMappingAlg=CompFactory.LArHVIdMappingAlg
         hvmapalg = LArHVIdMappingAlg(ReadKey="/LAR/IdentifierOfl/HVLineToElectrodeMap",WriteKey="LArHVIdMap")
         result.addCondAlgo(hvmapalg)
 
-        from LArRecUtils.LArRecUtilsConf import LArHVPathologyDbCondAlg
+        LArHVPathologyDbCondAlg=CompFactory.LArHVPathologyDbCondAlg
         hvpath = LArHVPathologyDbCondAlg(PathologyFolder="/LAR/HVPathologiesOfl/Pathologies",
                                          HVMappingKey="LArHVIdMap",
                                          HVPAthologyKey="LArHVPathology")
         result.addCondAlgo(hvpath)
 
-        from LArRecUtils.LArRecUtilsConf import LArHVCondAlg
+        LArHVCondAlg=CompFactory.LArHVCondAlg
         hvcond = LArHVCondAlg("LArHVPathologyAlg",HVPathologies="LArHVPathology",OutputHVData="LArHVData")
         result.addCondAlgo(hvcond)
 
         from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDbCfg
         result.merge(LArElecCalibDbCfg(configFlags,["HVScaleCorr",]))
 
-        from LArRecUtils.LArRecUtilsConf import LArHVScaleCorrCondAlg
+        LArHVScaleCorrCondAlg=CompFactory.LArHVScaleCorrCondAlg
         hvscalecorrkey = "LArHVScaleCorrRecomputed"
         if configFlags.Input.isMC:
             hvscalecorrkey = "LArHVScaleCorr"
diff --git a/LArCalorimeter/LArCellRec/python/LArCellBuilderConfig.py b/LArCalorimeter/LArCellRec/python/LArCellBuilderConfig.py
index 12a5f5efc931..bfb96b2015f1 100644
--- a/LArCalorimeter/LArCellRec/python/LArCellBuilderConfig.py
+++ b/LArCalorimeter/LArCellRec/python/LArCellBuilderConfig.py
@@ -1,7 +1,8 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from LArCellRec.LArCellRecConf import LArCellBuilderFromLArRawChannelTool, LArCellMerger, LArCellNoiseMaskingTool
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArCellBuilderFromLArRawChannelTool, LArCellMerger, LArCellNoiseMaskingTool=CompFactory.getComps("LArCellBuilderFromLArRawChannelTool","LArCellMerger","LArCellNoiseMaskingTool",)
 from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg 
 from LArCalibUtils.LArHVScaleConfig import LArHVScaleCfg
 
@@ -48,7 +49,7 @@ def LArCellCorrectorCfg(configFlags):
 def LArHVCellContCorrCfg(configFlags):
     acc=ComponentAccumulator()
     acc.merge(LArHVScaleCfg(configFlags)) #CondAlgo & co for HVScale Corr
-    from LArCellRec.LArCellRecConf import LArCellContHVCorrTool
+    LArCellContHVCorrTool=CompFactory.LArCellContHVCorrTool
     theLArCellHVCorrTool = LArCellContHVCorrTool()
     acc.setPrivateTools(theLArCellHVCorrTool)
     return acc
diff --git a/LArCalorimeter/LArCellRec/python/LArCollisionTimeConfig.py b/LArCalorimeter/LArCellRec/python/LArCollisionTimeConfig.py
index 6e83f33bef3d..7f981afa8279 100644
--- a/LArCalorimeter/LArCellRec/python/LArCollisionTimeConfig.py
+++ b/LArCalorimeter/LArCellRec/python/LArCollisionTimeConfig.py
@@ -3,12 +3,13 @@
 # python fragment to configure LAr collision time algo
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def LArCollisionTimeCfg(configFlags):
 
    result=ComponentAccumulator()
 
-   from LArCellRec.LArCellRecConf import LArCollisionTimeAlg
+   LArCollisionTimeAlg=CompFactory.LArCollisionTimeAlg
    result.addEventAlgo(LArCollisionTimeAlg("LArCollisionTimeAlg", isMC=configFlags.Input.isMC))
 
    return result   
diff --git a/LArCalorimeter/LArCellRec/python/LArNoisyROSummaryConfig.py b/LArCalorimeter/LArCellRec/python/LArNoisyROSummaryConfig.py
index adc411da4aee..813e1cd133cc 100755
--- a/LArCalorimeter/LArCellRec/python/LArNoisyROSummaryConfig.py
+++ b/LArCalorimeter/LArCellRec/python/LArNoisyROSummaryConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from LArCellRec.LArNoisyROFlags import larNoisyROFlags
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from LArBadChannelTool.LArBadFebsConfig import LArKnownBadFebCfg, LArKnownMNBFebCfg
@@ -14,7 +15,7 @@ def LArNoisyROSummaryCfg(configFlags):
 
    # now configure the algorithm
    try:        
-       from LArCellRec.LArCellRecConf import LArNoisyROAlg,LArNoisyROTool
+       LArNoisyROAlg,LArNoisyROTool=CompFactory.getComps("LArNoisyROAlg","LArNoisyROTool")
    except Exception:
        import traceback
        print(traceback.format_exc())
diff --git a/LArCalorimeter/LArCnv/LArByteStream/python/LArRawDataReadingConfig.py b/LArCalorimeter/LArCnv/LArByteStream/python/LArRawDataReadingConfig.py
index c094cb0dca0f..db72128047ba 100644
--- a/LArCalorimeter/LArCnv/LArByteStream/python/LArRawDataReadingConfig.py
+++ b/LArCalorimeter/LArCnv/LArByteStream/python/LArRawDataReadingConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from ByteStreamCnvSvc.ByteStreamConfig import ByteStreamReadCfg
-from LArByteStream.LArByteStreamConf import LArRawDataReadingAlg
+LArRawDataReadingAlg=CompFactory.LArRawDataReadingAlg
 
 def LArRawDataReadingCfg(configFlags):
     acc=ComponentAccumulator()
@@ -29,7 +30,7 @@ if __name__=="__main__":
 
     acc=LArRawDataReadingCfg(ConfigFlags)
     
-    from LArEventTest.LArEventTestConf import DumpLArRawChannels
+    DumpLArRawChannels=CompFactory.DumpLArRawChannels
     from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg 
     acc.merge(LArOnOffIdMappingCfg(ConfigFlags))
     acc.addEventAlgo(DumpLArRawChannels(LArRawChannelContainerName="LArRawChannels",))
diff --git a/LArCalorimeter/LArConfiguration/python/LArElecCalibDBConfig.py b/LArCalorimeter/LArConfiguration/python/LArElecCalibDBConfig.py
index c68230096c2a..3ad985c190e3 100644
--- a/LArCalorimeter/LArConfiguration/python/LArElecCalibDBConfig.py
+++ b/LArCalorimeter/LArConfiguration/python/LArElecCalibDBConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator,ConfigurationError
 from IOVDbSvc.IOVDbSvcConfig import IOVDbSvcCfg,addFolderList
@@ -137,7 +138,7 @@ def LArElecCalibDBMCCfg(ConfigFlags,folders):
     #Add cabling
     from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg
     result.merge(LArOnOffIdMappingCfg(ConfigFlags))
-    from LArRecUtils.LArRecUtilsConf import LArMCSymCondAlg
+    LArMCSymCondAlg=CompFactory.LArMCSymCondAlg
     result.addCondAlgo(LArMCSymCondAlg(ReadKey="LArOnOffIdMap"))
     folderlist=[]
     for folder in folders:
diff --git a/LArCalorimeter/LArDigitization/python/LArDigitizationConfigNew.py b/LArCalorimeter/LArDigitization/python/LArDigitizationConfigNew.py
index 3ba5deccf86c..63dde2cd9c38 100644
--- a/LArCalorimeter/LArDigitization/python/LArDigitizationConfigNew.py
+++ b/LArCalorimeter/LArDigitization/python/LArDigitizationConfigNew.py
@@ -4,24 +4,25 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 # utilities
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
-from SGComps.SGCompsConf import AddressRemappingSvc, ProxyProviderSvc
+PileUpXingFolder=CompFactory.PileUpXingFolder
+AddressRemappingSvc, ProxyProviderSvc=CompFactory.getComps("AddressRemappingSvc","ProxyProviderSvc",)
 # for PileUpTool
-from LArDigitization.LArDigitizationConf import LArPileUpTool
+LArPileUpTool=CompFactory.LArPileUpTool
 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
 from LArRecUtils.LArADC2MeVCondAlgConfig import LArADC2MeVCondAlgCfg
 from LArRecUtils.LArRecUtilsConfig import LArAutoCorrNoiseCondAlgCfg
 from LArBadChannelTool.LArBadChannelConfig import LArBadChannelMaskerCfg, LArBadFebCfg
 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDbCfg
-from CommissionUtils.CommissionUtilsConf import CosmicTriggerTimeTool
+CosmicTriggerTimeTool=CompFactory.CosmicTriggerTimeTool
 from Digitization.PileUpToolsConfig import PileUpToolsCfg
 # for Digitization
-from LArDigitization.LArDigitizationConf import LArDigitMaker
+LArDigitMaker=CompFactory.LArDigitMaker
 from LArROD.LArRawChannelBuilderAlgConfig import LArRawChannelBuilderAlgCfg
 from LArROD.LArDigitThinnerConfig import LArDigitThinnerCfg
 # for Trigger Tower
-from LArL1Sim.LArL1SimConf import LArTTL1Maker
+LArTTL1Maker=CompFactory.LArTTL1Maker
 from LArCabling.LArCablingConfig import LArFebRodMappingCfg, LArCalibIdMappingCfg
 from CaloConditions.CaloConditionsConfig import CaloTriggerTowerCfg
 
diff --git a/LArCalorimeter/LArG4/LArG4Barrel/python/LArG4BarrelConfigNew.py b/LArCalorimeter/LArG4/LArG4Barrel/python/LArG4BarrelConfigNew.py
index c553476557fc..e5504e9339b7 100644
--- a/LArCalorimeter/LArG4/LArG4Barrel/python/LArG4BarrelConfigNew.py
+++ b/LArCalorimeter/LArG4/LArG4Barrel/python/LArG4BarrelConfigNew.py
@@ -1,15 +1,16 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from LArG4Barrel.LArG4BarrelConf import LArG4__BarrelCryostat__CalibrationCalculator
-from LArG4Barrel.LArG4BarrelConf import LArG4__BarrelCryostat__CalibrationLArCalculator
-from LArG4Barrel.LArG4BarrelConf import LArG4__BarrelCryostat__CalibrationMixedCalculator
-from LArG4Barrel.LArG4BarrelConf import LArG4__DM__CalibrationCalculator
-from LArG4Barrel.LArG4BarrelConf import LArG4__Barrel__CalibrationCalculator
-from LArG4Barrel.LArG4BarrelConf import LArG4__BarrelPresampler__CalibrationCalculator
-from LArG4Barrel.LArG4BarrelConf import LArBarrelCalculator
-from LArG4Barrel.LArG4BarrelConf import LArBarrelPresamplerCalculator
-from LArG4Barrel.LArG4BarrelConf import LArG4__Barrel__Geometry
-from LArG4Barrel.LArG4BarrelConf import LArG4__BarrelPresampler__Geometry
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArG4__BarrelCryostat__CalibrationCalculator=CompFactory.LArG4__BarrelCryostat__CalibrationCalculator
+LArG4__BarrelCryostat__CalibrationLArCalculator=CompFactory.LArG4__BarrelCryostat__CalibrationLArCalculator
+LArG4__BarrelCryostat__CalibrationMixedCalculator=CompFactory.LArG4__BarrelCryostat__CalibrationMixedCalculator
+LArG4__DM__CalibrationCalculator=CompFactory.LArG4__DM__CalibrationCalculator
+LArG4__Barrel__CalibrationCalculator=CompFactory.LArG4__Barrel__CalibrationCalculator
+LArG4__BarrelPresampler__CalibrationCalculator=CompFactory.LArG4__BarrelPresampler__CalibrationCalculator
+LArBarrelCalculator=CompFactory.LArBarrelCalculator
+LArBarrelPresamplerCalculator=CompFactory.LArBarrelPresamplerCalculator
+LArG4__Barrel__Geometry=CompFactory.LArG4__Barrel__Geometry
+LArG4__BarrelPresampler__Geometry=CompFactory.LArG4__BarrelPresampler__Geometry
 
 def BarrelCryostatCalibrationCalculatorCfg(ConfigFlags, name="BarrelCryostatCalibrationCalculator", **kwargs):
     result = ComponentAccumulator()
diff --git a/LArCalorimeter/LArG4/LArG4FCAL/python/LArG4FCALConfigNew.py b/LArCalorimeter/LArG4/LArG4FCAL/python/LArG4FCALConfigNew.py
index fb86ef323dbd..28c56dd14c0f 100644
--- a/LArCalorimeter/LArG4/LArG4FCAL/python/LArG4FCALConfigNew.py
+++ b/LArCalorimeter/LArG4/LArG4FCAL/python/LArG4FCALConfigNew.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from LArG4FCAL.LArG4FCALConf import LArFCALCalculatorBase
-from LArG4FCAL.LArG4FCALConf import LArG4__FCAL__LArFCALCalibCalculatorBase
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArFCALCalculatorBase=CompFactory.LArFCALCalculatorBase
+LArG4__FCAL__LArFCALCalibCalculatorBase=CompFactory.LArG4__FCAL__LArFCALCalibCalculatorBase
 from AthenaCommon.SystemOfUnits import mm,deg,ns
 import math
 
diff --git a/LArCalorimeter/LArG4/LArG4HEC/python/LArG4HECConfigNew.py b/LArCalorimeter/LArG4/LArG4HEC/python/LArG4HECConfigNew.py
index 1c909c78e047..e11db00354dc 100644
--- a/LArCalorimeter/LArG4/LArG4HEC/python/LArG4HECConfigNew.py
+++ b/LArCalorimeter/LArG4/LArG4HEC/python/LArG4HECConfigNew.py
@@ -1,12 +1,13 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from LArG4HEC.LArG4HECConf import LArHECLocalCalculator
-from LArG4HEC.LArG4HECConf import LArG4__HEC__LocalCalibrationCalculator
-from LArG4HEC.LArG4HECConf import LArG4__HEC__LArHECCalibrationWheelCalculator
-from LArG4HEC.LArG4HECConf import LArG4__HEC__LocalGeometry
-from LArG4HEC.LArG4HECConf import LArHECWheelCalculator
-from LArG4HEC.LArG4HECConf import LArG4__HEC__HECGeometry
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArHECLocalCalculator=CompFactory.LArHECLocalCalculator
+LArG4__HEC__LocalCalibrationCalculator=CompFactory.LArG4__HEC__LocalCalibrationCalculator
+LArG4__HEC__LArHECCalibrationWheelCalculator=CompFactory.LArG4__HEC__LArHECCalibrationWheelCalculator
+LArG4__HEC__LocalGeometry=CompFactory.LArG4__HEC__LocalGeometry
+LArHECWheelCalculator=CompFactory.LArHECWheelCalculator
+LArG4__HEC__HECGeometry=CompFactory.LArG4__HEC__HECGeometry
 from LArG4HEC import HECGeometryType
 
 def LArHECLocalCalculatorCfg(ConfigFlags, name="LArHECLocalCalculator", **kwargs):
diff --git a/LArCalorimeter/LArG4/LArG4SD/python/LArG4SDToolConfig.py b/LArCalorimeter/LArG4/LArG4SD/python/LArG4SDToolConfig.py
index 79130ad3bd0d..11fddbc338d1 100644
--- a/LArCalorimeter/LArG4/LArG4SD/python/LArG4SDToolConfig.py
+++ b/LArCalorimeter/LArG4/LArG4SD/python/LArG4SDToolConfig.py
@@ -1,17 +1,18 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from ISF_Algorithms.collection_merger_helpersNew import CollectionMergerCfg
 
-from LArG4SD.LArG4SDConf import LArG4__EMBSDTool
-from LArG4SD.LArG4SDConf import LArG4__EMECSDTool
-from LArG4SD.LArG4SDConf import LArG4__FCALSDTool
-from LArG4SD.LArG4SDConf import LArG4__HECSDTool
-from LArG4SD.LArG4SDConf import LArG4__MiniFCALSDTool
-from LArG4SD.LArG4SDConf import LArG4__DeadSDTool
-from LArG4SD.LArG4SDConf import LArG4__ActiveSDTool
-from LArG4SD.LArG4SDConf import LArG4__InactiveSDTool
-from LArG4SD.LArG4SDConf import LArG4__CalibrationDefaultCalculator
+LArG4__EMBSDTool=CompFactory.LArG4__EMBSDTool
+LArG4__EMECSDTool=CompFactory.LArG4__EMECSDTool
+LArG4__FCALSDTool=CompFactory.LArG4__FCALSDTool
+LArG4__HECSDTool=CompFactory.LArG4__HECSDTool
+LArG4__MiniFCALSDTool=CompFactory.LArG4__MiniFCALSDTool
+LArG4__DeadSDTool=CompFactory.LArG4__DeadSDTool
+LArG4__ActiveSDTool=CompFactory.LArG4__ActiveSDTool
+LArG4__InactiveSDTool=CompFactory.LArG4__InactiveSDTool
+LArG4__CalibrationDefaultCalculator=CompFactory.LArG4__CalibrationDefaultCalculator
 
 #to be migrated: getCalibrationDefaultCalculator, getDeadMaterialCalibrationHitMerger
 
diff --git a/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py b/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py
index 6d1932a9e148..83744df6de2d 100644
--- a/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py
+++ b/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AtlasGeoModel.GeoModelConfig import GeoModelCfg
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 
 def LArGMCfg(configFlags):
@@ -9,7 +10,7 @@ def LArGMCfg(configFlags):
 
     doAlignment=configFlags.LAr.doAlign
     
-    from LArGeoAlgsNV.LArGeoAlgsNVConf import LArDetectorToolNV
+    LArDetectorToolNV=CompFactory.LArDetectorToolNV
     result.getPrimary().DetectorTools += [ LArDetectorToolNV(ApplyAlignments=doAlignment) ]
     if not configFlags.Detector.SimulateCalo:
         result.getPrimary().DetectorTools["LArDetectorToolNV"].GeometryConfig = "RECO"
diff --git a/LArCalorimeter/LArMonitoring/python/LArHVDBConfig.py b/LArCalorimeter/LArMonitoring/python/LArHVDBConfig.py
index cb965457f09b..da97cd6f240e 100644
--- a/LArCalorimeter/LArMonitoring/python/LArHVDBConfig.py
+++ b/LArCalorimeter/LArMonitoring/python/LArHVDBConfig.py
@@ -3,6 +3,7 @@
 # python fragment to configure LAr HV conditions chain
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import IOVDbSvcCfg,addFolders
 
 def LArHVDBCfg(configFlags):
@@ -17,16 +18,16 @@ def LArHVDBCfg(configFlags):
       result.merge(addFolders(configFlags,["/LAR/DCS/HV/BARREl/I16","/LAR/DCS/HV/BARREL/I8"],detDb="DCS_OFL",className="CondAttrListCollection"))
       result.merge(addFolders(configFlags,["/LAR/IdentifierOfl/HVLineToElectrodeMap","/LAR/HVPathologiesOfl/Pathologies"],detDb="LAR_OFL",className="AthenaAttributeList"))
  
-      from LArRecUtils.LArRecUtilsConf import LArHVIdMappingAlg
+      LArHVIdMappingAlg=CompFactory.LArHVIdMappingAlg
       result.addCondAlgo(LArHVIdMappingAlg(ReadKey="/LAR/IdentifierOfl/HVLineToElectrodeMap",WriteKey="LArHVIdMap"))
  
-      from LArRecUtils.LArRecUtilsConf import LArHVPathologyDbCondAlg
+      LArHVPathologyDbCondAlg=CompFactory.LArHVPathologyDbCondAlg
       result.addCondAlgo(LArHVPathologyDbCondAlg(PathologyFolder="/LAR/HVPathologiesOfl/Pathologies",HVMappingKey="LArHVIdMap", HVPAthologyKey="LArHVPathology"))
  
-      from LArRecUtils.LArRecUtilsConf import LArHVCondAlg
+      LArHVCondAlg=CompFactory.LArHVCondAlg
       result.addCondAlgo(LArHVCondAlg(HVPathologies="LArHVPathology",OutputHVData="LArHVData"))
  
-      from LArRecUtils.LArRecUtilsConf import LArHVScaleCorrCondAlg
+      LArHVScaleCorrCondAlg=CompFactory.LArHVScaleCorrCondAlg
       hvscale = LArHVScaleCorrCondAlg(keyHVdata="LArHVData",keyOutputCorr="LArHVScaleCorrRecomputed")
       hvscale.UndoOnlineHVCorr=True
       result.addCondAlgo(hvscale)
diff --git a/LArCalorimeter/LArROD/python/LArFebErrorSummaryMakerConfig.py b/LArCalorimeter/LArROD/python/LArFebErrorSummaryMakerConfig.py
index c5dff81cb69f..1f9ad8979e09 100644
--- a/LArCalorimeter/LArROD/python/LArFebErrorSummaryMakerConfig.py
+++ b/LArCalorimeter/LArROD/python/LArFebErrorSummaryMakerConfig.py
@@ -1,5 +1,6 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-from LArROD.LArRODConf import LArFebErrorSummaryMaker
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArFebErrorSummaryMaker=CompFactory.LArFebErrorSummaryMaker
 from LArBadChannelTool.LArBadChannelConfig import LArBadFebCfg
 
 def LArFebErrorSummaryMakerCfg(configFlags):
diff --git a/LArCalorimeter/LArROD/python/LArRawChannelBuilderAlgConfig.py b/LArCalorimeter/LArROD/python/LArRawChannelBuilderAlgConfig.py
index f8af229c3fd8..153013a1a723 100644
--- a/LArCalorimeter/LArROD/python/LArRawChannelBuilderAlgConfig.py
+++ b/LArCalorimeter/LArROD/python/LArRawChannelBuilderAlgConfig.py
@@ -1,5 +1,6 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-from LArROD.LArRODConf import LArRawChannelBuilderAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArRawChannelBuilderAlg=CompFactory.LArRawChannelBuilderAlg
 from LArRecUtils.LArADC2MeVCondAlgConfig import LArADC2MeVCondAlgCfg
 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDbCfg
 from LArRecUtils.LArRecUtilsConfig import LArOFCCondAlgCfg
@@ -47,7 +48,7 @@ if __name__=="__main__":
     acc.merge(LArRawDataReadingCfg(ConfigFlags))
     acc.merge(LArRawChannelBuilderAlgCfg(ConfigFlags))
     
-    from LArEventTest.LArEventTestConf import DumpLArRawChannels
+    DumpLArRawChannels=CompFactory.DumpLArRawChannels
     acc.addEventAlgo(DumpLArRawChannels(LArRawChannelContainerName="LArRawChannels_FromDigits",),sequenceName="AthAlgSeq")
 
     acc.run(3)
diff --git a/LArCalorimeter/LArRecUtils/python/LArFebConfigCondAlgConfig.py b/LArCalorimeter/LArRecUtils/python/LArFebConfigCondAlgConfig.py
index cd09e132cef5..ce8278553d7b 100644
--- a/LArCalorimeter/LArRecUtils/python/LArFebConfigCondAlgConfig.py
+++ b/LArCalorimeter/LArRecUtils/python/LArFebConfigCondAlgConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from IOVDbSvc.IOVDbSvcConfig import addFolders
-from LArRecUtils.LArRecUtilsConf import LArFEBConfigCondAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArFEBConfigCondAlg=CompFactory.LArFEBConfigCondAlg
 
 def LArFebConfigCondAlgCfg(flags, name="LArFEBConfigCondAlg", **kwargs): 
     """Return ComponentAccumulator with configured LArFEBConfigCondAlg"""
diff --git a/LArCalorimeter/LArRecUtils/python/LArRecUtilsConfig.py b/LArCalorimeter/LArRecUtils/python/LArRecUtilsConfig.py
index 8ef80a762f2b..ebbb5ec974a0 100644
--- a/LArCalorimeter/LArRecUtils/python/LArRecUtilsConfig.py
+++ b/LArCalorimeter/LArRecUtils/python/LArRecUtilsConfig.py
@@ -3,9 +3,10 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Logging import logging
 from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg
-from LArRecUtils.LArRecUtilsConf import LArMCSymCondAlg
+LArMCSymCondAlg=CompFactory.LArMCSymCondAlg
 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDbCfg
 
 
@@ -20,7 +21,7 @@ def LArMCSymCondAlgCfg(flags, name="LArMCSymCondAlg", **kwargs):
 def LArAutoCorrNoiseCondAlgCfg(flags, name="LArAutoCorrNoiseCondAlg", **kwargs):
     """Return ComponentAccumulator with configured LArAutoCorrNoiseCondAlg"""
 
-    from LArRecUtils.LArRecUtilsConf import LArAutoCorrNoiseCondAlg
+    LArAutoCorrNoiseCondAlg=CompFactory.LArAutoCorrNoiseCondAlg
     # The LArAutoCorrNoiseCondAlgCfg needs the cabling, the sym-object and the AutoCorr
     acc = LArOnOffIdMappingCfg(flags)
     acc.merge(LArMCSymCondAlgCfg(flags))
@@ -55,7 +56,7 @@ def LArOFCCondAlgCfg (flags, name = 'LArOFCCondAlg', **kwargs):
     requiredConditons=["Shape","Noise","Pedestal"]
     acc.merge(LArElecCalibDbCfg(flags,requiredConditons))
     acc.merge(LArAutoCorrTotalCondAlgCfg(flags))
-    from LArRecUtils.LArRecUtilsConf import LArOFCCondAlg
+    LArOFCCondAlg=CompFactory.LArOFCCondAlg
     acc.addCondAlgo (LArOFCCondAlg (name, **kwargs))
     return acc
 
@@ -89,7 +90,7 @@ def LArAutoCorrTotalCondAlgCfg (flags, name = 'LArAutoCorrTotalCondAlg', **kwarg
     acc = LArOnOffIdMappingCfg(flags)
     requiredConditons=["Shape","AutoCorr","Noise","Pedestal","fSampl","MinBias"]
     acc.merge(LArElecCalibDbCfg(flags,requiredConditons))
-    from LArRecUtils.LArRecUtilsConf import LArAutoCorrTotalCondAlg
+    LArAutoCorrTotalCondAlg=CompFactory.LArAutoCorrTotalCondAlg
     acc.addCondAlgo (LArAutoCorrTotalCondAlg (name, **kwargs))
     return acc
 
diff --git a/LumiBlock/LumiBlockComps/python/BunchCrossingCondAlgConfig.py b/LumiBlock/LumiBlockComps/python/BunchCrossingCondAlgConfig.py
index 57d110089a09..df3289e2b2f6 100644
--- a/LumiBlock/LumiBlockComps/python/BunchCrossingCondAlgConfig.py
+++ b/LumiBlock/LumiBlockComps/python/BunchCrossingCondAlgConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 #from AthenaConfiguration.MainServicesConfig import MainServicesSerial
 
 
 def BunchCrossingCondAlgCfg(configFlags):
-    from LumiBlockComps.LumiBlockCompsConf import BunchCrossingCondAlg
+    BunchCrossingCondAlg=CompFactory.BunchCrossingCondAlg
     from IOVDbSvc.IOVDbSvcConfig import addFolders
 
     result=ComponentAccumulator()
@@ -51,8 +52,9 @@ if __name__=="__main__":
     result=MainServicesSerialCfg()
 
 
-    from McEventSelector.McEventSelectorConf import McEventSelector,McCnvSvc
-    from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+    McEventSelector=CompFactory.McEventSelector
+    McCnvSvc=CompFactory.McCnvSvc
+    EvtPersistencySvc=CompFactory.EvtPersistencySvc
 
     #event & time-stamp from the q431 test input 
     mcevtsel=McEventSelector(RunNumber=330470,
@@ -76,7 +78,7 @@ if __name__=="__main__":
     result.merge(BunchCrossingCondAlgCfg(ConfigFlags))
     
     
-    from LumiBlockComps.LumiBlockCompsConf import BunchCrossingCondTest
+    BunchCrossingCondTest=CompFactory.BunchCrossingCondTest
     result.addEventAlgo(BunchCrossingCondTest(FileName="BCData1.txt"))
 
     result.run(1)
diff --git a/LumiBlock/LumiBlockComps/python/BunchCrossingCondAlgTest.py b/LumiBlock/LumiBlockComps/python/BunchCrossingCondAlgTest.py
index ccf2673e04d0..432e7dab0ead 100644
--- a/LumiBlock/LumiBlockComps/python/BunchCrossingCondAlgTest.py
+++ b/LumiBlock/LumiBlockComps/python/BunchCrossingCondAlgTest.py
@@ -1,5 +1,6 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from future import standard_library
+from AthenaConfiguration.ComponentFactory import CompFactory
 standard_library.install_aliases()
 
 import sys,os
@@ -96,8 +97,9 @@ ConfigFlags.lock()
 result=MainServicesSerialCfg()
 
 
-from McEventSelector.McEventSelectorConf import McEventSelector,McCnvSvc
-from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+McEventSelector=CompFactory.McEventSelector
+McCnvSvc=CompFactory.McCnvSvc
+EvtPersistencySvc=CompFactory.EvtPersistencySvc
 
 mcevtsel=McEventSelector(RunNumber=330470,
                          EventsPerRun=1,
@@ -123,7 +125,7 @@ result.merge(BunchCrossingCondAlgCfg(ConfigFlags))
 result.getService("IOVDbSvc").Folders=["<db>sqlite://;schema=test.db;dbname=CONDBR2</db><tag>HEAD</tag>/TDAQ/OLC/LHC/FILLPARAMS"]
 result.getCondAlgo("BunchCrossingCondAlg").OutputLevel=1
     
-from LumiBlockComps.LumiBlockCompsConf import BunchCrossingCondTest
+BunchCrossingCondTest=CompFactory.BunchCrossingCondTest
 result.addEventAlgo(BunchCrossingCondTest(FileName="BCData.txt",compact=True))
 
 
diff --git a/LumiBlock/LumiBlockComps/python/LBDurationCondAlgConfig.py b/LumiBlock/LumiBlockComps/python/LBDurationCondAlgConfig.py
index c3b1bb094b81..988a49150256 100644
--- a/LumiBlock/LumiBlockComps/python/LBDurationCondAlgConfig.py
+++ b/LumiBlock/LumiBlockComps/python/LBDurationCondAlgConfig.py
@@ -7,6 +7,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
@@ -21,7 +22,7 @@ def LBDurationCondAlgCfg (configFlags):
     result.merge (addFolders (configFlags, folder, 'TRIGGER',
                               className = 'AthenaAttributeList'))
 
-    from LumiBlockComps.LumiBlockCompsConf import LBDurationCondAlg
+    LBDurationCondAlg=CompFactory.LBDurationCondAlg
     alg = LBDurationCondAlg (name,
                              LBLBFolderInputKey = folder,
                              LBDurationOutputKey = 'LBDurationCondData')
diff --git a/LumiBlock/LumiBlockComps/python/LuminosityCondAlgConfig.py b/LumiBlock/LumiBlockComps/python/LuminosityCondAlgConfig.py
index 6f5332852d97..101195840982 100644
--- a/LumiBlock/LumiBlockComps/python/LuminosityCondAlgConfig.py
+++ b/LumiBlock/LumiBlockComps/python/LuminosityCondAlgConfig.py
@@ -5,10 +5,9 @@
 # Purpose: Configure LuminosityCondAlg.
 #
 
-
 from __future__ import print_function
 
-
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 from AthenaCommon.Logging import logging
@@ -43,8 +42,8 @@ def LuminosityCondAlgCfg (configFlags, useOnlineLumi=None, suffix=None):
         log.warning ("LuminosityCondAlgCfg can't resolve database instance = %s, assume Run2!" % configFlags.IOVDb.DatabaseInstance)
         kwargs = luminosityCondAlgRun2Cfg (configFlags, name, result)
 
-    from LumiBlockComps.LumiBlockCompsConf import \
-        LuminosityCondAlg
+    LuminosityCondAlg=CompFactory.LuminosityCondAlg
+
     alg = LuminosityCondAlg (name,
                              LuminosityOutputKey = 'LuminosityCondData' + suffix,
                              **kwargs)
diff --git a/LumiBlock/LumiBlockComps/python/TrigLiveFractionCondAlgConfig.py b/LumiBlock/LumiBlockComps/python/TrigLiveFractionCondAlgConfig.py
index 8fe493260f00..a2b2385e784d 100644
--- a/LumiBlock/LumiBlockComps/python/TrigLiveFractionCondAlgConfig.py
+++ b/LumiBlock/LumiBlockComps/python/TrigLiveFractionCondAlgConfig.py
@@ -7,8 +7,7 @@
 
 
 from __future__ import print_function
-
-
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 
@@ -37,7 +36,7 @@ def TrigLiveFractionCondAlgCfg (configFlags):
         kwargs['LuminosityInputKey'] = ''
 
 
-    from LumiBlockComps.LumiBlockCompsConf import TrigLiveFractionCondAlg
+    TrigLiveFractionCondAlg=CompFactory.TrigLiveFractionCondAlg
     alg = TrigLiveFractionCondAlg (name,
                                    TrigLiveFractionOutputKey = 'TrigLiveFractionCondData',
                                    **kwargs)
diff --git a/MagneticField/MagFieldServices/python/MagFieldServicesConfig.py b/MagneticField/MagFieldServices/python/MagFieldServicesConfig.py
index 15d155770e1b..7ebdd2b1c8b1 100644
--- a/MagneticField/MagFieldServices/python/MagFieldServicesConfig.py
+++ b/MagneticField/MagFieldServices/python/MagFieldServicesConfig.py
@@ -6,13 +6,14 @@
 # inspired by https://svnweb.cern.ch/trac/atlasoff/browser/MuonSpectrometer/MuonCnv/MuonCnvExample/trunk/python/MuonCalibConfig.py
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 logging.getLogger().info("Importing %s", __name__)
 
 from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
 from AthenaCommon.GlobalFlags import GlobalFlags
 from AthenaCommon import CfgMgr
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from MagFieldServices.MagFieldServicesConf import MagField__AtlasFieldSvc
+MagField__AtlasFieldSvc=CompFactory.MagField__AtlasFieldSvc
 
 #--------------------------------------------------------------
 
diff --git a/MuonSpectrometer/MuonConfig/python/CSC_DigitizationConfig.py b/MuonSpectrometer/MuonConfig/python/CSC_DigitizationConfig.py
index bfcbd06b3563..b77270404c08 100644
--- a/MuonSpectrometer/MuonConfig/python/CSC_DigitizationConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/CSC_DigitizationConfig.py
@@ -3,11 +3,12 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
 from MuonConfig.MuonCalibConfig import CscCoolStrSvcCfg
-from CSC_Digitization.CSC_DigitizationConf import CscDigitizationTool, CscDigitBuilder
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
+CscDigitizationTool, CscDigitBuilder=CompFactory.getComps("CscDigitizationTool","CscDigitBuilder",)
+PileUpXingFolder=CompFactory.PileUpXingFolder
 from MuonConfig.MuonByteStreamCnvTestConfig import CscDigitToCscRDOCfg, CscOverlayDigitToCscRDOCfg
 from MuonConfig.MuonCablingConfig import CSCCablingConfigCfg
 from Digitization.TruthDigitizationOutputConfig import TruthDigitizationOutputCfg
diff --git a/MuonSpectrometer/MuonConfig/python/MDT_DigitizationConfig.py b/MuonSpectrometer/MuonConfig/python/MDT_DigitizationConfig.py
index 27834170d445..350fb82977af 100644
--- a/MuonSpectrometer/MuonConfig/python/MDT_DigitizationConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MDT_DigitizationConfig.py
@@ -3,12 +3,13 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
 from MDT_Digitization.MDT_DigitizationConf import (
     MdtDigitizationTool, MDT_Response_DigiTool, RT_Relation_DB_DigiTool, MDT_Digitizer
 )
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
+PileUpXingFolder=CompFactory.PileUpXingFolder
 from MuonConfig.MuonByteStreamCnvTestConfig import MdtDigitToMdtRDOCfg, MdtOverlayDigitToMdtRDOCfg
 from MuonConfig.MuonCablingConfig import MDTCablingConfigCfg
 from Digitization.TruthDigitizationOutputConfig import TruthDigitizationOutputCfg
diff --git a/MuonSpectrometer/MuonConfig/python/MuonByteStreamCnvTestConfig.py b/MuonSpectrometer/MuonConfig/python/MuonByteStreamCnvTestConfig.py
index 1ebdfcc802c0..43482003af00 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonByteStreamCnvTestConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonByteStreamCnvTestConfig.py
@@ -3,11 +3,12 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from MuonByteStreamCnvTest.MuonByteStreamCnvTestConf import (
     MdtRdoToMdtDigit, RpcRdoToRpcDigit, TgcRdoToTgcDigit, STGC_RdoToDigit, MM_RdoToDigit, 
     MdtDigitToMdtRDO, RpcDigitToRpcRDO, TgcDigitToTgcRDO, STGC_DigitToRDO, MM_DigitToRDO, CscDigitToCscRDO
 )
-from MuonCSC_CnvTools.MuonCSC_CnvToolsConf import CscDigitToCscRDOTool
+CscDigitToCscRDOTool=CompFactory.CscDigitToCscRDOTool
 from MuonConfig.MuonCalibConfig import CscCalibToolCfg
 
 def MdtRdoToMdtDigitCfg(flags, name="MdtRdoToMdtDigitAlg", **kwargs):
diff --git a/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py b/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
index 94c543de36c4..ae4472935467 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
@@ -1,6 +1,7 @@
 #  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Constants import DEBUG
 
 ## Small class to hold the names for cache containers, should help to avoid copy / paste errors
@@ -17,7 +18,7 @@ class MuonCacheNames(object):
 def MuonCacheCfg():
     acc = ComponentAccumulator()
 
-    from MuonByteStream.MuonByteStreamConf import MuonCacheCreator
+    MuonCacheCreator=CompFactory.MuonCacheCreator
     cacheCreator = MuonCacheCreator(MdtCsmCacheKey = MuonCacheNames.MdtCsmCache,
                                     CscCacheKey    = MuonCacheNames.CscCache,
                                     RpcCacheKey    = MuonCacheNames.RpcCache,
@@ -42,16 +43,16 @@ def RpcBytestreamDecodeCfg(flags, forTrigger=False):
     acc.merge(MuonGeoModelCfg(flags)) 
 
     # Setup the RPC ROD decoder
-    from MuonRPC_CnvTools.MuonRPC_CnvToolsConf import Muon__RpcROD_Decoder
+    Muon__RpcROD_Decoder=CompFactory.Muon__RpcROD_Decoder
     RPCRodDecoder = Muon__RpcROD_Decoder(name	     = "RpcROD_Decoder" )
 
     # RAW data provider tool needs ROB data provider service (should be another Config function?)
-    from ByteStreamCnvSvcBase.ByteStreamCnvSvcBaseConf import ROBDataProviderSvc
+    ROBDataProviderSvc=CompFactory.ROBDataProviderSvc
     robDPSvc = ROBDataProviderSvc()
     acc.addService( robDPSvc )
 
     # Setup the RAW data provider tool
-    from MuonRPC_CnvTools.MuonRPC_CnvToolsConf import Muon__RPC_RawDataProviderToolMT
+    Muon__RPC_RawDataProviderToolMT=CompFactory.Muon__RPC_RawDataProviderToolMT
     MuonRpcRawDataProviderTool = Muon__RPC_RawDataProviderToolMT(name    = "RPC_RawDataProviderToolMT",
                                                                Decoder = RPCRodDecoder )
     if forTrigger:
@@ -61,7 +62,7 @@ def RpcBytestreamDecodeCfg(flags, forTrigger=False):
     acc.addPublicTool( MuonRpcRawDataProviderTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
     
     # Setup the RAW data provider algorithm
-    from MuonByteStream.MuonByteStreamConf import Muon__RpcRawDataProvider
+    Muon__RpcRawDataProvider=CompFactory.Muon__RpcRawDataProvider
     RpcRawDataProvider = Muon__RpcRawDataProvider(name         = "RpcRawDataProvider",
                                                   ProviderTool = MuonRpcRawDataProviderTool )
 
@@ -85,16 +86,16 @@ def TgcBytestreamDecodeCfg(flags, forTrigger=False):
     acc.merge(MuonGeoModelCfg(flags)) 
 
     # Setup the TGC ROD decoder
-    from MuonTGC_CnvTools.MuonTGC_CnvToolsConf import Muon__TGC_RodDecoderReadout
+    Muon__TGC_RodDecoderReadout=CompFactory.Muon__TGC_RodDecoderReadout
     TGCRodDecoder = Muon__TGC_RodDecoderReadout(name = "TgcROD_Decoder")
 
     # RAW data provider tool needs ROB data provider service (should be another Config function?)
-    from ByteStreamCnvSvcBase.ByteStreamCnvSvcBaseConf import ROBDataProviderSvc
+    ROBDataProviderSvc=CompFactory.ROBDataProviderSvc
     robDPSvc = ROBDataProviderSvc()
     acc.addService( robDPSvc )
 
     # Setup the RAW data provider tool
-    from MuonTGC_CnvTools.MuonTGC_CnvToolsConf import Muon__TGC_RawDataProviderToolMT
+    Muon__TGC_RawDataProviderToolMT=CompFactory.Muon__TGC_RawDataProviderToolMT
     MuonTgcRawDataProviderTool = Muon__TGC_RawDataProviderToolMT(name    = "TGC_RawDataProviderToolMT",
                                                                Decoder = TGCRodDecoder )
 
@@ -104,7 +105,7 @@ def TgcBytestreamDecodeCfg(flags, forTrigger=False):
     acc.addPublicTool( MuonTgcRawDataProviderTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
     
     # Setup the RAW data provider algorithm
-    from MuonByteStream.MuonByteStreamConf import Muon__TgcRawDataProvider
+    Muon__TgcRawDataProvider=CompFactory.Muon__TgcRawDataProvider
     TgcRawDataProvider = Muon__TgcRawDataProvider(name         = "TgcRawDataProvider",
                                                   ProviderTool = MuonTgcRawDataProviderTool )
     
@@ -128,16 +129,16 @@ def MdtBytestreamDecodeCfg(flags, forTrigger=False):
     acc.merge(MuonGeoModelCfg(flags)) 
 
     # Setup the MDT ROD decoder
-    from MuonMDT_CnvTools.MuonMDT_CnvToolsConf import MdtROD_Decoder
+    MdtROD_Decoder=CompFactory.MdtROD_Decoder
     MDTRodDecoder = MdtROD_Decoder(name="MdtROD_Decoder")
 
     # RAW data provider tool needs ROB data provider service (should be another Config function?)
-    from ByteStreamCnvSvcBase.ByteStreamCnvSvcBaseConf import ROBDataProviderSvc
+    ROBDataProviderSvc=CompFactory.ROBDataProviderSvc
     robDPSvc = ROBDataProviderSvc()
     acc.addService( robDPSvc )
 
     # Setup the RAW data provider tool
-    from MuonMDT_CnvTools.MuonMDT_CnvToolsConf import Muon__MDT_RawDataProviderToolMT
+    Muon__MDT_RawDataProviderToolMT=CompFactory.Muon__MDT_RawDataProviderToolMT
     MuonMdtRawDataProviderTool = Muon__MDT_RawDataProviderToolMT(name    = "MDT_RawDataProviderToolMT",
                                                                  Decoder = MDTRodDecoder)
 
@@ -147,7 +148,7 @@ def MdtBytestreamDecodeCfg(flags, forTrigger=False):
     acc.addPublicTool( MuonMdtRawDataProviderTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
 
     # Setup the RAW data provider algorithm
-    from MuonByteStream.MuonByteStreamConf import Muon__MdtRawDataProvider
+    Muon__MdtRawDataProvider=CompFactory.Muon__MdtRawDataProvider
     MdtRawDataProvider = Muon__MdtRawDataProvider(name         = "MdtRawDataProvider",
                                                   ProviderTool = MuonMdtRawDataProviderTool )
 
@@ -167,16 +168,16 @@ def CscBytestreamDecodeCfg(flags, forTrigger=False):
     acc.merge(MuonGeoModelCfg(flags)) 
 
     # Setup the CSC ROD decoder
-    from MuonCSC_CnvTools.MuonCSC_CnvToolsConf import Muon__CscROD_Decoder
+    Muon__CscROD_Decoder=CompFactory.Muon__CscROD_Decoder
     CSCRodDecoder = Muon__CscROD_Decoder(name	     = "CscROD_Decoder" )
 
     # RAW data provider tool needs ROB data provider service (should be another Config function?)
-    from ByteStreamCnvSvcBase.ByteStreamCnvSvcBaseConf import ROBDataProviderSvc
+    ROBDataProviderSvc=CompFactory.ROBDataProviderSvc
     robDPSvc = ROBDataProviderSvc()
     acc.addService( robDPSvc )
 
     # Setup the RAW data provider tool
-    from MuonCSC_CnvTools.MuonCSC_CnvToolsConf import Muon__CSC_RawDataProviderToolMT
+    Muon__CSC_RawDataProviderToolMT=CompFactory.Muon__CSC_RawDataProviderToolMT
     MuonCscRawDataProviderTool = Muon__CSC_RawDataProviderToolMT(name    = "CSC_RawDataProviderToolMT",
                                                                Decoder = CSCRodDecoder)
     if forTrigger:
@@ -185,7 +186,7 @@ def CscBytestreamDecodeCfg(flags, forTrigger=False):
     acc.addPublicTool( MuonCscRawDataProviderTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
     
     # Setup the RAW data provider algorithm
-    from MuonByteStream.MuonByteStreamConf import Muon__CscRawDataProvider
+    Muon__CscRawDataProvider=CompFactory.Muon__CscRawDataProvider
     CscRawDataProvider = Muon__CscRawDataProvider(name         = "CscRawDataProvider",
                                                   ProviderTool = MuonCscRawDataProviderTool )
 
diff --git a/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py b/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py
index 231cb6a7462e..3a2b3a127d4f 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py
@@ -4,6 +4,7 @@
 # TODO add MDTs, CSCs
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
 
 def RPCCablingConfigCfg(flags):
@@ -12,7 +13,7 @@ def RPCCablingConfigCfg(flags):
     # TODO check if we actually need this here?
     acc.merge(MuonGeoModelCfg(flags)) 
 
-    from MuonCablingServers.MuonCablingServersConf import RPCcablingServerSvc
+    RPCcablingServerSvc=CompFactory.RPCcablingServerSvc
     RPCCablingSvc =  RPCcablingServerSvc()
     RPCCablingSvc.Atlas = True
     RPCCablingSvc.forcedUse = True
@@ -20,7 +21,7 @@ def RPCCablingConfigCfg(flags):
     acc.addService( RPCCablingSvc )
 
     
-    from MuonRPC_Cabling.MuonRPC_CablingConf import MuonRPC_CablingSvc
+    MuonRPC_CablingSvc=CompFactory.MuonRPC_CablingSvc
     rpcCablingSvc = MuonRPC_CablingSvc()
     rpcCablingSvc.ConfFileName = 'LVL1confAtlas.data' # this should come from config flag maybe ???
     rpcCablingSvc.CorrFileName = 'LVL1confAtlas.corr' 
@@ -35,7 +36,7 @@ def RPCCablingConfigCfg(flags):
                            '/RPC/CABLING/MAP_SCHEMA', '/RPC/CABLING/MAP_SCHEMA_CORR' ],
                          dbName ))
 
-    from RPC_CondCabling.RPC_CondCablingConf import RPCCablingDbTool
+    RPCCablingDbTool=CompFactory.RPCCablingDbTool
     RPCCablingDbTool = RPCCablingDbTool()
     RPCCablingDbTool.MapConfigurationFolder = '/RPC/CABLING/MAP_SCHEMA'
     RPCCablingDbTool.MapCorrectionFolder    = '/RPC/CABLING/MAP_SCHEMA_CORR'
@@ -53,10 +54,10 @@ def TGCCablingConfigCfg(flags):
     # TODO check if we actually need this here?
     acc.merge(MuonGeoModelCfg(flags)) 
     
-    from TrigT1TGCRecRoiSvc.TrigT1TGCRecRoiSvcConf import LVL1TGC__TGCRecRoiSvc
+    LVL1TGC__TGCRecRoiSvc=CompFactory.LVL1TGC__TGCRecRoiSvc
     acc.addService( LVL1TGC__TGCRecRoiSvc() ) 
     
-    from MuonCablingServers.MuonCablingServersConf import TGCcablingServerSvc
+    TGCcablingServerSvc=CompFactory.TGCcablingServerSvc
     TGCCablingSvc = TGCcablingServerSvc() 
     TGCCablingSvc.Atlas=True
     TGCCablingSvc.useMuonTGC_CablingSvc=True
@@ -76,15 +77,15 @@ def MDTCablingConfigCfg(flags):
     
     acc.merge(MuonGeoModelCfg(flags)) 
 
-    from MuonMDT_Cabling.MuonMDT_CablingConf import MuonMDT_CablingAlg
+    MuonMDT_CablingAlg=CompFactory.MuonMDT_CablingAlg
     MDTCablingAlg = MuonMDT_CablingAlg("MuonMDT_CablingAlg")
 
-    from MuonMDT_Cabling.MuonMDT_CablingConf import MuonMDT_CablingSvc
+    MuonMDT_CablingSvc=CompFactory.MuonMDT_CablingSvc
     mdtCablingSvc = MuonMDT_CablingSvc()
     mdtCablingSvc.UseOldCabling = False
     mdtCablingSvc.ForcedUse = True
 
-    from MDT_CondCabling.MDT_CondCablingConf import MDTCablingDbTool
+    MDTCablingDbTool=CompFactory.MDTCablingDbTool
     MDTCablingDbTool = MDTCablingDbTool()
 
     from IOVDbSvc.IOVDbSvcConfig import addFolders
@@ -118,7 +119,7 @@ def CSCCablingConfigCfg(flags):
     
     acc.merge(MuonGeoModelCfg(flags)) 
 
-    from CSCcabling.CSCcablingConf import CSCcablingSvc
+    CSCcablingSvc=CompFactory.CSCcablingSvc
     cscCablingSvc = CSCcablingSvc()
 
     acc.addService( cscCablingSvc, primary=True )
diff --git a/MuonSpectrometer/MuonConfig/python/MuonCalibConfig.py b/MuonSpectrometer/MuonConfig/python/MuonCalibConfig.py
index 9bddf9baeab3..10b8e653b015 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonCalibConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonCalibConfig.py
@@ -2,12 +2,13 @@
 
 # Based on : https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonCnv/MuonCnvExample/python/MuonCalibConfig.py
 
-from MuonCondSvc.MuonCondSvcConf import MuonCalib__CscCoolStrSvc
-from MdtCalibDbCoolStrTool.MdtCalibDbCoolStrToolConf import MuonCalib__MdtCalibDbCoolStrTool
+from AthenaConfiguration.ComponentFactory import CompFactory
+MuonCalib__CscCoolStrSvc=CompFactory.MuonCalib__CscCoolStrSvc
+MuonCalib__MdtCalibDbCoolStrTool=CompFactory.MuonCalib__MdtCalibDbCoolStrTool
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from IOVDbSvc.IOVDbSvcConfig import addFolders, addFoldersSplitOnline
 from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
-from CscCalibTools.CscCalibToolsConf import CscCalibTool
+CscCalibTool=CompFactory.CscCalibTool
 
 from AthenaCommon.Logging import logging
 log = logging.getLogger('MuonCalibConfig')
@@ -475,7 +476,7 @@ def MdtCalibDbAlgCfg(flags,name="MdtCalibDbAlg",**kwargs):
     kwargs.setdefault("CreateWireSagFunctions", flags.Muon.Calib.correctMdtRtWireSag)
     kwargs.setdefault("CreateSlewingFunctions", flags.Muon.Calib.correctMdtRtForTimeSlewing)
 
-    from MdtCalibDbCoolStrTool.MdtCalibDbCoolStrToolConf import MdtCalibDbAlg
+    MdtCalibDbAlg=CompFactory.MdtCalibDbAlg
     alg = MdtCalibDbAlg (name, **kwargs)
 
     result.addCondAlgo (alg)
diff --git a/MuonSpectrometer/MuonConfig/python/MuonCondAlgConfig.py b/MuonSpectrometer/MuonConfig/python/MuonCondAlgConfig.py
index b9a305c4ad12..a1240cfd012f 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonCondAlgConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonCondAlgConfig.py
@@ -3,7 +3,8 @@
 ## Configuration Access to OFFLINE DB (COMP200)
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from MuonCondAlg.MuonCondAlgConf import MdtCondDbAlg,RpcCondDbAlg,CscCondDbAlg ##,TgcCondDbAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+MdtCondDbAlg,RpcCondDbAlg,CscCondDbAlg =CompFactory.getComps("MdtCondDbAlg","RpcCondDbAlg","CscCondDbAlg")
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 
 def MdtCondDbAlgCfg(flags, **kwargs):
diff --git a/MuonSpectrometer/MuonConfig/python/MuonCondSvcConfig.py b/MuonSpectrometer/MuonConfig/python/MuonCondSvcConfig.py
index 20f4a15d7c02..b60a3bf9bf80 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonCondSvcConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonCondSvcConfig.py
@@ -7,9 +7,14 @@
 # FIXME - in general my impression is that this is overly complicated and needs a huge clean up (the code, not just the configuration)
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from MuonCondSvc.MuonCondSvcConf import MDTCondSummarySvc, RPCCondSummarySvc, CSCCondSummarySvc, \
-    TGCCondSummarySvc, MDT_DCSConditionsRun2Svc, MDT_DCSConditionsSvc
-from MuonCondTool.MuonCondToolConf import MDT_DCSConditionsTool, MDT_DCSConditionsRun2Tool, MDT_MapConversion
+from AthenaConfiguration.ComponentFactory import CompFactory
+
+MDTCondSummarySvc, RPCCondSummarySvc, CSCCondSummarySvc, TGCCondSummarySvc, MDT_DCSConditionsRun2Svc, MDT_DCSConditionsSvc =\
+CompFactory.getComps("MDTCondSummarySvc", "RPCCondSummarySvc", "CSCCondSummarySvc", "TGCCondSummarySvc","MDT_DCSConditionsRun2Svc","MDT_DCSConditionsSvc")
+
+MDT_DCSConditionsTool, MDT_DCSConditionsRun2Tool, MDT_MapConversion=\
+CompFactory.getComps("MDT_DCSConditionsTool","MDT_DCSConditionsRun2Tool","MDT_MapConversion")
+
 from IOVDbSvc.IOVDbSvcConfig import IOVDbSvcCfg, addFolders
 
 # def MDT_DCSConditionsSvcCfg(flags, **kwargs):
diff --git a/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py b/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py
index 6851b99675de..1cc99ee19dd3 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AtlasGeoModel.GeoModelConfig import GeoModelCfg
-from MuonGeoModel.MuonGeoModelConf import MuonDetectorTool
-from MuonIdHelpers.MuonIdHelpersConf import Muon__MuonIdHelperSvc
-from AGDD2GeoSvc.AGDD2GeoSvcConf import AGDDtoGeoSvc
-from MuonAGDD.MuonAGDDConf import MuonAGDDTool, NSWAGDDTool
+MuonDetectorTool=CompFactory.MuonDetectorTool
+Muon__MuonIdHelperSvc=CompFactory.Muon__MuonIdHelperSvc
+AGDDtoGeoSvc=CompFactory.AGDDtoGeoSvc
+MuonAGDDTool, NSWAGDDTool=CompFactory.getComps("MuonAGDDTool","NSWAGDDTool",)
 
 def MuonGeoModelCfg(flags):
     acc = ComponentAccumulator()
@@ -27,7 +28,7 @@ def MuonGeoModelCfg(flags):
         # This is all migrated from MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonAlignConfig.py
 
         from IOVDbSvc.IOVDbSvcConfig import addFolders
-        from MuonCondAlg.MuonCondAlgConf import MuonAlignmentCondAlg
+        MuonAlignmentCondAlg=CompFactory.MuonAlignmentCondAlg
         if (flags.Common.isOnline and not flags.Input.isMC):                
             acc.merge(addFolders( flags, ['/MUONALIGN/Onl/MDT/BARREL'], 'MUONALIGN', className='CondAttrListCollection'))
             acc.merge(addFolders( flags, ['/MUONALIGN/Onl/MDT/ENDCAP/SIDEA'], 'MUONALIGN', className='CondAttrListCollection'))
diff --git a/MuonSpectrometer/MuonConfig/python/MuonRIO_OnTrackCreatorConfig.py b/MuonSpectrometer/MuonConfig/python/MuonRIO_OnTrackCreatorConfig.py
index dedaed37de8e..25a58d6bf827 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonRIO_OnTrackCreatorConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonRIO_OnTrackCreatorConfig.py
@@ -1,12 +1,13 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from MuonConfig.MuonCalibConfig import MdtCalibrationToolCfg, MdtCalibrationDbToolCfg
 from MuonCnvExample.MuonCnvUtils import mdtCalibWindowNumber # TODO should maybe shift this elsewhere?
-from MdtDriftCircleOnTrackCreator.MdtDriftCircleOnTrackCreatorConf import Muon__MdtDriftCircleOnTrackCreator
-from MuonClusterOnTrackCreator.MuonClusterOnTrackCreatorConf import Muon__CscClusterOnTrackCreator, Muon__MuonClusterOnTrackCreator
-from TrkRIO_OnTrackCreator.TrkRIO_OnTrackCreatorConf import Trk__RIO_OnTrackCreator
-from MuonCompetingClustersOnTrackCreator.MuonCompetingClustersOnTrackCreatorConf import Muon__TriggerChamberClusterOnTrackCreator
+Muon__MdtDriftCircleOnTrackCreator=CompFactory.Muon__MdtDriftCircleOnTrackCreator
+Muon__CscClusterOnTrackCreator, Muon__MuonClusterOnTrackCreator=CompFactory.getComps("Muon__CscClusterOnTrackCreator","Muon__MuonClusterOnTrackCreator",)
+Trk__RIO_OnTrackCreator=CompFactory.Trk__RIO_OnTrackCreator
+Muon__TriggerChamberClusterOnTrackCreator=CompFactory.Muon__TriggerChamberClusterOnTrackCreator
 
 def TriggerChamberClusterOnTrackCreatorCfg(flags, name="TriggerChamberClusterOnTrackCreator", **kwargs):
     result=ComponentAccumulator()
diff --git a/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py b/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
index d49471cb3acd..c96dd5743c3a 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
@@ -1,6 +1,7 @@
 #  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Constants import DEBUG, INFO
 
 ## Small class to hold the names for cache containers, should help to avoid copy / paste errors
@@ -19,7 +20,7 @@ class MuonPrdCacheNames(object):
 def MuonPrdCacheCfg():
     acc = ComponentAccumulator()
 
-    from MuonRdoToPrepData.MuonRdoToPrepDataConf import MuonPRDCacheCreator
+    MuonPRDCacheCreator=CompFactory.MuonPRDCacheCreator
     cacheCreator = MuonPRDCacheCreator(MdtCacheKey  = MuonPrdCacheNames.MdtCache,
                                        CscCacheKey  = MuonPrdCacheNames.CscCache,
                                        RpcCacheKey  = MuonPrdCacheNames.RpcCache,
@@ -47,14 +48,14 @@ def RpcRDODecodeCfg(flags, forTrigger=False):
     acc.merge(MuonGeoModelCfg(flags))
 
     # Get the RDO -> PRD tool
-    from MuonRPC_CnvTools.MuonRPC_CnvToolsConf import Muon__RpcRdoToPrepDataToolMT
+    Muon__RpcRdoToPrepDataToolMT=CompFactory.Muon__RpcRdoToPrepDataToolMT
     RpcRdoToRpcPrepDataTool = Muon__RpcRdoToPrepDataToolMT(name = "RpcRdoToRpcPrepDataTool")
     if flags.Common.isOnline: 
         RpcRdoToRpcPrepDataTool.ReadKey = "" ## cond data not needed online
     acc.addPublicTool( RpcRdoToRpcPrepDataTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
     
     # Get the RDO -> PRD alorithm
-    from MuonRdoToPrepData.MuonRdoToPrepDataConf import RpcRdoToRpcPrepData
+    RpcRdoToRpcPrepData=CompFactory.RpcRdoToRpcPrepData
     RpcRdoToRpcPrepData = RpcRdoToRpcPrepData(name          = "RpcRdoToRpcPrepData",
                                               DecodingTool  = RpcRdoToRpcPrepDataTool,
                                               PrintPrepData = False )
@@ -81,12 +82,12 @@ def TgcRDODecodeCfg(flags, forTrigger=False):
     acc.merge(MuonGeoModelCfg(flags))
 
     # Get the RDO -> PRD tool
-    from MuonTGC_CnvTools.MuonTGC_CnvToolsConf import Muon__TgcRdoToPrepDataToolMT
+    Muon__TgcRdoToPrepDataToolMT=CompFactory.Muon__TgcRdoToPrepDataToolMT
     TgcRdoToTgcPrepDataTool = Muon__TgcRdoToPrepDataToolMT(name           = "TgcRdoToTgcPrepDataTool")
     acc.addPublicTool( TgcRdoToTgcPrepDataTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
     
     # Get the RDO -> PRD alorithm
-    from MuonRdoToPrepData.MuonRdoToPrepDataConf import TgcRdoToTgcPrepData
+    TgcRdoToTgcPrepData=CompFactory.TgcRdoToTgcPrepData
     TgcRdoToTgcPrepData = TgcRdoToTgcPrepData(name          = "TgcRdoToTgcPrepData",
                                               DecodingTool  = TgcRdoToTgcPrepDataTool,
                                               PrintPrepData = False )
@@ -115,12 +116,12 @@ def MdtRDODecodeCfg(flags, forTrigger=False):
     acc.merge(MuonGeoModelCfg(flags))
 
     # Get the RDO -> PRD tool
-    from MuonMDT_CnvTools.MuonMDT_CnvToolsConf import Muon__MdtRdoToPrepDataToolMT
+    Muon__MdtRdoToPrepDataToolMT=CompFactory.Muon__MdtRdoToPrepDataToolMT
     MdtRdoToMdtPrepDataTool = Muon__MdtRdoToPrepDataToolMT(name = "MdtRdoToMdtPrepDataTool")
     acc.addPublicTool( MdtRdoToMdtPrepDataTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
     
     # Get the RDO -> PRD alorithm
-    from MuonRdoToPrepData.MuonRdoToPrepDataConf import MdtRdoToMdtPrepData
+    MdtRdoToMdtPrepData=CompFactory.MdtRdoToMdtPrepData
     MdtRdoToMdtPrepData = MdtRdoToMdtPrepData(name          = "MdtRdoToMdtPrepData",
                                               DecodingTool  = MdtRdoToMdtPrepDataTool,
                                               PrintPrepData = False )
@@ -149,12 +150,12 @@ def CscRDODecodeCfg(flags, forTrigger=False):
     acc.merge(MuonGeoModelCfg(flags))
 
     # Get the RDO -> PRD tool
-    from MuonCSC_CnvTools.MuonCSC_CnvToolsConf import Muon__CscRdoToCscPrepDataToolMT
+    Muon__CscRdoToCscPrepDataToolMT=CompFactory.Muon__CscRdoToCscPrepDataToolMT
     CscRdoToCscPrepDataTool = Muon__CscRdoToCscPrepDataToolMT(name           = "CscRdoToCscPrepDataTool")
     acc.addPublicTool( CscRdoToCscPrepDataTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
     
     # Get the RDO -> PRD alorithm
-    from MuonRdoToPrepData.MuonRdoToPrepDataConf import CscRdoToCscPrepData
+    CscRdoToCscPrepData=CompFactory.CscRdoToCscPrepData
     CscRdoToCscPrepData = CscRdoToCscPrepData(name                    = "CscRdoToCscPrepData",
                                               CscRdoToCscPrepDataTool = CscRdoToCscPrepDataTool,
                                               PrintPrepData           = False )
@@ -172,12 +173,12 @@ def CscClusterBuildCfg(flags, forTrigger=False):
     acc = ComponentAccumulator()
 
     # Get cluster creator tool
-    from CscClusterization.CscClusterizationConf import CscThresholdClusterBuilderTool
+    CscThresholdClusterBuilderTool=CompFactory.CscThresholdClusterBuilderTool
     CscClusterBuilderTool = CscThresholdClusterBuilderTool(name = "CscThresholdClusterBuilderTool" )
     acc.addPublicTool( CscClusterBuilderTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
   
     #CSC cluster building
-    from CscClusterization.CscClusterizationConf import CscThresholdClusterBuilder
+    CscThresholdClusterBuilder=CompFactory.CscThresholdClusterBuilder
     CscClusterBuilder = CscThresholdClusterBuilder(name            = "CscThresholdClusterBuilder",
                                                    cluster_builder = CscClusterBuilderTool )
     acc.addEventAlgo(CscClusterBuilder)
diff --git a/MuonSpectrometer/MuonConfig/python/MuonRecToolsConfig.py b/MuonSpectrometer/MuonConfig/python/MuonRecToolsConfig.py
index 66dbb4a853de..ee683864e97a 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonRecToolsConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonRecToolsConfig.py
@@ -3,12 +3,13 @@
 # Configuration of tools shared between Segment Finding and Track Building
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # Tracking
 from TrkDetDescrSvc.AtlasTrackingGeometrySvcConfig import TrackingGeometrySvcCfg
 
 def MuonTrackToSegmentToolCfg(flags,name="MuonTrackToSegmentTool", **kwargs):
-    from MuonTrackFinderTools.MuonTrackFinderToolsConf import Muon__MuonTrackToSegmentTool
+    Muon__MuonTrackToSegmentTool=CompFactory.Muon__MuonTrackToSegmentTool
     #MDT conditions information not available online
     if(flags.Common.isOnline):
         kwargs.setdefault("MdtCondKey","")
@@ -18,7 +19,8 @@ def MuonTrackToSegmentToolCfg(flags,name="MuonTrackToSegmentTool", **kwargs):
     kwargs.setdefault("MuonStationIntersectSvc",msis)
     
     # FIXME - this should have a CA
-    from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as RkPropagator
+    RkPropagator=CompFactory.Trk__RungeKuttaPropagator
+    
     atlasRungeKuttaPropagator = RkPropagator(name = 'AtlasRungeKuttaPropagator')
     result.addPublicTool(atlasRungeKuttaPropagator)
     kwargs.setdefault("Propagator",atlasRungeKuttaPropagator)
@@ -30,7 +32,7 @@ def MuonTrackToSegmentToolCfg(flags,name="MuonTrackToSegmentTool", **kwargs):
 
 
 def MuonSeededSegmentFinderCfg(flags,name="MuonSeededSegmentFinder", **kwargs):
-    from MuonTrackFinderTools.MuonTrackFinderToolsConf import Muon__MuonSeededSegmentFinder
+    Muon__MuonSeededSegmentFinder=CompFactory.Muon__MuonSeededSegmentFinder
     from MuonConfig.MuonSegmentFindingConfig import DCMathSegmentMakerCfg, MdtMathSegmentFinder # FIXME - should really shift this to RecTools then.
     result = ComponentAccumulator()
     
@@ -64,7 +66,7 @@ def MuonSeededSegmentFinderCfg(flags,name="MuonSeededSegmentFinder", **kwargs):
         
         
 def MuonSegmentMomentumFromFieldCfg(flags, name="MuonSegmentMomentumFromField", **kwargs):
-    from MuonSegmentMomentum.MuonSegmentMomentumConf import MuonSegmentMomentumFromField
+    MuonSegmentMomentumFromField=CompFactory.MuonSegmentMomentumFromField
     from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
     
     result = ComponentAccumulator()
@@ -111,12 +113,12 @@ def MuonTrackSummaryHelperToolCfg(flags, name="MuonTrackSummaryHelperTool", **kw
 
     kwargs.setdefault("CalculateCloseHits", True)
 
-    from MuonTrackSummaryHelperTool.MuonTrackSummaryHelperToolConf import Muon__MuonTrackSummaryHelperTool
+    Muon__MuonTrackSummaryHelperTool=CompFactory.Muon__MuonTrackSummaryHelperTool
     result.setPrivateTools(Muon__MuonTrackSummaryHelperTool(name=name,**kwargs))
     return result
 
 def MuonTrackSummaryToolCfg(flags, name="MuonTrackSummaryTool", **kwargs):
-    from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
+    Trk__TrackSummaryTool=CompFactory.Trk__TrackSummaryTool
     
     result = ComponentAccumulator()
     acc = MuonTrackSummaryHelperToolCfg(flags)
@@ -130,7 +132,7 @@ def MuonTrackSummaryToolCfg(flags, name="MuonTrackSummaryTool", **kwargs):
     return result
 
 def MuonTrackScoringToolCfg(flags, name="MuonTrackScoringTool", **kwargs):
-    from MuonTrackFinderTools.MuonTrackFinderToolsConf import Muon__MuonTrackScoringTool
+    Muon__MuonTrackScoringTool=CompFactory.Muon__MuonTrackScoringTool
     
     # m_trkSummaryTool("Trk::TrackSummaryTool"),    
     # m_printer("Muon::MuonEDMPrinterTool/MuonEDMPrinterTool"),
@@ -144,8 +146,8 @@ def MuonTrackScoringToolCfg(flags, name="MuonTrackScoringTool", **kwargs):
     return result
 
 def MuonAmbiProcessorCfg(flags, name="MuonAmbiProcessor", **kwargs):
-    from TrkAmbiguityProcessor.TrkAmbiguityProcessorConf import Trk__TrackSelectionProcessorTool
-    from MuonAmbiTrackSelectionTool.MuonAmbiTrackSelectionToolConf import Muon__MuonAmbiTrackSelectionTool
+    Trk__TrackSelectionProcessorTool=CompFactory.Trk__TrackSelectionProcessorTool
+    Muon__MuonAmbiTrackSelectionTool=CompFactory.Muon__MuonAmbiTrackSelectionTool
     
     #m_scoringTool("Trk::TrackScoringTool/TrackScoringTool"), 
     #m_selectionTool("InDet::InDetAmbiTrackSelectionTool/InDetAmbiTrackSelectionTool")
@@ -163,7 +165,7 @@ def MuonAmbiProcessorCfg(flags, name="MuonAmbiProcessor", **kwargs):
     return result
 
 def MuonTrackCleanerCfg(flags, name="MuonTrackCleaner", **kwargs):
-    from MuonTrackFinderTools.MuonTrackFinderToolsConf import Muon__MuonTrackCleaner
+    Muon__MuonTrackCleaner=CompFactory.Muon__MuonTrackCleaner
     from MuonConfig.MuonRIO_OnTrackCreatorConfig import MdtDriftCircleOnTrackCreatorCfg, TriggerChamberClusterOnTrackCreatorCfg
     # declareProperty("IdHelper",m_idHelper);
     # declareProperty("Helper",m_edmHelperSvc);
@@ -215,7 +217,7 @@ def MuonTrackCleanerCfg(flags, name="MuonTrackCleaner", **kwargs):
     return result 
 
 def MuonStationIntersectSvcCfg(flags, name='MuonStationIntersectSvc',**kwargs):
-    from MuonStationIntersectSvc.MuonStationIntersectSvcConf import MuonStationIntersectSvc
+    MuonStationIntersectSvc=CompFactory.MuonStationIntersectSvc
     # Has dependency IdHelperTool (which we ignore for now)
     result = ComponentAccumulator()
     muon_station_intersect_svc = MuonStationIntersectSvc(name=name, **kwargs)
@@ -224,7 +226,7 @@ def MuonStationIntersectSvcCfg(flags, name='MuonStationIntersectSvc',**kwargs):
 
 # default muon navigator
 def MuonNavigatorCfg(flags, name="MuonNavigator", **kwargs):
-    from TrkExTools.TrkExToolsConf import Trk__Navigator
+    Trk__Navigator=CompFactory.Trk__Navigator
     
     result = ComponentAccumulator()
 
@@ -237,9 +239,9 @@ def MuonNavigatorCfg(flags, name="MuonNavigator", **kwargs):
     return result     
 
 def MuonExtrapolatorCfg(flags,name = "MuonExtrapolator", **kwargs):
-    from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator, Trk__EnergyLossUpdator, Trk__MultipleScatteringUpdator
+    Trk__MaterialEffectsUpdator, Trk__EnergyLossUpdator, Trk__MultipleScatteringUpdator=CompFactory.getComps("Trk__MaterialEffectsUpdator","Trk__EnergyLossUpdator","Trk__MultipleScatteringUpdator",)
     
-    from TrkExTools.TrkExToolsConf import Trk__Extrapolator 
+    Trk__Extrapolator, =CompFactory.getComps("Trk__Extrapolator",)
     result = ComponentAccumulator()
     
     energy_loss_updator = Trk__EnergyLossUpdator() # Not really sure these should be tools...
@@ -273,8 +275,8 @@ def MuonExtrapolatorCfg(flags,name = "MuonExtrapolator", **kwargs):
     return result
 
 def MuonChi2TrackFitterCfg(flags, name='MuonChi2TrackFitter', **kwargs):
-    from TrkMeasurementUpdator.TrkMeasurementUpdatorConf import Trk__KalmanUpdator
-    from TrkGlobalChi2Fitter.TrkGlobalChi2FitterConf import Trk__GlobalChi2Fitter
+    Trk__KalmanUpdator=CompFactory.Trk__KalmanUpdator
+    Trk__GlobalChi2Fitter=CompFactory.Trk__GlobalChi2Fitter
     import MuonConfig.MuonRIO_OnTrackCreatorConfig # Trying to avoid circular dependencies here
     
     result = ComponentAccumulator()
@@ -311,7 +313,7 @@ def MuonChi2TrackFitterCfg(flags, name='MuonChi2TrackFitter', **kwargs):
 def MuonSTEP_PropagatorCfg(flags, name='MuonSTEP_Propagator', **kwargs):
     # Really there should be a central configuration for the STEP propagator. FIXME
     # In the old ConfigDb this was named MuonStraightLinePropagator (!)
-    from TrkExSTEP_Propagator.TrkExSTEP_PropagatorConf import Trk__STEP_Propagator
+    Trk__STEP_Propagator=CompFactory.Trk__STEP_Propagator
     from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
     result = ComponentAccumulator()
     
@@ -369,7 +371,7 @@ def MCTBFitterCfg(flags, name='MCTBFitter', **kwargs):
     return result
 
 def MuonPhiHitSelector(flags, name="MuonPhiHitSelector",**kwargs):
-    from MuonSegmentCleaner.MuonSegmentCleanerConf import MuonPhiHitSelector
+    MuonPhiHitSelector=CompFactory.MuonPhiHitSelector
     kwargs.setdefault("MakeClusters", True)
     kwargs.setdefault("CompetingRios", True)
     kwargs.setdefault("DoCosmics", flags.Beam.Type == 'cosmics')
@@ -378,7 +380,7 @@ def MuonPhiHitSelector(flags, name="MuonPhiHitSelector",**kwargs):
 
 
 def MuPatHitToolCfg(flags, name="MuPatHitTool",**kwargs):
-    from MuonTrackSteeringTools.MuonTrackSteeringToolsConf import Muon__MuPatHitTool
+    Muon__MuPatHitTool=CompFactory.Muon__MuPatHitTool
     from MuonConfig.MuonRIO_OnTrackCreatorConfig import CscClusterOnTrackCreatorCfg,MdtDriftCircleOnTrackCreatorCfg
     
     result = MdtDriftCircleOnTrackCreatorCfg(flags)
diff --git a/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py b/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py
index 9d07b7137fa1..09f8a6f46333 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py
@@ -2,6 +2,7 @@
 
 # Core configuration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # Local
 from MuonConfig.MuonSegmentFindingConfig import MuonSegmentFindingCfg
@@ -42,7 +43,7 @@ if __name__=="__main__":
     cfg=ComponentAccumulator()
 
     # This is a temporary fix! Should be private!
-    from MuonRecHelperTools.MuonRecHelperToolsConf import Muon__MuonEDMHelperSvc
+    Muon__MuonEDMHelperSvc=CompFactory.Muon__MuonEDMHelperSvc
     muon_edm_helper_svc = Muon__MuonEDMHelperSvc("MuonEDMHelperSvc")
     cfg.addService( muon_edm_helper_svc )
 
diff --git a/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py b/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py
index a7a0866a5bce..8bd8a88ba6ef 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py
@@ -6,6 +6,7 @@
 # https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonRecTools.py
 # https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py
 # from https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/CscTools.py
+from AthenaConfiguration.ComponentFactory import CompFactory
 #
 # and algorithms which are defined in several places:
 # 
@@ -17,10 +18,10 @@
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 # Muon
-# from CscSegmentMakers.CscSegmentMakersConf import Csc2dSegmentMaker, Csc4dSegmentMaker
-from DCMathSegmentMaker.DCMathSegmentMakerConf import Muon__DCMathSegmentMaker, Muon__MdtMathSegmentFinder, Muon__MuonSegmentFittingTool, Muon__MuonClusterSegmentFinderTool
-from MuonSegmentSelectionTools.MuonSegmentSelectionToolsConf import Muon__MuonSegmentSelectionTool
-from MuonClusterSegmentMakerTools.MuonClusterSegmentMakerToolsConf import Muon__MuonClusterSegmentFinder
+# Csc2dSegmentMaker, Csc4dSegmentMaker=CompFactory.getComps("Csc2dSegmentMaker","Csc4dSegmentMaker",)
+Muon__DCMathSegmentMaker, Muon__MdtMathSegmentFinder, Muon__MuonSegmentFittingTool, Muon__MuonClusterSegmentFinderTool=CompFactory.getComps("Muon__DCMathSegmentMaker","Muon__MdtMathSegmentFinder","Muon__MuonSegmentFittingTool","Muon__MuonClusterSegmentFinderTool",)
+Muon__MuonSegmentSelectionTool=CompFactory.Muon__MuonSegmentSelectionTool
+Muon__MuonClusterSegmentFinder=CompFactory.Muon__MuonClusterSegmentFinder
 from MuonCnvExample.MuonCnvUtils import mdtCalibWindowNumber # TODO - should maybe move this somewhere else?
 
 #Local
@@ -30,7 +31,7 @@ from MuonConfig.MuonRecToolsConfig import MCTBFitterCfg, MuonAmbiProcessorCfg, M
 def MuonHoughPatternFinderTool(flags, **kwargs):
     # Taken from https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonRecTools.py#L173     from MuonHoughPatternTools/MuonHoughPatternToolsConf import Muon__MuonHoughPatternFinderTool
 
-    from MuonHoughPatternTools.MuonHoughPatternToolsConf import Muon__MuonHoughPatternFinderTool
+    Muon__MuonHoughPatternFinderTool=CompFactory.Muon__MuonHoughPatternFinderTool
     
     # TODO
     # getPublicTool("MuonCombinePatternTool")
@@ -44,7 +45,7 @@ def MuonCurvedSegmentCombiner(flags, **kwargs):
     # Taken from https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py#L74
     # The original code seems very odd. The default MissedHitsCut is 100 by default, and the rest of it is a bit tortuous.
     # I've tried to clean it up, but might have made mistakes. 
-    from MuonCurvedSegmentCombiner.MuonCurvedSegmentCombinerConf import Muon__MuonCurvedSegmentCombiner 
+    Muon__MuonCurvedSegmentCombiner =CompFactory.Muon__MuonCurvedSegmentCombiner
     if flags.Beam.Type!= 'collisions' :
         kwargs.setdefault( "AddUnassociatedMiddleEndcapSegments", False )
     elif flags.Input.isMC:
@@ -73,7 +74,7 @@ def AdjustableT0Tool(flags,**kwargs):
     else: # collisions simulation final precise cuts
         kwargs.setdefault("DoTof", 1)
         
-    from MdtDriftCircleOnTrackCreator.MdtDriftCircleOnTrackCreatorConf import AdjT0__AdjustableT0Tool
+    AdjT0__AdjustableT0Tool=CompFactory.AdjT0__AdjustableT0Tool
     return AdjT0__AdjustableT0Tool(**kwargs)
 
 def MdtMathSegmentFinder(flags,name="MdtMathSegmentFinder", **kwargs):
@@ -133,7 +134,7 @@ def MuonSegmentFittingToolCfg(flags, **kwargs):
     return result
 
 def DCMathSegmentMakerCfg(flags, **kwargs):    
-    from MdtSegmentT0Fitter.MdtSegmentT0FitterConf import TrkDriftCircleMath__MdtSegmentT0Fitter
+    TrkDriftCircleMath__MdtSegmentT0Fitter=CompFactory.TrkDriftCircleMath__MdtSegmentT0Fitter
     from MuonConfig.MuonRIO_OnTrackCreatorConfig import MdtDriftCircleOnTrackCreatorCfg, MuonClusterOnTrackCreatorCfg, TriggerChamberClusterOnTrackCreatorCfg
     from MuonConfig.MuonCondAlgConfig import MdtCondDbAlgCfg
      
@@ -250,7 +251,7 @@ def DCMathSegmentMakerCfg(flags, **kwargs):
 
 
 def MuonPatternSegmentMakerCfg(flags, **kwargs):
-    from MuonPatternSegmentMaker.MuonPatternSegmentMakerConf import Muon__MuonPatternSegmentMaker
+    Muon__MuonPatternSegmentMaker=CompFactory.Muon__MuonPatternSegmentMaker
     from MuonConfig.MuonRIO_OnTrackCreatorConfig import MdtDriftCircleOnTrackCreatorCfg, MuonClusterOnTrackCreatorCfg
     # Taken from https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py#L49
     
@@ -297,7 +298,7 @@ def MuonPatternSegmentMakerCfg(flags, **kwargs):
     
 def CscAlignmentTool(flags, **kwargs):
 
-    from CscClusterization.CscClusterizationConf import CscAlignmentTool
+    CscAlignmentTool=CompFactory.CscAlignmentTool
     etaposAlignConsts = [ # 1st, 2nd, 3rd, 4th layer 
         0.0,   -0.0902347,   -0.0984321,    -0.141175, #sector -16
         0.0,    -0.166412,    -0.150399,     -0.18592, #sector -15
@@ -376,7 +377,7 @@ def CscAlignmentTool(flags, **kwargs):
 
 def QratCscClusterFitterCfg(flags, **kwargs):
     # This is based on https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/CscTools.py#L151
-    from CscClusterization.CscClusterizationConf import QratCscClusterFitter
+    QratCscClusterFitter=CompFactory.QratCscClusterFitter
     result=ComponentAccumulator()
     qratcor_css_eta = [
         0.000000, 0.000000, 0.000000, 0.000000, 0.0699381, 0.178291, 0.271303, 0.345611, 
@@ -406,7 +407,7 @@ def QratCscClusterFitterCfg(flags, **kwargs):
     return result
 
 def CalibCscStripFitterCfg(flags, name = "CalibCscStripFitter",**kwargs):
-    from CscClusterization.CscClusterizationConf import CalibCscStripFitter
+    CalibCscStripFitter=CompFactory.CalibCscStripFitter
     from MuonConfig.MuonCalibConfig import CscCalibToolCfg
     result = CscCalibToolCfg(flags)
     kwargs.setdefault("cscCalibTool", result.popPrivateTools() )
@@ -414,7 +415,7 @@ def CalibCscStripFitterCfg(flags, name = "CalibCscStripFitter",**kwargs):
     return result
 
 def CscClusterUtilToolCfg(flags, name='CscClusterUtilTool', **kwargs):
-    from CscClusterization.CscClusterizationConf import CscClusterUtilTool
+    CscClusterUtilTool=CompFactory.CscClusterUtilTool
     
     result = CalibCscStripFitterCfg(flags)
     kwargs.setdefault("strip_fitter", result.popPrivateTools() )
@@ -426,7 +427,7 @@ def CscClusterUtilToolCfg(flags, name='CscClusterUtilTool', **kwargs):
     return result
 
 def CscSegmentUtilToolCfg(flags, name='CscSegmentUtilTool', **kwargs):
-    from CscSegmentMakers.CscSegmentMakersConf import CscSegmentUtilTool
+    CscSegmentUtilTool=CompFactory.CscSegmentUtilTool
     from MuonConfig.MuonRIO_OnTrackCreatorConfig import CscClusterOnTrackCreatorCfg
     from MuonConfig.MuonCalibConfig import CscCoolStrSvcCfg
     
@@ -442,7 +443,7 @@ def CscSegmentUtilToolCfg(flags, name='CscSegmentUtilTool', **kwargs):
     return result
 
 def Csc2dSegmentMakerCfg(flags, name= "Csc2dSegmentMaker", **kwargs):
-    from CscSegmentMakers.CscSegmentMakersConf import Csc2dSegmentMaker
+    Csc2dSegmentMaker=CompFactory.Csc2dSegmentMaker
     result=ComponentAccumulator()
     if 'segmentTool' not in kwargs:
         acc  = CscSegmentUtilToolCfg(flags)
@@ -457,7 +458,7 @@ def Csc2dSegmentMakerCfg(flags, name= "Csc2dSegmentMaker", **kwargs):
     return result
 
 def Csc4dSegmentMakerCfg(flags, name= "Csc4dSegmentMaker", **kwargs):
-    from CscSegmentMakers.CscSegmentMakersConf import Csc4dSegmentMaker
+    Csc4dSegmentMaker=CompFactory.Csc4dSegmentMaker
     
     result=ComponentAccumulator()
     acc= CscSegmentUtilToolCfg(flags)
@@ -474,9 +475,9 @@ def Csc4dSegmentMakerCfg(flags, name= "Csc4dSegmentMaker", **kwargs):
 def MooSegmentFinderCfg(flags, name='MooSegmentFinder', **kwargs):
     # This is based on https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py#L99 
     
-    from MuonHoughPatternTools.MuonHoughPatternToolsConf import Muon__MuonLayerHoughTool
-    from MuonSegmentOverlapRemovalTools.MuonSegmentOverlapRemovalToolsConf import Muon__MuonSegmentCombinationCleanerTool
-    from MooSegmentCombinationFinder.MooSegmentCombinationFinderConf import Muon__MooSegmentCombinationFinder
+    Muon__MuonLayerHoughTool=CompFactory.Muon__MuonLayerHoughTool
+    Muon__MuonSegmentCombinationCleanerTool=CompFactory.Muon__MuonSegmentCombinationCleanerTool
+    Muon__MooSegmentCombinationFinder=CompFactory.Muon__MooSegmentCombinationFinder
 
     result=ComponentAccumulator()
 
@@ -607,7 +608,7 @@ def MuonClusterSegmentFinderCfg(flags, **kwargs):
 
 def MooSegmentFinderAlgCfg(flags, name = "MuonSegmentMaker",  **kwargs):
     # This is based on https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonStandalone.py#L113
-    from MooSegmentCombinationFinder.MooSegmentCombinationFinderConf import MooSegmentFinderAlg
+    MooSegmentFinderAlg=CompFactory.MooSegmentFinderAlg
     result=ComponentAccumulator()
     
     if 'SegmentFinder' not in kwargs:
@@ -694,7 +695,7 @@ def MuonSegmentFindingCfg(flags, cardinality=1):
     from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg 
     result.merge( MuonGeoModelCfg(flags) )
 
-    from MuonRecHelperTools.MuonRecHelperToolsConf import Muon__MuonEDMHelperSvc
+    Muon__MuonEDMHelperSvc=CompFactory.Muon__MuonEDMHelperSvc
     muon_edm_helper_svc = Muon__MuonEDMHelperSvc("MuonEDMHelperSvc")
     result.addService( muon_edm_helper_svc )
 
@@ -774,14 +775,14 @@ if __name__=="__main__":
     if args.threads>1 and args.forceclone:
         log.info('Forcing segment finding cardinality to be equal to '+str(args.threads))
         # We want to force the algorithms to run in parallel (eventually the algorithm will be marked as cloneable in the source code)
-        from GaudiHive.GaudiHiveConf import AlgResourcePool
+        AlgResourcePool=CompFactory.AlgResourcePool
         cfg.addService(AlgResourcePool( OverrideUnClonable=True ) )
         segment_finder = acc.getPrimary()
         segment_finder.Cardinality=args.threads
 
     # This is a temporary fix - it should go someplace central as it replaces the functionality of addInputRename from here:
     # https://gitlab.cern.ch/atlas/athena/blob/master/Control/SGComps/python/AddressRemappingSvc.py
-    from SGComps.SGCompsConf import AddressRemappingSvc, ProxyProviderSvc
+    AddressRemappingSvc, ProxyProviderSvc=CompFactory.getComps("AddressRemappingSvc","ProxyProviderSvc",)
     pps = ProxyProviderSvc()
     ars=AddressRemappingSvc()
     pps.ProviderNames += [ 'AddressRemappingSvc' ]
diff --git a/MuonSpectrometer/MuonConfig/python/MuonTrackBuildingConfig.py b/MuonSpectrometer/MuonConfig/python/MuonTrackBuildingConfig.py
index 8d528bdabfe5..dd80a1392142 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonTrackBuildingConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonTrackBuildingConfig.py
@@ -1,14 +1,15 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from MuonConfig.MuonRecToolsConfig import MCTBFitterCfg, MuonSTEP_PropagatorCfg, MuonTrackCleanerCfg, MuonSegmentMomentumFromFieldCfg, MuonSeededSegmentFinderCfg
 from MuonConfig.MuonSegmentFindingConfig import MuonSegmentFittingToolCfg 
 
 def MooTrackFitterCfg(flags, name = 'MooTrackFitter', **kwargs):
     # Based on https://gitlab.cern.ch/atlas/athena/blob/release/22.0.3/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py#L179
     # (Tons of explicit configuration missing from there though)
-    from MuonTrackSteeringTools.MuonTrackSteeringToolsConf import Muon__MooTrackFitter
-    from MuonSegmentMomentum.MuonSegmentMomentumConf import MuonSegmentMomentum
+    Muon__MooTrackFitter=CompFactory.Muon__MooTrackFitter
+    MuonSegmentMomentum=CompFactory.MuonSegmentMomentum
     from MuonConfig.MuonRecToolsConfig import MuonPhiHitSelector, MuonTrackToSegmentToolCfg, MuonTrackSummaryHelperToolCfg, MuPatHitToolCfg
     from MuonConfig.MuonRIO_OnTrackCreatorConfig import MdtDriftCircleOnTrackCreatorCfg
     
@@ -80,8 +81,8 @@ def MooTrackFitterCfg(flags, name = 'MooTrackFitter', **kwargs):
     return result
 
 def MooTrackBuilderCfg(flags, name="MooTrackBuilderTemplate", **kwargs):
-    from MuonTrackSteeringTools.MuonTrackSteeringToolsConf import Muon__MooTrackBuilder
-    from TrkExSTEP_Propagator.TrkExSTEP_PropagatorConf import Trk__STEP_Propagator
+    Muon__MooTrackBuilder=CompFactory.Muon__MooTrackBuilder
+    Trk__STEP_Propagator=CompFactory.Trk__STEP_Propagator
     from MuonConfig.MuonRIO_OnTrackCreatorConfig import MdtDriftCircleOnTrackCreatorCfg, TriggerChamberClusterOnTrackCreatorCfg
     from MuonConfig.MuonRecToolsConfig import MuonTrackToSegmentToolCfg
     from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
@@ -172,7 +173,7 @@ def MooTrackBuilderCfg(flags, name="MooTrackBuilderTemplate", **kwargs):
 # Taken from https://gitlab.cern.ch/atlas/athena/blob/release/22.0.3/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py#L268
 # Not bothering with MuonSegmentMatchingToolTight - just pass in TightSegmentMatching=True
 def MuonSegmentMatchingToolCfg(flags, name="MuonSegmentMatchingTool", **kwargs):
-    from MuonSegmentMatchingTools.MuonSegmentMatchingToolsConf import Muon__MuonSegmentMatchingTool
+    Muon__MuonSegmentMatchingTool=CompFactory.Muon__MuonSegmentMatchingTool
     from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
     
     kwargs.setdefault( "doThetaMatching", flags.Muon.useSegmentMatching)
@@ -196,7 +197,7 @@ def MuonSegmentMatchingToolCfg(flags, name="MuonSegmentMatchingTool", **kwargs):
     return result
     
 def MooCandidateMatchingToolCfg(flags, name="MooCandidateMatchingTool", doSegmentPhiMatching=True, **kwargs):
-    from MuonTrackSteeringTools.MuonTrackSteeringToolsConf import Muon__MooCandidateMatchingTool
+    Muon__MooCandidateMatchingTool=CompFactory.Muon__MooCandidateMatchingTool
     from TrkExTools.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
     from MuonConfig.MuonRecToolsConfig import MuonExtrapolatorCfg
     
@@ -250,7 +251,7 @@ def MooCandidateMatchingToolCfg(flags, name="MooCandidateMatchingTool", doSegmen
     return result
 
 def MuonSegmentRegionRecoveryToolCfg(flags, name="MuonSegmentRegionRecoveryTool", **kwargs):
-    from MuonTrackFinderTools.MuonTrackFinderToolsConf import Muon__MuonSegmentRegionRecoveryTool
+    Muon__MuonSegmentRegionRecoveryTool=CompFactory.Muon__MuonSegmentRegionRecoveryTool
     from MuonConfig.MuonRecToolsConfig import MuonExtrapolatorCfg, MuonStationIntersectSvcCfg
     
     # Based on https://gitlab.cern.ch/atlas/athena/blob/release/22.0.3/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py#L426
@@ -304,7 +305,7 @@ def MuonSegmentRegionRecoveryToolCfg(flags, name="MuonSegmentRegionRecoveryTool"
     return result
     
 def MuPatCandidateToolCfg(flags, name="MuPatCandidateTool", **kwargs):
-    from MuonTrackSteeringTools.MuonTrackSteeringToolsConf import Muon__MuPatCandidateTool
+    Muon__MuPatCandidateTool=CompFactory.Muon__MuPatCandidateTool
     # https://gitlab.cern.ch/atlas/athena/blob/release/22.0.3/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuPatTools.py#L32
     from MuonConfig.MuonRIO_OnTrackCreatorConfig import CscClusterOnTrackCreatorCfg,MdtDriftCircleOnTrackCreatorCfg
     result = MdtDriftCircleOnTrackCreatorCfg(flags)
@@ -322,7 +323,7 @@ def MuPatCandidateToolCfg(flags, name="MuPatCandidateTool", **kwargs):
     return result
     
 def MuonChamberHoleRecoveryToolCfg(flags, name="MuonChamberHoleRecoveryTool", **kwargs):
-    from MuonTrackFinderTools.MuonTrackFinderToolsConf import Muon__MuonChamberHoleRecoveryTool
+    Muon__MuonChamberHoleRecoveryTool=CompFactory.Muon__MuonChamberHoleRecoveryTool
     result=ComponentAccumulator()
     kwargs.setdefault("AddMeasurements",  not flags.Muon.doSegmentT0Fit )
     if flags.Detector.GeometryCSC:
@@ -352,7 +353,7 @@ def MuonChamberHoleRecoveryToolCfg(flags, name="MuonChamberHoleRecoveryTool", **
     
 
 def MuonTrackSteeringCfg(flags, name="MuonTrackSteering", **kwargs):
-    from MuonTrackSteeringTools.MuonTrackSteeringToolsConf import Muon__MuonTrackSteering
+    Muon__MuonTrackSteering=CompFactory.Muon__MuonTrackSteering
     # This is based on https://gitlab.cern.ch/atlas/athena/blob/release/22.0.3/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonStandalone.py#L35
     result=ComponentAccumulator()
     
@@ -441,7 +442,7 @@ def MuonTrackSteeringCfg(flags, name="MuonTrackSteering", **kwargs):
     return result
 
 def MuonTrackSelector(flags, name = "MuonTrackSelectorTool", **kwargs):
-    from MuonTrackFinderTools.MuonTrackFinderToolsConf import Muon__MuonTrackSelectorTool
+    Muon__MuonTrackSelectorTool=CompFactory.Muon__MuonTrackSelectorTool
     # In MooreTools this is:
     # if beamFlags.beamType() == 'cosmics' or beamFlags.beamType() == 'singlebeam' or globalflags.DataSource() == 'data' :
     # Hopefully this is good enough
@@ -460,7 +461,7 @@ def MuonTrackSelector(flags, name = "MuonTrackSelectorTool", **kwargs):
     return Muon__MuonTrackSelectorTool(name, **kwargs)
 
 def MuonTrackBuildingCfg(flags):
-    from MuonSegmentTrackMaker.MuonSegmentTrackMakerConf import MuPatTrackBuilder
+    MuPatTrackBuilder=CompFactory.MuPatTrackBuilder
     # This is based on https://gitlab.cern.ch/atlas/athena/blob/release/22.0.3/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonStandalone.py#L162
     result=ComponentAccumulator()
     
@@ -468,7 +469,7 @@ def MuonTrackBuildingCfg(flags):
     from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg 
     result.merge( MuonGeoModelCfg(flags) )
     
-    from MuonRecHelperTools.MuonRecHelperToolsConf import Muon__MuonEDMHelperSvc
+    Muon__MuonEDMHelperSvc=CompFactory.Muon__MuonEDMHelperSvc
     muon_edm_helper_svc = Muon__MuonEDMHelperSvc("MuonEDMHelperSvc")
     result.addService( muon_edm_helper_svc )
     
@@ -549,14 +550,14 @@ if __name__=="__main__":
     if args.threads>1 and args.forceclone:
         log.info('Forcing track building cardinality to be equal to '+str(args.threads))
         # We want to force the algorithms to run in parallel (eventually the algorithm will be marked as cloneable in the source code)
-        from GaudiHive.GaudiHiveConf import AlgResourcePool
+        AlgResourcePool=CompFactory.AlgResourcePool
         cfg.addService(AlgResourcePool( OverrideUnClonable=True ) )
         track_builder = acc.getPrimary()
         track_builder.Cardinality=args.threads
             
     # This is a temporary fix - it should go someplace central as it replaces the functionality of addInputRename from here:
     # https://gitlab.cern.ch/atlas/athena/blob/master/Control/SGComps/python/AddressRemappingSvc.py
-    from SGComps.SGCompsConf import AddressRemappingSvc, ProxyProviderSvc
+    AddressRemappingSvc, ProxyProviderSvc=CompFactory.getComps("AddressRemappingSvc","ProxyProviderSvc",)
     pps = ProxyProviderSvc()
     ars=AddressRemappingSvc()
     pps.ProviderNames += [ 'AddressRemappingSvc' ]
diff --git a/MuonSpectrometer/MuonConfig/python/RPC_DigitizationConfig.py b/MuonSpectrometer/MuonConfig/python/RPC_DigitizationConfig.py
index 4d7486635bb0..bec08779483e 100644
--- a/MuonSpectrometer/MuonConfig/python/RPC_DigitizationConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/RPC_DigitizationConfig.py
@@ -3,10 +3,11 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
-from RPC_Digitization.RPC_DigitizationConf import RpcDigitizationTool, RPC_Digitizer
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
+RpcDigitizationTool, RPC_Digitizer=CompFactory.getComps("RpcDigitizationTool","RPC_Digitizer",)
+PileUpXingFolder=CompFactory.PileUpXingFolder
 from MuonConfig.MuonByteStreamCnvTestConfig import RpcDigitToRpcRDOCfg, RpcOverlayDigitToRpcRDOCfg
 from MuonConfig.MuonCablingConfig import RPCCablingConfigCfg
 from Digitization.TruthDigitizationOutputConfig import TruthDigitizationOutputCfg
diff --git a/MuonSpectrometer/MuonConfig/python/TGC_DigitizationConfig.py b/MuonSpectrometer/MuonConfig/python/TGC_DigitizationConfig.py
index dca5509b8d06..0eb8779e6236 100644
--- a/MuonSpectrometer/MuonConfig/python/TGC_DigitizationConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/TGC_DigitizationConfig.py
@@ -3,10 +3,11 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
-from TGC_Digitization.TGC_DigitizationConf import TgcDigitizationTool, TGCDigitizer
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
+TgcDigitizationTool, TGCDigitizer=CompFactory.getComps("TgcDigitizationTool","TGCDigitizer",)
+PileUpXingFolder=CompFactory.PileUpXingFolder
 from MuonConfig.MuonByteStreamCnvTestConfig import TgcDigitToTgcRDOCfg, TgcOverlayDigitToTgcRDOCfg
 from MuonConfig.MuonCablingConfig import TGCCablingConfigCfg
 from Digitization.TruthDigitizationOutputConfig import TruthDigitizationOutputCfg
diff --git a/MuonSpectrometer/MuonG4/MuonG4SD/python/MuonG4SDToolConfig.py b/MuonSpectrometer/MuonG4/MuonG4SD/python/MuonG4SDToolConfig.py
index cfeabcd88100..2141f9f5f5c2 100644
--- a/MuonSpectrometer/MuonG4/MuonG4SD/python/MuonG4SDToolConfig.py
+++ b/MuonSpectrometer/MuonG4/MuonG4SD/python/MuonG4SDToolConfig.py
@@ -1,7 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from ISF_Algorithms.collection_merger_helpersNew import CollectionMergerCfg
+from AthenaConfiguration.ComponentFactory import CompFactory
+from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
-from MuonG4SD.MuonG4SDConf import CSCSensitiveDetectorCosmicsTool,CSCSensitiveDetectorTool, GenericMuonSensitiveDetectorTool,MDTSensitiveDetectorCosmicsTool, MDTSensitiveDetectorTool, MicromegasSensitiveDetectorTool, RPCSensitiveDetectorCosmicsTool, RPCSensitiveDetectorTool, TGCSensitiveDetectorCosmicsTool, TGCSensitiveDetectorTool, sTGCSensitiveDetectorTool
+CSCSensitiveDetectorCosmicsTool,CSCSensitiveDetectorTool, GenericMuonSensitiveDetectorTool,MDTSensitiveDetectorCosmicsTool, MDTSensitiveDetectorTool, MicromegasSensitiveDetectorTool, RPCSensitiveDetectorCosmicsTool, RPCSensitiveDetectorTool, TGCSensitiveDetectorCosmicsTool, TGCSensitiveDetectorTool, sTGCSensitiveDetectorTool=CompFactory.getComps("CSCSensitiveDetectorCosmicsTool","CSCSensitiveDetectorTool","GenericMuonSensitiveDetectorTool","MDTSensitiveDetectorCosmicsTool","MDTSensitiveDetectorTool","MicromegasSensitiveDetectorTool","RPCSensitiveDetectorCosmicsTool","RPCSensitiveDetectorTool","TGCSensitiveDetectorCosmicsTool","TGCSensitiveDetectorTool","sTGCSensitiveDetectorTool",)
 
 def CSCSensitiveDetectorCosmicsCfg(ConfigFlags, name="CSCSensitiveDetectorCosmics", **kwargs):
     bare_collection_name = "CSC_Hits"
@@ -32,7 +34,7 @@ def CSCSensitiveDetectorCfg(ConfigFlags, name="CSCSensitiveDetector", **kwargs):
 def GenericMuonSensitiveDetectorCfg(ConfigFlags, name="GenericMuonSensitiveDetector", **kwargs):
     kwargs.setdefault("LogicalVolumeNames", ["GenericSenitiveVolume"])
     kwargs.setdefault("OutputCollectionNames", ["GenericMuonSensitiveDetector"])
-
+    result=ComponentAccumulator()
     result.setPrivateTools( GenericMuonSensitiveDetectorTool(name, **kwargs) )
     return result
 
@@ -68,7 +70,7 @@ def MDTSensitiveDetectorCfg(ConfigFlags, name="MDTSensitiveDetector", **kwargs):
 def MicromegasSensitiveDetectorCfg(ConfigFlags, name="MicromegasSensitiveDetector", **kwargs):
     kwargs.setdefault("LogicalVolumeNames", ["Muon::MM_Sensitive"])
     kwargs.setdefault("OutputCollectionNames", ["MicromegasSensitiveDetector"]) # need ISF_Collection merger in acc?
-
+    result=ComponentAccumulator()
     result.setPrivateTools( MicromegasSensitiveDetectorTool(name, **kwargs) )
     return result
 
@@ -133,5 +135,6 @@ def sTGCSensitiveDetectorCfg(ConfigFlags, name="sTGCSensitiveDetector", **kwargs
     kwargs.setdefault("LogicalVolumeNames", ["Muon::sTGC_Sensitive"])
     kwargs.setdefault("OutputCollectionNames", ["sTGCSensitiveDetector"])
 
+    result=ComponentAccumulator()
     result.setPrivateTools( sTGCSensitiveDetectorTool(name, **kwargs) )
     return result
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgElectronIsEMSelectorsConfig.py b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgElectronIsEMSelectorsConfig.py
index b4745b90ae89..2e32e7371acb 100644
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgElectronIsEMSelectorsConfig.py
+++ b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgElectronIsEMSelectorsConfig.py
@@ -3,10 +3,11 @@
 __doc__ = "Configure the AsgElectronIsEMSelector with the quality cuts and allow for (re-)setting of all provided cuts."
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 # Import the needed stuff specific to the ElectronPhotonSelectorTools
-from ElectronPhotonSelectorTools.ElectronPhotonSelectorToolsConf import AsgElectronIsEMSelector
+AsgElectronIsEMSelector=CompFactory.AsgElectronIsEMSelector
 from ElectronPhotonSelectorTools.ElectronIsEMSelectorMapping import ElectronIsEMMap, electronPIDmenu
 
 
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgElectronLikelihoodToolsConfig.py b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgElectronLikelihoodToolsConfig.py
index 622d4001fb2f..fca0f5ac8edb 100755
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgElectronLikelihoodToolsConfig.py
+++ b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgElectronLikelihoodToolsConfig.py
@@ -3,10 +3,11 @@
 __doc__ = "    Configure the AsgElectronLikelihoodTool with the quality cuts and allow for (re-)setting of all provided cuts."
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 # Import the needed stuff specific to the ElectronPhotonSelectorTools
-from ElectronPhotonSelectorTools.ElectronPhotonSelectorToolsConf import AsgElectronLikelihoodTool
+AsgElectronLikelihoodTool=CompFactory.AsgElectronLikelihoodTool
 from ElectronPhotonSelectorTools.ElectronLikelihoodToolMapping import ElectronLikelihoodMap, electronLHmenu
 
 
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgForwardElectronIsEMSelectorsConfig.py b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgForwardElectronIsEMSelectorsConfig.py
index bb9bbe2aa6d7..fe5fdb4412dd 100644
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgForwardElectronIsEMSelectorsConfig.py
+++ b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgForwardElectronIsEMSelectorsConfig.py
@@ -3,10 +3,11 @@
 __doc__ = "Configure the AsgForwardElectronIsEMSelector with the quality cuts and allow for (re-)setting of all provided cuts."
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 # Import the needed stuff specific to the ElectronPhotonSelectorTools
-from ElectronPhotonSelectorTools.ElectronPhotonSelectorToolsConf import AsgForwardElectronIsEMSelector
+AsgForwardElectronIsEMSelector=CompFactory.AsgForwardElectronIsEMSelector
 from ElectronPhotonSelectorTools.ForwardElectronIsEMSelectorMapping import ForwardElectronIsEMMap, forwardelectronPIDmenu
 
 
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgPhotonIsEMSelectorsConfig.py b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgPhotonIsEMSelectorsConfig.py
index dfcae357158b..f23aa8e4c8ea 100644
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgPhotonIsEMSelectorsConfig.py
+++ b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgPhotonIsEMSelectorsConfig.py
@@ -3,10 +3,11 @@
 __doc__ = "Configure the AsgPhotonIsEMSelector with the quality cuts and allow for (re-)setting of all provided cuts."
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 # Import the needed stuff specific to the PhotonPhotonSelectorTools
-from ElectronPhotonSelectorTools.ElectronPhotonSelectorToolsConf import AsgPhotonIsEMSelector
+AsgPhotonIsEMSelector=CompFactory.AsgPhotonIsEMSelector
 from ElectronPhotonSelectorTools.PhotonIsEMSelectorMapping import PhotonIsEMMap, photonPIDmenu
 
 
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagMuonToJetAssociatorConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagMuonToJetAssociatorConfig.py
index c5b1854f4a67..ee48d5289e3b 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagMuonToJetAssociatorConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagMuonToJetAssociatorConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from ParticleJetTools.ParticleJetToolsConf import Analysis__ParticleToJetAssociator
+Analysis__ParticleToJetAssociator=CompFactory.Analysis__ParticleToJetAssociator
 
 def BTagMuonToJetAssociatorCfg(flags, name, useBTagFlagsDefaults = True, **options):
     """Sets up a BTagMuonToJetAssociator tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py
index 787f92375818..ea8b44f1a53a 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py
@@ -1,5 +1,6 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 from BTagging.BTaggingFlags import BTaggingFlags
 from BTagging.JetBTaggerAlgConfig import JetBTaggerAlgCfg
@@ -22,7 +23,7 @@ def JetTagCalibCfg(ConfigFlags, scheme="", TaggerList = []):
       #IP3D
       #Same as IP2D. Revisit JetTagCalibCondAlg.cxx if not.
 
-      from JetTagCalibration.JetTagCalibrationConf import Analysis__JetTagCalibCondAlg as JetTagCalibCondAlg
+      JetTagCalibCondAlg,=CompFactory.getComps("Analysis__JetTagCalibCondAlg",)
       jettagcalibcondalg = "JetTagCalibCondAlg"
       readkeycalibpath = "/GLOBAL/BTagCalib/RUN12"
       connSchema = "GLOBAL_OFL"
@@ -86,7 +87,7 @@ def BTagRedoESDCfg(flags, jet, extraContainers=[]):
     acc=ComponentAccumulator()
 
     #Delete BTagging container read from input ESD
-    from SGComps.SGCompsConf import AddressRemappingSvc, ProxyProviderSvc
+    AddressRemappingSvc, ProxyProviderSvc=CompFactory.getComps("AddressRemappingSvc","ProxyProviderSvc",)
     AddressRemappingSvc = AddressRemappingSvc("AddressRemappingSvc")
     AddressRemappingSvc.TypeKeyRenameMaps += ['xAOD::JetAuxContainer#AntiKt4EMTopoJets.btaggingLink->AntiKt4EMTopoJets.btaggingLink_old']
     AddressRemappingSvc.TypeKeyRenameMaps += ['xAOD::BTaggingContainer#BTagging_AntiKt4EMTopo->BTagging_AntiKt4EMTopo_old']
@@ -134,7 +135,7 @@ def BTagCfg(inputFlags,**kwargs):
     from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
     result.merge(MuonGeoModelCfg(inputFlags))    
 
-    from GeometryDBSvc.GeometryDBSvcConf import GeometryDBSvc
+    GeometryDBSvc=CompFactory.GeometryDBSvc
     result.addService(GeometryDBSvc("InDetGeometryDBSvc"))
     
     from AthenaCommon import CfgGetter
@@ -146,7 +147,7 @@ def BTagCfg(inputFlags,**kwargs):
     #result.merge(addFolders(inputFlags,['/GLOBAL/TrackingGeo/LayerMaterialV2'],'GLOBAL_ONL'))
     result.merge(addFolders(inputFlags,['/EXT/DCS/MAGNETS/SENSORDATA'],'DCS_OFL'))
     
-    from MagFieldServices.MagFieldServicesConf import MagField__AtlasFieldSvc
+    MagField__AtlasFieldSvc=CompFactory.MagField__AtlasFieldSvc
     kwargs.setdefault( "UseDCS", True )
     result.addService(MagField__AtlasFieldSvc("AtlasFieldSvc",**kwargs))
     del kwargs['UseDCS']
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagSecVertexingConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagSecVertexingConfig.py
index f17e5785c451..cbe475bb2fd6 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagSecVertexingConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagSecVertexingConfig.py
@@ -1,13 +1,14 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from BTagging.NewJetFitterVxFinderConfig import NewJetFitterVxFinderCfg
 from BTagging.InDetVKalVxInJetToolConfig import InDetVKalVxInJetToolCfg
 from JetTagTools.JetFitterVariablesFactoryConfig import JetFitterVariablesFactoryCfg
 from BTagging.MSVVariablesFactoryConfig import MSVVariablesFactoryCfg
 
-from BTagging.BTaggingConf import Analysis__BTagSecVertexing
+Analysis__BTagSecVertexing=CompFactory.Analysis__BTagSecVertexing
 
 def BTagSecVtxToolCfg(flags, Name, JetCollection, TimeStamp = "", **options):
     """Adds a SecVtxTool instance and registers it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagToolConfig.py
index 821cc727216e..714e97a70eef 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagToolConfig.py
@@ -1,7 +1,8 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from BTagging.BTaggingConf import Analysis__BTagTool
+from AthenaConfiguration.ComponentFactory import CompFactory
+Analysis__BTagTool=CompFactory.Analysis__BTagTool
 from BTagging.BTaggingFlags import BTaggingFlags
 
 def BTagToolCfg(ConfigFlags, jetcol, TaggerList, useBTagFlagsDefaults = True):
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagTrackAssociationConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagTrackAssociationConfig.py
index 4af0017732e7..2fd55724df55 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagTrackAssociationConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagTrackAssociationConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTagTrackToJetAssociatorConfig import BTagTrackToJetAssociatorCfg
 from BTagging.BTagMuonToJetAssociatorConfig import BTagMuonToJetAssociatorCfg
 from BTagging.BTaggingFlags import BTaggingFlags
 
-from BTagging.BTaggingConf import Analysis__BTagTrackAssociation
+Analysis__BTagTrackAssociation=CompFactory.Analysis__BTagTrackAssociation
 
 def BTagTrackAssociationCfg(flags, name, JetCollection, TaggerList, options={}):
 
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagTrackToJetAssociatorConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagTrackToJetAssociatorConfig.py
index 325565ebeaca..3dd76f21251a 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagTrackToJetAssociatorConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagTrackToJetAssociatorConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from ParticleJetTools.ParticleJetToolsConf import Analysis__ParticleToJetAssociator
+Analysis__ParticleToJetAssociator=CompFactory.Analysis__ParticleToJetAssociator
 
 def BTagTrackToJetAssociatorCfg(flags, name, options = {}):
 
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/ImprovedJetFitterInitializationHelperConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/ImprovedJetFitterInitializationHelperConfig.py
index ddb3fafcc815..39fba4c1bc9d 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/ImprovedJetFitterInitializationHelperConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/ImprovedJetFitterInitializationHelperConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from BTagging.JetFitterFullLinearizedTrackFactoryConfig import JetFitterFullLinearizedTrackFactoryCfg
-from TrkJetVxFitter.TrkJetVxFitterConf import Trk__JetFitterInitializationHelper
+Trk__JetFitterInitializationHelper=CompFactory.Trk__JetFitterInitializationHelper
 
 def ImprovedJetFitterInitializationHelperCfg(name, useBTagFlagsDefaults = True, **options):
     """Sets up a ImprovedJetFitterInitializationHelper tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/ImprovedJetFitterRoutinesConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/ImprovedJetFitterRoutinesConfig.py
index 470d9b4ac1e1..972562cb03ae 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/ImprovedJetFitterRoutinesConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/ImprovedJetFitterRoutinesConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.ImprovedJetFitterInitializationHelperConfig import ImprovedJetFitterInitializationHelperCfg
 from BTagging.TrkDistanceFinderNeutralNeutralConfig import TrkDistanceFinderNeutralNeutralCfg
 from BTagging.TrkDistanceFinderNeutralChargedConfig import TrkDistanceFinderNeutralChargedCfg
 
-from TrkJetVxFitter.TrkJetVxFitterConf import Trk__JetFitterRoutines
+Trk__JetFitterRoutines=CompFactory.Trk__JetFitterRoutines
 
 def ImprovedJetFitterRoutinesCfg(name, useBTagFlagsDefaults = True, **options):
     """Sets up a ImprovedJetFitterRoutines tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetImprovedJetFitterTrackSelectorToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetImprovedJetFitterTrackSelectorToolConfig.py
index fd447ed1ca91..91d205c08537 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetImprovedJetFitterTrackSelectorToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetImprovedJetFitterTrackSelectorToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the InDetDetailedTrackSelectorTool configurable
-from InDetTrackSelectorTool.InDetTrackSelectorToolConf import InDet__InDetDetailedTrackSelectorTool
+InDet__InDetDetailedTrackSelectorTool=CompFactory.InDet__InDetDetailedTrackSelectorTool
 
 
 def InDetImprovedJetFitterTrackSelectorToolCfg(name, useBTagFlagsDefaults = True, **options):
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetJetFitterUtilsConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetJetFitterUtilsConfig.py
index 95da47ff20fd..0eb8730a127e 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetJetFitterUtilsConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetJetFitterUtilsConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from JetTagTools.BTagFullLinearizedTrackFactoryConfig import BTagFullLinearizedTrackFactoryCfg
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from TrkExTools.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
 
 # importi the FullLinearizedTrackFactory configurable
-from InDetSecVxFinderTool.InDetSecVxFinderToolConf import InDet__InDetJetFitterUtils
+InDet__InDetJetFitterUtils=CompFactory.InDet__InDetJetFitterUtils
 
 
 def InDetJetFitterUtilsCfg(flags, name = 'InDetJFUtils', useBTagFlagsDefaults = True, options = {}):
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetVKalVxInJetToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetVKalVxInJetToolConfig.py
index 286029b32583..ef641cdbef5c 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetVKalVxInJetToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetVKalVxInJetToolConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AtlasGeoModel.InDetGMJobProperties import InDetGeometryFlags as geoFlags
 
 # import the InDetVKalVxInJetTool configurable
-from InDetVKalVxInJetTool.InDetVKalVxInJetToolConf import InDet__InDetVKalVxInJetTool
+InDet__InDetVKalVxInJetTool=CompFactory.InDet__InDetVKalVxInJetTool
 
 def InDetVKalVxInJetToolCfg(name, MSV = False, useBTagFlagsDefaults = True, **options):
     """Sets up a InDetVKalVxInJetTool tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetBTaggerAlgConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetBTaggerAlgConfig.py
index 2426a380288c..495d49a0f812 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetBTaggerAlgConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetBTaggerAlgConfig.py
@@ -1,12 +1,13 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTagSecVertexingConfig import BTagSecVtxToolCfg
 from BTagging.BTagTrackAssociationConfig import BTagTrackAssociationCfg
 from BTagging.BTagToolConfig import BTagToolCfg
 
-# import the JetBTaggerAlg configurable
-from BTagging.BTaggingConf import Analysis__JetBTaggerAlg as JetBTaggerAlg
+
+JetBTaggerAlg=CompFactory.Analysis__JetBTaggerAlg
 
 def JetBTaggerAlgCfg(ConfigFlags, JetCollection="", TaggerList=[], SetupScheme="", **options):
 
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterFullLinearizedTrackFactoryConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterFullLinearizedTrackFactoryConfig.py
index 7b21c7f0c2ef..9a683873e3cc 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterFullLinearizedTrackFactoryConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterFullLinearizedTrackFactoryConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from TrkVertexFitterUtils.TrkVertexFitterUtilsConf import Trk__FullLinearizedTrackFactory
+Trk__FullLinearizedTrackFactory=CompFactory.Trk__FullLinearizedTrackFactory
 
 def JetFitterFullLinearizedTrackFactoryCfg(name, useBTagFlagsDefaults = True, **options):
     """Sets up a JetFitterFullLinearizedTrackFactory tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterMode3dTo1dFinderConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterMode3dTo1dFinderConfig.py
index da092ff961e3..f7f7b5607ad2 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterMode3dTo1dFinderConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterMode3dTo1dFinderConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the Mode3dTo1dFinder configurable
-from TrkVertexSeedFinderUtils.TrkVertexSeedFinderUtilsConf import Trk__Mode3dTo1dFinder
+Trk__Mode3dTo1dFinder=CompFactory.Trk__Mode3dTo1dFinder
 
 def JetFitterMode3dTo1dFinderCfg(name, useBTagFlagsDefaults = True, **options):
     """Sets up a JetFitterMode3dTo1dFinder tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterSequentialVertexFitterConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterSequentialVertexFitterConfig.py
index 7b301fb1d740..4a9e71a0e9c7 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterSequentialVertexFitterConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterSequentialVertexFitterConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.JetFitterFullLinearizedTrackFactoryConfig import JetFitterFullLinearizedTrackFactoryCfg
 from BTagging.JetFitterSequentialVertexSmootherConfig import JetFitterSequentialVertexSmootherCfg
 
 # import the SequentialVertexFitter configurable
-from TrkVertexFitters.TrkVertexFittersConf import Trk__SequentialVertexFitter
+Trk__SequentialVertexFitter=CompFactory.Trk__SequentialVertexFitter
 
 def JetFitterSequentialVertexFitterCfg(name, useBTagFlagsDefaults = True, **options):
     """Sets up a JetFitterSequentialVertexFitter tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterSequentialVertexSmootherConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterSequentialVertexSmootherConfig.py
index 343695bdc571..5313641346f7 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterSequentialVertexSmootherConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterSequentialVertexSmootherConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the JetFitterSequentialVertexSmoother configurable
-from TrkVertexFitters.TrkVertexFittersConf import Trk__SequentialVertexSmoother
+Trk__SequentialVertexSmoother=CompFactory.Trk__SequentialVertexSmoother
 
 def JetFitterSequentialVertexSmootherCfg(name, useBTagFlagsDefaults = True, **options):
     """Sets up a JetFitterSequentialVertexSmoother tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetParticleAssociationAlgConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetParticleAssociationAlgConfig.py
index 1a3011cce8f8..9d49e1f1bf5e 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetParticleAssociationAlgConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetParticleAssociationAlgConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.JetParticleAssociationConfig import JetParticleAssociationCfg
 from BTagging.BTagTrackToJetAssociatorConfig import BTagTrackToJetAssociatorCfg
 
 # import the JetBTaggerAlg configurable
-from BTagging.BTaggingConf import Analysis__JetParticleAssociationAlg
+Analysis__JetParticleAssociationAlg=CompFactory.Analysis__JetParticleAssociationAlg
 
 def JetParticleAssociationAlgCfg(ConfigFlags, JetCollection="", ParticleCollection="", AssociationName="", **options):
 
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetParticleAssociationConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetParticleAssociationConfig.py
index af22805a18f4..11e824251523 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetParticleAssociationConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetParticleAssociationConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the JetParticleAssociation configurable (first try - only
-from ParticleJetTools.ParticleJetToolsConf import JetParticleShrinkingConeAssociation
+JetParticleShrinkingConeAssociation=CompFactory.JetParticleShrinkingConeAssociation
 
 def JetParticleAssociationCfg(ConfigFlags, **options):
 
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetSecVertexingAlgConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetSecVertexingAlgConfig.py
index fec389809315..2a82de38dd11 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetSecVertexingAlgConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetSecVertexingAlgConfig.py
@@ -1,13 +1,14 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from BTagging.NewJetFitterVxFinderConfig import NewJetFitterVxFinderCfg
 from BTagging.InDetVKalVxInJetToolConfig import InDetVKalVxInJetToolCfg
 from JetTagTools.JetFitterVariablesFactoryConfig import JetFitterVariablesFactoryCfg
 from BTagging.MSVVariablesFactoryConfig import MSVVariablesFactoryCfg
 
-from BTagging.BTaggingConf import Analysis__JetSecVertexingAlg
+Analysis__JetSecVertexingAlg=CompFactory.Analysis__JetSecVertexingAlg
 
 def JetSecVertexingAlgCfg(ConfigFlags, JetCollection, ParticleCollection="", SVFinder="", Associator="", **options):
     """Adds a SecVtxTool instance and registers it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/KalmanVertexOnJetAxisSmootherConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/KalmanVertexOnJetAxisSmootherConfig.py
index 7a4f3d3c9a71..e694d1f25481 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/KalmanVertexOnJetAxisSmootherConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/KalmanVertexOnJetAxisSmootherConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the KalmanVertexOnJetAxisSmoother configurable
-from TrkJetVxFitter.TrkJetVxFitterConf import Trk__KalmanVertexOnJetAxisSmoother
+Trk__KalmanVertexOnJetAxisSmoother=CompFactory.Trk__KalmanVertexOnJetAxisSmoother
 
 def KalmanVertexOnJetAxisSmootherCfg(name, **options):
     acc = ComponentAccumulator()
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/MSVVariablesFactoryConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/MSVVariablesFactoryConfig.py
index 8529f5e7c389..56610e92bc55 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/MSVVariablesFactoryConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/MSVVariablesFactoryConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the MSVVariablesFactory configurable
-from JetTagTools.JetTagToolsConf import Analysis__MSVVariablesFactory
+Analysis__MSVVariablesFactory=CompFactory.Analysis__MSVVariablesFactory
 
 def MSVVariablesFactoryCfg(name, **options):
     """Sets up a MSVVariablesFactory tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/NewJetFitterVxFinderConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/NewJetFitterVxFinderConfig.py
index 35f1539f1004..e6fe80e0a875 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/NewJetFitterVxFinderConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/NewJetFitterVxFinderConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from BTagging.InDetJetFitterUtilsConfig import InDetJetFitterUtilsCfg
 from BTagging.JetFitterSequentialVertexFitterConfig import JetFitterSequentialVertexFitterCfg
@@ -12,7 +13,7 @@ from BTagging.InDetImprovedJetFitterTrackSelectorToolConfig import InDetImproved
 from BTagging.ImprovedJetFitterInitializationHelperConfig import ImprovedJetFitterInitializationHelperCfg
 
 # import the InDetImprovedJetFitterVxFinder configurable
-from InDetSecVxFinderTool.InDetSecVxFinderToolConf import InDet__InDetImprovedJetFitterVxFinder
+InDet__InDetImprovedJetFitterVxFinder=CompFactory.InDet__InDetImprovedJetFitterVxFinder
 
 # define the class
 def NewJetFitterVxFinderCfg(flags, name = 'JFVxFinder', suffix = "", useBTagFlagsDefaults = True, options = {}):
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/TrkDistanceFinderNeutralChargedConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/TrkDistanceFinderNeutralChargedConfig.py
index 9c2b47321fd6..38e9fea5acf6 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/TrkDistanceFinderNeutralChargedConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/TrkDistanceFinderNeutralChargedConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from TrkJetVxFitter.TrkJetVxFitterConf import Trk__TrkDistanceFinderNeutralCharged
+Trk__TrkDistanceFinderNeutralCharged=CompFactory.Trk__TrkDistanceFinderNeutralCharged
 
 def TrkDistanceFinderNeutralChargedCfg(name, **options):
     """Sets up a TrkDistanceFinderNeutralCharged tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/TrkDistanceFinderNeutralNeutralConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/TrkDistanceFinderNeutralNeutralConfig.py
index 3c38857114c7..d7d683d92697 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/TrkDistanceFinderNeutralNeutralConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/TrkDistanceFinderNeutralNeutralConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from TrkJetVxFitter.TrkJetVxFitterConf import Trk__TrkDistanceFinderNeutralNeutral
+Trk__TrkDistanceFinderNeutralNeutral=CompFactory.Trk__TrkDistanceFinderNeutralNeutral
 
 def TrkDistanceFinderNeutralNeutralCfg(name, **options):
     """Sets up a TrkDistanceFinderNeutralNeutral tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/VxInternalEdmFactoryConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/VxInternalEdmFactoryConfig.py
index 47dc396570bd..31fd2853698a 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/VxInternalEdmFactoryConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/VxInternalEdmFactoryConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.JetFitterFullLinearizedTrackFactoryConfig import JetFitterFullLinearizedTrackFactoryCfg
 
 # import the SequentialVertexFitter configurable
-from TrkVxEdmCnv.TrkVxEdmCnvConf import Trk__VxCandidateXAODVertex
+Trk__VxCandidateXAODVertex=CompFactory.Trk__VxCandidateXAODVertex
 
 
 def VxInternalEdmFactoryCfg(name, useBTagFlagsDefaults = True, **options):
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagFullLinearizedTrackFactoryConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagFullLinearizedTrackFactoryConfig.py
index bd6cdcb57515..eb3466d57015 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagFullLinearizedTrackFactoryConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagFullLinearizedTrackFactoryConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from TrkExTools.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
 
 # import the FullLinearizedTrackFactory configurable
-from TrkVertexFitterUtils.TrkVertexFitterUtilsConf import Trk__FullLinearizedTrackFactory
+Trk__FullLinearizedTrackFactory=CompFactory.Trk__FullLinearizedTrackFactory
 
 def BTagFullLinearizedTrackFactoryCfg(flags, name = 'FullLinearizedTrackFactory', useBTagFlagsDefaults = True, **options ):
     """Sets up a BTagFullLinearizedTrackFactory tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagTrackToVertexIPEstimatorConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagTrackToVertexIPEstimatorConfig.py
index 65d4a618e325..c4c92a291633 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagTrackToVertexIPEstimatorConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagTrackToVertexIPEstimatorConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from JetTagTools.BTagFullLinearizedTrackFactoryConfig import BTagFullLinearizedTrackFactoryCfg
 from TrkExTools.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
 
 # import the TrackToVertexIPEstimator configurable
-from TrkVertexFitterUtils.TrkVertexFitterUtilsConf import Trk__TrackToVertexIPEstimator
+Trk__TrackToVertexIPEstimator=CompFactory.Trk__TrackToVertexIPEstimator
 
 def BTagTrackToVertexIPEstimatorCfg( flags, name = 'TrkToVxIPEstimator', useBTagFlagsDefaults = True, **options ):
     """Sets up a TrackToVertexIPEstimator tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagTrackToVertexToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagTrackToVertexToolConfig.py
index 6504a2de4042..dfed4a562d34 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagTrackToVertexToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagTrackToVertexToolConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from TrkExTools.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
 
 # import the TrackToVertexIPEstimator configurable
-from TrackToVertex.TrackToVertexConf import Reco__TrackToVertex
+Reco__TrackToVertex=CompFactory.Reco__TrackToVertex
 
 def BTagTrackToVertexToolCfg(flags, name = 'BTagTrackToVertexTool', useBTagFlagsDefaults = True, **options ):
     """Sets up a BTagTrackToVertexTool tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/DL1TagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/DL1TagConfig.py
index 00a725fbd741..61e3e4917017 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/DL1TagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/DL1TagConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 
 # import the DL1Tag configurable
-from JetTagTools.JetTagToolsConf import Analysis__DL1Tag
+Analysis__DL1Tag=CompFactory.Analysis__DL1Tag
 
 # define the class
 def DL1TagCfg(flags, name = 'DL1', scheme = '', useBTagFlagsDefaults = True, **options):
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/IP2DTagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/IP2DTagConfig.py
index abeb967096db..3023534b7f0d 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/IP2DTagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/IP2DTagConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from JetTagTools.BTagTrackToVertexIPEstimatorConfig import BTagTrackToVertexIPEstimatorCfg
 from JetTagTools.SVForIPToolConfig import SVForIPToolCfg
@@ -9,7 +10,7 @@ from JetTagTools.IPTrackSelectorConfig import IPTrackSelectorCfg
 from JetTagTools.NewLikelihoodToolConfig import NewLikelihoodToolCfg
 
 # import the IPTag configurable
-from JetTagTools.JetTagToolsConf import Analysis__IPTag
+Analysis__IPTag=CompFactory.Analysis__IPTag
 
 def IP2DTagCfg( flags, name = 'IP2DTag', scheme = '', useBTagFlagsDefaults = True, **options ):
     """Sets up a IP2DTag tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/IP3DTagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/IP3DTagConfig.py
index 9bc61f394e02..7adc949a3559 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/IP3DTagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/IP3DTagConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from JetTagTools.BTagTrackToVertexIPEstimatorConfig import BTagTrackToVertexIPEstimatorCfg
 from JetTagTools.SVForIPToolConfig import SVForIPToolCfg
@@ -11,7 +12,7 @@ from JetTagTools.InDetTrackSelectorConfig import InDetTrackSelectorCfg
 from JetTagTools.SpecialTrackAssociatorConfig import SpecialTrackAssociatorCfg
 
 # import the IPTag configurable
-from JetTagTools.JetTagToolsConf import Analysis__IPTag
+Analysis__IPTag=CompFactory.Analysis__IPTag
 
 def IP3DTagCfg( flags, name = 'IP3DTag', scheme = '', useBTagFlagsDefaults = True, **options ):
     """Sets up a IP3DTag tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/IPDetailedTrackGradeFactoryConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/IPDetailedTrackGradeFactoryConfig.py
index a26c1b1e732b..283fdb7bd08c 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/IPDetailedTrackGradeFactoryConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/IPDetailedTrackGradeFactoryConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the DetailedTrackGradeFactory configurable
-from JetTagTools.JetTagToolsConf import Analysis__DetailedTrackGradeFactory
+Analysis__DetailedTrackGradeFactory=CompFactory.Analysis__DetailedTrackGradeFactory
 
 def IPDetailedTrackGradeFactoryCfg( name = 'IPDetailedTrackGradeFactory', useBTagFlagsDefaults = True, **options ):
     """Sets up a IPDetailedTrackGradeFactory tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/IPTrackSelectorConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/IPTrackSelectorConfig.py
index c8b2d691e91f..e251700362f6 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/IPTrackSelectorConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/IPTrackSelectorConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from JetTagTools.BTagTrackToVertexToolConfig import BTagTrackToVertexToolCfg
 
 # import the TrackSelector configurable
-from JetTagTools.JetTagToolsConf import Analysis__TrackSelector
+Analysis__TrackSelector=CompFactory.Analysis__TrackSelector
 
 def IPTrackSelectorCfg(flags, name = 'IPTrackSelector', useBTagFlagsDefaults = True, **options ):
     """Sets up a IPTrackSelector tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/InDetTrackSelectorConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/InDetTrackSelectorConfig.py
index 4fa9a39bce17..169ce618bca4 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/InDetTrackSelectorConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/InDetTrackSelectorConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the TrackToVertexIPEstimator configurable
-from InDetTrackSelectionTool.InDetTrackSelectionToolConf import InDet__InDetTrackSelectionTool
+InDet__InDetTrackSelectionTool=CompFactory.InDet__InDetTrackSelectionTool
 
 def InDetTrackSelectorCfg( name = 'InDetTrackSelector', useBTagFlagsDefaults = True, **options ):
     """Sets up a InDetTrackSelector tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterNNToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterNNToolConfig.py
index c6238291e2f9..b54459d5b7d9 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterNNToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterNNToolConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from JetTagTools.NeuralNetworkToHistoToolConfig import NeuralNetworkToHistoToolCfg
 
 # import the JetFitterNNTool configurable
-from JetTagTools.JetTagToolsConf import Analysis__JetFitterNNTool
+Analysis__JetFitterNNTool=CompFactory.Analysis__JetFitterNNTool
 
 def JetFitterNNToolCfg( name = 'JetFitterNNTool', CombinedIPNN = False, useBTagFlagsDefaults = True, **options ):
     """Sets up a JetFitterNNTool tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterNtupleWriterNNConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterNtupleWriterNNConfig.py
index ad61aa12cb68..fc93c0e0a4e8 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterNtupleWriterNNConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterNtupleWriterNNConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the JetFitterNtupleWriter configurable
-from JetTagTools.JetTagToolsConf import Analysis__JetFitterNtupleWriter
+Analysis__JetFitterNtupleWriter=CompFactory.Analysis__JetFitterNtupleWriter
 
 def JetFitterNtupleWriterNNCfg( name = 'JetFitterNtupleWriterNN', useBTagFlagsDefaults = True, **options ):
     """Sets up a JetFitterTagNN tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterTagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterTagConfig.py
index ebc81a685133..e4329e95fd83 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterTagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterTagConfig.py
@@ -1,12 +1,13 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from JetTagTools.JetFitterNtupleWriterNNConfig import JetFitterNtupleWriterNNCfg
 from JetTagTools.JetFitterNNToolConfig import JetFitterNNToolCfg
 
 # import the JetFitterTag configurable
-from JetTagTools.JetTagToolsConf import Analysis__JetFitterTag
+Analysis__JetFitterTag=CompFactory.Analysis__JetFitterTag
 
 def JetFitterTagCfg(flags, name = 'JetFitterTagNN', scheme = '', CombinedIPNN = False, useBTagFlagsDefaults = True, **options):
     """Sets up a JetFitterTagNN tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterVariablesFactoryConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterVariablesFactoryConfig.py
index 957e6f4bbfae..4b55bcbcb97b 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterVariablesFactoryConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterVariablesFactoryConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from JetTagTools.JetTagToolsConf import Analysis__JetFitterVariablesFactory
+Analysis__JetFitterVariablesFactory=CompFactory.Analysis__JetFitterVariablesFactory
 
 def JetFitterVariablesFactoryCfg(name, useBTagFlagsDefaults = True, **options):
     """Sets up a NewJetFitterVariablesFactory tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/MV2TagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/MV2TagConfig.py
index 141608854107..b407a1e78a2f 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/MV2TagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/MV2TagConfig.py
@@ -1,12 +1,13 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from BTagging.MV2defaultValues import default_values
 from BTagging.MV2defaultValues import MVTM_varNames
 
 # import the MV2Tag configurable
-from JetTagTools.JetTagToolsConf import Analysis__MV2Tag
+Analysis__MV2Tag=CompFactory.Analysis__MV2Tag
 
 def MV2TagCfg( flags, name = 'MV2c10', scheme = '', useBTagFlagsDefaults = True, **options ):
     """Sets up a MV2c10Tag tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/MultiSVTagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/MultiSVTagConfig.py
index 4729dea7afa3..d3f2fffa06d5 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/MultiSVTagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/MultiSVTagConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the MultiSVTag configurable
 
-from JetTagTools.JetTagToolsConf import Analysis__MultiSVTag
+Analysis__MultiSVTag=CompFactory.Analysis__MultiSVTag
 
 def MultiSVTagCfg(flags, name = 'MultiSVbb1Tag', taggerNameBase = 'MultiSVbb1', useBTagFlagsDefaults = True, **options):
     """Sets up a MultiSVTag tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/MultivariateTagManagerConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/MultivariateTagManagerConfig.py
index 222c135c7a28..0d5807d2e471 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/MultivariateTagManagerConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/MultivariateTagManagerConfig.py
@@ -1,12 +1,13 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from JetTagTools.DL1TagConfig import DL1TagCfg
 from JetTagTools.MV2TagConfig import MV2TagCfg
 
 # import the MultivariateTagManager configurable
-from JetTagTools.JetTagToolsConf import Analysis__MultivariateTagManager
+Analysis__MultivariateTagManager=CompFactory.Analysis__MultivariateTagManager
 
 def MultivariateTagManagerCfg(flags, name = 'MultivariateTagManager', TaggerList = ['DL1', 'DL1rnn', 'DL1mu', 'MV2c10'], scheme = '', useBTagFlagsDefaults = True, **options):
     """Sets up a MultivariateTagManager tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/MuonCorrectionsToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/MuonCorrectionsToolConfig.py
index 7870df4a94e8..8bf43f0567ad 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/MuonCorrectionsToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/MuonCorrectionsToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the MuonCalibrationAndSmearingTool configurable
-from MuonMomentumCorrections.MuonMomentumCorrectionsConf import CP__MuonCalibrationAndSmearingTool
+CP__MuonCalibrationAndSmearingTool=CompFactory.CP__MuonCalibrationAndSmearingTool
 
 def MuonCorrectionsToolCfg( name = 'MuonCorrectionsTool', **options):
     """Sets up the CP MuonCorrection tool and returns it."""
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/MuonSelectorToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/MuonSelectorToolConfig.py
index 4927bda69728..5553852073c6 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/MuonSelectorToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/MuonSelectorToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the MuonSelectionTool configurable
-from MuonSelectorTools.MuonSelectorToolsConf import CP__MuonSelectionTool
+CP__MuonSelectionTool=CompFactory.CP__MuonSelectionTool
 
 def MuonSelectorToolCfg( name = 'MuonSelectorTool', useBTagFlagsDefaults = True, **options ):
     """Sets up a MuonSelectorTool tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/NeuralNetworkToHistoToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/NeuralNetworkToHistoToolConfig.py
index 5f1b23e2dc47..8d10d1974a20 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/NeuralNetworkToHistoToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/NeuralNetworkToHistoToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the NeuralNetworkToHistoTool configurable
-from TrkNeuralNetworkUtils.TrkNeuralNetworkUtilsConf import Trk__NeuralNetworkToHistoTool
+Trk__NeuralNetworkToHistoTool=CompFactory.Trk__NeuralNetworkToHistoTool
 
 def NeuralNetworkToHistoToolCfg( name = 'NeuralNetworkToHistoToolNN', useBTagFlagsDefaults = True, **options ):
     """Sets up a NeuralNetworkToHistoTool tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/NewLikelihoodToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/NewLikelihoodToolConfig.py
index 6b1b6d7bf600..b65d82620175 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/NewLikelihoodToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/NewLikelihoodToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the NewLikelihoodTool configurable
-from JetTagTools.JetTagToolsConf import Analysis__NewLikelihoodTool
+Analysis__NewLikelihoodTool=CompFactory.Analysis__NewLikelihoodTool
 
 def NewLikelihoodToolCfg( flags, name = 'NewLikelihoodTool', taggername = 'IP2D', useBTagFlagsDefaults = True, **options):
     """Sets up a NewLikelihoodTool tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/RNNIPTagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/RNNIPTagConfig.py
index 800906a960fc..b81b22b344a0 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/RNNIPTagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/RNNIPTagConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from JetTagTools.BTagTrackToVertexIPEstimatorConfig import BTagTrackToVertexIPEstimatorCfg
 from JetTagTools.SVForIPToolConfig import SVForIPToolCfg
@@ -8,7 +9,7 @@ from JetTagTools.IPDetailedTrackGradeFactoryConfig import IPDetailedTrackGradeFa
 from JetTagTools.IPTrackSelectorConfig import IPTrackSelectorCfg
 
 # import the IPTag configurable
-from JetTagTools.JetTagToolsConf import Analysis__RNNIPTag
+Analysis__RNNIPTag=CompFactory.Analysis__RNNIPTag
 
 def RNNIPTagCfg( flags, name = 'RNNIP', scheme = '', calibration=None, useBTagFlagsDefaults = True, **options ):
     """Sets up a RNNIPTag tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/SV1TagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/SV1TagConfig.py
index 52f5003498d8..940d9a91e216 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/SV1TagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/SV1TagConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from JetTagTools.NewLikelihoodToolConfig import NewLikelihoodToolCfg
 
 # import the SVTag configurable
-from JetTagTools.JetTagToolsConf import Analysis__SVTag
+Analysis__SVTag=CompFactory.Analysis__SVTag
 
 def SV1TagCfg( flags, name = 'SV1Tag', scheme = '', useBTagFlagsDefaults = True, **options ):
     """Sets up a SV1Tag tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/SVForIPToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/SVForIPToolConfig.py
index b1191eb8b2f8..00d6c3874015 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/SVForIPToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/SVForIPToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the SVForIPTool configurable
-from JetTagTools.JetTagToolsConf import Analysis__SVForIPTool
+Analysis__SVForIPTool=CompFactory.Analysis__SVForIPTool
 
 def SVForIPToolCfg( name = 'SVForIPTool', **options ):
     """Sets up a SVForIPTool tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/SoftMuonTagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/SoftMuonTagConfig.py
index 0ec0c4cd6f5c..6051780bc599 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/SoftMuonTagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/SoftMuonTagConfig.py
@@ -1,13 +1,14 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from JetTagTools.BTagTrackToVertexIPEstimatorConfig import BTagTrackToVertexIPEstimatorCfg
 from JetTagTools.NewLikelihoodToolConfig import NewLikelihoodToolCfg
 from JetTagTools.MuonSelectorToolConfig import MuonSelectorToolCfg
 
 # import the SoftMuonTag configurable
-from JetTagTools.JetTagToolsConf import Analysis__SoftMuonTag
+Analysis__SoftMuonTag=CompFactory.Analysis__SoftMuonTag
 
 def SoftMuonTagCfg( flags, name = 'SoftMu', useBTagFlagsDefaults = True, **options ):
     """Sets up a SoftMuonTag tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/SpecialTrackAssociatorConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/SpecialTrackAssociatorConfig.py
index c2f82895d37b..8bae9502fa8e 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/SpecialTrackAssociatorConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/SpecialTrackAssociatorConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the TrackToVertexIPEstimator configurable
-from TrackVertexAssociationTool.TrackVertexAssociationToolConf import CP__TrackVertexAssociationTool
+CP__TrackVertexAssociationTool=CompFactory.CP__TrackVertexAssociationTool
 
 def SpecialTrackAssociatorCfg( name = 'SpecialTrackAssociator', useBTagFlagsDefaults = True, **options ):
     """Sets up a SpecialTrackAssociator tool and returns it.
diff --git a/PhysicsAnalysis/MCTruthClassifier/python/MCTruthClassifierConfig.py b/PhysicsAnalysis/MCTruthClassifier/python/MCTruthClassifierConfig.py
index 0a7a1c8f7751..03e08f70bc40 100644
--- a/PhysicsAnalysis/MCTruthClassifier/python/MCTruthClassifierConfig.py
+++ b/PhysicsAnalysis/MCTruthClassifier/python/MCTruthClassifierConfig.py
@@ -4,7 +4,8 @@ __doc__ = "Tool configuration to instantiate MCTruthClassifier with default conf
 
 #---------------------------------------
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from MCTruthClassifier.MCTruthClassifierConf import MCTruthClassifier
+from AthenaConfiguration.ComponentFactory import CompFactory
+MCTruthClassifier=CompFactory.MCTruthClassifier
 from TrackToCalo.TrackToCaloConfig import ParticleCaloExtensionToolCfg
 
 def MCTruthClassifierCfg(flags, **kwargs):
diff --git a/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecUtils.py b/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecUtils.py
index 67d7bd6d629c..21fc03c15bba 100644
--- a/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecUtils.py
+++ b/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecUtils.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 
 from HIJetRec.HIJetRecFlags import HIJetFlags
+from AthenaConfiguration.ComponentFactory import CompFactory
 from HIJetRec.HIJetRecTools import jtm
 from JetRec.JetRecFlags import jetFlags
 
@@ -48,7 +49,7 @@ def HIClusterGetter(tower_key="CombinedTower", cell_key="AllCalo", cluster_key="
 
     if cluster_key == "" : cluster_key=HIJetFlags.HIClusterKey()
 
-    from HIJetRec.HIJetRecConf import HIClusterMaker
+    HIClusterMaker=CompFactory.HIClusterMaker
     theAlg=HIClusterMaker()
     theAlg.InputTowerKey=tower_key
     theAlg.CaloCellContainerKey=cell_key
@@ -81,15 +82,15 @@ def AddPtAssociationTools(R, doTracks=True) :
     if doTracks and jetFlags.useTracks(): 
         cname=HIJetFlags.TrackJetContainerName()
         tname='hitrackassoc_04'
-        if not tname in jtm.tools:
-            from JetMomentTools.JetMomentToolsConf import JetPtAssociationTool
+        if tname not in jtm.tools:
+            JetPtAssociationTool=CompFactory.JetPtAssociationTool
             jtm.add(JetPtAssociationTool(tname, InputContainer=cname, AssociationName="GhostTrack"))
         tlist += [ jtm.tools[tname] ]
     if jetFlags.useTruth(): 
         cname='AntiKt%dTruthJets' % int(10*R)
         tname='truthassoc_0%d' % int(10*R)
-        if not tname in jtm.tools:
-            from JetMomentTools.JetMomentToolsConf import JetPtAssociationTool
+        if tname not in jtm.tools:
+            JetPtAssociationTool=CompFactory.JetPtAssociationTool
             jtm.add(JetPtAssociationTool(tname, InputContainer=cname, AssociationName="GhostTruth"))
         tlist += [ jtm.tools[tname] ]
     return tlist
@@ -106,7 +107,7 @@ def MakeModulatorTool(mod_key, **kwargs) :
     if(len(harmonics)==0) : return GetNullModulator()
     if hasattr(jtm,tname) : return getattr(jtm,tname)
 
-    from HIJetRec.HIJetRecConf import HIUEModulatorTool
+    HIUEModulatorTool=CompFactory.HIUEModulatorTool
     mod=HIUEModulatorTool(tname)
     mod.EventShapeKey=mod_key
     for n in [2,3,4] :
@@ -118,9 +119,9 @@ def MakeModulatorTool(mod_key, **kwargs) :
     return mod
 
 def MakeSubtractionTool(shapeKey, moment_name='', momentOnly=False, **kwargs) : 
-    from HIJetRec.HIJetRecConf import HIJetConstituentSubtractionTool
+    HIJetConstituentSubtractionTool=CompFactory.HIJetConstituentSubtractionTool
     suffix=shapeKey
-    if momentOnly : suffix+='_'+moment_name;
+    if momentOnly : suffix+='_'+moment_name
 
     if 'modulator' in kwargs.keys() : mod_tool=kwargs['modulator']
     else : mod_tool=GetNullModulator()
@@ -147,7 +148,7 @@ def ApplySubtractionToClusters(**kwargs) :
     if 'modulator' in kwargs.keys() : mod_tool=kwargs['modulator']
     else : mod_tool=GetNullModulator()
 
-    from HIJetRec.HIJetRecConf import HIClusterSubtraction
+    HIClusterSubtraction=CompFactory.HIClusterSubtraction
     toolName='HIClusterSubtraction'
     if 'name' in kwargs.keys() : toolName = kwargs['name']
     theAlg=HIClusterSubtraction(toolName)
@@ -159,7 +160,7 @@ def ApplySubtractionToClusters(**kwargs) :
     do_cluster_moments=False
     if 'CalculateMoments' in kwargs.keys() : do_cluster_moments=kwargs['CalculateMoments']
     if do_cluster_moments :
-        from CaloRec.CaloRecConf import CaloClusterMomentsMaker
+        CaloClusterMomentsMaker=CompFactory.CaloClusterMomentsMaker
         from CaloTools.CaloNoiseToolDefault import CaloNoiseToolDefault
         theCaloNoiseTool = CaloNoiseToolDefault()
         from AthenaCommon.AppMgr import ToolSvc
@@ -215,12 +216,12 @@ def AddIteration(seed_container,shape_name, **kwargs) :
     if remodulate :
         if 'modulator' in kwargs.keys() : mod_tool=kwargs['modulator']
         else : 
-            mod_shape_name=BuildHarmonicName(out_shape_name,**kwargs)
+            mod_shape_key=BuildHarmonicName(out_shape_name,**kwargs)
             mod_tool=MakeModulatorTool(mod_shape_key,**kwargs)
 
  
     assoc_name=jtm.HIJetDRAssociation.AssociationName
-    from HIJetRec.HIJetRecConf import HIEventShapeJetIteration
+    HIEventShapeJetIteration=CompFactory.HIEventShapeJetIteration
     iter_tool=HIEventShapeJetIteration('HIJetIteration_%s' % out_shape_name )
     
     iter_tool.InputEventShapeKey=shape_name
@@ -247,11 +248,11 @@ def JetAlgFromTools(rtools, suffix="HI",persistify=True) :
     #if jetFlags.useCells():  HIJet_exe_tools += [jtm.missingcells]
     if HIJetFlags.UseHITracks() : HIJet_exe_tools += [jtm.tracksel_HI,jtm.gtracksel_HI,jtm.tvassoc_HI]
     rtools=HIJet_exe_tools+rtools
-    from JetRec.JetRecConf import JetToolRunner
+    JetToolRunner=CompFactory.JetToolRunner
     runner=JetToolRunner("jetrun"+suffix, Tools=rtools, Timer=jetFlags.timeJetToolRunner())
     jtm.add(runner)
     
-    from JetRec.JetRecConf import JetAlgorithm
+    JetAlgorithm=CompFactory.JetAlgorithm
     theAlg=JetAlgorithm("jetalg"+suffix)
     theAlg.Tools = [runner]
     from AthenaCommon.AlgSequence import AlgSequence
@@ -293,7 +294,7 @@ def BuildHarmonicName(shape_key, **kwargs) :
 def GetNullModulator() :
     tname='NullUEModulator'
     if hasattr(jtm,tname) : return getattr(jtm,tname)
-    from HIJetRec.HIJetRecConf import HIUEModulatorTool
+    HIUEModulatorTool=CompFactory.HIUEModulatorTool
     mod=HIUEModulatorTool(tname)
     mod.EventShapeKey='NULL'
     for n in [2,3,4] : setattr(mod,'DoV%d' % n,False)
@@ -335,12 +336,12 @@ def GetSubtractorTool(**kwargs) :
 
     if useClusters : 
         if not hasattr(jtm,"HIJetClusterSubtractor") : 
-            from HIJetRec.HIJetRecConf import HIJetClusterSubtractorTool
+            HIJetClusterSubtractorTool=CompFactory.HIJetClusterSubtractorTool
             jtm.add(HIJetClusterSubtractorTool("HIJetClusterSubtractor"))
         return jtm.HIJetClusterSubtractor
     else:
         if not hasattr(jtm,"HIJetCellSubtractor") : 
-            from HIJetRec.HIJetRecConf import HIJetCellSubtractorTool
+            HIJetCellSubtractorTool=CompFactory.HIJetCellSubtractorTool
             jtm.add(HIJetCellSubtractorTool("HIJetCellSubtractor"))
         return jtm.HIJetCellSubtractor
 
diff --git a/Reconstruction/RecoTools/TrackToCalo/python/TrackToCaloConfig.py b/Reconstruction/RecoTools/TrackToCalo/python/TrackToCaloConfig.py
index 7e2e18e4346f..dc5ad8479fd6 100644
--- a/Reconstruction/RecoTools/TrackToCalo/python/TrackToCaloConfig.py
+++ b/Reconstruction/RecoTools/TrackToCalo/python/TrackToCaloConfig.py
@@ -4,9 +4,10 @@ __doc__ = "Tool configuration for the track to calo tools."
 
 #---------------------------------------
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from TrkExTools.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
-from TrackToCalo.TrackToCaloConf import Trk__ParticleCaloExtensionTool, Rec__ParticleCaloCellAssociationTool
+Trk__ParticleCaloExtensionTool, Rec__ParticleCaloCellAssociationTool=CompFactory.getComps("Trk__ParticleCaloExtensionTool","Rec__ParticleCaloCellAssociationTool",)
 
 def ParticleCaloExtensionToolCfg(flags, **kwargs):
     acc=ComponentAccumulator()
diff --git a/Reconstruction/eflowRec/python/PFHLTConfig.py b/Reconstruction/eflowRec/python/PFHLTConfig.py
index 541da95a4dd9..b268c0eda645 100644
--- a/Reconstruction/eflowRec/python/PFHLTConfig.py
+++ b/Reconstruction/eflowRec/python/PFHLTConfig.py
@@ -1,5 +1,6 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 #---------------------------------------------------------------------------------#
@@ -47,13 +48,13 @@ def getPFTrackSelector(inputFlags,tracksin,verticesin):
     extrapcfg = AtlasExtrapolatorCfg(inputFlags)
     extrapolator = extrapcfg.popPrivateTools()
 
-    from TrackToCalo.TrackToCaloConf import Trk__ParticleCaloExtensionTool
+    Trk__ParticleCaloExtensionTool=CompFactory.Trk__ParticleCaloExtensionTool
     pcExtensionTool = Trk__ParticleCaloExtensionTool(Extrapolator=extrapolator)
 
-    from eflowRec.eflowRecConf import eflowTrackCaloExtensionTool
+    eflowTrackCaloExtensionTool=CompFactory.eflowTrackCaloExtensionTool
     TrackCaloExtensionTool=eflowTrackCaloExtensionTool(TrackCaloExtensionTool=pcExtensionTool)
 
-    from eflowRec.eflowRecConf import PFTrackSelector
+    PFTrackSelector=CompFactory.PFTrackSelector
     PFTrackSelector=PFTrackSelector("PFTrackSelector_HLT")
     PFTrackSelector.electronsName = ""
     PFTrackSelector.muonsName = ""
@@ -61,7 +62,7 @@ def getPFTrackSelector(inputFlags,tracksin,verticesin):
     PFTrackSelector.VertexContainer = verticesin
     PFTrackSelector.trackExtrapolatorTool = TrackCaloExtensionTool
 
-    from InDetTrackSelectionTool.InDetTrackSelectionToolConf import InDet__InDetTrackSelectionTool
+    InDet__InDetTrackSelectionTool=CompFactory.InDet__InDetTrackSelectionTool
     TrackSelectionTool = InDet__InDetTrackSelectionTool("PFTrackSelectionTool")
 
     TrackSelectionTool.CutLevel = "TightPrimary"
@@ -73,7 +74,7 @@ def getPFTrackSelector(inputFlags,tracksin,verticesin):
 
 def getPFClusterSelectorTool(clustersin,calclustersin):
 
-    from eflowRec.eflowRecConf import PFClusterSelectorTool
+    PFClusterSelectorTool=CompFactory.PFClusterSelectorTool
     PFClusterSelectorTool = PFClusterSelectorTool("PFClusterSelectorTool")
     PFClusterSelectorTool.clustersName = clustersin
     PFClusterSelectorTool.calClustersName = calclustersin
@@ -82,15 +83,15 @@ def getPFClusterSelectorTool(clustersin,calclustersin):
 
 def getPFCellLevelSelectionTool():
 
-    from eflowRec.eflowRecConf import PFCellLevelSubtractionTool
+    PFCellLevelSubtractionTool=CompFactory.PFCellLevelSubtractionTool
     PFCellLevelSubtractionTool = PFCellLevelSubtractionTool("PFCellLevelSubtractionTool")
 
-    from eflowRec.eflowRecConf import eflowCellEOverPTool_mc12_JetETMiss
+    eflowCellEOverPTool_mc12_JetETMiss=CompFactory.eflowCellEOverPTool_mc12_JetETMiss
 
     PFCellLevelSubtractionTool.eflowCellEOverPTool = eflowCellEOverPTool_mc12_JetETMiss()
     PFCellLevelSubtractionTool.nMatchesInCellLevelSubtraction = 1
 
-    from eflowRec.eflowRecConf import PFTrackClusterMatchingTool
+    PFTrackClusterMatchingTool=CompFactory.PFTrackClusterMatchingTool
     MatchingTool = PFTrackClusterMatchingTool("CalObjBldMatchingTool")
     MatchingTool_Pull_02 = PFTrackClusterMatchingTool("MatchingTool_Pull_02")
     MatchingTool_Pull_015 = PFTrackClusterMatchingTool("MatchingTool_Pull_015")
@@ -112,14 +113,14 @@ def getPFCellLevelSelectionTool():
     return PFCellLevelSubtractionTool
 
 def getPFRecoverSplitShowersTool():
-    from eflowRec.eflowRecConf import PFRecoverSplitShowersTool
+    PFRecoverSplitShowersTool=CompFactory.PFRecoverSplitShowersTool
     PFRecoverSplitShowersTool = PFRecoverSplitShowersTool("PFRecoverSplitShowersTool")
 
-    from eflowRec.eflowRecConf import eflowCellEOverPTool_mc12_JetETMiss
+    eflowCellEOverPTool_mc12_JetETMiss=CompFactory.eflowCellEOverPTool_mc12_JetETMiss
     PFRecoverSplitShowersTool.eflowCellEOverPTool = eflowCellEOverPTool_mc12_JetETMiss("eflowCellEOverPTool_mc12_JetETMiss_Recover")
     PFRecoverSplitShowersTool.useUpdated2015ChargedShowerSubtraction = False
 
-    from eflowRec.eflowRecConf import PFTrackClusterMatchingTool
+    PFTrackClusterMatchingTool=CompFactory.PFTrackClusterMatchingTool
     MatchingTool_Recover = PFTrackClusterMatchingTool()
     MatchingTool_Recover.TrackPositionType   = 'EM2EtaPhi' # str
     MatchingTool_Recover.ClusterPositionType = 'PlainEtaPhi' # str
@@ -131,10 +132,10 @@ def getPFRecoverSplitShowersTool():
 
 def getPFMomentCalculatorTool():
 
-    from eflowRec.eflowRecConf import PFMomentCalculatorTool
+    PFMomentCalculatorTool=CompFactory.PFMomentCalculatorTool
     PFMomentCalculatorTool = PFMomentCalculatorTool("PFMomentCalculatorTool")
 
-    from CaloRec.CaloRecConf import CaloClusterMomentsMaker
+    CaloClusterMomentsMaker=CompFactory.CaloClusterMomentsMaker
     PFClusterMomentsMaker = CaloClusterMomentsMaker("PFClusterMomentsMaker")
 
     from AthenaCommon.SystemOfUnits import deg
@@ -176,7 +177,7 @@ def getPFMomentCalculatorTool():
 
     PFMomentCalculatorTool.CaloClusterMomentsMaker = PFClusterMomentsMaker
 
-    from eflowRec.eflowRecConf import PFClusterCollectionTool
+    PFClusterCollectionTool=CompFactory.PFClusterCollectionTool
     PFClusterCollectionTool_default = PFClusterCollectionTool("PFClusterCollectionTool")
 
     PFMomentCalculatorTool.PFClusterCollectionTool = PFClusterCollectionTool_default
@@ -198,7 +199,7 @@ def PFCfg(inputFlags):
     #---------------------------------------------------------------------------------#
     # PFlowAlgorithm -- subtraction steps
 
-    from eflowRec.eflowRecConf import PFAlgorithm
+    PFAlgorithm=CompFactory.PFAlgorithm
     PFAlgorithm = PFAlgorithm("PFAlgorithm_HLT")
     PFAlgorithm.PFClusterSelectorTool = getPFClusterSelectorTool(inputFlags.eflowRec.RawClusterColl,
                                                                  inputFlags.eflowRec.CalClusterColl)
@@ -218,13 +219,13 @@ def PFCfg(inputFlags):
     #---------------------------------------------------------------------------------#
     # PFO creators here
 
-    from eflowRec.eflowRecConf import PFOChargedCreatorAlgorithm
+    PFOChargedCreatorAlgorithm=CompFactory.PFOChargedCreatorAlgorithm
     PFOChargedCreatorAlgorithm = PFOChargedCreatorAlgorithm("PFOChargedCreatorAlgorithm")
     PFOChargedCreatorAlgorithm.PFOOutputName="HLTChargedParticleFlowObjects"
 
     result.addEventAlgo( PFOChargedCreatorAlgorithm )
 
-    from eflowRec.eflowRecConf import PFONeutralCreatorAlgorithm
+    PFONeutralCreatorAlgorithm=CompFactory.PFONeutralCreatorAlgorithm
     PFONeutralCreatorAlgorithm =  PFONeutralCreatorAlgorithm("PFONeutralCreatorAlgorithm")
     PFONeutralCreatorAlgorithm.PFOOutputName="HLTNeutralParticleFlowObjects"
     PFONeutralCreatorAlgorithm.DoClusterMoments=inputFlags.eflowRec.DoClusterMoments
diff --git a/Reconstruction/eflowRec/python/PFRun3Config.py b/Reconstruction/eflowRec/python/PFRun3Config.py
index f0624fa6df40..10a7534fef69 100644
--- a/Reconstruction/eflowRec/python/PFRun3Config.py
+++ b/Reconstruction/eflowRec/python/PFRun3Config.py
@@ -1,22 +1,23 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def getPFTrackSelectorAlgorithm(inputFlags):
-    from eflowRec.eflowRecConf import PFTrackSelector
+    PFTrackSelector=CompFactory.PFTrackSelector
     PFTrackSelector=PFTrackSelector("PFTrackSelector")
 
     from TrkExTools.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg    
-    from TrackToCalo.TrackToCaloConf import Trk__ParticleCaloExtensionTool
+    Trk__ParticleCaloExtensionTool=CompFactory.Trk__ParticleCaloExtensionTool
     extrapCfg = AtlasExtrapolatorCfg(inputFlags)
     pcExtensionTool = Trk__ParticleCaloExtensionTool(Extrapolator = extrapCfg.popPrivateTools())
 
-    from eflowRec.eflowRecConf import eflowTrackCaloExtensionTool
+    eflowTrackCaloExtensionTool=CompFactory.eflowTrackCaloExtensionTool
     TrackCaloExtensionTool=eflowTrackCaloExtensionTool(TrackCaloExtensionTool=pcExtensionTool)
     TrackCaloExtensionTool.PFParticleCache=""
     
     PFTrackSelector.trackExtrapolatorTool = TrackCaloExtensionTool
 
-    from InDetTrackSelectionTool.InDetTrackSelectionToolConf import InDet__InDetTrackSelectionTool
+    InDet__InDetTrackSelectionTool=CompFactory.InDet__InDetTrackSelectionTool
     TrackSelectionTool = InDet__InDetTrackSelectionTool("PFTrackSelectionTool")
 
     TrackSelectionTool.CutLevel = "TightPrimary"
@@ -27,7 +28,7 @@ def getPFTrackSelectorAlgorithm(inputFlags):
     return PFTrackSelector
 
 def getPFTrackClusterMatchingTool(inputFlags,matchCut,distanceType,clusterPositionType,name):
-    from eflowRec.eflowRecConf import PFTrackClusterMatchingTool
+    PFTrackClusterMatchingTool=CompFactory.PFTrackClusterMatchingTool
     MatchingTool = PFTrackClusterMatchingTool(name)
     MatchingTool.ClusterPositionType = clusterPositionType
     MatchingTool.DistanceType = distanceType
@@ -35,10 +36,10 @@ def getPFTrackClusterMatchingTool(inputFlags,matchCut,distanceType,clusterPositi
     return MatchingTool
     
 def getPFCellLevelSubtractionTool(inputFlags):
-    from eflowRec.eflowRecConf import PFCellLevelSubtractionTool
+    PFCellLevelSubtractionTool=CompFactory.PFCellLevelSubtractionTool
     PFCellLevelSubtractionTool = PFCellLevelSubtractionTool("PFCellLevelSubtractionTool")
     
-    from eflowRec.eflowRecConf import eflowCellEOverPTool_mc12_JetETMiss
+    eflowCellEOverPTool_mc12_JetETMiss=CompFactory.eflowCellEOverPTool_mc12_JetETMiss
     PFCellLevelSubtractionTool.eflowCellEOverPTool = eflowCellEOverPTool_mc12_JetETMiss()
 
     if(True is inputFlags.PF.EOverPMode):
@@ -58,10 +59,10 @@ def getPFCellLevelSubtractionTool(inputFlags):
     return PFCellLevelSubtractionTool
 
 def getPFRecoverSplitShowersTool(inputFlags):
-    from eflowRec.eflowRecConf import PFRecoverSplitShowersTool
+    PFRecoverSplitShowersTool=CompFactory.PFRecoverSplitShowersTool
     PFRecoverSplitShowersTool = PFRecoverSplitShowersTool("PFRecoverSplitShowersTool")
 
-    from eflowRec.eflowRecConf import eflowCellEOverPTool_mc12_JetETMiss
+    eflowCellEOverPTool_mc12_JetETMiss=CompFactory.eflowCellEOverPTool_mc12_JetETMiss
     PFRecoverSplitShowersTool.eflowCellEOverPTool = eflowCellEOverPTool_mc12_JetETMiss("eflowCellEOverPTool_mc12_JetETMiss_Recover")
 
     if (True is inputFlags.PF.recoverIsolatedTracks):
@@ -72,20 +73,20 @@ def getPFRecoverSplitShowersTool(inputFlags):
     return PFRecoverSplitShowersTool
 
 def getPFClusterSelectorTool():
-    from eflowRec.eflowRecConf import PFClusterSelectorTool
+    PFClusterSelectorTool=CompFactory.PFClusterSelectorTool
     PFClusterSelectorTool = PFClusterSelectorTool("PFClusterSelectorTool")
     PFClusterSelectorTool.clustersName="CaloTopoClusters"
 
     return PFClusterSelectorTool
 
 def getPFMomentCalculatorTool(inputFlags):
-    from eflowRec.eflowRecConf import PFMomentCalculatorTool
+    PFMomentCalculatorTool=CompFactory.PFMomentCalculatorTool
     PFMomentCalculatorTool = PFMomentCalculatorTool("PFMomentCalculatorTool")
 
     from CaloRec.CaloTopoClusterConfig import getTopoMoments
     PFMomentCalculatorTool.CaloClusterMomentsMaker = getTopoMoments(inputFlags)
 
-    from eflowRec.eflowRecConf import PFClusterCollectionTool
+    PFClusterCollectionTool=CompFactory.PFClusterCollectionTool
     PFMomentCalculatorTool.PFClusterCollectionTool = PFClusterCollectionTool("PFClusterCollectionTool")
 
     if(True is inputFlags.PF.useCalibHitTruthMoments):
@@ -96,10 +97,10 @@ def getPFMomentCalculatorTool(inputFlags):
     return PFMomentCalculatorTool
 
 def getPFLCCalibTool(inputFlags):
-    from eflowRec.eflowRecConf import PFLCCalibTool
+    PFLCCalibTool=CompFactory.PFLCCalibTool
     PFLCCalibTool = PFLCCalibTool("PFLCCalibTool")
 
-    from eflowRec.eflowRecConf import PFClusterCollectionTool
+    PFClusterCollectionTool=CompFactory.PFClusterCollectionTool
     PFLCCalibTool.eflowRecClusterCollectionTool = PFClusterCollectionTool("PFClusterCollectionTool_LCCalib")
     PFLCCalibTool.UseLocalWeight = False
 
@@ -115,7 +116,7 @@ def getPFLCCalibTool(inputFlags):
 
 def getPFAlgorithm(inputFlags):
 
-    from eflowRec.eflowRecConf import PFAlgorithm
+    PFAlgorithm=CompFactory.PFAlgorithm
     PFAlgorithm = PFAlgorithm("PFAlgorithm")   
     
     PFAlgorithm.PFClusterSelectorTool = getPFClusterSelectorTool()
@@ -131,12 +132,12 @@ def getPFAlgorithm(inputFlags):
     return PFAlgorithm
 
 def getPFOCreators(inputFlags):
-    from eflowRec.eflowRecConf import PFOChargedCreatorAlgorithm
+    PFOChargedCreatorAlgorithm=CompFactory.PFOChargedCreatorAlgorithm
     PFOChargedCreatorAlgorithm = PFOChargedCreatorAlgorithm("PFOChargedCreatorAlgorithm")
     if(True is inputFlags.PF.EOverPMode):
         PFOChargedCreatorAlgorithm.PFOOutputName="EOverPChargedParticleFlowObjects"
 
-    from eflowRec.eflowRecConf import PFONeutralCreatorAlgorithm
+    PFONeutralCreatorAlgorithm=CompFactory.PFONeutralCreatorAlgorithm
     PFONeutralCreatorAlgorithm =  PFONeutralCreatorAlgorithm("PFONeutralCreatorAlgorithm")
     if(True is inputFlags.PF.EOverPMode):
         PFONeutralCreatorAlgorithm.PFOOutputName="EOverPNeutralParticleFlowObjects"
@@ -152,7 +153,7 @@ def PFCfg(inputFlags,**kwargs):
     #Some such items may be best placed elsewehere (e.g. put magnetic field setup in magnetic field git folder etc)
     result=ComponentAccumulator()
 
-    from StoreGate.StoreGateConf import StoreGateSvc
+    StoreGateSvc=CompFactory.StoreGateSvc
     result.addService(StoreGateSvc("DetectorStore"))
 
     #Alias calibrated topoclusters, if they exist already, such that overwrite won't fial
@@ -168,20 +169,20 @@ def PFCfg(inputFlags,**kwargs):
     result.merge(PixelGeometryCfg(inputFlags))
 
     #Setup Pixel conditions
-    from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelAlignCondAlg
+    PixelAlignCondAlg=CompFactory.PixelAlignCondAlg
     result.addCondAlgo(PixelAlignCondAlg(name = "PixelAlignCondAlg",UseDynamicAlignFolders = inputFlags.GeoModel.Align.Dynamic))
 
-    from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDetectorElementCondAlg
+    PixelDetectorElementCondAlg=CompFactory.PixelDetectorElementCondAlg
     result.addCondAlgo(PixelDetectorElementCondAlg(name = "PixelDetectorElementCondAlg"))
 
     #Setup SCT conditions
-    from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_AlignCondAlg
+    SCT_AlignCondAlg=CompFactory.SCT_AlignCondAlg
     result.addCondAlgo(SCT_AlignCondAlg(name = "SCT_AlignCondAlg",UseDynamicAlignFolders = inputFlags.GeoModel.Align.Dynamic))
 
-    from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DetectorElementCondAlg
+    SCT_DetectorElementCondAlg=CompFactory.SCT_DetectorElementCondAlg
     result.addCondAlgo(SCT_DetectorElementCondAlg(name = "SCT_DetectorElementCondAlg"))
 
-    from GeometryDBSvc.GeometryDBSvcConf import GeometryDBSvc
+    GeometryDBSvc=CompFactory.GeometryDBSvc
     result.addService(GeometryDBSvc("InDetGeometryDBSvc"))
     
     from AthenaCommon import CfgGetter
@@ -189,7 +190,7 @@ def PFCfg(inputFlags,**kwargs):
     result.getService("GeoModelSvc").DetectorTools += [ CfgGetter.getPrivateTool("SCT_DetectorTool", checkType=True) ]
 
     #Setup TRT geometry
-    from TRT_GeoModel.TRT_GeoModelConf import TRT_DetectorTool
+    TRT_DetectorTool=CompFactory.TRT_DetectorTool
     trtDetectorTool = TRT_DetectorTool()
     #These two lines fix ATLASRECTS-5053. I expect eventually we can remove them, once the underlying issue is fixed.
     trtDetectorTool.DoXenonArgonMixture = False
@@ -197,7 +198,7 @@ def PFCfg(inputFlags,**kwargs):
     result.getService("GeoModelSvc").DetectorTools += [ trtDetectorTool ]
 
     #Setup up material for inner detector
-    from InDetServMatGeoModel.InDetServMatGeoModelConf import InDetServMatTool
+    InDetServMatTool=CompFactory.InDetServMatTool
     result.getService("GeoModelSvc").DetectorTools += [ InDetServMatTool() ]
     
     #Setup up tracking geometry
@@ -219,7 +220,7 @@ def PFCfg(inputFlags,**kwargs):
 
     iovDbSvc=result.getService("IOVDbSvc")
 
-    from MagFieldServices.MagFieldServicesConf import MagField__AtlasFieldSvc
+    MagField__AtlasFieldSvc=CompFactory.MagField__AtlasFieldSvc
     kwargs.setdefault( "UseDCS", True )
     result.addService(MagField__AtlasFieldSvc("AtlasFieldSvc",**kwargs))
 
@@ -238,7 +239,7 @@ def PFCfg(inputFlags,**kwargs):
     result.merge(CaloNoiseCondAlgCfg(inputFlags,"electronicNoise"))
 
     #Configure the pflow algorithms
-    from eflowRec.eflowRecConf import PFLeptonSelector
+    PFLeptonSelector=CompFactory.PFLeptonSelector
     result.addEventAlgo(PFLeptonSelector("PFLeptonSelector"))
     
     result.addEventAlgo(getPFTrackSelectorAlgorithm(inputFlags))
diff --git a/Reconstruction/eflowRec/python/ScheduleCHSPFlowMods.py b/Reconstruction/eflowRec/python/ScheduleCHSPFlowMods.py
index e33cf87c65e7..cdccf254b89f 100644
--- a/Reconstruction/eflowRec/python/ScheduleCHSPFlowMods.py
+++ b/Reconstruction/eflowRec/python/ScheduleCHSPFlowMods.py
@@ -1,3 +1,4 @@
+#Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 # ScheduleCHSPFlowMods.py
 #
 # Teng Jian Khoo
@@ -8,7 +9,8 @@
 
 
 from JetRec.JetRecStandard import jtm
-from JetRec.JetRecConf import JetToolRunner
+from AthenaConfiguration.ComponentFactory import CompFactory
+JetToolRunner=CompFactory.JetToolRunner
 jtm += JetToolRunner("jetconstitCHSPFlow",
                      EventShapeTools=[],
                      Tools=[jtm.JetConstitSeq_PFlowCHS],
@@ -17,11 +19,11 @@ jtm += JetToolRunner("jetconstitCHSPFlow",
 from AthenaCommon.AlgSequence import AlgSequence
 job = AlgSequence()
 
-from JetRec.JetRecConf import JetAlgorithm
+JetAlgorithm=CompFactory.JetAlgorithm
 job += JetAlgorithm("jetalgCHSPFlow",
                     Tools=[jtm.jetconstitCHSPFlow])
 
-from ThinningUtils.ThinningUtilsConf import ThinNegativeEnergyNeutralPFOsAlg
+ThinNegativeEnergyNeutralPFOsAlg=CompFactory.ThinNegativeEnergyNeutralPFOsAlg
 CHSnPFOsThinAlg = ThinNegativeEnergyNeutralPFOsAlg(
     "ThinNegativeEnergyNCHSeutralPFOsAlg",
     NeutralPFOsKey="CHSNeutralParticleFlowObjects",
diff --git a/Reconstruction/egamma/egammaAlgs/python/EMGSFCaloExtensionBuilderConfig.py b/Reconstruction/egamma/egammaAlgs/python/EMGSFCaloExtensionBuilderConfig.py
index a1f22a7a9560..ad5fae0a1be6 100644
--- a/Reconstruction/egamma/egammaAlgs/python/EMGSFCaloExtensionBuilderConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/EMGSFCaloExtensionBuilderConfig.py
@@ -3,9 +3,10 @@
 __doc__ = "Instantiate the EMGSFCaloExtensionBuilder with default configuration"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from TrackToCalo.TrackToCaloConfig import ParticleCaloExtensionToolCfg
-from egammaAlgs.egammaAlgsConf import EMGSFCaloExtensionBuilder
+EMGSFCaloExtensionBuilder=CompFactory.EMGSFCaloExtensionBuilder
 
 
 def EMGSFCaloExtensionBuilderCfg(flags, name='EMGSFCaloExtensionBuilder', **kwargs):
diff --git a/Reconstruction/egamma/egammaAlgs/python/egammaForwardBuilderConfig.py b/Reconstruction/egamma/egammaAlgs/python/egammaForwardBuilderConfig.py
index b417140b0650..0f3c09cd6365 100644
--- a/Reconstruction/egamma/egammaAlgs/python/egammaForwardBuilderConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/egammaForwardBuilderConfig.py
@@ -2,11 +2,12 @@
 
 import cppyy
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from egammaTools.egammaOQFlagsBuilderConfig import egammaOQFlagsBuilderCfg
-from egammaTools.egammaToolsConf import EMFourMomBuilder
+EMFourMomBuilder=CompFactory.EMFourMomBuilder
 from ElectronPhotonSelectorTools.AsgForwardElectronIsEMSelectorsConfig import AsgForwardElectronIsEMSelectorCfg
-from egammaAlgs.egammaAlgsConf import egammaForwardBuilder
+egammaForwardBuilder=CompFactory.egammaForwardBuilder
 from ROOT import egammaPID
 
 cppyy.loadDictionary('ElectronPhotonSelectorToolsDict')
diff --git a/Reconstruction/egamma/egammaAlgs/python/egammaLargeClusterMakerAlgConfig.py b/Reconstruction/egamma/egammaAlgs/python/egammaLargeClusterMakerAlgConfig.py
index 773d87d05c5f..0436e5b6d8a8 100644
--- a/Reconstruction/egamma/egammaAlgs/python/egammaLargeClusterMakerAlgConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/egammaLargeClusterMakerAlgConfig.py
@@ -4,9 +4,10 @@ __doc__ = "Configure egammaLargeClusterMaker, which chooses cells to store in th
 __author__ = "Jovan Mitrevski"
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from egammaTools.egammaLargeClusterMakerConfig import egammaLargeClusterMakerCfg
 from CaloClusterCorrection.CaloSwCorrections import make_CaloSwCorrections
-from CaloRec.CaloRecConf import CaloClusterMaker
+CaloClusterMaker=CompFactory.CaloClusterMaker
 
 def egammaLargeClusterMakerAlgCfg(flags, name = "egammaLargeClusterMaker", **kwargs):
 
diff --git a/Reconstruction/egamma/egammaAlgs/python/egammaRecBuilderConfig.py b/Reconstruction/egamma/egammaAlgs/python/egammaRecBuilderConfig.py
index 643d5d981ff1..71d40ce6798b 100644
--- a/Reconstruction/egamma/egammaAlgs/python/egammaRecBuilderConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/egammaRecBuilderConfig.py
@@ -3,10 +3,11 @@
 __doc__ = "Instantiate egammaRecBuilder with default configuration"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from egammaTools.EMTrackMatchBuilderConfig import EMTrackMatchBuilderCfg
 from egammaTools.EMConversionBuilderConfig import EMConversionBuilderCfg
-from egammaAlgs.egammaAlgsConf import egammaRecBuilder
+egammaRecBuilder=CompFactory.egammaRecBuilder
 
 
 def egammaRecBuilderCfg(flags, name='egammaRecBuilder', **kwargs):
diff --git a/Reconstruction/egamma/egammaAlgs/python/egammaSelectedTrackCopyConfig.py b/Reconstruction/egamma/egammaAlgs/python/egammaSelectedTrackCopyConfig.py
index f5e60230a93d..9b9b9089734a 100644
--- a/Reconstruction/egamma/egammaAlgs/python/egammaSelectedTrackCopyConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/egammaSelectedTrackCopyConfig.py
@@ -3,10 +3,11 @@
 __doc__ = "Instantiate egammaSelectedTrackCopy with default configuration"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaCaloTools.egammaCaloToolsConf import egammaCaloClusterSelector
+egammaCaloClusterSelector=CompFactory.egammaCaloClusterSelector
 from egammaTrackTools.egammaTrackToolsConfig import EMExtrapolationToolsCfg
-from egammaAlgs.egammaAlgsConf import egammaSelectedTrackCopy
+egammaSelectedTrackCopy=CompFactory.egammaSelectedTrackCopy
 
 
 def egammaSelectedTrackCopyCfg(flags, name='egammaSelectedTrackCopy', **kwargs):
diff --git a/Reconstruction/egamma/egammaAlgs/python/egammaTopoClusterCopierConfig.py b/Reconstruction/egamma/egammaAlgs/python/egammaTopoClusterCopierConfig.py
index 9afc1fc58c92..2424f0eeb344 100644
--- a/Reconstruction/egamma/egammaAlgs/python/egammaTopoClusterCopierConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/egammaTopoClusterCopierConfig.py
@@ -3,8 +3,9 @@
 __doc__ = "Instantiate egammaTopoClusterCopier with default configuration"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaAlgs.egammaAlgsConf import egammaTopoClusterCopier
+egammaTopoClusterCopier=CompFactory.egammaTopoClusterCopier
 
 
 def egammaTopoClusterCopierCfg(flags, name='egammaTopoClusterCopier', **kwargs):
diff --git a/Reconstruction/egamma/egammaAlgs/python/egammaTrackSlimmerConfig.py b/Reconstruction/egamma/egammaAlgs/python/egammaTrackSlimmerConfig.py
index 28d273fea2e6..a7f3ed03db4b 100755
--- a/Reconstruction/egamma/egammaAlgs/python/egammaTrackSlimmerConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/egammaTrackSlimmerConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaAlgs.egammaAlgsConf import egammaTrackSlimmer
+egammaTrackSlimmer=CompFactory.egammaTrackSlimmer
 
 
 def egammaTrackSlimmerCfg(flags, name='egammaTrackSlimmer', **kwargs):
diff --git a/Reconstruction/egamma/egammaAlgs/python/egammaTruthAssociationConfig.py b/Reconstruction/egamma/egammaAlgs/python/egammaTruthAssociationConfig.py
index 1450203b19cb..effa519afea4 100644
--- a/Reconstruction/egamma/egammaAlgs/python/egammaTruthAssociationConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/egammaTruthAssociationConfig.py
@@ -3,8 +3,9 @@
 __doc__ = "Configure egammaTruthAssociation"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaAlgs.egammaAlgsConf import egammaTruthAssociationAlg
+egammaTruthAssociationAlg=CompFactory.egammaTruthAssociationAlg
 from MCTruthClassifier.MCTruthClassifierConfig import MCTruthClassifierCaloTruthMatchCfg
 
 
diff --git a/Reconstruction/egamma/egammaAlgs/python/topoEgammaBuilderConfig.py b/Reconstruction/egamma/egammaAlgs/python/topoEgammaBuilderConfig.py
index 1a9795986c99..9d6f6725e5e6 100644
--- a/Reconstruction/egamma/egammaAlgs/python/topoEgammaBuilderConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/topoEgammaBuilderConfig.py
@@ -3,9 +3,10 @@
 __doc__ = "Instantiate the two supercluster builders with default configuration"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaAlgs.egammaAlgsConf import topoEgammaBuilder
-from ElectronPhotonSelectorTools.ElectronPhotonSelectorToolsConf import EGammaAmbiguityTool
+topoEgammaBuilder=CompFactory.topoEgammaBuilder
+EGammaAmbiguityTool=CompFactory.EGammaAmbiguityTool
 
 
 def topoEgammaBuilderCfg(flags, name='topoEgammaBuilder', **kwargs):
diff --git a/Reconstruction/egamma/egammaCaloTools/python/egammaCaloToolsConfig.py b/Reconstruction/egamma/egammaCaloTools/python/egammaCaloToolsConfig.py
index f7418e3d0d56..269cf7d4babd 100644
--- a/Reconstruction/egamma/egammaCaloTools/python/egammaCaloToolsConfig.py
+++ b/Reconstruction/egamma/egammaCaloTools/python/egammaCaloToolsConfig.py
@@ -4,11 +4,12 @@ __doc__ = "Tool configuration to instantiate all egammaCaloTools with default co
 
 #---------------------------------------
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def CaloFillRectangularClusterCfg(flags):
     result=ComponentAccumulator()
 
-    from CaloClusterCorrection.CaloClusterCorrectionConf import CaloFillRectangularCluster
+    CaloFillRectangularCluster=CompFactory.CaloFillRectangularCluster
     caloFillRectangularCluster = CaloFillRectangularCluster(eta_size = 5,
                                                             phi_size = 7,
                                                             cells_name = flags.Egamma.Keys.Input.CaloCells)
diff --git a/Reconstruction/egamma/egammaMVACalib/python/TrigEgammaMVACalibConfig.py b/Reconstruction/egamma/egammaMVACalib/python/TrigEgammaMVACalibConfig.py
index af625b6b4953..d90f132bbc00 100644
--- a/Reconstruction/egamma/egammaMVACalib/python/TrigEgammaMVACalibConfig.py
+++ b/Reconstruction/egamma/egammaMVACalib/python/TrigEgammaMVACalibConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaMVACalib.egammaMVACalibConf import egammaMVACalibTool, egammaMVASvc
+egammaMVACalibTool, egammaMVASvc=CompFactory.getComps("egammaMVACalibTool","egammaMVASvc",)
 from ROOT import xAOD
 import cppyy
 cppyy.loadDictionary('xAODEgammaDict')
diff --git a/Reconstruction/egamma/egammaMVACalib/python/egammaMVACalibConfig.py b/Reconstruction/egamma/egammaMVACalib/python/egammaMVACalibConfig.py
index b186d5d2eb40..3476444889bf 100644
--- a/Reconstruction/egamma/egammaMVACalib/python/egammaMVACalibConfig.py
+++ b/Reconstruction/egamma/egammaMVACalib/python/egammaMVACalibConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaMVACalib.egammaMVACalibConf import egammaMVACalibTool, egammaMVASvc
+egammaMVACalibTool, egammaMVASvc=CompFactory.getComps("egammaMVACalibTool","egammaMVASvc",)
 from ROOT import xAOD
 import cppyy
 cppyy.loadDictionary('xAODEgammaDict')
diff --git a/Reconstruction/egamma/egammaTools/python/EMConversionBuilderConfig.py b/Reconstruction/egamma/egammaTools/python/EMConversionBuilderConfig.py
index cb4832e25740..bcd512cc6c6b 100644
--- a/Reconstruction/egamma/egammaTools/python/EMConversionBuilderConfig.py
+++ b/Reconstruction/egamma/egammaTools/python/EMConversionBuilderConfig.py
@@ -3,8 +3,9 @@
 __doc__ = "Configure the electron and photon selectors."
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaTools.egammaToolsConf import EMConversionBuilder
+EMConversionBuilder=CompFactory.EMConversionBuilder
 from egammaTrackTools.egammaTrackToolsConfig import EMExtrapolationToolsCfg
 
 
diff --git a/Reconstruction/egamma/egammaTools/python/EMPIDBuilderConfig.py b/Reconstruction/egamma/egammaTools/python/EMPIDBuilderConfig.py
index 172ad006999a..a3b08875e879 100755
--- a/Reconstruction/egamma/egammaTools/python/EMPIDBuilderConfig.py
+++ b/Reconstruction/egamma/egammaTools/python/EMPIDBuilderConfig.py
@@ -3,8 +3,9 @@
 __doc__ = "Configure the electron and photon selectors."
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaTools.egammaToolsConf import EMPIDBuilder
+EMPIDBuilder=CompFactory.EMPIDBuilder
 from ROOT import egammaPID
 import cppyy
 cppyy.loadDictionary('ElectronPhotonSelectorToolsDict')
@@ -52,7 +53,7 @@ def EMPIDBuilderElectronCfg(flags, name='EMPIDBuilderElectron', **kwargs):
         acc.merge(TightLHSelectorAcc)
 
     # Multi Lepton
-    from ElectronPhotonSelectorTools.ElectronPhotonSelectorToolsConf import AsgElectronMultiLeptonSelector
+    AsgElectronMultiLeptonSelector=CompFactory.AsgElectronMultiLeptonSelector
     if "genericIsEMselectors" not in kwargs:
         MultiLeptonSelector = AsgElectronMultiLeptonSelector("MultiLeptonSelector")
         kwargs["genericIsEMselectors"] = [MultiLeptonSelector]
diff --git a/Reconstruction/egamma/egammaTools/python/EMShowerBuilderConfig.py b/Reconstruction/egamma/egammaTools/python/EMShowerBuilderConfig.py
index 723478993f27..7e6a227b64de 100644
--- a/Reconstruction/egamma/egammaTools/python/EMShowerBuilderConfig.py
+++ b/Reconstruction/egamma/egammaTools/python/EMShowerBuilderConfig.py
@@ -3,10 +3,11 @@
 __doc__ = "ToolFactory to instantiate all EMShowerBuilder with default configuration"
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from AthenaCommon.Logging import logging
-from egammaTools.egammaToolsConf import EMShowerBuilder
-from egammaCaloTools.egammaCaloToolsConf import egammaIso, egammaShowerShape
+EMShowerBuilder=CompFactory.EMShowerBuilder
+egammaIso, egammaShowerShape=CompFactory.getComps("egammaIso","egammaShowerShape",)
 from CaloIdentifier import SUBCALO
 
 
diff --git a/Reconstruction/egamma/egammaTools/python/EMTrackMatchBuilderConfig.py b/Reconstruction/egamma/egammaTools/python/EMTrackMatchBuilderConfig.py
index 76a7e42a6c12..ea2b4e11a9bf 100644
--- a/Reconstruction/egamma/egammaTools/python/EMTrackMatchBuilderConfig.py
+++ b/Reconstruction/egamma/egammaTools/python/EMTrackMatchBuilderConfig.py
@@ -3,8 +3,9 @@
 __doc__ = "Instantiate EMTrackMatchBuilder with default configuration"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaTools.egammaToolsConf import EMTrackMatchBuilder
+EMTrackMatchBuilder=CompFactory.EMTrackMatchBuilder
 from egammaTrackTools.egammaTrackToolsConfig import EMExtrapolationToolsCacheCfg
 
 
diff --git a/Reconstruction/egamma/egammaTools/python/egammaLargeClusterMakerConfig.py b/Reconstruction/egamma/egammaTools/python/egammaLargeClusterMakerConfig.py
index 02ebc32f8e6c..5f40a6976d71 100644
--- a/Reconstruction/egamma/egammaTools/python/egammaLargeClusterMakerConfig.py
+++ b/Reconstruction/egamma/egammaTools/python/egammaLargeClusterMakerConfig.py
@@ -4,7 +4,8 @@ __doc__ = "Configure egammaLargeClusterMaker, which chooses cells to store in th
 __author__ = "Jovan Mitrevski"
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaTools.egammaToolsConf import egammaLargeClusterMaker
+from AthenaConfiguration.ComponentFactory import CompFactory
+egammaLargeClusterMaker=CompFactory.egammaLargeClusterMaker
 
 def egammaLargeClusterMakerCfg(flags, **kwargs):
 
diff --git a/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilderConfig.py b/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilderConfig.py
index fdefedd4d6f7..b394f9fd50b4 100644
--- a/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilderConfig.py
+++ b/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilderConfig.py
@@ -3,9 +3,10 @@
 __doc__ = "Configure e/gamma object quality"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaTools.egammaToolsConf import egammaOQFlagsBuilder
-from CaloTools.CaloToolsConf import CaloAffectedTool
+egammaOQFlagsBuilder=CompFactory.egammaOQFlagsBuilder
+CaloAffectedTool=CompFactory.CaloAffectedTool
 
 
 def egammaOQFlagsBuilderCfg(flags, name='egammaOQFlagsBuilder', **kwargs):
diff --git a/Reconstruction/egamma/egammaTools/python/egammaSwToolConfig.py b/Reconstruction/egamma/egammaTools/python/egammaSwToolConfig.py
index 92293316d726..62c9f39b55fe 100644
--- a/Reconstruction/egamma/egammaTools/python/egammaSwToolConfig.py
+++ b/Reconstruction/egamma/egammaTools/python/egammaSwToolConfig.py
@@ -3,8 +3,9 @@
 __doc__ = "Configure cluster correction"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaTools.egammaToolsConf import egammaSwTool
+egammaSwTool=CompFactory.egammaSwTool
 
 import six
 
diff --git a/Reconstruction/egamma/egammaTrackTools/python/egammaTrackToolsConfig.py b/Reconstruction/egamma/egammaTrackTools/python/egammaTrackToolsConfig.py
index a62eef461882..15b04b408f39 100644
--- a/Reconstruction/egamma/egammaTrackTools/python/egammaTrackToolsConfig.py
+++ b/Reconstruction/egamma/egammaTrackTools/python/egammaTrackToolsConfig.py
@@ -3,10 +3,11 @@
 __doc__ = "Tool configuration to instantiate all egammaCaloTools with default configuration"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from TrkExTools.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
 from TrackToCalo.TrackToCaloConfig import ParticleCaloExtensionToolCfg
-from egammaTrackTools.egammaTrackToolsConf import EMExtrapolationTools
+EMExtrapolationTools=CompFactory.EMExtrapolationTools
 
 def EMExtrapolationToolsCfg(flags, **kwargs):
 
diff --git a/Simulation/Barcode/BarcodeServices/python/BarcodeServicesConfigNew.py b/Simulation/Barcode/BarcodeServices/python/BarcodeServicesConfigNew.py
index 3249a37ecbf0..04c3e25d82c2 100644
--- a/Simulation/Barcode/BarcodeServices/python/BarcodeServicesConfigNew.py
+++ b/Simulation/Barcode/BarcodeServices/python/BarcodeServicesConfigNew.py
@@ -6,8 +6,9 @@ Elmar Ritsch, 23/10/2014
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from BarcodeServices.BarcodeServicesConf import Barcode__LegacyBarcodeSvc
+Barcode__LegacyBarcodeSvc=CompFactory.Barcode__LegacyBarcodeSvc
 
 #Functions yet to be migrated:
 #getMC15BarcodeSvc, getMC18BarcodeSvc, getMC18LLPBarcodeSvc, getPhysicsProcessBarcodeSvc, getMC15BarcodeSvc, getGlobalBarcodeSvc, getValidationBarcodeSvc, barcodeOffsetForTruthStrategy
diff --git a/Simulation/BeamEffects/python/BeamEffectsAlgConfig.py b/Simulation/BeamEffects/python/BeamEffectsAlgConfig.py
index 52facc3d5fd3..97f4eae6ed29 100755
--- a/Simulation/BeamEffects/python/BeamEffectsAlgConfig.py
+++ b/Simulation/BeamEffects/python/BeamEffectsAlgConfig.py
@@ -4,17 +4,18 @@
 
 """Define methods to configure beam effects with the ComponentAccumulator"""
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 # Compiled beam effects methods
 # for documentation of method X, see Simulation__X._propertyDocDct
-from BeamEffects.BeamEffectsConf import Simulation__GenEventValidityChecker
-from BeamEffects.BeamEffectsConf import Simulation__GenEventRotator
-from BeamEffects.BeamEffectsConf import Simulation__GenEventVertexPositioner
-from BeamEffects.BeamEffectsConf import Simulation__VertexBeamCondPositioner
-from BeamEffects.BeamEffectsConf import Simulation__VertexPositionFromFile
-from BeamEffects.BeamEffectsConf import Simulation__CrabKissingVertexPositioner
-from BeamEffects.BeamEffectsConf import Simulation__LongBeamspotVertexPositioner
+Simulation__GenEventValidityChecker=CompFactory.Simulation__GenEventValidityChecker
+Simulation__GenEventRotator=CompFactory.Simulation__GenEventRotator
+Simulation__GenEventVertexPositioner=CompFactory.Simulation__GenEventVertexPositioner
+Simulation__VertexBeamCondPositioner=CompFactory.Simulation__VertexBeamCondPositioner
+Simulation__VertexPositionFromFile=CompFactory.Simulation__VertexPositionFromFile
+Simulation__CrabKissingVertexPositioner=CompFactory.Simulation__CrabKissingVertexPositioner
+Simulation__LongBeamspotVertexPositioner=CompFactory.Simulation__LongBeamspotVertexPositioner
 # For the Algorithm
-from BeamEffects.BeamEffectsConf import Simulation__BeamEffectsAlg
+Simulation__BeamEffectsAlg=CompFactory.Simulation__BeamEffectsAlg
 
 
 # possible components from BeamEffectsConf
@@ -61,7 +62,7 @@ def makeVertexBeamCondPositioner(ConfigFlags,name="VertexBeamCondPositioner", **
     """Return a conditional (? todo) vertex positioner tool"""
     # todo needs RandomSvc
     from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline
-    from BeamSpotConditions.BeamSpotConditionsConf import BeamSpotCondAlg
+    BeamSpotCondAlg=CompFactory.BeamSpotCondAlg
     from RngComps.RandomServices import AthEngines
 
     result = ComponentAccumulator()
diff --git a/Simulation/Digitization/python/PileUpToolsConfig.py b/Simulation/Digitization/python/PileUpToolsConfig.py
index 7ec6149e8fe5..cbb73ab792c1 100644
--- a/Simulation/Digitization/python/PileUpToolsConfig.py
+++ b/Simulation/Digitization/python/PileUpToolsConfig.py
@@ -3,7 +3,8 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from PileUpComps.PileUpCompsConf import PileUpToolsAlg, DigitizationAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+PileUpToolsAlg, DigitizationAlg=CompFactory.getComps("PileUpToolsAlg","DigitizationAlg")
 
 
 def PileUpToolsCfg(flags, name="StandardPileUpToolsAlg", **kwargs):
diff --git a/Simulation/FastShower/FastCaloSim/python/AddNoiseCellBuilderToolConfig.py b/Simulation/FastShower/FastCaloSim/python/AddNoiseCellBuilderToolConfig.py
index c0931c1faf8a..313eaddfef4e 100644
--- a/Simulation/FastShower/FastCaloSim/python/AddNoiseCellBuilderToolConfig.py
+++ b/Simulation/FastShower/FastCaloSim/python/AddNoiseCellBuilderToolConfig.py
@@ -7,6 +7,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 
@@ -21,7 +22,7 @@ def AddNoiseCellBuilderToolCfg (configFlags):
     from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
     result.merge (CaloNoiseCondAlgCfg (configFlags, 'electronicNoise'))
 
-    from FastCaloSim.FastCaloSimConf import AddNoiseCellBuilderTool
+    AddNoiseCellBuilderTool=CompFactory.AddNoiseCellBuilderTool
     tool = AddNoiseCellBuilderTool ('AddNoiseCellBuilderTool',
                                     NoiseKey = 'electronicNoise',
                                     CaloEstimatedGainTool = estimatedGainTool)
diff --git a/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasFieldServices.py b/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasFieldServices.py
index ed3e884878f6..9fb064546c87 100644
--- a/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasFieldServices.py
+++ b/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasFieldServices.py
@@ -1,12 +1,13 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from G4AtlasServices.G4AtlasServicesConf import StandardFieldSvc
+from AthenaConfiguration.ComponentFactory import CompFactory
+StandardFieldSvc=CompFactory.StandardFieldSvc
 
 from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
 #to prevent unit tests failing when just running over simulation
 import os
 if "AthSimulation_DIR" not in os.environ:
-    from ForwardRegionMgField.ForwardRegionMgFieldConf import MagField__ForwardRegionFieldSvc
+    MagField__ForwardRegionFieldSvc=CompFactory.MagField__ForwardRegionFieldSvc
 
 def StandardFieldSvcCfg(ConfigFlags,name="StandardField", **kwargs):
     result = ComponentAccumulator()
diff --git a/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasServicesConfigNew.py b/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasServicesConfigNew.py
index 59886bbe50c2..87ea08069700 100644
--- a/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasServicesConfigNew.py
+++ b/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasServicesConfigNew.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
-from G4AtlasServices.G4AtlasServicesConf import DetectorGeometrySvc, G4AtlasSvc, G4GeometryNotifierSvc, PhysicsListSvc
-
+DetectorGeometrySvc, G4AtlasSvc, G4GeometryNotifierSvc, PhysicsListSvc=CompFactory.getComps("DetectorGeometrySvc","G4AtlasSvc","G4GeometryNotifierSvc","PhysicsListSvc",)
 #the physics region tools
 from G4AtlasTools.G4PhysicsRegionConfigNew import SX1PhysicsRegionToolCfg, BedrockPhysicsRegionToolCfg, CavernShaftsConcretePhysicsRegionToolCfg, PixelPhysicsRegionToolCfg, SCTPhysicsRegionToolCfg, TRTPhysicsRegionToolCfg, TRT_ArPhysicsRegionToolCfg, BeampipeFwdCutPhysicsRegionToolCfg, FWDBeamLinePhysicsRegionToolCfg, EMBPhysicsRegionToolCfg, EMECPhysicsRegionToolCfg, HECPhysicsRegionToolCfg, FCALPhysicsRegionToolCfg, FCAL2ParaPhysicsRegionToolCfg, EMECParaPhysicsRegionToolCfg, FCALParaPhysicsRegionToolCfg
 
diff --git a/Simulation/G4Atlas/G4AtlasTools/python/G4AtlasToolsConfigNew.py b/Simulation/G4Atlas/G4AtlasTools/python/G4AtlasToolsConfigNew.py
index fc9f64bc0b71..88b4292c343c 100644
--- a/Simulation/G4Atlas/G4AtlasTools/python/G4AtlasToolsConfigNew.py
+++ b/Simulation/G4Atlas/G4AtlasTools/python/G4AtlasToolsConfigNew.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from AthenaCommon import CfgMgr
-from G4AtlasTools.G4AtlasToolsConf import SensitiveDetectorMasterTool
+SensitiveDetectorMasterTool=CompFactory.SensitiveDetectorMasterTool
 
 from BCM_G4_SD.BCM_G4_SDToolConfig import BCMSensorSDCfg
 from BLM_G4_SD.BLM_G4_SDToolConfig import BLMSensorSDCfg
diff --git a/Simulation/G4Atlas/G4AtlasTools/python/G4FieldConfigNew.py b/Simulation/G4Atlas/G4AtlasTools/python/G4FieldConfigNew.py
index 383383d21f95..6c6527733357 100644
--- a/Simulation/G4Atlas/G4AtlasTools/python/G4FieldConfigNew.py
+++ b/Simulation/G4Atlas/G4AtlasTools/python/G4FieldConfigNew.py
@@ -1,8 +1,8 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 # ComponentAccumulator based configuration
-
-from G4AtlasTools.G4AtlasToolsConf import GlobalFieldManagerTool, DetectorFieldManagerTool
+from AthenaConfiguration.ComponentFactory import CompFactory
+GlobalFieldManagerTool, DetectorFieldManagerTool=CompFactory.getComps("GlobalFieldManagerTool","DetectorFieldManagerTool",)
 from G4AtlasServices.G4AtlasFieldServices import StandardFieldSvcCfg, ForwardFieldSvcCfg, Q1FwdG4FieldSvcCfg, Q2FwdG4FieldSvcCfg, Q3FwdG4FieldSvcCfg, D1FwdG4FieldSvcCfg, D2FwdG4FieldSvcCfg, Q4FwdG4FieldSvcCfg, Q5FwdG4FieldSvcCfg, Q6FwdG4FieldSvcCfg, Q7FwdG4FieldSvcCfg, Q1HKickFwdG4FieldSvcCfg, Q1VKickFwdG4FieldSvcCfg, Q2HKickFwdG4FieldSvcCfg, Q2VKickFwdG4FieldSvcCfg, Q3HKickFwdG4FieldSvcCfg, Q3VKickFwdG4FieldSvcCfg, Q4VKickAFwdG4FieldSvcCfg, Q4HKickFwdG4FieldSvcCfg, Q4VKickBFwdG4FieldSvcCfg, Q5HKickFwdG4FieldSvcCfg, Q6VKickFwdG4FieldSvcCfg
 
 # Field Managers
diff --git a/Simulation/G4Atlas/G4AtlasTools/python/G4GeometryToolConfig.py b/Simulation/G4Atlas/G4AtlasTools/python/G4GeometryToolConfig.py
index b045066778eb..d963567e3dca 100644
--- a/Simulation/G4Atlas/G4AtlasTools/python/G4GeometryToolConfig.py
+++ b/Simulation/G4Atlas/G4AtlasTools/python/G4GeometryToolConfig.py
@@ -1,7 +1,8 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from Geo2G4.Geo2G4Conf import GeoDetectorTool
+GeoDetectorTool=CompFactory.GeoDetectorTool
 from BeamPipeGeoModel.BeamPipeGMConfig import BeamPipeGeometryCfg
 from AtlasGeoModel.InDetGMConfig import InDetGeometryCfg, InDetServiceMaterialCfg
 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
@@ -9,7 +10,7 @@ from TileGeoModel.TileGMConfig import TileGMCfg
 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
 from AtlasGeoModel.ForDetGeoModelConfig import ForDetGeometryCfg
 
-from G4AtlasTools.G4AtlasToolsConf import CylindricalEnvelope, PolyconicalEnvelope, MaterialDescriptionTool,G4AtlasDetectorConstructionTool#, BoxEnvelope #(check)
+CylindricalEnvelope, PolyconicalEnvelope, MaterialDescriptionTool,G4AtlasDetectorConstructionTool=CompFactory.getComps("CylindricalEnvelope","PolyconicalEnvelope","MaterialDescriptionTool","G4AtlasDetectorConstructionTool",)
 
 from AthenaCommon.SystemOfUnits import mm, cm, m
 from past.builtins import xrange
diff --git a/Simulation/G4Utilities/MCTruthSimAlgs/python/RecoTimingConfig.py b/Simulation/G4Utilities/MCTruthSimAlgs/python/RecoTimingConfig.py
index 3b94cd60f3ba..3fd2308c567d 100644
--- a/Simulation/G4Utilities/MCTruthSimAlgs/python/RecoTimingConfig.py
+++ b/Simulation/G4Utilities/MCTruthSimAlgs/python/RecoTimingConfig.py
@@ -1,5 +1,6 @@
 """Configuration for RecoTimingObj with ComponentAccumulator/ConfigFlags
 Based on a fragment from MCTruthSimAlgsConfig.py
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
diff --git a/Simulation/ISF/ISF_Core/ISF_Services/python/ISF_ServicesConfigNew.py b/Simulation/ISF/ISF_Core/ISF_Services/python/ISF_ServicesConfigNew.py
index 1af6a5b1ebee..b5783e51f0db 100644
--- a/Simulation/ISF/ISF_Core/ISF_Services/python/ISF_ServicesConfigNew.py
+++ b/Simulation/ISF/ISF_Core/ISF_Services/python/ISF_ServicesConfigNew.py
@@ -6,13 +6,14 @@ KG Tan, 17/06/2012
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from BarcodeServices.BarcodeServicesConfigNew import MC15aPlusBarcodeSvcCfg
 from ISF_HepMC_Tools.ISF_HepMC_ToolsConfigNew import TruthStrategyGroupID_MC15Cfg, TruthStrategyGroupCaloMuBremCfg, TruthStrategyGroupCaloDecay_MC15Cfg, TruthStrategyGroupIDHadInt_MC15Cfg, ParticleFinalStateFilterCfg, ParticlePositionFilterDynamicCfg, EtaPhiFilterCfg, GenParticleInteractingFilterCfg
 from SubDetectorEnvelopes.SubDetectorEnvelopesConfigNew import EnvelopeDefSvcCfg
 
 
-from ISF_Services.ISF_ServicesConf import ISF__TruthSvc, ISF__GeoIDSvc, ISF__ISFEnvelopeDefSvc, ISF__InputConverter
+ISF__TruthSvc, ISF__GeoIDSvc, ISF__ISFEnvelopeDefSvc, ISF__InputConverter=CompFactory.getComps("ISF__TruthSvc","ISF__GeoIDSvc","ISF__ISFEnvelopeDefSvc","ISF__InputConverter",)
 
 #Functions yet to be migrated:
 #getParticleBrokerSvcNoOrdering, getParticleBrokerSvc, getAFIIParticleBrokerSvc, getAFIIEnvelopeDefSvc, getAFIIGeoIDSvc
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfigNew.py b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfigNew.py
index 18ce6cce97f0..ec35669ac1aa 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfigNew.py
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfigNew.py
@@ -6,8 +6,9 @@ KG Tan, 17/06/2012
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from ISF_HepMC_Tools.ISF_HepMC_ToolsConf import ISF__GenericTruthStrategy, ISF__GenParticleFinalStateFilter, ISF__GenParticlePositionFilter, ISF__GenParticleGenericFilter, ISF__GenParticleInteractingFilter
+ISF__GenericTruthStrategy, ISF__GenParticleFinalStateFilter, ISF__GenParticlePositionFilter, ISF__GenParticleGenericFilter, ISF__GenParticleInteractingFilter=CompFactory.getComps("ISF__GenericTruthStrategy","ISF__GenParticleFinalStateFilter","ISF__GenParticlePositionFilter","ISF__GenParticleGenericFilter","ISF__GenParticleInteractingFilter",)
 
 from AthenaCommon.SystemOfUnits import MeV, mm
 
diff --git a/Simulation/Overlay/OverlayCopyAlgs/python/OverlayCopyAlgsConfig.py b/Simulation/Overlay/OverlayCopyAlgs/python/OverlayCopyAlgsConfig.py
index 84426d337fde..ccdcc3c0b67c 100644
--- a/Simulation/Overlay/OverlayCopyAlgs/python/OverlayCopyAlgsConfig.py
+++ b/Simulation/Overlay/OverlayCopyAlgs/python/OverlayCopyAlgsConfig.py
@@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def CopyCaloCalibrationHitContainerAlgCfg(flags, collectionName, name="CopyCaloCalibrationHitContainer", **kwargs):
@@ -15,7 +16,7 @@ def CopyCaloCalibrationHitContainerAlgCfg(flags, collectionName, name="CopyCaloC
     kwargs.setdefault("OutputKey", collectionName)
 
     # Copy CaloCalibrationHitContainer
-    from OverlayCopyAlgs.OverlayCopyAlgsConf import CopyCaloCalibrationHitContainer
+    CopyCaloCalibrationHitContainer=CompFactory.CopyCaloCalibrationHitContainer
     alg = CopyCaloCalibrationHitContainer(name + collectionName, **kwargs)
     acc.addEventAlgo(alg)
 
@@ -36,7 +37,7 @@ def CopyInTimeJetTruthInfoCfg(flags, name="CopyInTimeJetTruthInfo", **kwargs):
     kwargs.setdefault("OutputKey", "InTimeAntiKt4TruthJets")
 
     # Copy jets
-    from OverlayCopyAlgs.OverlayCopyAlgsConf import CopyJetTruthInfo
+    CopyJetTruthInfo=CompFactory.CopyJetTruthInfo
     alg = CopyJetTruthInfo(name, **kwargs)
     acc.addEventAlgo(alg)
 
@@ -51,7 +52,7 @@ def CopyOutOfTimeJetTruthInfoCfg(flags, name="CopyOutOfTimeJetTruthInfo", **kwar
     kwargs.setdefault("OutputKey", "OutOfTimeAntiKt4TruthJets")
 
     # Copy jets
-    from OverlayCopyAlgs.OverlayCopyAlgsConf import CopyJetTruthInfo
+    CopyJetTruthInfo=CompFactory.CopyJetTruthInfo
     alg = CopyJetTruthInfo(name, **kwargs)
     acc.addEventAlgo(alg)
 
@@ -79,7 +80,7 @@ def CopyMcEventCollectionAlgCfg(flags, name = "CopyMcEventCollection", **kwargs)
     kwargs.setdefault("OutputKey", "TruthEvent")
 
     # Merge and copy McEventCollection
-    from OverlayCopyAlgs.OverlayCopyAlgsConf import CopyMcEventCollection
+    CopyMcEventCollection=CompFactory.CopyMcEventCollection
     alg = CopyMcEventCollection(name, **kwargs)
     acc.addEventAlgo(alg)
 
@@ -103,7 +104,7 @@ def CopyTimingsAlgCfg(flags, name = "CopyTimings", **kwargs):
     kwargs.setdefault("OutputKey", "EVNTtoHITS_timings")
 
     # Copy RecoTimingObj
-    from OverlayCopyAlgs.OverlayCopyAlgsConf import CopyTimings
+    CopyTimings=CompFactory.CopyTimings
     alg = CopyTimings(name, **kwargs)
     acc.addEventAlgo(alg)
 
@@ -125,7 +126,7 @@ def CopyTrackRecordCollectionAlgCfg(flags, collectionName, name="CopyTrackRecord
     kwargs.setdefault("OutputKey", collectionName)
 
     # Copy TrackRecordCollection
-    from OverlayCopyAlgs.OverlayCopyAlgsConf import CopyTrackRecordCollection
+    CopyTrackRecordCollection=CompFactory.CopyTrackRecordCollection
     alg = CopyTrackRecordCollection(name + collectionName, **kwargs)
     acc.addEventAlgo(alg)
 
diff --git a/TileCalorimeter/TileConditions/python/TileAutoCorrelationConfig.py b/TileCalorimeter/TileConditions/python/TileAutoCorrelationConfig.py
index 4d5af6023411..2765caf48199 100644
--- a/TileCalorimeter/TileConditions/python/TileAutoCorrelationConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileAutoCorrelationConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile auto correlation tool and conditions algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileAutoCorrelationCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile auto correlation conditions algorithm
@@ -78,7 +79,7 @@ def TileCondToolAutoCrCfg(flags, **kwargs):
 
     acc.merge( TileAutoCorrelationCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolAutoCr
+    TileCondToolAutoCr=CompFactory.TileCondToolAutoCr
     acc.setPrivateTools( TileCondToolAutoCr(name, TileAutoCorrelation = autoCorrelation) )
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileBadChannelsConfig.py b/TileCalorimeter/TileConditions/python/TileBadChannelsConfig.py
index 00d4bcc8c3e1..8143f36b332b 100644
--- a/TileCalorimeter/TileConditions/python/TileBadChannelsConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileBadChannelsConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile bad channels"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 _validSources = ['COOL','FILE']
 
@@ -57,8 +58,8 @@ def TileBadChannelsCondAlgCfg(flags, **kwargs):
         offlineBadChannelsProxy = TileCondProxyFileBch('TileCondProxyFile_OflBch', Source = 'TileDefault.oflBch')
         
 
-    from TileConditions.TileConditionsConf import TileCondIdTransforms
-    from TileConditions.TileConditionsConf import TileBadChannelsCondAlg
+    TileCondIdTransforms=CompFactory.TileCondIdTransforms
+    TileBadChannelsCondAlg=CompFactory.TileBadChannelsCondAlg
     badChannelsCondAlg = TileBadChannelsCondAlg( name = name,
                                                  OnlBchProxy = onlineBadChannelsProxy,
                                                  OflBchProxy = offlineBadChannelsProxy,
@@ -96,7 +97,7 @@ def TileBadChanToolCfg(flags, **kwargs):
     from TileConditions.TileBadChannelsConfig import TileBadChannelsCondAlgCfg
     acc.merge( TileBadChannelsCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileBadChanTool
+    TileBadChanTool=CompFactory.TileBadChanTool
     acc.setPrivateTools( TileBadChanTool(name, TileBadChannels = badChannels) )
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileConditionsConfig.py b/TileCalorimeter/TileConditions/python/TileConditionsConfig.py
index 9182ce5abcce..9a0eaf9f6b30 100644
--- a/TileCalorimeter/TileConditions/python/TileConditionsConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileConditionsConfig.py
@@ -2,6 +2,7 @@
 #  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 #
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 def tileCondCfg( flags ):
 
     acc = ComponentAccumulator()
@@ -10,14 +11,14 @@ def tileCondCfg( flags ):
     def __addFolder(f):        
         acc.merge( addFolders( flags, '%s <key>%s</key>' %(f,f),   'TILE_OFL' if '/OFL' in f else 'TILE_ONL',  className="CondAttrListCollection") )
 
-    # from TileConditions.TileConditionsConf import TileCondProxyFile_TileCalibDrawerFlt_ as TileCondProxyFileFlt
-    # from TileConditions.TileConditionsConf import TileCondProxyFile_TileCalibDrawerBch_ as TileCondProxyFileBch
-    from TileConditions.TileConditionsConf import TileCondProxyCool_TileCalibDrawerFlt_ as TileCondProxyCoolFlt
-    from TileConditions.TileConditionsConf import TileCondProxyCool_TileCalibDrawerBch_ as TileCondProxyCoolBch
-    # from TileConditions.TileConditionsConf import TileCondProxyCool_TileCalibDrawerOfc_ as TileCondProxyCoolOfc
+    #TileCondProxyFileFlt=CompFactory.TileCondProxyFile_TileCalibDrawerFlt_
+    #TileCondProxyFileBch=CompFactory.TileCondProxyFile_TileCalibDrawerBch_
+    TileCondProxyCoolFlt=CompFactory.TileCondProxyFile_TileCalibDrawerFlt_
+    TileCondProxyCoolBch=CompFactory.TileCondProxyCool_TileCalibDrawerBch_
+    #TileCondProxyCoolOfc=CompFactory.TileCondProxyCool_TileCalibDrawerOfc_
 
     emScale = 'TileEMScale'
-    from TileConditions.TileConditionsConf import TileEMScaleCondAlg
+    TileEMScaleCondAlg=CompFactory.TileEMScaleCondAlg
     emScaleCondAlg = TileEMScaleCondAlg(name = emScale + 'CondAlg', TileEMScale = emScale)
 
     # Defaults for offline data
@@ -45,12 +46,11 @@ def tileCondCfg( flags ):
 
     acc.addCondAlgo( emScaleCondAlg )
 
-    from TileConditions.TileConditionsConf import TileCondToolEmscale
+    TileCondToolEmscale=CompFactory.TileCondToolEmscale
     emScaleTool = TileCondToolEmscale(name = 'TileCondToolEmscale', TileEMScale = emScale)
     acc.addPublicTool( emScaleTool )
 
-
-    from TileConditions.TileConditionsConf import TileCalibCondAlg_TileCalibDrawerFlt_ as TileCalibFltCondAlg
+    TileCalibFltCondAlg=CompFactory.TileCalibCondAlg_TileCalibDrawerFlt_
     def __addCondAlg(calibData, proxy):
         calibCondAlg = calibData + 'CondAlg'
         condAlg = TileCalibFltCondAlg( name = calibCondAlg, ConditionsProxy = proxy, TileCalibData = calibData)
@@ -61,7 +61,7 @@ def tileCondCfg( flags ):
     sampleNoiseProxy = getTileCondProxyCoolFlt( 'TileCondProxyCool_NoiseSample', '/TILE/OFL02/NOISE/SAMPLE' )
     __addCondAlg(sampleNoise, sampleNoiseProxy)
 
-    from TileConditions.TileConditionsConf import TileCondToolNoiseSample
+    TileCondToolNoiseSample=CompFactory.TileCondToolNoiseSample
     noiseSampleTool = TileCondToolNoiseSample(name = 'TileCondToolNoiseSample', 
                                               TileSampleNoise = sampleNoise)
 
@@ -77,7 +77,7 @@ def tileCondCfg( flags ):
     timingProxy = getTileCondProxyCoolFlt('TileCondProxyCool_AdcOffset', '/TILE/OFL02/TIME/CHANNELOFFSET/PHY' )
     __addCondAlg(timing, timingProxy)
 
-    from TileConditions.TileConditionsConf import TileCondToolTiming
+    TileCondToolTiming=CompFactory.TileCondToolTiming
     timingTool = TileCondToolTiming(name = 'TileCondToolTiming', TileTiming = timing)
     acc.addPublicTool( timingTool )
 
@@ -87,13 +87,13 @@ def tileCondCfg( flags ):
 
 
     badChannels = 'TileBadChannels'
-    from TileConditions.TileConditionsConf import TileBadChannelsCondAlg
+    TileBadChannelsCondAlg=CompFactory.TileBadChannelsCondAlg
     badChannelsCondAlg = TileBadChannelsCondAlg( name = badChannels + 'CondAlg', TileBadChannels = badChannels)
     badChannelsCondAlg.OflBchProxy = getTileCondProxyCoolBch('TileCondProxyCool_OflBch', '/TILE/OFL02/STATUS/ADC' )
     badChannelsCondAlg.OnlBchProxy = getTileCondProxyCoolBch('TileCondProxyCool_OnlBch', '/TILE/ONL01/STATUS/ADC' )
     acc.addCondAlgo( badChannelsCondAlg )
 
-    from TileConditions.TileConditionsConf import TileBadChanTool
+    TileBadChanTool=CompFactory.TileBadChanTool
     badChanTool = TileBadChanTool(name = 'TileBadChanTool', TileBadChannels = badChannels)
     acc.addPublicTool( badChanTool )
 
@@ -108,7 +108,7 @@ def tileCondCfg( flags ):
                                   '/LAR/'+badchannelsfolder+'/MissingFEBs'], dbname))
     
 
-    from TileConditions.TileConditionsConf import TileInfoLoader, TileCablingSvc
+    TileInfoLoader, TileCablingSvc=CompFactory.getComps("TileInfoLoader","TileCablingSvc",)
     infoLoaderSvc = TileInfoLoader()
     infoLoaderSvc.NoiseScaleIndex= 2
     acc.addService( infoLoaderSvc ) 
diff --git a/TileCalorimeter/TileConditions/python/TileDCSConfig.py b/TileCalorimeter/TileConditions/python/TileDCSConfig.py
index 00dd4fd827b4..8e93cefef8a1 100644
--- a/TileCalorimeter/TileConditions/python/TileDCSConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileDCSConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile DCS tool and conditions algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileDCSCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile DCS conditions algorithm
@@ -52,7 +53,7 @@ def TileDCSCondAlgCfg(flags, **kwargs):
     from IOVDbSvc.IOVDbSvcConfig import addFolderList
     acc.merge( addFolderList(flags, folders.get()) )
 
-    from TileConditions.TileConditionsConf import TileDCSCondAlg
+    TileDCSCondAlg=CompFactory.TileDCSCondAlg
     dcsCondAlg = TileDCSCondAlg( name = name,
                                  ReadHV = readHV,
                                  ReadHVSET = readHVSET,
@@ -86,7 +87,7 @@ def TileDCSToolCfg(flags, **kwargs):
 
     acc.merge( TileDCSCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileDCSTool
+    TileDCSTool=CompFactory.TileDCSTool
     acc.setPrivateTools( TileDCSTool(TileDCS = dcs) )
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileDSPThresholdConfig.py b/TileCalorimeter/TileConditions/python/TileDSPThresholdConfig.py
index ef18c2dc5937..7e1e761e53de 100644
--- a/TileCalorimeter/TileConditions/python/TileDSPThresholdConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileDSPThresholdConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile DSP threshold conditions tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def TileDSP_ThresholdCondAlgCfg(flags, **kwargs):
@@ -74,7 +75,7 @@ def TileCondToolDspThresholdCfg(flags, **kwargs):
 
     acc.merge( TileDSP_ThresholdCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolDspThreshold
+    TileCondToolDspThreshold=CompFactory.TileCondToolDspThreshold
     acc.setPrivateTools( TileCondToolDspThreshold(TileDSP_Threshold = dspThreshold) )
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileEMScaleConfig.py b/TileCalorimeter/TileConditions/python/TileEMScaleConfig.py
index c00778c054bc..cd39943ea755 100644
--- a/TileCalorimeter/TileConditions/python/TileEMScaleConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileEMScaleConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile EM scale"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 _validSources = ['COOL','FILE']
 
@@ -97,7 +98,7 @@ def TileEMScaleCondAlgCfg(flags, **kwargs):
         onlEmsProxy    = TileCondProxyFileFlt('TileCondProxyFile_OflEms', Source = 'TileDefault.ems')
 
 
-    from TileConditions.TileConditionsConf import TileEMScaleCondAlg
+    TileEMScaleCondAlg=CompFactory.TileEMScaleCondAlg
     emScaleCondAlg = TileEMScaleCondAlg(name = name,
                                         OnlCacheUnit = onlCacheUnit,
                                         OflCisLinProxy = oflCisLinProxy,
@@ -144,7 +145,7 @@ def TileCondToolEmscaleCfg(flags, **kwargs):
 
     acc.merge( TileEMScaleCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolEmscale
+    TileCondToolEmscale=CompFactory.TileCondToolEmscale
     acc.setPrivateTools( TileCondToolEmscale(name, TileEMScale = emScale) )
 
     return acc
@@ -174,7 +175,7 @@ def TileExpertToolEmscaleCfg(flags, **kwargs):
 
     acc.merge( TileEMScaleCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileExpertToolEmscale
+    TileExpertToolEmscale=CompFactory.TileExpertToolEmscale
     acc.setPrivateTools( TileExpertToolEmscale(name, TileEMScale = emScale) )
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileInfoLoaderConfig.py b/TileCalorimeter/TileConditions/python/TileInfoLoaderConfig.py
index 1beec57576d4..e06644279e5f 100644
--- a/TileCalorimeter/TileConditions/python/TileInfoLoaderConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileInfoLoaderConfig.py
@@ -4,6 +4,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 
@@ -70,7 +71,7 @@ def TileInfoLoaderCfg(flags, **kwargs):
             msg.info("Switching OFF noise in Tile Digitization" )
 
 
-    from TileConditions.TileConditionsConf import TileInfoLoader
+    TileInfoLoader=CompFactory.TileInfoLoader
     acc.addService(TileInfoLoader(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileIntegratorConfig.py b/TileCalorimeter/TileConditions/python/TileIntegratorConfig.py
index 7dbb7fcc965b..7f41812debe0 100644
--- a/TileCalorimeter/TileConditions/python/TileIntegratorConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileIntegratorConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile integrator conditions tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileIntegratorCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile integrator conditions algorithm
@@ -74,7 +75,7 @@ def TileCondToolIntegratorCfg(flags, **kwargs):
 
     acc.merge( TileIntegratorCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolIntegrator
+    TileCondToolIntegrator=CompFactory.TileCondToolIntegrator
     acc.setPrivateTools( TileCondToolIntegrator(name, TileIntegrator = integrator) )
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileMuIDConfig.py b/TileCalorimeter/TileConditions/python/TileMuIDConfig.py
index ca84bdecbbda..b11519967478 100644
--- a/TileCalorimeter/TileConditions/python/TileMuIDConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileMuIDConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile MuID conditions tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileMuIDCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile MuID conditions algorithm
@@ -71,7 +72,7 @@ def TileCondToolMuIDCfg(flags, **kwargs):
 
     acc.merge( TileMuIDCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolMuID
+    TileCondToolMuID=CompFactory.TileCondToolMuID
     acc.setPrivateTools( TileCondToolMuID(name, TileMuID = muID) )
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileOFCConfig.py b/TileCalorimeter/TileConditions/python/TileOFCConfig.py
index 04aaac94659b..d21361d0ca73 100644
--- a/TileCalorimeter/TileConditions/python/TileOFCConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileOFCConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile OFC conditions tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileOFCCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile OFC conditions algorithm
@@ -96,7 +97,7 @@ def TileCondToolOfcCoolCfg(flags, **kwargs):
 
     acc.merge( TileOFCCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolOfcCool
+    TileCondToolOfcCool=CompFactory.TileCondToolOfcCool
     acc.setPrivateTools( TileCondToolOfcCool(name, TileOfc = ofc) )
 
     return acc
@@ -140,7 +141,7 @@ def TileCondToolOfcCfg(flags, **kwargs):
             autoCorrelationTool = acc.popToolsAndMerge( TileCondToolAutoCrCfg(flags) )
 
     name = 'TileCondToolOfc'
-    from TileConditions.TileConditionsConf import TileCondToolOfc
+    TileCondToolOfc=CompFactory.TileCondToolOfc
     acc.setPrivateTools( TileCondToolOfc(name,
                                          OptFilterDeltaCorrelation = optFilterDeltaCorrelation,
                                          TileCondToolPulseShape = pulseShapeTool,
diff --git a/TileCalorimeter/TileConditions/python/TilePulseShapeConfig.py b/TileCalorimeter/TileConditions/python/TilePulseShapeConfig.py
index 27717e242345..310685ca0431 100644
--- a/TileCalorimeter/TileConditions/python/TilePulseShapeConfig.py
+++ b/TileCalorimeter/TileConditions/python/TilePulseShapeConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile pulse shape conditions tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TilePulseShapeCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile pulse shape conditions algorithm
@@ -107,7 +108,7 @@ def TileCondToolPulseShapeCfg(flags, **kwargs):
 
     acc.merge( TilePulseShapeCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolPulseShape
+    TileCondToolPulseShape=CompFactory.TileCondToolPulseShape
     acc.setPrivateTools( TileCondToolPulseShape(name, TilePulseShape = pulseShape) )
 
     return acc
@@ -124,7 +125,7 @@ def TileCondToolMuRcvPulseShapeCfg(flags, **kwargs):
 
     acc = TilePulseShapeCondAlgCfg(flags, **kwargs)
 
-    from TileConditions.TileConditionsConf import TileCondToolPulseShape
+    TileCondToolPulseShape=CompFactory.TileCondToolPulseShape
     acc.setPrivateTools( TileCondToolPulseShape(name, TilePulseShape = pulseShape) )
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileSampleNoiseConfig.py b/TileCalorimeter/TileConditions/python/TileSampleNoiseConfig.py
index caad59dc8ec4..fc427713eb7a 100644
--- a/TileCalorimeter/TileConditions/python/TileSampleNoiseConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileSampleNoiseConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile sample noise tool and conditions algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileSampleNoiseCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile sample noise conditions algorithm
@@ -105,7 +106,7 @@ def TileCondToolNoiseSampleCfg(flags, **kwargs):
             kwargs['TileSampleNoise'] = onlineSampleNoise
             acc.merge( TileSampleNoiseCondAlgCfg(flags, ForceOnline = True, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolNoiseSample
+    TileCondToolNoiseSample=CompFactory.TileCondToolNoiseSample
     acc.setPrivateTools( TileCondToolNoiseSample(name, TileSampleNoise = sampleNoise, 
                                                  TileOnlineSampleNoise = onlineSampleNoise) )
 
diff --git a/TileCalorimeter/TileConditions/python/TileTMDBConfig.py b/TileCalorimeter/TileConditions/python/TileTMDBConfig.py
index f9cc29651ea8..e629a07fe865 100644
--- a/TileCalorimeter/TileConditions/python/TileTMDBConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileTMDBConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile TMDB conditions tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileTMDBCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile TMDB conditions algorithms
@@ -109,7 +110,7 @@ def TileCondToolTMDBCfg(flags, **kwargs):
 
     acc.merge( TileTMDBCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolTMDB
+    TileCondToolTMDB=CompFactory.TileCondToolTMDB
     acc.setPrivateTools( TileCondToolTMDB(TileTMDBThreshold = threshod,
                                           TileTMDBDelay = delay,
                                           TileTMDBTMF = tmf,
diff --git a/TileCalorimeter/TileConditions/python/TileTimingConfig.py b/TileCalorimeter/TileConditions/python/TileTimingConfig.py
index 99e0855614b5..895656d69d3e 100644
--- a/TileCalorimeter/TileConditions/python/TileTimingConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileTimingConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile timing conditions tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileTimingCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile timing conditions algorithm
@@ -113,7 +114,7 @@ def TileCondToolTimingCfg(flags, **kwargs):
 
     acc.merge( TileTimingCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolTiming
+    TileCondToolTiming=CompFactory.TileCondToolTiming
     acc.setPrivateTools( TileCondToolTiming(name, TileTiming = timing) )
 
     return acc
diff --git a/TileCalorimeter/TileG4/TileAncillary/MinBiasScintillator/python/MinBiasScintillatorToolConfig.py b/TileCalorimeter/TileG4/TileAncillary/MinBiasScintillator/python/MinBiasScintillatorToolConfig.py
index 928b5efd478e..eff199174cf5 100644
--- a/TileCalorimeter/TileG4/TileAncillary/MinBiasScintillator/python/MinBiasScintillatorToolConfig.py
+++ b/TileCalorimeter/TileG4/TileAncillary/MinBiasScintillator/python/MinBiasScintillatorToolConfig.py
@@ -1,7 +1,8 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from ISF_Algorithms.collection_merger_helpersNew import CollectionMergerCfg
-from MinBiasScintillator.MinBiasScintillatorConf import MinBiasScintillatorSDTool
+from AthenaConfiguration.ComponentFactory import CompFactory
+MinBiasScintillatorSDTool=CompFactory.MinBiasScintillatorSDTool
 
 
 def MinBiasScintillatorSDCfg(ConfigFlags, name="MinBiasScintillatorSD", **kwargs):
diff --git a/TileCalorimeter/TileG4/TileGeoG4Calib/python/TileGeoG4CalibConfigNew.py b/TileCalorimeter/TileG4/TileGeoG4Calib/python/TileGeoG4CalibConfigNew.py
index 969e432360ba..54361a4f9f40 100644
--- a/TileCalorimeter/TileG4/TileGeoG4Calib/python/TileGeoG4CalibConfigNew.py
+++ b/TileCalorimeter/TileG4/TileGeoG4Calib/python/TileGeoG4CalibConfigNew.py
@@ -1,7 +1,8 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from TileGeoG4Calib.TileGeoG4CalibConf import TileGeoG4CalibSDTool
+from AthenaConfiguration.ComponentFactory import CompFactory
+TileGeoG4CalibSDTool=CompFactory.TileGeoG4CalibSDTool
 
 
 def TileGeoG4CalibSDCfg(ConfigFlags, name="TileGeoG4CalibSD", **kwargs):
diff --git a/TileCalorimeter/TileG4/TileGeoG4SD/python/TileGeoG4SDToolConfig.py b/TileCalorimeter/TileG4/TileGeoG4SD/python/TileGeoG4SDToolConfig.py
index f0003cc04385..ebb07f945bca 100644
--- a/TileCalorimeter/TileG4/TileGeoG4SD/python/TileGeoG4SDToolConfig.py
+++ b/TileCalorimeter/TileG4/TileGeoG4SD/python/TileGeoG4SDToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from ISF_Algorithms.collection_merger_helpersNew import CollectionMergerCfg
 
-from TileGeoG4SD.TileGeoG4SDConf import TileGeoG4SDTool, TileGeoG4SDCalc
+TileGeoG4SDTool, TileGeoG4SDCalc=CompFactory.getComps("TileGeoG4SDTool","TileGeoG4SDCalc",)
 
 def TileGeoG4SDCfg(ConfigFlags, name="TileGeoG4SD", **kwargs):
     bare_collection_name = "TileHitVec"
diff --git a/TileCalorimeter/TileGeoModel/python/TileGMConfig.py b/TileCalorimeter/TileGeoModel/python/TileGMConfig.py
index 061eda0410a6..6cf16747cca9 100644
--- a/TileCalorimeter/TileGeoModel/python/TileGMConfig.py
+++ b/TileCalorimeter/TileGeoModel/python/TileGMConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AtlasGeoModel.GeoModelConfig import GeoModelCfg
 from AthenaCommon.Configurable import Configurable
 Configurable.configurableRun3Behavior=1
@@ -9,7 +10,7 @@ Configurable.configurableRun3Behavior=1
 def TileGMCfg(configFlags):
     result=GeoModelCfg(configFlags)
 
-    from TileGeoModel.TileGeoModelConf import TileDetectorTool
+    TileDetectorTool=CompFactory.TileDetectorTool
     result.getPrimary().DetectorTools += [ TileDetectorTool() ]
     if not configFlags.Detector.SimulateCalo:
         result.getPrimary().DetectorTools["TileDetectorTool"].GeometryConfig = "RECO"
diff --git a/TileCalorimeter/TileL2Algs/python/TileL2Config.py b/TileCalorimeter/TileL2Algs/python/TileL2Config.py
index 46306da7c9ac..318d72377ce1 100644
--- a/TileCalorimeter/TileL2Algs/python/TileL2Config.py
+++ b/TileCalorimeter/TileL2Algs/python/TileL2Config.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile L2 builder tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def TileL2BuilderCfg(flags, **kwargs):
@@ -33,7 +34,7 @@ def TileL2BuilderCfg(flags, **kwargs):
         emScaleTool = acc.popToolsAndMerge( TileCondToolEmscaleCfg(flags) )
         kwargs['TileCondToolEmscale'] = emScaleTool
 
-    from TileL2Algs.TileL2AlgsConf import TileL2Builder
+    TileL2Builder=CompFactory.TileL2Builder
     acc.setPrivateTools( TileL2Builder(**kwargs) )
 
     return acc
@@ -61,7 +62,7 @@ def TileRawChannelToL2Cfg(flags, **kwargs):
         kwargs['TileL2Builder'] = l2Builder
 
 
-    from TileL2Algs.TileL2AlgsConf import TileRawChannelToL2
+    TileRawChannelToL2=CompFactory.TileRawChannelToL2
     acc.addEventAlgo( TileRawChannelToL2(**kwargs), primary = True )
 
     return acc
diff --git a/TileCalorimeter/TileMonitoring/python/TileTowerBuilderConfig.py b/TileCalorimeter/TileMonitoring/python/TileTowerBuilderConfig.py
index 75d3a37e8e8d..554d1f9ec2ad 100644
--- a/TileCalorimeter/TileMonitoring/python/TileTowerBuilderConfig.py
+++ b/TileCalorimeter/TileMonitoring/python/TileTowerBuilderConfig.py
@@ -7,6 +7,7 @@
 '''
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 def TileTowerBuilderAlgCfg(flags, **kwargs):
 
     acc = ComponentAccumulator()
@@ -24,14 +25,14 @@ def TileTowerBuilderAlgCfg(flags, **kwargs):
     from LArGeoAlgsNV.LArGMConfig import LArGMCfg
     acc.merge(LArGMCfg(flags))
 
-    from TileRecUtils.TileRecUtilsConf import TileTowerBuilderTool
+    TileTowerBuilderTool=CompFactory.TileTowerBuilderTool
     tileCmbTwrBldr = TileTowerBuilderTool( name = 'TileCmbTwrBldr',
                                            CellContainerName = 'AllCalo',
                                            IncludedCalos = ['TILE'])
 
     kwargs['TowerBuilderTools'] = [ tileCmbTwrBldr ]
 
-    from CaloRec.CaloRecConf import CaloTowerAlgorithm
+    CaloTowerAlgorithm=CompFactory.CaloTowerAlgorithm
     acc.addEventAlgo(CaloTowerAlgorithm(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileMonitoring/python/TileTowerMonitorAlgorithm.py b/TileCalorimeter/TileMonitoring/python/TileTowerMonitorAlgorithm.py
index 17b702d3a3bf..6b927409ac4d 100644
--- a/TileCalorimeter/TileMonitoring/python/TileTowerMonitorAlgorithm.py
+++ b/TileCalorimeter/TileMonitoring/python/TileTowerMonitorAlgorithm.py
@@ -6,6 +6,7 @@
 @brief Python configuration of TileTowerMonitorAlgorithm algorithm for the Run III
 '''
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileTowerMonitoringConfig(flags, **kwargs):
 
@@ -25,7 +26,7 @@ def TileTowerMonitoringConfig(flags, **kwargs):
     helper = AthMonitorCfgHelper(flags,'TileTowerMonitoring')
 
     # Adding an TileTowerMonitorAlgorithm algorithm to the helper
-    from TileMonitoring.TileMonitoringConf import TileTowerMonitorAlgorithm
+    TileTowerMonitorAlgorithm=CompFactory.TileTowerMonitorAlgorithm
     tileTowerMonAlg = helper.addAlgorithm(TileTowerMonitorAlgorithm, 'TileTowerMonAlg')
 
     tileTowerMonAlg.TriggerChain = ''
diff --git a/TileCalorimeter/TileRecAlgs/python/MBTSTimeDiffEventInfoAlgConfig.py b/TileCalorimeter/TileRecAlgs/python/MBTSTimeDiffEventInfoAlgConfig.py
index af646dfa08c0..9bf860e5c0d1 100644
--- a/TileCalorimeter/TileRecAlgs/python/MBTSTimeDiffEventInfoAlgConfig.py
+++ b/TileCalorimeter/TileRecAlgs/python/MBTSTimeDiffEventInfoAlgConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured MBTS time difference algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def MBTSTimeDiffEventInfoAlgCfg(flags, **kwargs):
     """Return component accumulator with configured MBTS time difference algorithm
@@ -22,7 +23,7 @@ def MBTSTimeDiffEventInfoAlgCfg(flags, **kwargs):
     from LArGeoAlgsNV.LArGMConfig import LArGMCfg
     acc.merge(LArGMCfg(flags))
 
-    from TileRecAlgs.TileRecAlgsConf import MBTSTimeDiffEventInfoAlg
+    MBTSTimeDiffEventInfoAlg=CompFactory.MBTSTimeDiffEventInfoAlg
     acc.addEventAlgo(MBTSTimeDiffEventInfoAlg(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileRecAlgs/python/TileDigitsFilterConfig.py b/TileCalorimeter/TileRecAlgs/python/TileDigitsFilterConfig.py
index e675015e0b6d..83bc83b74516 100644
--- a/TileCalorimeter/TileRecAlgs/python/TileDigitsFilterConfig.py
+++ b/TileCalorimeter/TileRecAlgs/python/TileDigitsFilterConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile digits filter algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileDigitsFilterCfg(flags, **kwargs):
     """Return component accumulator with configured Tile digits filter algorithm
@@ -19,7 +20,7 @@ def TileDigitsFilterCfg(flags, **kwargs):
     from TileConditions.TileCablingSvcConfig import TileCablingSvcCfg
     acc.merge( TileCablingSvcCfg(flags) )
 
-    from TileRecAlgs.TileRecAlgsConf import TileDigitsFilter
+    TileDigitsFilter=CompFactory.TileDigitsFilter
     acc.addEventAlgo(TileDigitsFilter(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileRecUtils/python/TileCellBuilderConfig.py b/TileCalorimeter/TileRecUtils/python/TileCellBuilderConfig.py
index b5b42e454993..34a7fbeb1e07 100644
--- a/TileCalorimeter/TileRecUtils/python/TileCellBuilderConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileCellBuilderConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile Cell builder tool"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileCellBuilderCfg(flags, **kwargs):
     """Return component accumulator with configured private Tile Cell builder tool
@@ -60,7 +61,7 @@ def TileCellBuilderCfg(flags, **kwargs):
             kwargs['TileDSPRawChannelContainer'] = tileRawChannelContainerDSP
             acc.merge( corrAlgAcc )
 
-    from TileRecUtils.TileRecUtilsConf import TileCellBuilder
+    TileCellBuilder=CompFactory.TileCellBuilder
     acc.setPrivateTools( TileCellBuilder(**kwargs) )
 
     return acc
diff --git a/TileCalorimeter/TileRecUtils/python/TileCellMakerConfig.py b/TileCalorimeter/TileRecUtils/python/TileCellMakerConfig.py
index d072ba684bf2..5abffbd34956 100644
--- a/TileCalorimeter/TileRecUtils/python/TileCellMakerConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileCellMakerConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile Cell maker algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from CaloCellCorrection.CaloCellCorrectionConfig import CaloCellNeighborsAverageCorrCfg
 
@@ -22,7 +23,7 @@ def CaloCellContainerCheckerToolCfg(flags):
     from TileGeoModel.TileGMConfig import TileGMCfg
     acc.merge(TileGMCfg(flags))
 
-    from CaloRec.CaloRecConf import CaloCellContainerCheckerTool
+    CaloCellContainerCheckerTool=CompFactory.CaloCellContainerCheckerTool
     acc.setPrivateTools( CaloCellContainerCheckerTool() )
 
     return acc
@@ -64,7 +65,7 @@ def TileCellMakerCfg(flags, **kwargs):
         from TileRecUtils.TileRawChannelMakerConfig import TileRawChannelMakerCfg
         acc.merge( TileRawChannelMakerCfg(flags) )
 
-    from CaloRec.CaloRecConf import CaloCellMaker, CaloCellContainerFinalizerTool
+    CaloCellMaker, CaloCellContainerFinalizerTool=CompFactory.getComps("CaloCellMaker","CaloCellContainerFinalizerTool",)
     from TileRecUtils.TileCellBuilderConfig import TileCellBuilderCfg
     tileCellBuilder = acc.popToolsAndMerge( TileCellBuilderCfg(flags, SkipGain = skipGain) )
 
diff --git a/TileCalorimeter/TileRecUtils/python/TileCellNoiseFilterConfig.py b/TileCalorimeter/TileRecUtils/python/TileCellNoiseFilterConfig.py
index bd235a75fb95..d9597e792dea 100644
--- a/TileCalorimeter/TileRecUtils/python/TileCellNoiseFilterConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileCellNoiseFilterConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured private Tile Cell noise filter tool"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def TileCellNoiseFilterCfg(flags, **kwargs):
@@ -20,7 +21,7 @@ def TileCellNoiseFilterCfg(flags, **kwargs):
     from TileGeoModel.TileGMConfig import TileGMCfg
     acc.merge(TileGMCfg(flags))
 
-    from TileRecUtils.TileRecUtilsConf import TileCellNoiseFilter
+    TileCellNoiseFilter=CompFactory.TileCellNoiseFilter
     tileCellNoiseFilter = TileCellNoiseFilter()
 
     from TileConditions.TileEMScaleConfig import TileCondToolEmscaleCfg
diff --git a/TileCalorimeter/TileRecUtils/python/TileDQstatusConfig.py b/TileCalorimeter/TileRecUtils/python/TileDQstatusConfig.py
index 267615a9ed87..8cdc595d4143 100644
--- a/TileCalorimeter/TileRecUtils/python/TileDQstatusConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileDQstatusConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile DQ status tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileDQstatusToolCfg(flags, **kwargs):
     """Return component accumulator with configured private Tile DQ status tool
@@ -21,7 +22,7 @@ def TileDQstatusToolCfg(flags, **kwargs):
         badChanTool = acc.popToolsAndMerge( TileBadChanToolCfg(flags) )
         kwargs['TileBadChanTool'] = badChanTool
 
-    from TileRecUtils.TileRecUtilsConf import TileDQstatusTool
+    TileDQstatusTool=CompFactory.TileDQstatusTool
     acc.setPrivateTools( TileDQstatusTool(**kwargs) )
 
     return acc
@@ -74,7 +75,7 @@ def TileDQstatusAlgCfg(flags, **kwargs):
         tileDQstatusTool = acc.popToolsAndMerge( TileDQstatusToolCfg(flags) )
         kwargs['TileDQstatusTool'] = tileDQstatusTool
 
-    from TileRecUtils.TileRecUtilsConf import TileDQstatusAlg
+    TileDQstatusAlg=CompFactory.TileDQstatusAlg
     acc.addEventAlgo(TileDQstatusAlg(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderConfig.py b/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderConfig.py
index 04e8b840ead5..964733b883e8 100644
--- a/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured base Tile raw channel builder tool"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 _runTypes = {'PHY' : 1, 'LAS' : 2, 'BILAS' : 2, 'PED' : 4, 'CIS' : 8, 'MONOCIS' : 8}
 
@@ -83,13 +84,13 @@ if __name__ == "__main__":
 
     acc = ComponentAccumulator()
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelBuilderFitFilter
+    TileRawChannelBuilderFitFilter=CompFactory.TileRawChannelBuilderFitFilter
     rchBuilderFitAcc = TileRawChannelBuilderCfg(ConfigFlags,
                                                 name = 'TileRawChannelBuilderFit',
                                                 TileRawChannelBuilder = TileRawChannelBuilderFitFilter)
     print( acc.popToolsAndMerge(rchBuilderFitAcc) )
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelBuilderOpt2Filter
+    TileRawChannelBuilderOpt2Filter=CompFactory.TileRawChannelBuilderOpt2Filter
     rchBuilderOpt2Acc = TileRawChannelBuilderCfg(ConfigFlags,
                                                  name = 'TileRawChannelBuilderOpt2',
                                                  TileRawChannelBuilder = TileRawChannelBuilderOpt2Filter)
diff --git a/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderFitConfig.py b/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderFitConfig.py
index 5d25f49d783d..9d7b4f91bc3b 100644
--- a/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderFitConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderFitConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile Fit raw channel builder tool"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileRawChannelBuilderFitFilterCfg(flags, **kwargs):
     """Return component accumulator with configured private Tile Fit raw channel builder tool
@@ -28,7 +29,7 @@ def TileRawChannelBuilderFitFilterCfg(flags, **kwargs):
         timingTool = acc.popToolsAndMerge( TileCondToolTimingCfg(flags) )
         kwargs['TileCondToolTiming'] = timingTool
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelBuilderFitFilter
+    TileRawChannelBuilderFitFilter=CompFactory.TileRawChannelBuilderFitFilter
     from TileRecUtils.TileRawChannelBuilderConfig import TileRawChannelBuilderCfg
     rawChanBuilder = acc.popToolsAndMerge(TileRawChannelBuilderCfg(flags, name, TileRawChannelBuilderFitFilter, **kwargs))
     acc.setPrivateTools(rawChanBuilder)
diff --git a/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderMFConfig.py b/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderMFConfig.py
index 6312a4cdd38c..0063f4c736f5 100644
--- a/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderMFConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderMFConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile MF raw channel builder tool"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileRawChannelBuilderMFCfg(flags, **kwargs):
     """Return component accumulator with configured private Tile MF raw channel builder tool
@@ -46,7 +47,7 @@ def TileRawChannelBuilderMFCfg(flags, **kwargs):
         timingTool = acc.popToolsAndMerge( TileCondToolTimingCfg(flags) )
         kwargs['TileCondToolTiming'] = timingTool
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelBuilderMF
+    TileRawChannelBuilderMF=CompFactory.TileRawChannelBuilderMF
     from TileRecUtils.TileRawChannelBuilderConfig import TileRawChannelBuilderCfg
     rawChanBuilder = acc.popToolsAndMerge( TileRawChannelBuilderCfg(flags, name, TileRawChannelBuilderMF, **kwargs) )
     acc.setPrivateTools(rawChanBuilder)
diff --git a/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderOptConfig.py b/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderOptConfig.py
index 55b9f286c25f..3beb886d588f 100644
--- a/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderOptConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderOptConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile raw channel builder tools using Optimal Filtering methods"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileRawChannelBuilderOpt2FilterCfg(flags, method = 'Opt2', **kwargs):
     """Return component accumulator with configured private Tile raw channel builder tool (Opt2)
@@ -63,7 +64,7 @@ def TileRawChannelBuilderOpt2FilterCfg(flags, method = 'Opt2', **kwargs):
         sampleNoiseTool = acc.popToolsAndMerge( TileCondToolNoiseSampleCfg(flags) )
         kwargs['TileCondToolNoiseSample'] = sampleNoiseTool
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelBuilderOpt2Filter
+    TileRawChannelBuilderOpt2Filter=CompFactory.TileRawChannelBuilderOpt2Filter
     from TileRecUtils.TileRawChannelBuilderConfig import TileRawChannelBuilderCfg
     builderTool = acc.popToolsAndMerge( TileRawChannelBuilderCfg(flags, name, TileRawChannelBuilderOpt2Filter, **kwargs) )
 
diff --git a/TileCalorimeter/TileRecUtils/python/TileRawChannelCorrectionConfig.py b/TileCalorimeter/TileRecUtils/python/TileRawChannelCorrectionConfig.py
index ad84a68ca062..13bbebfcbf4e 100644
--- a/TileCalorimeter/TileRecUtils/python/TileRawChannelCorrectionConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileRawChannelCorrectionConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile correction tools and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileRawChannelOF1CorrectorCfg(flags, **kwargs):
     """Return component accumulator with configured private Tile OF1 raw channel correction tool
@@ -44,7 +45,7 @@ def TileRawChannelOF1CorrectorCfg(flags, **kwargs):
             kwargs['TileCondToolEmscale'] = acc.popToolsAndMerge( TileCondToolEmscaleCfg(flags) )
 
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelOF1Corrector
+    TileRawChannelOF1Corrector=CompFactory.TileRawChannelOF1Corrector
     acc.setPrivateTools( TileRawChannelOF1Corrector(**kwargs) )
 
     return acc
@@ -81,7 +82,7 @@ def TileRawChannelNoiseFilterCfg(flags, **kwargs):
         badChanTool = acc.popToolsAndMerge( TileBadChanToolCfg(flags) )
         kwargs['TileBadChanTool'] = badChanTool
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelNoiseFilter
+    TileRawChannelNoiseFilter=CompFactory.TileRawChannelNoiseFilter
     acc.setPrivateTools( TileRawChannelNoiseFilter(**kwargs) )
 
     return acc
@@ -128,7 +129,7 @@ def TileRawChannelCorrectionAlgCfg(flags, **kwargs):
     if 'NoiseFilterTools' not in kwargs:
         kwargs['NoiseFilterTools'] = acc.popToolsAndMerge( TileRawChannelCorrectionToolsCfg(flags) )
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelCorrectionAlg
+    TileRawChannelCorrectionAlg=CompFactory.TileRawChannelCorrectionAlg
     acc.addEventAlgo(TileRawChannelCorrectionAlg(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileRecUtils/python/TileRawChannelMakerConfig.py b/TileCalorimeter/TileRecUtils/python/TileRawChannelMakerConfig.py
index b418910a0ec9..668e15c20cd7 100644
--- a/TileCalorimeter/TileRecUtils/python/TileRawChannelMakerConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileRawChannelMakerConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile raw channel maker algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileRawChannelMakerCfg(flags, **kwargs):
     """Return component accumulator with configured Tile raw channel maker algorithm
@@ -64,7 +65,7 @@ def TileRawChannelMakerCfg(flags, **kwargs):
 
     kwargs.setdefault('TileRawChannelBuilder', tileRawChannelBuilder)
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelMaker
+    TileRawChannelMaker=CompFactory.TileRawChannelMaker
     acc.addEventAlgo(TileRawChannelMaker(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileSimAlgs/python/TileDigitsMakerConfig.py b/TileCalorimeter/TileSimAlgs/python/TileDigitsMakerConfig.py
index a389fdce3f32..49140fb887f6 100644
--- a/TileCalorimeter/TileSimAlgs/python/TileDigitsMakerConfig.py
+++ b/TileCalorimeter/TileSimAlgs/python/TileDigitsMakerConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile digits maker algorithm"""
 
 from TileSimAlgs.TileHitVecToCntConfig import TileHitVecToCntCfg
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileDigitsMakerCfg(flags, **kwargs):
     """Return component accumulator with configured Tile digits maker algorithm
@@ -57,7 +58,7 @@ def TileDigitsMakerCfg(flags, **kwargs):
         tileNoise = False
         tileCoherNoise = False
 
-        from PileUpTools.PileUpToolsConf import PileUpMergeSvc
+        PileUpMergeSvc=CompFactory.PileUpMergeSvc
         acc.addService( PileUpMergeSvc() )
 
         from TileRecUtils.TileDQstatusConfig import TileDQstatusToolCfg
@@ -108,7 +109,7 @@ def TileDigitsMakerCfg(flags, **kwargs):
 
     kwargs.setdefault('IntegerDigits', not flags.Digitization.PileUpPremixing)
 
-    from TileSimAlgs.TileSimAlgsConf import TileDigitsMaker
+    TileDigitsMaker=CompFactory.TileDigitsMaker
     digitsMaker = TileDigitsMaker(**kwargs)
 
     acc.addEventAlgo(digitsMaker, primary = True)
diff --git a/TileCalorimeter/TileSimAlgs/python/TileHitToTTL1Config.py b/TileCalorimeter/TileSimAlgs/python/TileHitToTTL1Config.py
index b90cb7f98337..ef146b95f822 100644
--- a/TileCalorimeter/TileSimAlgs/python/TileHitToTTL1Config.py
+++ b/TileCalorimeter/TileSimAlgs/python/TileHitToTTL1Config.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile hits to TTL1 algorithm"""
 
 from TileSimAlgs.TileHitVecToCntConfig import TileHitVecToCntCfg
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileHitToTTL1Cfg(flags, **kwargs):
     """Return component accumulator with configured Tile hits to TTL1 algorithm
@@ -43,7 +44,7 @@ def TileHitToTTL1Cfg(flags, **kwargs):
         kwargs.setdefault('TileTTL1Container', 'TileTTL1Cnt')
         kwargs.setdefault('TileMBTSTTL1Container', 'TileTTL1MBTS')
 
-    from TileSimAlgs.TileSimAlgsConf import TileHitToTTL1
+    TileHitToTTL1=CompFactory.TileHitToTTL1
     acc.addEventAlgo(TileHitToTTL1(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileSimAlgs/python/TileHitVecToCntConfig.py b/TileCalorimeter/TileSimAlgs/python/TileHitVecToCntConfig.py
index 2c6ef58132c9..a60ec6838223 100644
--- a/TileCalorimeter/TileSimAlgs/python/TileHitVecToCntConfig.py
+++ b/TileCalorimeter/TileSimAlgs/python/TileHitVecToCntConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured private Tile hit vector to container tool"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 
 def getTileFirstXing():
@@ -19,7 +20,7 @@ def getTileRange(name = 'TileRange', **kwargs):
     kwargs.setdefault('LastXing',  getTileLastXing() )
     kwargs.setdefault('ItemList', ['TileHitVector#TileHitVec', 'TileHitVector#MBTSHits'] )
 
-    from PileUpComps.PileUpCompsConf import PileUpXingFolder
+    PileUpXingFolder=CompFactory.PileUpXingFolder
     return PileUpXingFolder(name, **kwargs)
 
 
@@ -61,11 +62,11 @@ def TileHitVecToCntToolCfg(flags, **kwargs):
         kwargs.setdefault('PileUp', flags.Digitization.Pileup)
 
     if kwargs['RndmEvtOverlay'] or kwargs['PileUp']:
-        from PileUpTools.PileUpToolsConf import PileUpMergeSvc
+        PileUpMergeSvc=CompFactory.PileUpMergeSvc
         acc.addService( PileUpMergeSvc() )
 
     if flags.Beam.Type == 'cosmics':
-        from CommissionUtils.CommissionUtilsConf import CosmicTriggerTimeTool
+        CosmicTriggerTimeTool=CompFactory.CosmicTriggerTimeTool
         kwargs.setdefault('TriggerTimeTool', CosmicTriggerTimeTool())
         kwargs.setdefault('HitTimeFlag', 2)
         kwargs.setdefault('UseTriggerTime', True)
@@ -74,7 +75,7 @@ def TileHitVecToCntToolCfg(flags, **kwargs):
         kwargs.setdefault("FirstXing", getTileFirstXing() )
         kwargs.setdefault("LastXing",  getTileLastXing() )
 
-    from TileSimAlgs.TileSimAlgsConf import TileHitVecToCntTool
+    TileHitVecToCntTool=CompFactory.TileHitVecToCntTool
     acc.setPrivateTools(TileHitVecToCntTool(**kwargs))
 
     return acc
@@ -95,7 +96,7 @@ def TileHitVecToCntCfg(flags, **kwargs):
         tool = acc.popToolsAndMerge( TileHitVecToCntToolCfg(flags) )
         kwargs.setdefault('DigitizationTool', tool)
 
-    from TileSimAlgs.TileSimAlgsConf import TileHitVecToCnt
+    TileHitVecToCnt=CompFactory.TileHitVecToCnt
     acc.addEventAlgo(TileHitVecToCnt(**kwargs))
 
     return acc
diff --git a/TileCalorimeter/TileSimAlgs/python/TileMuonReceiverConfig.py b/TileCalorimeter/TileSimAlgs/python/TileMuonReceiverConfig.py
index 9219c1c2a069..af4aefb284fb 100644
--- a/TileCalorimeter/TileSimAlgs/python/TileMuonReceiverConfig.py
+++ b/TileCalorimeter/TileSimAlgs/python/TileMuonReceiverConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile pulse for muon receiver algorithm"""
 
 from TileSimAlgs.TileHitVecToCntConfig import TileHitVecToCntCfg
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TilePulseForTileMuonReceiverCfg(flags, **kwargs):
     """Return component accumulator with configured Tile muon receiver algorithm
@@ -83,7 +84,7 @@ def TilePulseForTileMuonReceiverCfg(flags, **kwargs):
     else:
         kwargs.setdefault('MuonReceiverDigitsContainer', 'MuRcvDigitsCnt')
 
-    from TileSimAlgs.TileSimAlgsConf import TilePulseForTileMuonReceiver
+    TilePulseForTileMuonReceiver=CompFactory.TilePulseForTileMuonReceiver
     acc.addEventAlgo(TilePulseForTileMuonReceiver(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileSimAlgs/python/TileMuonReceiverDecisionConfig.py b/TileCalorimeter/TileSimAlgs/python/TileMuonReceiverDecisionConfig.py
index 78f3cb51dc14..8cf3d66bce78 100644
--- a/TileCalorimeter/TileSimAlgs/python/TileMuonReceiverDecisionConfig.py
+++ b/TileCalorimeter/TileSimAlgs/python/TileMuonReceiverDecisionConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile muon receiver decision algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileMuonReceiverDecisionCfg(flags, **kwargs):
     """Return component accumulator with configured Tile muon receiver decision algorithm
@@ -17,7 +18,7 @@ def TileMuonReceiverDecisionCfg(flags, **kwargs):
 
     acc = ComponentAccumulator()
 
-    from TileSimAlgs.TileSimAlgsConf import TileMuonReceiverDecision
+    TileMuonReceiverDecision=CompFactory.TileMuonReceiverDecision
     muRcvDecisionAlg = TileMuonReceiverDecision(name,
                                                 MuonReceiverEneThreshCellD6Low = 500,
                                                 MuonReceiverEneThreshCellD6andD5Low = 500,
diff --git a/Tracking/TrkDetDescr/TrkDetDescrSvc/python/AtlasTrackingGeometrySvcConfig.py b/Tracking/TrkDetDescr/TrkDetDescrSvc/python/AtlasTrackingGeometrySvcConfig.py
index e20475a9bc9f..d95d56675d78 100644
--- a/Tracking/TrkDetDescr/TrkDetDescrSvc/python/AtlasTrackingGeometrySvcConfig.py
+++ b/Tracking/TrkDetDescr/TrkDetDescrSvc/python/AtlasTrackingGeometrySvcConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from TrkDetDescrSvc.TrkDetDescrSvcConf import Trk__TrackingGeometrySvc
-from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__GeometryBuilder
+from AthenaConfiguration.ComponentFactory import CompFactory
+Trk__TrackingGeometrySvc=CompFactory.Trk__TrackingGeometrySvc
+Trk__GeometryBuilder=CompFactory.Trk__GeometryBuilder
 from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline
 from SubDetectorEnvelopes.SubDetectorEnvelopesConfig import getEnvelopeDefSvc
 
@@ -34,7 +35,7 @@ def _getInDetTrackingGeometryBuilder(name, flags,result, envelopeDefinitionSvc,
   # i.e. this is far from complete, but is better than what was there before.
   
   # beampipe        
-  from InDetTrackingGeometry.InDetTrackingGeometryConf import InDet__BeamPipeBuilder
+  InDet__BeamPipeBuilder=CompFactory.InDet__BeamPipeBuilder
   beamPipeBuilder = InDet__BeamPipeBuilder(name=namePrefix+'BeamPipeBuilder')
 
   result.addPublicTool(beamPipeBuilder)
@@ -44,7 +45,7 @@ def _getInDetTrackingGeometryBuilder(name, flags,result, envelopeDefinitionSvc,
 
   # Pixel
   if flags.Detector.GeometryPixel:
-    from InDetTrackingGeometry.InDetTrackingGeometryConf import InDet__SiLayerBuilder
+    InDet__SiLayerBuilder=CompFactory.InDet__SiLayerBuilder
     PixelLayerBuilder = InDet__SiLayerBuilder(name=namePrefix+'PixelLayerBuilder')
     PixelLayerBuilder.PixelCase 	       = True
     PixelLayerBuilder.Identification       = 'Pixel'
@@ -71,7 +72,7 @@ def _getInDetTrackingGeometryBuilder(name, flags,result, envelopeDefinitionSvc,
 
   if flags.Detector.GeometrySCT:
     # SCT building
-    from InDetTrackingGeometry.InDetTrackingGeometryConf import InDet__SiLayerBuilder
+    InDet__SiLayerBuilder=CompFactory.InDet__SiLayerBuilder
     SCT_LayerBuilder = InDet__SiLayerBuilder(name=namePrefix+'SCT_LayerBuilder')
     SCT_LayerBuilder.PixelCase                       = False
     SCT_LayerBuilder.Identification                  = 'SCT'
@@ -94,7 +95,7 @@ def _getInDetTrackingGeometryBuilder(name, flags,result, envelopeDefinitionSvc,
     colors        += [ 4 ]
 
   if flags.Detector.GeometryTRT:                                                      
-    from InDetTrackingGeometry.InDetTrackingGeometryConf import InDet__TRT_LayerBuilder
+    InDet__TRT_LayerBuilder=CompFactory.InDet__TRT_LayerBuilder
     TRT_LayerBuilder = InDet__TRT_LayerBuilder(name=namePrefix+'TRT_LayerBuilder')
     # TRT barrel specifications - assume defaults
     # SCT endcap specifications - assume defaults
@@ -113,27 +114,27 @@ def _getInDetTrackingGeometryBuilder(name, flags,result, envelopeDefinitionSvc,
     colors        += [ 5 ]
 
   # helpers for the InDetTrackingGeometry Builder : layer array creator
-  from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__LayerArrayCreator
+  Trk__LayerArrayCreator=CompFactory.Trk__LayerArrayCreator
   InDetLayerArrayCreator = Trk__LayerArrayCreator(name = 'InDetLayerArrayCreator')
   InDetLayerArrayCreator.EmptyLayerMode           = 2 # deletes empty material layers from arrays
   # add to ToolSvc
   result.addPublicTool(InDetLayerArrayCreator)  
 
   # helpers for the InDetTrackingGeometry Builder : volume array creator
-  from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__TrackingVolumeArrayCreator
+  Trk__TrackingVolumeArrayCreator=CompFactory.Trk__TrackingVolumeArrayCreator
   InDetTrackingVolumeArrayCreator                       = Trk__TrackingVolumeArrayCreator(name = 'InDetTrackingVolumeArrayCreator')
   # add to ToolSvc
   result.addPublicTool(InDetTrackingVolumeArrayCreator)  
 
   # helpers for the InDetTrackingGeometry Builder : tracking voluem helper for glueing
-  from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__TrackingVolumeHelper
+  Trk__TrackingVolumeHelper=CompFactory.Trk__TrackingVolumeHelper
   InDetTrackingVolumeHelper                             = Trk__TrackingVolumeHelper(name ='InDetTrackingVolumeHelper')
   # the material bins - assume defaults
   # add to ToolSvc
   result.addPublicTool(InDetTrackingVolumeHelper)  
   
   # helpers for the InDetTrackingGeometry Builder : cylinder volume creator
-  from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__CylinderVolumeCreator
+  Trk__CylinderVolumeCreator=CompFactory.Trk__CylinderVolumeCreator
   InDetCylinderVolumeCreator = Trk__CylinderVolumeCreator(name = 'InDetCylinderVolumeCreator')
   # give it the layer array creator - assume defaults
   # specifiy the binning, passive layers, entry layers - assume defaults
@@ -141,7 +142,7 @@ def _getInDetTrackingGeometryBuilder(name, flags,result, envelopeDefinitionSvc,
   result.addPublicTool(InDetCylinderVolumeCreator)  
 
   # the tracking geometry builder
-  from InDetTrackingGeometry.InDetTrackingGeometryConf import InDet__RobustTrackingGeometryBuilder
+  InDet__RobustTrackingGeometryBuilder=CompFactory.InDet__RobustTrackingGeometryBuilder
   return InDet__RobustTrackingGeometryBuilder(namePrefix+name,
                                                 BeamPipeBuilder   = beamPipeBuilder,
                                                 LayerBuilders     = layerbuilders,
@@ -165,16 +166,16 @@ def _getInDetTrackingGeometryBuilder(name, flags,result, envelopeDefinitionSvc,
 # Replaces https://gitlab.cern.ch/atlas/athena/blob/master/Calorimeter/CaloTrackingGeometry/python/ConfiguredCaloTrackingGeometryBuilder.py
 def _getCaloTrackingGeometryBuilder(name, flags,result, envelopeDefinitionSvc, trackingVolumeHelper, namePrefix=''):
   # The following replaces LArCalorimeter/LArTrackingGeometry/python/ConfiguredLArVolumeBuilder.py
-  from LArTrackingGeometry.LArTrackingGeometryConf import LAr__LArVolumeBuilder
+  LAr__LArVolumeBuilder=CompFactory.LAr__LArVolumeBuilder
   lArVolumeBuilder = LAr__LArVolumeBuilder(TrackingVolumeHelper = trackingVolumeHelper,)
   result.addPublicTool(lArVolumeBuilder)
   
   # The following replaces TileCalorimeter/TileTrackingGeometry/python/ConfiguredTileVolumeBuilder.py
-  from TileTrackingGeometry.TileTrackingGeometryConf import Tile__TileVolumeBuilder
+  Tile__TileVolumeBuilder=CompFactory.Tile__TileVolumeBuilder
   tileVolumeBuilder = Tile__TileVolumeBuilder( TrackingVolumeHelper = trackingVolumeHelper,  )
   result.addPublicTool(tileVolumeBuilder)
   
-  from CaloTrackingGeometry.CaloTrackingGeometryConf import Calo__CaloTrackingGeometryBuilder
+  Calo__CaloTrackingGeometryBuilder=CompFactory.Calo__CaloTrackingGeometryBuilder
   return Calo__CaloTrackingGeometryBuilder(namePrefix+name, LArVolumeBuilder = lArVolumeBuilder,
                                                    TileVolumeBuilder = tileVolumeBuilder,
                                                    TrackingVolumeHelper = trackingVolumeHelper,
@@ -204,11 +205,11 @@ def TrackingGeometrySvcCfg( flags , name = 'AtlasTrackingGeometrySvc', doMateria
       atlas_geometry_builder.InDetTrackingGeometryBuilder = inDetTrackingGeometryBuilder
       
     if flags.Detector.GeometryCalo:
-      from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__CylinderVolumeCreator
+      Trk__CylinderVolumeCreator=CompFactory.Trk__CylinderVolumeCreator
       caloVolumeCreator = Trk__CylinderVolumeCreator("CaloVolumeCreator")
       result.addPublicTool(caloVolumeCreator)
 
-      from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__TrackingVolumeHelper
+      Trk__TrackingVolumeHelper=CompFactory.Trk__TrackingVolumeHelper
       trackingVolumeHelper = Trk__TrackingVolumeHelper(name='TrackingVolumeHelper')
       result.addPublicTool(trackingVolumeHelper)
 
@@ -218,20 +219,20 @@ def TrackingGeometrySvcCfg( flags , name = 'AtlasTrackingGeometrySvc', doMateria
 
     if flags.Detector.GeometryMuon:
       # Copied from from MuonTrackingGeometry.ConfiguredMuonTrackingGeometry import MuonTrackingGeometryBuilder
-      from MuonTrackingGeometry.MuonTrackingGeometryConf import Muon__MuonStationTypeBuilder
+      Muon__MuonStationTypeBuilder=CompFactory.Muon__MuonStationTypeBuilder
       muonStationTypeBuilder= Muon__MuonStationTypeBuilder(name = 'MuonStationTypeBuilder')
       result.addPublicTool(muonStationTypeBuilder)
     
-      from MuonTrackingGeometry.MuonTrackingGeometryConf import Muon__MuonStationBuilder
+      Muon__MuonStationBuilder=CompFactory.Muon__MuonStationBuilder
       muonStationBuilder= Muon__MuonStationBuilder(name = 'MuonStationBuilder')
       muonStationBuilder.StationTypeBuilder = muonStationTypeBuilder
       result.addPublicTool(muonStationBuilder)
 
-      from MuonTrackingGeometry.MuonTrackingGeometryConf import Muon__MuonInertMaterialBuilder
+      Muon__MuonInertMaterialBuilder=CompFactory.Muon__MuonInertMaterialBuilder
       muonInertMaterialBuilder= Muon__MuonInertMaterialBuilder(name = 'MuonInertMaterialBuilder')
       result.addPublicTool(muonInertMaterialBuilder)
 
-      from MuonTrackingGeometry.MuonTrackingGeometryConf import Muon__MuonTrackingGeometryBuilder
+      Muon__MuonTrackingGeometryBuilder=CompFactory.Muon__MuonTrackingGeometryBuilder
       muonTrackingGeometryBuilder= Muon__MuonTrackingGeometryBuilder(name = 'MuonTrackingGeometryBuilder', EnvelopeDefinitionSvc=atlas_env_def_service)
       result.addPublicTool(muonTrackingGeometryBuilder)
     
@@ -243,19 +244,19 @@ def TrackingGeometrySvcCfg( flags , name = 'AtlasTrackingGeometrySvc', doMateria
     if flags.TrackingGeometry.MaterialSource == 'COOL':
        CoolDataBaseFolder = '/GLOBAL/TrackingGeo/LayerMaterialV2' # Was from TrkDetFlags.MaterialStoreGateKey()
        # the material provider
-       from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__LayerMaterialProvider
+       Trk__LayerMaterialProvider=CompFactory.Trk__LayerMaterialProvider
        atlasMaterialProvider = Trk__LayerMaterialProvider('AtlasMaterialProvider', LayerMaterialMapName=CoolDataBaseFolder)
        atlas_geometry_processors += [ atlasMaterialProvider ]
 
        # Setup DBs
        result.merge(_setupCondDB(flags, CoolDataBaseFolder))
     elif  flags.TrackingGeometry.MaterialSource == 'Input':
-      from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__InputLayerMaterialProvider
+      Trk__InputLayerMaterialProvider=CompFactory.Trk__InputLayerMaterialProvider
       atlasMaterialProvider = Trk__InputLayerMaterialProvider('AtlasMaterialProvider')
       atlas_geometry_processors += [ atlasMaterialProvider ]
       
     if doMaterialValidation:
-      from TrkDetDescrTestTools.TrkDetDescrTestToolsConf import Trk__LayerMaterialInspector
+      Trk__LayerMaterialInspector=CompFactory.Trk__LayerMaterialInspector
       atlasLayerMaterialInspector = Trk__LayerMaterialInspector('AtlasLayerMaterialInspector')
       atlas_geometry_processors += [ atlasLayerMaterialInspector ]
 
diff --git a/Tracking/TrkEventCnv/TrkEventAthenaPool/python/TrackCollectionReadConfig.py b/Tracking/TrkEventCnv/TrkEventAthenaPool/python/TrackCollectionReadConfig.py
index 84a1011819dd..13be29006234 100644
--- a/Tracking/TrkEventCnv/TrkEventAthenaPool/python/TrackCollectionReadConfig.py
+++ b/Tracking/TrkEventCnv/TrkEventAthenaPool/python/TrackCollectionReadConfig.py
@@ -8,6 +8,7 @@
 # so to read TrackCollection property in MT, we need to use an algorithm.
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 
@@ -58,7 +59,7 @@ in the input file."""
         aliases = ['Tracks']
 
     # Configure the algorithm.
-    from AthenaServices.AthenaServicesConf import AthReadAlg
+    AthReadAlg=CompFactory.AthReadAlg
     alg = AthReadAlg ('TrackCollectionRead_' + key,
                       Key = 'TrackCollection/' + key,
                       Aliases = aliases,
diff --git a/Tracking/TrkExtrapolation/TrkExEngine/python/AtlasExtrapolationEngineConfig.py b/Tracking/TrkExtrapolation/TrkExEngine/python/AtlasExtrapolationEngineConfig.py
index a4ad619b9969..924ea53ccb17 100644
--- a/Tracking/TrkExtrapolation/TrkExEngine/python/AtlasExtrapolationEngineConfig.py
+++ b/Tracking/TrkExtrapolation/TrkExEngine/python/AtlasExtrapolationEngineConfig.py
@@ -5,6 +5,7 @@
 # Based heavily on AtlasExtrapolationEngine.py
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
 
 # import the ExtrapolationEngine configurable
@@ -27,7 +28,7 @@ def AtlasExtrapolationEngineCfg( flags, name = 'Extrapolation', nameprefix='Atla
     result.addPublicTool(rungeKuttaPropagator) #TODO remove one day
       
     # from the Propagator create a Propagation engine to handle path length
-    from TrkExEngine.TrkExEngineConf import Trk__PropagationEngine
+    Trk__PropagationEngine=CompFactory.Trk__PropagationEngine
     staticPropagator = Trk__PropagationEngine(name = nameprefix+'StaticPropagation')
     # give the tools it needs 
     staticPropagator.Propagator               = rungeKuttaPropagator
@@ -37,7 +38,7 @@ def AtlasExtrapolationEngineCfg( flags, name = 'Extrapolation', nameprefix='Atla
     result.addPublicTool(staticPropagator) #TODO remove one day
        
     # load the material effects engine
-    from TrkExEngine.TrkExEngineConf import Trk__MaterialEffectsEngine
+    Trk__MaterialEffectsEngine=CompFactory.Trk__MaterialEffectsEngine
     materialEffectsEngine = Trk__MaterialEffectsEngine(name = nameprefix+'MaterialEffects')
     # configure output formatting               
     materialEffectsEngine.OutputPrefix        = '[ME] - '
@@ -46,7 +47,7 @@ def AtlasExtrapolationEngineCfg( flags, name = 'Extrapolation', nameprefix='Atla
 
         
     # load the static navigation engine
-    from TrkExEngine.TrkExEngineConf import Trk__StaticNavigationEngine
+    Trk__StaticNavigationEngine=CompFactory.Trk__StaticNavigationEngine
     staticNavigator = Trk__StaticNavigationEngine(name = nameprefix+'StaticNavigation')
     # give the tools it needs 
     staticNavigator.PropagationEngine        = staticPropagator
@@ -60,7 +61,7 @@ def AtlasExtrapolationEngineCfg( flags, name = 'Extrapolation', nameprefix='Atla
     result.addPublicTool(staticNavigator) #TODO remove one day
     
     # load the Static ExtrapolationEngine
-    from TrkExEngine.TrkExEngineConf import Trk__StaticEngine
+    Trk__StaticEngine=CompFactory.Trk__StaticEngine
     staticExtrapolator = Trk__StaticEngine(name = nameprefix+'StaticExtrapolation')
     # give the tools it needs 
     staticExtrapolator.PropagationEngine        = staticPropagator
diff --git a/Tracking/TrkExtrapolation/TrkExTools/python/AtlasExtrapolatorConfig.py b/Tracking/TrkExtrapolation/TrkExTools/python/AtlasExtrapolatorConfig.py
index 666dc36a08ab..c5f4386fbea4 100644
--- a/Tracking/TrkExtrapolation/TrkExTools/python/AtlasExtrapolatorConfig.py
+++ b/Tracking/TrkExtrapolation/TrkExTools/python/AtlasExtrapolatorConfig.py
@@ -4,10 +4,11 @@
 # Based heavily on AtlasExtrapolator.py
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
 
 # import the Extrapolator configurable
-from TrkExTools.TrkExToolsConf import Trk__Extrapolator
+Trk__Extrapolator=CompFactory.Trk__Extrapolator
 
 # define the class
 def AtlasExtrapolatorCfg( flags, name = 'AtlasExtrapolator' ):
@@ -55,7 +56,7 @@ def AtlasExtrapolatorCfg( flags, name = 'AtlasExtrapolator' ):
        AtlasUpdators    += [ AtlasMaterialEffectsUpdatorLandau ]
 
        # the UNIQUE NAVIGATOR ( === UNIQUE GEOMETRY) --------------------------------------------------------------
-       from TrkExTools.TrkExToolsConf import Trk__Navigator
+       Trk__Navigator=CompFactory.Trk__Navigator
        AtlasNavigator = Trk__Navigator(name = 'AtlasNavigator')
        AtlasNavigator.TrackingGeometrySvc = geom_svc
        result.addPublicTool(AtlasNavigator) #TODO remove one day
diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/python/MdtDataPreparator_test.py b/Trigger/TrigAlgorithms/TrigL2MuonSA/python/MdtDataPreparator_test.py
index c13e79e5e491..0e6060024276 100644
--- a/Trigger/TrigAlgorithms/TrigL2MuonSA/python/MdtDataPreparator_test.py
+++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/python/MdtDataPreparator_test.py
@@ -10,6 +10,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from AthenaPython.PyAthenaComps import Alg, StatusCode
@@ -43,7 +44,7 @@ def testCfg (configFlags):
     from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
     result.merge (MagneticFieldSvcCfg(configFlags, UseDCS = False))
 
-    from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__MdtDataPreparator
+    TrigL2MuonSA__MdtDataPreparator=CompFactory.TrigL2MuonSA__MdtDataPreparator
     result.addPublicTool (TrigL2MuonSA__MdtDataPreparator ('TrigL2MuonSA::MdtDataPreparator', OutputLevel = 1))
     
     result.addEventAlgo (TestAlg ('TestAlg'))
diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAConfig_newJO.py b/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAConfig_newJO.py
index 5b25db354371..e7f1b1d3b212 100644
--- a/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAConfig_newJO.py
+++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAConfig_newJO.py
@@ -6,6 +6,7 @@
 #  This should be moved at somewhere in offline.
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 ### Output Name ###
 muFastInfo = "MuonL2SAInfo"
@@ -28,7 +29,7 @@ def RpcDataPreparatorCfg( flags, roisKey ):
     acc.merge( rpcAcc )
 
     # Set Rpc data preparator for MuFast data preparator
-    from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__RpcDataPreparator
+    TrigL2MuonSA__RpcDataPreparator=CompFactory.TrigL2MuonSA__RpcDataPreparator
     RpcDataPreparator = TrigL2MuonSA__RpcDataPreparator( RpcPrepDataProvider  = "",
                                                          RpcRawDataProvider   = "",
                                                          DecodeBS = False,
@@ -55,7 +56,7 @@ def TgcDataPreparatorCfg( flags, roisKey ):
     acc.merge( tgcAcc )
 
     # Set Tgc data preparator for MuFast data preparator
-    from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__TgcDataPreparator
+    TrigL2MuonSA__TgcDataPreparator=CompFactory.TrigL2MuonSA__TgcDataPreparator
     TgcDataPreparator = TrigL2MuonSA__TgcDataPreparator( TgcPrepDataProvider  = "",
                                                          TgcRawDataProvider   = "",
                                                          DecodeBS = False,
@@ -82,7 +83,7 @@ def MdtDataPreparatorCfg( flags, roisKey ):
     acc.merge( mdtAcc )
 
     # Set Mdt data preparator for MuFast data preparator
-    from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__MdtDataPreparator
+    TrigL2MuonSA__MdtDataPreparator=CompFactory.TrigL2MuonSA__MdtDataPreparator
     MdtDataPreparator = TrigL2MuonSA__MdtDataPreparator( MdtPrepDataProvider  = "",
                                                          MDT_RawDataProvider   = "",
                                                          DecodeBS = False,
@@ -113,7 +114,7 @@ def CscDataPreparatorCfg( flags, roisKey ):
     acc.merge( cscAcc )
 
     # Set Csc data preparator for MuFast data preparator
-    from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__CscDataPreparator
+    TrigL2MuonSA__CscDataPreparator=CompFactory.TrigL2MuonSA__CscDataPreparator
     CscDataPreparator = TrigL2MuonSA__CscDataPreparator( CscPrepDataProvider  = "",
                                                          CscClusterProvider   = "",
                                                          CscRawDataProvider   = "",
@@ -146,14 +147,14 @@ def muFastSteeringCfg( flags, roisKey, setup="" ):
     acc.merge( cscAcc )
 
     # Set MuFast data preparator
-    from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__MuFastDataPreparator
+    TrigL2MuonSA__MuFastDataPreparator=CompFactory.TrigL2MuonSA__MuFastDataPreparator
     MuFastDataPreparator = TrigL2MuonSA__MuFastDataPreparator( CSCDataPreparator = CscDataPreparator,
                                                                MDTDataPreparator = MdtDataPreparator,
                                                                RPCDataPreparator = RpcDataPreparator,
                                                                TGCDataPreparator = TgcDataPreparator )
 
     # Setup the station fitter
-    from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__MuFastStationFitter,TrigL2MuonSA__PtFromAlphaBeta
+    TrigL2MuonSA__MuFastStationFitter,TrigL2MuonSA__PtFromAlphaBeta=CompFactory.getComps("TrigL2MuonSA__MuFastStationFitter","TrigL2MuonSA__PtFromAlphaBeta")
     PtFromAlphaBeta = TrigL2MuonSA__PtFromAlphaBeta()
     if flags.Trigger.run2Config == '2016':
         PtFromAlphaBeta.useCscPt = False
@@ -164,7 +165,7 @@ def muFastSteeringCfg( flags, roisKey, setup="" ):
 
     MuFastStationFitter = TrigL2MuonSA__MuFastStationFitter( PtFromAlphaBeta = PtFromAlphaBeta )
 
-    from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__MuFastPatternFinder,TrigL2MuonSA__MuFastTrackFitter,TrigL2MuonSA__MuFastTrackExtrapolator,TrigL2MuonSA__MuCalStreamerTool,TrigL2MuonSA__CscSegmentMaker
+    TrigL2MuonSA__MuFastPatternFinder,TrigL2MuonSA__MuFastTrackFitter,TrigL2MuonSA__MuFastTrackExtrapolator,TrigL2MuonSA__MuCalStreamerTool,TrigL2MuonSA__CscSegmentMaker=CompFactory.getComps("TrigL2MuonSA__MuFastPatternFinder","TrigL2MuonSA__MuFastTrackFitter","TrigL2MuonSA__MuFastTrackExtrapolator","TrigL2MuonSA__MuCalStreamerTool","TrigL2MuonSA__CscSegmentMaker")
     MuFastPatternFinder     = TrigL2MuonSA__MuFastPatternFinder()
     MuFastTrackFitter       = TrigL2MuonSA__MuFastTrackFitter()
     MuFastTrackExtrapolator = TrigL2MuonSA__MuFastTrackExtrapolator()
@@ -173,7 +174,7 @@ def muFastSteeringCfg( flags, roisKey, setup="" ):
 
     # Set Reco alg of muFast step
     from TrigL2MuonSA.TrigL2MuonSAMonitoring import TrigL2MuonSAMonitoring
-    from TrigL2MuonSA.TrigL2MuonSAConf import MuFastSteering
+    MuFastSteering=CompFactory.MuFastSteering
     muFastAlg = MuFastSteering( name                   = "MuFastSteering_Muon"+setup,
                                 DataPreparator         = MuFastDataPreparator,
                                 StationFitter          = MuFastStationFitter,
@@ -192,7 +193,7 @@ def muFastSteeringCfg( flags, roisKey, setup="" ):
 
     # Default backextrapolator is for MC Misaligned Detector
     # Based on MuonBackExtrapolatorForMisalignedDet at TrigMuonBackExtrapolator/TrigMuonBackExtrapolatorConfig.py
-    from TrigMuonBackExtrapolator.TrigMuonBackExtrapolatorConf import TrigMuonBackExtrapolator
+    TrigMuonBackExtrapolator=CompFactory.TrigMuonBackExtrapolator
     muFastAlg.BackExtrapolator = TrigMuonBackExtrapolator( name        = "MisalignedBackExtrapolator",
                                                            Aligned     = False,
                                                            DataSet     = False )
@@ -317,7 +318,7 @@ def l2MuFastRecoCfg( flags ):
 
 def l2MuFastHypoCfg( flags, name="UNSPECIFIED", muFastInfo="UNSPECIFIED" ):
 
-    from TrigMuonHypoMT.TrigMuonHypoMTConf import TrigMufastHypoAlg
+    TrigMufastHypoAlg=CompFactory.TrigMufastHypoAlg
     muFastHypo = TrigMufastHypoAlg( name )
     muFastHypo.MuonL2SAInfoFromMuFastAlg = muFastInfo 
 
diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/TrigCaloDataAccessConfig.py b/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/TrigCaloDataAccessConfig.py
index d510da97c032..fd6bb32df44d 100644
--- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/TrigCaloDataAccessConfig.py
+++ b/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/TrigCaloDataAccessConfig.py
@@ -1,20 +1,21 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def createLArRoI_Map( flags ):
     acc = ComponentAccumulator()
-    from LArRawUtils.LArRawUtilsConf import LArRoI_Map
+    LArRoI_Map=CompFactory.LArRoI_Map
 
     from IOVDbSvc.IOVDbSvcConfig import addFolders
     from LArCabling.LArCablingConfig import LArFebRodMappingCfg, LArCalibIdMappingCfg
 
-    from LArCabling.LArCablingConf import LArCablingLegacyService
+    LArCablingLegacyService=CompFactory.LArCablingLegacyService
     cablingTool = LArCablingLegacyService() # this is realy a tool
     # needed by above
     acc.merge( LArFebRodMappingCfg( flags ))
     acc.merge( LArCalibIdMappingCfg( flags ))
 
-    from CaloTriggerTool.CaloTriggerToolConf import CaloTriggerTowerService
+    CaloTriggerTowerService=CompFactory.CaloTriggerTowerService
     triggerTowerTool = CaloTriggerTowerService()                                              
     acc.merge(addFolders(flags, ['/LAR/Identifier/LArTTCellMapAtlas'], 'LAR'))
     acc.merge(addFolders(flags, ['/LAR/Identifier/OnOffIdMap'], 'LAR'))
@@ -101,7 +102,7 @@ if __name__ == "__main__":
 
     acc.merge( trigCaloDataAccessSvcCfg( ConfigFlags ) )
     
-    from TrigT2CaloCommon.TrigT2CaloCommonConf import TestCaloDataAccess
+    TestCaloDataAccess=CompFactory.TestCaloDataAccess
     testAlg = TestCaloDataAccess()
     acc.addEventAlgo(testAlg)    
     
diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaMTConfig.py b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaMTConfig.py
index 335f5c1d3d35..432c18594611 100644
--- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaMTConfig.py
+++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaMTConfig.py
@@ -1,9 +1,9 @@
 #
 #  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 #
-from TrigT2CaloEgamma.TrigT2CaloEgammaConf import T2CaloEgammaReFastAlgo
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-
+T2CaloEgammaReFastAlgo=CompFactory.T2CaloEgammaReFastAlgo
 
 def fastL2EgammaClusteringAlg( flags, roisKey="EMCaloRoIs", doRinger=False):
 
@@ -21,7 +21,7 @@ def fastL2EgammaClusteringAlg( flags, roisKey="EMCaloRoIs", doRinger=False):
     acc.merge( TileBadChannelsCondAlgCfg(flags) )
 
     # configure tools (this can be simplified further,
-    from TrigT2CaloEgamma.TrigT2CaloEgammaConf import EgammaReEmEnFex, EgammaReHadEnFex, EgammaReSamp1Fex, EgammaReSamp2Fex
+    EgammaReEmEnFex, EgammaReHadEnFex, EgammaReSamp1Fex, EgammaReSamp2Fex=CompFactory.getComps("EgammaReEmEnFex","EgammaReHadEnFex","EgammaReSamp1Fex","EgammaReSamp2Fex",)
 
     samp2 = EgammaReSamp2Fex(name='FaAlgoSamp2FexConfig', MaxDetaHotCell=0.15, MaxDphiHotCell=0.15)
     acc.addPublicTool( samp2 )
diff --git a/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombConfig_newJO.py b/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombConfig_newJO.py
index 229b3eae8623..3514038b9872 100644
--- a/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombConfig_newJO.py
+++ b/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombConfig_newJO.py
@@ -3,6 +3,7 @@
 #  This file configs the muComb reco alg with the newJO
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 muFastInfo="MuonL2SAInfo"
 muCombInfo="HLT_MuonL2CBInfo"
@@ -70,7 +71,7 @@ def l2MuCombRecoCfg(flags):
 
 def l2MuCombHypoCfg(flags, name="UNSPECIFIED", muCombInfo="UNSPECIFIED"):
 
-    from TrigMuonHypoMT.TrigMuonHypoMTConf import TrigmuCombHypoAlg
+    TrigmuCombHypoAlg=CompFactory.TrigmuCombHypoAlg
     muCombHypo = TrigmuCombHypoAlg(name)
     muCombHypo.MuonL2CBInfoFromMuCombAlg=muCombInfo
 
diff --git a/Trigger/TrigTools/TrigInDetConfig/python/InDetConfig.py b/Trigger/TrigTools/TrigInDetConfig/python/InDetConfig.py
index 12a0a37f10a2..f88b8ce4cf6a 100644
--- a/Trigger/TrigTools/TrigInDetConfig/python/InDetConfig.py
+++ b/Trigger/TrigTools/TrigInDetConfig/python/InDetConfig.py
@@ -3,6 +3,7 @@
 #
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 class InDetCacheNames(object):
   Pixel_ClusterKey   = "PixelTrigClustersCache"
@@ -15,7 +16,7 @@ class InDetCacheNames(object):
 def InDetIDCCacheCreatorCfg():
   #Create IdentifiableCaches
   acc = ComponentAccumulator()
-  from InDetPrepRawDataFormation.InDetPrepRawDataFormationConf import InDet__CacheCreator
+  InDet__CacheCreator=CompFactory.InDet__CacheCreator
   InDetCacheCreatorTrig = InDet__CacheCreator(name = "InDetCacheCreatorTrig",
                                               Pixel_ClusterKey   = InDetCacheNames.Pixel_ClusterKey,
                                               SCT_ClusterKey     = InDetCacheNames.SCT_ClusterKey,
@@ -42,7 +43,7 @@ def TrigInDetCondConfig( flags ):
   acc.merge(addFoldersSplitOnline(flags, "INDET","/Indet/Onl/AlignL3","/Indet/AlignL3",className="AlignableTransformContainer"))
   acc.merge(addFoldersSplitOnline(flags, "INDET","/Indet/Onl/IBLDist","/Indet/IBLDist",className="CondAttrListCollection"))
 
-  from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_DCSConditionsTool
+  SCT_DCSConditionsTool=CompFactory.SCT_DCSConditionsTool
   dcsTool = SCT_DCSConditionsTool(ReadAllDBFolders = True, ReturnHVTemp = True)
 
   from SCT_ConditionsTools.SCT_SiliconConditionsToolSetup import SCT_SiliconConditionsToolSetup
@@ -55,54 +56,54 @@ def TrigInDetCondConfig( flags ):
   sctSiliconConditionsTool.CheckGeoModel = False
   sctSiliconConditionsTool.ForceUseGeoModel = False
 
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_AlignCondAlg
+  SCT_AlignCondAlg=CompFactory.SCT_AlignCondAlg
   acc.addCondAlgo(SCT_AlignCondAlg(UseDynamicAlignFolders = True))
 
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DetectorElementCondAlg
+  SCT_DetectorElementCondAlg=CompFactory.SCT_DetectorElementCondAlg
   acc.addCondAlgo(SCT_DetectorElementCondAlg(name = "SCT_DetectorElementCondAlg"))
 
   from SCT_Cabling.SCT_CablingConfig import SCT_CablingCondAlgCfg
   acc.merge(SCT_CablingCondAlgCfg(flags))
-  from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ConfigurationConditionsTool
+  SCT_ConfigurationConditionsTool=CompFactory.SCT_ConfigurationConditionsTool
   acc.addPublicTool(SCT_ConfigurationConditionsTool())
   channelFolder = "/SCT/DAQ/Config/Chip"
   moduleFolder = "/SCT/DAQ/Config/Module"
   murFolder = "/SCT/DAQ/Config/MUR"
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_ConfigurationCondAlg
+  SCT_ConfigurationCondAlg=CompFactory.SCT_ConfigurationCondAlg
   acc.addCondAlgo(SCT_ConfigurationCondAlg(ReadKeyChannel = channelFolder,
                                            ReadKeyModule = moduleFolder,
                                            ReadKeyMur = murFolder))
   acc.merge(addFolders(flags, [channelFolder, moduleFolder, murFolder], "SCT", className="CondAttrListVec"))
   # Set up SCTSiLorentzAngleCondAlg
-  from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ConfigurationConditionsTool
+  SCT_ConfigurationConditionsTool=CompFactory.SCT_ConfigurationConditionsTool
   stateFolder = "/SCT/DCS/CHANSTAT"
   hvFolder = "/SCT/DCS/HV"
   tempFolder = "/SCT/DCS/MODTEMP"
   dbInstance = "DCS_OFL"
   acc.merge(addFolders(flags, [stateFolder, hvFolder, tempFolder], dbInstance, className="CondAttrListCollection"))
 
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsTempCondAlg
+  SCT_DCSConditionsTempCondAlg=CompFactory.SCT_DCSConditionsTempCondAlg
   acc.addCondAlgo(SCT_DCSConditionsTempCondAlg( ReadKey = tempFolder ))
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsStatCondAlg
+  SCT_DCSConditionsStatCondAlg=CompFactory.SCT_DCSConditionsStatCondAlg
   acc.addCondAlgo(SCT_DCSConditionsStatCondAlg(ReturnHVTemp = True,
                                                ReadKeyHV = hvFolder,
                                                ReadKeyState = stateFolder))
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsHVCondAlg
+  SCT_DCSConditionsHVCondAlg=CompFactory.SCT_DCSConditionsHVCondAlg
   acc.addCondAlgo(SCT_DCSConditionsHVCondAlg(ReadKey = hvFolder))
 
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_SiliconHVCondAlg
+  SCT_SiliconHVCondAlg=CompFactory.SCT_SiliconHVCondAlg
   acc.addCondAlgo(SCT_SiliconHVCondAlg(UseState = dcsTool.ReadAllDBFolders,
                                        DCSConditionsTool = dcsTool))
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_SiliconTempCondAlg
+  SCT_SiliconTempCondAlg=CompFactory.SCT_SiliconTempCondAlg
   acc.addCondAlgo(SCT_SiliconTempCondAlg(UseState = dcsTool.ReadAllDBFolders, DCSConditionsTool = dcsTool))
 
 
-  from SiLorentzAngleTool.SiLorentzAngleToolConf import SCTSiLorentzAngleCondAlg
+  SCTSiLorentzAngleCondAlg=CompFactory.SCTSiLorentzAngleCondAlg
   acc.addCondAlgo(SCTSiLorentzAngleCondAlg(name = "SCTSiLorentzAngleCondAlg",
                                            SiConditionsTool = sctSiliconConditionsTool,
                                            UseMagFieldSvc = True,
                                            UseMagFieldDcs = False))
-  from SiLorentzAngleTool.SiLorentzAngleToolConf import SiLorentzAngleTool
+  SiLorentzAngleTool=CompFactory.SiLorentzAngleTool
   SCTLorentzAngleTool = SiLorentzAngleTool(name = "SCTLorentzAngleTool", DetectorName="SCT", SiLorentzAngleCondData="SCTSiLorentzAngleCondData")
   SCTLorentzAngleTool.UseMagFieldSvc = True #may need also MagFieldSvc instance
   acc.addPublicTool(SCTLorentzAngleTool)
@@ -120,19 +121,19 @@ def TrigInDetCondConfig( flags ):
   acc.merge(addFoldersSplitOnline(flags, "PIXEL", "/PIXEL/Onl/CablingMap","/PIXEL/CablingMap", className="AthenaAttributeList"))
   acc.merge(addFolders(flags, "/PIXEL/HitDiscCnfg", "PIXEL", className="AthenaAttributeList"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelAlignCondAlg
+  PixelAlignCondAlg=CompFactory.PixelAlignCondAlg
   acc.addCondAlgo(PixelAlignCondAlg(UseDynamicAlignFolders = True))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDetectorElementCondAlg
+  PixelDetectorElementCondAlg=CompFactory.PixelDetectorElementCondAlg
   acc.addCondAlgo(PixelDetectorElementCondAlg(name = "PixelDetectorElementCondAlg"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelReadoutSpeedAlg
+  PixelReadoutSpeedAlg=CompFactory.PixelReadoutSpeedAlg
   acc.addCondAlgo(PixelReadoutSpeedAlg(name="PixelReadoutSpeedAlg"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelCablingCondAlg
+  PixelCablingCondAlg=CompFactory.PixelCablingCondAlg
   acc.addCondAlgo(PixelCablingCondAlg(name="PixelCablingCondAlg"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelHitDiscCnfgAlg
+  PixelHitDiscCnfgAlg=CompFactory.PixelHitDiscCnfgAlg
   acc.addCondAlgo(PixelHitDiscCnfgAlg(name="PixelHitDiscCnfgAlg"))
 
   from AthenaCommon.CfgGetter import getService
@@ -147,16 +148,16 @@ def TrigInDetCondConfig( flags ):
   acc.merge(addFolders(flags, "/PIXEL/DCS/TEMPERATURE", "DCS_OFL", className="CondAttrListCollection"))
   acc.merge(addFolders(flags, "/PIXEL/PixCalib", "PIXEL_OFL", className="CondAttrListCollection"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDCSCondHVAlg
+  PixelDCSCondHVAlg=CompFactory.PixelDCSCondHVAlg
   acc.addCondAlgo(PixelDCSCondHVAlg(name="PixelDCSCondHVAlg", ReadKey="/PIXEL/DCS/HV"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDCSCondTempAlg
+  PixelDCSCondTempAlg=CompFactory.PixelDCSCondTempAlg
   acc.addCondAlgo(PixelDCSCondTempAlg(name="PixelDCSCondTempAlg", ReadKey="/PIXEL/DCS/TEMPERATURE"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelChargeCalibCondAlg
+  PixelChargeCalibCondAlg=CompFactory.PixelChargeCalibCondAlg
   acc.addCondAlgo(PixelChargeCalibCondAlg(name="PixelChargeCalibCondAlg", ReadKey="/PIXEL/PixCalib"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelTDAQCondAlg
+  PixelTDAQCondAlg=CompFactory.PixelTDAQCondAlg
   acc.addCondAlgo(PixelTDAQCondAlg(name="PixelTDAQCondAlg", ReadKey=PixelTDAQFolder))
 
   PixelDeadMapFolder = "/PIXEL/PixMapOverlay"
@@ -165,29 +166,29 @@ def TrigInDetCondConfig( flags ):
   acc.merge(addFolders(flags, "/PIXEL/DCS/TEMPERATURE", "DCS_OFL", className="CondAttrListCollection"))
   acc.merge(addFolders(flags, PixelDeadMapFolder, PixelDeadMapInstance, className="CondAttrListCollection"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelConfigCondAlg
+  PixelConfigCondAlg=CompFactory.PixelConfigCondAlg
   acc.addCondAlgo(PixelConfigCondAlg(name="PixelConfigCondAlg", UseDeadMap=False, ReadDeadMapKey=PixelDeadMapFolder, UseCalibConditions=False))
 
-  from SiPropertiesTool.SiPropertiesToolConf import PixelSiPropertiesCondAlg
+  PixelSiPropertiesCondAlg=CompFactory.PixelSiPropertiesCondAlg
   acc.addCondAlgo(PixelSiPropertiesCondAlg(name="PixelSiPropertiesCondAlg"))
 
-  from SiPropertiesTool.SiPropertiesToolConf import SiPropertiesTool
+  SiPropertiesTool=CompFactory.SiPropertiesTool
   TrigSiPropertiesTool = SiPropertiesTool(name="PixelSiPropertiesTool", DetectorName="Pixel", ReadKey="PixelSiliconPropertiesVector")
 
   acc.addPublicTool(TrigSiPropertiesTool)
 
-  from SiLorentzAngleTool.SiLorentzAngleToolConf import PixelSiLorentzAngleCondAlg
+  PixelSiLorentzAngleCondAlg=CompFactory.PixelSiLorentzAngleCondAlg
   acc.addCondAlgo(PixelSiLorentzAngleCondAlg(name="PixelSiLorentzAngleCondAlg",
                                              SiPropertiesTool=TrigSiPropertiesTool,
                                              UseMagFieldSvc = True,
                                              UseMagFieldDcs = False))
 
-  from SiLorentzAngleTool.SiLorentzAngleToolConf import SiLorentzAngleTool
+  SiLorentzAngleTool=CompFactory.SiLorentzAngleTool
   TrigPixelLorentzAngleTool = SiLorentzAngleTool(name = "PixelLorentzAngleTool", DetectorName="Pixel", SiLorentzAngleCondData="PixelSiLorentzAngleCondData")
 
   acc.addPublicTool(TrigPixelLorentzAngleTool)
 
-  from BeamSpotConditions.BeamSpotConditionsConf import BeamSpotCondAlg
+  BeamSpotCondAlg=CompFactory.BeamSpotCondAlg
   acc.addCondAlgo(BeamSpotCondAlg( "BeamSpotCondAlg" ))
 
 
@@ -210,18 +211,18 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
   if not isMC:
     #Pixel
 
-    from PixelRawDataByteStreamCnv.PixelRawDataByteStreamCnvConf import PixelRodDecoder
+    PixelRodDecoder=CompFactory.PixelRodDecoder
     InDetPixelRodDecoder = PixelRodDecoder(name = "InDetPixelRodDecoder"+ signature)
     acc.addPublicTool(InDetPixelRodDecoder)
 
-    from PixelRawDataByteStreamCnv.PixelRawDataByteStreamCnvConf import PixelRawDataProviderTool
+    PixelRawDataProviderTool=CompFactory.PixelRawDataProviderTool
     InDetPixelRawDataProviderTool = PixelRawDataProviderTool(name    = "InDetPixelRawDataProviderTool"+ signature,
                                                              Decoder = InDetPixelRodDecoder)
     acc.addPublicTool(InDetPixelRawDataProviderTool)
 
 
     # load the PixelRawDataProvider
-    from PixelRawDataByteStreamCnv.PixelRawDataByteStreamCnvConf import PixelRawDataProvider
+    PixelRawDataProvider=CompFactory.PixelRawDataProvider
     InDetPixelRawDataProvider = PixelRawDataProvider(name         = "InDetPixelRawDataProvider"+ signature,
                                                      RDOKey       = InDetKeys.PixelRDOs(),
                                                      ProviderTool = InDetPixelRawDataProviderTool,)
@@ -235,17 +236,17 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
 
 
     #SCT
-    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConf import SCT_RodDecoder
+    SCT_RodDecoder=CompFactory.SCT_RodDecoder
     InDetSCTRodDecoder = SCT_RodDecoder(name        = "InDetSCTRodDecoder"+ signature)
     acc.addPublicTool(InDetSCTRodDecoder)
 
-    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConf import SCTRawDataProviderTool
+    SCTRawDataProviderTool=CompFactory.SCTRawDataProviderTool
     InDetSCTRawDataProviderTool = SCTRawDataProviderTool(name    = "InDetSCTRawDataProviderTool"+ signature,
                                                          Decoder = InDetSCTRodDecoder)
     acc.addPublicTool(InDetSCTRawDataProviderTool)
 
     # load the SCTRawDataProvider
-    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConf import SCTRawDataProvider
+    SCTRawDataProvider=CompFactory.SCTRawDataProvider
     InDetSCTRawDataProvider = SCTRawDataProvider(name         = "InDetSCTRawDataProvider"+ signature,
                                                  RDOKey       = InDetKeys.SCT_RDOs(),
                                                  ProviderTool = InDetSCTRawDataProviderTool, )
@@ -257,34 +258,34 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
     acc.addEventAlgo(InDetSCTRawDataProvider)
 
     # load the SCTEventFlagWriter
-    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConf import SCTEventFlagWriter
+    SCTEventFlagWriter=CompFactory.SCTEventFlagWriter
     InDetSCTEventFlagWriter = SCTEventFlagWriter(name = "InDetSCTEventFlagWriter"+ signature)
 
     acc.addEventAlgo(InDetSCTEventFlagWriter)
 
 
     #TRT
-    from TRT_ConditionsServices.TRT_ConditionsServicesConf import TRT_CalDbSvc
+    TRT_CalDbSvc=CompFactory.TRT_CalDbSvc
     InDetTRTCalDbSvc = TRT_CalDbSvc()
     acc.addService(InDetTRTCalDbSvc)
 
-    from TRT_ConditionsServices.TRT_ConditionsServicesConf import TRT_StrawStatusSummarySvc
+    TRT_StrawStatusSummarySvc=CompFactory.TRT_StrawStatusSummarySvc
     InDetTRTStrawStatusSummarySvc = TRT_StrawStatusSummarySvc(name = "InDetTRTStrawStatusSummarySvc"+ signature)
     acc.addService(InDetTRTStrawStatusSummarySvc)
 
-    from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRT_RodDecoder
+    TRT_RodDecoder=CompFactory.TRT_RodDecoder
     InDetTRTRodDecoder = TRT_RodDecoder(name = "InDetTRTRodDecoder",
                                         LoadCompressTableDB = True)#(globalflags.DataSource() != 'geant4'))
     acc.addPublicTool(InDetTRTRodDecoder)
 
-    from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRTRawDataProviderTool
+    TRTRawDataProviderTool=CompFactory.TRTRawDataProviderTool
     InDetTRTRawDataProviderTool = TRTRawDataProviderTool(name    = "InDetTRTRawDataProviderTool"+ signature,
                                                          Decoder = InDetTRTRodDecoder)
     acc.addPublicTool(InDetTRTRawDataProviderTool)
 
 
     # load the TRTRawDataProvider
-    from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRTRawDataProvider
+    TRTRawDataProvider=CompFactory.TRTRawDataProvider
     InDetTRTRawDataProvider = TRTRawDataProvider(name         = "InDetTRTRawDataProvider"+ signature,
                                                  RDOKey       = "TRT_RDOs",
                                                  ProviderTool = InDetTRTRawDataProviderTool)
@@ -295,13 +296,13 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
 
 
   #Pixel clusterisation
-  from SiClusterizationTool.SiClusterizationToolConf import InDet__ClusterMakerTool
+  InDet__ClusterMakerTool=CompFactory.InDet__ClusterMakerTool
   InDetClusterMakerTool = InDet__ClusterMakerTool(name                 = "InDetClusterMakerTool"+ signature)
 
   acc.addPublicTool(InDetClusterMakerTool)
 
 
-  from SiClusterizationTool.SiClusterizationToolConf import InDet__MergedPixelsTool
+  InDet__MergedPixelsTool=CompFactory.InDet__MergedPixelsTool
   InDetMergedPixelsTool = InDet__MergedPixelsTool(name                    = "InDetMergedPixelsTool"+ signature,
                                                   globalPosAlg            = InDetClusterMakerTool,
                                                   MinimalSplitSize        = 0,
@@ -311,11 +312,11 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
                                                   )
   acc.addPublicTool(InDetMergedPixelsTool)
 
-  from SiClusterizationTool.SiClusterizationToolConf import InDet__PixelGangedAmbiguitiesFinder
+  InDet__PixelGangedAmbiguitiesFinder=CompFactory.InDet__PixelGangedAmbiguitiesFinder
   InDetPixelGangedAmbiguitiesFinder = InDet__PixelGangedAmbiguitiesFinder(name = "InDetPixelGangedAmbiguitiesFinder"+ signature)
   acc.addPublicTool(InDetPixelGangedAmbiguitiesFinder)
 
-  from InDetPrepRawDataFormation.InDetPrepRawDataFormationConf import InDet__PixelClusterization
+  InDet__PixelClusterization=CompFactory.InDet__PixelClusterization
   InDetPixelClusterization = InDet__PixelClusterization(name                    = "InDetPixelClusterization"+ signature,
                                                         clusteringTool          = InDetMergedPixelsTool,
                                                         gangedAmbiguitiesFinder = InDetPixelGangedAmbiguitiesFinder,
@@ -352,7 +353,7 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
   #
   # --- SCT_ClusteringTool (public)
   #
-  from SiClusterizationTool.SiClusterizationToolConf import InDet__SCT_ClusteringTool
+  InDet__SCT_ClusteringTool=CompFactory.InDet__SCT_ClusteringTool
   InDetSCT_ClusteringTool = InDet__SCT_ClusteringTool(name              = "InDetSCT_ClusteringTool"+ signature,
                                                       globalPosAlg      = InDetClusterMakerTool,
                                                       conditionsTool    = InDetSCT_ConditionsSummaryToolWithoutFlagged)
@@ -360,7 +361,7 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
   # --- SCT_Clusterization algorithm
   #
 
-  from InDetPrepRawDataFormation.InDetPrepRawDataFormationConf import InDet__SCT_Clusterization
+  InDet__SCT_Clusterization=CompFactory.InDet__SCT_Clusterization
   InDetSCT_Clusterization = InDet__SCT_Clusterization(name                    = "InDetSCT_Clusterization"+ signature,
                                                       clusteringTool          = InDetSCT_ClusteringTool,
                                                       # ChannelStatus         = InDetSCT_ChannelStatusAlg,
@@ -376,12 +377,12 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
 
   #Space points and FTF
 
-  from SiSpacePointTool.SiSpacePointToolConf import InDet__SiSpacePointMakerTool
+  InDet__SiSpacePointMakerTool=CompFactory.InDet__SiSpacePointMakerTool
   InDetSiSpacePointMakerTool = InDet__SiSpacePointMakerTool(name = "InDetSiSpacePointMakerTool"+ signature)
   acc.addPublicTool(InDetSiSpacePointMakerTool)
 
   from AthenaCommon.DetFlags import DetFlags
-  from SiSpacePointFormation.SiSpacePointFormationConf import InDet__SiTrackerSpacePointFinder
+  InDet__SiTrackerSpacePointFinder=CompFactory.InDet__SiTrackerSpacePointFinder
   InDetSiTrackerSpacePointFinder = InDet__SiTrackerSpacePointFinder(name                   = "InDetSiTrackerSpacePointFinder"+ signature,
                                                                     SiSpacePointMakerTool  = InDetSiSpacePointMakerTool,
                                                                     PixelsClustersName     = "PixelTrigClusters",
@@ -398,14 +399,14 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
   acc.addEventAlgo(InDetSiTrackerSpacePointFinder)
 
 
-  #from IOVSvc.IOVSvcConf import CondSvc
+  #CondSvc=CompFactory.CondSvc
   #acc.addService(CondSvc())
 
 
   #from TrigInDetConf.TrigInDetRecCommonTools import InDetTrigFastTrackSummaryTool
   #from TrigInDetConf.TrigInDetPostTools import  InDetTrigParticleCreatorToolFTF
 
-  #from InDetTrigParticleCreation.InDetTrigParticleCreationConf import InDet__TrigTrackingxAODCnvMT
+  #InDet__TrigTrackingxAODCnvMT=CompFactory.InDet__TrigTrackingxAODCnvMT
   #theTrackParticleCreatorAlg = InDet__TrigTrackingxAODCnvMT(name = "InDetTrigTrackParticleCreatorAlg",
   #                                                         doIBLresidual = False,
   #                                                         TrackName = "TrigFastTrackFinder_Tracks",
@@ -444,7 +445,7 @@ if __name__ == "__main__":
 
     nThreads=1
 
-    from StoreGate.StoreGateConf import SG__HiveMgrSvc
+    SG__HiveMgrSvc=CompFactory.SG__HiveMgrSvc
     eventDataSvc = SG__HiveMgrSvc("EventDataSvc")
     eventDataSvc.NSlots = nThreads
     acc.addService( eventDataSvc )
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/HLTSignatureConfig.py b/Trigger/TrigValidation/TrigUpgradeTest/python/HLTSignatureConfig.py
index 963b49481cb0..5845fed428eb 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/python/HLTSignatureConfig.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/python/HLTSignatureConfig.py
@@ -1,6 +1,6 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
-from TrigUpgradeTest.TrigUpgradeTestConf import HLTTest__TestRecoAlg, HLTTest__TestHypoAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
 from TrigUpgradeTest.HLTSignatureHypoTools import MuTestHypoTool, ElTestHypoTool
 from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import RecoFragmentsPool, MenuSequence
 from AthenaCommon.CFElements import seqAND
@@ -8,11 +8,13 @@ from AthenaConfiguration.AllConfigFlags import ConfigFlags
 
 import sys
 
+HLTTest__TestRecoAlg, HLTTest__TestHypoAlg=CompFactory.getComps("HLTTest__TestRecoAlg","HLTTest__TestHypoAlg",)
+
 UseThisLinkName="initialRoI"
 #UseThisLinkName="feature"
 
 
-from TrigUpgradeTest.TrigUpgradeTestConf import HLTTest__TestInputMaker
+HLTTest__TestInputMaker=CompFactory.HLTTest__TestInputMaker
 def InputMakerForInitialRoIAlg(name):
     return HLTTest__TestInputMaker(name, RoIsLink="initialRoI", LinkName="initialRoI")
 
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/InDetConfig.py b/Trigger/TrigValidation/TrigUpgradeTest/python/InDetConfig.py
index 3376b246eae2..e633bb831b80 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/python/InDetConfig.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/python/InDetConfig.py
@@ -3,6 +3,7 @@
 #
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 class InDetCacheNames(object):
   Pixel_ClusterKey   = "PixelTrigClustersCache"
@@ -16,7 +17,7 @@ class InDetCacheNames(object):
 def InDetIDCCacheCreatorCfg():
   #Create IdentifiableCaches
   acc = ComponentAccumulator()
-  from InDetPrepRawDataFormation.InDetPrepRawDataFormationConf import InDet__CacheCreator
+  InDet__CacheCreator=CompFactory.InDet__CacheCreator
   InDetCacheCreatorTrig = InDet__CacheCreator(name = "InDetCacheCreatorTrig",
                                               Pixel_ClusterKey   = InDetCacheNames.Pixel_ClusterKey,
                                               SCT_ClusterKey     = InDetCacheNames.SCT_ClusterKey,
@@ -44,7 +45,7 @@ def TrigInDetCondConfig( flags ):
   acc.merge(addFoldersSplitOnline(flags, "INDET","/Indet/Onl/AlignL3","/Indet/AlignL3",className="AlignableTransformContainer"))
   acc.merge(addFoldersSplitOnline(flags, "INDET","/Indet/Onl/IBLDist","/Indet/IBLDist",className="CondAttrListCollection"))
 
-  from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_DCSConditionsTool
+  SCT_DCSConditionsTool=CompFactory.SCT_DCSConditionsTool
   dcsTool = SCT_DCSConditionsTool(ReadAllDBFolders = True, ReturnHVTemp = True)
 
   from SCT_ConditionsTools.SCT_SiliconConditionsToolSetup import SCT_SiliconConditionsToolSetup
@@ -57,54 +58,54 @@ def TrigInDetCondConfig( flags ):
   sctSiliconConditionsTool.CheckGeoModel = False
   sctSiliconConditionsTool.ForceUseGeoModel = False
 
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_AlignCondAlg
+  SCT_AlignCondAlg=CompFactory.SCT_AlignCondAlg
   acc.addCondAlgo(SCT_AlignCondAlg(UseDynamicAlignFolders = True))
 
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DetectorElementCondAlg
+  SCT_DetectorElementCondAlg=CompFactory.SCT_DetectorElementCondAlg
   acc.addCondAlgo(SCT_DetectorElementCondAlg(name = "SCT_DetectorElementCondAlg"))
 
   from SCT_Cabling.SCT_CablingConfig import SCT_CablingCondAlgCfg
   acc.merge(SCT_CablingCondAlgCfg(flags))
-  from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ConfigurationConditionsTool
+  SCT_ConfigurationConditionsTool=CompFactory.SCT_ConfigurationConditionsTool
   acc.addPublicTool(SCT_ConfigurationConditionsTool())
   channelFolder = "/SCT/DAQ/Config/Chip"
   moduleFolder = "/SCT/DAQ/Config/Module"
   murFolder = "/SCT/DAQ/Config/MUR"
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_ConfigurationCondAlg
+  SCT_ConfigurationCondAlg=CompFactory.SCT_ConfigurationCondAlg
   acc.addCondAlgo(SCT_ConfigurationCondAlg(ReadKeyChannel = channelFolder,
                                            ReadKeyModule = moduleFolder,
                                            ReadKeyMur = murFolder))
   acc.merge(addFolders(flags, [channelFolder, moduleFolder, murFolder], "SCT", className="CondAttrListVec"))
   # Set up SCTSiLorentzAngleCondAlg
-  from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ConfigurationConditionsTool
+  SCT_ConfigurationConditionsTool=CompFactory.SCT_ConfigurationConditionsTool
   stateFolder = "/SCT/DCS/CHANSTAT"
   hvFolder = "/SCT/DCS/HV"
   tempFolder = "/SCT/DCS/MODTEMP"
   dbInstance = "DCS_OFL"
   acc.merge(addFolders(flags, [stateFolder, hvFolder, tempFolder], dbInstance, className="CondAttrListCollection"))
 
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsTempCondAlg
+  SCT_DCSConditionsTempCondAlg=CompFactory.SCT_DCSConditionsTempCondAlg
   acc.addCondAlgo(SCT_DCSConditionsTempCondAlg( ReadKey = tempFolder ))
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsStatCondAlg
+  SCT_DCSConditionsStatCondAlg=CompFactory.SCT_DCSConditionsStatCondAlg
   acc.addCondAlgo(SCT_DCSConditionsStatCondAlg(ReturnHVTemp = True,
                                                ReadKeyHV = hvFolder,
                                                ReadKeyState = stateFolder))
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsHVCondAlg
+  SCT_DCSConditionsHVCondAlg=CompFactory.SCT_DCSConditionsHVCondAlg
   acc.addCondAlgo(SCT_DCSConditionsHVCondAlg(ReadKey = hvFolder))
 
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_SiliconHVCondAlg
+  SCT_SiliconHVCondAlg=CompFactory.SCT_SiliconHVCondAlg
   acc.addCondAlgo(SCT_SiliconHVCondAlg(UseState = dcsTool.ReadAllDBFolders,
                                        DCSConditionsTool = dcsTool))
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_SiliconTempCondAlg
+  SCT_SiliconTempCondAlg=CompFactory.SCT_SiliconTempCondAlg
   acc.addCondAlgo(SCT_SiliconTempCondAlg(UseState = dcsTool.ReadAllDBFolders, DCSConditionsTool = dcsTool))
 
 
-  from SiLorentzAngleTool.SiLorentzAngleToolConf import SCTSiLorentzAngleCondAlg
+  SCTSiLorentzAngleCondAlg=CompFactory.SCTSiLorentzAngleCondAlg
   acc.addCondAlgo(SCTSiLorentzAngleCondAlg(name = "SCTSiLorentzAngleCondAlg",
                                            SiConditionsTool = sctSiliconConditionsTool,
                                            UseMagFieldSvc = True,
                                            UseMagFieldDcs = False))
-  from SiLorentzAngleTool.SiLorentzAngleToolConf import SiLorentzAngleTool
+  SiLorentzAngleTool=CompFactory.SiLorentzAngleTool
   SCTLorentzAngleTool = SiLorentzAngleTool(name = "SCTLorentzAngleTool", DetectorName="SCT", SiLorentzAngleCondData="SCTSiLorentzAngleCondData")
   SCTLorentzAngleTool.UseMagFieldSvc = True #may need also MagFieldSvc instance
   acc.addPublicTool(SCTLorentzAngleTool)
@@ -122,22 +123,22 @@ def TrigInDetCondConfig( flags ):
   acc.merge(addFoldersSplitOnline(flags, "PIXEL", "/PIXEL/Onl/CablingMap","/PIXEL/CablingMap", className="AthenaAttributeList"))
   acc.merge(addFolders(flags, "/PIXEL/HitDiscCnfg", "PIXEL", className="AthenaAttributeList"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelAlignCondAlg
+  PixelAlignCondAlg=CompFactory.PixelAlignCondAlg
   acc.addCondAlgo(PixelAlignCondAlg(UseDynamicAlignFolders = True))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDetectorElementCondAlg
+  PixelDetectorElementCondAlg=CompFactory.PixelDetectorElementCondAlg
   acc.addCondAlgo(PixelDetectorElementCondAlg(name = "PixelDetectorElementCondAlg"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelReadoutSpeedAlg
+  PixelReadoutSpeedAlg=CompFactory.PixelReadoutSpeedAlg
   acc.addCondAlgo(PixelReadoutSpeedAlg(name="PixelReadoutSpeedAlg"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelCablingCondAlg
+  PixelCablingCondAlg=CompFactory.PixelCablingCondAlg
   acc.addCondAlgo(PixelCablingCondAlg(name="PixelCablingCondAlg"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelHitDiscCnfgAlg
+  PixelHitDiscCnfgAlg=CompFactory.PixelHitDiscCnfgAlg
   acc.addCondAlgo(PixelHitDiscCnfgAlg(name="PixelHitDiscCnfgAlg"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDistortionAlg
+  PixelDistortionAlg=CompFactory.PixelDistortionAlg
   acc.addCondAlgo(PixelDistortionAlg(name="PixelDistortionAlg", ReadKey="/Indet/Onl/PixelDist"))
 
   from AthenaCommon.CfgGetter import getService
@@ -152,16 +153,16 @@ def TrigInDetCondConfig( flags ):
   acc.merge(addFolders(flags, "/PIXEL/DCS/TEMPERATURE", "DCS_OFL", className="CondAttrListCollection"))
   acc.merge(addFolders(flags, "/PIXEL/PixCalib", "PIXEL_OFL", className="CondAttrListCollection"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDCSCondHVAlg
+  PixelDCSCondHVAlg=CompFactory.PixelDCSCondHVAlg
   acc.addCondAlgo(PixelDCSCondHVAlg(name="PixelDCSCondHVAlg", ReadKey="/PIXEL/DCS/HV"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDCSCondTempAlg
+  PixelDCSCondTempAlg=CompFactory.PixelDCSCondTempAlg
   acc.addCondAlgo(PixelDCSCondTempAlg(name="PixelDCSCondTempAlg", ReadKey="/PIXEL/DCS/TEMPERATURE"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelChargeCalibCondAlg
+  PixelChargeCalibCondAlg=CompFactory.PixelChargeCalibCondAlg
   acc.addCondAlgo(PixelChargeCalibCondAlg(name="PixelChargeCalibCondAlg", ReadKey="/PIXEL/PixCalib"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelTDAQCondAlg
+  PixelTDAQCondAlg=CompFactory.PixelTDAQCondAlg
   acc.addCondAlgo(PixelTDAQCondAlg(name="PixelTDAQCondAlg", ReadKey=PixelTDAQFolder))
 
   PixelDeadMapFolder = "/PIXEL/PixMapOverlay"
@@ -170,29 +171,29 @@ def TrigInDetCondConfig( flags ):
   acc.merge(addFolders(flags, "/PIXEL/DCS/TEMPERATURE", "DCS_OFL", className="CondAttrListCollection"))
   acc.merge(addFolders(flags, PixelDeadMapFolder, PixelDeadMapInstance, className="CondAttrListCollection"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelConfigCondAlg
+  PixelConfigCondAlg=CompFactory.PixelConfigCondAlg
   acc.addCondAlgo(PixelConfigCondAlg(name="PixelConfigCondAlg", UseDeadMap=False, ReadDeadMapKey=PixelDeadMapFolder, UseCalibConditions=False))
 
-  from SiPropertiesTool.SiPropertiesToolConf import PixelSiPropertiesCondAlg
+  PixelSiPropertiesCondAlg=CompFactory.PixelSiPropertiesCondAlg
   acc.addCondAlgo(PixelSiPropertiesCondAlg(name="PixelSiPropertiesCondAlg"))
 
-  from SiPropertiesTool.SiPropertiesToolConf import SiPropertiesTool
+  SiPropertiesTool=CompFactory.SiPropertiesTool
   TrigSiPropertiesTool = SiPropertiesTool(name="PixelSiPropertiesTool", DetectorName="Pixel", ReadKey="PixelSiliconPropertiesVector")
 
   acc.addPublicTool(TrigSiPropertiesTool)
 
-  from SiLorentzAngleTool.SiLorentzAngleToolConf import PixelSiLorentzAngleCondAlg
+  PixelSiLorentzAngleCondAlg=CompFactory.PixelSiLorentzAngleCondAlg
   acc.addCondAlgo(PixelSiLorentzAngleCondAlg(name="PixelSiLorentzAngleCondAlg",
                                              SiPropertiesTool=TrigSiPropertiesTool,
                                              UseMagFieldSvc = True,
                                              UseMagFieldDcs = False))
 
-  from SiLorentzAngleTool.SiLorentzAngleToolConf import SiLorentzAngleTool
+  SiLorentzAngleTool=CompFactory.SiLorentzAngleTool
   TrigPixelLorentzAngleTool = SiLorentzAngleTool(name = "PixelLorentzAngleTool", DetectorName="Pixel", SiLorentzAngleCondData="PixelSiLorentzAngleCondData")
 
   acc.addPublicTool(TrigPixelLorentzAngleTool)
 
-  from BeamSpotConditions.BeamSpotConditionsConf import BeamSpotCondAlg
+  BeamSpotCondAlg=CompFactory.BeamSpotCondAlg
   acc.addCondAlgo(BeamSpotCondAlg( "BeamSpotCondAlg" ))
 
 
@@ -215,18 +216,18 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
   if not isMC:
     #Pixel
 
-    from PixelRawDataByteStreamCnv.PixelRawDataByteStreamCnvConf import PixelRodDecoder
+    PixelRodDecoder=CompFactory.PixelRodDecoder
     InDetPixelRodDecoder = PixelRodDecoder(name = "InDetPixelRodDecoder"+ signature)
     acc.addPublicTool(InDetPixelRodDecoder)
 
-    from PixelRawDataByteStreamCnv.PixelRawDataByteStreamCnvConf import PixelRawDataProviderTool
+    PixelRawDataProviderTool=CompFactory.PixelRawDataProviderTool
     InDetPixelRawDataProviderTool = PixelRawDataProviderTool(name    = "InDetPixelRawDataProviderTool"+ signature,
                                                              Decoder = InDetPixelRodDecoder)
     acc.addPublicTool(InDetPixelRawDataProviderTool)
 
 
     # load the PixelRawDataProvider
-    from PixelRawDataByteStreamCnv.PixelRawDataByteStreamCnvConf import PixelRawDataProvider
+    PixelRawDataProvider=CompFactory.PixelRawDataProvider
     InDetPixelRawDataProvider = PixelRawDataProvider(name         = "InDetPixelRawDataProvider"+ signature,
                                                      RDOKey       = InDetKeys.PixelRDOs(),
                                                      ProviderTool = InDetPixelRawDataProviderTool,)
@@ -240,17 +241,17 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
 
 
     #SCT
-    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConf import SCT_RodDecoder
+    SCT_RodDecoder=CompFactory.SCT_RodDecoder
     InDetSCTRodDecoder = SCT_RodDecoder(name        = "InDetSCTRodDecoder"+ signature)
     acc.addPublicTool(InDetSCTRodDecoder)
 
-    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConf import SCTRawDataProviderTool
+    SCTRawDataProviderTool=CompFactory.SCTRawDataProviderTool
     InDetSCTRawDataProviderTool = SCTRawDataProviderTool(name    = "InDetSCTRawDataProviderTool"+ signature,
                                                          Decoder = InDetSCTRodDecoder)
     acc.addPublicTool(InDetSCTRawDataProviderTool)
 
     # load the SCTRawDataProvider
-    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConf import SCTRawDataProvider
+    SCTRawDataProvider=CompFactory.SCTRawDataProvider
     InDetSCTRawDataProvider = SCTRawDataProvider(name         = "InDetSCTRawDataProvider"+ signature,
                                                  RDOKey       = InDetKeys.SCT_RDOs(),
                                                  ProviderTool = InDetSCTRawDataProviderTool, )
@@ -262,34 +263,34 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
     acc.addEventAlgo(InDetSCTRawDataProvider)
 
     # load the SCTEventFlagWriter
-    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConf import SCTEventFlagWriter
+    SCTEventFlagWriter=CompFactory.SCTEventFlagWriter
     InDetSCTEventFlagWriter = SCTEventFlagWriter(name = "InDetSCTEventFlagWriter"+ signature)
 
     acc.addEventAlgo(InDetSCTEventFlagWriter)
 
 
     #TRT
-    from TRT_ConditionsServices.TRT_ConditionsServicesConf import TRT_CalDbSvc
+    TRT_CalDbSvc=CompFactory.TRT_CalDbSvc
     InDetTRTCalDbSvc = TRT_CalDbSvc()
     acc.addService(InDetTRTCalDbSvc)
 
-    from TRT_ConditionsServices.TRT_ConditionsServicesConf import TRT_StrawStatusSummarySvc
+    TRT_StrawStatusSummarySvc=CompFactory.TRT_StrawStatusSummarySvc
     InDetTRTStrawStatusSummarySvc = TRT_StrawStatusSummarySvc(name = "InDetTRTStrawStatusSummarySvc"+ signature)
     acc.addService(InDetTRTStrawStatusSummarySvc)
 
-    from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRT_RodDecoder
+    TRT_RodDecoder=CompFactory.TRT_RodDecoder
     InDetTRTRodDecoder = TRT_RodDecoder(name = "InDetTRTRodDecoder",
                                         LoadCompressTableDB = True)#(globalflags.DataSource() != 'geant4'))
     acc.addPublicTool(InDetTRTRodDecoder)
 
-    from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRTRawDataProviderTool
+    TRTRawDataProviderTool=CompFactory.TRTRawDataProviderTool
     InDetTRTRawDataProviderTool = TRTRawDataProviderTool(name    = "InDetTRTRawDataProviderTool"+ signature,
                                                          Decoder = InDetTRTRodDecoder)
     acc.addPublicTool(InDetTRTRawDataProviderTool)
 
 
     # load the TRTRawDataProvider
-    from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRTRawDataProvider
+    TRTRawDataProvider=CompFactory.TRTRawDataProvider
     InDetTRTRawDataProvider = TRTRawDataProvider(name         = "InDetTRTRawDataProvider"+ signature,
                                                  RDOKey       = "TRT_RDOs",
                                                  ProviderTool = InDetTRTRawDataProviderTool)
@@ -300,13 +301,13 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
 
 
   #Pixel clusterisation
-  from SiClusterizationTool.SiClusterizationToolConf import InDet__ClusterMakerTool
+  InDet__ClusterMakerTool=CompFactory.InDet__ClusterMakerTool
   InDetClusterMakerTool = InDet__ClusterMakerTool(name                 = "InDetClusterMakerTool"+ signature)
 
   acc.addPublicTool(InDetClusterMakerTool)
 
 
-  from SiClusterizationTool.SiClusterizationToolConf import InDet__MergedPixelsTool
+  InDet__MergedPixelsTool=CompFactory.InDet__MergedPixelsTool
   InDetMergedPixelsTool = InDet__MergedPixelsTool(name                    = "InDetMergedPixelsTool"+ signature,
                                                   globalPosAlg            = InDetClusterMakerTool,
                                                   MinimalSplitSize        = 0,
@@ -316,11 +317,11 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
                                                   )
   acc.addPublicTool(InDetMergedPixelsTool)
 
-  from SiClusterizationTool.SiClusterizationToolConf import InDet__PixelGangedAmbiguitiesFinder
+  InDet__PixelGangedAmbiguitiesFinder=CompFactory.InDet__PixelGangedAmbiguitiesFinder
   InDetPixelGangedAmbiguitiesFinder = InDet__PixelGangedAmbiguitiesFinder(name = "InDetPixelGangedAmbiguitiesFinder"+ signature)
   acc.addPublicTool(InDetPixelGangedAmbiguitiesFinder)
 
-  from InDetPrepRawDataFormation.InDetPrepRawDataFormationConf import InDet__PixelClusterization
+  InDet__PixelClusterization=CompFactory.InDet__PixelClusterization
   InDetPixelClusterization = InDet__PixelClusterization(name                    = "InDetPixelClusterization"+ signature,
                                                         clusteringTool          = InDetMergedPixelsTool,
                                                         gangedAmbiguitiesFinder = InDetPixelGangedAmbiguitiesFinder,
@@ -357,7 +358,7 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
   #
   # --- SCT_ClusteringTool (public)
   #
-  from SiClusterizationTool.SiClusterizationToolConf import InDet__SCT_ClusteringTool
+  InDet__SCT_ClusteringTool=CompFactory.InDet__SCT_ClusteringTool
   InDetSCT_ClusteringTool = InDet__SCT_ClusteringTool(name              = "InDetSCT_ClusteringTool"+ signature,
                                                       globalPosAlg      = InDetClusterMakerTool,
                                                       conditionsTool    = InDetSCT_ConditionsSummaryToolWithoutFlagged)
@@ -365,7 +366,7 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
   # --- SCT_Clusterization algorithm
   #
 
-  from InDetPrepRawDataFormation.InDetPrepRawDataFormationConf import InDet__SCT_Clusterization
+  InDet__SCT_Clusterization=CompFactory.InDet__SCT_Clusterization
   InDetSCT_Clusterization = InDet__SCT_Clusterization(name                    = "InDetSCT_Clusterization"+ signature,
                                                       clusteringTool          = InDetSCT_ClusteringTool,
                                                       # ChannelStatus         = InDetSCT_ChannelStatusAlg,
@@ -381,12 +382,12 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
 
   #Space points and FTF
 
-  from SiSpacePointTool.SiSpacePointToolConf import InDet__SiSpacePointMakerTool
+  InDet__SiSpacePointMakerTool=CompFactory.InDet__SiSpacePointMakerTool
   InDetSiSpacePointMakerTool = InDet__SiSpacePointMakerTool(name = "InDetSiSpacePointMakerTool"+ signature)
   acc.addPublicTool(InDetSiSpacePointMakerTool)
 
   from AthenaCommon.DetFlags import DetFlags
-  from SiSpacePointFormation.SiSpacePointFormationConf import InDet__SiTrackerSpacePointFinder
+  InDet__SiTrackerSpacePointFinder=CompFactory.InDet__SiTrackerSpacePointFinder
   InDetSiTrackerSpacePointFinder = InDet__SiTrackerSpacePointFinder(name                   = "InDetSiTrackerSpacePointFinder"+ signature,
                                                                     SiSpacePointMakerTool  = InDetSiSpacePointMakerTool,
                                                                     PixelsClustersName     = "PixelTrigClusters",
@@ -403,14 +404,14 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
   acc.addEventAlgo(InDetSiTrackerSpacePointFinder)
 
 
-  #from IOVSvc.IOVSvcConf import CondSvc
+  #CondSvc=CompFactory.CondSvc
   #acc.addService(CondSvc())
 
 
   #from TrigInDetConf.TrigInDetRecCommonTools import InDetTrigFastTrackSummaryTool
   #from TrigInDetConf.TrigInDetPostTools import  InDetTrigParticleCreatorToolFTF
 
-  #from InDetTrigParticleCreation.InDetTrigParticleCreationConf import InDet__TrigTrackingxAODCnvMT
+  #InDet__TrigTrackingxAODCnvMT=CompFactory.InDet__TrigTrackingxAODCnvMT
   #theTrackParticleCreatorAlg = InDet__TrigTrackingxAODCnvMT(name = "InDetTrigTrackParticleCreatorAlg",
   #                                                         doIBLresidual = False,
   #                                                         TrackName = "TrigFastTrackFinder_Tracks",
@@ -449,7 +450,7 @@ if __name__ == "__main__":
 
     nThreads=1
 
-    from StoreGate.StoreGateConf import SG__HiveMgrSvc
+    SG__HiveMgrSvc=CompFactory.SG__HiveMgrSvc
     eventDataSvc = SG__HiveMgrSvc("EventDataSvc")
     eventDataSvc.NSlots = nThreads
     acc.addService( eventDataSvc )
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py
index fe313f6e534c..7ad8bdae3fa1 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py
@@ -2,6 +2,7 @@
 
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.CFElements import seqAND, seqOR, flatAlgorithmSequences
 from AthenaCommon.Logging import logging
 __log = logging.getLogger('TriggerConfig')
@@ -148,7 +149,7 @@ def triggerSummaryCfg(flags, hypos):
     Returns: ca, algorithm
     """
     acc = ComponentAccumulator()
-    from TrigOutputHandling.TrigOutputHandlingConf import DecisionSummaryMakerAlg
+    DecisionSummaryMakerAlg=CompFactory.DecisionSummaryMakerAlg
     from TrigEDMConfig.TriggerEDMRun3 import recordable
     decisionSummaryAlg = DecisionSummaryMakerAlg()
     allChains = {}
@@ -187,7 +188,7 @@ def triggerMonitoringCfg(flags, hypos, filters, l1Decoder):
     Configures components needed for monitoring chains
     """
     acc = ComponentAccumulator()
-    from TrigSteerMonitor.TrigSteerMonitorConf import TrigSignatureMoniMT, DecisionCollectorTool
+    TrigSignatureMoniMT, DecisionCollectorTool=CompFactory.getComps("TrigSignatureMoniMT","DecisionCollectorTool",)
     mon = TrigSignatureMoniMT()
     mon.L1Decisions = "L1DecoderSummary"
     mon.FinalDecisionKey = "HLTNav_Summary" # Input
@@ -334,7 +335,7 @@ def triggerBSOutputCfg(flags, decObj, decObjHypoOut, summaryAlg, offline=False):
     if offline:
         # Create HLT result maker and alg
         from TrigOutputHandling.TrigOutputHandlingConfig import HLTResultMTMakerCfg
-        from TrigOutputHandling.TrigOutputHandlingConf import HLTResultMTMakerAlg
+        HLTResultMTMakerAlg=CompFactory.HLTResultMTMakerAlg
         hltResultMakerTool = HLTResultMTMakerCfg()
         hltResultMakerTool.MakerTools = [bitsmaker, stmaker, serialiser] # TODO: stmaker likely not needed for offline BS writing
         hltResultMakerAlg = HLTResultMTMakerAlg()
@@ -405,7 +406,7 @@ def triggerPOOLOutputCfg(flags, decObj, decObjHypoOut, edmSet):
     acc.addEventAlgo( decmaker )
 
     # Produce trigger metadata
-    from TrigConfxAOD.TrigConfxAODConf import TrigConf__xAODMenuWriterMT
+    TrigConf__xAODMenuWriterMT=CompFactory.TrigConf__xAODMenuWriterMT
     menuwriter = TrigConf__xAODMenuWriterMT()
     acc.addEventAlgo( menuwriter )
 
@@ -414,7 +415,7 @@ def triggerPOOLOutputCfg(flags, decObj, decObjHypoOut, edmSet):
 
 def triggerMergeViewsAndAddMissingEDMCfg( edmSet, hypos, viewMakers, decObj, decObjHypoOut ):
 
-    from TrigOutputHandling.TrigOutputHandlingConf import HLTEDMCreatorAlg, HLTEDMCreator
+    HLTEDMCreatorAlg, HLTEDMCreator=CompFactory.getComps("HLTEDMCreatorAlg","HLTEDMCreator",)
     from TrigEDMConfig.TriggerEDMRun3 import TriggerHLTListRun3
 
     alg = HLTEDMCreatorAlg("EDMCreatorAlg")
-- 
GitLab