ATLAS Offline Software
Loading...
Searching...
No Matches
ActsSeedingConfig Namespace Reference

Functions

ComponentAccumulator ActsGbtsFtfSeedingTrigToolCfg (flags, str name="GbtsFtfActsSeedingTool", **kwargs)
ComponentAccumulator ActsPixelGridTripletSeedingToolCfg (flags, str name="ActsPixelGridTripletSeedingTool", **kwargs)
ComponentAccumulator ActsFastPixelSeedingToolCfg (flags, str name="ActsFastPixelSeedingTool", **kwargs)
ComponentAccumulator ActsStripGridTripletSeedingToolCfg (flags, str name="ActsStripSeedingTool", **kwargs)
ComponentAccumulator ActsLargeRadiusStripSeedingToolCfg (flags, str name="ActsLargeRadiusStripSeedingTool", **kwargs)
ComponentAccumulator ActsGbtsLayerToolCfg (flags, str name="ActsGbtsLayerTool", **kwargs)
ComponentAccumulator ActsPixelGbtsSeedingToolCfg (flags, str name="ActsPixelGbtsSeedingTool", **kwargs)
ComponentAccumulator ActsStripGbtsSeedingToolCfg (flags, str name="ActsStripGbtsSeedingTool", **kwargs)
ComponentAccumulator ActsLargeRadiusStripGbtsSeedingToolCfg (flags, str name="ActsLargeRadiusStripGbtsSeedingTool", **kwargs)
ComponentAccumulator ActsGnnSeedingToolCfg (flags, str name="ActsGnnSeedingTool", **kwargs)
ComponentAccumulator ActsPixelSeedingAlgCfg (flags, str name='PixelSeedingAlg', **kwargs)
ComponentAccumulator ActsStripSeedingAlgCfg (flags, str name='StripSeedingAlg', **kwargs)
ComponentAccumulator ActsSeedToTrackCnvAlgCfg (flags, str name="ActsSeedToTrackCnvAlg", **dict kwargs)
ComponentAccumulator ActsSeedingCfg (flags)
ComponentAccumulator ActsStoreTrackSeedsCfg (flags, bool processPixels, bool processStrips)

Function Documentation

◆ ActsFastPixelSeedingToolCfg()

ComponentAccumulator ActsFastPixelSeedingToolCfg ( flags,
str name = "ActsFastPixelSeedingTool",
** kwargs )

Definition at line 79 of file ActsSeedingConfig.py.

81 **kwargs) -> ComponentAccumulator:
82
83 kwargs.setdefault("sigmaScattering", 2.)
84 kwargs.setdefault("maxSeedsPerSpM", 3)
85 kwargs.setdefault("collisionRegionMin", -flags.Tracking.ActiveConfig.maxZImpactSeed *
86 ActsUnits.mm / GaudiUnits.mm)
87 kwargs.setdefault("collisionRegionMax", flags.Tracking.ActiveConfig.maxZImpactSeed *
88 ActsUnits.mm / GaudiUnits.mm)
89 kwargs.setdefault("maxPhiBins", 200)
90 kwargs.setdefault("gridRMax", 250 * ActsUnits.mm)
91 kwargs.setdefault("deltaRMax", 200 * ActsUnits.mm)
92 kwargs.setdefault("zBinsCustomLooping" , [2, 10, 3, 9, 6, 4, 8, 5, 7])
93 kwargs.setdefault("rRangeMiddleSP", [
94 [0.0, 0.0],
95 [60.0, 165.0],
96 [60.0, 200.0],
97 [60.0, 200.0],
98 [60.0, 260.0],
99 [60.0, 260.0],
100 [60.0, 260.0],
101 [60.0, 200.0],
102 [60.0, 200.0],
103 [60.0, 165.0],
104 [0.0, 0.0]])
105
106 kwargs.setdefault("zBinNeighborsTop", [
107 [0, 0], # -3000, -2000
108 [-1, 0], # -2000, -1400
109 [-1, 0], # -1400, -910
110 [-1, 0], # -910, -500
111 [-1, 0], # -500, -250
112 [-1, 1], # -250, 250
113 [0, 1], # 250, 500
114 [0, 1], # 500, 910
115 [0, 1], # 910, 1400
116 [0, 1], # 1400, 2000
117 [0, 0] # 2000, 3000
118 ])
119 kwargs.setdefault("zBinNeighborsBottom", [
120 [0, 0], # -3000, -2000
121 [0, 1], # -2000, -1400
122 [0, 1], # -1400, -910
123 [0, 1], # -910, -500
124 [0, 1], # -500, -250
125 [0, 0], # -250, 250
126 [-1, 0], # 250, 500
127 [-1, 0], # 500, 910
128 [-1, 0], # 910, 1400
129 [-1, 0], # 1400, 2000
130 [0, 0] # 2000, 3000
131 ])
132
133 kwargs.setdefault("zBinEdges", [-3000., -2000, -1400., -910., -500., -250., 250., 500., 910., 1400., 2000, 3000.])
134 kwargs.setdefault("useExperimentCuts", True)
135
136 kwargs.setdefault("deltaRMaxTopSP", 220 * ActsUnits.mm)
137 kwargs.setdefault("deltaRMaxBottomSP", 135 * ActsUnits.mm)
138
139 return ActsPixelGridTripletSeedingToolCfg(flags, name, **kwargs)
140

