ATLAS Offline Software
SiSPSeededTrackFinderConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 # Configuration of SiSPSeededTrackFinder package
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 from TrkConfig.TrackingPassFlags import RoIStrategy
6 from AthenaConfiguration.Enums import ProductionStep
7 
8 def SiSPSeededTrackFinderCfg(flags, name="InDetSiSpTrackFinder", **kwargs):
10 
11  if "TrackTool" not in kwargs:
12  from InDetConfig.SiTrackMakerConfig import SiTrackMaker_xkCfg
13  kwargs.setdefault("TrackTool", acc.popToolsAndMerge(
14  SiTrackMaker_xkCfg(flags)))
15 
16  if "PropagatorTool" not in kwargs:
17  from TrkConfig.TrkExRungeKuttaPropagatorConfig import InDetPropagatorCfg
18  InDetPropagator = acc.popToolsAndMerge(InDetPropagatorCfg(flags))
19  acc.addPublicTool(InDetPropagator)
20  kwargs.setdefault("PropagatorTool", InDetPropagator)
21 
22  if "TrackSummaryTool" not in kwargs:
23  from TrkConfig.TrkTrackSummaryToolConfig import (
24  InDetTrackSummaryToolNoHoleSearchCfg)
25  kwargs.setdefault("TrackSummaryTool", acc.popToolsAndMerge(
27 
28  if "SeedsTool" not in kwargs:
29  from InDetConfig.SiSpacePointsSeedToolConfig import (
30  SiSpacePointsSeedMakerCfg)
31  kwargs.setdefault("SeedsTool", acc.popToolsAndMerge(
33 
34  if flags.Tracking.ActiveConfig.usePrdAssociationTool:
35  # not all classes have that property !!!
36  kwargs.setdefault("PRDtoTrackMap", (
37  'InDetPRDtoTrackMap' + flags.Tracking.ActiveConfig.extension))
38 
39  kwargs.setdefault("useZBoundFinding",
40  flags.Tracking.ActiveConfig.doZBoundary)
41  if flags.Common.ProductionStep in [ProductionStep.PileUpPretracking, ProductionStep.MinbiasPreprocessing]:
42  kwargs.setdefault("EventInfoKey", flags.Overlay.BkgPrefix + "EventInfo")
43 
44  # Heavy-ion config
45  kwargs.setdefault("useZvertexTool",
46  flags.Tracking.ActiveConfig.extension in ["HeavyIon", "VtxLumiHeavyIon"])
47  if flags.Tracking.ActiveConfig.extension in ["HeavyIon", "VtxLumiHeavyIon"]:
48  # Optimization from Igor
49  kwargs.setdefault("FreeClustersCut", 2)
50  kwargs.setdefault("useMBTSTimeDiff", True)
51 
52  # Z-coordinates primary vertices finder (only for collisions)
53  if "ZvertexTool" not in kwargs:
54  from InDetConfig.SiZvertexToolConfig import SiZvertexMaker_xkCfg
55  kwargs.setdefault("ZvertexTool", acc.popToolsAndMerge(
56  SiZvertexMaker_xkCfg(flags)))
57 
58  acc.addEventAlgo(CompFactory.InDet.SiSPSeededTrackFinder(
59  name+flags.Tracking.ActiveConfig.extension, **kwargs))
60  return acc
61 
62 def TrigSiSPSeededTrackFinderCfg(flags, name="InDetTrigSiSpTrackFinder", **kwargs):
63  acc = ComponentAccumulator()
64 
65  if "TracksLocation" not in kwargs:
66  kwargs.setdefault("TracksLocation", flags.Tracking.ActiveConfig.trkTracks_IDTrig)
67 
68  kwargs.setdefault("SpacePointsSCTName","SCT_TrigSpacePoints")
69  kwargs.setdefault("SpacePointsPixelName","PixelTrigSpacePoints")
70 
71  if "TrackTool" not in kwargs:
72  from InDetConfig.SiTrackMakerConfig import TrigSiTrackMaker_xkCfg
73  kwargs.setdefault("TrackTool", acc.popToolsAndMerge(
74  TrigSiTrackMaker_xkCfg(flags)))
75 
76  #for the time being no need of InDetTrigPropagator
77  # acc.popToolsAndMerge(InDetPropagatorCfg(flags, name="InDetTrigPropagator"))
78 
79  if "TrackSummaryTool" not in kwargs:
80  from TrkConfig.TrkTrackSummaryToolConfig import (
81  InDetTrigFastTrackSummaryToolCfg)
82  kwargs.setdefault("TrackSummaryTool", acc.popToolsAndMerge(
84 
85  if "SeedsTool" not in kwargs:
86  from InDetConfig.SiSpacePointsSeedToolConfig import (
87  TrigSiSpacePointsSeedMakerCfg)
88  kwargs.setdefault("SeedsTool", acc.popToolsAndMerge(
90 
91  # Heavy-ion config (TODO the steering for the trigger)
92  kwargs.setdefault("useMBTSTimeDiff", False)
93  kwargs.setdefault("useZvertexTool", False)
94  kwargs.setdefault("useZBoundFinding",
95  flags.Tracking.ActiveConfig.doZBoundary)
96  if flags.Reco.EnableHI:
97  # Heavy Ion optimization from Igor
98  kwargs.setdefault("FreeClustersCut", 2)
99 
100 
101  if flags.Tracking.ActiveConfig.usePrdAssociationTool:
102  # not all classes have that property !!!
103  kwargs.setdefault("PRDtoTrackMap", (
104  'InDetPRDtoTrackMap' + flags.Tracking.ActiveConfig.input_name))
105  else:
106  kwargs.setdefault("PRDtoTrackMap", "")
107 
108  acc.merge(SiSPSeededTrackFinderCfg(flags, name, **kwargs))
109  return acc
110 
111 def ITkSiSPSeededTrackFinderCfg(flags, name="ITkSiSpTrackFinder", **kwargs):
112  acc = ComponentAccumulator()
113 
114  if "TrackTool" not in kwargs:
115  from InDetConfig.SiTrackMakerConfig import ITkSiTrackMaker_xkCfg
116  kwargs.setdefault("TrackTool", acc.popToolsAndMerge(
117  ITkSiTrackMaker_xkCfg(flags)))
118 
119  if "PropagatorTool" not in kwargs:
120  from TrkConfig.TrkExRungeKuttaPropagatorConfig import ITkPropagatorCfg
121  ITkPropagator = acc.popToolsAndMerge(ITkPropagatorCfg(flags))
122  acc.addPublicTool(ITkPropagator)
123  kwargs.setdefault("PropagatorTool", ITkPropagator)
124 
125  if "TrackSummaryTool" not in kwargs:
126  from TrkConfig.TrkTrackSummaryToolConfig import (
127  ITkTrackSummaryToolNoHoleSearchCfg)
128  kwargs.setdefault("TrackSummaryTool", acc.popToolsAndMerge(
130 
131  if "SeedsTool" not in kwargs:
132  ITkSiSpacePointsSeedMaker = None
133 
134  if (flags.Tracking.ActiveConfig.extension != "Conversion" and
135  flags.Tracking.ActiveConfig.doActsToAthenaSeed):
136  from ActsConfig.ActsSeedingConfig import (
137  ActsSiSpacePointsSeedMakerToolCfg)
138  ITkSiSpacePointsSeedMaker = acc.popToolsAndMerge(
140  else:
141  from InDetConfig.SiSpacePointsSeedToolConfig import (
142  ITkSiSpacePointsSeedMakerCfg)
143  ITkSiSpacePointsSeedMaker = acc.popToolsAndMerge(
145 
146  kwargs.setdefault("SeedsTool", ITkSiSpacePointsSeedMaker)
147 
148  if flags.Tracking.ActiveConfig.usePrdAssociationTool:
149  # not all classes have that property !!!
150  kwargs.setdefault("PRDtoTrackMap", (
151  'ITkPRDtoTrackMap' + flags.Tracking.ActiveConfig.extension))
152 
153  kwargs.setdefault("useZvertexTool", False)
154  kwargs.setdefault("useZBoundFinding",
155  flags.Tracking.ActiveConfig.doZBoundary)
156  kwargs.setdefault("ITKGeometry", True)
157  kwargs.setdefault("SpacePointsSCTName", "ITkStripSpacePoints"
158  if flags.Tracking.ActiveConfig.useITkStripSeeding else "")
159  kwargs.setdefault("SpacePointsPixelName", "ITkPixelSpacePoints"
160  if flags.Tracking.ActiveConfig.useITkPixelSeeding else "")
161  if flags.Common.ProductionStep in [ProductionStep.PileUpPretracking, ProductionStep.MinbiasPreprocessing]:
162  kwargs.setdefault("EventInfoKey", flags.Overlay.BkgPrefix + "EventInfo")
163 
164  if flags.Tracking.doITkFastTracking:
165  kwargs.setdefault("doFastTracking", True)
166  kwargs.setdefault("writeHolesFromPattern", True)
167 
168  if 'InDetEtaDependentCutsSvc' not in kwargs:
169  from InDetConfig.InDetEtaDependentCutsConfig import (
170  ITkEtaDependentCutsSvcCfg)
171  acc.merge(ITkEtaDependentCutsSvcCfg(flags))
172  kwargs.setdefault("InDetEtaDependentCutsSvc", acc.getService(
173  "ITkEtaDependentCutsSvc"+flags.Tracking.ActiveConfig.extension))
174 
175  # Dump GBTS training data?
176  if flags.Tracking.dumpGBTSTrainingData == 1:
177  kwargs.setdefault("doDumpGBTSTrainingData", True)
178  elif flags.Tracking.dumpGBTSTrainingData == 2:
179  kwargs.setdefault("doDumpGBTSTrainingDataLRT", True)
180 
181  acc.addEventAlgo(CompFactory.InDet.SiSPSeededTrackFinder(
182  name+flags.Tracking.ActiveConfig.extension, **kwargs))
183  return acc
184 
185 
187  flags, name="ITkSiSpTrackFinderROIConv", **kwargs):
188  from InDetConfig.InDetCaloClusterROISelectorConfig import (
189  ITkCaloClusterROIPhiRZContainerMakerCfg)
191 
192  if "RegSelTool_Strip" not in kwargs:
193  from RegionSelector.RegSelToolConfig import regSelTool_ITkStrip_Cfg
194  kwargs.setdefault("RegSelTool_Strip", acc.popToolsAndMerge(
195  regSelTool_ITkStrip_Cfg(flags)))
196 
197  kwargs.setdefault("useITkConvSeeded", True)
198  kwargs.setdefault("EMROIPhiRZContainer",
199  "ITkCaloClusterROIPhiRZ15GeVUnordered")
200 
201  if "SeedsTool" not in kwargs:
202  if flags.Tracking.ActiveConfig.doActsToAthenaSeed:
203  from ActsConfig.ActsSeedingConfig import ActsSiSpacePointsSeedMakerToolCfg
204  kwargs.setdefault("SeedsTool", acc.popToolsAndMerge(ActsSiSpacePointsSeedMakerToolCfg(flags)))
205  else:
206  from InDetConfig.SiSpacePointsSeedToolConfig import ITkSiSpacePointsSeedMakerCfg
207  kwargs.setdefault("SeedsTool", acc.popToolsAndMerge(ITkSiSpacePointsSeedMakerCfg(flags)))
208 
209  acc.merge(ITkSiSPSeededTrackFinderCfg(flags, name, **kwargs))
210  return acc
211 
212 
213 def SiSPSeededTrackFinderRoICfg(flags, name="InDetSiSpTrackFinderRoI", **kwargs):
214  acc = ComponentAccumulator()
215 
216  if "TrackTool" not in kwargs:
217  from InDetConfig.SiTrackMakerConfig import SiTrackMaker_xkCfg
218  kwargs.setdefault("TrackTool", acc.popToolsAndMerge(
219  SiTrackMaker_xkCfg(flags)))
220 
221  if "TrackSummaryTool" not in kwargs:
222  from TrkConfig.TrkTrackSummaryToolConfig import (
223  InDetTrackSummaryToolNoHoleSearchCfg)
224  kwargs.setdefault("TrackSummaryTool", acc.popToolsAndMerge(
226 
227  if "SeedsTool" not in kwargs:
228  from InDetConfig.SiSpacePointsSeedToolConfig import (
229  SiSpacePointsSeedMakerCfg)
230  kwargs.setdefault("SeedsTool", acc.popToolsAndMerge(
232 
233  if flags.Tracking.ActiveConfig.usePrdAssociationTool:
234  kwargs.setdefault("PRDtoTrackMap", (
235  'InDetPRDtoTrackMap' + flags.Tracking.ActiveConfig.extension))
236 
237  if "ZWindowRoISeedTool" not in kwargs:
238  if flags.Tracking.ActiveConfig.RoIStrategy is RoIStrategy.LeadTracks:
239  from InDetConfig.ZWindowRoISeedToolConfig import (
240  LeadTracksRoISeedToolCfg as ZWindowRoISeedToolCfg)
241  elif flags.Tracking.ActiveConfig.RoIStrategy is RoIStrategy.Random:
242  from InDetConfig.ZWindowRoISeedToolConfig import (
243  RandomRoISeedToolCfg as ZWindowRoISeedToolCfg)
244  elif flags.Tracking.ActiveConfig.RoIStrategy is RoIStrategy.File:
245  from InDetConfig.ZWindowRoISeedToolConfig import (
246  FileRoISeedToolCfg as ZWindowRoISeedToolCfg)
247  elif flags.Tracking.ActiveConfig.RoIStrategy is RoIStrategy.TruthHS:
248  from InDetConfig.ZWindowRoISeedToolConfig import (
249  TruthHSRoISeedToolCfg as ZWindowRoISeedToolCfg)
250  kwargs.setdefault("ZWindowRoISeedTool", acc.popToolsAndMerge(
251  ZWindowRoISeedToolCfg(flags)))
252 
253  kwargs.setdefault("doRandomSpot", flags.Tracking.ActiveConfig.doRandomSpot)
254  if (flags.Tracking.ActiveConfig.doRandomSpot and
255  "RandomRoISeedTool" not in kwargs):
256  from InDetConfig.ZWindowRoISeedToolConfig import RandomRoISeedToolCfg
257  kwargs.setdefault("RandomRoISeedTool", acc.popToolsAndMerge(
258  RandomRoISeedToolCfg(flags)))
259 
260  kwargs.setdefault("useRoIWidth", flags.Tracking.ActiveConfig.z0WindowRoI>0)
261  kwargs.setdefault("VxOutputName",
262  "RoIVertices"+flags.Tracking.ActiveConfig.extension)
263 
264  acc.addEventAlgo(CompFactory.InDet.SiSPSeededTrackFinderRoI(
265  name+flags.Tracking.ActiveConfig.extension, **kwargs))
266 
267  return acc
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.TrkTrackSummaryToolConfig.InDetTrigFastTrackSummaryToolCfg
def InDetTrigFastTrackSummaryToolCfg(flags, name="InDetTrigFastTrackSummaryTool", **kwargs)
Definition: TrkTrackSummaryToolConfig.py:71
python.InDetEtaDependentCutsConfig.ITkEtaDependentCutsSvcCfg
def ITkEtaDependentCutsSvcCfg(flags, name='ITkEtaDependentCutsSvc', **kwargs)
Definition: InDetEtaDependentCutsConfig.py:7
python.SiSpacePointsSeedToolConfig.SiSpacePointsSeedMakerCfg
def SiSpacePointsSeedMakerCfg(flags, **kwargs)
Definition: SiSpacePointsSeedToolConfig.py:131
python.SiSpacePointsSeedToolConfig.TrigSiSpacePointsSeedMakerCfg
def TrigSiSpacePointsSeedMakerCfg(flags, **kwargs)
Definition: SiSpacePointsSeedToolConfig.py:164
python.InDetCaloClusterROISelectorConfig.ITkCaloClusterROIPhiRZContainerMakerCfg
def ITkCaloClusterROIPhiRZContainerMakerCfg(flags, name="ITkCaloClusterROIPhiRZContainerMaker", **kwargs)
Definition: InDetCaloClusterROISelectorConfig.py:69
RegSelToolConfig.regSelTool_ITkStrip_Cfg
def regSelTool_ITkStrip_Cfg(flags)
Definition: RegSelToolConfig.py:126
python.SiSPSeededTrackFinderConfig.SiSPSeededTrackFinderCfg
def SiSPSeededTrackFinderCfg(flags, name="InDetSiSpTrackFinder", **kwargs)
Definition: SiSPSeededTrackFinderConfig.py:8
python.ZWindowRoISeedToolConfig.RandomRoISeedToolCfg
def RandomRoISeedToolCfg(flags, **kwargs)
Definition: ZWindowRoISeedToolConfig.py:29
python.SiSPSeededTrackFinderConfig.ITkSiSPSeededTrackFinderROIConvCfg
def ITkSiSPSeededTrackFinderROIConvCfg(flags, name="ITkSiSpTrackFinderROIConv", **kwargs)
Definition: SiSPSeededTrackFinderConfig.py:186
python.TrkExRungeKuttaPropagatorConfig.ITkPropagatorCfg
def ITkPropagatorCfg(flags, name='ITkPropagator', **kwargs)
Definition: TrkExRungeKuttaPropagatorConfig.py:40
python.SiZvertexToolConfig.SiZvertexMaker_xkCfg
def SiZvertexMaker_xkCfg(flags, name="InDetZvertexMaker", **kwargs)
Definition: SiZvertexToolConfig.py:6
ActsSeedingConfig.ActsSiSpacePointsSeedMakerToolCfg
ComponentAccumulator ActsSiSpacePointsSeedMakerToolCfg(flags, str name='ActsSiSpacePointsSeedMakerTool', **kwargs)
Definition: ActsSeedingConfig.py:239
python.SiSPSeededTrackFinderConfig.SiSPSeededTrackFinderRoICfg
def SiSPSeededTrackFinderRoICfg(flags, name="InDetSiSpTrackFinderRoI", **kwargs)
Definition: SiSPSeededTrackFinderConfig.py:213
python.SiTrackMakerConfig.SiTrackMaker_xkCfg
def SiTrackMaker_xkCfg(flags, name="InDetSiTrackMaker", **kwargs)
Definition: SiTrackMakerConfig.py:7
python.SiSPSeededTrackFinderConfig.TrigSiSPSeededTrackFinderCfg
def TrigSiSPSeededTrackFinderCfg(flags, name="InDetTrigSiSpTrackFinder", **kwargs)
Definition: SiSPSeededTrackFinderConfig.py:62
python.SiSpacePointsSeedToolConfig.ITkSiSpacePointsSeedMakerCfg
def ITkSiSpacePointsSeedMakerCfg(flags, name="ITkSpSeedsMaker", **kwargs)
Definition: SiSpacePointsSeedToolConfig.py:203
python.SiTrackMakerConfig.TrigSiTrackMaker_xkCfg
def TrigSiTrackMaker_xkCfg(flags, name="TrigSiTrackMaker", **kwargs)
Definition: SiTrackMakerConfig.py:119
python.TrkExRungeKuttaPropagatorConfig.InDetPropagatorCfg
def InDetPropagatorCfg(flags, name='InDetPropagator', **kwargs)
Definition: TrkExRungeKuttaPropagatorConfig.py:20
python.SiSPSeededTrackFinderConfig.ITkSiSPSeededTrackFinderCfg
def ITkSiSPSeededTrackFinderCfg(flags, name="ITkSiSpTrackFinder", **kwargs)
Definition: SiSPSeededTrackFinderConfig.py:111
python.TrkTrackSummaryToolConfig.InDetTrackSummaryToolNoHoleSearchCfg
def InDetTrackSummaryToolNoHoleSearchCfg(flags, name='InDetTrackSummaryToolNoHoleSearch', **kwargs)
Definition: TrkTrackSummaryToolConfig.py:47
python.SiTrackMakerConfig.ITkSiTrackMaker_xkCfg
def ITkSiTrackMaker_xkCfg(flags, name="ITkSiTrackMaker", **kwargs)
Definition: SiTrackMakerConfig.py:163
python.TrkTrackSummaryToolConfig.ITkTrackSummaryToolNoHoleSearchCfg
def ITkTrackSummaryToolNoHoleSearchCfg(flags, name='ITkTrackSummaryToolNoHoleSearch', **kwargs)
Definition: TrkTrackSummaryToolConfig.py:115