40def AthenaPoolExampleWriteCfg(flags, outputStreamName, writeCatalog = None, disableEventTag = True ):
41 """Basic services configuration for AthenaPoolExamples that write output"""
42 acc = ComponentAccumulator()
43 if not flags.Input.Files:
44
45 from McEventSelector.McEventSelectorConfig import McEventSelectorCfg
46 acc.merge( McEventSelectorCfg( flags,
47 RunNumber = 1,
48 EventsPerRun = 0x100999999,
49 FirstEvent = 0x100000001,
50 EventsPerLB = 5,
51 FirstLB = 1,
52 InitialTimeStamp = 0,
53 TimeStampInterval = 5 ) )
54
55
56 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
57 acc.merge( PoolWriteCfg( flags ) )
58 if writeCatalog is not None:
59
60 acc.getService("PoolSvc").WriteCatalog = writeCatalog
61
62
63 from xAODMetaDataCnv.InfileMetaDataConfig import createEventStreamInfo, propagateMetaData, MetaDataHelperLists
64 from AthenaConfiguration.Enums import MetadataCategory
65 mdLists = MetaDataHelperLists()
66
67 lists, caConfig = propagateMetaData( flags, outputStreamName, MetadataCategory.FileMetaData )
68 mdLists += lists
69 acc.merge(caConfig)
70
71 mdLists.mdItems += ["IOVMetaDataContainer#*"]
72
73 esiList, _ = createEventStreamInfo(flags, streamName=outputStreamName)
74 mdLists += esiList
75
76
77 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
78 acc.merge( OutputStreamCfg( flags, outputStreamName, disableEventTag = disableEventTag,
79 MetadataItemList = mdLists.mdItems,
80 HelperTools = mdLists.helperTools ) )
81
82
83 from AthenaServices.MetaDataSvcConfig import MetaDataSvcCfg
84 acc.merge( MetaDataSvcCfg( flags, tools = mdLists.mdTools, toolNames = mdLists.mdToolNames ) )
85
86 from AthenaConfiguration.MainServicesConfig import MessageSvcCfg
87 acc.merge( MessageSvcCfg( flags ) )
88 from AthenaConfiguration.Utils import setupLoggingLevels
89 setupLoggingLevels( flags, acc )
90
91 return acc
92
93
94
95
96
97
98