24def xAODReadCfg(flags, AccessMode=xAODAccessMode.CLASS_ACCESS):
25 """
26 Creates a ComponentAccumulator instance containing the
27 athena services required for xAOD file reading
28 """
29
30 msg = Logging.logging.getLogger( 'ReadAthenaxAODHybrid' )
31 msg.debug("Configuring Athena for reading xAOD files (via TEvent, with POOL for Metadata)...")
32
33
34 result=ComponentAccumulator()
35
36 result.addService(CompFactory.EvtPersistencySvc("EventPersistencySvc",))
37 result.merge(MetaDataSvcCfg(flags))
38
39 result.addService(CompFactory.StoreGateSvc("MetaDataStore"))
40
41 result.addService(CompFactory.PoolSvc("PoolSvc",OutputLevel=Constants.WARNING))
42
43
44 result.addService(CompFactory.Athena.xAODCnvSvc())
45
46 result.addService(CompFactory.ProxyProviderSvc("ProxyProviderSvc",ProviderNames=[ "MetaDataSvc"]))
47 result.addService(
48 CompFactory.Athena.xAODEventSelector(
49 name='EventSelector',
50 InputCollections=flags.Input.Files,
51 SkipEvents=flags.Exec.SkipEvents,
52 AccessMode=AccessMode,
53 ReadMetaDataWithPool=True,
54 printEventProxyWarnings=False,
55 ))
56 evSel = result.getService("EventSelector")
57
58 result.setAppProperty("EvtSel",evSel.getFullJobOptName())
59
60 msg.debug("Configuring Athena for reading ROOT files (via TEvent, with POOL for Metadata)... [OK]")
61
62 return result
63
64
65