3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
5 from AthenaConfiguration.Enums
import BeamType
6 from TrkConfig.TrkConfigFlags
import PixelClusterSplittingType
14 flags, name="PixelClusterOnTrackTool", **kwargs):
16 from PixelConditionsAlgorithms.PixelConditionsConfig
import (
17 PixelDistortionAlgCfg, PixelOfflineCalibCondAlgCfg)
22 from TrkConfig.TrkRIO_OnTrackCreatorConfig
import (
23 RIO_OnTrackErrorScalingCondAlgCfg)
26 if 'LorentzAngleTool' not in kwargs:
27 from SiLorentzAngleTool.PixelLorentzAngleConfig
import (
28 PixelLorentzAngleToolCfg)
29 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge(
32 if flags.Beam.Type
is BeamType.Cosmics:
33 kwargs.setdefault(
"ErrorStrategy", 0)
34 kwargs.setdefault(
"PositionStrategy", 0)
37 CompFactory.InDet.PixelClusterOnTrackTool(name, **kwargs))
42 flags, name="InDetPixelClusterOnTrackToolDigital", **kwargs):
43 kwargs.setdefault(
"SplitClusterAmbiguityMap",
"")
48 flags, name="InDetPixelClusterOnTrackTool", **kwargs):
51 if (flags.Tracking.doPixelClusterSplitting
and
52 (flags.Tracking.pixelClusterSplittingType
is
53 PixelClusterSplittingType.NeuralNet)):
55 kwargs.setdefault(
"applyNNcorrection",
True)
56 kwargs.setdefault(
"NNIBLcorrection",
True)
58 extension = flags.Tracking.ActiveConfig.extension
59 if extension == flags.Tracking.PrimaryPassConfig.value:
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)
67 if "NnClusterizationFactory" not in kwargs:
68 from InDetConfig.SiClusterizationToolConfig
import (
69 NnClusterizationFactoryCfg)
70 kwargs.setdefault(
"NnClusterizationFactory", acc.popToolsAndMerge(
73 if flags.Tracking.doPixelDigitalClustering:
74 kwargs.setdefault(
"PositionStrategy", 0)
75 kwargs.setdefault(
"ErrorStrategy", 1)
77 acc.setPrivateTools(acc.popToolsAndMerge(
83 flags, name='InDetBroadPixelClusterOnTrackTool', **kwargs):
84 kwargs.setdefault(
"ErrorStrategy", 0)
93 flags, name="InDetTrigPixelClusterOnTrackTool", **kwargs):
95 from PixelConditionsAlgorithms.PixelConditionsConfig
import (
96 PixelDistortionAlgCfg, PixelOfflineCalibCondAlgCfg)
101 from TrkConfig.TrkRIO_OnTrackCreatorConfig
import (
102 RIO_OnTrackErrorScalingCondAlgCfg)
105 if 'LorentzAngleTool' not in kwargs:
106 from SiLorentzAngleTool.PixelLorentzAngleConfig
import (
107 PixelLorentzAngleToolCfg)
108 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge(
111 if 'NnClusterizationFactory' not in kwargs:
112 from InDetConfig.SiClusterizationToolConfig
import (
113 TrigNnClusterizationFactoryCfg)
114 kwargs.setdefault(
"NnClusterizationFactory", acc.popToolsAndMerge(
117 kwargs.setdefault(
"ErrorStrategy", 2)
118 kwargs.setdefault(
"SplitClusterAmbiguityMap",
119 flags.Trigger.InDetTracking.ClusterAmbiguitiesMap)
122 CompFactory.InDet.PixelClusterOnTrackTool(name, **kwargs))
131 flags, name="ITkPixelClusterOnTrackTool", **kwargs):
133 from PixelConditionsAlgorithms.ITkPixelConditionsConfig
import (
134 ITkPixelOfflineCalibCondAlgCfg)
137 if 'LorentzAngleTool' not in kwargs:
138 from SiLorentzAngleTool.ITkPixelLorentzAngleConfig
import (
139 ITkPixelLorentzAngleToolCfg)
140 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge(
143 if flags.Beam.Type
is BeamType.Cosmics:
144 kwargs.setdefault(
"ErrorStrategy", 0)
145 kwargs.setdefault(
"PositionStrategy", 0)
147 kwargs.setdefault(
"PixelErrorScalingKey",
"")
150 CompFactory.ITk.PixelClusterOnTrackTool(name, **kwargs))
155 flags, name='ITkPixelClusterOnTrackTool', **kwargs):
158 if (flags.Tracking.doPixelClusterSplitting
and
159 (flags.Tracking.pixelClusterSplittingType
is
160 PixelClusterSplittingType.NeuralNet)):
162 kwargs.setdefault(
"applyNNcorrection",
True)
164 "SplitClusterAmbiguityMap",
165 f
"SplitClusterAmbiguityMap{flags.Tracking.ActiveConfig.extension}")
166 kwargs.setdefault(
"RunningTIDE_Ambi", flags.Tracking.doTIDE_Ambi)
168 if "NnClusterizationFactory" not in kwargs:
169 from InDetConfig.SiClusterizationToolConfig
import (
170 ITkNnClusterizationFactoryCfg)
171 kwargs.setdefault(
"NnClusterizationFactory", acc.popToolsAndMerge(
174 if flags.Tracking.doPixelDigitalClustering:
175 kwargs.setdefault(
"PositionStrategy", 0)
176 kwargs.setdefault(
"ErrorStrategy", 1)
178 acc.setPrivateTools(acc.popToolsAndMerge(
184 flags, name='ITkBroadPixelClusterOnTrackTool', **kwargs):
185 kwargs.setdefault(
"ErrorStrategy", 0)