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

Functions

ComponentAccumulator ActsInDetPixelSeedingToolCfg (flags, str name="ActsInDetPixelSeedingTool", **kwargs)
ComponentAccumulator ActsInDetStripSeedingToolCfg (flags, str name="ActsInDetStripSeedingTool", **kwargs)
ComponentAccumulator ActsInDetPixelSeedingAlgCfg (flags, str name='ActsInDetPixelSeedingAlg', **kwargs)
ComponentAccumulator ActsInDetStripSeedingAlgCfg (flags, str name='ActsInDetStripSeedingAlg', **kwargs)
ComponentAccumulator ActsInDetMainSeedingCfg (flags, **kwargs)
ComponentAccumulator ActsInDetSeedingCfg (flags, **kwargs)
ComponentAccumulator ActsInDetStoreTrackSeedsCfg (flags, *, bool processPixels, bool processStrips, **dict kwargs)

Function Documentation

◆ ActsInDetMainSeedingCfg()

ComponentAccumulator ActsSeedingInDetConfig.ActsInDetMainSeedingCfg ( flags,
** kwargs )

Definition at line 245 of file ActsSeedingInDetConfig.py.

246 **kwargs) -> ComponentAccumulator:
247 acc = ComponentAccumulator()
248
249 kwargs.setdefault('processPixels', flags.Detector.EnablePixel)
250 kwargs.setdefault('processStrips', flags.Detector.EnableSCT)
251 kwargs.setdefault('estimateParameters', flags.Acts.Seeds.doAnalysis)
252
253 if kwargs['processPixels']:
254 acc.merge(ActsInDetPixelSeedingAlgCfg(flags, **extractChildKwargs(prefix='PixelSeedingAlg.', **kwargs)))
255 if kwargs['processStrips']:
256 acc.merge(ActsInDetStripSeedingAlgCfg(flags, **extractChildKwargs(prefix='StripSeedingAlg.', **kwargs)))
257
258
259 if kwargs['estimateParameters']:
260 if kwargs['processPixels']:
261 from ActsConfig.ActsAnalysisConfig import ActsPixelSeedsToTrackParamsAlgCfg
262 acc.merge(ActsPixelSeedsToTrackParamsAlgCfg(flags,
263 **extractChildKwargs(prefix='PixelSeedsToTrackParamsAlg.', **kwargs)))
264
265 if kwargs['processStrips']:
266 from ActsConfig.ActsAnalysisConfig import ActsStripSeedsToTrackParamsAlgCfg
267 acc.merge(ActsStripSeedsToTrackParamsAlgCfg(flags,
268 **extractChildKwargs(prefix='StripSeedsToTrackParamsAlg.', **kwargs)))
269
270 return acc
271

◆ ActsInDetPixelSeedingAlgCfg()

ComponentAccumulator ActsSeedingInDetConfig.ActsInDetPixelSeedingAlgCfg ( flags,
str name = 'ActsInDetPixelSeedingAlg',
** kwargs )

Definition at line 184 of file ActsSeedingInDetConfig.py.

186 **kwargs) -> ComponentAccumulator:
187 acc = ComponentAccumulator()
188
189 # Beam Spot Cond is a requirement
190 from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
191 acc.merge(BeamSpotCondAlgCfg(flags))
192
193 from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
194 acc.merge(AtlasFieldCacheCondAlgCfg(flags))
195
196 from PixelGeoModel.PixelGeoModelConfig import PixelReadoutGeometryCfg
197 acc.merge(PixelReadoutGeometryCfg(flags))
198
199 useFastTracking = False
200
201 if "SeedTool" not in kwargs:
202 kwargs.setdefault('SeedTool', acc.popToolsAndMerge(ActsInDetPixelSeedingToolCfg(flags)))
203
204 kwargs.setdefault("useFastTracking", useFastTracking)
205 kwargs.setdefault('InputSpacePoints', ['PixelSpacePoints'])
206 kwargs.setdefault('OutputSeeds', 'ActsPixelSeeds')
207 kwargs.setdefault('UsePixel', True)
208
209 if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
210 pass
211
212 acc.addEventAlgo(CompFactory.ActsTrk.GenericSeedingAlg(name, **kwargs))
213 return acc
214
215

◆ ActsInDetPixelSeedingToolCfg()

ComponentAccumulator ActsSeedingInDetConfig.ActsInDetPixelSeedingToolCfg ( flags,
str name = "ActsInDetPixelSeedingTool",
** kwargs )

