Documentation
to run RECSIS on Batch Farms
The script described below allows to run RECSIS on Batch
Farms. It takes parameters from command line and builds TCL file for specific
run, PERL script to run on Farms and FARM script to submit a job.
Here is a list of command line options (The same help
one can get typing Run_Job -h):
USAGE :
Run_Job -r[run#] -p[osname] -f[nfiles] -n[nevents] -s[startextension] -W[workout] -S[siloout]
Required parameters:
run# - number
of run to process
osname
- operating system to run on (linux,solaris,aix)
Operating system inicates on which FARM machines the job is going to run.
Optional in-line options are (there defaults for those):
nfiles - number of files to
process from run
if this parameter is not given script will check how
many files are exist on SILO for given run, and will run all files.
events - number of events to process from
each file (default = 1000000)
exec - executable to run (default
= user_ana)
start extension - the file extension to start cooking
from
if this parameter is not given the script will start to run files starting from extension A00.
workout - output that will be written to work disks
(default is MLE)
silooout - output to be written to silo (default is
DN)
Last two parameters used to specify where the output of job will be placed. For each output item the letter is defined. If that letter exist in string "workout" or "siloout" then the item will be written to WORK directory or SILO respectively (how to define directories for output see section DIRECTORIES). Here the list of defined list for output files:
D - DST Bosfile
N - Hbook Ntuple
L - logfile
E - eventtag file
M - monitoring histograms
So, to write DST BOS files and Ntuples to SILO one should
use -SDN (or -WDN to write them to work disks).
If you don't want to write any output to SILO (WORK)
use option -Sx (-Wx for work disk). The default of script is set to
according to "-SDN -WELM".
Here are some examples :
jlabs2> Run_Job -r17870 -plinux
This will run all files from run# 17870 on Linux Farms.
jlabs2> Run_Job -r17870
-f3 -s2 -n40000 -plinux
This will process 40000 events from 3 files for run# 17870 starting from extension 2 (.A02, .A03 and.A04) on Linux Farms.
jlabs2> Run_Job -r17870 -f1-plinux -WNL -SD
This will process first file from run# 17870 on Linux
Farms. The output Ntuple and logfile will be written to work directory
and DST BOS files to SILO.
Directories
The most important thing in running jobs on Batch Farm
is to get our output files back. If you will try to run script be sure
that you have done the steps I describe below otherwise you won't get output.
First you need to define directories where the output
will go (on WORK or SILO). It is done by defining shell variables.
RJ_WORKPATH - this
overwrites work directory path where output files will be written.
RJ_MSSPATH
- this defines MSS directory where output will be written
Executables
The default name for executable in script is user_ana
and executable path is set to some directory I use to keep my executables.
This can be overwritten by shell variables:
RJ_EXECPATH - this tells script where executables are
located (do not add OS name here, it will be added automatically)
RJ_EXECNAME - executable name (if not defined "user_ana"
will be used)
RJ_TCLTAMPLATE - template tcl file.
Tests
Before running any Job try to run Run_Job with -d flag.
This will display all default values that will be used to run job.
If you run with the "-t" flag the script will create
all necessary files but will not submit the job.