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