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 name: str =
"ActsPixelSeedingTool",
14 **kwargs) -> ComponentAccumulator:
18 kwargs.setdefault(
"numSeedIncrement" ,
float(
"inf"))
19 kwargs.setdefault(
"deltaZMax" ,
float(
"inf"))
20 kwargs.setdefault(
"maxPtScattering",
float(
"inf"))
21 kwargs.setdefault(
"useVariableMiddleSPRange",
False)
22 kwargs.setdefault(
"rMax", 320. * UnitConstants.mm)
23 kwargs.setdefault(
"rBinEdges", [0, kwargs[
'rMax']])
24 kwargs.setdefault(
"rRangeMiddleSP", [
38 acc.setPrivateTools(CompFactory.ActsTrk.SeedingTool(name, **kwargs))
42 name: str =
"ActsFastPixelSeedingTool",
43 **kwargs) -> ComponentAccumulator:
45 kwargs.setdefault(
"minPt", 1000 * UnitConstants.MeV)
46 kwargs.setdefault(
"collisionRegionMin", -150 * UnitConstants.mm)
47 kwargs.setdefault(
"collisionRegionMax", 150 * UnitConstants.mm)
48 kwargs.setdefault(
"maxPhiBins", 200)
49 kwargs.setdefault(
"gridRMax", 250 * UnitConstants.mm)
50 kwargs.setdefault(
"deltaRMax", 200 * UnitConstants.mm)
51 kwargs.setdefault(
"zBinsCustomLooping" , [3, 11, 4, 10, 7, 5, 9, 6, 8])
52 kwargs.setdefault(
"rRangeMiddleSP", [
66 kwargs.setdefault(
"useVariableMiddleSPRange",
False)
67 kwargs.setdefault(
"useExperimentCuts",
True)
68 kwargs.setdefault(
"rMax", 320 * UnitConstants.mm)
69 kwargs.setdefault(
"rBinEdges", [0, kwargs[
'rMax']])
74 name: str =
"ActsStripSeedingTool",
75 **kwargs) -> ComponentAccumulator:
79 kwargs.setdefault(
"doSeedQualitySelection",
False)
81 kwargs.setdefault(
"gridRMax" , 1000. * UnitConstants.mm)
82 kwargs.setdefault(
"deltaRMax" , 600. * UnitConstants.mm)
83 kwargs.setdefault(
"impactMax" , 20. * UnitConstants.mm)
85 kwargs.setdefault(
"rMax" , 1200. * UnitConstants.mm)
86 kwargs.setdefault(
"deltaRMinTopSP" , 20. * UnitConstants.mm)
87 kwargs.setdefault(
"deltaRMaxTopSP" , 300. * UnitConstants.mm)
88 kwargs.setdefault(
"deltaRMinBottomSP" , 20. * UnitConstants.mm)
89 kwargs.setdefault(
"deltaRMaxBottomSP" , 300. * UnitConstants.mm)
90 kwargs.setdefault(
"deltaZMax" , 900. * UnitConstants.mm)
91 kwargs.setdefault(
"interactionPointCut" ,
False)
92 kwargs.setdefault(
"zBinsCustomLooping" , [7, 8, 6, 9, 5, 10, 4, 11, 3, 12, 2])
93 kwargs.setdefault(
"deltaRMiddleMinSPRange" , 30 * UnitConstants.mm)
94 kwargs.setdefault(
"deltaRMiddleMaxSPRange" , 150 * UnitConstants.mm)
95 kwargs.setdefault(
"useDetailedDoubleMeasurementInfo" ,
True)
96 kwargs.setdefault(
"maxPtScattering",
float(
"inf"))
98 kwargs.setdefault(
"useDeltaRorTopRadius" ,
False)
99 kwargs.setdefault(
"seedConfirmationInFilter" ,
False)
100 kwargs.setdefault(
"impactWeightFactor" , 1.)
101 kwargs.setdefault(
"compatSeedLimit" , 4)
102 kwargs.setdefault(
"numSeedIncrement" , 1.)
103 kwargs.setdefault(
"seedWeightIncrement" , 10100.)
104 kwargs.setdefault(
"maxSeedsPerSpMConf" , 100)
105 kwargs.setdefault(
"maxQualitySeedsPerSpMConf" , 100)
107 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)])
109 kwargs.setdefault(
"rBinEdges", [0, kwargs[
'rMax']])
111 acc.setPrivateTools(CompFactory.ActsTrk.SeedingTool(name, **kwargs))
115 name: str =
"ActsPixelOrthogonalSeedingTool",
116 **kwargs) -> ComponentAccumulator:
119 acc.setPrivateTools(CompFactory.ActsTrk.OrthogonalSeedingTool(name, **kwargs))
123 name: str =
"ActsFastPixelOrthogonalSeedingTool",
124 **kwargs) -> ComponentAccumulator:
129 kwargs.setdefault(
"minPt", 1000 * UnitConstants.MeV)
130 kwargs.setdefault(
"collisionRegionMin", -150 * UnitConstants.mm)
131 kwargs.setdefault(
"collisionRegionMax", 150 * UnitConstants.mm)
132 kwargs.setdefault(
"useExperimentCuts",
True)
134 acc.setPrivateTools(CompFactory.ActsTrk.OrthogonalSeedingTool(name, **kwargs))
138 name: str =
"ActsStripOrthogonalSeedingTool",
139 **kwargs) -> ComponentAccumulator:
143 kwargs.setdefault(
"impactMax" , 20. * UnitConstants.mm)
144 kwargs.setdefault(
'rMax', 1200. * UnitConstants.mm)
145 kwargs.setdefault(
"deltaRMinTopSP" , 20. * UnitConstants.mm)
146 kwargs.setdefault(
"deltaRMaxTopSP" , 300. * UnitConstants.mm)
147 kwargs.setdefault(
"deltaRMinBottomSP" , 20. * UnitConstants.mm)
148 kwargs.setdefault(
"deltaRMaxBottomSP" , 300. * UnitConstants.mm)
149 kwargs.setdefault(
"deltaZMax" , 900. * UnitConstants.mm)
150 kwargs.setdefault(
"interactionPointCut" ,
False)
151 kwargs.setdefault(
"impactWeightFactor" , 1.)
152 kwargs.setdefault(
"compatSeedLimit" , 4)
153 kwargs.setdefault(
"seedWeightIncrement" , 10100.)
154 kwargs.setdefault(
"numSeedIncrement" , 1.)
155 kwargs.setdefault(
"seedConfirmationInFilter" ,
False)
156 kwargs.setdefault(
"maxSeedsPerSpMConf" , 100)
157 kwargs.setdefault(
"maxQualitySeedsPerSpMConf" , 100)
158 kwargs.setdefault(
"useDeltaRorTopRadius" ,
False)
159 kwargs.setdefault(
"rMinMiddle", 33. * UnitConstants.mm)
160 kwargs.setdefault(
"rMaxMiddle", 1200. * UnitConstants.mm)
162 acc.setPrivateTools(CompFactory.ActsTrk.OrthogonalSeedingTool(name, **kwargs))
166 name: str =
"ActsPixelGbtsSeedingTool",
167 **kwargs) -> ComponentAccumulator:
171 kwargs.setdefault(
"connector_input_file" ,
find_datafile(
"ActsPatternRecognition/GBTS_EdgeProbabilites_ITKPixels.txt"))
172 acc.setPrivateTools(CompFactory.ActsTrk.GbtsSeedingTool(name = name, **kwargs))
176 name: str =
'ActsSiSpacePointsSeedMakerTool',
177 **kwargs) -> ComponentAccumulator:
178 assert isinstance(name, str)
182 if flags.Tracking.ActiveConfig.extension ==
"ActsValidateConversionSeeds":
183 kwargs.setdefault(
'useOverlapSpCollection',
False)
186 kwargs.setdefault(
'usePixel',
187 flags.Tracking.ActiveConfig.useITkPixel
and
188 flags.Tracking.ActiveConfig.useITkPixelSeeding)
189 kwargs.setdefault(
'useStrip',
190 flags.Tracking.ActiveConfig.useITkStrip
and
191 flags.Tracking.ActiveConfig.useITkStripSeeding)
192 kwargs.setdefault(
'useOverlapSpCollection',
193 flags.Tracking.ActiveConfig.useITkStrip
and
194 flags.Tracking.ActiveConfig.useITkStripSeeding)
195 kwargs.setdefault(
'ActsSpacePointsPixelName' ,
"ITkPixelSpacePoints")
196 kwargs.setdefault(
'ActsSpacePointsStripName' ,
"ITkStripSpacePoints")
197 kwargs.setdefault(
'ActsSpacePointsOverlapName' ,
"ITkStripOverlapSpacePoints")
207 useClusters = flags.Tracking.ActiveConfig.doAthenaToActsCluster
and not flags.Tracking.ActiveConfig.doAthenaToActsSpacePoint
208 kwargs.setdefault(
'useClustersForSeedConversion', useClusters)
210 if flags.Tracking.ActiveConfig.usePrdAssociationTool:
212 kwargs.setdefault(
'PRDtoTrackMap', (
213 'ITkPRDtoTrackMap' + flags.Tracking.ActiveConfig.extension))
217 seedTool_pixel =
None
218 if 'SeedToolPixel' not in kwargs:
219 if flags.Acts.SeedingStrategy
is SeedingStrategy.Orthogonal:
220 if flags.Tracking.doITkFastTracking:
224 elif flags.Acts.SeedingStrategy
is SeedingStrategy.Gbts:
227 if flags.Tracking.doITkFastTracking:
228 kwargs.setdefault(
"useFastTracking",
True)
233 seedTool_strip =
None
234 if 'SeedToolStrip' not in kwargs:
235 if flags.Acts.SeedingStrategy
is SeedingStrategy.Orthogonal:
239 rMax=flags.Tracking.ActiveConfig.radMax))
241 kwargs.setdefault(
'SeedToolPixel', seedTool_pixel)
242 kwargs.setdefault(
'SeedToolStrip', seedTool_strip)
245 if flags.Tracking.writeSeedValNtuple:
246 kwargs.setdefault(
'WriteNtuple',
True)
247 HistService = CompFactory.THistSvc(Output = [
"valNtuples DATAFILE='SeedMakerValidation.root' OPT='RECREATE'"])
248 acc.addService(HistService)
250 acc.setPrivateTools(CompFactory.ActsTrk.SiSpacePointsSeedMaker(name, **kwargs))
256 name: str =
'ActsPixelSeedingAlg',
257 **kwargs) -> ComponentAccumulator:
261 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
264 from MagFieldServices.MagFieldServicesConfig
import AtlasFieldCacheCondAlgCfg
267 from PixelGeoModelXml.ITkPixelGeoModelConfig
import ITkPixelReadoutGeometryCfg
272 if 'TrackingGeometryTool' not in kwargs:
273 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
275 acc.addPublicTool(geoTool)
276 kwargs.setdefault(
'TrackingGeometryTool', acc.getPublicTool(geoTool.name))
279 if 'ATLASConverterTool' not in kwargs:
280 from ActsConfig.ActsEventCnvConfig
import ActsToTrkConverterToolCfg
284 if 'TrackParamsEstimationTool' not in kwargs:
285 from ActsConfig.ActsTrackParamsEstimationConfig
import ActsTrackParamsEstimationToolCfg
288 useFastTracking = kwargs.get(
"useFastTracking", flags.Tracking.doITkFastTracking)
290 if "SeedTool" not in kwargs:
291 if flags.Acts.SeedingStrategy
is SeedingStrategy.Orthogonal:
296 elif flags.Acts.SeedingStrategy
is SeedingStrategy.Gbts:
304 kwargs.setdefault(
"useFastTracking", useFastTracking)
305 kwargs.setdefault(
'InputSpacePoints', [
'ITkPixelSpacePoints_Cached']
if flags.Acts.useCache
else [
'ITkPixelSpacePoints'])
306 kwargs.setdefault(
'OutputSeeds',
'ActsPixelSeeds')
307 kwargs.setdefault(
'OutputEstimatedTrackParameters',
'ActsPixelEstimatedTrackParams')
308 kwargs.setdefault(
'DetectorElements',
'ITkPixelDetectorElementCollection')
309 kwargs.setdefault(
'UsePixel',
True)
311 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
312 from ActsConfig.ActsMonitoringConfig
import ActsITkPixelSeedingMonitoringToolCfg
315 acc.addEventAlgo(CompFactory.ActsTrk.SeedingAlg(name, **kwargs))
320 name: str =
'ActsStripSeedingAlg',
321 **kwargs) -> ComponentAccumulator:
325 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
328 from MagFieldServices.MagFieldServicesConfig
import AtlasFieldCacheCondAlgCfg
331 from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripReadoutGeometryCfg
336 if 'TrackingGeometryTool' not in kwargs:
337 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
339 acc.addPublicTool(geoTool)
340 kwargs.setdefault(
'TrackingGeometryTool', acc.getPublicTool(geoTool.name))
343 if 'ATLASConverterTool' not in kwargs:
344 from ActsConfig.ActsEventCnvConfig
import ActsToTrkConverterToolCfg
348 if 'TrackParamsEstimationTool' not in kwargs:
349 from ActsConfig.ActsTrackParamsEstimationConfig
import ActsTrackParamsEstimationToolCfg
350 kwargs.setdefault(
'TrackParamsEstimationTool', acc.popToolsAndMerge(
ActsTrackParamsEstimationToolCfg(flags, useTopSp=flags.Acts.reverseTrackFindingForStrips)))
352 if "SeedTool" not in kwargs:
353 if flags.Acts.SeedingStrategy
is SeedingStrategy.Orthogonal:
358 kwargs.setdefault(
'InputSpacePoints', [
'ITkStripSpacePoints_Cached',
'ITkStripOverlapSpacePoints_Cached']
if flags.Acts.useCache
else [
'ITkStripSpacePoints',
'ITkStripOverlapSpacePoints'])
359 kwargs.setdefault(
'OutputSeeds',
'ActsStripSeeds')
360 kwargs.setdefault(
'OutputEstimatedTrackParameters',
'ActsStripEstimatedTrackParams')
361 kwargs.setdefault(
'DetectorElements',
'ITkStripDetectorElementCollection')
362 kwargs.setdefault(
'UsePixel',
False)
364 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
365 from ActsConfig.ActsMonitoringConfig
import ActsITkStripSeedingMonitoringToolCfg
368 kwargs.setdefault(
'useTopSp', flags.Acts.reverseTrackFindingForStrips)
370 acc.addEventAlgo(CompFactory.ActsTrk.SeedingAlg(name, **kwargs))
375 **kwargs) -> ComponentAccumulator:
378 kwargs.setdefault(
'processPixels', flags.Detector.EnableITkPixel)
379 kwargs.setdefault(
'processStrips', flags.Detector.EnableITkStrip)
381 if kwargs[
'processPixels']:
383 if kwargs[
'processStrips']:
387 if flags.Acts.doAnalysis:
388 if kwargs[
'processPixels']:
389 from ActsConfig.ActsAnalysisConfig
import ActsPixelSeedAnalysisAlgCfg, ActsPixelEstimatedTrackParamsAnalysisAlgCfg
393 if kwargs[
'processStrips']:
394 from ActsConfig.ActsAnalysisConfig
import ActsStripSeedAnalysisAlgCfg, ActsStripEstimatedTrackParamsAnalysisAlgCfg
402 processPixels = flags.Detector.EnableITkPixel
403 processStrips = flags.Detector.EnableITkStrip
406 if flags.Tracking.ActiveConfig.extension
in [
"ActsConversion",
"ActsLargeRadius"]:
407 processPixels =
False
409 elif flags.Tracking.doITkFastTracking:
410 processStrips =
False
413 kwargs.setdefault(
'processPixels', processPixels)
414 kwargs.setdefault(
'processStrips', processStrips)
417 if flags.Tracking.ActiveConfig.extension ==
"ActsHeavyIon" and processPixels:
419 name=f
'{flags.Tracking.ActiveConfig.extension}PixelSeedingTool',
420 minPt=flags.Tracking.ActiveConfig.minPTSeed)))
421 if processStrips
and flags.Acts.SeedingStrategy
is SeedingStrategy.Default:
423 name=f
'{flags.Tracking.ActiveConfig.extension}StripSeedingTool',
424 rMax=flags.Tracking.ActiveConfig.radMax)))
428 kwargs.setdefault(
'PixelSeedingAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelSeedingAlg')
429 kwargs.setdefault(
'PixelSeedingAlg.useFastTracking', flags.Tracking.doITkFastTracking)
430 kwargs.setdefault(
'PixelSeedingAlg.OutputSeeds', f
'{flags.Tracking.ActiveConfig.extension}PixelSeeds')
431 kwargs.setdefault(
'PixelSeedingAlg.OutputEstimatedTrackParameters', f
'{flags.Tracking.ActiveConfig.extension}PixelEstimatedTrackParams')
433 pixelSpacePoints = [
'ITkPixelSpacePoints_Cached']
if flags.Acts.useCache
else [
'ITkPixelSpacePoints']
434 if flags.Tracking.ActiveConfig.isSecondaryPass:
435 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']
436 kwargs.setdefault(
'PixelSeedingAlg.InputSpacePoints', pixelSpacePoints)
439 if flags.Acts.doAnalysis:
440 kwargs.setdefault(
'PixelSeedAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelSeedAnalysisAlg')
441 kwargs.setdefault(
'PixelSeedAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
442 kwargs.setdefault(
'PixelSeedAnalysisAlg.InputSeedCollection', kwargs[
'PixelSeedingAlg.OutputSeeds'])
444 kwargs.setdefault(
'PixelEstimatedTrackParamsAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelEstimatedTrackParamsAnalysisAlg')
445 kwargs.setdefault(
'PixelEstimatedTrackParamsAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
446 kwargs.setdefault(
'PixelEstimatedTrackParamsAnalysisAlg.InputTrackParamsCollection', kwargs[
'PixelSeedingAlg.OutputEstimatedTrackParameters'])
450 kwargs.setdefault(
'StripSeedingAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripSeedingAlg')
451 kwargs.setdefault(
'StripSeedingAlg.OutputSeeds', f
'{flags.Tracking.ActiveConfig.extension}StripSeeds')
452 kwargs.setdefault(
'StripSeedingAlg.OutputEstimatedTrackParameters', f
'{flags.Tracking.ActiveConfig.extension}StripEstimatedTrackParams')
455 if flags.Tracking.ActiveConfig.extension ==
'ActsConversion':
456 kwargs.setdefault(
'StripSeedingAlg.InputSpacePoints', [
'ITkConversionStripSpacePoints_Cached']
if flags.Acts.useCache
else [
'ITkConversionStripSpacePoints'])
457 elif flags.Tracking.ActiveConfig.extension ==
'ActsLargeRadius':
458 kwargs.setdefault(
'StripSeedingAlg.InputSpacePoints', [
'ITkLargeRadiusStripSpacePoints_Cached',
459 'ITkLargeRadiusStripOverlapSpacePoints_Cached']
if flags.Acts.useCache
else [
'ITkLargeRadiusStripSpacePoints',
460 'ITkLargeRadiusStripOverlapSpacePoints'])
461 elif flags.Tracking.ActiveConfig.extension ==
'ActsLowPt':
462 kwargs.setdefault(
'StripSeedingAlg.InputSpacePoints', [
'ITkLowPtStripSpacePoints_Cached',
463 'ITkLowPtStripOverlapSpacePoints_Cached']
if flags.Acts.useCache
else [
'ITkLowPtStripSpacePoints',
464 'ITkLowPtStripOverlapSpacePoints'])
466 kwargs.setdefault(
'StripSeedingAlg.InputSpacePoints', [
'ITkStripSpacePoints_Cached',
467 'ITkStripOverlapSpacePoints_Cached']
if flags.Acts.useCache
else [
'ITkStripSpacePoints',
468 'ITkStripOverlapSpacePoints'])
471 if flags.Acts.doAnalysis:
472 kwargs.setdefault(
'StripSeedAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripSeedAnalysisAlg')
473 kwargs.setdefault(
'StripSeedAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
474 kwargs.setdefault(
'StripSeedAnalysisAlg.InputSeedCollection', kwargs[
'StripSeedingAlg.OutputSeeds'])
476 kwargs.setdefault(
'StripEstimatedTrackParamsAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripEstimatedTrackParamsAnalysisAlg')
477 kwargs.setdefault(
'StripEstimatedTrackParamsAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
478 kwargs.setdefault(
'StripEstimatedTrackParamsAnalysisAlg.InputTrackParamsCollection', kwargs[
'StripSeedingAlg.OutputEstimatedTrackParameters'])
482 if flags.Tracking.ActiveConfig.storeTrackSeeds:
488 **kwargs: dict) -> ComponentAccumulator:
493 seedKeyPixels = f
'{flags.Tracking.ActiveConfig.extension}PixelSeeds'
494 seedKeyStrips = f
'{flags.Tracking.ActiveConfig.extension}StripSeeds'
495 trackKeyPixels = f
'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}PixelTracks'
496 trackKeyStrips = f
'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}StripTracks'
497 particleKeyPixels = f
'SiSPSeedSegments{flags.Tracking.ActiveConfig.extension}PixelTrackParticles'
498 particleKeyStrips = f
'SiSPSeedSegments{flags.Tracking.ActiveConfig.extension}StripTrackParticles'
501 name=f
"{flags.Tracking.ActiveConfig.extension}PixelSeedToTrackCnvAlg",
502 SeedContainerKey=seedKeyPixels,
503 ACTSTracksLocation=trackKeyPixels))
505 from ActsConfig.ActsTrackFindingConfig
import ActsTrackToTrackParticleCnvAlgCfg
507 name=f
"{flags.Tracking.ActiveConfig.extension}PixelTracksSeedToTrackParticleCnvAlg",
508 TrackParticlesOutKey=particleKeyPixels,
509 ACTSTracksLocation=[trackKeyPixels]))
515 if not flags.Tracking.doITkFastTracking:
517 name=f
"{flags.Tracking.ActiveConfig.extension}StripSeedToTrackCnvAlg",
518 SeedContainerKey=seedKeyStrips,
519 ACTSTracksLocation=trackKeyStrips))
522 name=f
"{flags.Tracking.ActiveConfig.extension}StripTracksSeedToTrackParticleCnvAlg",
523 TrackParticlesOutKey=particleKeyStrips,
524 ACTSTracksLocation=[trackKeyStrips]))
529 if flags.Tracking.doTruth:
530 from ActsConfig.ActsTruthConfig
import ActsTrackToTruthAssociationAlgCfg
532 name=f
"{trackKeyPixels}TrackToTruthAssociationAlg",
533 ACTSTracksLocation=trackKeyPixels,
534 AssociationMapOut=trackKeyPixels+
"ToTruthParticleAssociation"))
536 from ActsConfig.ActsTruthConfig
import ActsTrackParticleTruthDecorationAlgCfg
541 name=f
'{trackKeyPixels}TruthDecorationAlg',
542 TrackToTruthAssociationMaps = [trackKeyPixels+
"ToTruthParticleAssociation"],
543 TrackParticleContainerName = particleKeyPixels,
545 ComputeTrackRecoEfficiency=
False
550 if not flags.Tracking.doITkFastTracking:
552 name=f
"{trackKeyStrips}TrackToTruthAssociationAlg",
553 ACTSTracksLocation=trackKeyStrips,
554 AssociationMapOut=trackKeyStrips+
"ToTruthParticleAssociation"))
558 name=f
'{trackKeyStrips}TruthDecorationAlg',
559 TrackToTruthAssociationMaps = [trackKeyStrips+
"ToTruthParticleAssociation"],
560 TrackParticleContainerName = particleKeyStrips,
562 ComputeTrackRecoEfficiency=
False
569 name: str =
'ActsSeedToTrackPixelCnvAlg',
570 **kwargs: dict) -> ComponentAccumulator:
572 from ActsConfig.ActsGeometryConfig
import ActsDetectorElementToActsGeometryIdMappingAlgCfg
574 kwargs.setdefault(
'DetectorElementToActsGeometryIdMapKey',
'DetectorElementToActsGeometryIdMap')
576 kwargs.setdefault(
'SeedContainerKey', f
'{flags.Tracking.ActiveConfig.extension}PixelSeeds')
577 kwargs.setdefault(
'EstimatedTrackParametersKey',f
'{flags.Tracking.ActiveConfig.extension}PixelEstimatedTrackParams')
579 kwargs.setdefault(
'ACTSTracksLocation', f
'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}PixelTracks')
581 if 'TrackingGeometryTool' not in kwargs:
582 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
585 acc.addEventAlgo(CompFactory.ActsTrk.SeedToTrackCnvAlg(name, **kwargs), primary=
True)
589 name: str =
'ActsSeedToTrackStripCnvAlg',
590 **kwargs: dict) -> ComponentAccumulator:
593 kwargs.setdefault(
'SeedContainerKey', f
'{flags.Tracking.ActiveConfig.extension}StripSeeds')
594 kwargs.setdefault(
'EstimatedTrackParametersKey',f
'{flags.Tracking.ActiveConfig.extension}StripEstimatedTrackParams')
596 kwargs.setdefault(
'ACTSTracksLocation', f
'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}StripTracks')
598 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
601 acc.addEventAlgo(CompFactory.ActsTrk.SeedToTrackCnvAlg(name, **kwargs), primary=
True)