Definition at line 10 of file ActsSeedingInDetConfig.py.

12 **kwargs) -> ComponentAccumulator:
13 acc = ComponentAccumulator()
14
15
16 kwargs.setdefault("numSeedIncrement" , float("inf"))
17 kwargs.setdefault("deltaZMax" , float("inf"))
18 kwargs.setdefault("maxPtScattering", float("inf"))
19 kwargs.setdefault("useVariableMiddleSPRange", False)
20 kwargs.setdefault("rMax", 280. * ActsUnits.mm)
21 kwargs.setdefault("minPt", flags.Tracking.ActiveConfig.minPT / GaudiUnits.GeV * ActsUnits.GeV)
22 kwargs.setdefault("impactMax", flags.Tracking.ActiveConfig.maxPrimaryImpact / GaudiUnits.mm * ActsUnits.mm)
23 kwargs.setdefault("rBinEdges", [0, kwargs['rMax']])
24 kwargs.setdefault("rRangeMiddleSP", [
25 [0,0],
26 [0,0],
27 [0,0],
28 [20, 260],
29 [20, 260],
30 [40, 260],
31 [20, 260],
32 [20, 260],
33 [0,0],
34 [0,0],
35 [0, 0]])
36
37 kwargs.setdefault("cotThetaMax" , 7.40626311)
38 kwargs.setdefault("zMax", 2800. * ActsUnits.mm)
39 kwargs.setdefault("zMin", -2800. * ActsUnits.mm)
40
41 kwargs.setdefault("deltaRMin" , 10. * ActsUnits.mm)
42 kwargs.setdefault("deltaRMax" , 270. * ActsUnits.mm)
43 kwargs.setdefault("deltaRMinBottomSP" , 10. * ActsUnits.mm)
44 kwargs.setdefault("deltaRMaxBottomSP" , 270. * ActsUnits.mm)
45 kwargs.setdefault("deltaRMinTopSP" , 10. * ActsUnits.mm)
46 kwargs.setdefault("deltaRMaxTopSP" , 270. * ActsUnits.mm)
47 kwargs.setdefault("gridRMax" , kwargs['rMax'])
48 kwargs.setdefault("phiBinDeflectionCoverage" , 1)
49 kwargs.setdefault("maxPhiBins" , 200)
50 kwargs.setdefault("sigmaScattering", 5.0)
51 kwargs.setdefault("radLengthPerSeed", 0.0980450)
52 kwargs.setdefault("maxSeedsPerSpM" , 5)
53 kwargs.setdefault("deltaRMiddleMinSPRange" , 0 * ActsUnits.mm)
54 kwargs.setdefault("deltaRMiddleMaxSPRange" , 0 * ActsUnits.mm)
55 kwargs.setdefault("zBinEdges", [ -2800. , -2500. , -1400. , -925. , -450. , -250. , 250. , 450. , 925. , 1400. , 2500. , 2800.])
56 kwargs.setdefault("zBinsCustomLooping" , [6, 7, 8, 9, 10, 11, 5, 4, 3, 2, 1])
57 kwargs.setdefault("zBinNeighborsTop", [
58 (0, 0), (-1, 0), (-1, 0), (-1, 0), (-1, 0), (-2, 2),
59 (0, 1), (0, 1), (0, 1), (0, 1), (0, 0)
60 ])
61 kwargs.setdefault("zBinNeighborsBottom", [
62 (0, 0), (0, 1), (0, 1), (0, 1), (0, 1), (0, 0),
63 (-1, 0), (-1, 0), (-1, 0), (-1, 0), (0, 0)
64 ])
65 kwargs.setdefault("useHVCollisionRegion", flags.Tracking.ActiveConfig.useHoughVertexFilter)
66 kwargs.setdefault("hvCollisionRegionTolerance", 10. * ActsUnits.mm)
67 kwargs.setdefault("inputHoughVtx", "HoughVertices" if flags.Tracking.ActiveConfig.useHoughVertexFilter else "")
68 kwargs.setdefault("doSeedQualitySelection", True)
69
70 # Seed confirmation
71 kwargs.setdefault("seedConfCentralZMin", -450.0 * ActsUnits.mm)
72 kwargs.setdefault("seedConfCentralZMax", 450.0 * ActsUnits.mm)
73 kwargs.setdefault("seedConfCentralRMax", 140.0 * ActsUnits.mm)
74 kwargs.setdefault("seedConfCentralNTopLargeR", 0)
75 kwargs.setdefault("seedConfCentralNTopSmallR", 0)
76 kwargs.setdefault("seedConfCentralMinBottomRadius", 40.0 * ActsUnits.mm)
77 kwargs.setdefault("seedConfCentralMaxZOrigin", 200.0 * ActsUnits.mm)
78 kwargs.setdefault("seedConfCentralMinImpact", 1.0 * ActsUnits.mm)
79
80 kwargs.setdefault("seedConfForwardZMin", -2800.0 * ActsUnits.mm)
81 kwargs.setdefault("seedConfForwardZMax", 2800.0 * ActsUnits.mm)
82 kwargs.setdefault("seedConfForwardRMax", 140.0 * ActsUnits.mm)
83 kwargs.setdefault("seedConfForwardNTopLargeR", 0)
84 kwargs.setdefault("seedConfForwardNTopSmallR", 0)
85 kwargs.setdefault("seedConfForwardMinBottomRadius", 40.0 * ActsUnits.mm)
86 kwargs.setdefault("seedConfForwardMaxZOrigin", 200.0 * ActsUnits.mm)
87 kwargs.setdefault("seedConfForwardMinImpact", 1.0 * ActsUnits.mm)
88
89 kwargs.setdefault("seedConfirmation" , True)
90 kwargs.setdefault("seedConfirmationInFilter", False)
91
92 acc.setPrivateTools(CompFactory.ActsTrk.GridTripletSeedingTool(name, **kwargs))
93 return acc
94

