diff --git a/Calorimeter/CaloCellCorrection/python/CaloCellCorrectionConfig.py b/Calorimeter/CaloCellCorrection/python/CaloCellCorrectionConfig.py
new file mode 100644
index 0000000000000000000000000000000000000000..1999611fa098f49f995a93a5b1bd0a290fb47134
--- /dev/null
+++ b/Calorimeter/CaloCellCorrection/python/CaloCellCorrectionConfig.py
@@ -0,0 +1,66 @@
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+
+from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from CaloCellCorrection.CaloCellCorrectionConf import CaloCellPedestalCorr
+from DetDescrCnvSvc.DetDescrCnvSvcConfig import DetDescrCnvSvcCfg
+from IOVDbSvc.IOVDbSvcConfig import addFolders
+
+def CaloCellPedestalCorrCfg(configFlags):
+
+   result=DetDescrCnvSvcCfg(configFlags)
+
+   isMC=configFlags.Input.isMC
+
+   theCaloCellPedestalCorr=CaloCellPedestalCorr()
+
+   if not isMC:
+      if configFlags.Common.isOnline:
+      
+         folder  = '/CALO/Pedestal/CellPedestal'
+         result.merge(addFolders(configFlags,folder,'CALO_ONL',className="CondAttrListCollection"))
+         theCaloCellPedestalCorr.isMC=False
+      else:
+         #regular offline case
+         folder= '/CALO/Ofl/Pedestal/CellPedestal'
+         theCaloCellPedestalCorr.isMC=True
+         result.merge(addFolders(configFlags,folder,'CALO_OFL',className="CondAttrListCollection"))
+   
+      theCaloCellPedestalCorr.PedestalShiftFolder = folder
+
+
+   if not configFlags.Common.isOnline:
+      if configFlags.Calo.Cell.doPileupOffsetBCIDCorr:
+         from CaloRec.CaloBCIDAvgAlgConfig import CaloBCIDAvgAlgCfg
+         result.merge(CaloBCIDAvgAlgCfg(configFlags))
+         theCaloCellPedestalCorr.CaloBCIDAverageKey="CaloBCIDAverage"
+      else:
+         theCaloCellPedestalCorr.CaloBCIDAverageKey=""
+         if not isMC:
+            lumiFolder = '/TRIGGER/LUMI/LBLESTONL'
+            result.merge(addFolders(configFlags,lumiFolder,'TRIGGER_ONL',className="CondAttrListCollection"))
+            theCaloCellPedestalCorr.Luminosity = -1
+            theCaloCellPedestalCorr.LumiFolderName = lumiFolder
+   
+   result.setPrivateTools(theCaloCellPedestalCorr)
+   return result
+
+
+def CaloCellNeighborsAverageCorrCfg(flags):
+    """Return component accumulator with configured private Calo cell neighbors average correction tool
+
+    Arguments:
+        flags  -- Athena configuration flags (ConfigFlags)
+    """
+    acc = ComponentAccumulator()
+
+    from LArGeoAlgsNV.LArGMConfig import LArGMCfg
+    acc.merge(LArGMCfg(flags))
+
+    from TileGeoModel.TileGMConfig import TileGMCfg
+    acc.merge(TileGMCfg(flags))
+
+    from CaloCellCorrection.CaloCellCorrectionConf import CaloCellNeighborsAverageCorr
+    caloCellNeighborsAverageCorrection = CaloCellNeighborsAverageCorr(testMode = False)
+
+    acc.setPrivateTools( caloCellNeighborsAverageCorrection )
+    return acc
diff --git a/Control/AthenaConfiguration/python/AllConfigFlags.py b/Control/AthenaConfiguration/python/AllConfigFlags.py
index a6e32f48fb26e04056c964e8c8366e89656bce71..dab9d9cbd87b90faf246ac7ed72d843ba393828d 100644
--- a/Control/AthenaConfiguration/python/AllConfigFlags.py
+++ b/Control/AthenaConfiguration/python/AllConfigFlags.py
@@ -144,7 +144,7 @@ def _createCfgFlags():
 
 #CaloCell flags
     acf.addFlag("Calo.Cell.doLArHVCorr",False) # Disable for now as it is broken...
-
+    acf.addFlag("Calo.Cell.doPileupOffsetBCIDCorr", True)
 #TopoCluster Flags:
     acf.addFlag("Calo.TopoCluster.doTwoGaussianNoise",True)
     acf.addFlag("Calo.TopoCluster.doTreatEnergyCutAsAbsolute",False)
diff --git a/Database/IOVDbSvc/python/IOVDbSvcConfig.py b/Database/IOVDbSvc/python/IOVDbSvcConfig.py
index 53548c4d23a202e22f079737d9e1c867ece5df5d..2519b9f32b0331cc576897de2032332b6c2f664c 100644
--- a/Database/IOVDbSvc/python/IOVDbSvcConfig.py
+++ b/Database/IOVDbSvc/python/IOVDbSvcConfig.py
@@ -122,7 +122,7 @@ def addFolderList(configFlags,listOfFolderInfoTuple,extensible=False):
         if detDb is not None and fs.find("<db>")==-1:
             dbname=configFlags.IOVDb.DatabaseInstance
             if detDb not in _dblist.keys():
-                raise ConfigurationError("Error, db shorthand %s not known")
+                raise ConfigurationError("Error, db shorthand %s not known" % detDb)
             #Append database string to folder-name
             fs+="<db>"+_dblist[detDb]+"/"+dbname+"</db>"
     
diff --git a/LArCalorimeter/LArCnv/LArByteStream/python/LArRawDataReadingConfig.py b/LArCalorimeter/LArCnv/LArByteStream/python/LArRawDataReadingConfig.py
index 544a8bef3547441c2e5ff519d54766f6bc8baa03..74ad3685c708e307cbdb045eabeeaa2e2629eefc 100644
--- a/LArCalorimeter/LArCnv/LArByteStream/python/LArRawDataReadingConfig.py
+++ b/LArCalorimeter/LArCnv/LArByteStream/python/LArRawDataReadingConfig.py
@@ -3,22 +3,11 @@
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from ByteStreamCnvSvc.ByteStreamConfig import ByteStreamReadCfg
 from LArByteStream.LArByteStreamConf import LArRawDataReadingAlg
-from LArGeoAlgsNV.LArGMConfig import LArGMCfg
-
-
-def DetDescrConfig(configFlags=None):
-    from DetDescrCnvSvc.DetDescrCnvSvcConf import DetDescrCnvSvc
-    from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
-    acc=ComponentAccumulator()
-    detDescrCnvSvc=DetDescrCnvSvc(IdDictName = "IdDictParser/ATLAS_IDS.xml",IdDictFromRDB = False,DecodeIdDict = True)
-    acc.addService(detDescrCnvSvc)
-    acc.addService(EvtPersistencySvc("EventPersistencySvc",CnvServices=[detDescrCnvSvc.getName(),])) #No service handle yet???
-    return acc
 
 def LArRawDataReadingCfg(configFlags):
     acc=ComponentAccumulator()
-    #acc.merge(LArGMCfg(configFlags)) #Needed for identifier helpers
-    acc.merge(DetDescrConfig())
+    from DetDescrCnvSvc.DetDescrCnvSvcConfig import DetDescrCnvSvcCfg
+    acc.merge(DetDescrCnvSvcCfg(configFlags))
     acc.merge(ByteStreamReadCfg(configFlags))    
     acc.addEventAlgo(LArRawDataReadingAlg())
     return acc
