6 acc = ComponentAccumulator()
8 from ActsConfig.ActsPersistificationConfig
import PersistifyClusters
9 acc.merge(PersistifyClusters(flags,
10 pixelClusterCollections=[
'ITkPixelClusters'],
11 stripClusterCollections=[
'ITkStripClusters'],
12 hgtdClusterCollections=
None if not flags.Reco.EnableHGTDExtension
else [
'HGTD_Clusters']))
14 from ActsConfig.ActsPersistificationConfig
import PersistifySpacePoints
15 acc.merge(PersistifySpacePoints(flags,
16 pixelSpacePointCollections=[
'ITkPixelSpacePoints'],
17 stripSpacePointCollections=[
'ITkStripSpacePoints',
'ITkStripOverlapSpacePoints']))
19 trackPrefixes = [
'Acts',
'ActsResolved',
20 'ActsLargeRadius',
'ActsLargeRadiusResolved',
21 'ActsConversion',
'ActsConversionResolved',
22 'ActsHeavyIon',
'ActsHeavyIonResolved']
23 from ActsConfig.ActsPersistificationConfig
import PersistifyTracks
24 acc.merge(PersistifyTracks(flags,
25 extensions=trackPrefixes))
27 from ActsConfig.ActsPersistificationConfig
import PersistifyTrackParticles
28 acc.merge(PersistifyTrackParticles(flags,
29 trackParticleCollections=[
'InDetActsTrackParticles']))
35 if flags.Tracking.PRDInfo.KeepOnlyOnTrackMeasurements:
36 raise ValueError(
"The ACTSClusterPostInclude is to be used for technical efficiency computation, however the " \
37 f
"config flag 'Tracking.PRDInfo.KeepOnlyOnTrackMeasurements' is set to {flags.Tracking.PRDInfo.KeepOnlyOnTrackMeasurements}, " \
38 "which is incompatible with this purpose")
40 acc = ComponentAccumulator()
43 from ActsConfig.ActsRegionsOfInterestConfig
import ActsMainRegionsOfInterestCreatorAlgCfg
44 acc.merge(ActsMainRegionsOfInterestCreatorAlgCfg(flags,
45 name =
"ActsOfflineRegionsOfInterestCreatorAlg",
46 RoIs =
"ActsOfflineRegionOfInterest"))
50 clusteringKwargs = dict()
51 clusteringKwargs[
"PixelClusterizationAlg.name"] =
"ActsOfflinePixelClusterizationAlg"
52 clusteringKwargs[
"PixelClusterizationAlg.ClustersKey"] =
"ITkOfflinePixelClusters"
53 clusteringKwargs[
"StripClusterizationAlg.name"] =
"ActsOfflineStripClusterizationAlg"
54 clusteringKwargs[
"StripClusterizationAlg.ClustersKey"] =
"ITkOfflineStripClusters"
55 from ActsConfig.ActsClusterizationConfig
import ActsMainClusterizationCfg
56 acc.merge(ActsMainClusterizationCfg(flags,
57 RoIs =
"ActsOfflineRegionOfInterest",
62 if flags.Tracking.doTruth:
63 truthAssociationKwargs = dict()
64 truthAssociationKwargs[
"PixelClusterToTruthAssociationAlg.name"] =
"ActsOfflinePixelClusterToTruthAssociationAlg"
65 truthAssociationKwargs[
"PixelClusterToTruthAssociationAlg.Measurements"] =
"ITkOfflinePixelClusters"
66 truthAssociationKwargs[
"PixelClusterToTruthAssociationAlg.AssociationMapOut"] =
"ITkOfflinePixelClustersToTruthParticles"
67 truthAssociationKwargs[
"StripClusterToTruthAssociationAlg.name"] =
"ActsOfflineStripClusterToTruthAssociationAlg"
68 truthAssociationKwargs[
"StripClusterToTruthAssociationAlg.Measurements"] =
"ITkOfflineStripClusters"
69 truthAssociationKwargs[
"StripClusterToTruthAssociationAlg.AssociationMapOut"] =
"ITkOfflineStripClustersToTruthParticles"
71 from ActsConfig.ActsTruthConfig
import ActsTruthAssociationAlgCfg, ActsTruthParticleHitCountAlgCfg
72 acc.merge(ActsTruthAssociationAlgCfg(flags,
73 **truthAssociationKwargs))
74 acc.merge(ActsTruthParticleHitCountAlgCfg(flags,
75 name =
"ActsOfflineTruthParticleHitCountAlg",
76 PixelClustersToTruthAssociationMap =
"ITkOfflinePixelClustersToTruthParticles",
77 StripClustersToTruthAssociationMap =
"ITkOfflineStripClustersToTruthParticles",
78 TruthParticleHitCountsOut =
"OfflineTruthParticleHitCounts"))
80 from InDetConfig.InDetPrepRawDataToxAODConfig
import TruthParticleIndexDecoratorAlgCfg
81 acc.merge( TruthParticleIndexDecoratorAlgCfg(flags) )
83 from ActsConfig.ActsObjectDecorationConfig
import ActsPixelClusterTruthDecoratorAlgCfg,ActsStripClusterTruthDecoratorAlgCfg
84 acc.merge(ActsPixelClusterTruthDecoratorAlgCfg(flags,
85 name =
"ActsOfflinePixelClusterTruthDecoratorAlgCfg",
86 ClusterContainer =
"ITkOfflinePixelClusters",
87 AssociationMapOut =
"ITkOfflinePixelClustersToTruthParticles",
88 MeasurementContainer =
"ITkPixelMeasurements_offl"))
89 acc.merge(ActsStripClusterTruthDecoratorAlgCfg(flags,
90 name =
"ActsOfflineStripClusterTruthDecoratorAlgCfg",
91 ClusterContainer =
"ITkOfflineStripClusters",
92 AssociationMapOut =
"ITkOfflineStripClustersToTruthParticles",
93 MeasurementContainer =
"ITkStripMeasurements_offl"))
97 'xAOD::TrackMeasurementValidationContainer#ITkPixelMeasurements_offl',
98 'xAOD::TrackMeasurementValidationAuxContainer#ITkPixelMeasurements_offlAux.',
99 'xAOD::TrackMeasurementValidationContainer#ITkStripMeasurements_offl',
100 'xAOD::TrackMeasurementValidationAuxContainer#ITkStripMeasurements_offlAux.'
103 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD
104 acc.merge( addToAOD( flags, toAOD ) )
ComponentAccumulator ACTSClusterPostInclude(flags)
ComponentAccumulator PersistifyActsEDMCfg(flags)