Jpp
JMakePDF.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 # \author mdejong
4 #
5 # utility script to produce PDF and CDF tables.
6 script=${0##*/}
7 
8 
9 # ------------------------------------------------------------------------------------------
10 #
11 # Utility script to produce PDF and CDF tables.
12 #
13 # ------------------------------------------------------------------------------------------
14 
15 if [ -z $JPP_DIR ]; then
16  echo "Variable JPP_DIR undefined."
17  exit
18 fi
19 
20 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
21 
22 set_variable DEBUG 2
23 set_variable WORKDIR $JPP_DATA
24 set_variable MAKE_PDF 0
25 set_variable MERGE_PDF 0
26 set_variable MAKE_CDF 0
27 set_variable CLEAN 0
28 set_variable BACKGROUND
29 set_variable WGET
30 set_variable RMAX_M 999
31 set_variable absorptionLengthFactor 1.0
32 set_variable scatteringLengthFactor 1.0
33 
34 # check whether script is already running
35 
36 BUFFER=`get_pid $script`
37 BUFFER=${BUFFER/${$}/}
38 
39 if [[ -n "${BUFFER/ */}" ]]; then
40  notice "${script} already running <${BUFFER}>"
41  exit 0
42 fi
43 
44 #
45 # Method to print usage of script.
46 #
47 function usage()
48 {
49  print -u2 "$script \n\
50  -d <debug level> \n\
51  -W <working directory PDF and CDF tables> \n\
52  -P create PDF tables \n\
53  -M merge PDF tables \n\
54  -C convert PDF tables to CDF tables \n\
55  -c clean PDF tables \n\
56  -B parallel running of jobs in background \n\
57  -w download files from git server \n\
58  -R <maximal distance between muon and PMT> \
59  "
60  exit
61 }
62 
63 #
64 # Parse command line options.
65 #
66 while getopts "d:W:PMCcBw:hA:S:R:" option; do
67  case "$option" in
68  d) set_variable DEBUG $OPTARG;;
69  W) set_variable WORKDIR $OPTARG;;
70  P) set_variable MAKE_PDF 1;;
71  M) set_variable MERGE_PDF 1;;
72  C) set_variable MAKE_CDF 1;;
73  c) set_variable CLEAN 1;;
74  B) set_variable BACKGROUND \&;;
75  w) set_variable WGET $OPTARG;;
76  h) usage; exit;;
77  A) set_variable absorptionLengthFactor $OPTARG;;
78  S) set_variable scatteringLengthFactor $OPTARG;;
79  R) set_variable RMAX_M $OPTARG;;
80  esac
81 done
82 
83 check_variable ROOTSYS JPP_DIR WORKDIR
84 
85 mkdir -p $WORKDIR
86 
87 status "Start $script"
88 
89 
90 if [[ -n $WGET ]]; then
91  cd $WORKDIR
92  rm -f *.dat
93  wget -A dat,txt,root,evt.gz -r -l 1 -nd -q $WGET
94 fi
95 
96 
97 if (( $MAKE_PDF )); then
98 
99  check_process JMakePDF JMakePDG
100 
101  if (( 1 )); then
102 
103  if [[ ! -f $WORKDIR/J1p.dat ]]; then
104  eval nohup JMakePDF -F1 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J1p.dat -d $DEBUG $BACKGROUND
105  fi
106  if [[ ! -f $WORKDIR/J2p.dat ]]; then
107  eval nohup JMakePDF -F2 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J2p.dat -d $DEBUG $BACKGROUND
108  fi
109 
110  for R in 0.1 0.3 0.5 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 \
111  11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 \
112  22.0 24.0 26.0 28.0 30.0 32.0 34.0 36.0 38.0 40.0 42.0 44.0 46.0 48.0 50.0 \
113  55.0 60.0 65.0 70.0 75.0 80.0 85.0 90.0 95.0 100.0 110.0 120.0 130.0 140.0 150.0 \
114  170.0 190.0 210.0 230.0 250.0 270.0 290.0 310.0; do
115 
116  if (( $R <= $RMAX_M )); then
117 
118  if [[ ! -f $WORKDIR/J3p.dat ]]; then
119  eval nohup JMakePDF -F3 -A $absorptionLengthFactor -S $scatteringLengthFactor -R $R -o $WORKDIR/J3p-$R.dat -d $DEBUG $BACKGROUND
120  fi
121  if [[ ! -f $WORKDIR/J4p.dat ]]; then
122  eval nohup JMakePDF -F4 -A $absorptionLengthFactor -S $scatteringLengthFactor -R $R -o $WORKDIR/J4p-$R.dat -d $DEBUG $BACKGROUND
123  fi
124  fi
125  done
126 
127  if [[ ! -f $WORKDIR/J5p.dat ]]; then
128  eval nohup JMakePDF -F5 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J5p.dat -d $DEBUG $BACKGROUND
129  fi
130 
131  for R in 0.1 0.3 0.5 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 \
132  11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 \
133  22.0 24.0 26.0 28.0 30.0 32.0 34.0 36.0 38.0 40.0 42.0 44.0 46.0 48.0 50.0 \
134  55.0 60.0 65.0 70.0 75.0 80.0 85.0 90.0 95.0 100.0 110.0 120.0 130.0 140.0 150.0 \
135  170.0 190.0 210.0 230.0 250.0; do
136 
137  if (( $R <= $RMAX_M )); then
138 
139  if [[ ! -f $WORKDIR/J6p.dat ]]; then
140  eval nohup JMakePDF -F6 -A $absorptionLengthFactor -S $scatteringLengthFactor -R $R -o $WORKDIR/J6p-$R.dat -d $DEBUG $BACKGROUND
141  fi
142  fi
143  done
144 
145  if [[ ! -f $WORKDIR/J13p.dat ]]; then
146  eval nohup JMakePDG -F13 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J13p.dat -d $DEBUG $BACKGROUND
147  fi
148 
149  let DMAX_M="${RMAX_M}*1.5"
150 
151  for D in 0.1 0.5 1.0 5.0 10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 100.0 \
152  120.0 150.0 170.0 190.0 210.0 230.0 250.0 270.0 290.0 310.0 \
153  340.0 370.0 400.0 430.0 460.0 490.0 520.0 550.0 600.0 650.0 700.0 750.0 800.0; do
154 
155  if (( $D <= $DMAX_M )); then
156  if [[ ! -f $WORKDIR/J14p.dat ]]; then
157  eval nohup JMakePDG -F14 -A $absorptionLengthFactor -S $scatteringLengthFactor -D $D -o $WORKDIR/J14p-$D.dat -d $DEBUG $BACKGROUND
158  fi
159  fi
160  done
161  fi
162 
163 fi
164 
165 
166 if (( $MERGE_PDF )); then
167 
168  if [[ ! -f $WORKDIR/J3p.dat ]]; then
169 
170  FILE_LIST=`ls $WORKDIR/J3p-*.dat`
171 
172  JMergePDF -f $FILE_LIST -o $WORKDIR/J3p.dat -d $DEBUG
173  fi
174 
175  if [[ ! -f $WORKDIR/J4p.dat ]]; then
176 
177  FILE_LIST=`ls $WORKDIR/J4p-*.dat`
178 
179  JMergePDF -f $FILE_LIST -o $WORKDIR/J4p.dat -d $DEBUG
180  fi
181 
182  if [[ ! -f $WORKDIR/J6p.dat ]]; then
183 
184  FILE_LIST=`ls $WORKDIR/J6p-*.dat`
185 
186  JMergePDF -f $FILE_LIST -o $WORKDIR/J6p.dat -d $DEBUG
187  fi
188 
189  if [[ ! -f $WORKDIR/J14p.dat ]]; then
190 
191  FILE_LIST=`ls $WORKDIR/J14p-*.dat`
192 
193  JMergePDG -f $FILE_LIST -o $WORKDIR/J14p.dat -d $DEBUG
194  fi
195 fi
196 
197 
198 if (( $MAKE_CDF )); then
199 
200  check_process JMakeCDF JMakeCDG
201 
202  if [[ ! -f $WORKDIR/I1p.dat ]]; then
203  JMakeCDF -f $WORKDIR/J1p.dat -e 1e-5 -o $WORKDIR/I1p.dat -d $DEBUG
204  fi
205  if [[ ! -f $WORKDIR/I2p.dat ]]; then
206  JMakeCDF -f $WORKDIR/J2p.dat -e 1e-4 -o $WORKDIR/I2p.dat -d $DEBUG
207  fi
208  if [[ ! -f $WORKDIR/I5p.dat ]]; then
209  JMakeCDF -f $WORKDIR/J5p.dat -e 1e-5 -o $WORKDIR/I5p.dat -d $DEBUG
210  fi
211  if [[ ! -f $WORKDIR/I6p.dat ]]; then
212  JMakeCDF -f $WORKDIR/J6p.dat -e 1e-5 -o $WORKDIR/I6p.dat -d $DEBUG
213  fi
214  if [[ ! -f $WORKDIR/I13p.dat ]]; then
215  JMakeCDG -f $WORKDIR/J13p.dat -e 1e-5 -o $WORKDIR/I13p.dat -d $DEBUG
216  fi
217  if [[ ! -f $WORKDIR/I14p.dat ]]; then
218  JMakeCDG -f $WORKDIR/J14p.dat -e 1e-5 -o $WORKDIR/I14p.dat -d $DEBUG
219  fi
220 fi
221 
222 if (( $CLEAN )); then
223 
224  if ( rm -f $WORKDIR/J*p-*.dat ); then; fi
225 
226 fi
227 
228 status "End $script"