@@ -42,10 +31,8 @@ if __name__=="__main__":
     
     from LArEventTest.LArEventTestConf import DumpLArRawChannels
     from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg 
-    #acc.merge(LArOnOffIdMappingCfg(ConfigFlags))
-    #acc.addEventAlgo(DumpLArRawChannels(LArRawChannelContainerName="LArRawChannels",))
-
-    #acc.getService("IOVDbSvc").OutputLevel=VERBOSE
+    acc.merge(LArOnOffIdMappingCfg(ConfigFlags))
+    acc.addEventAlgo(DumpLArRawChannels(LArRawChannelContainerName="LArRawChannels",))
 
     f=open("LArRawDataReading.pkl","w")
     acc.store(f)
diff --git a/LArCalorimeter/LArConfiguration/python/LArConfigFlags.py b/LArCalorimeter/LArConfiguration/python/LArConfigFlags.py
index 943772a5a2c4098ab425a459142b0ace9c4280ba..91f82c584cb1dc251acd66c87cd81ae024d02835 100644
--- a/LArCalorimeter/LArConfiguration/python/LArConfigFlags.py
+++ b/LArCalorimeter/LArConfiguration/python/LArConfigFlags.py
@@ -21,10 +21,6 @@ def createLArConfigFlags():
     
     # Include MC shape folder
     lcf.addFlag("LAr.UseMCShape", True)
-    # Include Mphys pulse calibration folder
-    lcf.addFlag("LAr.HasMphys", True)
-    # Include HVCorr folder in MC
-    lcf.addFlag("LAr.HasHVCorr", True)
     # Name of sqlite file containing Electronic Calibration values
     lcf.addFlag("LAr.ElecCalibSqlite", "")
     # Load Electronic Calibration constants
diff --git a/LArCalorimeter/LArConfiguration/python/LArElecCalibDBConfig.py b/LArCalorimeter/LArConfiguration/python/LArElecCalibDBConfig.py
index c0c714d742c392bea2d8d58107d52faf4950f30d..6abf40c35ad1bd9d3cedb255a310aa4d0c98ba19 100644
--- a/LArCalorimeter/LArConfiguration/python/LArElecCalibDBConfig.py
+++ b/LArCalorimeter/LArConfiguration/python/LArElecCalibDBConfig.py
@@ -11,7 +11,8 @@ from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArRampMC_LArRampSym
 from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArfSamplMC_LArfSamplSym_ as LArfSamplSymAlg
 from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LAruA2MeVMC_LAruA2MeVSym_ as LAruA2MeVSymAlg
 from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArAutoCorrMC_LArAutoCorrSym_ as LArAutoCorrSymAlg
-from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg
+from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArShape32MC_LArShape32Sym_ as LArShapeSymAlg
+from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArMphysOverMcalMC_LArMphysOverMcalSym_ as LArMPhysOverMcalSymAlg
 
 
 from LArRecUtils.LArRecUtilsConf import LArFlatConditionsAlg_LArHVScaleCorrFlat_ as LArHVScaleCorrCondFlatAlg
@@ -32,7 +33,7 @@ def LArElecCalibDbCfg(ConfigFlags,condObjs):
         return LArElecCalibDBMCCfg(ConfigFlags,condObjs)
     
     #Check run 1 case:
-    if ConfigFlags.IOVDb.DatabaseInstance == "COMP200":
+    if "COMP200" in ConfigFlags.IOVDb.DatabaseInstance:
         return LArElecCalibDBRun1Cfg(ConfigFlags,condObjs)
 
     #Everything else, eg run 2 (and 3?) data
@@ -98,8 +99,9 @@ def LArElecCalibDBRun1Cfg(ConfigFlags,condObjs):
                                "Shape":("/LAR/ElecCalibOfl/Shape/RTM/"+ ConfigFlags.LAr.OFCShapeFolder if len(ConfigFlags.LAr.OFCShapeFolder)>0 else "5samples1phase","LAr_OFL","LArShapeComplete",None),
                            }
 
+
+
     result=ComponentAccumulator()
-                                     
     folderlist=[]
     for condData in condObjs:
         folder,db,obj,calg=condData
@@ -123,12 +125,16 @@ def LArElecCalibDBMCCfg(ConfigFlags,folders):
                            "fSampl":("LArfSamplMC","/LAR/ElecCalibMC/fSampl","LArfSampl",LArfSamplSymAlg),
                            "uA2MeV":("LAruA2MeVMC","/LAR/ElecCalibMC/uA2MeV","LAruA2MeV", LAruA2MeVSymAlg),
                            "MinBias":("LArMinBiasMC","/LAR/ElecCalibMC/MinBias","LArMinBias",LArMinBiasSymAlg),
-                           "MinBiasAvc":("LArMinBiasAverageMC","/LAR/ElecCalibMC/MinBiasAverage","LArMinBiasAverage",LArMinBiasAverageSymAlg)
+                           "Shape":("LArShape32MC","/LAR/ElecCalibMC/Shape","LArShape",LArShapeSymAlg),
+                           "MinBiasAvc":("LArMinBiasAverageMC","/LAR/ElecCalibMC/MinBiasAverage","LArMinBiasAverage",LArMinBiasAverageSymAlg),
+                           "MphysOverMcal":("LArMphysOverMcalMC","/LAR/ElecCalibMC/MphysOverMcal","LArMphysOverMcal",LArMPhysOverMcalSymAlg),
+                           "HVScale" : ("LArHVScaleCorrComplete", '/LAR/ElecCalibMC/HVScaleCorr',"LArHVScaleCorr",None) 
                        }
 
 
     result=ComponentAccumulator()
     #Add cabling
+    from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg
     result.merge(LArOnOffIdMappingCfg(ConfigFlags))
     from LArRecUtils.LArRecUtilsConf import LArMCSymCondAlg
     result.addCondAlgo(LArMCSymCondAlg(ReadKey="LArOnOffIdMap"))
@@ -141,9 +147,9 @@ def LArElecCalibDBMCCfg(ConfigFlags,folders):
 
         folderlist+=[(fldr,"LAR_OFL",classname),]
         if calg is not None:
-            result.addCondAlg(calg(ReadKey=key,WriteKey=key+"Sym"))
+            result.addCondAlgo(calg(ReadKey=key,WriteKey=key+"Sym"))
 
-        result.addFolderList(ConfigFlags,folderlist)
+        result.merge(addFolderList(ConfigFlags,folderlist))
     return result
         
 
diff --git a/LArCalorimeter/LArDetDescr/python/LArDetDescrConfig.py b/LArCalorimeter/LArDetDescr/python/LArDetDescrConfig.py
deleted file mode 100644
index 714fcf7ae11291079842ccc4af2665e2515bbf1d..0000000000000000000000000000000000000000
--- a/LArCalorimeter/LArDetDescr/python/LArDetDescrConfig.py
+++ /dev/null
@@ -1,20 +0,0 @@
-"""ComponentAccumulator configuration utilities for LAr Detector Description
-
-Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-"""
-
-from CaloConditions.CaloConditionsConfig import CaloTriggerTowerCfg
-from LArRawConditions.LArRawConditionsConfig import LArRawConditionsMCCfg
-from LArRawConditions.LArRawConditionsConfig import LArRawConditionsDataCfg
-
-def LArDetDescrCfg(flags):
-    """Return ComponentAccumulator configured for LAr readout geometry"""
-    # replaces LArDetDescr_joboptions.py
-    acc = CaloTriggerTowerCfg(flags)
-    # not migrated not RecFlags.rec.doAODMerging requirement
-    if flags.Input.isMC:
-        acc.merge(LArRawConditionsMCCfg(flags))
-    else:
-        acc.merge(LArRawConditionsDataCfg(flags))
-    return acc
-
diff --git a/LArCalorimeter/LArDigitization/python/LArDigitizationConfigNew.py b/LArCalorimeter/LArDigitization/python/LArDigitizationConfigNew.py
index f9519090b127ee194d57fac846f8cc27084117b9..48da45addad4227fab71c49bdf6b60c88f31b6e1 100644
--- a/LArCalorimeter/LArDigitization/python/LArDigitizationConfigNew.py
+++ b/LArCalorimeter/LArDigitization/python/LArDigitizationConfigNew.py
@@ -5,11 +5,10 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from PileUpComps.PileUpCompsConf import PileUpXingFolder
 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
