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)
36 kwargs.setdefault(
"applyNNcorrection",
37 flags.Tracking.doPixelClusterSplitting
and
38 flags.Tracking.pixelClusterSplittingType == (
39 PixelClusterSplittingType.NeuralNet))
40 kwargs.setdefault(
"NNIBLcorrection",
41 flags.Tracking.doPixelClusterSplitting
and
42 flags.Tracking.pixelClusterSplittingType == (
43 PixelClusterSplittingType.NeuralNet))
45 extension = flags.Tracking.ActiveConfig.extension
46 if extension == flags.Tracking.PrimaryPassConfig.value:
48 split_cluster_map_extension = (
49 extension
if flags.Tracking.ActiveConfig.useTIDE_Ambi
else "")
51 kwargs.setdefault(
"SplitClusterAmbiguityMap",
52 f
"SplitClusterAmbiguityMap{split_cluster_map_extension}")
53 kwargs.setdefault(
"RunningTIDE_Ambi", flags.Tracking.doTIDE_Ambi)
56 CompFactory.InDet.PixelClusterOnTrackTool(name, **kwargs))
61 flags, name="InDetPixelClusterOnTrackToolDigital", **kwargs):
62 kwargs.setdefault(
"SplitClusterAmbiguityMap",
"")
67 flags, name="InDetPixelClusterOnTrackToolNNSplitting", **kwargs):
70 if (flags.Tracking.doPixelClusterSplitting
and
71 flags.Tracking.pixelClusterSplittingType == (
72 PixelClusterSplittingType.NeuralNet)
and
73 "NnClusterizationFactory" not in kwargs):
74 from InDetConfig.SiClusterizationToolConfig
import (
75 NnClusterizationFactoryCfg)
76 kwargs.setdefault(
"NnClusterizationFactory", acc.popToolsAndMerge(
79 acc.setPrivateTools(acc.popToolsAndMerge(
85 flags, name="InDetPixelClusterOnTrackTool", **kwargs):
86 if flags.Tracking.doPixelDigitalClustering:
87 kwargs.setdefault(
"PositionStrategy", 0)
88 kwargs.setdefault(
"ErrorStrategy", 1)
93 flags, name='InDetBroadPixelClusterOnTrackTool', **kwargs):
94 kwargs.setdefault(
"ErrorStrategy", 0)
103 flags, name="InDetTrigPixelClusterOnTrackTool", **kwargs):
105 from PixelConditionsAlgorithms.PixelConditionsConfig
import (
106 PixelDistortionAlgCfg, PixelOfflineCalibCondAlgCfg)
111 from TrkConfig.TrkRIO_OnTrackCreatorConfig
import (
112 RIO_OnTrackErrorScalingCondAlgCfg)
115 if 'LorentzAngleTool' not in kwargs:
116 from SiLorentzAngleTool.PixelLorentzAngleConfig
import (
117 PixelLorentzAngleToolCfg)
118 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge(
121 if 'NnClusterizationFactory' not in kwargs:
122 from InDetConfig.SiClusterizationToolConfig
import (
123 TrigNnClusterizationFactoryCfg)
124 kwargs.setdefault(
"NnClusterizationFactory", acc.popToolsAndMerge(
127 kwargs.setdefault(
"ErrorStrategy", 2)
128 kwargs.setdefault(
"SplitClusterAmbiguityMap",
129 "TrigPixelClusterAmbiguitiesMap")
132 CompFactory.InDet.PixelClusterOnTrackTool(name, **kwargs))
141 flags, name="ITkPixelClusterOnTrackTool", **kwargs):
143 from PixelConditionsAlgorithms.ITkPixelConditionsConfig
import (
144 ITkPixelOfflineCalibCondAlgCfg)
147 if 'LorentzAngleTool' not in kwargs:
148 from SiLorentzAngleTool.ITkPixelLorentzAngleConfig
import (
149 ITkPixelLorentzAngleToolCfg)
150 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge(
153 if flags.Beam.Type
is BeamType.Cosmics:
154 kwargs.setdefault(
"ErrorStrategy", 0)
155 kwargs.setdefault(
"PositionStrategy", 0)
157 kwargs.setdefault(
"applyNNcorrection",
False)
159 "SplitClusterAmbiguityMap",
160 f
"SplitClusterAmbiguityMap{flags.Tracking.ActiveConfig.extension}")
161 kwargs.setdefault(
"RunningTIDE_Ambi", flags.Tracking.doTIDE_Ambi)
163 kwargs.setdefault(
"PixelErrorScalingKey",
"")
166 CompFactory.ITk.PixelClusterOnTrackTool(name, **kwargs))
171 flags, name='ITkPixelClusterOnTrackToolTruthSplitting', **kwargs):
174 if (flags.Tracking.doPixelClusterSplitting
and
175 flags.Tracking.pixelClusterSplittingType == (
176 PixelClusterSplittingType.Truth)
and
177 'NnClusterizationFactory' not in kwargs):
178 from InDetConfig.SiClusterizationToolConfig
import (
179 ITkTruthClusterizationFactoryCfg)
180 kwargs.setdefault(
"NnClusterizationFactory", acc.popToolsAndMerge(
183 acc.setPrivateTools(acc.popToolsAndMerge(
189 flags, name='ITkPixelClusterOnTrackTool', **kwargs):
190 if flags.Tracking.doPixelDigitalClustering:
191 kwargs.setdefault(
"PositionStrategy", 0)
192 kwargs.setdefault(
"ErrorStrategy", 1)
197 flags, name='ITkBroadPixelClusterOnTrackTool', **kwargs):
198 kwargs.setdefault(
"ErrorStrategy", 0)