2 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
3 from AthenaConfiguration.ComponentFactory
import CompFactory
4 from AthenaConfiguration.Enums
import Format
5 from AtlasGeoModel.GeoModelConfig
import GeoModelCfg
6 from IOVDbSvc.IOVDbSvcConfig
import addFolders, addFoldersSplitOnline
7 from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripReadoutGeometryCfg
12 kwargs.setdefault(
"ConfigTool", acc.popPrivateTools())
13 acc.setPrivateTools(CompFactory.SCT_ByteStreamErrorsTool(name, **kwargs))
21 if flags.ITk.doStripModuleVeto:
24 kwargs.setdefault(
"ConditionsTools", ConditionsTools)
25 kwargs.setdefault(
"SCTDetEleCollKey",
"ITkStripDetectorElementCollection")
26 acc.setPrivateTools(CompFactory.SCT_ConditionsSummaryTool(name, **kwargs))
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
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"
56 if "ChannelFolderDB" not in cond_kwargs:
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:
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:
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"]
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
104 acc.setPrivateTools(CompFactory.SCT_FlaggedConditionTool(name, **kwargs))
109 """Return a ComponentAccumulator configured for ITkStripModuleVetoTool
115 kwargs.setdefault(
"useDB",
False)
116 kwargs.setdefault(
"BadModuleIdentifiers", [])
119 kwargs.setdefault(
"BadModuleIdentifiers", [
"database"])
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")
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))
162 cond_kwargs.setdefault(
"NoiseFolder",
"/ITkStrip/DAQ/Calibration/NoiseOccupancyDefects")
163 cond_kwargs.setdefault(
"GainFolder",
"/ITkStrip/DAQ/Calibration/NPtGainDefects")
164 cond_kwargs.setdefault(
"ReadCalibDataCondAlgName",
"ITkStripReadCalibDataCondAlg")
168 onlineFolders=cond_kwargs[
"NoiseFolder"],
169 offlineFolders=cond_kwargs[
"NoiseFolder"],
170 className=
"CondAttrListCollection",
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 SCT_Cabling.ITkStripCablingConfig
import ITkStripCablingToolCfg
186 acc.setPrivateTools(CompFactory.SCT_ReadCalibDataTool(name, **kwargs))
191 from SCT_Cabling.ITkStripCablingConfig
import ITkStripCablingToolCfg
193 kwargs.setdefault(
"SCT_CablingTool", acc.popPrivateTools())
194 acc.setPrivateTools(CompFactory.SCT_ReadoutTool(name, **kwargs))
199 """Return a ComponentAccumulator configured for ITk Strip SiliconConditions"""
204 from SCT_ConditionsTools.SCT_ConditionsToolsConfig
import SCT_SiliconConditionsCfg
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 SCT_Cabling.ITkStripCablingConfig
import ITkStripCablingToolCfg
221 acc.addCondAlgo(CompFactory.SCT_TdaqEnabledCondAlg(**kwargs))
224 acc.setPrivateTools(CompFactory.SCT_TdaqEnabledTool(name))