-from LArBadChannelTool.LArBadChannelConfig import LArBadChannelMaskerCfg
-from LArDetDescr.LArDetDescrConfig import LArDetDescrCfg
+from LArBadChannelTool.LArBadChannelConfig import LArBadChannelMaskerCfg, LArBadFebCfg
 from LArRecUtils.LArRecUtilsConfig import LArAutoCorrNoiseCondAlgCfg
 from LArRecUtils.LArRecUtilsConfig import LArADC2MeVCondAlgCfg
-from LArRawConditions.LArRawConditionsConfig import LArRawConditionsMCCfg
+from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDbCfg
 from LArDigitization.LArDigitizationConf import LArPileUpTool, LArDigitMaker
 from CommissionUtils.CommissionUtilsConf import CosmicTriggerTimeTool
 from SGComps.SGCompsConf import AddressRemappingSvc, ProxyProviderSvc
@@ -76,13 +75,14 @@ def LArRangeFCALCfg(flags, name="LArRangeFCAL", **kwargs):
 def LArPileUpToolCfg(flags, name="LArPileUpTool", **kwargs):
     """Return a ComponentAccumulator with configured LArPileUpTool"""
     acc = LArGMCfg(flags)
-    # the LAr and Calo detector description package
-    if not flags.Detector.OverlayLAr:
-        acc.merge(LArDetDescrCfg(flags))
-        # This is conditionally merged in LArDetDescrCfg
-        acc.merge(LArRawConditionsMCCfg(flags))
-    # other merges
+
+    #The LArPileupTool needs: Noise, fSampl, Pedestal,Shape ADC2MeV 
+    # AutoCorrNoise, the list of bad FEBs and the cabling
     acc.merge(LArADC2MeVCondAlgCfg(flags))
+    acc.merge(LArBadFebCfg(flags))
+    requiredConditons=["Noise","fSampl","Pedestal","Shape"]
+    acc.merge(LArElecCalibDbCfg(flags,requiredConditons))
+
     if not flags.Detector.OverlayLAr:
         acc.merge(LArAutoCorrNoiseCondAlgCfg(flags))
     if "MaskingTool" not in kwargs:
@@ -127,7 +127,7 @@ def LArPileUpToolCfg(flags, name="LArPileUpTool", **kwargs):
             "LArHitContainer#LArHitFCAL->LArHitFloatContainer#LArHitFCAL"
         ]
         acc.addService(AddressRemappingSvc(TypeKeyOverwriteMaps=maps, ProxyDict="ActiveStoreSvc"))
-        acc.addService(ProxyProviderSvc(ProviderNames=["AddressRemappingSvc"]))
+        acc.addService(ProxyProviderSvc(ProviderNames=["AddressRemappingSvc"]))    
     acc.setPrivateTools(LArPileUpTool(name, **kwargs))
     return acc
 
@@ -137,6 +137,8 @@ def LArDigitMakerCfg(flags, name="LArDigitMaker", **kwargs):
     if "LArPileUpTool" not in kwargs:
         tool = acc.popToolsAndMerge(LArPileUpToolCfg(flags))
         kwargs["LArPileUpTool"] = tool
+
+    
     acc.addEventAlgo(LArDigitMaker(name, **kwargs))
     acc.merge(OutputStreamCfg(flags, "RDO", LArItemList()))
     return acc
diff --git a/LArCalorimeter/LArROD/python/LArRawChannelBuilderAlgConfig.py b/LArCalorimeter/LArROD/python/LArRawChannelBuilderAlgConfig.py
index 0a4d9bc0d28223d8f9f6a90ad959d83026efe69b..bd0573145f220fef8069cf870ca8b4daec80185c 100644
--- a/LArCalorimeter/LArROD/python/LArRawChannelBuilderAlgConfig.py
+++ b/LArCalorimeter/LArROD/python/LArRawChannelBuilderAlgConfig.py
@@ -1,6 +1,6 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 from LArROD.LArRODConf import LArRawChannelBuilderAlg
-from LArRecUtils.LArADC2MeVCondAlgConfig import LArADC2MeVCondAlgCfg
+from LArRecUtils.LArRecUtilsConfig import LArADC2MeVCondAlgCfg
 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDbCfg
 
 def LArRawChannelBuilderAlgCfg(configFlags):
