3 from D3PDMakerCoreComps.D3PDObject
import D3PDObject
4 import D3PDMakerCoreComps
6 from D3PDMakerConfig.D3PDMakerFlags
import D3PDMakerFlags
7 from AthenaPython
import PyAthena
9 from D3PDMakerReader.D3PDMakerReaderConf
import D3PD__MultiReaderAlg
11 from AthenaCommon.Logging
import logging
12 from AthenaCommon.AlgSequence
import AlgSequence
25 preD3PDAlgSeqName = D3PDMakerFlags.PreD3PDAlgSeqName(),
28 self.
__logger = logging.getLogger(
"MultiReaderAlg" )
31 seq.__iadd__( D3PDMakerCoreComps.DummyInitAlg( name +
'DummyInit' ),
39 D3PD__MultiReaderAlg.__init__ ( self, name,
40 TupleName = tuplename,
48 if not hasattr( seq, preD3PDAlgSeqName ):
52 preseq.StopOverride =
True
66 suffix = D3PDMakerFlags.FilterAlgSeqSuffix()
79 from AthenaCommon.AppMgr
import ToolSvc
81 D3PDMakerCoreComps.CollectionGetterRegistryTool (self.name() +
82 '_CollectionGetterRegistry')
88 """Add a new IObjFillerTool to a tree."""
91 if not isinstance( config, list ):
93 if hasattr( self, config.getName() ):
94 self.
__logger.warning(
"Duplicate D3PDObject with name \"%s\" ignored", config.ObjectName )
97 self.
__logger.
info(
"Adding D3PDObject with name \"%s\" and prefix \"%s\"",
98 config.ObjectName, config.Prefix )
99 self.Tools += [ config ]
100 self.Prefixes += [ config.Prefix ]
101 self.ClassNames += [ config.ObjectName ]
109 super( MultiReaderAlg, self ).
__iadd__( config )
115 for c
in self.getChildren()[ nchild : ]:
116 D3PDObject.runHooks( c )
122 """Scan CONF and all children to set the proper
123 collection getter registry for this tree.
126 if 'CollectionGetterRegistry' in conf.properties():
127 conf.CollectionGetterRegistry = self.
_registry
128 for c
in conf.getAllChildren():