11 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
12 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
13 from AthenaConfiguration.ComponentFactory
import CompFactory
14 from AthenaPython.PyAthenaComps
import Alg, StatusCode
27 flags.Exec.MaxEvents = evtMax
28 flags.Exec.OutputLevel = INFO
29 flags.Common.MsgSourceLength = 18
36 flags.Input.Files = [infile]
37 for stream, outfile
in kw.items():
38 flags.addFlag (f
'Output.{stream}FileName', outfile)
41 from Campaigns.Utils
import Campaign
42 flags.Input.RunNumbers = [0]
43 flags.Input.TimeStamps = [0]
44 flags.Input.ProcessingTags = []
45 flags.Input.TypedCollections = []
46 flags.Input.isMC =
True
47 flags.IOVDb.GlobalTag =
''
48 flags.Input.MCCampaign = Campaign.Unknown
56 loadReadDicts = False,
57 loadWriteDicts = False,
59 TimeStampInterval = None,
61 from AthenaConfiguration.MainServicesConfig
import \
62 MainServicesCfg, MessageSvcCfg
63 cfg = MainServicesCfg (flags)
64 cfg.merge (MessageSvcCfg (flags))
65 cfg.getService(
"MessageSvc").debugLimit = 10000
66 cfg.addService (CompFactory.ClassIDSvc (OutputLevel = INFO))
67 cfg.addService (CompFactory.ChronoStatSvc (ChronoPrintOutTable =
False,
68 PrintUserTime =
False,
69 StatPrintOutTable =
False))
71 if flags.Input.Files == [
'_ATHENA_GENERIC_INPUTFILE_NAME_']:
74 from McEventSelector.McEventSelectorConfig
import McEventSelectorCfg
76 if EventsPerLB
is not None:
77 mckw[
'EventsPerLB'] = EventsPerLB
78 if TimeStampInterval
is not None:
79 mckw[
'TimeStampInterval'] = TimeStampInterval
80 cfg.merge (McEventSelectorCfg (flags, **mckw))
82 from xAODEventInfoCnv.xAODEventInfoCnvConfig
import EventInfoCnvAlgCfg
83 cfg.merge (EventInfoCnvAlgCfg (flags, disableBeamSpot =
True))
84 elif not flags.Input.Files[0].endswith (
'.bs'):
86 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
87 cfg.merge (PoolReadCfg (flags))
91 cfg.merge (LoadWriteDictsCfg (flags))
93 cfg.merge (LoadReadDictsCfg (flags))
96 fileCatalog = testName +
'_catalog.xml'
97 from AthenaPoolCnvSvc.PoolCommonConfig
import PoolSvcCfg
98 kw = {
'WriteCatalog' :
'file:' + fileCatalog}
100 kw[
'ReadCatalog'] = [
'file:' + readCatalog]
101 cfg.merge (PoolSvcCfg (flags, **kw))
104 os.remove (fileCatalog)
115 def TestOutputCfg (flags, stream, itemList, typeNames = [], metaItemList = []):
116 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg, outputStreamName
118 itemList = [
'xAOD::EventInfo#EventInfo',
119 'xAOD::EventAuxInfo#EventInfoAux.'] + itemList
121 metaItemList = [
"IOVMetaDataContainer#*"]
123 helperTools = [ CompFactory.xAODMaker.EventFormatStreamHelperTool(
124 f
'{stream}_EventFormatStreamHelperTool',
125 Key = f
'EventFormat{stream}',
126 TypeNames = typeNames,
127 DataHeaderKey = f
'Stream{stream}') ]
128 metaItemList = [ f
'xAOD::EventFormat#EventFormat{stream}' ] + metaItemList
129 acc.merge (OutputStreamCfg (flags, stream,
130 disableEventTag =
True,
132 HelperTools = helperTools,
133 MetadataItemList = metaItemList))
136 alg.WritingTool.SubLevelBranchName =
'<key>'
137 acc.getService (
'AthenaPoolCnvSvc').PoolAttributes += [
"DEFAULT_SPLITLEVEL='1'"]
148 def __init__ (self, name = 'LoadWriteDicts', **kw):
149 super(LoadWriteDicts, self).__init__ (name=name, **kw)
152 ROOT.gROOT.SetBatch(
True)
154 cppyy.load_library(
"libDataModelTestDataCommonDict")
155 cppyy.load_library(
"libDataModelTestDataWriteDict")
156 cppyy.load_library(
"libDataModelTestDataWriteCnvDict")
158 ROOT.DMTest.setConverterLibrary (
'libDataModelTestDataWriteCnvPoolCnv.so')
159 ROOT.DMTest.setTrigConverterLibrary (
'libDataModelTestDataWriteSerCnv.so')
160 return StatusCode.Success
175 super(LoadReadDicts, self).__init__ (name=name, **kw)
178 ROOT.gROOT.SetBatch(
True)
180 cppyy.load_library(
"libDataModelTestDataCommonDict")
181 cppyy.load_library(
"libDataModelTestDataReadDict")
183 ROOT.gROOT.GetClass(
'DMTest::HAuxContainer_v1')
184 ROOT.gROOT.GetClass(
'DataVector<DMTest::H_v1>')
185 ROOT.gROOT.GetClass(
'DMTest::HView_v1')
186 ROOT.DMTest.setConverterLibrary (
'libDataModelTestDataReadCnvPoolCnv.so')
187 ROOT.DMTest.setTrigConverterLibrary (
'libDataModelTestDataReadSerCnv.so')
188 return StatusCode.Success