|  | 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=',')