◆ ActsInDetSeedingCfg()

ComponentAccumulator ActsSeedingInDetConfig.ActsInDetSeedingCfg ( flags,
** kwargs )

Definition at line 272 of file ActsSeedingInDetConfig.py.

272def ActsInDetSeedingCfg(flags,**kwargs) -> ComponentAccumulator:
273 acc = ComponentAccumulator()
274 processPixels = flags.Detector.EnablePixel
275 processStrips = flags.Detector.EnableSCT
276
277 kwargs.setdefault('processPixels', processPixels)
278 kwargs.setdefault('processStrips', processStrips)
279 kwargs.setdefault('estimateParameters', flags.Tracking.ActiveConfig.storeTrackSeeds or flags.Acts.Seeds.doAnalysis)
280
281 from InDetConfig.ITkActsHelpers import isFastPrimaryPass
282 if processPixels:
283 # Seeding algo
284 kwargs.setdefault('PixelSeedingAlg.name', f'{flags.Tracking.ActiveConfig.extension}PixelSeedingAlg')
285 kwargs.setdefault('PixelSeedingAlg.useFastTracking', isFastPrimaryPass(flags))
286 kwargs.setdefault('PixelSeedingAlg.OutputSeeds', f'{flags.Tracking.ActiveConfig.extension}PixelSeeds')
287
288 pixelSpacePoints = ['PixelSpacePoints']
289 kwargs.setdefault('PixelSeedingAlg.InputSpacePoints', pixelSpacePoints)
290
291 # Setup the seed to track parameters algorithms either if we persistify them or we want to run the ActsMonitoring
292 if flags.Tracking.ActiveConfig.storeTrackSeeds or flags.Acts.Seeds.doAnalysis:
293 kwargs.setdefault('PixelSeedsToTrackParamsAlg.name', f'{flags.Tracking.ActiveConfig.extension}PixelSeedsToTrackParamsAlg')
294 kwargs.setdefault('PixelSeedsToTrackParamsAlg.extension', flags.Tracking.ActiveConfig.extension)
295 kwargs.setdefault('PixelSeedsToTrackParamsAlg.InputSeedContainerKey', kwargs['PixelSeedingAlg.OutputSeeds'])
296 kwargs.setdefault('PixelSeedsToTrackParamsAlg.OutputTrackParamsCollectionKey', f'{flags.Tracking.ActiveConfig.extension}PixelEstimatedTrackParams')
297 kwargs.setdefault('PixelSeedsToTrackParamsAlg.DetectorElementsKey' , 'PixelDetectorElementCollection')
298
299 if processStrips:
300 # Seeding algo
301 kwargs.setdefault('StripSeedingAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripSeedingAlg')
302 kwargs.setdefault('StripSeedingAlg.OutputSeeds', f'{flags.Tracking.ActiveConfig.extension}SCT_Seeds')
303 kwargs.setdefault('StripSeedingAlg.InputSpacePoints', ['SCT_SpacePoints', 'OverlapSpacePoints'])
304
305 if flags.Tracking.ActiveConfig.storeTrackSeeds or flags.Acts.Seeds.doAnalysis:
306 kwargs.setdefault('StripSeedsToTrackParamsAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripSeedsToTrackParamsAlg')
307 kwargs.setdefault('StripSeedsToTrackParamsAlg.extension', flags.Tracking.ActiveConfig.extension)
308 kwargs.setdefault('StripSeedsToTrackParamsAlg.InputSeedContainerKey', kwargs['StripSeedingAlg.OutputSeeds'])
309 kwargs.setdefault('StripSeedsToTrackParamsAlg.OutputTrackParamsCollectionKey', f'{flags.Tracking.ActiveConfig.extension}SCT_EstimatedTrackParams')
310 kwargs.setdefault('StripSeedsToTrackParamsAlg.DetectorElementsKey' , 'SCT_DetectorElementCollection')
311
312 acc.merge(ActsInDetMainSeedingCfg(flags, **kwargs))
313
314 if flags.Tracking.ActiveConfig.storeTrackSeeds:
315 acc.merge(ActsInDetStoreTrackSeedsCfg(flags,
316 processPixels = processPixels,
317 processStrips = processStrips))
318
319 return acc
320