diff --git a/LArCalorimeter/LArRawConditions/python/LArRawConditionsConfig.py b/LArCalorimeter/LArRawConditions/python/LArRawConditionsConfig.py
deleted file mode 100644
index 956da8961c199686da544628908b38e015b77699..0000000000000000000000000000000000000000
--- a/LArCalorimeter/LArRawConditions/python/LArRawConditionsConfig.py
+++ /dev/null
@@ -1,178 +0,0 @@
-"""ComponentAccumulator configuration utilities for LAr Raw Conditions
-
-Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-"""
-from IOVDbSvc.IOVDbSvcConfig import addFolders
-from LArCabling.LArCablingConfig import LArIdMapCfg
-from LArBadChannelTool.LArBadChannelConfig import LArBadChannelCfg, LArBadFebCfg
-from LArRecUtils.LArRecUtilsConfig import LArMCSymCondAlgCfg
-from LArBadChannelTool.LArBadChannelToolConf import LArBadFebCondAlg
-from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArDAC2uAMC_LArDAC2uASym_ as LArDAC2uASymAlg
-from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArMinBiasAverageMC_LArMinBiasAverageSym_ as LArMinBiasAverageSymAlg
-from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArMinBiasMC_LArMinBiasSym_ as LArMinBiasSymAlg
-from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArNoiseMC_LArNoiseSym_ as LArNoiseSymAlg
-from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArRampMC_LArRampSym_ as LArRampSymAlg
-from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArfSamplMC_LArfSamplSym_ as LArfSamplSymAlg
-from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LAruA2MeVMC_LAruA2MeVSym_ as LAruA2MeVSymAlg
-from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArAutoCorrMC_LArAutoCorrSym_ as LArAutoCorrSymAlg
-from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArShape32MC_LArShape32Sym_ as LArShapeSymAlg
-from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArMphysOverMcalMC_LArMphysOverMcalSym_ as LArMPhysOverMcalSymAlg
-from LArRecUtils.LArRecUtilsConf import LArFlatConditionSvc
-from LArRecUtils.LArRecUtilsConf import LArFlatConditionsAlg_LArHVScaleCorrFlat_ as LArHVScaleCorrCondFlatAlg
-from LArRecUtils.LArRecUtilsConf import LArFlatConditionsAlg_LAruA2MeVFlat_ as LAruA2MeVCondAlg
-from LArRecUtils.LArRecUtilsConf import LArFlatConditionsAlg_LArDAC2uAFlat_ as LArDAC2uACondAlg
-from LArRecUtils.LArRecUtilsConf import LArFlatConditionsAlg_LArPedestalFlat_ as LArPedestalCondAlg
-from LArRecUtils.LArRecUtilsConf import LArFlatConditionsAlg_LArRampFlat_ as LArRampCondAlg
-from LArRecUtils.LArRecUtilsConf import LArFlatConditionsAlg_LArMphysOverMcalFlat_ as LArMphysOverMcalCondAlg
-from LArRecUtils.LArRecUtilsConf import LArFlatConditionsAlg_LArOFCFlat_ as LArOFCCondAlg
-from LArRecUtils.LArRecUtilsConf import LArFlatConditionsAlg_LArShapeFlat_ as LArShapeCondAlg
-
-def LArRawConditionsMCCfg(flags):
-    """Return ComponentAccumulator configured to access LArRawConditions objects from COOL, for Monte Carlo"""
-    # replaces LArConditionsCommon_MC_jobOptions.py
-    # config_ElecCalibMC() not migrated
-    acc = LArIdMapCfg(flags)
-    acc.merge(LArBadChannelCfg(flags))
-    acc.merge(LArBadFebCfg(flags))
-    acc.addCondAlgo(LArBadFebCondAlg("LArKnownBadFebAlg", ReadKey="", WriteKey="LArKnownBadFEBs"))
-    acc.addCondAlgo(LArBadFebCondAlg("LArKnownMNBFebAlg", ReadKey="", WriteKey="LArKnownMNBFEBs"))
-    acc.merge(LArMCSymCondAlgCfg(flags))
-    # get parameters
-    LArDBConnection = flags.LAr.DBConnection
-    LArDB = ("LAR_OFL" if LArDBConnection == "" else "")
-    # utility
-    def addLArFolder(className, folder, key, calg):
-        folder = "/LAR/ElecCalibMC/" + folder
-        acc.merge(addFolders(flags, folder + LArDBConnection, LArDB, className))
-        if calg is not None:
-            acc.addCondAlgo(calg(ReadKey=key, WriteKey=key + "Sym"))
-        # override not migrated
-        # larCondFlags.addTag(fldr, conddb)
-
-    # CondDB folders and algs
-    addLArFolder("LArRampMC", "Ramp", "LArRamp", LArRampSymAlg)
-    addLArFolder("LArAutoCorrMC", "AutoCorr", "LArAutoCorr", LArAutoCorrSymAlg)
-    addLArFolder("LArDAC2uAMC", "DAC2uA", "LArDAC2uA", LArDAC2uASymAlg)
-    addLArFolder("LArPedestalMC", "Pedestal", "LArPedestal", None)
-    addLArFolder("LArNoiseMC", "Noise", "LArNoise", LArNoiseSymAlg)
-    addLArFolder("LArfSamplMC", "fSampl", "LArfSampl", LArfSamplSymAlg)
-    addLArFolder("LAruA2MeVMC", "uA2MeV", "LAruA2MeV", LAruA2MeVSymAlg)
-    addLArFolder("LArMinBiasMC", "MinBias", "LArMinBias", LArMinBiasSymAlg)
-    addLArFolder("LArMinBiasAverageMC", "MinBiasAverage", "LArMinBiasAverage", LArMinBiasAverageSymAlg)
-    if flags.LAr.UseMCShape:
-        addLArFolder("LArShape32MC", "Shape", "LArShape",LArShapeSymAlg)
-    if flags.LAr.HasMphys:
-        addLArFolder("LArMphysOverMcalMC", "MphysOverMcal", "LArMphysOverMcal", LArMPhysOverMcalSymAlg)
-    if flags.LAr.HasHVCorr:
-        addLArFolder("LArHVScaleCorrComplete", "HVScaleCorr", "LArHVScaleCorr", None)
-    # override not migrated
-    # larCondFlags.addTag("/LAR/ElecCalibMC",conddb)
-    return acc
-
-def LArRawConditionsDataCfg(flags):
-    """Return ComponentAccumulator configured to access LArRawConditions objects from COOL, for data"""
-    # replaces LArConditionsCommon_comm_jobOptions.py
-    # this migration replaces flag sets with local variables
-    # and so loses the locked override ability 
-    acc = LArIdMapCfg(flags)
-    # get parameters
-    if flags.Input.ProjectName.startswith("data09"):
-        CoolChannelSelection = "3:238,306,313,319,325,331,338,344,350,1001:1012,1021,1022"
-        OFCShapeFolder = "5samples3bins17phases"
-    else:
-        CoolChannelSelection = ""
-        OFCShapeFolder = ""
-    if flags.LAr.ElecCalibSqlite != "":
-        # Assume sqlite file contains the online database
-        sqlDB = "<db>sqlite://;schema=" + flags.LAr.ElecCalibSqlite + ";dbname=CONDB2</db>"
-        ONLDB = ""
-    else:
-        sqlDB = ""
-        ONLDB = "LAR_ONL"
-    if flags.LAr.ForceIOVRunNumber == "":
-        forceRN = ""
-    else:
-        forceRN = "<forceRunNumber>" + flags.LAr.ForceIOVRunNumber + "</forceRunNumber>"
-    # utility
-    def addLArFlatFolder(db, obj, calg, qual=""):
-        """Merge folder and calg with given properties"""
-        folder = "/LAR/ElecCalibFlat/" + obj
-        acc.merge(addFolders(flags, folder + forceRN + qual, db, "CondAttrListCollection"))
-        acc.addCondAlgo(calg(ReadKey=folder, WriteKey="LAr" + obj))
-
-    def addLArFolder(db, obj, cls, qual=""):
-        folder = "ElecCalib" + ("Ofl" if db.endswith("OFL") else "Onl")
-        acc.merge(addFolders(flags, "/LAR/" + folder + "/" + obj + forceRN + qual, db, cls))
-
-    # Bad channels
-    rekeyBC="<key>/LAR/BadChannels/BadChannels</key>"
-    acc.merge(LArBadChannelCfg(flags, tag=forceRN + rekeyBC))
-    rekeyMF="<key>/LAR/BadChannels/MissingFEBs</key>"
-    acc.merge(LArBadFebCfg(flags, tag=forceRN + rekeyMF))
-    # not migrated reco folders for ESD or RDOTrigger here
-    # haveElecCalibInline <=> Run 2
-    haveElecCalibInline = (flags.IOVDb.DatabaseInstance == "CONDBR2")
-    if haveElecCalibInline:
-        theLArCondSvc = LArFlatConditionSvc()
-        acc.addService(theLArCondSvc)
-        acc.getService("ProxyProviderSvc").ProviderNames += ["LArFlatConditionSvc"]
-        # load HVScaleCorr
-        addLArFlatFolder(ONLDB, "HVScaleCorr", LArHVScaleCorrCondFlatAlg, sqlDB)
-        theLArCondSvc.HVScaleCorrInput = "/LAR/ElecCalibFlat/HVScaleCorr" # TEMPORARY
-    # not migrated RecoFlags.rec.readESD here
-    # return now if not loading ElecCalib
-    if not flags.LAr.LoadElecCalib:
-        return acc
-    # decide on selection
-    if CoolChannelSelection != "":
-        selection = "<channelSelection>" + CoolChannelSelection + "</channelSelection>"
-    else:
-        selection = ""
-    # load ElecCalib state:
-    # 1. uA2MeV
-    # 2. DAC2uA
-    # 3. Pedestal
-    # 4. Ramp
-    # 5. MphysOverMcal
-    # 6. HVScaleCorr
-    # 7. OFCs
-    # 8. Shape
-    if haveElecCalibInline:
-        # Run 2 case
-        addLArFlatFolder("LAR_ONL", "uA2MeV", LAruA2MeVCondAlg)
-        addLArFlatFolder("LAR_ONL", "DAC2uA", LArDAC2uACondAlg)
-        addLArFlatFolder(ONLDB, "Pedestal", LArPedestalCondAlg, sqlDB)
-        addLArFlatFolder(ONLDB, "Ramp", LArRampCondAlg, sqlDB)
-        addLArFlatFolder(ONLDB, "MphysOverMcal", LArMphysOverMcalCondAlg, sqlDB)
-        # HVScaleCorr moved outside of the if loadElecCalib clause b/c it"s now used by the CaloNoiseTool
-        addLArFlatFolder(ONLDB, "OFC", LArOFCCondAlg, sqlDB)
-        addLArFolder("LAR_OFL", "OFC/PhysWave/RTM/" + OFCShapeFolder, "LArOFCComplete", selection)
-        # TEMPORARY
-        theLArCondSvc.uA2MeVInput = "/LAR/ElecCalibFlat/uA2MeV"
-        theLArCondSvc.DAC2uAInput = "/LAR/ElecCalibFlat/DAC2uA"
-        theLArCondSvc.PedestalInput = "/LAR/ElecCalibFlat/Pedestal"
-        theLArCondSvc.RampInput = "/LAR/ElecCalibFlat/Ramp"
-        theLArCondSvc.MphysOverMcalInput = "/LAR/ElecCalibFlat/MphysOverMcal"
-        theLArCondSvc.OFCInput = "/LAR/ElecCalibFlat/OFC"
-        if flags.LAr.UseShape:
-            if OFCShapeFolder == "":
-                addLArFlatFolder(ONLDB, "Shape", LArShapeCondAlg, sqlDB)
-                theLArCondSvc.ShapeInput = "/LAR/ElecCalibFlat/Shape" # TEMPORARY
-            else:
-                addLArFolder("LAR_OFL", "Shape/RTM/" + OFCShapeFolder, "LArShapeComplete", selection)
-    else: 
-        # Run 1 case - read some electronic calibration constants from the offline DB
-        ua2MeVFolder = "uA2MeV/Symmetry"
-        MphysOverMcalFolder = "MphysOverMcal/RTM"
-        OFCShapeFolder = "5samples1phase"
-        addLArFolder("LAR_OFL", ua2MeVFolder, "LAruA2MeVMC")
-        addLArFolder("LAR_ONL", "DAC2uA", "LArDAC2uAMC")
-        addLArFolder("LAR_ONL", "Pedestal", "LArPedestalComplete", "<key>LArPedestal</key>")
-        addLArFolder("LAR_ONL", "Ramp", "LArRampComplete")
-        addLArFolder("LAR_OFL", MphysOverMcalFolder, "LArMphysOverMcalComplete")
-        addLArFolder("LAR_ONL", "HVScaleCorr", "LArHVScaleCorrComplete")
-        addLArFolder("LAR_OFL", "OFC/PhysWave/RTM/" + OFCShapeFolder, "LArOFCComplete", selection)
-        if flags.LAr.UseShape:
-            addLArFolder("LAR_OFL", "Shape/RTM/" + OFCShapeFolder, "LArShapeComplete", selection)
-    return acc
-
diff --git a/LArCalorimeter/LArRecUtils/python/LArADC2MeVCondAlgConfig.py b/LArCalorimeter/LArRecUtils/python/LArADC2MeVCondAlgConfig.py
deleted file mode 100644
index 6d417eedbf4b4b859981a3db67a9c2599cd2a36e..0000000000000000000000000000000000000000
--- a/LArCalorimeter/LArRecUtils/python/LArADC2MeVCondAlgConfig.py
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-
-from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-
-def LArADC2MeVCondAlgCfg(configFlags):
-    from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg 
-    from LArRecUtils.LArRecUtilsConf import LArADC2MeVCondAlg 
-    from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDbCfg
-    from LArGeoAlgsNV.LArGMConfig import LArGMCfg
-    
-    result=ComponentAccumulator()
-    result.merge(LArOnOffIdMappingCfg(configFlags))
-    result.merge(LArGMCfg(configFlags)) #Needed for identifier helpers
-
-    theADC2MeVCondAlg=LArADC2MeVCondAlg()
-
-    isMC=configFlags.Input.isMC
-    
-    if isMC:
-        requiredConditons=["Ramp","DAC2uA","uA2MeV"]
-        if not configFlags.LAr.HasMphys:
-            theADC2MeVCondAlg.LArMphysOverMcalKey="" #No MphysOVerMcal
-        else:
-            theADC2MeVCondAlg.LArMphysOverMcalKey="LArMphysOverMcalSym"
-            requiredConditons+=["MphysOverMcal",]
-
-        if not configFlags.LAr.HasHVCorr:
-            theADC2MeVCondAlg.LArHVScaleCorrKey=""
-        else:
-            requiredConditons+=["HVScale",]
-        theADC2MeVCondAlg.LAruA2MeVKey="LAruA2MeVSym"
-        theADC2MeVCondAlg.LArDAC2uAKey="LArDAC2uASym"
-        theADC2MeVCondAlg.LArRampKey="LArRampSym"
-
-
-        theADC2MeVCondAlg.UseFEBGainTresholds=False
-    else: # not MC:
-        requiredConditons=["Ramp","DAC2uA","uA2MeV","MphysOverMcal","HVScaleCorr"]
-        from LArRecUtils.LArFebConfigCondAlgConfig import LArFebConfigCondAlgCfg
-        if 'COMP200' in configFlags.IOVDb.DatabaseInstance: # Run1 case
-            theADC2MeVCondAlg.LAruA2MeVKey="LAruA2MeVSym"
-            theADC2MeVCondAlg.LArDAC2uAKey="LArDAC2uASym"
-        result.merge(LArFebConfigCondAlgCfg(configFlags))
-
-    result.merge(LArElecCalibDbCfg(configFlags,requiredConditons))
-    result.addCondAlgo(theADC2MeVCondAlg,primary=True)
-    return result
-
-
-if __name__=="__main__":
-    from AthenaConfiguration.AllConfigFlags import ConfigFlags
-    from AthenaCommon.Logging import log
-    from AthenaCommon.Constants import DEBUG
-    from AthenaCommon.Configurable import Configurable
-    Configurable.configurableRun3Behavior=1
-    log.setLevel(DEBUG)
-
-    from AthenaConfiguration.TestDefaults import defaultTestFiles
-    ConfigFlags.Input.Files = defaultTestFiles.RAW
-    ConfigFlags.lock()
-
-    cfg=ComponentAccumulator()
-    from ByteStreamCnvSvc.ByteStreamConfig import TrigBSReadCfg
-    cfg.merge( TrigBSReadCfg(ConfigFlags) )
-
-    from LArGeoAlgsNV.LArGMConfig import LArGMCfg
-    cfg.merge(LArGMCfg(ConfigFlags))
- 
-
-    cfg.merge(LArADC2MeVCondAlgCfg(ConfigFlags))
-    f=open("LArADC2MeVCondAlgo.pkl","w")
-    cfg.store(f)
-    f.close()
diff --git a/LArCalorimeter/LArRecUtils/python/LArRecUtilsConfig.py b/LArCalorimeter/LArRecUtils/python/LArRecUtilsConfig.py
index fd1d597c1d1640fa2854756813565c43441354bb..18666cca982a8b09dc20a335992ea676b4c5faef 100644
--- a/LArCalorimeter/LArRecUtils/python/LArRecUtilsConfig.py
+++ b/LArCalorimeter/LArRecUtils/python/LArRecUtilsConfig.py
@@ -5,30 +5,40 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from AthenaCommon.Logging import logging
 from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg
