128def MdtCalibDbAlgCfg(flags,name="MdtCalibDbAlg",**kwargs):
129 result = ComponentAccumulator()
130 result.merge(MuonGeoModelCfg(flags))
131
132 if not flags.Muon.Calib.readMdtJSON:
133 acc, mdt_folder_name_appendix = _setupMdtCondDB(flags)
134 result.merge(acc)
135
136 if not flags.Muon.useMdtDcsData:
137 kwargs.setdefault("ReadKeyDCS", "" )
138 else:
139 from MuonConfig.MuonCondAlgConfig import MdtCondDbAlgCfg
140 result.merge(MdtCondDbAlgCfg(flags))
141
142 if flags.Muon.Calib.fitAnalyticRt:
143 from MuonCondAlgR4.ConditionsConfig import MdtAnalyticRtCalibAlgCfg
144 kwargs.setdefault("WriteKey", "LookUpMdtCalibDb")
145 result.merge(MdtAnalyticRtCalibAlgCfg(flags, ReadKey="LookUpMdtCalibDb"))
146 if flags.Muon.Calib.readMdtJSON:
147 result.merge(MdtCalibDbAlgR4Cfg(flags, name, **kwargs))
148 return result
149
150
151 if flags.Common.isOnline and not flags.Input.isMC:
152 kwargs.setdefault("ReadKeyTube", "/MDT/T0")
153 kwargs.setdefault("ReadKeyRt", "/MDT/RT")
154 else:
155 kwargs.setdefault("ReadKeyTube", "/MDT/T0"+ mdt_folder_name_appendix)
156 kwargs.setdefault("ReadKeyRt", "/MDT/RT"+ mdt_folder_name_appendix)
157 if flags.Input.isMC is False:
158 kwargs.setdefault("defaultT0", 40)
159 else:
160 kwargs.setdefault("defaultT0", 799)
161
162 kwargs.setdefault("UseMLRt", flags.Muon.Calib.useMLRt )
163 kwargs.setdefault("TimeSlewingCorrection", flags.Muon.Calib.correctMdtRtForTimeSlewing)
164 kwargs.setdefault("MeanCorrectionVsR", [ -5.45973, -4.57559, -3.71995, -3.45051, -3.4505, -3.4834, -3.59509, -3.74869, -3.92066, -4.10799, -4.35237, -4.61329, -4.84111, -5.14524 ])
165 kwargs.setdefault("PropagationSpeedBeta", flags.Muon.Calib.mdtPropagationSpeedBeta)
166
167 kwargs.setdefault("CreateBFieldFunctions", flags.Muon.Calib.correctMdtRtForBField)
168 kwargs.setdefault("CreateSlewingFunctions", flags.Muon.Calib.correctMdtRtForTimeSlewing)
169 from RngComps.RngCompsConfig import AthRNGSvcCfg
170 kwargs.setdefault("AthRNGSvc", result.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
171
172 kwargs.setdefault("UseR4DetMgr", flags.Muon.usePhaseIIGeoSetup)
173 alg = CompFactory.MdtCalibDbAlg (name, **kwargs)
174 result.addCondAlgo (alg, primary = True)
175 return result
176