6 acc = ComponentAccumulator()
8 if flags.Acts.EDM.PersistifyClusters
or flags.Acts.EDM.PersistifySpacePoints:
9 from ActsConfig.ActsPersistificationConfig
import PersistifyClusters
10 acc.merge(PersistifyClusters(flags,
11 pixelClusterCollections=[
'ITkPixelClusters'],
12 stripClusterCollections=[
'ITkStripClusters'],
13 hgtdClusterCollections=
None if not flags.Reco.EnableHGTDExtension
else [
'HGTD_Clusters']))
15 if flags.Acts.EDM.PersistifySpacePoints:
16 from ActsConfig.ActsPersistificationConfig
import PersistifySpacePoints
17 acc.merge(PersistifySpacePoints(flags,
18 pixelSpacePointCollections=[
'ITkPixelSpacePoints'],
19 stripSpacePointCollections=[
'ITkStripSpacePoints',
'ITkStripOverlapSpacePoints']))
21 if flags.Acts.EDM.PersistifyTracks:
22 trackPrefixes = [
'Acts',
'ActsResolved',
23 'LargeD0',
'LargeD0Resolved',
24 'ActsConversion',
'ActsConversionResolved',
25 'ActsHeavyIon',
'ActsHeavyIonResolved']
26 from ActsConfig.ActsPersistificationConfig
import PersistifyTracks
27 acc.merge(PersistifyTracks(flags,
28 extensions=trackPrefixes))
30 from ActsConfig.ActsPersistificationConfig
import PersistifyTrackParticles
31 acc.merge(PersistifyTrackParticles(flags,
32 trackParticleCollections=[
'InDetActsTrackParticles']))
38 if flags.Tracking.PRDInfo.KeepOnlyOnTrackMeasurements:
39 raise ValueError(
"The ACTSClusterPostInclude is to be used for technical efficiency computation, however the " \
40 f
"config flag 'Tracking.PRDInfo.KeepOnlyOnTrackMeasurements' is set to {flags.Tracking.PRDInfo.KeepOnlyOnTrackMeasurements}, " \
41 "which is incompatible with this purpose")
43 acc = ComponentAccumulator()
46 from ActsConfig.ActsRegionsOfInterestConfig
import ActsMainRegionsOfInterestCreatorAlgCfg
47 acc.merge(ActsMainRegionsOfInterestCreatorAlgCfg(flags,
48 name =
"ActsOfflineRegionsOfInterestCreatorAlg",
49 RoIs =
"ActsOfflineRegionOfInterest"))
53 clusteringKwargs = dict()
54 clusteringKwargs[
"PixelClusterizationAlg.name"] =
"ActsOfflinePixelClusterizationAlg"
55 clusteringKwargs[
"PixelClusterizationAlg.ClustersKey"] =
"ITkOfflinePixelClusters"
56 clusteringKwargs[
"StripClusterizationAlg.name"] =
"ActsOfflineStripClusterizationAlg"
57 clusteringKwargs[
"StripClusterizationAlg.ClustersKey"] =
"ITkOfflineStripClusters"
58 from ActsConfig.ActsClusterizationConfig
import ActsMainClusterizationCfg
59 acc.merge(ActsMainClusterizationCfg(flags,
60 RoIs =
"ActsOfflineRegionOfInterest",
65 if flags.Tracking.doTruth:
66 truthAssociationKwargs = dict()
67 truthAssociationKwargs[
"PixelClusterToTruthAssociationAlg.name"] =
"ActsOfflinePixelClusterToTruthAssociationAlg"
68 truthAssociationKwargs[
"PixelClusterToTruthAssociationAlg.Measurements"] =
"ITkOfflinePixelClusters"
69 truthAssociationKwargs[
"PixelClusterToTruthAssociationAlg.AssociationMapOut"] =
"ITkOfflinePixelClustersToTruthParticles"
70 truthAssociationKwargs[
"StripClusterToTruthAssociationAlg.name"] =
"ActsOfflineStripClusterToTruthAssociationAlg"
71 truthAssociationKwargs[
"StripClusterToTruthAssociationAlg.Measurements"] =
"ITkOfflineStripClusters"
72 truthAssociationKwargs[
"StripClusterToTruthAssociationAlg.AssociationMapOut"] =
"ITkOfflineStripClustersToTruthParticles"
74 from ActsConfig.ActsTruthConfig
import ActsTruthAssociationAlgCfg, ActsTruthParticleHitCountAlgCfg
75 acc.merge(ActsTruthAssociationAlgCfg(flags,
76 **truthAssociationKwargs))
77 acc.merge(ActsTruthParticleHitCountAlgCfg(flags,
78 name =
"ActsOfflineTruthParticleHitCountAlg",
79 PixelClustersToTruthAssociationMap =
"ITkOfflinePixelClustersToTruthParticles",
80 StripClustersToTruthAssociationMap =
"ITkOfflineStripClustersToTruthParticles",
81 TruthParticleHitCountsOut =
"OfflineTruthParticleHitCounts"))
83 from InDetConfig.InDetPrepRawDataToxAODConfig
import TruthParticleIndexDecoratorAlgCfg
84 acc.merge( TruthParticleIndexDecoratorAlgCfg(flags) )
86 from ActsConfig.ActsObjectDecorationConfig
import ActsPixelClusterTruthDecoratorAlgCfg,ActsStripClusterTruthDecoratorAlgCfg
87 acc.merge(ActsPixelClusterTruthDecoratorAlgCfg(flags,
88 name =
"ActsOfflinePixelClusterTruthDecoratorAlgCfg",
89 ClusterContainer =
"ITkOfflinePixelClusters",
90 AssociationMapOut =
"ITkOfflinePixelClustersToTruthParticles",
91 MeasurementContainer =
"ITkPixelMeasurements_offl"))
92 acc.merge(ActsStripClusterTruthDecoratorAlgCfg(flags,
93 name =
"ActsOfflineStripClusterTruthDecoratorAlgCfg",
94 ClusterContainer =
"ITkOfflineStripClusters",
95 AssociationMapOut =
"ITkOfflineStripClustersToTruthParticles",
96 MeasurementContainer =
"ITkStripMeasurements_offl"))
100 'xAOD::TrackMeasurementValidationContainer#ITkPixelMeasurements_offl',
101 'xAOD::TrackMeasurementValidationAuxContainer#ITkPixelMeasurements_offlAux.',
102 'xAOD::TrackMeasurementValidationContainer#ITkStripMeasurements_offl',
103 'xAOD::TrackMeasurementValidationAuxContainer#ITkStripMeasurements_offlAux.'
106 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD
107 acc.merge( addToAOD( flags, toAOD ) )
ComponentAccumulator ACTSClusterPostInclude(flags)
ComponentAccumulator PersistifyActsEDMCfg(flags)