Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:12:07

0001 from optparse import OptionParser
0002 import time
0003 import os
0004 import pwd
0005 import sys
0006 import re
0007 
0008 def dir_empty(dir_path):
0009     return not any((True for _ in os.scandir(dir_path)))
0010 
0011 
0012 if __name__ == '__main__':
0013     parser = OptionParser(usage="usage: %prog ver [options -h]")
0014     parser.add_option("-d", "--isdata", dest="isdata", action="store_true", default=False, help="Is data or simulation")
0015     parser.add_option("-f", "--filedesc", dest="filedesc", default='Data_CombinedNtuple_Run20869_HotDead_BCO_ADC_Survey', help="File description")
0016     parser.add_option("-j", "--nJob", dest="nJob", default=400, help="nJob")
0017     parser.add_option("-s", "--submitcondor", dest="submitcondor", action="store_true", default=False, help="Submit condor jobs")
0018 
0019     (opt, args) = parser.parse_args()
0020     print('opt: {}'.format(opt))
0021 
0022     isdata = opt.isdata
0023     filedesc = opt.filedesc
0024     nJob = int(opt.nJob)
0025     submitcondor = opt.submitcondor
0026     
0027     parentdir = os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir))
0028     finaloutfiledir = '{}/plot/hists/{}/RecoVtx'.format(parentdir, filedesc)
0029     os.makedirs(finaloutfiledir, exist_ok=True)
0030 
0031     os.makedirs('./log_plotrecovtx/', exist_ok=True)
0032     if not dir_empty('./log_plotrecovtx/'):
0033         os.system('rm ./log_plotrecovtx/*')
0034 
0035     condorFileName = "submitCondor_plotRecoVtx_{}.job".format('data' if isdata else 'sim')
0036     condorFile = open("{}".format(condorFileName), "w")
0037     condorFile.write("Universe           = vanilla\n")
0038     condorFile.write("InitialDir         = {}\n".format(parentdir))
0039     condorFile.write("Executable         = $(InitialDir)/condor_plotRecoVtx.sh\n")
0040     condorFile.write("PeriodicHold       = (NumJobStarts>=1 && JobStatus == 1)\n")
0041     # condorFile.write("concurrency_limits = CONCURRENCY_LIMIT_DEFAULT:100\n")
0042     condorFile.write("request_memory     = 4GB\n")
0043     condorFile.write("Priority           = 20\n")
0044     condorFile.write("job_lease_duration = 3600\n")
0045     condorFile.write("Myindex            = $(Process)\n")
0046     condorFile.write("Extension          = $INT(Myindex,%05d)\n")
0047     condorFile.write("isdata             = {}\n".format(1 if isdata else 0))
0048     condorFile.write("infilename         = {}/minitree/VtxEvtMap_{}/minitree_$(Extension).root\n".format(parentdir,filedesc))
0049     condorFile.write("outfilename        = {}/hists_$(Extension).root\n".format(finaloutfiledir))
0050     condorFile.write("Output             = $(Initialdir)/condor/log_plotrecovtx/condorlog_$(Extension).out\n")
0051     condorFile.write("Error              = $(Initialdir)/condor/log_plotrecovtx/condorlog_$(Extension).err\n")
0052     # condorFile.write("Log                = $(Initialdir)/condor/log_plotrecovtx/condorlog_$(Extension).log\n")
0053     condorFile.write("Log                = /tmp/condorlog_hjheng_plotrecovtx_$(Process).log\n")
0054     condorFile.write("Arguments          = \"$(isdata) $(infilename) $(outfilename)\"\n")
0055     condorFile.write("Queue {}\n".format(nJob))
0056     condorFile.close() # Close the file before submitting the job
0057 
0058     if submitcondor:
0059         cmd = 'condor_submit ' + condorFileName
0060         os.system(cmd)