babymaker  e95a6a9342d4604277fe7cc6149b6b5b24447d89
send_merge_ntuples.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 
3 ###### Script to send jobs to merge ntuples
4 import os, sys, subprocess
5 import string
6 from utilities import *
7 
8 # Setting folders
9 folder = '/net/cms2/cms2r0/babymaker/babies/2016_06_14/mc/'
10 skims = ['standard', 'baseline', 'nl2nb2nj3', 'qcd', 'dy_ht300']
11 
12 
13 os.system("JobSetup.csh")
14 for skim in skims:
15  # Checking if input folder exists and creating output folder
16  infolder = folder+"/skim_"+skim+"/"
17  if not os.path.exists(infolder):
18  print "Skim "+infolder+" does not exist. Skipping"
19  continue
20  outfolder = folder+"/merged_"+skim+"/"
21  if not os.path.exists(outfolder):
22  os.system("mkdir -p "+outfolder)
23 
24  ## Finding tags for each dataset
25  infiles = findBaseSampleNames(infolder)
26 
27  # Sending jobs for each tag
28  runfolder = outfolder+"run/"
29  if not os.path.exists(runfolder):
30  os.system("mkdir -p "+runfolder)
31  ijob = 0
32  for ifile in infiles:
33  ijob += 1
34  exename = runfolder+"/merge_ntuples_"+str(ijob)+".sh"
35  fexe = open(exename,"w")
36  os.system("chmod u+x "+exename)
37  fexe.write("#!/bin/bash\n\n")
38  fexe.write("./run/merge_ntuples.exe "+infolder+' '+outfolder+' '+ifile+' '+skim+'\n')
39  fexe.close()
40  cmd = "JobSubmit.csh ./run/wrapper.sh "+exename
41  os.system(cmd)
42 
43  print "\nSubmitted "+str(len(infiles))+" merging jobs. Output goes to "+outfolder+"\n"
44 
45 sys.exit(0)
def findBaseSampleNames(folder)
Finding basename for each dataset.
Definition: utilities.py:12