3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
5 from IOVDbSvc.IOVDbSvcConfig
import addFoldersSplitOnline
6 from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripGeoModelCfg
10 """Return a configured SCT_AlignCondAlg for ITk"""
12 if flags.GeoModel.Align.Dynamic:
13 raise RuntimeError(
"Dynamic alignment not supported for ITk yet")
15 if not flags.ITk.Align.useLocalDatabase:
16 acc.merge(
addFoldersSplitOnline(flags,
"INDET",
"/Indet/Onl/Align", flags.ITk.Geometry.alignmentFolder, className=
"AlignableTransformContainer"))
18 kwargs.setdefault(
"DetManagerName",
"ITkStrip")
19 kwargs.setdefault(
"WriteKey",
"ITkStripAlignmentStore")
20 kwargs.setdefault(
"UseDynamicAlignFolders", flags.GeoModel.Align.Dynamic)
21 kwargs.setdefault(
"ReadKeyStatic",flags.ITk.Geometry.alignmentFolder)
23 sctAlignCondAlg = CompFactory.SCT_AlignCondAlg(name, **kwargs)
24 acc.addCondAlgo(sctAlignCondAlg)
29 return "/ITkStrip/DAQ/Config/" if flags.IOVDb.DatabaseInstance !=
"COMP200" else "/ITkStrip/DAQ/Configuration/"
35 channelFolder = folder_prefix + (
"Chip" if flags.IOVDb.DatabaseInstance ==
"COMP200" else "ChipSlim")
36 kwargs.setdefault(
"ReadKeyChannel", channelFolder)
37 kwargs.setdefault(
"ReadKeyModule", f
"{folder_prefix}Module")
38 kwargs.setdefault(
"ReadKeyMur", f
"{folder_prefix}MUR")
42 onlineFolders=channelFolder,
43 offlineFolders=channelFolder,
44 className=
"CondAttrListVec",
48 onlineFolders=f
"{folder_prefix}Module",
49 offlineFolders=f
"{folder_prefix}Module",
50 className=
"CondAttrListVec",
54 onlineFolders=f
"{folder_prefix}MUR",
55 offlineFolders=f
"{folder_prefix}MUR",
56 className=
"CondAttrListVec",
59 from ITkStripCabling.ITkStripCablingConfig
import ITkStripCablingToolCfg
62 from SCT_ConditionsTools.ITkStripConditionsToolsConfig
import ITkStripReadoutToolCfg
65 acc.addCondAlgo(CompFactory.SCT_ConfigurationCondAlg(name, **kwargs))
70 kwargs.setdefault(
"DetManagerName",
"ITkStrip")
71 kwargs.setdefault(
"ReadKey",
"ITkStripAlignmentStore")
72 kwargs.setdefault(
"WriteKey",
"ITkStripDetectorElementCollection")
75 acc.addCondAlgo(CompFactory.SCT_DetectorElementCondAlg(name, **kwargs))
80 Condition alg to precompute the strip detector element status.
81 This algorithm does not consider the byte stream errors which are event data.
84 if 'ConditionsSummaryTool' not in kwargs :
85 from SCT_ConditionsTools.ITkStripConditionsToolsConfig
import ITkStripConditionsSummaryToolCfg
87 kwargs.setdefault(
"WriteKey",
"ITkStripDetectorElementStatusNoByteStream")
88 acc.addCondAlgo( CompFactory.InDet.SiDetectorElementStatusCondAlg(name, **kwargs) )
93 Algorithm which adds status from the strip bytestream to the strip status conditions data
96 if 'ConditionsSummaryTool' not in kwargs :
97 from SCT_ConditionsTools.ITkStripConditionsToolsConfig
import ITkStripDetectorElementStatusAddByteStreamErrorsToolCfg
102 kwargs.setdefault(
"ConditionsSummaryTool", acc.popToolsAndMerge(
104 SCTDetElStatusCondDataBaseKey =
"ITkStripDetectorElementStatusNoByteStream",
105 SCTDetElStatusEventDataBaseKey =
""
107 kwargs.setdefault(
"WriteKey",
"ITkStripDetectorElementStatus")
110 acc.addEventAlgo( CompFactory.InDet.SiDetectorElementStatusAlg(name, **kwargs) )