77def MDTCablingConfigCfg(flags, name = "MuonMDT_CablingAlg", **kwargs):
78 acc = ComponentAccumulator()
79 if not flags.Detector.GeometryMDT: return acc
80 from AthenaConfiguration.Enums import LHCPeriod
81
82 kwargs.setdefault("UseJSONFormat", flags.Muon.usePhaseIIGeoSetup and \
83 flags.GeoModel.Run >= LHCPeriod.Run4)
84
85 kwargs.setdefault("MezzanineJSON", "")
86 kwargs.setdefault("CablingJSON", "")
87
88 kwargs.setdefault("isRun3", flags.GeoModel.Run >= LHCPeriod.Run3 )
89 from IOVDbSvc.IOVDbSvcConfig import addFolders
90 if len(kwargs["MezzanineJSON"]) == 0 and len(kwargs["CablingJSON"]) == 0:
91 if flags.Input.isMC is True:
92 dbTagMezz = None
93 dbTagSchema = None
94 if flags.Muon.usePhaseIIGeoSetup and \
95 flags.GeoModel.Run >= LHCPeriod.Run4:
96 dbTagMezz = "MDTMezMapSchemaJSON_RUN4BestKnowledge_v1"
97 dbTagSchema = "MDTCablingMapSchemaJSON_RUN4BestKnowledge_v1"
98 elif flags.GeoModel.Run >= LHCPeriod.Run4:
99 dbTagSchema = "MDTOflCablingMapSchema_RUN124_MC15_02"
100 dbTagMezz = "MDTOflCablingMezzanineSchema_RUN124_MC15_02"
101 if kwargs["UseJSONFormat"]:
102 kwargs.setdefault("MapFolders", "/MDT/CABLING/MAP_SCHEMA_JSON")
103 kwargs.setdefault("MezzanineFolders", "/MDT/CABLING/MEZZANINE_SCHEMA_JSON")
104 else:
105 kwargs.setdefault("MapFolders", "/MDT/Ofl/CABLING/MAP_SCHEMA")
106 kwargs.setdefault("MezzanineFolders", "/MDT/Ofl/CABLING/MEZZANINE_SCHEMA")
107 acc.merge( addFolders( flags, [kwargs["MapFolders"]], 'MDT_OFL',
108 className="CondAttrListCollection", tag = dbTagSchema))
109 acc.merge( addFolders( flags, [kwargs["MezzanineFolders"]], 'MDT_OFL',
110 className="CondAttrListCollection", tag = dbTagMezz) )
111 else:
112 if kwargs["UseJSONFormat"]:
113 kwargs.setdefault("MapFolders", "/MDT/CABLING/MAP_SCHEMA_JSON")
114 kwargs.setdefault("MezzanineFolders", "/MDT/CABLING/MEZZANINE_SCHEMA_JSON")
115 else:
116 kwargs.setdefault("MapFolders", "/MDT/CABLING/MAP_SCHEMA")
117 kwargs.setdefault("MezzanineFolders", "/MDT/CABLING/MEZZANINE_SCHEMA")
118 acc.merge( addFolders( flags, [kwargs["MapFolders"], kwargs["MezzanineFolders"]], 'MDT',
119 className="CondAttrListCollection") )
120
121
122 MDTCablingAlg = CompFactory.MuonMDT_CablingAlg(name, **kwargs)
123 acc.addCondAlgo( MDTCablingAlg, primary = True )
124
125 return acc
126