5 # utility script to produce PDF and CDF tables.
9 # ------------------------------------------------------------------------------------------
11 # Utility script to produce PDF and CDF tables.
13 # ------------------------------------------------------------------------------------------
15 if [ -z $JPP_DIR ]; then
16 echo "Variable JPP_DIR undefined."
20 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
23 set_variable WORKDIR $JPP_DATA
24 set_variable MAKE_PDF 0
25 set_variable MERGE_PDF 0
26 set_variable MAKE_CDF 0
28 set_variable BACKGROUND
30 set_variable RMAX_M 999
31 set_variable absorptionLengthFactor 1.0
32 set_variable scatteringLengthFactor 1.0
34 # check whether script is already running
36 BUFFER=`get_pid $script`
37 BUFFER=${BUFFER/${$}/}
39 if [[ -n "${BUFFER/ */}" ]]; then
40 notice "${script} already running <${BUFFER}>"
45 # Method to print usage of script.
49 print -u2 "$script \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> \
64 # Parse command line options.
66 while getopts "d:W:PMCcBw:hA:S:R:" option; do
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;;
77 A) set_variable absorptionLengthFactor $OPTARG;;
78 S) set_variable scatteringLengthFactor $OPTARG;;
79 R) set_variable RMAX_M $OPTARG;;
83 check_variable ROOTSYS JPP_DIR WORKDIR
87 status "Start $script"
90 if [[ -n $WGET ]]; then
93 wget -A dat,txt,root,evt.gz -r -l 1 -nd -q $WGET
97 if (( $MAKE_PDF )); then
99 check_process JMakePDF JMakePDG
103 if [[ ! -f $WORKDIR/J1p.dat ]]; then
104 eval nohup JMakePDF -F1 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J1p.dat -d $DEBUG $BACKGROUND
106 if [[ ! -f $WORKDIR/J2p.dat ]]; then
107 eval nohup JMakePDF -F2 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J2p.dat -d $DEBUG $BACKGROUND
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
116 if (( $R <= $RMAX_M )); then
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
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
127 if [[ ! -f $WORKDIR/J5p.dat ]]; then
128 eval nohup JMakePDF -F5 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J5p.dat -d $DEBUG $BACKGROUND
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
137 if (( $R <= $RMAX_M )); then
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
145 if [[ ! -f $WORKDIR/J13p.dat ]]; then
146 eval nohup JMakePDG -F13 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J13p.dat -d $DEBUG $BACKGROUND
149 let DMAX_M="${RMAX_M}*1.5"
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
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
166 if (( $MERGE_PDF )); then
168 if [[ ! -f $WORKDIR/J3p.dat ]]; then
170 FILE_LIST=`ls $WORKDIR/J3p-*.dat`
172 JMergePDF -f $FILE_LIST -o $WORKDIR/J3p.dat -d $DEBUG
175 if [[ ! -f $WORKDIR/J4p.dat ]]; then
177 FILE_LIST=`ls $WORKDIR/J4p-*.dat`
179 JMergePDF -f $FILE_LIST -o $WORKDIR/J4p.dat -d $DEBUG
182 if [[ ! -f $WORKDIR/J6p.dat ]]; then
184 FILE_LIST=`ls $WORKDIR/J6p-*.dat`
186 JMergePDF -f $FILE_LIST -o $WORKDIR/J6p.dat -d $DEBUG
189 if [[ ! -f $WORKDIR/J14p.dat ]]; then
191 FILE_LIST=`ls $WORKDIR/J14p-*.dat`
193 JMergePDG -f $FILE_LIST -o $WORKDIR/J14p.dat -d $DEBUG
198 if (( $MAKE_CDF )); then
200 check_process JMakeCDF JMakeCDG
202 if [[ ! -f $WORKDIR/I1p.dat ]]; then
203 JMakeCDF -f $WORKDIR/J1p.dat -e 1e-5 -o $WORKDIR/I1p.dat -d $DEBUG
205 if [[ ! -f $WORKDIR/I2p.dat ]]; then
206 JMakeCDF -f $WORKDIR/J2p.dat -e 1e-4 -o $WORKDIR/I2p.dat -d $DEBUG
208 if [[ ! -f $WORKDIR/I5p.dat ]]; then
209 JMakeCDF -f $WORKDIR/J5p.dat -e 1e-5 -o $WORKDIR/I5p.dat -d $DEBUG
211 if [[ ! -f $WORKDIR/I6p.dat ]]; then
212 JMakeCDF -f $WORKDIR/J6p.dat -e 1e-5 -o $WORKDIR/I6p.dat -d $DEBUG
214 if [[ ! -f $WORKDIR/I13p.dat ]]; then
215 JMakeCDG -f $WORKDIR/J13p.dat -e 1e-5 -o $WORKDIR/I13p.dat -d $DEBUG
217 if [[ ! -f $WORKDIR/I14p.dat ]]; then
218 JMakeCDG -f $WORKDIR/J14p.dat -e 1e-5 -o $WORKDIR/I14p.dat -d $DEBUG
222 if (( $CLEAN )); then
224 if ( rm -f $WORKDIR/J*p-*.dat ); then; fi