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