ATLAS Offline Software
AthenaPoolExample_WriteMeta.py
Go to the documentation of this file.
1 #!/env/python
2 
3 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4 
5 
13 
14 from AthenaConfiguration.AllConfigFlags import initConfigFlags
15 from AthenaConfiguration.ComponentFactory import CompFactory
16 from AthenaCommon.Constants import DEBUG
17 
18 outputFileName = "ROOTTREE:SimplePoolFile5.root"
19 outputStreamName = "ExampleMeta"
20 noTag = True
21 
22 # Setup flags
23 flags = initConfigFlags()
24 flags.Input.Files = []
25 flags.addFlag(f"Output.{outputStreamName}FileName", outputFileName)
26 flags.Exec.MaxEvents = 10
27 flags.Common.MsgSuppression = False
28 flags.Exec.DebugMessageComponents = ["PoolSvc", "AthenaPoolCnvSvc","AthenaPoolAddressProviderSvc", "MetaDataSvc"]
29 flags.lock()
30 
31 # Main services
32 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
33 acc = MainServicesCfg( flags )
34 
35 from xAODEventInfoCnv.xAODEventInfoCnvConfig import EventInfoCnvAlgCfg
36 acc.merge( EventInfoCnvAlgCfg( flags, disableBeamSpot=True ) )
37 
38 from AthenaPoolExampleAlgorithms.AthenaPoolExampleConfig import AthenaPoolExampleWriteCfg
39 acc.merge( AthenaPoolExampleWriteCfg( flags, outputStreamName,
40  writeCatalog = "file:Catalog2.xml",
41  disableEventTag = noTag ) )
42 
43 # Creata and attach the algorithms
44 acc.addEventAlgo( CompFactory.AthPoolEx.WriteData("WriteData", OutputLevel = DEBUG) )
45 acc.addEventAlgo( CompFactory.AthPoolEx.WriteCond("WriteCond",
46  DetStore = acc.getService("MetaDataStore"),
47  ConditionName = "PedestalWriteData",
48  OutputLevel = DEBUG) )
49 
50 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
51 acc.merge( OutputStreamCfg( flags, outputStreamName, disableEventTag = noTag,
52  ItemList = ["EventInfo#*", "ExampleHitContainer#MyHits"],
53  MetadataItemList = ["ExampleHitContainer#PedestalWriteData"],
54  ) )
55 
56 # Run
57 import sys
58 sc = acc.run(flags.Exec.MaxEvents)
59 sys.exit(sc.isFailure())
60 
61 
62 
63 
64 
65 
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=None, MetadataItemList=None, disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, keepProvenanceTagsRegEx=None, AcceptAlgs=None, HelperTools=None)
Definition: OutputStreamConfig.py:13
AthenaPoolExampleConfig.AthenaPoolExampleWriteCfg
def AthenaPoolExampleWriteCfg(flags, outputStreamName, writeCatalog=None, disableEventTag=True)
Definition: AthenaPoolExampleConfig.py:40
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:312
Constants
some useful constants -------------------------------------------------—
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.xAODEventInfoCnvConfig.EventInfoCnvAlgCfg
def EventInfoCnvAlgCfg(flags, name="EventInfoCnvAlg", inputKey="McEventInfo", outputKey="EventInfo", disableBeamSpot=False, **kwargs)
Definition: xAODEventInfoCnvConfig.py:11