Author: [log in to unmask]
Date: Thu Mar 5 18:41:01 2015
New Revision: 2282
Log:
putting auger scripts in svn.
Added:
scripts/scripts/
scripts/scripts/recon/
scripts/scripts/recon/2014/
scripts/scripts/recon/2014/scripts/
scripts/scripts/recon/2014/scripts/getfilenumbers.py (with props)
scripts/scripts/recon/2014/scripts/old/
scripts/scripts/recon/2014/scripts/old/getfilenumbers.sh (with props)
scripts/scripts/recon/2014/scripts/runjob.py (with props)
scripts/scripts/recon/2014/scripts/runjobs.py (with props)
scripts/scripts/recon/2014/templates/
scripts/scripts/recon/2014/templates/allEcalOnly.xml
scripts/scripts/recon/2014/templates/dqmEcalOnly.xml
scripts/scripts/recon/2014/templates/dstEcalOnly.xml
scripts/scripts/recon/2014/templates/reconEcalOnly.xml
scripts/scripts/recon/2014/templates/reconTruncEcalOnly.xml
Added: scripts/scripts/recon/2014/scripts/getfilenumbers.py
=============================================================================
--- scripts/scripts/recon/2014/scripts/getfilenumbers.py (added)
+++ scripts/scripts/recon/2014/scripts/getfilenumbers.py Thu Mar 5 18:41:01 2015
@@ -0,0 +1,63 @@
+#!/usr/bin/env python
+import sys,os
+if len(sys.argv) < 3:
+ print sys.argv[0]+' [options] <runtype> <runnumber>'
+ print 'gets list of files (just the labels) from a run number '
+ print '<runtype> can be recon, dqm, or dst'
+ sys.exit()
+
+# mandatory arguments:
+runtype=sys.argv[len(sys.argv)-2]
+run=int(sys.argv[len(sys.argv)-1])
+
+mssdir='/mss/hallb/hps/'
+wrkdir='/work/hallb/hps'
+voldir='/volatile/hallb/hps'
+
+label='R3.2'
+passN='pass1'
+indir=mssdir+'/data'
+outdir=mssdir+'/engrun/'+passN
+
+# below are set for 'recon'
+postfixout='slcio'
+postfixin='evio'
+midin=''
+midout='_recon_'+label
+
+if runtype == 'recon':
+ outdir=outdir+'/recon'
+elif runtype == 'dst':
+ indir=outdir+'/recon'
+ outdir=outdir+'/dst'
+ postfixin='slcio'
+ postfixout='root'
+ midin='_recon_'+label
+ midout='_dst_'+label
+elif runtype == 'dqm':
+ indir=outdir+'/recon'
+ outdir=wrkdir+'/data/data_quality/'+passN+'/dqm'
+ postfixout='root'
+ postfixin = 'slcio'
+ midin='_recon_'+label
+ midout='_dqm_'+label
+else:
+ sys.exit('Invalid Run Type: '+runtype)
+
+filnos=''
+for filno in range(0,100):
+ outfile='%s/hps_%.6d.%s%s.%s'%(outdir,run,filno,midout,postfixout)
+ if postfixin == 'evio':
+ # the evio has funny label format...file extension not at end
+ infile='%s/hps_%.6d.%s.%s'%(indir,run,postfixin,filno)
+ else:
+ infile='%s/hps_%.6d.%s%s.%s'%(indir,run,filno,midin,postfixin)
+
+ if os.path.isfile(infile) and not os.path.isfile(outfile):
+ filnos += str(filno)+' '
+
+if filnos=='':
+ print 'foobar'
+else:
+ print filnos
+
Added: scripts/scripts/recon/2014/scripts/old/getfilenumbers.sh
=============================================================================
--- scripts/scripts/recon/2014/scripts/old/getfilenumbers.sh (added)
+++ scripts/scripts/recon/2014/scripts/old/getfilenumbers.sh Thu Mar 5 18:41:01 2015
@@ -0,0 +1,67 @@
+#!/bin/tcsh
+if ( $#argv != 2) then
+ echo "$0 <runtype> <runnumber>"
+ echo "gets list of files (just the labels) from a run number "
+ echo "<runtype> can be eviotolcio, recon, dqm, or dst"
+ exit
+endif
+set prefix="hps_00"
+set label="R3.2"
+set pass="pass1"
+set indir="/mss/hallb/hps/data"
+set outdir="/mss/hallb/hps/engrun/${pass}"
+# below are set for "recon"
+set postfixout="slcio"
+set postfixin="evio"
+set midin=""
+set midout="_recon_${label}"
+set runtype=$1
+set run=$2
+
+if ($1 =~ "eviotolcio") then
+ set outdir=${outdir}
+ set midout=""
+endif
+
+if ($1 =~ "recon") then
+ set outdir=${outdir}/recon
+endif
+
+if ($1 =~ "dst") then
+ set indir=${outdir}/recon
+ set outdir=${outdir}/dst
+ set postfixin="slcio"
+ set postfixout="root"
+ set midin="_recon_${label}"
+ set midout="_dst_${label}"
+endif
+
+if (($1 =~ "dqm")) then
+ set indir=$outdir/recon
+ set outdir="/home/hps/hps-work/data/data_quality/${pass}/recon"
+ set postfixout="root"
+ set postfixin = "slcio"
+ set midin="_recon_${label}"
+ set midout="_dqm_${label}"
+endif
+
+
+set n=0
+set cnt=0
+set max=100
+while ($n<$max)
+ set infileName=$indir/${prefix}${run}.${n}${midin}.${postfixin}
+ if ($postfixin =~ "evio") then # the evio has funny label format...file extension not at end
+ set infileName=$indir/${prefix}${run}.${postfixin}.${n}
+ endif
+ set outfileName=$outdir/${prefix}${run}.${n}${midout}.${postfixout}
+ if (! (-f $outfileName) && (-f $infileName)) then
+ printf "${n} "
+ set cnt=`expr $cnt + 1`
+ endif
+ set n=`expr $n + 1`
+end
+
+if ($cnt == 0) then
+ printf "foobar"
+endif
Added: scripts/scripts/recon/2014/scripts/runjob.py
=============================================================================
--- scripts/scripts/recon/2014/scripts/runjob.py (added)
+++ scripts/scripts/recon/2014/scripts/runjob.py Thu Mar 5 18:41:01 2015
@@ -0,0 +1,73 @@
+#!/usr/bin/env python
+import shutil,sys,os
+from subprocess import Popen, PIPE
+
+if len(sys.argv) < 4:
+ print 'runjob.py [options] <xml template> <runtype> <run number>'
+ print '<runtype> can be recon, dqm, dst'
+ print '[options]:'
+ print '\t -s = submit on the fly (else just create all xml submission scripts)'
+ print '\t -d = debug (never submit, the more d\'s the more debug info)'
+ sys.exit()
+
+# mandatory arguments:
+xmltemplate=sys.argv[len(sys.argv)-3]
+runtype=sys.argv[len(sys.argv)-2]
+run=sys.argv[len(sys.argv)-1]
+
+if not os.path.isfile(xmltemplate):
+ sys.exit('Template DNE: '+xmltemplate)
+
+# interpret options:
+submit=False
+debug=0
+for xx in sys.argv[1:len(sys.argv)-2]:
+ if xx=='-s':
+ submit=True
+ elif xx=='-d':
+ debug += 1
+
+runtype2=runtype.replace('Trunc','')
+
+# get the missing jobs
+cmd ='./scripts/getfilenumbers.py ' +runtype2 +' '+str(run)
+p = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE)
+nums = p.stdout.readline().rstrip()
+sys.stdout.flush()
+if nums == 'foobar':
+ if debug>5:
+ print 'Nothing to run: '+run
+ sys.stdout.flush()
+ sys.exit()
+
+# choose output xml file name:
+if submit:
+ xmlfile = 'tmp.xml'
+else:
+ odir='jsubs/'+runtype
+ xmlfile = '%s/%s.xml'%(odir,run)
+ if not os.path.isdir(odir):
+ os.mkdirs(odir)
+
+# parse the xml template
+with open(xmltemplate,'r') as file:
+ lines = file.readlines()
+with open(xmlfile,'w') as file:
+ for line in lines:
+ line=line.replace('__FILENUM__',str(nums))
+ line=line.replace('__RUN__',str(run))
+ file.write(line)
+
+# submit the job to the batch farm:
+if submit:
+ if debug:
+ if debug>1:
+ for xx in nums.rstrip().split():
+ print '/mss/hallb/hps/data/hps_%.6d.evio.%d'%(int(run),int(xx))
+ else:
+ print 'Would have submitted '+run+' '+nums
+
+ else:
+ os.system('jsub -xml '+xmlfile)
+
+
Added: scripts/scripts/recon/2014/scripts/runjobs.py
=============================================================================
--- scripts/scripts/recon/2014/scripts/runjobs.py (added)
+++ scripts/scripts/recon/2014/scripts/runjobs.py Thu Mar 5 18:41:01 2015
@@ -0,0 +1,29 @@
+#!/usr/bin/env python
+import os,sys,subprocess
+
+firstRun = 3183
+finalRun = 3461
+
+if len(sys.argv) < 2:
+ print 'runjobs.py [options] <runtype>'
+ print '<runtype> can be recon, dqm, dst'
+ print '[options]:'
+ print '\t -s = submit on the fly (else just create all xml submission scripts)'
+ print '\t -d = debug (never submit, the more d\'s the more debug info)'
+ sys.exit()
+
+# mandatory arguments:
+runtype = sys.argv[len(sys.argv)-1]
+
+# pass these to the next script:
+opts = ' '.join(sys.argv[1:len(sys.argv)-1])
+
+# choose xml template based on runtype:
+xmltemplate = 'templates/%sEcalOnly.xml'%(runtype)
+if not os.path.isfile(xmltemplate):
+ sys.exit('XML Template DNE: '+xmltemplate)
+
+for runNumber in range(firstRun,finalRun+1):
+ cmd = './scripts/runjob.py '+opts+' '+xmltemplate +' '+runtype+' '+str(runNumber)
+ subprocess.call(cmd,shell=True)
+
Added: scripts/scripts/recon/2014/templates/allEcalOnly.xml
=============================================================================
--- scripts/scripts/recon/2014/templates/allEcalOnly.xml (added)
+++ scripts/scripts/recon/2014/templates/allEcalOnly.xml Thu Mar 5 18:41:01 2015
@@ -0,0 +1,39 @@
+<!--Run with runjob_XXXto1.sh-->
+<Request>
+ <List name="filenum">666</List>
+ <Name name="recon_RUNNO"/>
+ <Project name="hps"/>
+ <Track name="reconstruction"/>
+ <Email email="[log in to unmask]" request="false" job="false" />
+ <Memory space="4000" unit="MB"/>
+ <DiskSpace space="5" unit="GB"/>
+ <OS name="centos65"/>
+ <Variable name="run" value="RUNNO"/>
+ <Variable name="pass" value="pass1"/>
+ <Variable name="reltag" value="R3.2"/>
+ <Variable name="out_file" value="hps_00"/>
+ <Variable name="detector" value="HPS-ECalCommissioning-v2"/>
+ <Variable name="hps-java" value="/u/group/hps/hps_soft/hps-java/hps-distribution-3.2-SNAPSHOT-bin.jar"/>
+ <Variable name="log_dir" value="file:/work/hallb/hps/data/logs"/>
+ <Variable name="out_dir" value="mss:/mss/hallb/hps/engrun"/>
+ <Variable name="dq_dir" value="file:/work/hallb/hps/data/data_quality"/>
+ <Variable name="steering" value="/org/hps/steering/recon/EngineeringRun2014ECalRecon_Pass1.lcsim"/>
+ <ForEach list="filenum">
+ <Job>
+ <Input src="mss:/mss/hallb/hps/data/hps_00${run}.evio.${filenum}" dest="in.evio"/>
+ <Command><![CDATA[
+ echo "Auger ID: $AUGER_ID"
+ /apps/scicomp/java/jdk1.7/bin/java -cp ${hps-java} org.hps.evio.EvioToLcio -x ${steering} -r -d ${detector} -R ${run} -DoutputFile=out in.evio
+ /apps/scicomp/java/jdk1.7/bin/java -XX:+UseSerialGC -Xmx100m -jar ${hps-java} -r /org/hps/steering/production/DataQuality.lcsim -i out.slcio > data_quality.txt
+ /apps/scicomp/java/jdk1.7/bin/java -jar ${hps-java} -r ${steering} -DoutputFile=dqm.out -i out.slcio
+ /u/group/hps/hps_soft/hps-dst/build/bin/dst_maker -g -b0.5 -o dst.root out.slcio -e
+ ]]></Command>
+ <Output src="out.slcio" dest="${out_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.slcio"/>
+ <Output src="data_quality.txt" dest="${dq_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.txt"/>
+ <Output src="out.root" dest="${dq_dir}/${pass}/dqm/${out_file}${run}.${filenum}_dqm_${reltag}.root"/>
+ <Output src="out.root" dest="${out_dir}/${pass}/dst/${out_file}${run}.${filenum}_dst_${reltag}.root"/>
+ <Stderr dest="${log_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.err" />
+ <Stdout dest="${log_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.out" />
+ </Job>
+ </ForEach>
+</Request>
Added: scripts/scripts/recon/2014/templates/dqmEcalOnly.xml
=============================================================================
--- scripts/scripts/recon/2014/templates/dqmEcalOnly.xml (added)
+++ scripts/scripts/recon/2014/templates/dqmEcalOnly.xml Thu Mar 5 18:41:01 2015
@@ -0,0 +1,30 @@
+<Request>
+ <List name="filenum">__FILENUM__</List>
+ <Name name="dqm__RUN__"/>
+ <Project name="hps"/>
+ <Track name="reconstruction"/>
+ <Email email="[log in to unmask]" request="false" job="false" />
+ <Memory space="2000" unit="MB"/>
+ <DiskSpace space="5" unit="GB"/>
+ <OS name="centos65"/>
+ <Variable name="run" value="__RUN__"/>
+ <Variable name="reltag" value="R3.2" />
+ <Variable name="pass" value="pass1" />
+ <Variable name="hps-java" value="/u/group/hps/hps_soft/hps-java/hps-distribution-3.2-SNAPSHOT-bin.jar"/>
+ <Variable name="log_dir" value="file:/work/hallb/hps/data/logs"/>
+ <Variable name="dq_dir" value="file:/work/hallb/hps/data/data_quality"/>
+ <Variable name="out_file" value="hps_00"/>
+ <Variable name="steering" value="/org/hps/steering/production/DataQualityEcalOnlyEngineeringRun.lcsim"/>
+ <ForEach list="filenum">
+ <Job>
+ <Input src="mss:/mss/hallb/hps/engrun/${pass}/recon/hps_00${run}.${filenum}_recon_${reltag}.slcio" dest="in.slcio"/>
+ <Command><![CDATA[
+ echo "Auger ID: $AUGER_ID"
+ /apps/scicomp/java/jdk1.7/bin/java -jar ${hps-java} -r ${steering} -DoutputFile=out -i in.slcio
+ ]]></Command>
+ <Output src="out.root" dest="${dq_dir}/${pass}/dqm/${out_file}${run}.${filenum}_dqm_${reltag}.root"/>
+ <Stderr dest="${log_dir}/${pass}/dqm/${out_file}${run}.${filenum}_dqm_${reltag}.err" />
+ <Stdout dest="${log_dir}/${pass}/dqm/${out_file}${run}.${filenum}_dqm_${reltag}.out" />
+ </Job>
+ </ForEach>
+</Request>
Added: scripts/scripts/recon/2014/templates/dstEcalOnly.xml
=============================================================================
--- scripts/scripts/recon/2014/templates/dstEcalOnly.xml (added)
+++ scripts/scripts/recon/2014/templates/dstEcalOnly.xml Thu Mar 5 18:41:01 2015
@@ -0,0 +1,29 @@
+<Request>
+ <List name="filenum">__FILENUM__</List>
+ <Name name="dst__RUN__"/>
+ <Project name="hps"/>
+ <Track name="reconstruction"/>
+ <Email email="[log in to unmask]" request="false" job="false" />
+ <Memory space="2048" unit="MB"/>
+ <DiskSpace space="5" unit="GB"/>
+ <OS name="centos65"/>
+ <Variable name="pass" value="pass1"/>
+ <Variable name="run" value="__RUN__"/>
+ <Variable name="reltag" value="R3.2"/>
+ <Variable name="log_dir" value="file:/work/hallb/hps/data/logs"/>
+ <Variable name="out_dir" value="mss:/mss/hallb/hps/engrun"/>
+ <Variable name="out_file" value="hps_00"/>
+ <ForEach list="filenum">
+ <Job>
+ <Input src="mss:/mss/hallb/hps/engrun/${pass}/recon/hps_00${run}.${filenum}_recon_${reltag}.slcio" dest="in.slcio"/>
+ <Command><![CDATA[
+ echo "Auger ID: $AUGER_ID"
+ /u/group/hps/hps_soft/hps-dst/build/bin/dst_maker -g -b0.5 -o out.root in.slcio -e
+ ls -lh
+ ]]></Command>
+ <Output src="out.root" dest="${out_dir}/${pass}/dst/${out_file}${run}.${filenum}_dst_${reltag}.root"/>
+ <Stderr dest="${log_dir}/${pass}/dst/${out_file}${run}.${filenum}_dst_${reltag}.err" />
+ <Stdout dest="${log_dir}/${pass}/dst/${out_file}${run}.${filenum}_dst_${reltag}.out" />
+ </Job>
+ </ForEach>
+</Request>
Added: scripts/scripts/recon/2014/templates/reconEcalOnly.xml
=============================================================================
--- scripts/scripts/recon/2014/templates/reconEcalOnly.xml (added)
+++ scripts/scripts/recon/2014/templates/reconEcalOnly.xml Thu Mar 5 18:41:01 2015
@@ -0,0 +1,37 @@
+<Request>
+ <List name="filenum">__FILENUM__</List>
+ <Name name="recon__RUN__"/>
+ <Project name="hps"/>
+ <Track name="reconstruction"/>
+ <Email email="[log in to unmask]" request="false" job="false" />
+ <Memory space="4000" unit="MB"/>
+ <DiskSpace space="5" unit="GB"/>
+ <OS name="centos65"/>
+ <Variable name="run" value="__RUN__"/>
+ <Variable name="pass" value="pass1"/>
+ <Variable name="reltag" value="R3.2"/>
+ <Variable name="out_file" value="hps_00"/>
+ <Variable name="detector" value="HPS-ECalCommissioning-v2"/>
+ <Variable name="hps-java" value="/u/group/hps/hps_soft/hps-java/hps-distribution-3.2-SNAPSHOT-bin.jar"/>
+ <Variable name="log_dir" value="file:/work/hallb/hps/data/logs"/>
+ <Variable name="out_dir" value="mss:/mss/hallb/hps/engrun"/>
+ <Variable name="dq_dir" value="file:/work/hallb/hps/data/data_quality"/>
+ <Variable name="steering" value="/org/hps/steering/recon/EngineeringRun2014ECalRecon_Pass1.lcsim"/>
+ <ForEach list="filenum">
+ <Job>
+ <Input src="mss:/mss/hallb/hps/data/hps_00${run}.evio.${filenum}" dest="in.evio"/>
+ <Command><![CDATA[
+ echo "Auger ID: $AUGER_ID"
+ /apps/scicomp/java/jdk1.7/bin/java -cp ${hps-java} org.hps.evio.EvioToLcio -x ${steering} -r -d ${detector} -R ${run} -DoutputFile=out in.evio
+ /apps/scicomp/java/jdk1.7/bin/java -XX:+UseSerialGC -Xmx100m -jar ${hps-java} -r /org/hps/steering/production/DataQuality.lcsim -i out.slcio > data_quality.txt
+ rm -f ${log_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.err
+ rm -f ${log_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.out
+ rm -f ${dq_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.txt
+ ]]></Command>
+ <Output src="out.slcio" dest="${out_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.slcio"/>
+ <Output src="data_quality.txt" dest="${dq_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.txt"/>
+ <Stderr dest="${log_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.err" />
+ <Stdout dest="${log_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.out" />
+ </Job>
+ </ForEach>
+</Request>
Added: scripts/scripts/recon/2014/templates/reconTruncEcalOnly.xml
=============================================================================
--- scripts/scripts/recon/2014/templates/reconTruncEcalOnly.xml (added)
+++ scripts/scripts/recon/2014/templates/reconTruncEcalOnly.xml Thu Mar 5 18:41:01 2015
@@ -0,0 +1,39 @@
+<Request>
+ <List name="filenum">__FILENUM__</List>
+ <Name name="recon__RUN__"/>
+ <Project name="hps"/>
+ <Track name="reconstruction"/>
+ <Email email="[log in to unmask]" request="false" job="false" />
+ <Memory space="4000" unit="MB"/>
+ <DiskSpace space="5" unit="GB"/>
+ <OS name="centos65"/>
+ <Variable name="run" value="__RUN__"/>
+ <Variable name="pass" value="pass1"/>
+ <Variable name="reltag" value="R3.2"/>
+ <Variable name="out_file" value="hps_00"/>
+ <Variable name="eviocopy" value="/u/group/hps/hps_soft/evio/bin/eviocopy"/>
+ <Variable name="detector" value="HPS-ECalCommissioning-v2"/>
+ <Variable name="hps-java" value="/u/group/hps/hps_soft/hps-java/hps-distribution-3.2-SNAPSHOT-bin.jar-DBFIX"/>
+ <Variable name="log_dir" value="file:/work/hallb/hps/data/logs"/>
+ <Variable name="out_dir" value="mss:/mss/hallb/hps/engrun"/>
+ <Variable name="dq_dir" value="file:/work/hallb/hps/data/data_quality"/>
+ <Variable name="steering" value="/org/hps/steering/recon/EngineeringRun2014ECalRecon_Pass1.lcsim"/>
+ <ForEach list="filenum">
+ <Job>
+ <Input src="mss:/mss/hallb/hps/data/hps_00${run}.evio.${filenum}" dest="in.evio"/>
+ <Command><![CDATA[
+ echo "Auger ID: $AUGER_ID"
+ ${eviocopy} in.evio out.evio ; mv -f out.evio in.evio
+ /apps/scicomp/java/jdk1.7/bin/java -cp ${hps-java} org.hps.evio.EvioToLcio -x ${steering} -r -d ${detector} -R ${run} -DoutputFile=out in.evio
+ /apps/scicomp/java/jdk1.7/bin/java -XX:+UseSerialGC -Xmx100m -jar ${hps-java} -r /org/hps/steering/production/DataQuality.lcsim -i out.slcio > data_quality.txt
+ rm -f ${log_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.err
+ rm -f ${log_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.out
+ rm -f ${dq_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.txt
+ ]]></Command>
+ <Output src="out.slcio" dest="${out_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.slcio"/>
+ <Output src="data_quality.txt" dest="${dq_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.txt"/>
+ <Stderr dest="${log_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.err" />
+ <Stdout dest="${log_dir}/${pass}/recon/${out_file}${run}.${filenum}_recon_${reltag}.out" />
+ </Job>
+ </ForEach>
+</Request>
|