3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
5 from ActsConfig.ActsConfigFlags
import SeedingStrategy
6 from ActsConfig.ActsUtilities
import extractChildKwargs
7 from ActsInterop
import UnitConstants
8 from AthenaCommon.Utils.unixtools
import find_datafile
13 if "layerNumberTool" not in kwargs:
14 from TrigFastTrackFinder.TrigFastTrackFinderConfig
import ITkTrigL2LayerNumberToolCfg
15 ntargs = {
"UseNewLayerScheme" :
True}
18 kwargs.setdefault(
"DoPhiFiltering",
False)
19 kwargs.setdefault(
"UseBeamTilt",
False)
21 isLRT=flags.Tracking.ActiveConfig.extension ==
"LargeD0"
23 kwargs.setdefault(
"pTmin", flags.Tracking.ActiveConfig.minPT[0])
24 kwargs.setdefault(
"MaxGraphEdges", 1500000)
25 kwargs.setdefault(
"ConnectionFileName",
"binTables_ITK_RUN4_LRT.txt" if isLRT
else "binTables_ITK_RUN4.txt")
27 acc.setPrivateTools(CompFactory.Gbts2ActsSeedingTool(name, **kwargs))
34 name: str =
"ActsPixelSeedingTool",
35 **kwargs) -> ComponentAccumulator:
39 kwargs.setdefault(
"numSeedIncrement" ,
float(
"inf"))
40 kwargs.setdefault(
"deltaZMax" ,
float(
"inf"))
41 kwargs.setdefault(
"maxPtScattering",
float(
"inf"))
42 kwargs.setdefault(
"useVariableMiddleSPRange",
False)
43 kwargs.setdefault(
"rMax", 320. * UnitConstants.mm)
44 kwargs.setdefault(
"rBinEdges", [0, kwargs[
'rMax']])
45 kwargs.setdefault(
"rRangeMiddleSP", [
59 acc.setPrivateTools(CompFactory.ActsTrk.SeedingTool(name, **kwargs))
63 name: str =
"ActsFastPixelSeedingTool",
64 **kwargs) -> ComponentAccumulator:
66 kwargs.setdefault(
"minPt", 1000 * UnitConstants.MeV)
67 kwargs.setdefault(
"collisionRegionMin", -150 * UnitConstants.mm)
68 kwargs.setdefault(
"collisionRegionMax", 150 * UnitConstants.mm)
69 kwargs.setdefault(
"maxPhiBins", 200)
70 kwargs.setdefault(
"gridRMax", 250 * UnitConstants.mm)
71 kwargs.setdefault(
"deltaRMax", 200 * UnitConstants.mm)
72 kwargs.setdefault(
"zBinsCustomLooping" , [3, 11, 4, 10, 7, 5, 9, 6, 8])
73 kwargs.setdefault(
"rRangeMiddleSP", [
87 kwargs.setdefault(
"useVariableMiddleSPRange",
False)
88 kwargs.setdefault(
"useExperimentCuts",
True)
89 kwargs.setdefault(
"rMax", 320 * UnitConstants.mm)
90 kwargs.setdefault(
"rBinEdges", [0, kwargs[
'rMax']])
95 name: str =
"ActsStripSeedingTool",
96 **kwargs) -> ComponentAccumulator:
100 kwargs.setdefault(
"doSeedQualitySelection",
False)
102 kwargs.setdefault(
"gridRMax" , 1000. * UnitConstants.mm)
103 kwargs.setdefault(
"deltaRMax" , 600. * UnitConstants.mm)
104 kwargs.setdefault(
"impactMax" , 20. * UnitConstants.mm)
106 kwargs.setdefault(
"rMax" , 1200. * UnitConstants.mm)
107 kwargs.setdefault(
"deltaRMinTopSP" , 20. * UnitConstants.mm)
108 kwargs.setdefault(
"deltaRMaxTopSP" , 300. * UnitConstants.mm)
109 kwargs.setdefault(
"deltaRMinBottomSP" , 20. * UnitConstants.mm)
110 kwargs.setdefault(
"deltaRMaxBottomSP" , 300. * UnitConstants.mm)
111 kwargs.setdefault(
"deltaZMax" , 900. * UnitConstants.mm)
112 kwargs.setdefault(
"interactionPointCut" ,
False)
113 kwargs.setdefault(
"zBinsCustomLooping" , [7, 8, 6, 9, 5, 10, 4, 11, 3, 12, 2])
114 kwargs.setdefault(
"deltaRMiddleMinSPRange" , 30 * UnitConstants.mm)
115 kwargs.setdefault(
"deltaRMiddleMaxSPRange" , 150 * UnitConstants.mm)
116 kwargs.setdefault(
"useDetailedDoubleMeasurementInfo" ,
True)
117 kwargs.setdefault(
"maxPtScattering",
float(
"inf"))
119 kwargs.setdefault(
"useDeltaRorTopRadius" ,
False)
120 kwargs.setdefault(
"seedConfirmationInFilter" ,
False)
121 kwargs.setdefault(
"impactWeightFactor" , 1.)
122 kwargs.setdefault(
"compatSeedLimit" , 4)
123 kwargs.setdefault(
"numSeedIncrement" , 1.)
124 kwargs.setdefault(
"seedWeightIncrement" , 10100.)
125 kwargs.setdefault(
"maxSeedsPerSpMConf" , 100)
126 kwargs.setdefault(
"maxQualitySeedsPerSpMConf" , 100)
128 kwargs.setdefault(
"zBinNeighborsBottom" , [(0,0),(0,1),(0,1),(0,1),(0,2),(0,1),(0,0),(-1,0),(-2,0),(-1,0),(-1,0),(-1,0),(0,0)])
130 kwargs.setdefault(
"rBinEdges", [0, kwargs[
'rMax']])
132 acc.setPrivateTools(CompFactory.ActsTrk.SeedingTool(name, **kwargs))
136 name: str =
"ActsPixelOrthogonalSeedingTool",
137 **kwargs) -> ComponentAccumulator:
140 acc.setPrivateTools(CompFactory.ActsTrk.OrthogonalSeedingTool(name, **kwargs))
144 name: str =
"ActsFastPixelOrthogonalSeedingTool",
145 **kwargs) -> ComponentAccumulator:
150 kwargs.setdefault(
"minPt", 1000 * UnitConstants.MeV)
151 kwargs.setdefault(
"collisionRegionMin", -150 * UnitConstants.mm)
152 kwargs.setdefault(
"collisionRegionMax", 150 * UnitConstants.mm)
153 kwargs.setdefault(
"useExperimentCuts",
True)
155 acc.setPrivateTools(CompFactory.ActsTrk.OrthogonalSeedingTool(name, **kwargs))
159 name: str =
"ActsStripOrthogonalSeedingTool",
160 **kwargs) -> ComponentAccumulator:
164 kwargs.setdefault(
"impactMax" , 20. * UnitConstants.mm)
165 kwargs.setdefault(
'rMax', 1200. * UnitConstants.mm)
166 kwargs.setdefault(
"deltaRMinTopSP" , 20. * UnitConstants.mm)
167 kwargs.setdefault(
"deltaRMaxTopSP" , 300. * UnitConstants.mm)
168 kwargs.setdefault(
"deltaRMinBottomSP" , 20. * UnitConstants.mm)
169 kwargs.setdefault(
"deltaRMaxBottomSP" , 300. * UnitConstants.mm)
170 kwargs.setdefault(
"deltaZMax" , 900. * UnitConstants.mm)
171 kwargs.setdefault(
"interactionPointCut" ,
False)
172 kwargs.setdefault(
"impactWeightFactor" , 1.)
173 kwargs.setdefault(
"compatSeedLimit" , 4)
174 kwargs.setdefault(
"seedWeightIncrement" , 10100.)
175 kwargs.setdefault(
"numSeedIncrement" , 1.)
176 kwargs.setdefault(
"seedConfirmationInFilter" ,
False)
177 kwargs.setdefault(
"maxSeedsPerSpMConf" , 100)
178 kwargs.setdefault(
"maxQualitySeedsPerSpMConf" , 100)
179 kwargs.setdefault(
"useDeltaRorTopRadius" ,
False)
180 kwargs.setdefault(
"rMinMiddle", 33. * UnitConstants.mm)
181 kwargs.setdefault(
"rMaxMiddle", 1200. * UnitConstants.mm)
183 acc.setPrivateTools(CompFactory.ActsTrk.OrthogonalSeedingTool(name, **kwargs))
187 name: str =
"ActsPixelGbtsSeedingTool",
188 **kwargs) -> ComponentAccumulator:
191 kwargs.setdefault(
"ConnectorInputFile" ,
find_datafile(
"ActsPatternRecognition/GBTS_EdgeProbabilites_ITKPixels.txt"))
193 kwargs.setdefault(
'PixelDetectorElements',
'ITkPixelDetectorElementCollection')
195 acc.setPrivateTools(CompFactory.ActsTrk.GbtsSeedingTool(name = name, **kwargs))
199 name: str =
'ActsSiSpacePointsSeedMakerTool',
200 **kwargs) -> ComponentAccumulator:
201 assert isinstance(name, str)
205 if flags.Tracking.ActiveConfig.extension ==
"ActsValidateConversionSeeds":
206 kwargs.setdefault(
'useOverlapSpCollection',
False)
209 kwargs.setdefault(
'usePixel',
210 flags.Tracking.ActiveConfig.useITkPixel
and
211 flags.Tracking.ActiveConfig.useITkPixelSeeding)
212 kwargs.setdefault(
'useStrip',
213 flags.Tracking.ActiveConfig.useITkStrip
and
214 flags.Tracking.ActiveConfig.useITkStripSeeding)
215 kwargs.setdefault(
'useOverlapSpCollection',
216 flags.Tracking.ActiveConfig.useITkStrip
and
217 flags.Tracking.ActiveConfig.useITkStripSeeding)
218 kwargs.setdefault(
'ActsSpacePointsPixelName' ,
"ITkPixelSpacePoints")
219 kwargs.setdefault(
'ActsSpacePointsStripName' ,
"ITkStripSpacePoints")
220 kwargs.setdefault(
'ActsSpacePointsOverlapName' ,
"ITkStripOverlapSpacePoints")
230 useClusters = flags.Tracking.ActiveConfig.doAthenaToActsCluster
and not flags.Tracking.ActiveConfig.doAthenaToActsSpacePoint
231 kwargs.setdefault(
'useClustersForSeedConversion', useClusters)
233 if flags.Tracking.ActiveConfig.usePrdAssociationTool:
235 kwargs.setdefault(
'PRDtoTrackMap', (
236 'ITkPRDtoTrackMap' + flags.Tracking.ActiveConfig.extension))
240 seedTool_pixel =
None
241 if 'SeedToolPixel' not in kwargs:
242 if flags.Acts.SeedingStrategy
is SeedingStrategy.Orthogonal:
243 if flags.Tracking.doITkFastTracking:
247 elif flags.Acts.SeedingStrategy
is SeedingStrategy.Gbts:
248 kwargs.setdefault(
"GbtsSeeding",
True)
250 elif flags.Acts.SeedingStrategy
is SeedingStrategy.Gbts2:
253 if flags.Tracking.doITkFastTracking:
254 kwargs.setdefault(
"useFastTracking",
True)
259 seedTool_strip =
None
260 if 'SeedToolStrip' not in kwargs:
261 if flags.Acts.SeedingStrategy
is SeedingStrategy.Orthogonal:
265 rMax=flags.Tracking.ActiveConfig.radMax))
267 kwargs.setdefault(
'SeedToolPixel', seedTool_pixel)
268 kwargs.setdefault(
'SeedToolStrip', seedTool_strip)
271 if flags.Tracking.writeSeedValNtuple:
272 kwargs.setdefault(
'WriteNtuple',
True)
273 HistService = CompFactory.THistSvc(Output = [
"valNtuples DATAFILE='SeedMakerValidation.root' OPT='RECREATE'"])
274 acc.addService(HistService)
276 acc.setPrivateTools(CompFactory.ActsTrk.SiSpacePointsSeedMaker(name, **kwargs))
282 name: str =
'ActsPixelSeedingAlg',
283 **kwargs) -> ComponentAccumulator:
287 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
290 from MagFieldServices.MagFieldServicesConfig
import AtlasFieldCacheCondAlgCfg
293 from PixelGeoModelXml.ITkPixelGeoModelConfig
import ITkPixelReadoutGeometryCfg
296 useFastTracking = kwargs.get(
"useFastTracking", flags.Tracking.doITkFastTracking)
298 if "SeedTool" not in kwargs:
299 if flags.Acts.SeedingStrategy
is SeedingStrategy.Orthogonal:
304 elif flags.Acts.SeedingStrategy
is SeedingStrategy.Gbts:
306 elif flags.Acts.SeedingStrategy
is SeedingStrategy.Gbts2:
314 kwargs.setdefault(
"useFastTracking", useFastTracking)
315 kwargs.setdefault(
'InputSpacePoints', [
'ITkPixelSpacePoints_Cached']
if flags.Acts.useCache
else [
'ITkPixelSpacePoints'])
316 kwargs.setdefault(
'OutputSeeds',
'ActsPixelSeeds')
317 kwargs.setdefault(
'UsePixel',
True)
319 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
320 from ActsConfig.ActsMonitoringConfig
import ActsITkPixelSeedingMonitoringToolCfg
323 acc.addEventAlgo(CompFactory.ActsTrk.SeedingAlg(name, **kwargs))
328 name: str =
'ActsStripSeedingAlg',
329 **kwargs) -> ComponentAccumulator:
333 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
336 from MagFieldServices.MagFieldServicesConfig
import AtlasFieldCacheCondAlgCfg
339 from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripReadoutGeometryCfg
342 if "SeedTool" not in kwargs:
343 if flags.Acts.SeedingStrategy
is SeedingStrategy.Orthogonal:
348 kwargs.setdefault(
'InputSpacePoints', [
'ITkStripSpacePoints_Cached',
'ITkStripOverlapSpacePoints_Cached']
if flags.Acts.useCache
else [
'ITkStripSpacePoints',
'ITkStripOverlapSpacePoints'])
349 kwargs.setdefault(
'OutputSeeds',
'ActsStripSeeds')
350 kwargs.setdefault(
'UsePixel',
False)
352 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
353 from ActsConfig.ActsMonitoringConfig
import ActsITkStripSeedingMonitoringToolCfg
356 acc.addEventAlgo(CompFactory.ActsTrk.SeedingAlg(name, **kwargs))
361 **kwargs) -> ComponentAccumulator:
364 kwargs.setdefault(
'processPixels', flags.Detector.EnableITkPixel)
365 kwargs.setdefault(
'processStrips', flags.Detector.EnableITkStrip)
366 kwargs.setdefault(
'estimateParameters', flags.Acts.Seeds.doAnalysis)
368 if kwargs[
'processPixels']:
370 if kwargs[
'processStrips']:
374 if kwargs[
'estimateParameters']:
375 if kwargs[
'processPixels']:
376 from ActsConfig.ActsAnalysisConfig
import ActsPixelSeedsToTrackParamsAlgCfg
380 if kwargs[
'processStrips']:
381 from ActsConfig.ActsAnalysisConfig
import ActsStripSeedsToTrackParamsAlgCfg
385 if flags.Acts.Seeds.doAnalysis:
386 if kwargs[
'processPixels']:
387 from ActsConfig.ActsAnalysisConfig
import ActsPixelSeedAnalysisAlgCfg, ActsPixelEstimatedTrackParamsAnalysisAlgCfg
391 if kwargs[
'processStrips']:
392 from ActsConfig.ActsAnalysisConfig
import ActsStripSeedAnalysisAlgCfg, ActsStripEstimatedTrackParamsAnalysisAlgCfg
400 processPixels = flags.Detector.EnableITkPixel
401 processStrips = flags.Detector.EnableITkStrip
404 if flags.Tracking.ActiveConfig.extension
in [
"ActsConversion",
"ActsLargeRadius"]:
405 processPixels =
False
407 elif flags.Tracking.doITkFastTracking:
408 processStrips =
False
410 kwargs.setdefault(
'processPixels', processPixels)
411 kwargs.setdefault(
'processStrips', processStrips)
412 kwargs.setdefault(
'estimateParameters', flags.Tracking.ActiveConfig.storeTrackSeeds
or flags.Acts.Seeds.doAnalysis)
415 if flags.Tracking.ActiveConfig.extension ==
"ActsHeavyIon" and processPixels:
417 name=f
'{flags.Tracking.ActiveConfig.extension}PixelSeedingTool',
418 minPt=flags.Tracking.ActiveConfig.minPTSeed)))
419 if processStrips
and flags.Acts.SeedingStrategy
is SeedingStrategy.Default:
421 name=f
'{flags.Tracking.ActiveConfig.extension}StripSeedingTool',
422 rMax=flags.Tracking.ActiveConfig.radMax)))
426 kwargs.setdefault(
'PixelSeedingAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelSeedingAlg')
427 kwargs.setdefault(
'PixelSeedingAlg.useFastTracking', flags.Tracking.doITkFastTracking)
428 kwargs.setdefault(
'PixelSeedingAlg.OutputSeeds', f
'{flags.Tracking.ActiveConfig.extension}PixelSeeds')
430 pixelSpacePoints = [
'ITkPixelSpacePoints_Cached']
if flags.Acts.useCache
else [
'ITkPixelSpacePoints']
431 if flags.Tracking.ActiveConfig.isSecondaryPass:
432 pixelSpacePoints = [f
'ITk{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}PixelSpacePoints_Cached']
if flags.Acts.useCache
else [f
'ITk{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}PixelSpacePoints']
433 kwargs.setdefault(
'PixelSeedingAlg.InputSpacePoints', pixelSpacePoints)
436 if flags.Tracking.ActiveConfig.storeTrackSeeds
or flags.Acts.Seeds.doAnalysis:
437 kwargs.setdefault(
'PixelSeedsToTrackParamsAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelSeedsToTrackParamsAlg')
438 kwargs.setdefault(
'PixelSeedsToTrackParamsAlg.extension', flags.Tracking.ActiveConfig.extension)
439 kwargs.setdefault(
'PixelSeedsToTrackParamsAlg.InputSeedContainerKey', kwargs[
'PixelSeedingAlg.OutputSeeds'])
440 kwargs.setdefault(
'PixelSeedsToTrackParamsAlg.OutputTrackParamsCollectionKey', f
'{flags.Tracking.ActiveConfig.extension}PixelEstimatedTrackParams')
443 if flags.Acts.Seeds.doAnalysis:
444 kwargs.setdefault(
'PixelSeedAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelSeedAnalysisAlg')
445 kwargs.setdefault(
'PixelSeedAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
446 kwargs.setdefault(
'PixelSeedAnalysisAlg.InputSeedCollection', kwargs[
'PixelSeedingAlg.OutputSeeds'])
448 kwargs.setdefault(
'PixelEstimatedTrackParamsAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelEstimatedTrackParamsAnalysisAlg')
449 kwargs.setdefault(
'PixelEstimatedTrackParamsAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
450 kwargs.setdefault(
'PixelEstimatedTrackParamsAnalysisAlg.InputTrackParamsCollection', kwargs[
'PixelSeedsToTrackParamsAlg.OutputTrackParamsCollectionKey'])
454 kwargs.setdefault(
'StripSeedingAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripSeedingAlg')
455 kwargs.setdefault(
'StripSeedingAlg.OutputSeeds', f
'{flags.Tracking.ActiveConfig.extension}StripSeeds')
458 if flags.Tracking.ActiveConfig.extension ==
'ActsConversion':
459 kwargs.setdefault(
'StripSeedingAlg.InputSpacePoints', [
'ITkConversionStripSpacePoints_Cached']
if flags.Acts.useCache
else [
'ITkConversionStripSpacePoints'])
460 elif flags.Tracking.ActiveConfig.extension ==
'ActsLargeRadius':
461 kwargs.setdefault(
'StripSeedingAlg.InputSpacePoints', [
'ITkLargeRadiusStripSpacePoints_Cached',
462 'ITkLargeRadiusStripOverlapSpacePoints_Cached']
if flags.Acts.useCache
else [
'ITkLargeRadiusStripSpacePoints',
463 'ITkLargeRadiusStripOverlapSpacePoints'])
464 elif flags.Tracking.ActiveConfig.extension ==
'ActsLowPt':
465 kwargs.setdefault(
'StripSeedingAlg.InputSpacePoints', [
'ITkLowPtStripSpacePoints_Cached',
466 'ITkLowPtStripOverlapSpacePoints_Cached']
if flags.Acts.useCache
else [
'ITkLowPtStripSpacePoints',
467 'ITkLowPtStripOverlapSpacePoints'])
469 kwargs.setdefault(
'StripSeedingAlg.InputSpacePoints', [
'ITkStripSpacePoints_Cached',
470 'ITkStripOverlapSpacePoints_Cached']
if flags.Acts.useCache
else [
'ITkStripSpacePoints',
471 'ITkStripOverlapSpacePoints'])
473 if flags.Tracking.ActiveConfig.storeTrackSeeds
or flags.Acts.Seeds.doAnalysis:
474 kwargs.setdefault(
'StripSeedsToTrackParamsAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripSeedsToTrackParamsAlg')
475 kwargs.setdefault(
'StripSeedsToTrackParamsAlg.extension', flags.Tracking.ActiveConfig.extension)
476 kwargs.setdefault(
'StripSeedsToTrackParamsAlg.InputSeedContainerKey', kwargs[
'StripSeedingAlg.OutputSeeds'])
477 kwargs.setdefault(
'StripSeedsToTrackParamsAlg.OutputTrackParamsCollectionKey', f
'{flags.Tracking.ActiveConfig.extension}StripEstimatedTrackParams')
481 if flags.Acts.Seeds.doAnalysis:
482 kwargs.setdefault(
'StripSeedAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripSeedAnalysisAlg')
483 kwargs.setdefault(
'StripSeedAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
484 kwargs.setdefault(
'StripSeedAnalysisAlg.InputSeedCollection', kwargs[
'StripSeedingAlg.OutputSeeds'])
486 kwargs.setdefault(
'StripEstimatedTrackParamsAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripEstimatedTrackParamsAnalysisAlg')
487 kwargs.setdefault(
'StripEstimatedTrackParamsAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
488 kwargs.setdefault(
'StripEstimatedTrackParamsAnalysisAlg.InputTrackParamsCollection', kwargs[
'StripSeedsToTrackParamsAlg.OutputTrackParamsCollectionKey'])
493 if flags.Tracking.ActiveConfig.storeTrackSeeds:
495 processPixels = processPixels,
496 processStrips = processStrips))
504 **kwargs: dict) -> ComponentAccumulator:
509 seedKeyPixels = f
'{flags.Tracking.ActiveConfig.extension}PixelSeeds'
510 seedKeyStrips = f
'{flags.Tracking.ActiveConfig.extension}StripSeeds'
511 paramsKeyPixels = f
'{flags.Tracking.ActiveConfig.extension}PixelEstimatedTrackParams'
512 paramsKeyStrips = f
'{flags.Tracking.ActiveConfig.extension}StripEstimatedTrackParams'
513 trackKeyPixels = f
'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}PixelTracks'
514 trackKeyStrips = f
'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}StripTracks'
515 particleKeyPixels = f
'SiSPSeedSegments{flags.Tracking.ActiveConfig.extension}PixelTrackParticles'
516 particleKeyStrips = f
'SiSPSeedSegments{flags.Tracking.ActiveConfig.extension}StripTrackParticles'
518 trackKey = f
'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}Tracks'
519 particleKey = f
'SiSPSeedSegments{flags.Tracking.ActiveConfig.extension}TrackParticles'
521 from ActsConfig.ActsGeometryConfig
import ActsDetectorElementToActsGeometryIdMappingAlgCfg
526 from ActsConfig.ActsAnalysisConfig
import ActsPixelSeedsToTrackParamsAlgCfg
528 name = f
'{flags.Tracking.ActiveConfig.extension}PixelSeedsToTrackParamsAlg',
529 extension = flags.Tracking.ActiveConfig.extension,
530 InputSeedContainerKey = seedKeyPixels,
531 OutputTrackParamsCollectionKey = paramsKeyPixels))
536 name=f
"{flags.Tracking.ActiveConfig.extension}PixelSeedToTrackCnvAlg",
537 EstimatedTrackParametersKey = [paramsKeyPixels],
538 SeedContainerKey = [seedKeyPixels],
539 ACTSTracksLocation = trackKeyPixels))
542 if flags.Tracking.doTruth:
543 from ActsConfig.ActsTruthConfig
import ActsTrackToTruthAssociationAlgCfg, ActsTrackFindingValidationAlgCfg
545 name = f
"{trackKeyPixels}TrackToTruthAssociationAlg",
546 ACTSTracksLocation = trackKeyPixels,
547 AssociationMapOut = f
"{trackKeyPixels}ToTruthParticleAssociation"))
550 name = f
"{trackKeyPixels}TrackFindingValidationAlg",
551 TrackToTruthAssociationMap = f
"{trackKeyPixels}ToTruthParticleAssociation"))
556 from InDetConfig.ITkActsParticleCreationConfig
import ITkActsTrackParticleCreationCfg
558 TrackContainers = [trackKeyPixels],
559 TrackParticleContainer = particleKeyPixels))
564 from ActsConfig.ActsAnalysisConfig
import ActsStripSeedsToTrackParamsAlgCfg
566 name = f
'{flags.Tracking.ActiveConfig.extension}StripSeedsToTrackParamsAlg',
567 extension = flags.Tracking.ActiveConfig.extension,
568 InputSeedContainerKey = seedKeyStrips,
569 OutputTrackParamsCollectionKey = paramsKeyStrips))
573 name=f
"{flags.Tracking.ActiveConfig.extension}StripSeedToTrackCnvAlg",
574 EstimatedTrackParametersKey = [paramsKeyStrips],
575 SeedContainerKey = [seedKeyStrips],
576 ACTSTracksLocation = trackKeyStrips))
579 if flags.Tracking.doTruth:
580 from ActsConfig.ActsTruthConfig
import ActsTrackToTruthAssociationAlgCfg, ActsTrackFindingValidationAlgCfg
582 name=f
"{trackKeyStrips}TrackToTruthAssociationAlg",
583 ACTSTracksLocation = trackKeyStrips,
584 AssociationMapOut = f
"{trackKeyStrips}ToTruthParticleAssociation"))
587 name = f
"{trackKeyStrips}TrackFindingValidationAlg",
588 TrackToTruthAssociationMap = f
"{trackKeyStrips}ToTruthParticleAssociation"))
593 from InDetConfig.ITkActsParticleCreationConfig
import ITkActsTrackParticleCreationCfg
595 TrackContainers = [trackKeyStrips],
596 TrackParticleContainer = particleKeyStrips))
600 if processPixels
and processStrips:
604 name=f
"{flags.Tracking.ActiveConfig.extension}SeedToTrackCnvAlg",
605 EstimatedTrackParametersKey = [paramsKeyPixels, paramsKeyStrips],
606 SeedContainerKey = [seedKeyPixels, seedKeyStrips],
607 ACTSTracksLocation = trackKey))
610 if flags.Tracking.doTruth:
611 from ActsConfig.ActsTruthConfig
import ActsTrackToTruthAssociationAlgCfg, ActsTrackFindingValidationAlgCfg
613 name=f
"{trackKey}TrackToTruthAssociationAlg",
614 ACTSTracksLocation = trackKey,
615 AssociationMapOut = f
"{trackKey}ToTruthParticleAssociation"))
618 name = f
"{trackKey}TrackFindingValidationAlg",
619 TrackToTruthAssociationMap = f
"{trackKey}ToTruthParticleAssociation"))
624 from InDetConfig.ITkActsParticleCreationConfig
import ITkActsTrackParticleCreationCfg
626 TrackContainers = [trackKey],
627 TrackParticleContainer = particleKey))
633 name: str =
"ActsSeedToTrackCnvAlg",
634 **kwargs: dict) -> ComponentAccumulator:
636 kwargs.setdefault(
'DetectorElementToActsGeometryIdMapKey',
'DetectorElementToActsGeometryIdMap')
638 kwargs.setdefault(
'SeedContainerKey', [])
639 kwargs.setdefault(
'EstimatedTrackParametersKey', [])
640 kwargs.setdefault(
'ACTSTracksLocation', f
'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}Tracks')
642 if 'TrackingGeometryTool' not in kwargs:
643 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
646 acc.addEventAlgo(CompFactory.ActsTrk.SeedToTrackCnvAlg(name, **kwargs))