import os import sys #from ROOT import * import random import time import datetime ### Objective: Hadronize previously produced LHE events and get GEN-level info cwd = os.getcwd() print 'Current working directory: ' + cwd + '\n' dateTo = datetime.datetime.now().strftime("%Y_%m_%d_%H%M%S") txtdir = 'jobOutputGEN_NLO_' + dateTo os.system('mkdir -p ' + txtdir) #cmsswdir = '/afs/cern.ch/user/a/awisecar/CMSSW_7_1_30' cmsswdir = '/afs/cern.ch/work/a/awisecar/MadGraph5Gen/CMSSW_7_4_0/src' cfgdir = '/afs/cern.ch/work/a/awisecar/MadGraph5Gen/CMSSW_7_4_0/src/cfg-NLO-GEN' #outdir = '/eos/cms/store/user/awisecar/WJets_2018.02.26/GENoutput-NLO' job = '#!/bin/bash \n' job += 'cd ' + cmsswdir + ' \n' job += 'eval `scramv1 runtime -sh` \n\n' job += 'cd ' + cwd + ' \n' ################ numEvents = 500000 njobs = 93 #doJet = [0] doJet = [2] #doVariation = [108, 110, 112, 114, 117, 119, 122, 124] #doVariation = [112, 124] doVariation = [122] ################ for jet in doJet: for variation in doVariation: ### names for files and directories #folderName = str(jet)+'j_0'+str(variation)+'_NLO_jobnum_' cfgFileName = 'WJToLNu_'+str(jet)+'j_5f_NLO_FxFx_as_0'+str(variation)+'_GEN_cfg.py' jind = 0 for i in range(0, njobs): print 'Job submission number #' + str(i) jind += 1 ### build job script and outfile ajob = str(job) tjobname = txtdir + '/job_'+str(jet)+'j_0'+str(variation)+'_'+str(jind)+'.sh' tjobname_out = txtdir + '/job_'+str(jet)+'j_0'+str(variation)+'_'+str(jind)+'.out' tjob = open(tjobname,'w') tjob.write(ajob+'\n') ### commands to write to job script comCd = 'cd ' + cmsswdir + ' \n' comArch = 'export SCRAM_ARCH=slc6_amd64_gcc491 \n' comCmsenv = 'eval `scramv1 runtime -sh` \n' #comCmsrun = 'cmsRun ' + cwd + '/' + cfgdir + cfgFileName + ' OutFileNum=oFileNumIn maxEvents=maxEvntIn 2>&1 \n\n' comCmsrun = 'cmsRun ' + cfgdir + '/' + cfgFileName + ' OutFileNum=oFileNumIn maxEvents=maxEvntIn 2>&1 \n\n' #comMvLHE = 'mv ' + cwd + '/' + folderName + '/' + 'CMSSW_7_1_30/src/' + LHEFileName + ' ' + outdir + '/' + LHESubFolder + '/' + LHEFileName + ' \n\n' ### renaming cmsrun = comCmsrun.replace('oFileNumIn', str(jind)) cmsrun = cmsrun.replace('maxEvntIn', str(numEvents)) ### write out rest of job tjob.write(comCd) tjob.write(comArch) tjob.write(comCmsenv) tjob.write(cmsrun) tjob.close() os.system('chmod 755 ' + tjobname) bsub = 'bsub -q 2nd -o ' + tjobname_out + ' -J ' + tjobname + ' < ' + tjobname + ' ' print bsub os.system(bsub) os.system('sleep 1')