-from LArRecUtils.LArFebConfigCondAlgConfig import LArFebConfigCondAlgCfg
-from LArRecUtils.LArRecUtilsConf import LArADC2MeVCondAlg
 from LArRecUtils.LArRecUtilsConf import LArMCSymCondAlg
-from LArRecUtils.LArRecUtilsConf import LArAutoCorrNoiseCondAlg
-
-def LArADC2MeVCondAlgCfg(flags, **kwargs):
-    """Return ComponentAccumulator with configured LArADC2MeVCondAlg"""
-    acc = LArOnOffIdMappingCfg(flags)
-    if flags.Input.isMC:
-        if flags.LAr.HasMphys:
-            LArMphysOverMcalKey = "LArMphysOverMcalSym"
-        else:
-            LArMphysOverMcalKey = ""
-        kwargs.setdefault("LArMphysOverMcalKey", LArMphysOverMcalKey)
-        if not flags.LAr.HasHVCorr:
-            kwargs.setdefault("LArHVScaleCorrKey", "")
-        kwargs.setdefault("LAruA2MeVKey", "LAruA2MeVSym")
-        kwargs.setdefault("LArDAC2uAKey", "LArDAC2uASym")
-        kwargs.setdefault("LArRampKey", "LArRampSym")
-        kwargs.setdefault("UseFEBGainTresholds", False)
-    else:
-        acc.merge(LArFebConfigCondAlgCfg(flags))
-    acc.addCondAlgo(LArADC2MeVCondAlg(**kwargs))
-    return acc
+from DetDescrCnvSvc.DetDescrCnvSvcConfig import DetDescrCnvSvcCfg
+from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDbCfg
+
+def LArADC2MeVCondAlgCfg(flags):
+    from LArRecUtils.LArRecUtilsConf import LArADC2MeVCondAlg 
+    
+    result=ComponentAccumulator()
+    #This CondAlgo needs identifier helpers and the cable map
+    result.merge(LArOnOffIdMappingCfg(flags))
+    result.merge(DetDescrCnvSvcCfg(flags))
+    theADC2MeVCondAlg=LArADC2MeVCondAlg()
+
+    isMC=flags.Input.isMC
+    
+    if isMC:
+        requiredConditons=["Ramp","DAC2uA","uA2MeV","MphysOverMcal","HVScale"]
+        theADC2MeVCondAlg.LAruA2MeVKey="LAruA2MeVSym"
+        theADC2MeVCondAlg.LArDAC2uAKey="LArDAC2uASym"
+        theADC2MeVCondAlg.LArRampKey="LArRampSym"
+        theADC2MeVCondAlg.LArMphysOverMcalKey="LArMphysOverMcalSym"
+        theADC2MeVCondAlg.LArHVScaleCorrKey="LArHVScaleCorr"
+        theADC2MeVCondAlg.UseFEBGainTresholds=False
+    else: # not MC:
+        requiredConditons=["Ramp","DAC2uA","uA2MeV","MphysOverMcal","HVScaleCorr"]
+        from LArRecUtils.LArFebConfigCondAlgConfig import LArFebConfigCondAlgCfg
+        if 'COMP200' in flags.IOVDb.DatabaseInstance: # Run1 case
+            theADC2MeVCondAlg.LAruA2MeVKey="LAruA2MeVSym"
+            theADC2MeVCondAlg.LArDAC2uAKey="LArDAC2uASym"
+        result.merge(LArFebConfigCondAlgCfg(flags))
+
+    result.merge(LArElecCalibDbCfg(flags,requiredConditons))
+    result.addCondAlgo(theADC2MeVCondAlg,primary=True)
+    return result 
 
 def LArMCSymCondAlgCfg(flags, name="LArMCSymCondAlg", **kwargs):
     """Return ComponentAccumulator with configured LArMCSymCondAlg"""
