2from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
3from AthenaConfiguration.ComponentFactory
import CompFactory
4from AthenaConfiguration.Enums
import Format
5from AtlasGeoModel.GeoModelConfig
import GeoModelCfg
6from IOVDbSvc.IOVDbSvcConfig
import addFolders, addFoldersSplitOnline
7from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripReadoutGeometryCfg
12 kwargs.setdefault(
"ConfigTool", acc.popPrivateTools())
13 acc.setPrivateTools(CompFactory.SCT_ByteStreamErrorsTool(name, **kwargs))
18 acc = ComponentAccumulator()
21 if flags.ITk.doStripModuleVeto:
24 kwargs.setdefault(
"ConditionsTools", ConditionsTools)
25 kwargs.setdefault(
"SCTDetEleCollKey",
"ITkStripDetectorElementCollection")
26 acc.setPrivateTools(CompFactory.SCT_ConditionsSummaryTool(name, **kwargs))
31 acc = ComponentAccumulator()
32 if not flags.Input.isMC
and flags.Input.Format
is Format.BS :
33 if "ConditionsTools" not in kwargs :
36 kwargs.setdefault(
"SCTDetEleCollKey",
"ITkStripDetectorElementCollection")
37 acc.setPrivateTools(CompFactory.SCT_ConditionsSummaryTool(name, **kwargs))
44 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig
import getITkStripDAQConfigFolder, ITkStripConfigurationCondAlgCfg
45 folder_path = getITkStripDAQConfigFolder(flags)
48 cond_kwargs[
"ChannelFolder"] = folder_path + (
"Chip" if flags.IOVDb.DatabaseInstance ==
"COMP200" else "ChipSlim")
49 cond_kwargs[
"ModuleFolder"] = f
"{folder_path}Module"
50 cond_kwargs[
"MurFolder"] = f
"{folder_path}MUR"
51 cond_kwargs[
"dbInstance"] =
"ITkStrip"
52 cond_kwargs[
"SCT_ConfigurationCondAlgName"] =
"ITkStripConfigurationCondAlg"
54 acc = ITkStripReadoutGeometryCfg(flags)
56 if "ChannelFolderDB" not in cond_kwargs:
57 acc.merge(addFoldersSplitOnline(flags,
58 detDb=cond_kwargs[
"dbInstance"],
59 onlineFolders=cond_kwargs[
"ChannelFolder"],
60 offlineFolders=cond_kwargs[
"ChannelFolder"],
61 className=
"CondAttrListVec",
64 acc.merge(addFolders(flags, [cond_kwargs[
"ChannelFolderDB"]], detDb=cond_kwargs[
"dbInstance"], className=
"CondAttrListVec"))
65 if "ModuleFolderDB" not in cond_kwargs:
66 acc.merge(addFoldersSplitOnline(flags,
67 detDb=cond_kwargs[
"dbInstance"],
68 onlineFolders=cond_kwargs[
"ModuleFolder"],
69 offlineFolders=cond_kwargs[
"ModuleFolder"],
70 className=
"CondAttrListVec",
73 acc.merge(addFolders(flags, [cond_kwargs[
"ModuleFolderDB"]], detDb=cond_kwargs[
"dbInstance"], className=
"CondAttrListVec"))
74 if "MurFolderDB" not in cond_kwargs:
75 acc.merge(addFoldersSplitOnline(flags,
76 detDb=cond_kwargs[
"dbInstance"],
77 onlineFolders=cond_kwargs[
"MurFolder"],
78 offlineFolders=cond_kwargs[
"MurFolder"],
79 className=
"CondAttrListVec",
82 acc.merge(addFolders(flags, [cond_kwargs[
"MurFolderDB"]], detDb=cond_kwargs[
"dbInstance"], className=
"CondAttrListVec"))
84 ConfigCondAlg_kwargs = {}
85 ConfigCondAlg_kwargs[
"ReadKeyChannel"] = cond_kwargs[
"ChannelFolder"]
86 ConfigCondAlg_kwargs[
"ReadKeyModule"] = cond_kwargs[
"ModuleFolder"]
87 ConfigCondAlg_kwargs[
"ReadKeyMur"] = cond_kwargs[
"MurFolder"]
88 acc.merge(ITkStripConfigurationCondAlgCfg(flags, name=
"ITkStripConfigurationCondAlg", **ConfigCondAlg_kwargs))
90 acc.setPrivateTools(CompFactory.SCT_ConfigurationConditionsTool(name, **kwargs))
95 """Return a ComponentAccumulator configured for ITk Strip DCS Conditions"""
96 from SCT_ConditionsTools.SCT_ConditionsToolsConfig
import SCT_DCSConditionsCfg
97 return SCT_DCSConditionsCfg(flags, name, ReturnHVTemp=
False,
103 acc = ITkStripReadoutGeometryCfg(flags)
104 acc.setPrivateTools(CompFactory.SCT_FlaggedConditionTool(name, **kwargs))
109 """Return a ComponentAccumulator configured for ITkStripModuleVetoTool
112 acc = GeoModelCfg(flags)
115 kwargs.setdefault(
"useDB",
False)
116 kwargs.setdefault(
"BadModuleIdentifiers", [])
119 kwargs.setdefault(
"BadModuleIdentifiers", [
"database"])
121 acc.merge(addFolders(flags,
122 folderStrings=
"/ITk/Manual/BadModules",
124 className=
"AthenaAttributeList",
125 tag=kwargs[
"folderTag"]))
127 acc.addCondAlgo(CompFactory.SCT_ModuleVetoCondAlg())
131 toolArgs[
"JsonPath"] = flags.ITk.JsonPathStripModuleVeto
132 toolArgs[
"BadModuleIdentifiers"] = kwargs[
"BadModuleIdentifiers"]
133 acc.setPrivateTools(CompFactory.SCT_ModuleVetoTool(name=f
"{name}Tool", **toolArgs))
139 cond_kwargs.setdefault(
"Folder",
"/ITkStrip/Derived/Monitoring")
140 cond_kwargs.setdefault(
"dbInstance",
"ITkStrip_OFL")
141 cond_kwargs.setdefault(
"MonitorCondAlgName",
"ITkStripMonitorCondAlg")
143 kwargs.setdefault(
"CondKey",
"ITkStripMonitorCondData")
145 acc = ITkStripReadoutGeometryCfg(flags)
147 if "FolderDb" not in cond_kwargs:
148 cond_kwargs[
"FolderDb"] = cond_kwargs[
"Folder"]
149 acc.merge(addFolders(flags, cond_kwargs[
"FolderDb"], cond_kwargs[
"dbInstance"], className=
"CondAttrListCollection"))
151 acc.addCondAlgo(CompFactory.SCT_MonitorCondAlg(name=cond_kwargs[
"MonitorCondAlgName"],
152 ReadKey=cond_kwargs[
"Folder"],
153 WriteKey=kwargs[
"CondKey"]))
155 acc.setPrivateTools(CompFactory.SCT_MonitorConditionsTool(name, **kwargs))
160 acc = ITkStripReadoutGeometryCfg(flags)
162 cond_kwargs.setdefault(
"NoiseFolder",
"/ITkStrip/DAQ/Calibration/NoiseOccupancyDefects")
163 cond_kwargs.setdefault(
"GainFolder",
"/ITkStrip/DAQ/Calibration/NPtGainDefects")
164 cond_kwargs.setdefault(
"ReadCalibDataCondAlgName",
"ITkStripReadCalibDataCondAlg")
166 acc.merge(addFoldersSplitOnline(flags,
168 onlineFolders=cond_kwargs[
"NoiseFolder"],
169 offlineFolders=cond_kwargs[
"NoiseFolder"],
170 className=
"CondAttrListCollection",
172 acc.merge(addFoldersSplitOnline(flags,
174 onlineFolders=cond_kwargs[
"GainFolder"],
175 offlineFolders=cond_kwargs[
"GainFolder"],
176 className=
"CondAttrListCollection",
179 acc.addCondAlgo(CompFactory.SCT_ReadCalibDataCondAlg(name=cond_kwargs[
"ReadCalibDataCondAlgName"],
180 ReadKeyGain=cond_kwargs[
"GainFolder"],
181 ReadKeyNoise=cond_kwargs[
"NoiseFolder"]))
183 from ITkStripCabling.ITkStripCablingConfig
import ITkStripCablingToolCfg
184 kwargs.setdefault(
"SCT_CablingTool", acc.popToolsAndMerge(ITkStripCablingToolCfg(flags)))
186 acc.setPrivateTools(CompFactory.SCT_ReadCalibDataTool(name, **kwargs))
191 from ITkStripCabling.ITkStripCablingConfig
import ITkStripCablingToolCfg
192 acc = ITkStripCablingToolCfg(flags)
193 kwargs.setdefault(
"SCT_CablingTool", acc.popPrivateTools())
194 acc.setPrivateTools(CompFactory.SCT_ReadoutTool(name, **kwargs))
199 """Return a ComponentAccumulator configured for ITk Strip SiliconConditions"""
200 acc = ComponentAccumulator()
204 from SCT_ConditionsTools.SCT_ConditionsToolsConfig
import SCT_SiliconConditionsCfg
205 acc.setPrivateTools(acc.popToolsAndMerge(SCT_SiliconConditionsCfg(flags, name, useDCS =
False, **kwargs)))
211 acc = GeoModelCfg(flags)
215 folder =
"/TDAQ/Resources/ATLAS/ITkStrip/Robins" if flags.IOVDb.DatabaseInstance ==
"CONDBR2" else "/TDAQ/EnabledResources/ATLAS/ITkStrip/Robins"
216 acc.merge(addFolders(flags, [folder], detDb=
"TDAQ", className=
"CondAttrListCollection"))
219 from ITkStripCabling.ITkStripCablingConfig
import ITkStripCablingToolCfg
220 kwargs.setdefault(
"SCT_CablingTool", acc.popToolsAndMerge(ITkStripCablingToolCfg(flags)))
221 acc.addCondAlgo(CompFactory.SCT_TdaqEnabledCondAlg(**kwargs))
224 acc.setPrivateTools(CompFactory.SCT_TdaqEnabledTool(name))