~maddevelopers/mg5amcnlo/WWW5_caching

« back to all changes in this revision

Viewing changes to users/mardelcourt/PROC_427003/PROC_427003/bin/internal/run_genissud

  • Committer: John Doe
  • Date: 2013-03-25 20:27:02 UTC
  • Revision ID: john.doe@gmail.com-20130325202702-5sk3t1r8h33ca4p4
first clean version

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/bash
 
2
#  This generates a grid file for the present choice of run_card
 
3
#
 
4
#  Usage: run_genissud [para/serial]
 
5
 
 
6
qsub="qsub -N pythia_run -V -q madgraph"
 
7
 
 
8
p=0
 
9
if [ "$1" != "" ];then
 
10
  p=$1
 
11
fi
 
12
 
 
13
if [ ! -e Cards/run_card.dat ]; then
 
14
  echo "No Cards/run_card.dat found. Quitting..."
 
15
  exit
 
16
fi
 
17
 
 
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`
 
23
 
 
24
# Remove ':s from pd
 
25
pd=${pd#\'*}
 
26
pd=${pd%*\'}
 
27
 
 
28
if [[ $xq -gt 2 || $xq -eq 0 ]];then
 
29
  xq=2
 
30
fi
 
31
 
 
32
outfile=lib/issudgrid-$e1-$e2-$pd-$xq.dat
 
33
if [ "$pd" = "lhapdf" ];then
 
34
  outfile=lib/issudgrid-$e1-$e2-$pd-$lha-$xq.dat
 
35
fi
 
36
 
 
37
if [ -e $outfile.gz ];then
 
38
  echo "File $outfile.gz already exists, no need to regenerate"
 
39
  exit
 
40
fi
 
41
 
 
42
if [[ ! -e bin/internal/gensudgrid ]];then
 
43
  cd Source;make ../bin/internal/gensudgrid;cd ..
 
44
fi
 
45
 
 
46
echo "Generating $outfile"
 
47
 
 
48
main=`pwd`
 
49
rm -f myprocid running_jobs
 
50
echo $$ >> myprocid
 
51
 
 
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
 
56
    touch waitgen$i
 
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
 
60
  done
 
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"
 
66
  echo $w $r $d $t
 
67
  while [[  $d -lt $t  ]]; do    
 
68
      sleep 10
 
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`
 
73
      echo $w $r $d $t
 
74
  done
 
75
  rm -f gensudgrid*.pbs donegen*
 
76
else
 
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
 
80
  done
 
81
fi
 
82
 
 
83
for i in -2 -1 0 1 2 3 4 5;do
 
84
  cat gensudgrid$i.log >> $outfile
 
85
  gzip $outfile
 
86
  rm gensudgrid$i.log
 
87
done