Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:58:21

0001 import uuid
0002 import subprocess
0003 import shlex
0004 import os
0005 import glob
0006 
0007 
0008 def runtasklocal(taskid, task_parameters):
0009     total_n_jobs = task_parameters['total_n_jobs']
0010     os.mkdir(taskid)
0011     print('evgen')
0012     for job in range(total_n_jobs):
0013         job_parameters = {
0014             'p1': task_parameters['p1'],
0015             'p2': task_parameters['p2'],
0016             'nevents': int(task_parameters['nevents'] / total_n_jobs),
0017             'outputfile': '{}/out{}.json'.format(taskid, str(job).zfill(5))
0018         }
0019         cmdline = 'python simplescript.py {p1} {p2} {nevents} {outputfile}'.format(
0020             **job_parameters
0021         )
0022         print('subjob {}'.format(job), job_parameters)
0023         print('> {}'.format(cmdline))
0024 
0025         subprocess.check_call(shlex.split(cmdline))
0026 
0027     merge_job_parameters = {
0028         'outputfile': '{}/merged.json'.format(taskid),
0029         'nevents': task_parameters['nevents'],
0030         'filelist': ' '.join(glob.glob('{}/out*.json'.format(taskid)))
0031     }
0032     cmdline = 'python merge.py {outputfile} {nevents} {filelist}'.format(**merge_job_parameters)
0033     print('merge', merge_job_parameters)
0034     print('> {}'.format(cmdline))
0035     subprocess.check_call(shlex.split(cmdline))
0036 
0037 
0038 if __name__ == '__main__':
0039 
0040     task_parameters = {'p1': 0.5, 'p2': 0.5, 'nevents': 1000, 'total_n_jobs': 5}
0041 
0042     taskid = 'task-' + str(uuid.uuid4()).split('-')[0]
0043     runtasklocal(taskid, task_parameters)