◆ ActsGbtsFtfSeedingTrigToolCfg()

ComponentAccumulator ActsGbtsFtfSeedingTrigToolCfg ( flags,
str name = "GbtsFtfActsSeedingTool",
** kwargs )

Definition at line 11 of file ActsSeedingConfig.py.

11def ActsGbtsFtfSeedingTrigToolCfg(flags,name: str = "GbtsFtfActsSeedingTool", **kwargs) -> ComponentAccumulator:
12 acc = ComponentAccumulator()
13
14 if "layerNumberTool" not in kwargs:
15 from TrigFastTrackFinder.TrigFastTrackFinderConfig import (
16 ITkTrigL2LayerNumberToolCfg)
17 kwargs.setdefault("layerNumberTool", acc.popToolsAndMerge(
18 ITkTrigL2LayerNumberToolCfg(
19 flags, UseNewLayerScheme=True,
20 dumpGbtsGeometry=flags.Acts.Gbts.dumpGbtsGeometry,
21 geometryDump=flags.Acts.Gbts.geometryDump)))
22
23 kwargs.setdefault("DoPhiFiltering", False) #no phi-filtering for full-scan tracking
24 kwargs.setdefault("UseBeamTilt", False)
25 kwargs.setdefault("pTmin", flags.Tracking.ActiveConfig.minPTSeed)
26 kwargs.setdefault("MaxGraphEdges", 3000000)
27 kwargs.setdefault("AddTriplets", False)
28
29 isLargeD0 = flags.Tracking.ActiveConfig.isLargeD0
30 kwargs.setdefault("ConnectionFileName",
31 "binTables_ITK_RUN4_LRT.txt" if isLargeD0 else
32 "binTables_ITK_RUN4.txt")
33
34 acc.setPrivateTools(CompFactory.GbtsFtfActsSeedingTool(name, **kwargs))
35 return acc
36
37
38# ACTS tools

◆ ActsGbtsLayerToolCfg()

ComponentAccumulator ActsGbtsLayerToolCfg ( flags,
str name = "ActsGbtsLayerTool",
** kwargs )
The GBTS layer geometry, built from the ITk readout geometry.

One instance is shared by every GBTS seeding tool: the layer indices it
hands out have to agree with the connection table they all read.

Definition at line 297 of file ActsSeedingConfig.py.

299 **kwargs) -> ComponentAccumulator:
300 """The GBTS layer geometry, built from the ITk readout geometry.
301
302 One instance is shared by every GBTS seeding tool: the layer indices it
303 hands out have to agree with the connection table they all read.
304 """
305 acc = ComponentAccumulator()
306 kwargs.setdefault("dumpGbtsGeometry", flags.Acts.Gbts.dumpGbtsGeometry)
307 kwargs.setdefault("geometryDump", flags.Acts.Gbts.geometryDump)
308 acc.setPrivateTools(CompFactory.ActsTrk.GbtsLayerTool(name, **kwargs))
309 return acc
310
311

◆ ActsGnnSeedingToolCfg()

ComponentAccumulator ActsGnnSeedingToolCfg ( flags,
str name = "ActsGnnSeedingTool",
** kwargs )

Definition at line 418 of file ActsSeedingConfig.py.

420 **kwargs) -> ComponentAccumulator:
421 acc = ComponentAccumulator()
422
423 if 'GnnPipelineTool' not in kwargs:
424 from ActsConfig.ActsTrackFindingConfig import ActsGnnPipelineToolCfg
425 kwargs.setdefault('GnnPipelineTool', acc.popToolsAndMerge(
426 ActsGnnPipelineToolCfg(flags, name="GnnSeedingPipeline")))
427
428 acc.setPrivateTools(CompFactory.ActsTrk.GnnSeedingTool(name, **kwargs))
429 return acc
430
431# ACTS algorithm using Athena objects upstream

◆ ActsLargeRadiusStripGbtsSeedingToolCfg()

ComponentAccumulator ActsLargeRadiusStripGbtsSeedingToolCfg ( flags,
str name = "ActsLargeRadiusStripGbtsSeedingTool",
** kwargs )

Definition at line 399 of file ActsSeedingConfig.py.

401 **kwargs) -> ComponentAccumulator:
402
403 kwargs.setdefault("LRTmode", True)
404 kwargs.setdefault("connectorInputFile", find_datafile(flags.Acts.Gbts.connectionTableLrt))
405 kwargs.setdefault("filterMaxZ0", 500. * ActsUnits.mm)
406 kwargs.setdefault("cutDPhiMax", 0.07)
407 kwargs.setdefault("cutDCurvMax", 0.015)
408 kwargs.setdefault("tauRatioCut", 0.015)
409 kwargs.setdefault("minZ0", -flags.Tracking.ActiveConfig.maxZImpactSeed *
410 ActsUnits.mm / GaudiUnits.mm)
411 kwargs.setdefault("maxZ0", flags.Tracking.ActiveConfig.maxZImpactSeed *
412 ActsUnits.mm / GaudiUnits.mm)
413 kwargs.setdefault("maxOuterRadius", 1050.0)
414
415 return ActsStripGbtsSeedingToolCfg(flags, name, **kwargs)
416
417