@@ -39,8 +49,12 @@ def LArMCSymCondAlgCfg(flags, name="LArMCSymCondAlg", **kwargs):
 
 def LArAutoCorrNoiseCondAlgCfg(flags, name="LArAutoCorrNoiseCondAlg", **kwargs):
     """Return ComponentAccumulator with configured LArAutoCorrNoiseCondAlg"""
+
+    from LArRecUtils.LArRecUtilsConf import LArAutoCorrNoiseCondAlg
+    # The LArAutoCorrNoiseCondAlgCfg needs the cabling, the sym-object and the AutoCorr
     acc = LArOnOffIdMappingCfg(flags)
     acc.merge(LArMCSymCondAlgCfg(flags))
+    acc.merge(LArElecCalibDbCfg(flags,["AutoCorr",]))
     kwargs.setdefault("nSampl", flags.LAr.ROD.nSamples)
     acc.addCondAlgo(LArAutoCorrNoiseCondAlg(name, **kwargs))
     return acc
@@ -50,8 +64,6 @@ def LArOFCCondAlgCfg (flags, name = 'LArOFCCondAlg', **kwargs):
     from AthenaCommon.SystemOfUnits import ns
     deltaBunch = int(flags.Beam.BunchSpacing/( 25.*ns)+0.5)
 
-    acc = LArOnOffIdMappingCfg(flags)
-
     mlog = logging.getLogger ('LArOFCCondAlgCfg')
 
     kwargs.setdefault ('isMC', True)
@@ -83,17 +95,24 @@ def LArOFCCondAlgCfg (flags, name = 'LArOFCCondAlg', **kwargs):
         else:
             kwargs.setdefault ('UseDelta', 0)
 
-
+    #The LArPileUpTool needs: Calbling, Shape, Noise, Pedestal and the (total) AutoCorr
+    acc = LArOnOffIdMappingCfg(flags)
+    requiredConditons=["Shape","Noise","Pedestal"]
+    acc.merge(LArElecCalibDbCfg(flags,requiredConditons))
+    acc.merge(LArAutoCorrTotalCondAlgCfg(flags))
     from LArRecUtils.LArRecUtilsConf import LArOFCCondAlg
     acc.addCondAlgo (LArOFCCondAlg (name, **kwargs))
     return acc
 
 
 def LArAutoCorrTotalCondAlgCfg (flags, name = 'LArAutoCorrTotalCondAlg', **kwargs):
-    acc = LArOnOffIdMappingCfg(flags)
-
     kwargs.setdefault("Nsamples", flags.LAr.ROD.nSamples)
 
+    #The LArAutoCorrTotalAlg needs cabling and
+    #Shape, AutoCorr, Noise, Pedestal, fSampl and MinBias 
+    acc = LArOnOffIdMappingCfg(flags)
+    requiredConditons=["Shape","AutoCorr","Noise","Pedestal","fSampl","MinBias"]
+    acc.merge(LArElecCalibDbCfg(flags,requiredConditons))
     from LArRecUtils.LArRecUtilsConf import LArAutoCorrTotalCondAlg
     acc.addCondAlgo (LArAutoCorrTotalCondAlg (name, **kwargs))
     return acc
