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