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):