◆ ActsLargeRadiusStripSeedingToolCfg()

ComponentAccumulator ActsLargeRadiusStripSeedingToolCfg ( flags,
str name = "ActsLargeRadiusStripSeedingTool",
** kwargs )

Definition at line 198 of file ActsSeedingConfig.py.

200 **kwargs) -> ComponentAccumulator:
201
202 kwargs.setdefault("interactionPointCut", True)
203 kwargs.setdefault("impactMax", flags.Tracking.ActiveConfig.maxPrimaryImpactSeed *
204 ActsUnits.mm / GaudiUnits.mm)
205
207 kwargs.setdefault("doubletDPhiCut", True)
208 kwargs.setdefault("doubletDPhiCap", 0.10)
209
213 kwargs.setdefault("deltaRMax", 400. * ActsUnits.mm)
214 kwargs.setdefault("collisionRegionMin", -flags.Tracking.ActiveConfig.maxZImpactSeed *
215 ActsUnits.mm / GaudiUnits.mm)
216 kwargs.setdefault("collisionRegionMax", flags.Tracking.ActiveConfig.maxZImpactSeed *
217 ActsUnits.mm / GaudiUnits.mm)
218 kwargs.setdefault("deltaRMiddleMaxSPRange", 75 * ActsUnits.mm)
219 kwargs.setdefault("deltaRMinTopSP", 50. * ActsUnits.mm)
220 kwargs.setdefault("deltaRMaxTopSP", 250. * ActsUnits.mm)
221 kwargs.setdefault("deltaRMinBottomSP", 50. * ActsUnits.mm)
222 kwargs.setdefault("deltaRMaxBottomSP", 250. * ActsUnits.mm)
223 kwargs.setdefault("deltaZMax", 850. * ActsUnits.mm)
224 kwargs.setdefault("cotThetaMax", 5.0)
225 kwargs.setdefault("maxSeedsPerSpM", 1)
226 kwargs.setdefault("maxStripDeltaCotTheta", 0.3)
227 kwargs.setdefault("absDeltaEtaWeightFactor", 10.)
228 kwargs.setdefault("absDeltaEtaMinImpact", 2.)
229 kwargs.setdefault("zBinEdges", [-3000., -2500, -1400., -910., -500., -250.,
230 250., 500., 910., 1400., 2500, 3000.])
231 kwargs.setdefault("zBinsCustomLooping" , [2, 10, 3, 9, 6, 4, 8, 5, 7])
232 kwargs.setdefault("useVariableMiddleSPRange", False)
233 kwargs.setdefault("zBinNeighborsTop", [
234 [0, 0], # -3000, -2500
235 [-1, 0], # -2500, -1400
236 [-1, 0], # -1400, -910
237 [-1, 0], # -910, -500
238 [-1, 0], # -500, -250
239 [-1, 1], # -250, 250
240 [0, 1], # 250, 500
241 [0, 1], # 500, 910
242 [0, 1], # 910, 1400
243 [0, 1], # 1400, 2500
244 [0, 0] # 2500, 3000
245 ])
246 kwargs.setdefault("zBinNeighborsBottom", [
247 [0, 0], # -3000, -2500
248 [0, 1], # -2500, -1400
249 [0, 1], # -1400, -910
250 [0, 1], # -910, -500
251 [0, 1], # -500, -250
252 [0, 0], # -250, 250
253 [-1, 0], # 250, 500
254 [-1, 0], # 500, 910
255 [-1, 0], # 910, 1400
256 [-1, 0], # 1400, 2500
257 [0, 0] # 2500, 3000
258 ])
259 kwargs.setdefault("rRangeMiddleSP", [
260 [0.0, 0.0], # -3000, -2500
261 [400.0, 850.0], # -2500, -1400
262 [500.0, 800.0], # -1400, -910
263 [500.0, 800.0], # -910, -500
264 [500.0, 800.0], # -500, -250
265 [500.0, 800.0], # -250, 250
266 [500.0, 800.0], # 250, 500
267 [500.0, 800.0], # 500, 910
268 [500.0, 800.0], # 910, 1400
269 [400.0, 850.0], # 1400, 2500
270 [0.0, 0.0] # 2500, 3000
271 ])
272
273 kwargs.setdefault("seedConfirmation", True)
274 kwargs.setdefault("seedConfirmationInFilter", True)
275 kwargs.setdefault("zOriginWeightFactor", 1.)
276 kwargs.setdefault("maxSeedsPerSpMConf", 1)
277 kwargs.setdefault("maxQualitySeedsPerSpMConf", 1)
278 kwargs.setdefault("seedConfCentralZMin", -1400. * ActsUnits.mm)
279 kwargs.setdefault("seedConfCentralZMax", 1400. * ActsUnits.mm)
280 kwargs.setdefault("seedConfCentralRMax", 140. * ActsUnits.mm)
281 kwargs.setdefault("seedConfCentralNTopLargeR", 1)
282 kwargs.setdefault("seedConfCentralNTopSmallR", 0)
283 kwargs.setdefault("seedConfCentralMinBottomRadius", 0. * ActsUnits.mm)
284 kwargs.setdefault("seedConfCentralMaxZOrigin", 1500. * ActsUnits.mm)
285 kwargs.setdefault("seedConfCentralMinImpact", 200. * ActsUnits.mm)
286 kwargs.setdefault("seedConfForwardZMin", -3000. * ActsUnits.mm)
287 kwargs.setdefault("seedConfForwardZMax", 3000. * ActsUnits.mm)
288 kwargs.setdefault("seedConfForwardRMax", 140. * ActsUnits.mm)
289 kwargs.setdefault("seedConfForwardNTopLargeR", 1)
290 kwargs.setdefault("seedConfForwardNTopSmallR", 0)
291 kwargs.setdefault("seedConfForwardMinBottomRadius", 350. * ActsUnits.mm)
292 kwargs.setdefault("seedConfForwardMaxZOrigin", 1500. * ActsUnits.mm)
293 kwargs.setdefault("seedConfForwardMinImpact", 200. * ActsUnits.mm)
294
295 return ActsStripGridTripletSeedingToolCfg(flags, name, **kwargs)
296

