~maddevelopers/mg5amcnlo/WWW5_caching

« back to all changes in this revision

Viewing changes to users/mardelcourt/PROC_427003/PROC_427003/bin/internal/Gridpack/run.sh

  • 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
 
 
3
#############################################################################
 
4
#                                                                          ##
 
5
#                    MadGraph/MadEvent                                     ##
 
6
#                                                                          ##
 
7
# FILE : run.sh                                                            ##
 
8
# VERSION : 1.0                                                            ##
 
9
# DATE : 29 January 2008                                                   ##
 
10
# AUTHOR : Michel Herquet (UCL-CP3)                                        ##
 
11
#                                                                          ##
 
12
# DESCRIPTION : script to save command line param in a grid card and       ##
 
13
#   call gridrun                                                           ##
 
14
# USAGE : run [num_events] [iseed]                                         ##
 
15
#############################################################################
 
16
 
 
17
if [[ ! -d ./madevent ]]; then
 
18
        echo "Error: no madevent directory found !"
 
19
        exit
 
20
fi
 
21
 
 
22
# For Linux
 
23
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PWD}/madevent/lib:${PWD}/HELAS/lib
 
24
# For Mac OS X
 
25
export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${PWD}/madevent/lib:${PWD}/HELAS/lib
 
26
 
 
27
card=./madevent/Cards/grid_card.dat
 
28
 
 
29
 
 
30
if [[  ($1 != "") && ("$2" != "") && ("$3" == "") ]]; then
 
31
   num_events=$1
 
32
   seed=$2
 
33
   echo "Updating grid_card.dat..."
 
34
   sed -i.bak "s/\s*\d*.*gevents/  $num_events = gevents/g" $card
 
35
   sed -i.bak "s/\s*\d*.*gseed/  $seed = gseed/g" $card
 
36
   gran=`awk '/^[^#].*=.*ngran/{print $1}' $card`
 
37
elif [[  ($1 != "") && ("$2" != "") && ("$3" != "") ]]; then
 
38
   num_events=$1
 
39
   seed=$2
 
40
   gran=$3
 
41
   echo "Updating grid_card.dat..."
 
42
   sed -i.bak "s/\s*\d*.*gevents/  $num_events = gevents/g" $card
 
43
   sed -i.bak "s/\s*\d*.*gseed/  $seed = gseed/g" $card
 
44
   sed -i.bak "s/\s*\d*.*ngran/  $gran = ngran/g" $card
 
45
else
 
46
   echo "Warning: input is not correct, using values from the grid_card.dat."
 
47
   if [[ ! -e $card ]]; then
 
48
        echo "Error: $card not found !"
 
49
        exit
 
50
   fi
 
51
   num_events=`awk '/^[^#].*=.*gevents/{print $1}' $card`
 
52
   seed=`awk '/^[^#].*=.*gseed/{print $1}' $card`
 
53
   gran=`awk '/^[^#].*=.*ngran/{print $1}' $card`
 
54
fi
 
55
 
 
56
 
 
57
echo "Now generating $num_events events with random seed $seed and granularity $gran"
 
58
 
 
59
 
 
60
if [[ ! -x ./madevent/bin/gridrun ]]; then
 
61
    echo "Error: gridrun script not found !"
 
62
    exit
 
63
else
 
64
    cd ./madevent
 
65
    ./bin/gridrun $num_events $seed
 
66
fi
 
67
 
 
68
if [[ -e ./Events/GridRun_${seed}/unweighted_events.lhe.gz ]]; then
 
69
        gunzip ./Events/GridRun_${seed}/unweighted_events.lhe.gz
 
70
fi
 
71
 
 
72
if [[ ! -e  ./Events/GridRun_${seed}/unweighted_events.lhe ]]; then
 
73
    echo "Error: event file not found !"
 
74
    exit
 
75
else
 
76
    echo "Moving events from  events.lhe"
 
77
    mv ./Events/GridRun_${seed}/unweighted_events.lhe ../events.lhe
 
78
    cd ..
 
79
fi
 
80
 
 
81
if [[ -e ./DECAY/decay ]]; then
 
82
    cd DECAY
 
83
    echo -$seed > iseed.dat
 
84
    for ((i = 1 ;  i <= 20;  i++)) ; do
 
85
        if [[ -e decay_$i\.in ]]; then
 
86
            echo "Decaying events..."
 
87
            mv ../events.lhe ../events_in.lhe
 
88
            ./decay < decay_$i\.in
 
89
        fi
 
90
    done
 
91
    cd ..
 
92
fi
 
93
 
 
94
if [[ -e ./REPLACE/replace.pl ]]; then
 
95
    for ((i = 1 ;  i <= 20;  i++)) ; do
 
96
        if [[ -e ./REPLACE/replace_card$i\.dat ]];then
 
97
            echo "Adding flavors..."
 
98
            mv ./events.lhe ./events_in.lhe
 
99
            cd ./REPLACE
 
100
            ./replace.pl ../events_in.lhe ../events.lhe < replace_card$i\.dat
 
101
            cd ..
 
102
        fi
 
103
    done
 
104
fi
 
105
 
 
106
# part added by Stephen Mrenna to correct the kinematics of the replaced
 
107
#  particles
 
108
if [[ -e ./madevent/bin/internal/addmasses.py ]]; then
 
109
  mv ./events.lhe ./events.lhe.0
 
110
  python ./madevent/bin/internal/addmasses.py ./events.lhe.0 ./events.lhe
 
111
fi  
 
112
 
 
113
gzip -f events.lhe
 
114
exit