@@ -108,14 +127,14 @@ if __name__ == "__main__":
 
     print ('--- LArOFCCondAlg 1')
     flags1 = ConfigFlags.clone()
-    flags1.Input.Files = defaultTestFiles.RAW
+    flags1.Input.Files = defaultTestFiles.RDO
     acc1 = LArOFCCondAlgCfg (flags1)
     acc1.printCondAlgs(summariseProps=True)
     acc1.wasMerged()
 
     print ('--- LArOFCCondAlg 2')
     flags2 = ConfigFlags.clone()
-    flags2.Input.Files = defaultTestFiles.RAW
+    flags2.Input.Files = defaultTestFiles.RDO
     flags2.LAr.ROD.UseDelta = 2
     acc2 = LArOFCCondAlgCfg (flags2)
     acc2.printCondAlgs(summariseProps=True)
@@ -123,7 +142,7 @@ if __name__ == "__main__":
 
     print ('--- LArOFCCondAlg 3')
     flags3 = ConfigFlags.clone()
-    flags3.Input.Files = defaultTestFiles.RAW
+    flags3.Input.Files = defaultTestFiles.RDO
     flags3.LAr.ROD.DoOFCMixedOptimization = True
     acc3 = LArOFCCondAlgCfg (flags3)
     acc3.printCondAlgs(summariseProps=True)
@@ -131,7 +150,7 @@ if __name__ == "__main__":
 
     print ('--- LArAutoCorrTotalCondAlg')
     flags4 = ConfigFlags.clone()
-    flags4.Input.Files = defaultTestFiles.RAW
+    flags4.Input.Files = defaultTestFiles.RDO
     flags4.LAr.ROD.nSamples = 32
     flags4.LAr.ROD.DoOFCMixedOptimization = True
     acc4 = LArAutoCorrTotalCondAlgCfg (flags4)
diff --git a/LArCalorimeter/LArRecUtils/share/LArRecUtilsConfig_test.ref b/LArCalorimeter/LArRecUtils/share/LArRecUtilsConfig_test.ref
index 57ae5d61fd17fd87121c5408a3c7602da3a1226e..be7ed13b92959a9ad825ffdf32ac217e5b2d5e86 100644
--- a/LArCalorimeter/LArRecUtils/share/LArRecUtilsConfig_test.ref
+++ b/LArCalorimeter/LArRecUtils/share/LArRecUtilsConfig_test.ref
@@ -1,12 +1,33 @@
-Py:Athena            INFO using release [?-21.0.0] [i686-slc5-gcc43-dbg] [?/?] -- built on [?]
+Py:Athena            INFO using release [WorkDir-22.0.4] [x86_64-centos7-gcc8-opt] [LArAndTileCellConfig2/4ac470b] -- built on [2019-08-15T1328]
 --- LArOFCCondAlg 1
-Py:Athena            INFO Obtaining metadata of auto-configuration by peeking into /home/sss/nobackup/referencefiles/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1
 Py:LArOFCCondAlgCfg    INFO   Standard OFC optimization computation
+Py:AutoConfigFlags    INFO Obtaining metadata of auto-configuration by peeking into /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/q221/21.0/v1/myRDO.pool.root
+Py:MetaReader        INFO Current mode used: peeker
+Py:MetaReader        INFO MetaReader is called with the parameter "unique_tag_info_values" set to True. This is a workaround to remove all duplicate values from "/TagInfo" key
 Py:ComponentAccumulator    INFO Condition Algorithms
 Py:ComponentAccumulator    INFO  \__ CondInputLoader (cond alg)
-Py:ComponentAccumulator    INFO      * Load: [('AthenaAttributeList', '/LAR/Identifier/OnOffIdMap')]
+Py:ComponentAccumulator    INFO      * Load: [('AthenaAttributeList', '/LAR/Identifier/OnOffIdMap'), ('LArShape32MC', '/LAR/ElecCalibMC/Shape'), ('LArNoiseMC', '/LAR/ElecCalibMC/Noise'), ('LArPedestalMC', '/LAR/ElecCalibMC/Pedestal'), ('LArAutoCorrMC', '/LAR/ElecCalibMC/AutoCorr'), ('LArfSamplMC', '/LAR/ElecCalibMC/fSampl'), ('LArMinBiasMC', '/LAR/ElecCalibMC/MinBias')]
 Py:ComponentAccumulator    INFO  \__ LArOnOffMappingAlg (cond alg)
 Py:ComponentAccumulator    INFO      * ReadKey: /LAR/Identifier/OnOffIdMap
