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 if flags.Detector.EnableHGTD
and (flags.Acts.useHGTDClusterInTrackFinding
or flags.HGTD.doActs):
75 kwargs.setdefault(
'HgtdClustersToTruthAssociationMap',
'HgtdClustersToTruthParticles')
76 kwargs.setdefault(
'AssociationMapOut',
'ActsTracksToTruthParticles')
77 kwargs.setdefault(
'MaxEnergyLoss',1e3*UnitConstants.TeV)
79 if 'TrackingGeometryTool' not in kwargs:
80 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
83 acc.addEventAlgo( CompFactory.ActsTrk.TrackToTruthAssociationAlg(name=name, **kwargs) )
87 name: str =
'ActsTruthParticleHitCountAlg',
88 **kwargs: dict) -> ComponentAccumulator:
92 kwargs.setdefault(
'PixelClustersToTruthAssociationMap',
'ITkPixelClustersToTruthParticles')
93 kwargs.setdefault(
'StripClustersToTruthAssociationMap',
'ITkStripClustersToTruthParticles')
94 if flags.Detector.EnableHGTD
and (flags.Acts.useHGTDClusterInTrackFinding
or flags.HGTD.doActs):
95 kwargs.setdefault(
'HgtdClustersToTruthAssociationMap',
'HgtdClustersToTruthParticles')
96 kwargs.setdefault(
'TruthParticleHitCountsOut',
'TruthParticleHitCounts')
97 kwargs.setdefault(
'MaxEnergyLoss',1e3*UnitConstants.TeV)
98 kwargs.setdefault(
'NHitsMin',4)
100 if 'TrackingGeometryTool' not in kwargs:
101 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
104 acc.addEventAlgo( CompFactory.ActsTrk.TruthParticleHitCountAlg(name=name, **kwargs) )
109 **kwargs: dict) -> ComponentAccumulator:
112 if flags.Detector.EnableITkPixel:
115 if flags.Detector.EnableITkStrip:
118 if flags.Detector.EnableHGTD
and (flags.Acts.useHGTDClusterInTrackFinding
or flags.HGTD.doActs):
123 kwargs.setdefault(
'MatchWeights',[0.,
128 kwargs.setdefault(
'CountWeights',[0.,
132 kwargs.setdefault(
'StatisticPtBins',[1e3,2.5e3,5e3,10e3,100e3])
133 kwargs.setdefault(
'ShowDetailedTables',
False)
134 kwargs.setdefault(
'PdgIdCategorisation',
False)
135 kwargs.setdefault(
'StatisticEtaBins',[eta/10.
for eta
in range(5, 40, 5)])
138 name: str =
'ActsTrackParticleTruthDecorationAlg',
139 **kwargs: dict) -> ComponentAccumulator:
141 kwargs.setdefault(
'TrackToTruthAssociationMaps',
'ActsCombinedTracksToTruthParticleAssociation')
142 kwargs.setdefault(
'TrackParticleContainerName',
'ActsCombinedTracksParticlesAlt')
143 kwargs.setdefault(
'TruthParticleHitCounts',
'TruthParticleHitCounts')
146 kwargs.setdefault(
'ComputeTrackRecoEfficiency',
False)
148 if 'TruthSelectionTool' not in kwargs:
150 from InDetPhysValMonitoring.InDetPhysValMonitoringConfig
import InDetRttTruthSelectionToolCfg
151 kwargs.setdefault(
"TruthSelectionTool", acc.popToolsAndMerge(
153 name=
'RelaxedInDetRttTruthSelectionTool',
154 requireOnlyPrimary=
False,
159 acc.addEventAlgo( CompFactory.ActsTrk.TrackParticleTruthDecorationAlg(name=name, **kwargs) )
163 name: str =
'ActsTracksValidationAlg',
164 **kwargs: dict) -> ComponentAccumulator:
166 kwargs.setdefault(
'TruthParticleHitCounts',
'TruthParticleHitCounts')
167 kwargs.setdefault(
'TrackToTruthAssociationMap',
'ActsTracksToTruthParticles')
169 kwargs.setdefault(
'ComputeTrackRecoEfficiency',
True)
171 if 'TruthSelectionTool' not in kwargs:
172 from InDetPhysValMonitoring.InDetPhysValMonitoringConfig
import InDetRttTruthSelectionToolCfg
173 kwargs.setdefault(
"TruthSelectionTool", acc.popToolsAndMerge(
176 acc.addEventAlgo( CompFactory.ActsTrk.TrackFindingValidationAlg(name=name, **kwargs) )