25 |
|
print "Please provide a task.\n-J prep:\tpreparation of Trees\n-J sys:\t\twrite regression and systematics\n-J eval:\tcreate MVA output\n-J plot:\tproduce Plots\n-J dc:\t\twrite workspaces and datacards" |
26 |
|
sys.exit(123) |
27 |
|
|
28 |
< |
#create the dictionary with the samples to run over |
29 |
< |
samplesDict=opts.samples.split(",") |
28 |
> |
#create the list with the samples to run over |
29 |
> |
samplesList=opts.samples.split(",") |
30 |
|
|
31 |
|
en = opts.tag |
32 |
|
configs = ['config%s'%(en),'pathConfig%s'%(en)] |
43 |
|
shutil.copyfile('/scratch/%s/%s'%(getpass.getuser(),os.path.basename(btagLibrary)),btagLibrary) |
44 |
|
os.chdir(submitDir) |
45 |
|
logPath = config.get("Directories","logpath") |
46 |
< |
repDict = {'en':en,'logpath':logPath,'job':''} |
46 |
> |
#check if the logPath exist. If not exit |
47 |
> |
if( not os.path.isdir(logPath) ): |
48 |
> |
print 'ERROR: ' + logPath + ': dir not found.' |
49 |
> |
print 'ERROR: Create it before submitting ' |
50 |
> |
print 'Exit' |
51 |
> |
sys.exit(-1) |
52 |
> |
|
53 |
> |
repDict = {'en':en,'logpath':logPath,'job':'','task':opts.task} |
54 |
|
def submit(job,repDict): |
55 |
|
repDict['job'] = job |
56 |
< |
command = 'qsub -V -cwd -q all.q -N %(job)s_%(en)s -o %(logpath)s/%(job)s_%(en)s.out -e %(logpath)s/%(job)s_%(en)s.err runAll.sh %(job)s %(en)s ' %(repDict) + opts.task |
56 |
> |
command = 'qsub -V -cwd -q all.q -N %(job)s_%(en)s%(task)s -o %(logpath)s/%(job)s_%(en)s_%(task)s.out -e %(logpath)s/%(job)s_%(en)s_%(task)s.err runAll.sh %(job)s %(en)s ' %(repDict) + opts.task |
57 |
|
print command |
58 |
|
subprocess.call([command], shell=True) |
59 |
|
|
60 |
|
if opts.task == 'dc': |
61 |
|
DC_vars = config.items('Limit') |
62 |
|
if opts.task == 'plot': |
63 |
< |
Plot_vars= config.items('Plot') |
63 |
> |
Plot_vars= (config.get('Plot_general','List')).split(',') |
64 |
|
|
65 |
< |
path = config.get("Directories","samplepath") |
66 |
< |
infofile = open(path+'/env/samples.info','r') |
67 |
< |
info = pickle.load(infofile) |
68 |
< |
infofile.close() |
65 |
> |
if not opts.task == 'prep': |
66 |
> |
path = config.get("Directories","samplepath") |
67 |
> |
infofile = open(path+'/env/samples.info','r') |
68 |
> |
info = pickle.load(infofile) |
69 |
> |
infofile.close() |
70 |
|
|
71 |
|
|
72 |
|
if opts.task == 'plot': |
73 |
|
for item in Plot_vars: |
74 |
< |
if 'ZH%s'%opts.mass in item[0]: |
67 |
< |
submit(item[0],repDict) |
68 |
< |
elif opts.mass == '' and 'ZH' in item[0]: |
69 |
< |
submit(item[0],repDict) |
74 |
> |
submit(item,repDict) |
75 |
|
|
76 |
|
elif opts.task == 'dc': |
77 |
|
for item in DC_vars: |
87 |
|
for job in info: |
88 |
|
submit(job.name,repDict) |
89 |
|
else: |
90 |
< |
for sample in samplesDict: |
90 |
> |
for sample in samplesList: |
91 |
|
submit(sample,repDict) |
92 |
|
|