◆ ActsPixelGbtsSeedingToolCfg()

ComponentAccumulator ActsPixelGbtsSeedingToolCfg ( flags,
str name = "ActsPixelGbtsSeedingTool",
** kwargs )

Definition at line 312 of file ActsSeedingConfig.py.

314 **kwargs) -> ComponentAccumulator:
315 acc = ComponentAccumulator()
316 if "layerTool" not in kwargs:
317 kwargs.setdefault(
318 "layerTool",
319 acc.popToolsAndMerge(ActsGbtsLayerToolCfg(flags))
320 )
321
322
323 kwargs.setdefault("usePixelLayers", True)
324 kwargs.setdefault("useStripLayers", False)
325 kwargs.setdefault("connectorInputFile" , find_datafile(flags.Acts.Gbts.connectionTable))
326 kwargs.setdefault("lutInputFile" , find_datafile("gbts_ml_pixel_barrel_loose.lut"))
327 kwargs.setdefault("minPt" , flags.Tracking.ActiveConfig.minPTSeed *
328 ActsUnits.GeV / GaudiUnits.GeV)
329 kwargs.setdefault("d0Max", flags.Tracking.ActiveConfig.maxPrimaryImpactSeed *
330 ActsUnits.mm / GaudiUnits.mm)
331 kwargs.setdefault("addTriplets", False)
332
333
334 kwargs.setdefault("tauRatioCut", 0.007)
335
336
337 kwargs.setdefault("minZ0", -flags.Tracking.ActiveConfig.maxZImpactSeed *
338 ActsUnits.mm / GaudiUnits.mm)
339 kwargs.setdefault("maxZ0", flags.Tracking.ActiveConfig.maxZImpactSeed *
340 ActsUnits.mm / GaudiUnits.mm)
341 kwargs.setdefault("filterMaxZ0", flags.Tracking.ActiveConfig.maxZImpactSeed *
342 ActsUnits.mm / GaudiUnits.mm)
343
344 acc.setPrivateTools(CompFactory.ActsTrk.GbtsSeedingTool(name, **kwargs))
345 return acc
346

◆ ActsPixelGridTripletSeedingToolCfg()

ComponentAccumulator ActsPixelGridTripletSeedingToolCfg ( flags,
str name = "ActsPixelGridTripletSeedingTool",
** kwargs )

Definition at line 39 of file ActsSeedingConfig.py.

41 **kwargs) -> ComponentAccumulator:
42 acc = ComponentAccumulator()
43
44
45 kwargs.setdefault("numSeedIncrement" , float("inf"))
46 kwargs.setdefault("deltaZMax" , float("inf"))
47 kwargs.setdefault("maxPtScattering", float("inf"))
48 kwargs.setdefault("useVariableMiddleSPRange", False)
49 kwargs.setdefault("rMax", 320. * ActsUnits.mm)
50 kwargs.setdefault("minPt", flags.Tracking.ActiveConfig.minPTSeed *
51 ActsUnits.GeV / GaudiUnits.GeV)
52 kwargs.setdefault("impactMax", flags.Tracking.ActiveConfig.maxPrimaryImpactSeed *
53 ActsUnits.mm / GaudiUnits.mm)
54 kwargs.setdefault("rBinEdges", [0, kwargs['rMax']])
55 kwargs.setdefault("rRangeMiddleSP", [
56 [0,0],
57 [140, 260],
58 [40, 260],
59 [40, 260],
60 [40, 260],
61 [40, 260],
62 [70, 260],
63 [40, 260],
64 [40, 260],
65 [40, 260],
66 [40, 260],
67 [140, 260],
68 [0, 0]])
69
70 kwargs.setdefault("useHVCollisionRegion",
71 flags.Tracking.ActiveConfig.useHoughVertexFilter)
72 kwargs.setdefault("hvCollisionRegionTolerance", 10. * ActsUnits.mm)
73 kwargs.setdefault( "inputHoughVtx",
74 "HoughVertices" if flags.Tracking.ActiveConfig.useHoughVertexFilter else "")
75
76 acc.setPrivateTools(CompFactory.ActsTrk.GridTripletSeedingTool(name, **kwargs))
77 return acc
78

◆ ActsPixelSeedingAlgCfg()

