|
ATLAS Offline Software
|
Go to the documentation of this file.
7 Run EventIndex on POOL file, produce EI file and send Events to brokers
12 from itertools
import cycle
18 from PyJobTransforms.trfArgs
import addAthenaArguments
19 from PyJobTransforms.trfDecorators
import stdTrfExceptionHandler
20 from PyJobTransforms.trfDecorators
import sigUsrStackTrace
24 msg.info(
'logging set in {}'.
format(sys.argv[0]))
27 @stdTrfExceptionHandler
31 msg.info(
'This is {}'.
format(sys.argv[0]))
34 trf.parseCmdLineArgs(sys.argv[1:])
39 if "eidsname" not in args:
41 for filetype
in (
'POOL',
'AOD',
'ESD',
'EVNT',
'HITS',
'RDO'):
42 if 'input'+filetype+
'File' in args:
43 inputFile = args[
'input'+filetype+
'File']
44 dsname = inputFile.dataset
45 if dsname
is not None:
46 obj = trfArgClasses.argString(dsname)
47 args[
'eidsname'] = obj
54 msg.info(
'Output file: {}'.
format(oname_spb))
56 if (oname_spb
is not None and "sendtobroker" in args
57 and args[
"sendtobroker"].value):
59 from EventIndexProducer.sendEI_SPB_Lib
import eimrun
60 from EventIndexProducer.sendEI_SPB_Lib
import options
as eioptions
67 if "testbrk" in args
and args[
"testbrk"]:
69 earg =
"fWIqIhAfKiAxAEoxOyMtB0IxLCwASz0tYS8RHStnPBxcZn5/" \
70 "fUdDaGQqBwMiYy44GAozPTYQHiQ8O2BZQjUoLAcFPysqYDMJ" \
71 "cT09QRISABg1MwcXPQlYS308fCkaCzUmNhoSfDx8YhcKNydx" \
72 "Fw5qe3t/WEJoKCgHBzMsKj8HQ3MAGT8+Hx0YFiRecRBsIFAC" \
73 "ewAFWEJoKCgHFTUsPSkAQxQ/LkIiNB86DT08dXAUAh8DBA4g" \
74 "PBl9ERQ8HhoALBwbXBF9CkY+HSRjYVkKKjo5FQo8LS4vH0Mx" \
78 earg =
"fWIqIhAfKiAxAEoxOyMtB0IoK3EXAyIhYS8cVXN4b0VVfGJi" \
79 "OQcKN2U+AAo1OTslEBcxOitYS30/Lj8HDCotOlghNns7LkEb" \
80 "BwYIDSE4HTsaWEJoOmwRCDQ/ICUaG2k6bFoFNT0hYhcHf31r" \
81 "R0p9Yi47Bw4mKjoHFXx5Bgo/NwobCC42YXsWfyBZF30QPUp9" \
82 "Yi47BxwgKi0REnweOT1CKyEZKjUvA392BwIWFgIeGC4mdxcH" \
83 "PBcPBjwkCWMbexlGNwgic1lLNSA8KhUDKSs+Fw18Oz05EQ=="
84 eargs =
''.
join(chr(c ^ ord(k))
for c, k
in
85 zip(base64.b64decode(earg),
88 argv2.append(oname_spb)
89 eiopts = eioptions(argv2)
96 msg.info(
"{} stopped at {}, trf exit code {:d}".
format(sys.argv[0],
99 sys.exit(trf.exitCode)
105 from EventIndexProducer.EITransformUtils
import addEI_Substep
106 from EventIndexProducer.EITransformUtils
import addEI_arguments
110 description=
'EventIndex transform. '
111 'Input must be a POOL file.')
121 eifmt = args[
'eifmt'].value
124 if "outputEIFile" in args:
125 outputEIFile = args[
'outputEIFile'].value[0]
131 if outputEIFile
is not None:
132 oname_spb = outputEIFile
134 oname_spb =
"output.ei.spb"
139 if __name__ ==
'__main__':
double cycle(double a, double b)
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,...
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
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.
std::string join(const std::vector< std::string > &v, const char c=',')