◆ ActsInDetStoreTrackSeedsCfg()

ComponentAccumulator ActsSeedingInDetConfig.ActsInDetStoreTrackSeedsCfg ( flags,
* ,
bool processPixels,
bool processStrips,
**dict kwargs )

Definition at line 321 of file ActsSeedingInDetConfig.py.

325 **kwargs: dict) -> ComponentAccumulator:
326
327
328 acc = ComponentAccumulator()
329
330 seedKeyPixels = f'{flags.Tracking.ActiveConfig.extension}PixelSeeds'
331 seedKeyStrips = f'{flags.Tracking.ActiveConfig.extension}SCT_Seeds'
332 paramsKeyPixels = f'{flags.Tracking.ActiveConfig.extension}PixelEstimatedTrackParams'
333 paramsKeyStrips = f'{flags.Tracking.ActiveConfig.extension}SCT_EstimatedTrackParams'
334 trackKeyPixels = f'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}PixelTracks'
335 trackKeyStrips = f'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}StripTracks'
336 particleKeyPixels = f'SiSPSeedSegments{flags.Tracking.ActiveConfig.extension}PixelTrackParticles'
337 particleKeyStrips = f'SiSPSeedSegments{flags.Tracking.ActiveConfig.extension}StripTrackParticles'
338
339 trackKey = f'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}Tracks'
340 particleKey = f'SiSPSeedSegments{flags.Tracking.ActiveConfig.extension}TrackParticles'
341
342 from ActsConfig.ActsSeedingConfig import ActsSeedToTrackCnvAlgCfg
343
344 if processPixels:
345 # Create track parameters from pixel seeds
346 from ActsConfig.ActsAnalysisConfig import ActsPixelSeedsToTrackParamsAlgCfg
347 acc.merge(ActsPixelSeedsToTrackParamsAlgCfg(flags,
348 name = f'{flags.Tracking.ActiveConfig.extension}PixelSeedsToTrackParamsAlg',
349 extension = flags.Tracking.ActiveConfig.extension,
350 InputSeedContainerKey = seedKeyPixels,
351 OutputTrackParamsCollectionKey = paramsKeyPixels,
352 DetectorElementsKey = 'PixelDetectorElementCollection'))
353
354 # Convert pixel seed to Acts track
355 acc.merge(ActsSeedToTrackCnvAlgCfg(flags,
356 name=f"{flags.Tracking.ActiveConfig.extension}PixelSeedToTrackCnvAlg",
357 EstimatedTrackParametersKey = [paramsKeyPixels],
358 SeedContainerKey = [seedKeyPixels],
359 ACTSTracksLocation = trackKeyPixels))
360
361 # Truth
362 if flags.Tracking.doTruth:
363 from ActsConfig.ActsTruthConfig import ActsTrackFindingValidationAlgCfg, ActsInDetTrackToTruthAssociationAlgCfg
364 acc.merge(ActsInDetTrackToTruthAssociationAlgCfg(flags,
365 name = f"{trackKeyPixels}TrackToTruthAssociationAlg",
366 ACTSTracksLocation = trackKeyPixels,
367 AssociationMapOut = f"{trackKeyPixels}ToTruthParticleAssociation"))
368
369 acc.merge(ActsTrackFindingValidationAlgCfg(flags,
370 name = f"{trackKeyPixels}TrackFindingValidationAlg",
371 TrackToTruthAssociationMap = f"{trackKeyPixels}ToTruthParticleAssociation"))
372
373 # Track Particle creation and persistification
374 # - input track collection: trackKeyPixels
375 # - output track particle collection: particleKeyPixels
376 # although the name has 'ITk', it seems okay for Inner Detector
377 from InDetConfig.ITkActsParticleCreationConfig import ITkActsTrackParticleCreationCfg
378 acc.merge(ITkActsTrackParticleCreationCfg(flags,
379 TrackContainers = [trackKeyPixels],
380 TrackParticleContainer = particleKeyPixels))
381
382
383 if processStrips:
384 # Create track parameters from strip seeds
385 from ActsConfig.ActsAnalysisConfig import ActsStripSeedsToTrackParamsAlgCfg
386 acc.merge(ActsStripSeedsToTrackParamsAlgCfg(flags,
387 name = f'{flags.Tracking.ActiveConfig.extension}StripSeedsToTrackParamsAlg',
388 extension = flags.Tracking.ActiveConfig.extension,
389 InputSeedContainerKey = seedKeyStrips,
390 OutputTrackParamsCollectionKey = paramsKeyStrips,
391 DetectorElementsKey = 'SCT_DetectorElementCollection'))
392
393 # Convert strip seed to Acts track
394 acc.merge(ActsSeedToTrackCnvAlgCfg(flags,
395 name=f"{flags.Tracking.ActiveConfig.extension}StripSeedToTrackCnvAlg",
396 EstimatedTrackParametersKey = [paramsKeyStrips],
397 SeedContainerKey = [seedKeyStrips],
398 ACTSTracksLocation = trackKeyStrips))
399
400 # Truth
401 if flags.Tracking.doTruth:
402 from ActsConfig.ActsTruthConfig import ActsTrackFindingValidationAlgCfg, ActsInDetTrackToTruthAssociationAlgCfg
403 acc.merge(ActsInDetTrackToTruthAssociationAlgCfg(flags,
404 name=f"{trackKeyStrips}TrackToTruthAssociationAlg",
405 ACTSTracksLocation = trackKeyStrips,
406 AssociationMapOut = f"{trackKeyStrips}ToTruthParticleAssociation"))
407
408 acc.merge(ActsTrackFindingValidationAlgCfg(flags,
409 name = f"{trackKeyStrips}TrackFindingValidationAlg",
410 TrackToTruthAssociationMap = f"{trackKeyStrips}ToTruthParticleAssociation"))
411
412 # Track Particle creation and persistification
413 # - input track collection: trackKeyStrips
414 # - output track particle collection: particleKeyStrips
415 from InDetConfig.ITkActsParticleCreationConfig import ITkActsTrackParticleCreationCfg
416 acc.merge(ITkActsTrackParticleCreationCfg(flags,
417 TrackContainers = [trackKeyStrips],
418 TrackParticleContainer = particleKeyStrips))
419
420 # If both pixel and strips are processed, also make track particles from the sum
421 # This will provide the complete seed efficiency for ACTS
422 if processPixels and processStrips:
423 # Parameter estimation has already been performed
424 # Convert seeds to Acts tracks
425 acc.merge(ActsSeedToTrackCnvAlgCfg(flags,
426 name=f"{flags.Tracking.ActiveConfig.extension}SeedToTrackCnvAlg",
427 EstimatedTrackParametersKey = [paramsKeyPixels, paramsKeyStrips],
428 SeedContainerKey = [seedKeyPixels, seedKeyStrips],
429 ACTSTracksLocation = trackKey))
430
431 # Truth
432 if flags.Tracking.doTruth:
433 from ActsConfig.ActsTruthConfig import ActsTrackFindingValidationAlgCfg, ActsInDetTrackToTruthAssociationAlgCfg
434 acc.merge(ActsInDetTrackToTruthAssociationAlgCfg(flags,
435 name=f"{trackKey}TrackToTruthAssociationAlg",
436 ACTSTracksLocation = trackKey,
437 AssociationMapOut = f"{trackKey}ToTruthParticleAssociation"))
438
439 acc.merge(ActsTrackFindingValidationAlgCfg(flags,
440 name = f"{trackKey}TrackFindingValidationAlg",
441 TrackToTruthAssociationMap = f"{trackKey}ToTruthParticleAssociation"))
442
443 # Track Particle creation and persistification
444 # - input track collection: trackKey
445 # - output track particle collection: particleKey
446 from InDetConfig.ITkActsParticleCreationConfig import ITkActsTrackParticleCreationCfg
447 acc.merge(ITkActsTrackParticleCreationCfg(flags,
448 TrackContainers = [trackKey],
449 TrackParticleContainer = particleKey))
450
451 return acc

