ATLAS Offline Software
Functions | Variables
python.EVNTMerge_Skeleton Namespace Reference

Functions

def fromRunArgs (runArgs)
 

Variables

 jobPropertiesDisallowed
 

Function Documentation

◆ fromRunArgs()

def python.EVNTMerge_Skeleton.fromRunArgs (   runArgs)

Definition at line 12 of file EVNTMerge_Skeleton.py.

12 def fromRunArgs(runArgs):
13  from AthenaCommon.Logging import logging
14  log = logging.getLogger("EVNTMerge")
15  log.info("****************** STARTING EVNT MERGING *****************")
16 
17  log.info("**** Transformation run arguments")
18  log.info(str(runArgs))
19 
20  log.info("**** Setting-up configuration flags")
21  from AthenaConfiguration.AllConfigFlags import initConfigFlags
22  flags = initConfigFlags()
23 
24  from AthenaConfiguration.Enums import ProductionStep, MetadataCategory
25  flags.Common.ProductionStep = ProductionStep.Generation
26 
27  commonRunArgsToFlags(runArgs, flags)
28 
29  if hasattr(runArgs, "inputEVNTFile"):
30  flags.Input.Files = runArgs.inputEVNTFile
31  else:
32  raise RuntimeError("No input EVNT file defined")
33 
34  if hasattr(runArgs, "outputEVNT_MRGFile"):
35  if runArgs.outputEVNT_MRGFile == "None":
36  flags.Output.EVNTFileName = ""
37  # TODO decide if we need a specific EVNT_MRGFileName flag
38  else:
39  flags.Output.EVNTFileName = runArgs.outputEVNT_MRGFile
40  else:
41  raise RuntimeError("No outputEVNT_MRGFile defined")
42 
43  # Pre-include
44  processPreInclude(runArgs, flags)
45 
46  # Pre-exec
47  processPreExec(runArgs, flags)
48 
49  # To respect --athenaopts
50  flags.fillFromArgs()
51 
52  # Lock flags
53  flags.lock()
54 
55  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
56  cfg = MainServicesCfg(flags)
57 
58  from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
59  cfg.merge(PoolReadCfg(flags))
60 
61  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
62  cfg.merge(OutputStreamCfg(flags, "EVNT", disableEventTag = True, takeItemsFromInput = True, extendProvenanceRecord = False))
63 
64  # Add in-file MetaData
65  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
66 
67  cfg.merge(
68  SetupMetaDataForStreamCfg(flags, "EVNT", disableEventTag=True),
69  createMetadata=[
70  MetadataCategory.IOVMetaData,
71  ],
72  )
73 
74  # Post-include
75  processPostInclude(runArgs, flags, cfg)
76 
77  # Post-exec
78  processPostExec(runArgs, flags, cfg)
79 
80  # Write AMI tag into in-file metadata
81  from PyUtils.AMITagHelperConfig import AMITagCfg
82  cfg.merge(AMITagCfg(flags, runArgs))
83 
84 
85  from AthenaConfiguration.AutoConfigFlags import GetFileMD
86  hepmc_version = GetFileMD(flags.Input.Files).get("hepmc_version", None)
87  if hepmc_version is not None:
88  if hepmc_version == "2":
89  hepmc_version = "HepMC2"
90  elif hepmc_version == "3":
91  hepmc_version = "HepMC3"
92  log.info("Input file was produced with %s", hepmc_version)
93  from EventInfoMgt.TagInfoMgrConfig import TagInfoMgrCfg
94  cfg.merge(TagInfoMgrCfg(flags, tagValuePairs={"hepmc_version": hepmc_version}))
95 
96  import time
97  tic = time.time()
98  # Run the final accumulator
99  sc = cfg.run()
100  log.info("Ran EVNTMerge_tf in " + str(time.time()-tic) + " seconds")
101 
102  sys.exit(not sc.isSuccess())

Variable Documentation

◆ jobPropertiesDisallowed

python.EVNTMerge_Skeleton.jobPropertiesDisallowed

Definition at line 9 of file EVNTMerge_Skeleton.py.

python.TransformUtils.processPreExec
def processPreExec(runArgs, flags)
Definition: Tools/PyJobTransforms/python/TransformUtils.py:41
python.TransformUtils.processPostExec
def processPostExec(runArgs, flags, cfg)
Definition: Tools/PyJobTransforms/python/TransformUtils.py:50
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=[], MetadataItemList=[], disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:12
python.AutoConfigFlags.GetFileMD
def GetFileMD(filenames, allowEmpty=True)
Definition: AutoConfigFlags.py:51
python.TransformUtils.processPostInclude
def processPostInclude(runArgs, flags, cfg)
Definition: Tools/PyJobTransforms/python/TransformUtils.py:69
python.TransformUtils.processPreInclude
def processPreInclude(runArgs, flags)
Definition: Tools/PyJobTransforms/python/TransformUtils.py:62
python.TagInfoMgrConfig.TagInfoMgrCfg
def TagInfoMgrCfg(flags, tagValuePairs={})
Definition: TagInfoMgrConfig.py:6
python.EVNTMerge_Skeleton.fromRunArgs
def fromRunArgs(runArgs)
Definition: EVNTMerge_Skeleton.py:12
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:259
python.CommonRunArgsToFlags.commonRunArgsToFlags
def commonRunArgsToFlags(runArgs, configFlags)
Definition: CommonRunArgsToFlags.py:12
python.AMITagHelperConfig.AMITagCfg
def AMITagCfg(flags, runArgs=None, fixBroken=False)
Definition: AMITagHelperConfig.py:77
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
get
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition: hcg.cxx:127
str
Definition: BTagTrackIpAccessor.cxx:11
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:219
python.PoolReadConfig.PoolReadCfg
def PoolReadCfg(flags)
Definition: PoolReadConfig.py:69