ComponentAccumulator ActsPixelSeedingAlgCfg ( flags,
str name = 'PixelSeedingAlg',
** kwargs )

Definition at line 432 of file ActsSeedingConfig.py.

434 **kwargs) -> ComponentAccumulator:
435 acc = ComponentAccumulator()
436
437 # Beam Spot Cond is a requirement
438 from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
439 acc.merge(BeamSpotCondAlgCfg(flags))
440
441 from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
442 acc.merge(AtlasFieldCacheCondAlgCfg(flags))
443
444 from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
445 acc.merge(ITkPixelReadoutGeometryCfg(flags))
446
447 from InDetConfig.ITkActsHelpers import isFastPrimaryPass
448 useFastTracking = kwargs.get("useFastTracking", isFastPrimaryPass(flags))
449
450 if "SeedTool" not in kwargs:
451 if flags.Tracking.ActiveConfig.PixelSeedingStrategy is SeedingStrategy.Gbts:
452 kwargs.setdefault('SeedTool', acc.popToolsAndMerge(
453 ActsPixelGbtsSeedingToolCfg(flags)))
454 elif flags.Tracking.ActiveConfig.PixelSeedingStrategy is SeedingStrategy.GbtsFtf:
455 kwargs.setdefault('SeedTool', acc.popToolsAndMerge(
456 ActsGbtsFtfSeedingTrigToolCfg(flags)))
457 elif flags.Tracking.ActiveConfig.PixelSeedingStrategy is SeedingStrategy.Gnn:
458 kwargs.setdefault('SeedTool', acc.popToolsAndMerge(
459 ActsGnnSeedingToolCfg(flags)))
460 elif flags.Tracking.ActiveConfig.PixelSeedingStrategy is SeedingStrategy.GridTriplet:
461 if useFastTracking:
462 kwargs.setdefault('SeedTool', acc.popToolsAndMerge(
463 ActsFastPixelSeedingToolCfg(flags)))
464 else:
465 kwargs.setdefault('SeedTool', acc.popToolsAndMerge(
466 ActsPixelGridTripletSeedingToolCfg(flags)))
467
468 kwargs.setdefault("useFastTracking", useFastTracking)
469
470 suffix = '_Cached' if flags.Acts.useCache else ''
471 pixelSpacePoints = ['ITkPixelSpacePoints' + suffix]
472 if flags.Tracking.ActiveConfig.isSecondaryPass:
473 pixelSpacePoints = [
474 'ITk' + flags.Tracking.ActiveConfig.extension.replace("Acts", "") +
475 'PixelSpacePoints' + suffix]
476 kwargs.setdefault('InputSpacePoints', pixelSpacePoints)
477
478 kwargs.setdefault('OutputSeeds',
479 f'{flags.Tracking.ActiveConfig.extension}PixelSeeds')
480 kwargs.setdefault('UsePixel', True)
481
482 if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
483 from ActsConfig.ActsMonitoringConfig import ActsITkPixelSeedingMonitoringToolCfg
484 kwargs.setdefault('MonTool', acc.popToolsAndMerge(
485 ActsITkPixelSeedingMonitoringToolCfg(flags)))
486
487 acc.addEventAlgo(CompFactory.ActsTrk.GenericSeedingAlg(
488 flags.Tracking.ActiveConfig.extension + name, **kwargs))
489 return acc
490
491

◆ ActsSeedingCfg()

ComponentAccumulator ActsSeedingCfg ( flags)

Definition at line 561 of file ActsSeedingConfig.py.