◆ ActsInDetStripSeedingAlgCfg()

ComponentAccumulator ActsSeedingInDetConfig.ActsInDetStripSeedingAlgCfg ( flags,
str name = 'ActsInDetStripSeedingAlg',
** kwargs )

Definition at line 216 of file ActsSeedingInDetConfig.py.

218 **kwargs) -> ComponentAccumulator:
219 acc = ComponentAccumulator()
220
221 # Beam Spot Cond is a requirement
222 from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
223 acc.merge(BeamSpotCondAlgCfg(flags))
224
225 from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
226 acc.merge(AtlasFieldCacheCondAlgCfg(flags))
227
228 from SCT_GeoModel.SCT_GeoModelConfig import SCT_ReadoutGeometryCfg
229 acc.merge(SCT_ReadoutGeometryCfg(flags))
230
231 if "SeedTool" not in kwargs:
232 kwargs.setdefault('SeedTool', acc.popToolsAndMerge(ActsInDetStripSeedingToolCfg(flags)))
233
234 kwargs.setdefault('InputSpacePoints', ['SCT_SpacePoints', 'OverlapSpacePoints'])
235 kwargs.setdefault('OutputSeeds', 'ActsSCT_Seeds')
236 kwargs.setdefault('UsePixel', False)
237
238 if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
239 pass
240
241 acc.addEventAlgo(CompFactory.ActsTrk.GenericSeedingAlg(name, **kwargs))
242 return acc
243
244

