81def ActsPoolReadCfg(flags) -> ComponentAccumulator:
82 acc = ComponentAccumulator()
83
84
85 from InDetConfig.InDetPoolReadConfig import InDetPoolReadCfg
86 acc.merge(InDetPoolReadCfg(flags))
87
88 StoredTracks = dict()
89 typedCollections = flags.Input.TypedCollections
90
91 for typedCollection in typedCollections:
92 [colType, colName] = typedCollection.split('#')
93
94
95 if colType in TrackBackends.types:
96 prefix = TrackBackends.extractPrefix(collection=colName)
97 StoredTracks[prefix] = StoredTracks.get(prefix, TrackBackends())
98 StoredTracks[prefix].addCollection(collection=colName)
99 continue
100
101 for (key, backends) in StoredTracks.items():
102 if not backends.isValid():
103 raise Exception(f'Track backends with prefix {key} are not consistent. Be sure all the backends have been properly persistified in the file: {backends}')
104
105 acc.merge(ActsTrackReaderAlgCfg(flags, key))
106
107 return acc
108