561def ActsSeedingCfg(flags) -> ComponentAccumulator:
562 acc = ComponentAccumulator()
563
564 processPixels = flags.Tracking.ActiveConfig.useITkPixelSeeding
565 processStrips = flags.Tracking.ActiveConfig.useITkStripSeeding
566
567 if processPixels:
568 acc.merge(ActsPixelSeedingAlgCfg(flags))
569 if processStrips:
570 acc.merge(ActsStripSeedingAlgCfg(flags))
571
572 prefix = flags.Tracking.ActiveConfig.extension
573 if (flags.Tracking.ActiveConfig.storeTrackSeeds or flags.Acts.Seeds.doAnalysis):
574 if processPixels:
575 from ActsConfig.ActsAnalysisConfig import ActsPixelSeedsToTrackParamsAlgCfg
576 acc.merge(ActsPixelSeedsToTrackParamsAlgCfg(
577 flags, name = prefix + 'PixelSeedsToTrackParamsAlg',
578 InputSeedContainerKey = prefix + 'PixelSeeds',
579 OutputTrackParamsCollectionKey = prefix + 'PixelEstimatedTrackParams'))
580
581 if processStrips:
582 from ActsConfig.ActsAnalysisConfig import ActsStripSeedsToTrackParamsAlgCfg
583 acc.merge(ActsStripSeedsToTrackParamsAlgCfg(
584 flags, name = prefix + 'StripSeedsToTrackParamsAlg',
585 InputSeedContainerKey = prefix + 'StripSeeds',
586 OutputTrackParamsCollectionKey = prefix + 'StripEstimatedTrackParams'))
587
588 if flags.Acts.Seeds.doAnalysis:
589 if processPixels:
590 from ActsConfig.ActsAnalysisConfig import (
591 ActsPixelSeedAnalysisAlgCfg, ActsPixelEstimatedTrackParamsAnalysisAlgCfg)
592 acc.merge(ActsPixelSeedAnalysisAlgCfg(
593 flags, name = prefix + 'PixelSeedAnalysisAlg',
594 extension = prefix, InputSeedCollection = prefix + 'PixelSeeds'))
595
596 acc.merge(ActsPixelEstimatedTrackParamsAnalysisAlgCfg(
597 flags, name = prefix + 'PixelEstimatedTrackParamsAnalysisAlg',
598 extension = prefix,
599 InputTrackParamsCollection = prefix + 'PixelEstimatedTrackParams'))
600
601 if processStrips:
602 from ActsConfig.ActsAnalysisConfig import (
603 ActsStripSeedAnalysisAlgCfg, ActsStripEstimatedTrackParamsAnalysisAlgCfg)
604 acc.merge(ActsStripSeedAnalysisAlgCfg(
605 flags, name = prefix + 'StripSeedAnalysisAlg',
606 extension = prefix, InputSeedCollection = prefix + 'StripSeeds'))
607
608 acc.merge(ActsStripEstimatedTrackParamsAnalysisAlgCfg(
609 flags, name = prefix + 'StripEstimatedTrackParamsAnalysisAlg',
610 extension = prefix,
611 InputTrackParamsCollection = prefix + 'StripEstimatedTrackParams'))
612
613 if flags.Tracking.ActiveConfig.storeTrackSeeds:
614 if processPixels:
615 acc.merge(ActsStoreTrackSeedsCfg(
616 flags, processPixels=True, processStrips=False))
617 if processStrips:
618 acc.merge(ActsStoreTrackSeedsCfg(
619 flags, processPixels=False, processStrips=True))
620 if processPixels and processStrips:
621 acc.merge(ActsStoreTrackSeedsCfg(
622 flags, processPixels=True, processStrips=True))
623
624 # schedules the GBTS training algorithm
625 if flags.Acts.Gbts.Training.enable:
626 from ActsConfig.ActsTruthConfig import ActsGbtsTrainingAlgCfg
627 acc.merge(ActsGbtsTrainingAlgCfg(flags))
628
629 return acc
630
631

◆ ActsSeedToTrackCnvAlgCfg()

ComponentAccumulator ActsSeedToTrackCnvAlgCfg ( flags,
str name = "ActsSeedToTrackCnvAlg",
**dict kwargs )

Definition at line 548 of file ActsSeedingConfig.py.

550 **kwargs: dict) -> ComponentAccumulator:
551 acc = ComponentAccumulator()
552
553 kwargs.setdefault(
554 'ACTSTracksLocation',
555 f'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}Tracks')
556
557 acc.addEventAlgo(CompFactory.ActsTrk.SeedToTrackCnvAlg(name, **kwargs))
558 return acc
559
560

◆ ActsStoreTrackSeedsCfg()

ComponentAccumulator ActsStoreTrackSeedsCfg ( flags,
bool processPixels,
bool processStrips )

Definition at line 632 of file ActsSeedingConfig.py.

634 processStrips: bool) -> ComponentAccumulator:
635
636 acc = ComponentAccumulator()
637
638 prefix = flags.Tracking.ActiveConfig.extension
639 if processPixels and not processStrips:
640 prefix = prefix + 'Pixel'
641 if processStrips and not processPixels:
642 prefix = prefix + 'Strip'
643 processBoth = processPixels and processStrips
644 tracks = 'SiSPTracksSeedSegments' + prefix + 'Tracks'
645
646 # Convert seed to Acts track
647 acc.merge(ActsSeedToTrackCnvAlgCfg(
648 flags, name = prefix + 'PixelSeedToTrackCnvAlg',
649 EstimatedTrackParametersKey = (
650 [prefix + 'PixelEstimatedTrackParams', prefix + 'StripEstimatedTrackParams']
651 if processBoth else [prefix + 'EstimatedTrackParams']),
652 SeedContainerKey = (
653 [prefix + 'PixelSeeds', prefix + 'StripSeeds']
654 if processBoth else [prefix + 'Seeds']),
655 ACTSTracksLocation = tracks))
656
657 # Truth
658 if flags.Tracking.doTruth:
659 from ActsConfig.ActsTruthConfig import (
660 ActsTrackToTruthAssociationAlgCfg, ActsTrackFindingValidationAlgCfg)
661 acc.merge(ActsTrackToTruthAssociationAlgCfg(
662 flags, name = prefix + 'SeedTrackToTruthAssociationAlg',
663 ACTSTracksLocation = tracks,
664 AssociationMapOut = tracks + 'ToTruthParticleAssociation'))
665
666 acc.merge(ActsTrackFindingValidationAlgCfg(
667 flags, name = prefix + 'SeedTrackFindingValidationAlg',
668 TrackToTruthAssociationMap = tracks + 'ToTruthParticleAssociation'))
669
670 # Track Particle creation and persistification
671 from InDetConfig.ITkActsParticleCreationConfig import (
672 ITkActsTrackParticleCreationCfg)
673 acc.merge(ITkActsTrackParticleCreationCfg(
674 flags,
675 TrackContainers = [tracks],
676 TrackParticleContainer = 'SiSPSeedSegments' + prefix + 'TrackParticles'))
677
678 return acc

