9 result=ComponentAccumulator()
11 from LArBadChannelTool.LArBadChannelConfig
import LArBadChannelCfg, LArBadFebCfg
13 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
14 result.merge(LArGMCfg(configFlags))
16 from LArCabling.LArHVCablingConfig
import LArHVCablingCfg
17 result.merge(LArHVCablingCfg(configFlags))
19 result.merge(LArBadFebCfg(configFlags))
21 from IOVDbSvc.IOVDbSvcConfig
import addFolders
22 LArHVCondAlg=CompFactory.LArHVCondAlg
24 if configFlags.Input.isMC:
26 elif not configFlags.Common.isOnline:
27 result.merge(addFolders(configFlags,[
"/LAR/DCS/HV/BARREl/I16"],
"DCS_OFL", className=
"CondAttrListCollection"))
28 result.merge(addFolders(configFlags,[
"/LAR/DCS/HV/BARREL/I8"],
"DCS_OFL", className=
"CondAttrListCollection"))
30 result.merge(addFolders(configFlags,[
"/LAR/HVPathologiesOfl/Pathologies"],
"LAR_OFL", className=
"AthenaAttributeList"))
31 if configFlags.GeoModel.Run
is not LHCPeriod.Run1:
32 result.merge(addFolders(configFlags,[
"/LAR/HVPathologiesOfl/Rvalues"],
"LAR_OFL", className=
"AthenaAttributeList"))
34 result.merge(LArBadChannelCfg(configFlags))
36 LArHVPathologyDbCondAlg=CompFactory.LArHVPathologyDbCondAlg
38 HVMappingKey=
"LArHVIdMap",
39 HVPAthologyKey=
"LArHVPathology")
40 result.addCondAlgo(hvpath)
42 from LArConfiguration.LArElecCalibDBConfig
import LArElecCalibDBCfg
43 result.merge(LArElecCalibDBCfg(configFlags,[
"HVScaleCorr",]))
45 if configFlags.GeoModel.Run
is not LHCPeriod.Run1:
48 hvcond =
LArHVCondAlg(HVPathologies=
"LArHVPathology",doR=
False)
49 hvcond.keyOutputResidualCorr = props.pop(
"keyOutputResidualCorr",
"LArHVScaleCorrRecomputed")
50 hvcond.keyOutputFullCorr = props.pop(
"keyOutputFullCorr",
"")
51 hvcond.fixHV = props.pop(
"fixHV", [])
52 hvcond.fixCurrent = props.pop(
"fixCurrent", [])
53 if len(props) > 0:
raise ValueError(f
"tool properties not modified: {','.join(props.keys())}")
54 result.addCondAlgo(hvcond)
80 When two CAs configured a LArHVCondAlg, make an attempt at harmonizing the respective
81 alg properties such that CA deduplication won't fail, as long as the resulting
82 behaviour is unchanged; e.g. enabling extra outputs.
83 Properties for which invariance isn't guaranteed are left unchanged.
85 alg1 = ca1.getCondAlgo(
"LArHVCondAlg")
86 alg2 = ca2.getCondAlgo(
"LArHVCondAlg")
88 for x, y
in ((alg1, alg2), (alg2, alg1)):
89 if x.keyOutputResidualCorr ==
"": x.keyOutputResidualCorr = y.keyOutputResidualCorr
90 if x.keyOutputFullCorr ==
"": x.keyOutputFullCorr = y.keyOutputFullCorr