ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetConditions
SCT_ConditionsAlgorithms
python
ITkStripConditionsAlgorithmsConfig.py
Go to the documentation of this file.
1
2
# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
4
from
AthenaConfiguration.ComponentFactory
import
CompFactory
5
from
IOVDbSvc.IOVDbSvcConfig
import
addFoldersSplitOnline
6
from
StripGeoModelXml.ITkStripGeoModelConfig
import
ITkStripGeoModelCfg
7
8
9
def
ITkStripAlignCondAlgCfg
(flags, name="ITkStripAlignCondAlg", **kwargs):
10
"""Return a configured SCT_AlignCondAlg for ITk"""
11
acc = ITkStripGeoModelCfg(flags)
12
if
flags.GeoModel.Align.Dynamic:
13
raise
RuntimeError(
"Dynamic alignment not supported for ITk yet"
)
14
else
:
15
if
not
flags.ITk.Align.useLocalDatabase:
16
acc.merge(addFoldersSplitOnline(flags,
"INDET"
,
"/Indet/Onl/Align"
, flags.ITk.Geometry.alignmentFolder, className=
"AlignableTransformContainer"
))
17
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)
22
23
sctAlignCondAlg = CompFactory.SCT_AlignCondAlg(name, **kwargs)
24
acc.addCondAlgo(sctAlignCondAlg)
25
return
acc
26
27
28
def
getITkStripDAQConfigFolder
(flags) :
29
return
"/ITkStrip/DAQ/Config/"
if
flags.IOVDb.DatabaseInstance !=
"COMP200"
else
"/ITkStrip/DAQ/Configuration/"
30
31
32
def
ITkStripConfigurationCondAlgCfg
(flags, name="ITkStripConfigurationCondAlg", **kwargs):
33
acc = ComponentAccumulator()
34
35
#These folders do not exist for ITkStrip. Once they do exist, they should be added as below
36
37
#folder_prefix = getITkStripDAQConfigFolder(flags)
38
#channelFolder = folder_prefix + "Chip"
39
#kwargs.setdefault("ReadKeyChannel", channelFolder)
40
#kwargs.setdefault("ReadKeyModule", f"{folder_prefix}Module")
41
#kwargs.setdefault("ReadKeyMur", f"{folder_prefix}MUR")
42
43
#acc.merge(addFoldersSplitOnline(flags,
44
# detDb="ITkStrip",
45
# onlineFolders=channelFolder,
46
# offlineFolders=channelFolder,
47
# className="CondAttrListVec",
48
# splitMC=True))
49
50
from
ITkStripCabling.ITkStripCablingConfig
import
ITkStripCablingToolCfg
51
kwargs.setdefault(
"SCT_CablingTool"
, acc.popToolsAndMerge(ITkStripCablingToolCfg(flags)))
52
53
from
SCT_ConditionsTools.ITkStripConditionsToolsConfig
import
ITkStripReadoutToolCfg
54
kwargs.setdefault(
"SCT_ReadoutTool"
, acc.popToolsAndMerge(ITkStripReadoutToolCfg(flags)))
55
56
acc.addCondAlgo(CompFactory.SCT_ConfigurationCondAlg(name, **kwargs))
57
return
acc
58
59
60
def
ITkStripDetectorElementCondAlgCfg
(flags, name="ITkStripDetectorElementCondAlg", **kwargs):
61
kwargs.setdefault(
"DetManagerName"
,
"ITkStrip"
)
62
kwargs.setdefault(
"ReadKey"
,
"ITkStripAlignmentStore"
)
63
kwargs.setdefault(
"WriteKey"
,
"ITkStripDetectorElementCollection"
)
64
65
acc =
ITkStripAlignCondAlgCfg
(flags)
66
acc.addCondAlgo(CompFactory.SCT_DetectorElementCondAlg(name, **kwargs))
67
return
acc
68
69
def
ITkStripDetectorElementStatusCondAlgNoByteStreamErrorsCfg
(flags, name = "ITkStripDetectorElementStatusCondAlgNoByteStreamErrors", **kwargs) :
70
'''
71
Condition alg to precompute the strip detector element status.
72
This algorithm does not consider the byte stream errors which are event data.
73
'''
74
acc = ComponentAccumulator()
75
if
'ConditionsSummaryTool'
not
in
kwargs :
76
from
SCT_ConditionsTools.ITkStripConditionsToolsConfig
import
ITkStripConditionsSummaryToolCfg
77
kwargs.setdefault(
"ConditionsSummaryTool"
, acc.popToolsAndMerge( ITkStripConditionsSummaryToolCfg(flags)))
78
kwargs.setdefault(
"WriteKey"
,
"ITkStripDetectorElementStatusNoByteStream"
)
79
acc.addCondAlgo( CompFactory.InDet.SiDetectorElementStatusCondAlg(name, **kwargs) )
80
return
acc
81
82
def
ITkStripDetectorElementStatusAlgCfg
(flags, name="ITkStripDetectorElementStatusAlg",**kwargs) :
83
'''
84
Algorithm which adds status from the strip bytestream to the strip status conditions data
85
'''
86
acc = ComponentAccumulator()
87
if
'ConditionsSummaryTool'
not
in
kwargs :
88
from
SCT_ConditionsTools.ITkStripConditionsToolsConfig
import
ITkStripDetectorElementStatusAddByteStreamErrorsToolCfg
89
# @TODO ITkStripDetectorElementStatusCondAlgNoByteStreamErrorsCfg should be moved to
90
# ITkStripDetectorElementStatusAddByteStreamErrorsToolCfg, but that would create
91
# circular dependencies..
92
acc.merge(
ITkStripDetectorElementStatusCondAlgNoByteStreamErrorsCfg
(flags))
93
kwargs.setdefault(
"ConditionsSummaryTool"
, acc.popToolsAndMerge(
94
ITkStripDetectorElementStatusAddByteStreamErrorsToolCfg(flags,
95
SCTDetElStatusCondDataBaseKey =
"ITkStripDetectorElementStatusNoByteStream"
,
96
SCTDetElStatusEventDataBaseKey =
""
97
)))
98
kwargs.setdefault(
"WriteKey"
,
"ITkStripDetectorElementStatus"
)
99
100
# not a conditions algorithm since it combines conditions data and data from the bytestream
101
acc.addEventAlgo( CompFactory.InDet.SiDetectorElementStatusAlg(name, **kwargs) )
102
return
acc
python.ITkStripConditionsAlgorithmsConfig.ITkStripConfigurationCondAlgCfg
ITkStripConfigurationCondAlgCfg(flags, name="ITkStripConfigurationCondAlg", **kwargs)
Definition
ITkStripConditionsAlgorithmsConfig.py:32
python.ITkStripConditionsAlgorithmsConfig.ITkStripAlignCondAlgCfg
ITkStripAlignCondAlgCfg(flags, name="ITkStripAlignCondAlg", **kwargs)
Definition
ITkStripConditionsAlgorithmsConfig.py:9
python.ITkStripConditionsAlgorithmsConfig.ITkStripDetectorElementCondAlgCfg
ITkStripDetectorElementCondAlgCfg(flags, name="ITkStripDetectorElementCondAlg", **kwargs)
Definition
ITkStripConditionsAlgorithmsConfig.py:60
python.ITkStripConditionsAlgorithmsConfig.ITkStripDetectorElementStatusAlgCfg
ITkStripDetectorElementStatusAlgCfg(flags, name="ITkStripDetectorElementStatusAlg", **kwargs)
Definition
ITkStripConditionsAlgorithmsConfig.py:82
python.ITkStripConditionsAlgorithmsConfig.getITkStripDAQConfigFolder
getITkStripDAQConfigFolder(flags)
Definition
ITkStripConditionsAlgorithmsConfig.py:28
python.ITkStripConditionsAlgorithmsConfig.ITkStripDetectorElementStatusCondAlgNoByteStreamErrorsCfg
ITkStripDetectorElementStatusCondAlgNoByteStreamErrorsCfg(flags, name="ITkStripDetectorElementStatusCondAlgNoByteStreamErrors", **kwargs)
Definition
ITkStripConditionsAlgorithmsConfig.py:69
Generated on
for ATLAS Offline Software by
1.17.0