3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
5 from IOVDbSvc.IOVDbSvcConfig
import addFoldersSplitOnline
6 from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripGeoModelCfg
9 def ITkStripAlignCondAlgCfg(flags, name="ITkStripAlignCondAlg",setGeometryAlignable=False,setAlignmentFolderName="/Indet/Align", **kwargs):
10 """Return a configured SCT_AlignCondAlg for ITk"""
11 acc =
ITkStripGeoModelCfg(flags,setGeometryAlignable=setGeometryAlignable,setAlignmentFolderName=setAlignmentFolderName)
12 if flags.GeoModel.Align.Dynamic:
13 raise RuntimeError(
"Dynamic alignment not supported for ITk yet")
15 acc.merge(
addFoldersSplitOnline(flags,
"INDET",
"/Indet/Onl/Align", setAlignmentFolderName, className=
"AlignableTransformContainer"))
17 kwargs.setdefault(
"DetManagerName",
"ITkStrip")
18 kwargs.setdefault(
"WriteKey",
"ITkStripAlignmentStore")
19 kwargs.setdefault(
"UseDynamicAlignFolders", flags.GeoModel.Align.Dynamic)
21 sctAlignCondAlg = CompFactory.SCT_AlignCondAlg(name, **kwargs)
22 acc.addCondAlgo(sctAlignCondAlg)
27 return "/ITkStrip/DAQ/Config/" if flags.IOVDb.DatabaseInstance !=
"COMP200" else "/ITkStrip/DAQ/Configuration/"
33 channelFolder = folder_prefix + (
"Chip" if flags.IOVDb.DatabaseInstance ==
"COMP200" else "ChipSlim")
34 kwargs.setdefault(
"ReadKeyChannel", channelFolder)
35 kwargs.setdefault(
"ReadKeyModule", f
"{folder_prefix}Module")
36 kwargs.setdefault(
"ReadKeyMur", f
"{folder_prefix}MUR")
40 onlineFolders=channelFolder,
41 offlineFolders=channelFolder,
42 className=
"CondAttrListVec",
46 onlineFolders=f
"{folder_prefix}Module",
47 offlineFolders=f
"{folder_prefix}Module",
48 className=
"CondAttrListVec",
52 onlineFolders=f
"{folder_prefix}MUR",
53 offlineFolders=f
"{folder_prefix}MUR",
54 className=
"CondAttrListVec",
57 from SCT_Cabling.ITkStripCablingConfig
import ITkStripCablingToolCfg
60 from SCT_ConditionsTools.ITkStripConditionsToolsConfig
import ITkStripReadoutToolCfg
63 acc.addCondAlgo(CompFactory.SCT_ConfigurationCondAlg(name, **kwargs))
68 kwargs.setdefault(
"DetManagerName",
"ITkStrip")
69 kwargs.setdefault(
"ReadKey",
"ITkStripAlignmentStore")
70 kwargs.setdefault(
"WriteKey",
"ITkStripDetectorElementCollection")
72 acc =
ITkStripAlignCondAlgCfg(flags,setGeometryAlignable=setGeometryAlignable,setAlignmentFolderName=setAlignmentFolderName)
73 acc.addCondAlgo(CompFactory.SCT_DetectorElementCondAlg(name, **kwargs))