◆ ActsStripGbtsSeedingToolCfg()

ComponentAccumulator ActsStripGbtsSeedingToolCfg ( flags,
str name = "ActsStripGbtsSeedingTool",
** kwargs )
GBTS strip seeding for the primary pass. ActsLargeRadiusStripGbtsSeedingToolCfg is the LRT one.

Definition at line 347 of file ActsSeedingConfig.py.

349 **kwargs) -> ComponentAccumulator:
350 """GBTS strip seeding for the primary pass. ActsLargeRadiusStripGbtsSeedingToolCfg is the LRT one."""
351 acc = ComponentAccumulator()
352 if "layerTool" not in kwargs:
353 kwargs.setdefault(
354 "layerTool",
355 acc.popToolsAndMerge(ActsGbtsLayerToolCfg(flags))
356 )
357
358 kwargs.setdefault("usePixelLayers", False)
359 kwargs.setdefault("useStripLayers", True)
360 kwargs.setdefault("usePixelConnections", False)
361 kwargs.setdefault("useStripConnections", True)
362
363 kwargs.setdefault("LRTmode", False)
364
365 kwargs.setdefault("useML", False)
366 kwargs.setdefault("connectorInputFile", find_datafile(flags.Acts.Gbts.connectionTable))
367
368 kwargs.setdefault("minPt", flags.Tracking.ActiveConfig.minPTSeed *
369 ActsUnits.GeV / GaudiUnits.GeV)
370 kwargs.setdefault("d0Max", flags.Tracking.ActiveConfig.maxPrimaryImpactSeed *
371 ActsUnits.mm / GaudiUnits.mm)
372
373 kwargs.setdefault("addTriplets", True)
374 kwargs.setdefault("maxEtaAddTriplets", 3.0)
375
376
377 kwargs.setdefault("maxOuterRadius", 1100.0)
378
379 kwargs.setdefault("cutDPhiMax", 0.012)
380 kwargs.setdefault("cutDCurvMax", 0.001)
381
382
383 kwargs.setdefault("tauRatioCut", 0.014)
384 kwargs.setdefault("precutTauRatioMax", 0.018)
385
386
387 kwargs.setdefault("minZ0", -flags.Tracking.ActiveConfig.maxZImpactSeed *
388 ActsUnits.mm / GaudiUnits.mm)
389 kwargs.setdefault("maxZ0", flags.Tracking.ActiveConfig.maxZImpactSeed *
390 ActsUnits.mm / GaudiUnits.mm)
391 kwargs.setdefault("filterMaxZ0", flags.Tracking.ActiveConfig.maxZImpactSeed *
392 ActsUnits.mm / GaudiUnits.mm)
393
394
395
396 acc.setPrivateTools(CompFactory.ActsTrk.GbtsSeedingTool(name, **kwargs))
397 return acc
398

◆ ActsStripGridTripletSeedingToolCfg()

ComponentAccumulator ActsStripGridTripletSeedingToolCfg ( flags,
str name = "ActsStripSeedingTool",
** kwargs )

Definition at line 141 of file ActsSeedingConfig.py.

143 **kwargs) -> ComponentAccumulator:
144 acc = ComponentAccumulator()
145
146
147 kwargs.setdefault("doSeedQualitySelection", False)
148 # For SpacePointGridConfig
149 kwargs.setdefault("gridRMax", 1000. * ActsUnits.mm)
150 kwargs.setdefault("deltaRMax", 600. * ActsUnits.mm)
151 # Strip seeds use the SSS impact cut, as the legacy ITk seed maker does
152 # (maxdImpactSSS). maxPrimaryImpactSeed is the pixel seed cut.
153 kwargs.setdefault("impactMax", flags.Tracking.ActiveConfig.maxdImpactSSSSeeds[0] *
154 ActsUnits.mm / GaudiUnits.mm)
155 kwargs.setdefault("minPt", flags.Tracking.ActiveConfig.minPTSeed *
156 ActsUnits.GeV / GaudiUnits.GeV)
157 # For SeedfinderConfig
158 kwargs.setdefault("rMax", flags.Tracking.ActiveConfig.radMax)
159 kwargs.setdefault("deltaRMinTopSP", 20. * ActsUnits.mm)
160 kwargs.setdefault("deltaRMaxTopSP", 300. * ActsUnits.mm)
161 kwargs.setdefault("deltaRMinBottomSP", 20. * ActsUnits.mm)
162 kwargs.setdefault("deltaRMaxBottomSP", 300. * ActsUnits.mm)
163 kwargs.setdefault("deltaZMax", 900. * ActsUnits.mm)
164 kwargs.setdefault("interactionPointCut", False)
165 kwargs.setdefault("zBinsCustomLooping", [7, 8, 6, 9, 5, 10, 4, 11, 3, 12, 2])
166 kwargs.setdefault("deltaRMiddleMinSPRange", 30 * ActsUnits.mm)
167 kwargs.setdefault("deltaRMiddleMaxSPRange", 150 * ActsUnits.mm)
168 kwargs.setdefault("useDetailedDoubleMeasurementInfo", True)
169 kwargs.setdefault("maxPtScattering", float("inf"))
170 # For SeedFilterConfig
171 kwargs.setdefault("useDeltaRorTopRadius", False)
172 kwargs.setdefault("seedConfirmationInFilter", False)
173 kwargs.setdefault("impactWeightFactor", 1.)
174 kwargs.setdefault("compatSeedLimit", 4)
175 kwargs.setdefault("numSeedIncrement", 1.)
176 kwargs.setdefault("seedWeightIncrement", 10100.)
177 kwargs.setdefault("maxSeedsPerSpMConf", 100)
178 kwargs.setdefault("maxQualitySeedsPerSpMConf", 100)
179 # For seeding algorithm
180 kwargs.setdefault("zBinNeighborsBottom", [
181 (0,0),(0,1),(0,1),(0,1),(0,2),(0,1),(0,0),
182 (-1,0),(-2,0),(-1,0),(-1,0),(-1,0),(0,0)] )
183 # Any other
184 kwargs.setdefault("rBinEdges", [0, kwargs['rMax']])
185 kwargs.setdefault("collisionRegionMin", -flags.Tracking.ActiveConfig.maxZImpactSeed *
186 ActsUnits.mm / GaudiUnits.mm)
187 kwargs.setdefault("collisionRegionMax", flags.Tracking.ActiveConfig.maxZImpactSeed *
188 ActsUnits.mm / GaudiUnits.mm)
189 kwargs.setdefault("useHVCollisionRegion",
190 flags.Tracking.ActiveConfig.useHoughVertexFilter)
191 kwargs.setdefault("hvCollisionRegionTolerance", 10. * ActsUnits.mm)
192 kwargs.setdefault("inputHoughVtx",
193 "HoughVertices" if flags.Tracking.ActiveConfig.useHoughVertexFilter else "")
194
195 acc.setPrivateTools(CompFactory.ActsTrk.GridTripletSeedingTool(name, **kwargs))
196 return acc
197

