ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
EVNTMerge_tf.py
Go to the documentation of this file.
1 #! /usr/bin/env python
2 
3 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4 
5 
8 
9 import sys
10 import time
11 
12 # Setup core logging here
13 from PyJobTransforms.trfLogger import msg
14 msg.info('logging set in %s', sys.argv[0])
15 
16 from PyJobTransforms.transform import transform
17 from PyJobTransforms.trfExe import athenaExecutor
18 from PyJobTransforms.trfArgs import addAthenaArguments
19 from PyJobTransforms.trfDecorators import stdTrfExceptionHandler, sigUsrStackTrace
20 
21 import PyJobTransforms.trfArgClasses as trfArgClasses
22 
23 @stdTrfExceptionHandler
24 @sigUsrStackTrace
25 def main():
26 
27  msg.info('This is %s', sys.argv[0])
28 
29  trf = getTransform()
30  trf.parseCmdLineArgs(sys.argv[1:])
31  trf.execute()
32  trf.generateReport()
33 
34  msg.info("%s stopped at %s, trf exit code %d", sys.argv[0], time.asctime(), trf.exitCode)
35  sys.exit(trf.exitCode)
36 
38  executorSet = set()
39  print(type(executorSet))
40  executorSet.add(athenaExecutor(name = 'EVNTMerge', skeletonCA = 'EvgenJobTransforms.EVNTMerge_Skeleton', inData = ['EVNT'], outData = ['EVNT_MRG']))
41 
42  trf = transform(executor = executorSet)
43 
44  addAthenaArguments(trf.parser)
45  addMyArgs(trf.parser)
46  return trf
47 
48 
49 def addMyArgs(parser):
50  # Use arggroup to get these arguments in their own sub-section (of --help)
51  parser.defineArgGroup('EVNTMerge_tf', 'EVNT merge job specific options')
52  parser.add_argument('--inputEVNTFile', nargs='+',
53  type=trfArgClasses.argFactory(trfArgClasses.argEVNTFile, io='input', runarg=True, type='evnt'),
54  help='Input EVNT file', group='EVNTMerge_tf')
55  parser.add_argument('--outputEVNT_MRGFile', '--outputEVNTFile',
56  type=trfArgClasses.argFactory(trfArgClasses.argEVNTFile, io='output', runarg=True, type='evnt'),
57  help='Output merged EVNT file', group='EVNTMerge_tf')
58  parser.add_argument('--eventService', type=trfArgClasses.argFactory(trfArgClasses.argBool), metavar = "BOOL",
59  help='Switch AthenaMP to the Event Service configuration', group='EVNTMerge_tf')
60 
61 
62 
63 
64 if __name__ == '__main__':
65  main()
PyJobTransforms.trfArgClasses
Transform argument class definitions.
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
python.trfArgs.addAthenaArguments
def addAthenaArguments(parser, maxEventsDefaultSubstep='first', addValgrind=True, addPerfMon=True, addVTune=True)
Options related to running athena in general TODO: Some way to mask certain options (perExec,...
Definition: trfArgs.py:59
EVNTMerge_tf.addMyArgs
def addMyArgs(parser)
Definition: EVNTMerge_tf.py:49
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
CxxUtils::set
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition: bitmask.h:232
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:25
EVNTMerge_tf.main
def main()
Definition: EVNTMerge_tf.py:25
PyJobTransforms.trfExe
Transform execution functions.
PyJobTransforms.trfLogger
Logging configuration for ATLAS job transforms.
PyJobTransforms.transform
Main package for new style ATLAS job transforms.
EVNTMerge_tf.getTransform
def getTransform()
Definition: EVNTMerge_tf.py:37