ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsConfig
python
ActsMeasurementCalibrationConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
4
from
AthenaConfiguration.ComponentFactory
import
CompFactory
5
6
def
ActsAnalogueClusteringToolBaseCfg
(flags,
7
name: str=
'ActsAnalogueClusteringTool'
,
8
ClusteringToolType=CompFactory.ActsTrk.ITkAnalogueClusteringTool,
9
**kwargs) -> ComponentAccumulator:
10
11
if
not
flags.Detector.GeometryITk:
12
raise
Exception(
"Acts Analogue Clustering calibration only supports ITk!"
)
13
14
acc = ComponentAccumulator()
15
16
from
PixelConditionsAlgorithms.ITkPixelConditionsConfig
import
ITkPixelOfflineCalibCondAlgCfg
17
acc.merge(ITkPixelOfflineCalibCondAlgCfg(flags))
18
19
from
ActsConfig.ActsConfigFlags
import
PixelErrorStrategy
20
21
kwargs.setdefault(
"PerformCovarianceCalibration"
, flags.Acts.OnTrackCalibration.performCovarianceCalibration)
22
kwargs.setdefault(
"CalibrateAfterMeasurementSelection"
,
not
flags.Acts.PixelCalibrationStrategy.calibrateBeforeSelection())
23
kwargs.setdefault(
"PixelOfflineCalibData"
,
"ITkPixelOfflineCalibData"
)
24
kwargs.setdefault(
"errorStrategy"
, PixelErrorStrategy.PITCH.value
if
flags.Acts.Clusters.UsePixelBroadErrors
25
else
PixelErrorStrategy.CALIBRATED.value)
26
27
if
'PixelLorentzAngleTool'
not
in
kwargs:
28
from
SiLorentzAngleTool.ITkPixelLorentzAngleConfig
import
ITkPixelLorentzAngleToolCfg
29
kwargs.setdefault(
"PixelLorentzAngleTool"
, acc.popToolsAndMerge(ITkPixelLorentzAngleToolCfg(flags)))
30
31
acc.setPrivateTools(ClusteringToolType(name, **kwargs))
32
return
acc
33
34
def
ActsAnalogueClusteringToolCfg
(flags,
35
name: str=
'ActsAnalogueClusteringTool'
,
36
**kwargs) :
37
return
ActsAnalogueClusteringToolBaseCfg
(flags,
38
name,
39
CompFactory.ActsTrk.ITkAnalogueClusteringTool,
40
**kwargs)
41
42
def
ActsNNClusteringToolCfg
(flags,
43
name: str=
'ActsNNClusteringTool'
,
44
**kwargs) -> ComponentAccumulator:
45
acc = ComponentAccumulator()
46
from
InDetConfig.SiClusterizationToolConfig
import
OnnxNNCondAlgCfg
47
acc.merge(OnnxNNCondAlgCfg(flags,
48
NumberNetworkPath=flags.Acts.PixelNNCalibrationModelsFolder+
'number.onnx'
,
49
PositionNetwork1Path=flags.Acts.PixelNNCalibrationModelsFolder+
'pos1.onnx'
,
50
PositionNetwork2Path=flags.Acts.PixelNNCalibrationModelsFolder+
'pos2.onnx'
,
51
PositionNetwork3Path=flags.Acts.PixelNNCalibrationModelsFolder+
'pos3.onnx'
))
52
kwargs.setdefault(
"minClusterChargeForNN"
, 15000.0)
53
tools = acc.popToolsAndMerge(
ActsAnalogueClusteringToolBaseCfg
(flags,
54
name,
55
CompFactory.ActsTrk.ITkNNClusterCalibratorTool,
56
**kwargs))
57
acc.setPrivateTools(tools)
58
return
acc
59
60
def
ActsPixelCalibrationToolCfg
(flags,
61
**kwargs) -> ComponentAccumulator :
62
from
ActsConfig.ActsConfigFlags
import
PixelCalibrationStrategy
63
if
flags.Acts.PixelCalibrationStrategy
is
PixelCalibrationStrategy.AnalogueClusteringBeforeSelection :
64
kwargs.setdefault(
"CalibrateAfterMeasurementSelection"
,
False
)
65
return
ActsAnalogueClusteringToolCfg
(flags,**kwargs)
66
elif
flags.Acts.PixelCalibrationStrategy
is
PixelCalibrationStrategy.AnalogueClustering :
67
kwargs.setdefault(
"CalibrateAfterMeasurementSelection"
,
True
)
68
return
ActsAnalogueClusteringToolCfg
(flags,**kwargs)
69
elif
flags.Acts.PixelCalibrationStrategy
is
PixelCalibrationStrategy.NNClusteringBeforeSelection :
70
kwargs.setdefault(
"CalibrateAfterMeasurementSelection"
,
False
)
71
return
ActsNNClusteringToolCfg
(flags,**kwargs)
72
elif
flags.Acts.PixelCalibrationStrategy
is
PixelCalibrationStrategy.NNClustering :
73
kwargs.setdefault(
"CalibrateAfterMeasurementSelection"
,
True
)
74
return
ActsNNClusteringToolCfg
(flags,**kwargs)
75
else
:
76
raise
RuntimeError(f
"No pixel calibration tool for calibration strategy {flags.Acts.PixelCalibrationStrategy}"
)
77
78
def
ActsStripCalibrationToolCfg
(flags,
79
name: str=
'ActsStripCalibrationTool'
,
80
**kwargs) -> ComponentAccumulator:
81
82
if
not
flags.Detector.GeometryITk:
83
raise
Exception(
"Acts Strip calibration only supports ITk!"
)
84
85
acc = ComponentAccumulator()
86
87
from
ActsConfig.ActsConfigFlags
import
StripClusteringErrorMode,StripErrorStrategy
88
89
kwargs.setdefault(
"PerformCovarianceCalibration"
,
True
)
90
kwargs.setdefault(
"CalibrateAfterMeasurementSelection"
,
not
flags.Acts.StripCalibrationStrategy.calibrateBeforeSelection())
91
kwargs.setdefault(
"errorStrategy"
, StripErrorStrategy.PITCH.value
if
flags.Acts.Clusters.StripClusteringErrorMode == StripClusteringErrorMode.WIDTH
92
else
StripErrorStrategy.CLUSTERING.value)
93
94
acc.setPrivateTools(CompFactory.ActsTrk.ITkStripCalibrationTool(name, **kwargs))
95
return
acc
ActsMeasurementCalibrationConfig.ActsStripCalibrationToolCfg
ComponentAccumulator ActsStripCalibrationToolCfg(flags, str name='ActsStripCalibrationTool', **kwargs)
Definition
ActsMeasurementCalibrationConfig.py:80
ActsMeasurementCalibrationConfig.ActsAnalogueClusteringToolBaseCfg
ComponentAccumulator ActsAnalogueClusteringToolBaseCfg(flags, str name='ActsAnalogueClusteringTool', ClusteringToolType=CompFactory.ActsTrk.ITkAnalogueClusteringTool, **kwargs)
Definition
ActsMeasurementCalibrationConfig.py:9
ActsMeasurementCalibrationConfig.ActsNNClusteringToolCfg
ComponentAccumulator ActsNNClusteringToolCfg(flags, str name='ActsNNClusteringTool', **kwargs)
Definition
ActsMeasurementCalibrationConfig.py:44
ActsMeasurementCalibrationConfig.ActsAnalogueClusteringToolCfg
ActsAnalogueClusteringToolCfg(flags, str name='ActsAnalogueClusteringTool', **kwargs)
Definition
ActsMeasurementCalibrationConfig.py:36
ActsMeasurementCalibrationConfig.ActsPixelCalibrationToolCfg
ComponentAccumulator ActsPixelCalibrationToolCfg(flags, **kwargs)
Definition
ActsMeasurementCalibrationConfig.py:61
Generated on
for ATLAS Offline Software by
1.17.0