2
# This generates a grid file for the present choice of run_card
4
# Usage: run_genissud [para/serial]
6
qsub="qsub -N pythia_run -V -q madgraph"
13
if [ ! -e Cards/run_card.dat ]; then
14
echo "No Cards/run_card.dat found. Quitting..."
18
e1=`awk '/^[^#].*=.*ebeam1/{print $1}' Cards/run_card.dat`
19
e2=`awk '/^[^#].*=.*ebeam2/{print $1}' Cards/run_card.dat`
20
pd=`awk '/^[^#].*=.*pdlabel/{print $1}' Cards/run_card.dat`
21
lha=`awk '/^[^#].*=.*lhaid/{print $1}' Cards/run_card.dat`
22
xq=`awk '/^[^#].*=.*xqcut/{print $1}' Cards/run_card.dat`
28
if [[ $xq -gt 2 || $xq -eq 0 ]];then
32
outfile=lib/issudgrid-$e1-$e2-$pd-$xq.dat
33
if [ "$pd" = "lhapdf" ];then
34
outfile=lib/issudgrid-$e1-$e2-$pd-$lha-$xq.dat
37
if [ -e $outfile.gz ];then
38
echo "File $outfile.gz already exists, no need to regenerate"
42
if [[ ! -e bin/internal/gensudgrid ]];then
43
cd Source;make ../bin/internal/gensudgrid;cd ..
46
echo "Generating $outfile"
49
rm -f myprocid running_jobs
52
if [ "$p" = "1" ]; then
53
for i in -2 -1 0 1 2 3 4 5;do
54
rm -f donegen$i rungen$i waitgen$i gensudgrid$i.log gensudgrid$i.pbs gen$i.log
55
echo '#!/bin/bash' > gensudgrid$i.pbs
57
echo "cd $main;rm waitgen$i;touch rungen$i;bin/internal/gensudgrid $i > gensudgrid$i.log;rm rungen$i;touch donegen$i" >> gensudgrid$i.pbs
58
chmod u+x gensudgrid$i.pbs
59
$qsub -e gensudgrid$i.err -o gen$i.log gensudgrid$i.pbs >> running_jobs
61
t=`find ./ -name "gensudgrid*.pbs" -maxdepth 1 |wc -l`
62
r=`find ./ -name "rungen*" -maxdepth 1 |wc -l`
63
w=`find ./ -name "waitgen*" -maxdepth 1 |wc -l`
64
d=`find ./ -name "donegen*" -maxdepth 1 |wc -l`
65
echo "waiting while finishing jobs on cluster"
67
while [[ $d -lt $t ]]; do
69
t=`find ./ -name "gensudgrid*.pbs" -maxdepth 1 |wc -l`
70
r=`find ./ -name "rungen*" -maxdepth 1 |wc -l`
71
w=`find ./ -name "waitgen*" -maxdepth 1 |wc -l`
72
d=`find ./ -name "donegen*" -maxdepth 1 |wc -l`
75
rm -f gensudgrid*.pbs donegen*
77
for i in -2 -1 0 1 2 3 4 5;do
78
echo "Generating grid for parton number $i"
79
bin/internal/gensudgrid $i > gensudgrid$i.log
83
for i in -2 -1 0 1 2 3 4 5;do
84
cat gensudgrid$i.log >> $outfile