◆ ActsStripSeedingAlgCfg()

ComponentAccumulator ActsStripSeedingAlgCfg ( flags,
str name = 'StripSeedingAlg',
** kwargs )

Definition at line 492 of file ActsSeedingConfig.py.

494 **kwargs) -> ComponentAccumulator:
495 acc = ComponentAccumulator()
496
497 # Beam Spot Cond is a requirement
498 from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
499 acc.merge(BeamSpotCondAlgCfg(flags))
500
501 from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
502 acc.merge(AtlasFieldCacheCondAlgCfg(flags))
503
504 from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
505 acc.merge(ITkStripReadoutGeometryCfg(flags))
506
507 if "SeedTool" not in kwargs:
508 if flags.Tracking.ActiveConfig.StripSeedingStrategy is SeedingStrategy.Gbts:
509 kwargs.setdefault('SeedTool', acc.popToolsAndMerge(
510 ActsLargeRadiusStripGbtsSeedingToolCfg(flags) if flags.Tracking.ActiveConfig.isLargeD0
511 else ActsStripGbtsSeedingToolCfg(flags)))
512 elif flags.Tracking.ActiveConfig.StripSeedingStrategy is SeedingStrategy.GbtsFtf:
513 kwargs.setdefault('SeedTool', acc.popToolsAndMerge(ActsLargeRadiusStripGbtsSeedingToolCfg(flags)))
514 elif flags.Tracking.ActiveConfig.StripSeedingStrategy is SeedingStrategy.GridTriplet:
515 if flags.Tracking.ActiveConfig.isLargeD0:
516 kwargs.setdefault('SeedTool', acc.popToolsAndMerge(
517 ActsLargeRadiusStripSeedingToolCfg(flags)))
518 else:
519 kwargs.setdefault('SeedTool', acc.popToolsAndMerge(
520 ActsStripGridTripletSeedingToolCfg(flags)))
521
522 suffix = "_Cached" if flags.Acts.useCache else ""
523 stripSpacePoints = ['ITkStripSpacePoints' + suffix,
524 'ITkStripOverlapSpacePoints' + suffix]
525 if flags.Tracking.ActiveConfig.isSecondaryPass:
526 prefix = 'ITk' + flags.Tracking.ActiveConfig.extension.replace("Acts", "")
527 stripSpacePoints = [prefix + 'StripSpacePoints' + suffix,
528 prefix + 'StripOverlapSpacePoints' + suffix]
529 # Conversion pass does not use overlap space points
530 if flags.Tracking.ActiveConfig.extension == 'ActsConversion':
531 stripSpacePoints = [prefix + 'StripSpacePoints' + suffix]
532 kwargs.setdefault('InputSpacePoints', stripSpacePoints)
533
534 kwargs.setdefault('OutputSeeds',
535 f'{flags.Tracking.ActiveConfig.extension}StripSeeds')
536 kwargs.setdefault('UsePixel', False)
537
538 if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
539 from ActsConfig.ActsMonitoringConfig import ActsITkStripSeedingMonitoringToolCfg
540 kwargs.setdefault('MonTool', acc.popToolsAndMerge(
541 ActsITkStripSeedingMonitoringToolCfg(flags)))
542
543 acc.addEventAlgo(CompFactory.ActsTrk.GenericSeedingAlg(
544 flags.Tracking.ActiveConfig.extension + name, **kwargs))
545 return acc
546
547