ATLAS Offline Software
SiClusterOnTrackTool_PixelConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2023 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  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))
44 
45  extension = flags.Tracking.ActiveConfig.extension
46  if extension == flags.Tracking.PrimaryPassConfig.value:
47  extension = ""
48  split_cluster_map_extension = (
49  extension if flags.Tracking.ActiveConfig.useTIDE_Ambi else "")
50 
51  kwargs.setdefault("SplitClusterAmbiguityMap",
52  f"SplitClusterAmbiguityMap{split_cluster_map_extension}")
53  kwargs.setdefault("RunningTIDE_Ambi", flags.Tracking.doTIDE_Ambi)
54 
55  acc.setPrivateTools(
56  CompFactory.InDet.PixelClusterOnTrackTool(name, **kwargs))
57  return acc
58 
59 
61  flags, name="InDetPixelClusterOnTrackToolDigital", **kwargs):
62  kwargs.setdefault("SplitClusterAmbiguityMap", "")
63  return InDetPixelClusterOnTrackToolBaseCfg(flags, name, **kwargs)
64 
65 
67  flags, name="InDetPixelClusterOnTrackToolNNSplitting", **kwargs):
68  acc = ComponentAccumulator()
69 
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(
78 
79  acc.setPrivateTools(acc.popToolsAndMerge(
80  InDetPixelClusterOnTrackToolBaseCfg(flags, name, **kwargs)))
81  return acc
82 
83 
85  flags, name="InDetPixelClusterOnTrackTool", **kwargs):
86  if flags.Tracking.doPixelDigitalClustering:
87  kwargs.setdefault("PositionStrategy", 0)
88  kwargs.setdefault("ErrorStrategy", 1)
89  return InDetPixelClusterOnTrackToolNNSplittingCfg(flags, name, **kwargs)
90 
91 
93  flags, name='InDetBroadPixelClusterOnTrackTool', **kwargs):
94  kwargs.setdefault("ErrorStrategy", 0)
95  return InDetPixelClusterOnTrackToolCfg(flags, name, **kwargs)
96 
97 
100 
101 
103  flags, name="InDetTrigPixelClusterOnTrackTool", **kwargs):
104  # To produce PixelOfflineCalibData + PixelDistortionData
105  from PixelConditionsAlgorithms.PixelConditionsConfig import (
106  PixelDistortionAlgCfg, PixelOfflineCalibCondAlgCfg)
107  acc = PixelOfflineCalibCondAlgCfg(flags)
108  acc.merge(PixelDistortionAlgCfg(flags))
109 
110  # To produce RIO_OnTrackErrorScaling
111  from TrkConfig.TrkRIO_OnTrackCreatorConfig import (
112  RIO_OnTrackErrorScalingCondAlgCfg)
113  acc.merge(RIO_OnTrackErrorScalingCondAlgCfg(flags))
114 
115  if 'LorentzAngleTool' not in kwargs:
116  from SiLorentzAngleTool.PixelLorentzAngleConfig import (
117  PixelLorentzAngleToolCfg)
118  kwargs.setdefault("LorentzAngleTool", acc.popToolsAndMerge(
119  PixelLorentzAngleToolCfg(flags)))
120 
121  if 'NnClusterizationFactory' not in kwargs:
122  from InDetConfig.SiClusterizationToolConfig import (
123  TrigNnClusterizationFactoryCfg)
124  kwargs.setdefault("NnClusterizationFactory", acc.popToolsAndMerge(
126 
127  kwargs.setdefault("ErrorStrategy", 2)
128  kwargs.setdefault("SplitClusterAmbiguityMap",
129  "TrigPixelClusterAmbiguitiesMap")
130 
131  acc.setPrivateTools(
132  CompFactory.InDet.PixelClusterOnTrackTool(name, **kwargs))
133  return acc
134 
135 
138 
139 
141  flags, name="ITkPixelClusterOnTrackTool", **kwargs):
142  # To produce PixelOfflineCalibData
143  from PixelConditionsAlgorithms.ITkPixelConditionsConfig import (
144  ITkPixelOfflineCalibCondAlgCfg)
145  acc = ITkPixelOfflineCalibCondAlgCfg(flags)
146 
147  if 'LorentzAngleTool' not in kwargs:
148  from SiLorentzAngleTool.ITkPixelLorentzAngleConfig import (
149  ITkPixelLorentzAngleToolCfg)
150  kwargs.setdefault("LorentzAngleTool", acc.popToolsAndMerge(
152 
153  if flags.Beam.Type is BeamType.Cosmics:
154  kwargs.setdefault("ErrorStrategy", 0)
155  kwargs.setdefault("PositionStrategy", 0)
156 
157  kwargs.setdefault("applyNNcorrection", False)
158  kwargs.setdefault(
159  "SplitClusterAmbiguityMap",
160  f"SplitClusterAmbiguityMap{flags.Tracking.ActiveConfig.extension}")
161  kwargs.setdefault("RunningTIDE_Ambi", flags.Tracking.doTIDE_Ambi)
162 
163  kwargs.setdefault("PixelErrorScalingKey", "")
164 
165  acc.setPrivateTools(
166  CompFactory.ITk.PixelClusterOnTrackTool(name, **kwargs))
167  return acc
168 
169 
171  flags, name='ITkPixelClusterOnTrackToolTruthSplitting', **kwargs):
172  acc = ComponentAccumulator()
173 
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(
182 
183  acc.setPrivateTools(acc.popToolsAndMerge(
184  ITkPixelClusterOnTrackToolBaseCfg(flags, name, **kwargs)))
185  return acc
186 
187 
189  flags, name='ITkPixelClusterOnTrackTool', **kwargs):
190  if flags.Tracking.doPixelDigitalClustering:
191  kwargs.setdefault("PositionStrategy", 0)
192  kwargs.setdefault("ErrorStrategy", 1)
193  return ITkPixelClusterOnTrackToolTruthSplittingCfg(flags, name, **kwargs)
194 
195 
197  flags, name='ITkBroadPixelClusterOnTrackTool', **kwargs):
198  kwargs.setdefault("ErrorStrategy", 0)
199  return ITkPixelClusterOnTrackToolCfg(flags, name, **kwargs)
python.SiClusterOnTrackTool_PixelConfig.ITkPixelClusterOnTrackToolBaseCfg
def ITkPixelClusterOnTrackToolBaseCfg(flags, name="ITkPixelClusterOnTrackTool", **kwargs)
ITk PixelClusterOnTrackTool offline ###.
Definition: SiClusterOnTrackTool_PixelConfig.py:140
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.SiClusterOnTrackTool_PixelConfig.ITkPixelClusterOnTrackToolTruthSplittingCfg
def ITkPixelClusterOnTrackToolTruthSplittingCfg(flags, name='ITkPixelClusterOnTrackToolTruthSplitting', **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:170
python.SiClusterOnTrackTool_PixelConfig.ITkBroadPixelClusterOnTrackToolCfg
def ITkBroadPixelClusterOnTrackToolCfg(flags, name='ITkBroadPixelClusterOnTrackTool', **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:196
python.SiClusterizationToolConfig.NnClusterizationFactoryCfg
def NnClusterizationFactoryCfg(flags, name="NnClusterizationFactory", **kwargs)
Definition: SiClusterizationToolConfig.py:224
PixelConditionsConfig.PixelDistortionAlgCfg
def PixelDistortionAlgCfg(flags, name="PixelDistortionAlg", **kwargs)
Definition: PixelConditionsConfig.py:257
python.SiClusterizationToolConfig.ITkTruthClusterizationFactoryCfg
def ITkTruthClusterizationFactoryCfg(flags, name='ITkTruthClusterizationFactory', **kwargs)
Definition: SiClusterizationToolConfig.py:413
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.InDetPixelClusterOnTrackToolNNSplittingCfg
def InDetPixelClusterOnTrackToolNNSplittingCfg(flags, name="InDetPixelClusterOnTrackToolNNSplitting", **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:66
python.SiClusterOnTrackTool_PixelConfig.InDetPixelClusterOnTrackToolCfg
def InDetPixelClusterOnTrackToolCfg(flags, name="InDetPixelClusterOnTrackTool", **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:84
python.SiClusterOnTrackTool_PixelConfig.InDetPixelClusterOnTrackToolDigitalCfg
def InDetPixelClusterOnTrackToolDigitalCfg(flags, name="InDetPixelClusterOnTrackToolDigital", **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:60
python.SiClusterizationToolConfig.TrigNnClusterizationFactoryCfg
def TrigNnClusterizationFactoryCfg(flags, name="TrigNnClusterizationFactory")
Definition: SiClusterizationToolConfig.py:269
PixelConditionsConfig.PixelOfflineCalibCondAlgCfg
def PixelOfflineCalibCondAlgCfg(flags, name="PixelOfflineCalibCondAlg", **kwargs)
Definition: PixelConditionsConfig.py:285
ITkPixelConditionsConfig.ITkPixelOfflineCalibCondAlgCfg
def ITkPixelOfflineCalibCondAlgCfg(flags, name="ITkPixelOfflineCalibCondAlg", **kwargs)
Definition: ITkPixelConditionsConfig.py:162
python.SiClusterOnTrackTool_PixelConfig.InDetBroadPixelClusterOnTrackToolCfg
def InDetBroadPixelClusterOnTrackToolCfg(flags, name='InDetBroadPixelClusterOnTrackTool', **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:92
python.TrkRIO_OnTrackCreatorConfig.RIO_OnTrackErrorScalingCondAlgCfg
def RIO_OnTrackErrorScalingCondAlgCfg(flags, name='RIO_OnTrackErrorScalingCondAlg', **kwargs)
Definition: TrkRIO_OnTrackCreatorConfig.py:197
python.SiClusterOnTrackTool_PixelConfig.ITkPixelClusterOnTrackToolCfg
def ITkPixelClusterOnTrackToolCfg(flags, name='ITkPixelClusterOnTrackTool', **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:188
python.SiClusterOnTrackTool_PixelConfig.TrigPixelClusterOnTrackToolBaseCfg
def TrigPixelClusterOnTrackToolBaseCfg(flags, name="InDetTrigPixelClusterOnTrackTool", **kwargs)
InDet PixelClusterOnTrackTool trigger ###.
Definition: SiClusterOnTrackTool_PixelConfig.py:102