+Py:ComponentAccumulator    INFO  \__ LArMCSymCondAlg (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArOnOffIdMap
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArShape32MC, LArShape32Sym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArShape
+Py:ComponentAccumulator    INFO      * WriteKey: LArShapeSym
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArNoiseMC, LArNoiseSym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArNoise
+Py:ComponentAccumulator    INFO      * WriteKey: LArNoiseSym
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArAutoCorrMC, LArAutoCorrSym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArAutoCorr
+Py:ComponentAccumulator    INFO      * WriteKey: LArAutoCorrSym
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArfSamplMC, LArfSamplSym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArfSampl
+Py:ComponentAccumulator    INFO      * WriteKey: LArfSamplSym
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArMinBiasMC, LArMinBiasSym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArMinBias
+Py:ComponentAccumulator    INFO      * WriteKey: LArMinBiasSym
+Py:ComponentAccumulator    INFO  \__ LArAutoCorrTotalCondAlg (cond alg)
+Py:ComponentAccumulator    INFO      * Nsamples: 5
 Py:ComponentAccumulator    INFO  \__ LArOFCCondAlg (cond alg)
 Py:ComponentAccumulator    INFO      * UseDelta: 0
 Py:ComponentAccumulator    INFO      * firstSample: 0
@@ -16,9 +37,28 @@ Py:ComponentAccumulator    INFO      * useHighestGainAutoCorr: False
 Py:LArOFCCondAlgCfg    INFO   OFC optimization asking for no average shift as extra constraint everywhere
 Py:ComponentAccumulator    INFO Condition Algorithms
 Py:ComponentAccumulator    INFO  \__ CondInputLoader (cond alg)
-Py:ComponentAccumulator    INFO      * Load: [('AthenaAttributeList', '/LAR/Identifier/OnOffIdMap')]
+Py:ComponentAccumulator    INFO      * Load: [('AthenaAttributeList', '/LAR/Identifier/OnOffIdMap'), ('LArShape32MC', '/LAR/ElecCalibMC/Shape'), ('LArNoiseMC', '/LAR/ElecCalibMC/Noise'), ('LArPedestalMC', '/LAR/ElecCalibMC/Pedestal'), ('LArAutoCorrMC', '/LAR/ElecCalibMC/AutoCorr'), ('LArfSamplMC', '/LAR/ElecCalibMC/fSampl'), ('LArMinBiasMC', '/LAR/ElecCalibMC/MinBias')]
 Py:ComponentAccumulator    INFO  \__ LArOnOffMappingAlg (cond alg)
 Py:ComponentAccumulator    INFO      * ReadKey: /LAR/Identifier/OnOffIdMap
+Py:ComponentAccumulator    INFO  \__ LArMCSymCondAlg (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArOnOffIdMap
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArShape32MC, LArShape32Sym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArShape
+Py:ComponentAccumulator    INFO      * WriteKey: LArShapeSym
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArNoiseMC, LArNoiseSym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArNoise
+Py:ComponentAccumulator    INFO      * WriteKey: LArNoiseSym
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArAutoCorrMC, LArAutoCorrSym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArAutoCorr
+Py:ComponentAccumulator    INFO      * WriteKey: LArAutoCorrSym
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArfSamplMC, LArfSamplSym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArfSampl
+Py:ComponentAccumulator    INFO      * WriteKey: LArfSamplSym
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArMinBiasMC, LArMinBiasSym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArMinBias
+Py:ComponentAccumulator    INFO      * WriteKey: LArMinBiasSym
+Py:ComponentAccumulator    INFO  \__ LArAutoCorrTotalCondAlg (cond alg)
+Py:ComponentAccumulator    INFO      * Nsamples: 5
 Py:ComponentAccumulator    INFO  \__ LArOFCCondAlg (cond alg)
 Py:ComponentAccumulator    INFO      * DeltaBunch: 1
 Py:ComponentAccumulator    INFO      * UseDelta: 2
@@ -29,9 +69,28 @@ Py:ComponentAccumulator    INFO      * useHighestGainAutoCorr: False
 Py:LArOFCCondAlgCfg    INFO   OFC *MIXED* optimization
 Py:ComponentAccumulator    INFO Condition Algorithms
 Py:ComponentAccumulator    INFO  \__ CondInputLoader (cond alg)
-Py:ComponentAccumulator    INFO      * Load: [('AthenaAttributeList', '/LAR/Identifier/OnOffIdMap')]
+Py:ComponentAccumulator    INFO      * Load: [('AthenaAttributeList', '/LAR/Identifier/OnOffIdMap'), ('LArShape32MC', '/LAR/ElecCalibMC/Shape'), ('LArNoiseMC', '/LAR/ElecCalibMC/Noise'), ('LArPedestalMC', '/LAR/ElecCalibMC/Pedestal'), ('LArAutoCorrMC', '/LAR/ElecCalibMC/AutoCorr'), ('LArfSamplMC', '/LAR/ElecCalibMC/fSampl'), ('LArMinBiasMC', '/LAR/ElecCalibMC/MinBias')]
 Py:ComponentAccumulator    INFO  \__ LArOnOffMappingAlg (cond alg)
 Py:ComponentAccumulator    INFO      * ReadKey: /LAR/Identifier/OnOffIdMap
+Py:ComponentAccumulator    INFO  \__ LArMCSymCondAlg (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArOnOffIdMap
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArShape32MC, LArShape32Sym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArShape
+Py:ComponentAccumulator    INFO      * WriteKey: LArShapeSym
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArNoiseMC, LArNoiseSym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArNoise
+Py:ComponentAccumulator    INFO      * WriteKey: LArNoiseSym
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArAutoCorrMC, LArAutoCorrSym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArAutoCorr
+Py:ComponentAccumulator    INFO      * WriteKey: LArAutoCorrSym
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArfSamplMC, LArfSamplSym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArfSampl
+Py:ComponentAccumulator    INFO      * WriteKey: LArfSamplSym
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArMinBiasMC, LArMinBiasSym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArMinBias
+Py:ComponentAccumulator    INFO      * WriteKey: LArMinBiasSym
+Py:ComponentAccumulator    INFO  \__ LArAutoCorrTotalCondAlg (cond alg)
+Py:ComponentAccumulator    INFO      * Nsamples: 5
 Py:ComponentAccumulator    INFO  \__ LArOFCCondAlg (cond alg)
 Py:ComponentAccumulator    INFO      * DeltaBunch: 1
 Py:ComponentAccumulator    INFO      * UseDelta: 1
@@ -41,8 +100,25 @@ Py:ComponentAccumulator    INFO      * useHighestGainAutoCorr: False
 --- LArAutoCorrTotalCondAlg
 Py:ComponentAccumulator    INFO Condition Algorithms
 Py:ComponentAccumulator    INFO  \__ CondInputLoader (cond alg)
-Py:ComponentAccumulator    INFO      * Load: [('AthenaAttributeList', '/LAR/Identifier/OnOffIdMap')]
+Py:ComponentAccumulator    INFO      * Load: [('AthenaAttributeList', '/LAR/Identifier/OnOffIdMap'), ('LArShape32MC', '/LAR/ElecCalibMC/Shape'), ('LArAutoCorrMC', '/LAR/ElecCalibMC/AutoCorr'), ('LArNoiseMC', '/LAR/ElecCalibMC/Noise'), ('LArPedestalMC', '/LAR/ElecCalibMC/Pedestal'), ('LArfSamplMC', '/LAR/ElecCalibMC/fSampl'), ('LArMinBiasMC', '/LAR/ElecCalibMC/MinBias')]
 Py:ComponentAccumulator    INFO  \__ LArOnOffMappingAlg (cond alg)
 Py:ComponentAccumulator    INFO      * ReadKey: /LAR/Identifier/OnOffIdMap
+Py:ComponentAccumulator    INFO  \__ LArMCSymCondAlg (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArOnOffIdMap
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArShape32MC, LArShape32Sym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArShape
+Py:ComponentAccumulator    INFO      * WriteKey: LArShapeSym
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArAutoCorrMC, LArAutoCorrSym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArAutoCorr
+Py:ComponentAccumulator    INFO      * WriteKey: LArAutoCorrSym
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArNoiseMC, LArNoiseSym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArNoise
+Py:ComponentAccumulator    INFO      * WriteKey: LArNoiseSym
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArfSamplMC, LArfSamplSym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArfSampl
+Py:ComponentAccumulator    INFO      * WriteKey: LArfSamplSym
+Py:ComponentAccumulator    INFO  \__ LArSymConditionsAlg<LArMinBiasMC, LArMinBiasSym> (cond alg)
+Py:ComponentAccumulator    INFO      * ReadKey: LArMinBias
+Py:ComponentAccumulator    INFO      * WriteKey: LArMinBiasSym
 Py:ComponentAccumulator    INFO  \__ LArAutoCorrTotalCondAlg (cond alg)
 Py:ComponentAccumulator    INFO      * Nsamples: 32
diff --git a/TileCalorimeter/TileRecUtils/python/TileCellMakerConfig.py b/TileCalorimeter/TileRecUtils/python/TileCellMakerConfig.py
index 1d9a1f4f205a38473fa052e50d5d39483a012517..100de3170fd937de147ffa1b95cdec60f396b9d3 100644
--- a/TileCalorimeter/TileRecUtils/python/TileCellMakerConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileCellMakerConfig.py
@@ -4,28 +4,7 @@
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
-
-def CaloCellNeighborsAverageCorrCfg(flags):
-    """Return component accumulator with configured private Calo cell neighbors average correction tool
-
-    Arguments:
-        flags  -- Athena configuration flags (ConfigFlags)
-    """
-
-    acc = ComponentAccumulator()
-
-    from LArGeoAlgsNV.LArGMConfig import LArGMCfg
-    acc.merge(LArGMCfg(flags))
-
-    from TileGeoModel.TileGMConfig import TileGMCfg
-    acc.merge(TileGMCfg(flags))
-
-    from CaloCellCorrection.CaloCellCorrectionConf import CaloCellNeighborsAverageCorr
-    caloCellNeighborsAverageCorrection = CaloCellNeighborsAverageCorr(testMode = False)
-
-    acc.setPrivateTools( caloCellNeighborsAverageCorrection )
-
-    return acc
+from CaloCellCorrection.CaloCellCorrectionConfig import CaloCellNeighborsAverageCorrCfg
 
 
 def CaloCellContainerCheckerToolCfg(flags):