3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
5 from ActsInterop
import UnitConstants
6 from ActsConfig.ActsUtilities
import extractChildKwargs
10 collectionName: str) -> ComponentAccumulator:
13 AddressRemappingSvc = CompFactory.AddressRemappingSvc(
14 TypeKeyOverwriteMaps = [f
"InDetSimDataCollection#{collectionName}->InDetSimDataCollectionWrap#{collectionName}"]
16 acc.addService(AddressRemappingSvc)
21 name: str =
'ActsPixelClusterToTruthAssociationAlg',
22 **kwargs: dict) -> ComponentAccumulator:
26 kwargs.setdefault(
'InputTruthParticleLinks',
'xAODTruthLinks')
27 kwargs.setdefault(
'SimData',
'ITkPixelSDO_Map')
28 kwargs.setdefault(
'DepositedEnergyMin', 300)
29 kwargs.setdefault(
'Measurements',
'ITkPixelClusters')
30 kwargs.setdefault(
'AssociationMapOut',
'ITkPixelClustersToTruthParticles')
32 acc.addEventAlgo( CompFactory.ActsTrk.PixelClusterToTruthAssociationAlg(name=name, **kwargs) )
36 name: str =
'ActsStripClusterToTruthAssociationAlg',
37 **kwargs: dict) -> ComponentAccumulator:
41 kwargs.setdefault(
'InputTruthParticleLinks',
'xAODTruthLinks')
42 kwargs.setdefault(
'SimData',
'ITkStripSDO_Map')
43 kwargs.setdefault(
'DepositedEnergyMin', 600)
44 kwargs.setdefault(
'Measurements',
'ITkStripClusters')
45 kwargs.setdefault(
'AssociationMapOut',
'ITkStripClustersToTruthParticles')
47 acc.addEventAlgo( CompFactory.ActsTrk.StripClusterToTruthAssociationAlg(name=name, **kwargs) )
51 name: str =
'ActsHgtdClusterToTruthAssociationAlg',
52 **kwargs: dict) -> ComponentAccumulator:
56 kwargs.setdefault(
'InputTruthParticleLinks',
'xAODTruthLinks')
57 kwargs.setdefault(
'SimData',
'HGTD_SDO_Map')
58 kwargs.setdefault(
'DepositedEnergyMin', 600)
59 kwargs.setdefault(
'Measurements',
'HGTD_Clusters')
60 kwargs.setdefault(
'AssociationMapOut',
'HgtdClustersToTruthParticles')
62 acc.addEventAlgo( CompFactory.ActsTrk.HgtdClusterToTruthAssociationAlg(name=name, **kwargs) )
66 name: str =
'ActsTracksToTruthAssociationAlg',
67 **kwargs: dict) -> ComponentAccumulator:
71 kwargs.setdefault(
'ACTSTracksLocation',
'ActsTracks')
72 kwargs.setdefault(
'PixelClustersToTruthAssociationMap',
'ITkPixelClustersToTruthParticles')
73 kwargs.setdefault(
'StripClustersToTruthAssociationMap',
'ITkStripClustersToTruthParticles')
74 kwargs.setdefault(
'HgtdClustersToTruthAssociationMap',
'HgtdClustersToTruthParticles')
75 kwargs.setdefault(
'AssociationMapOut',
'ActsTracksToTruthParticles')
76 kwargs.setdefault(
'MaxEnergyLoss',1e3*UnitConstants.TeV)
78 if 'TrackingGeometryTool' not in kwargs:
79 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
82 acc.addEventAlgo( CompFactory.ActsTrk.TrackToTruthAssociationAlg(name=name, **kwargs) )
86 name: str =
'ActsTruthParticleHitCountAlg',
87 **kwargs: dict) -> ComponentAccumulator:
91 kwargs.setdefault(
'PixelClustersToTruthAssociationMap',
'ITkPixelClustersToTruthParticles')
92 kwargs.setdefault(
'StripClustersToTruthAssociationMap',
'ITkStripClustersToTruthParticles')
93 if flags.Detector.EnableHGTD
and (flags.Acts.useHGTDClusterInTrackFinding
or flags.HGTD.doActs):
94 kwargs.setdefault(
'HgtdClustersToTruthAssociationMap',
'HgtdClustersToTruthParticles')
95 kwargs.setdefault(
'TruthParticleHitCountsOut',
'TruthParticleHitCounts')
96 kwargs.setdefault(
'MaxEnergyLoss',1e3*UnitConstants.TeV)
97 kwargs.setdefault(
'NHitsMin',4)
99 if 'TrackingGeometryTool' not in kwargs:
100 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
103 acc.addEventAlgo( CompFactory.ActsTrk.TruthParticleHitCountAlg(name=name, **kwargs) )
108 **kwargs: dict) -> ComponentAccumulator:
111 if flags.Detector.EnableITkPixel:
114 if flags.Detector.EnableITkStrip:
117 if flags.Detector.EnableHGTD
and (flags.Acts.useHGTDClusterInTrackFinding
or flags.HGTD.doActs):
122 kwargs.setdefault(
'MatchWeights',[0.,
127 kwargs.setdefault(
'CountWeights',[0.,
131 kwargs.setdefault(
'StatisticPtBins',[1e3,2.5e3,5e3,10e3,100e3])
132 kwargs.setdefault(
'ShowDetailedTables',
False)
133 kwargs.setdefault(
'PdgIdCategorisation',
False)
134 kwargs.setdefault(
'StatisticEtaBins',[eta/10.
for eta
in range(5, 40, 5)])
137 name: str =
'ActsTrackParticleTruthDecorationAlg',
138 **kwargs: dict) -> ComponentAccumulator:
140 kwargs.setdefault(
'TrackToTruthAssociationMaps',
'ActsCombinedTracksToTruthParticleAssociation')
141 kwargs.setdefault(
'TrackParticleContainerName',
'ActsCombinedTracksParticlesAlt')
142 kwargs.setdefault(
'TruthParticleHitCounts',
'TruthParticleHitCounts')
145 kwargs.setdefault(
'ComputeTrackRecoEfficiency',
False)
147 if 'TruthSelectionTool' not in kwargs:
149 from InDetPhysValMonitoring.InDetPhysValMonitoringConfig
import InDetRttTruthSelectionToolCfg
150 kwargs.setdefault(
"TruthSelectionTool", acc.popToolsAndMerge(
152 name=
'RelaxedInDetRttTruthSelectionTool',
153 requireOnlyPrimary=
False,
158 acc.addEventAlgo( CompFactory.ActsTrk.TrackParticleTruthDecorationAlg(name=name, **kwargs) )
162 name: str =
'ActsTracksValidationAlg',
163 **kwargs: dict) -> ComponentAccumulator:
165 kwargs.setdefault(
'TruthParticleHitCounts',
'TruthParticleHitCounts')
166 kwargs.setdefault(
'TrackToTruthAssociationMap',
'ActsTracksToTruthParticles')
168 kwargs.setdefault(
'ComputeTrackRecoEfficiency',
True)
170 if 'TruthSelectionTool' not in kwargs:
171 from InDetPhysValMonitoring.InDetPhysValMonitoringConfig
import InDetRttTruthSelectionToolCfg
172 kwargs.setdefault(
"TruthSelectionTool", acc.popToolsAndMerge(
175 acc.addEventAlgo( CompFactory.ActsTrk.TrackFindingValidationAlg(name=name, **kwargs) )