ATLAS Offline Software
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
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 from AthenaConfiguration.Enums import BeamType
6 from 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(
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(
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(
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(
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(
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)
python.SiClusterOnTrackTool_PixelConfig.ITkPixelClusterOnTrackToolBaseCfg
def ITkPixelClusterOnTrackToolBaseCfg(flags, name="ITkPixelClusterOnTrackTool", **kwargs)
ITk PixelClusterOnTrackTool offline ###.
Definition: SiClusterOnTrackTool_PixelConfig.py:130
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.SiClusterOnTrackTool_PixelConfig.ITkBroadPixelClusterOnTrackToolCfg
def ITkBroadPixelClusterOnTrackToolCfg(flags, name='ITkBroadPixelClusterOnTrackTool', **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:183
python.SiClusterizationToolConfig.NnClusterizationFactoryCfg
def NnClusterizationFactoryCfg(flags, name="NnClusterizationFactory", **kwargs)
Definition: SiClusterizationToolConfig.py:230
PixelConditionsConfig.PixelDistortionAlgCfg
def PixelDistortionAlgCfg(flags, name="PixelDistortionAlg", **kwargs)
Definition: PixelConditionsConfig.py:260
python.PixelLorentzAngleConfig.PixelLorentzAngleToolCfg
def PixelLorentzAngleToolCfg(flags, name="PixelLorentzAngleTool", **kwargs)
Definition: PixelLorentzAngleConfig.py:13
python.ITkPixelLorentzAngleConfig.ITkPixelLorentzAngleToolCfg
def ITkPixelLorentzAngleToolCfg(flags, name="ITkPixelLorentzAngleTool", **kwargs)
Definition: ITkPixelLorentzAngleConfig.py:14
python.SiClusterOnTrackTool_PixelConfig.InDetPixelClusterOnTrackToolBaseCfg
def InDetPixelClusterOnTrackToolBaseCfg(flags, name="PixelClusterOnTrackTool", **kwargs)
InDet PixelClusterOnTrackTool offline ###.
Definition: SiClusterOnTrackTool_PixelConfig.py:13
python.SiClusterOnTrackTool_PixelConfig.InDetPixelClusterOnTrackToolCfg
def InDetPixelClusterOnTrackToolCfg(flags, name="InDetPixelClusterOnTrackTool", **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:47
python.SiClusterOnTrackTool_PixelConfig.InDetPixelClusterOnTrackToolDigitalCfg
def InDetPixelClusterOnTrackToolDigitalCfg(flags, name="InDetPixelClusterOnTrackToolDigital", **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:41
python.SiClusterizationToolConfig.ITkNnClusterizationFactoryCfg
def ITkNnClusterizationFactoryCfg(flags, name="ITkNnClusterizationFactory", **kwargs)
Definition: SiClusterizationToolConfig.py:299
python.SiClusterizationToolConfig.TrigNnClusterizationFactoryCfg
def TrigNnClusterizationFactoryCfg(flags, name="TrigNnClusterizationFactory")
Definition: SiClusterizationToolConfig.py:275
PixelConditionsConfig.PixelOfflineCalibCondAlgCfg
def PixelOfflineCalibCondAlgCfg(flags, name="PixelOfflineCalibCondAlg", **kwargs)
Definition: PixelConditionsConfig.py:288
ITkPixelConditionsConfig.ITkPixelOfflineCalibCondAlgCfg
def ITkPixelOfflineCalibCondAlgCfg(flags, name="ITkPixelOfflineCalibCondAlg", **kwargs)
Definition: ITkPixelConditionsConfig.py:141
python.SiClusterOnTrackTool_PixelConfig.InDetBroadPixelClusterOnTrackToolCfg
def InDetBroadPixelClusterOnTrackToolCfg(flags, name='InDetBroadPixelClusterOnTrackTool', **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:82
python.TrkRIO_OnTrackCreatorConfig.RIO_OnTrackErrorScalingCondAlgCfg
def RIO_OnTrackErrorScalingCondAlgCfg(flags, name='RIO_OnTrackErrorScalingCondAlg', **kwargs)
Definition: TrkRIO_OnTrackCreatorConfig.py:240
python.SiClusterOnTrackTool_PixelConfig.ITkPixelClusterOnTrackToolCfg
def ITkPixelClusterOnTrackToolCfg(flags, name='ITkPixelClusterOnTrackTool', **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:154
python.SiClusterOnTrackTool_PixelConfig.TrigPixelClusterOnTrackToolBaseCfg
def TrigPixelClusterOnTrackToolBaseCfg(flags, name="InDetTrigPixelClusterOnTrackTool", **kwargs)
InDet PixelClusterOnTrackTool trigger ###.
Definition: SiClusterOnTrackTool_PixelConfig.py:92