ATLAS Offline Software
Loading...
Searching...
No Matches
SiClusterOnTrackTool_PixelConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2# Configuration of pixel tools of SiClusterOnTrackTool package
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5from AthenaConfiguration.Enums import BeamType
6from TrkConfig.TrkConfigFlags import PixelClusterSplittingType
7
8
11
12
14 flags, name="PixelClusterOnTrackTool", **kwargs):
15 # To produce PixelOfflineCalibData + PixelDistortionData
16 from PixelConditionsAlgorithms.PixelConditionsConfig import (
17 PixelDistortionAlgCfg, PixelOfflineCalibCondAlgCfg)
18 acc = PixelOfflineCalibCondAlgCfg(flags)
19 acc.merge(PixelDistortionAlgCfg(flags))
20
21 # To produce RIO_OnTrackErrorScaling
22 from TrkConfig.TrkRIO_OnTrackCreatorConfig import (
23 RIO_OnTrackErrorScalingCondAlgCfg)
24 acc.merge(RIO_OnTrackErrorScalingCondAlgCfg(flags))
25
26 if 'LorentzAngleTool' not in kwargs:
27 from SiLorentzAngleTool.PixelLorentzAngleConfig import (
28 PixelLorentzAngleToolCfg)
29 kwargs.setdefault("LorentzAngleTool", acc.popToolsAndMerge(
30 PixelLorentzAngleToolCfg(flags)))
31
32 if flags.Beam.Type is BeamType.Cosmics:
33 kwargs.setdefault("ErrorStrategy", 0)
34 kwargs.setdefault("PositionStrategy", 0)
35
36 acc.setPrivateTools(
37 CompFactory.InDet.PixelClusterOnTrackTool(name, **kwargs))
38 return acc
39
40
42 flags, name="InDetPixelClusterOnTrackToolDigital", **kwargs):
43 kwargs.setdefault("SplitClusterAmbiguityMap", "")
44 return InDetPixelClusterOnTrackToolBaseCfg(flags, name, **kwargs)
45
46
48 flags, name="InDetPixelClusterOnTrackTool", **kwargs):
49 acc = ComponentAccumulator()
50
51 if (flags.Tracking.doPixelClusterSplitting and
52 (flags.Tracking.pixelClusterSplittingType is
53 PixelClusterSplittingType.NeuralNet)):
54
55 kwargs.setdefault("applyNNcorrection", True)
56 kwargs.setdefault("NNIBLcorrection", True)
57
58 extension = flags.Tracking.ActiveConfig.extension
59 if extension == flags.Tracking.PrimaryPassConfig.value:
60 extension = ""
61 split_cluster_map_extension = (
62 extension if flags.Tracking.ActiveConfig.useTIDE_Ambi else "")
63 kwargs.setdefault("SplitClusterAmbiguityMap",
64 f"SplitClusterAmbiguityMap{split_cluster_map_extension}")
65 kwargs.setdefault("RunningTIDE_Ambi", flags.Tracking.doTIDE_Ambi)
66
67 if "NnClusterizationFactory" not in kwargs:
68 from InDetConfig.SiClusterizationToolConfig import (
69 NnClusterizationFactoryCfg)
70 kwargs.setdefault("NnClusterizationFactory", acc.popToolsAndMerge(
71 NnClusterizationFactoryCfg(flags)))
72
73 if flags.Tracking.doPixelDigitalClustering:
74 kwargs.setdefault("PositionStrategy", 0)
75 kwargs.setdefault("ErrorStrategy", 1)
76
77 acc.setPrivateTools(acc.popToolsAndMerge(
78 InDetPixelClusterOnTrackToolBaseCfg(flags, name, **kwargs)))
79 return acc
80
81
83 flags, name='InDetBroadPixelClusterOnTrackTool', **kwargs):
84 kwargs.setdefault("ErrorStrategy", 0)
85 return InDetPixelClusterOnTrackToolCfg(flags, name, **kwargs)
86
87
90
91
93 flags, name="InDetTrigPixelClusterOnTrackTool", **kwargs):
94 # To produce PixelOfflineCalibData + PixelDistortionData
95 from PixelConditionsAlgorithms.PixelConditionsConfig import (
96 PixelDistortionAlgCfg, PixelOfflineCalibCondAlgCfg)
97 acc = PixelOfflineCalibCondAlgCfg(flags)
98 acc.merge(PixelDistortionAlgCfg(flags))
99
100 # To produce RIO_OnTrackErrorScaling
101 from TrkConfig.TrkRIO_OnTrackCreatorConfig import (
102 RIO_OnTrackErrorScalingCondAlgCfg)
103 acc.merge(RIO_OnTrackErrorScalingCondAlgCfg(flags))
104
105 if 'LorentzAngleTool' not in kwargs:
106 from SiLorentzAngleTool.PixelLorentzAngleConfig import (
107 PixelLorentzAngleToolCfg)
108 kwargs.setdefault("LorentzAngleTool", acc.popToolsAndMerge(
109 PixelLorentzAngleToolCfg(flags)))
110
111 if 'NnClusterizationFactory' not in kwargs:
112 from InDetConfig.SiClusterizationToolConfig import (
113 TrigNnClusterizationFactoryCfg)
114 kwargs.setdefault("NnClusterizationFactory", acc.popToolsAndMerge(
115 TrigNnClusterizationFactoryCfg(flags)))
116
117 kwargs.setdefault("ErrorStrategy", 2)
118 kwargs.setdefault("SplitClusterAmbiguityMap",
119 flags.Trigger.InDetTracking.ClusterAmbiguitiesMap)
120
121 acc.setPrivateTools(
122 CompFactory.InDet.PixelClusterOnTrackTool(name, **kwargs))
123 return acc
124
125
128
129
131 flags, name="ITkPixelClusterOnTrackTool", **kwargs):
132 # To produce PixelOfflineCalibData
133 from PixelConditionsAlgorithms.ITkPixelConditionsConfig import (
134 ITkPixelOfflineCalibCondAlgCfg)
135 acc = ITkPixelOfflineCalibCondAlgCfg(flags)
136
137 if 'LorentzAngleTool' not in kwargs:
138 from SiLorentzAngleTool.ITkPixelLorentzAngleConfig import (
139 ITkPixelLorentzAngleToolCfg)
140 kwargs.setdefault("LorentzAngleTool", acc.popToolsAndMerge(
141 ITkPixelLorentzAngleToolCfg(flags)))
142
143 if flags.Beam.Type is BeamType.Cosmics:
144 kwargs.setdefault("ErrorStrategy", 0)
145 kwargs.setdefault("PositionStrategy", 0)
146
147 kwargs.setdefault("PixelErrorScalingKey", "")
148
149 acc.setPrivateTools(
150 CompFactory.ITk.PixelClusterOnTrackTool(name, **kwargs))
151 return acc
152
153
155 flags, name='ITkPixelClusterOnTrackTool', **kwargs):
156 acc = ComponentAccumulator()
157
158 if (flags.Tracking.doPixelClusterSplitting and
159 (flags.Tracking.pixelClusterSplittingType is
160 PixelClusterSplittingType.NeuralNet)):
161
162 kwargs.setdefault("applyNNcorrection", True)
163 kwargs.setdefault(
164 "SplitClusterAmbiguityMap",
165 f"SplitClusterAmbiguityMap{flags.Tracking.ActiveConfig.extension}")
166 kwargs.setdefault("RunningTIDE_Ambi", flags.Tracking.doTIDE_Ambi)
167
168 if "NnClusterizationFactory" not in kwargs:
169 from InDetConfig.SiClusterizationToolConfig import (
170 ITkNnClusterizationFactoryCfg)
171 kwargs.setdefault("NnClusterizationFactory", acc.popToolsAndMerge(
172 ITkNnClusterizationFactoryCfg(flags)))
173
174 if flags.Tracking.doPixelDigitalClustering:
175 kwargs.setdefault("PositionStrategy", 0)
176 kwargs.setdefault("ErrorStrategy", 1)
177
178 acc.setPrivateTools(acc.popToolsAndMerge(
179 ITkPixelClusterOnTrackToolBaseCfg(flags, name, **kwargs)))
180 return acc
181
182
184 flags, name='ITkBroadPixelClusterOnTrackTool', **kwargs):
185 kwargs.setdefault("ErrorStrategy", 0)
186 return ITkPixelClusterOnTrackToolCfg(flags, name, **kwargs)
TrigPixelClusterOnTrackToolBaseCfg(flags, name="InDetTrigPixelClusterOnTrackTool", **kwargs)
InDet PixelClusterOnTrackTool trigger ###.
InDetPixelClusterOnTrackToolBaseCfg(flags, name="PixelClusterOnTrackTool", **kwargs)
InDet PixelClusterOnTrackTool offline ###.
ITkPixelClusterOnTrackToolBaseCfg(flags, name="ITkPixelClusterOnTrackTool", **kwargs)
ITk PixelClusterOnTrackTool offline ###.
ITkPixelClusterOnTrackToolCfg(flags, name='ITkPixelClusterOnTrackTool', **kwargs)
InDetPixelClusterOnTrackToolCfg(flags, name="InDetPixelClusterOnTrackTool", **kwargs)
ITkBroadPixelClusterOnTrackToolCfg(flags, name='ITkBroadPixelClusterOnTrackTool', **kwargs)
InDetBroadPixelClusterOnTrackToolCfg(flags, name='InDetBroadPixelClusterOnTrackTool', **kwargs)
InDetPixelClusterOnTrackToolDigitalCfg(flags, name="InDetPixelClusterOnTrackToolDigital", **kwargs)