◆ ActsInDetStripSeedingToolCfg()

ComponentAccumulator ActsSeedingInDetConfig.ActsInDetStripSeedingToolCfg ( flags,
str name = "ActsInDetStripSeedingTool",
** kwargs )

Definition at line 95 of file ActsSeedingInDetConfig.py.

97 **kwargs) -> ComponentAccumulator:
98 acc = ComponentAccumulator()
99
100
101 impactMax = 20. * ActsUnits.mm
102 collisionRegionAbsMax = 200. * ActsUnits.mm
103
104 kwargs.setdefault("doSeedQualitySelection", False)
105 # For SpacePointGridConfig
106 kwargs.setdefault("gridRMax" , 600. * ActsUnits.mm)
107 kwargs.setdefault("deltaRMin" , 10. * ActsUnits.mm)
108 kwargs.setdefault("deltaRMax" , 600. * ActsUnits.mm)
109 kwargs.setdefault("impactMax" , impactMax)
110 # For SeedfinderConfig
111 kwargs.setdefault("rMax" , flags.Tracking.ActiveConfig.radMax)
112 kwargs.setdefault("deltaRMinTopSP" , 10. * ActsUnits.mm)
113 kwargs.setdefault("deltaRMaxTopSP" , 300. * ActsUnits.mm)
114 kwargs.setdefault("deltaRMinBottomSP" , 10. * ActsUnits.mm)
115 kwargs.setdefault("deltaRMaxBottomSP" , 300. * ActsUnits.mm)
116 kwargs.setdefault("deltaZMax" , 900. * ActsUnits.mm)
117 kwargs.setdefault("interactionPointCut" , False)
118
119 kwargs.setdefault("deltaRMiddleMinSPRange" , 5 * ActsUnits.mm)
120 kwargs.setdefault("deltaRMiddleMaxSPRange" , 5 * ActsUnits.mm)
121 kwargs.setdefault("useDetailedDoubleMeasurementInfo" , True)
122 kwargs.setdefault("maxPtScattering", float("inf"))
123 # For SeedFilterConfig
124 kwargs.setdefault("useDeltaRorTopRadius" , False)
125 kwargs.setdefault("seedConfirmationInFilter" , False)
126 kwargs.setdefault("impactWeightFactor" , 1.)
127 kwargs.setdefault("compatSeedLimit" , 4)
128 kwargs.setdefault("numSeedIncrement" , 1.)
129 kwargs.setdefault("seedWeightIncrement" , 10100.)
130 kwargs.setdefault("maxSeedsPerSpMConf" , 100)
131 kwargs.setdefault("maxQualitySeedsPerSpMConf" , 100)
132 # For seeding algorithm
133 kwargs.setdefault("zBinNeighborsTop", [
134 (0, 0), (-1, 0), (-1, 0), (-1, 0), (-1, 0), (-1, 1),
135 (0, 1), (0, 1), (0, 1), (0, 1), (0, 0)
136 ])
137 kwargs.setdefault("zBinNeighborsBottom", [
138 (0, 0), (0, 1), (0, 1), (0, 2), (0, 1), (0, 0),
139 (-1, 0), (-2, 0), (-1, 0), (-1, 0), (0, 0)
140 ])
141 kwargs.setdefault("zBinsCustomLooping" , [6, 7, 8, 9, 10, 11, 5, 4, 3, 2, 1])
142 kwargs.setdefault("zBinEdges", [ -2800. , -2500. , -1400. , -925. , -450. , -250. , 250. , 450. , 925. , 1400. , 2500. , 2800.])
143
144 kwargs.setdefault("rBinEdges", [0, kwargs['rMax']])
145 kwargs.setdefault("collisionRegionMin", -1. * collisionRegionAbsMax)
146 kwargs.setdefault("collisionRegionMax", collisionRegionAbsMax)
147 kwargs.setdefault("useHVCollisionRegion", flags.Tracking.ActiveConfig.useHoughVertexFilter)
148 kwargs.setdefault("hvCollisionRegionTolerance", 10. * ActsUnits.mm)
149 kwargs.setdefault("inputHoughVtx", "HoughVertices" if flags.Tracking.ActiveConfig.useHoughVertexFilter else "")
150
151 kwargs.setdefault("minPt", flags.Tracking.ActiveConfig.minPT / GaudiUnits.GeV * ActsUnits.GeV)
152 kwargs.setdefault("cotThetaMax" , 7.40626311) # eta = 2.7
153 kwargs.setdefault("zMax", 2800 * ActsUnits.mm)
154 kwargs.setdefault("zMin", -2800 * ActsUnits.mm)
155
156 kwargs.setdefault("phiBinDeflectionCoverage" , 1)
157 kwargs.setdefault("maxPhiBins" , 200)
158 kwargs.setdefault("sigmaScattering", 5.0)
159 kwargs.setdefault("maxSeedsPerSpM" , 5)
160
161 # Seed confirmation
162 kwargs.setdefault("seedConfirmation" , True)
163 kwargs.setdefault("seedConfCentralZMin", -450.0 * ActsUnits.mm)
164 kwargs.setdefault("seedConfCentralZMax", 450.0 * ActsUnits.mm)
165 kwargs.setdefault("seedConfCentralRMax", 140.0 * ActsUnits.mm)
166 kwargs.setdefault("seedConfCentralNTopLargeR", 1)
167 kwargs.setdefault("seedConfCentralNTopSmallR", 2)
168 kwargs.setdefault("seedConfCentralMinBottomRadius", 40.0 * ActsUnits.mm)
169 kwargs.setdefault("seedConfCentralMaxZOrigin", 200.0 * ActsUnits.mm)
170 kwargs.setdefault("seedConfCentralMinImpact", 1.0 * ActsUnits.mm)
171 kwargs.setdefault("seedConfForwardZMin", -2800.0 * ActsUnits.mm)
172 kwargs.setdefault("seedConfForwardZMax", 2800.0 * ActsUnits.mm)
173 kwargs.setdefault("seedConfForwardRMax", 140.0 * ActsUnits.mm)
174 kwargs.setdefault("seedConfForwardNTopLargeR", 1)
175 kwargs.setdefault("seedConfForwardNTopSmallR", 2)
176 kwargs.setdefault("seedConfForwardMinBottomRadius", 40.0 * ActsUnits.mm)
177 kwargs.setdefault("seedConfForwardMaxZOrigin", 200.0 * ActsUnits.mm)
178 kwargs.setdefault("seedConfForwardMinImpact", 1.0 * ActsUnits.mm)
179
180 acc.setPrivateTools(CompFactory.ActsTrk.GridTripletSeedingTool(name, **kwargs))
181 return acc
182
183# ACTS algorithm using Athena objects upstream