Jpp  17.1.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 
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
33 set_variable: TTS_NS PHYSICS_TTS_NS 2.0
34 
35 # check whether script is already running
36 
37 BUFFER=`get_pid $script`
38 BUFFER=${BUFFER/${$}/}
39 
40 if [[ -n "${BUFFER/ */}" ]]; then
41  notice "${script} already running <${BUFFER}>"
42  exit 0
43 fi
44 
45 #
46 # Method to print usage of script.
47 #
48 function __usage__()
49 {
51 
52  usage "$script\n"\
53  "-d <debug level> \n"\
54  "-W <working directory PDF and CDF tables> \n"\
55  "-P create PDF tables \n"\
56  "-M merge PDF tables \n"\
57  "-C convert PDF tables to CDF tables \n"\
58  "-c clean PDF tables \n"\
59  "-B parallel running of jobs in background \n"\
60  "-w download files from git server \n"\
61  "-R <maximal distance between muon and PMT> \n"\
62  "Note that the elongated EM shower PDF is created at option -M."
63 }
64 
65 #
66 # Parse command line options.
67 #
68 while getopts "d:W:PMCcBw:hA:S:R:" option; do
69  case "$option" in
70  d) set_variable DEBUG $OPTARG;;
71  W) set_variable WORKDIR $OPTARG;;
72  P) set_variable MAKE_PDF 1;;
73  M) set_variable MERGE_PDF 1;;
74  C) set_variable MAKE_CDF 1;;
75  c) set_variable CLEAN 1;;
76  B) set_variable BACKGROUND \&;;
77  w) set_variable WGET $OPTARG;;
78  h) __usage__;;
81  R) set_variable RMAX_M $OPTARG;;
82  esac
83 done
84 
85 check_variable ROOTSYS JPP_DIR WORKDIR
86 
87 mkdir -p $WORKDIR
88 
89 if [[ ! -d $WORKDIR ]]; then
90  fatal "Directory $WORKDIR does not exist."
91 fi
92 
93 status "Start $script"
94 
95 
96 if [[ -n $WGET ]]; then
97  cd $WORKDIR
98  rm -f *.dat
99  wget -A dat,txt,root,evt.gz -r -l 1 -nd -q $WGET
100 fi
101 
102 
103 if (( $MAKE_PDF )); then
104 
105  check_process JMakePDF JMakePDG
106 
107  if (( 1 )); then
108 
109  if [[ ! -f $WORKDIR/J1p.dat ]]; then
110  eval nohup JMakePDF -F1 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J1p.dat -d $DEBUG $BACKGROUND
111  fi
112  if [[ ! -f $WORKDIR/J2p.dat ]]; then
113  eval nohup JMakePDF -F2 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J2p.dat -d $DEBUG $BACKGROUND
114  fi
115 
116  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 \
117  11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 \
118  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 \
119  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 \
120  170.0 190.0 210.0 230.0 250.0 270.0 290.0 310.0; do
121 
122  if (( $R <= $RMAX_M )); then
123 
124  if [[ ! -f $WORKDIR/J3p.dat ]]; then
125  eval nohup JMakePDF -F3 -A $absorptionLengthFactor -S $scatteringLengthFactor -R $R -o $WORKDIR/J3p-$R.dat -d $DEBUG $BACKGROUND
126  fi
127  if [[ ! -f $WORKDIR/J4p.dat ]]; then
128  eval nohup JMakePDF -F4 -A $absorptionLengthFactor -S $scatteringLengthFactor -R $R -o $WORKDIR/J4p-$R.dat -d $DEBUG $BACKGROUND
129  fi
130  fi
131  done
132 
133  if [[ ! -f $WORKDIR/J5p.dat ]]; then
134  eval nohup JMakePDF -F5 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J5p.dat -d $DEBUG $BACKGROUND
135  fi
136 
137  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 \
138  11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 \
139  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 \
140  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 \
141  170.0 190.0 210.0 230.0 250.0; do
142 
143  if (( $R <= $RMAX_M )); then
144 
145  if [[ ! -f $WORKDIR/J6p.dat ]]; then
146  eval nohup JMakePDF -F6 -A $absorptionLengthFactor -S $scatteringLengthFactor -R $R -o $WORKDIR/J6p-$R.dat -d $DEBUG $BACKGROUND
147  fi
148  fi
149  done
150 
151  let "DMAX_M = ${RMAX_M}*1.5"
152 
153  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 \
154  120.0 150.0 170.0 190.0 210.0 230.0 250.0 270.0 290.0 310.0; do
155 
156  if (( $D <= $DMAX_M )); then
157  if [[ ! -f $WORKDIR/J12p.dat ]]; then
158  eval nohup JMakePDG -F12 -A $absorptionLengthFactor -S $scatteringLengthFactor -D $D -o $WORKDIR/J12p-$D.dat -d $DEBUG $BACKGROUND
159  fi
160  fi
161  done
162 
163  if [[ ! -f $WORKDIR/J13p.dat ]]; then
164  eval nohup JMakePDG -F13 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J13p.dat -d $DEBUG $BACKGROUND
165  fi
166 
167  let "DMAX_M = ${RMAX_M}*1.5"
168 
169  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 \
170  120.0 150.0 170.0 190.0 210.0 230.0 250.0 270.0 290.0 310.0 \
171  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
172 
173  if (( $D <= $DMAX_M )); then
174  if [[ ! -f $WORKDIR/J14p.dat ]]; then
175  eval nohup JMakePDG -F14 -A $absorptionLengthFactor -S $scatteringLengthFactor -D $D -o $WORKDIR/J14p-$D.dat -d $DEBUG $BACKGROUND
176  fi
177  fi
178  done
179 
180  if [[ ! -f $WORKDIR/J23p.dat ]]; then
181  eval nohup JMakePD0 -F23 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J23p.dat -d $DEBUG $BACKGROUND
182  fi
183  if [[ ! -f $WORKDIR/J24p.dat ]]; then
184  eval nohup JMakePD0 -F24 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J24p.dat -d $DEBUG $BACKGROUND
185  fi
186  fi
187 
188 fi
189 
190 
191 if (( $MERGE_PDF )); then
192 
193  if [[ ! -f $WORKDIR/J3p.dat ]]; then
194 
195  FILE_LIST=`ls $WORKDIR/J3p-*.dat`
196 
197  JMergePDF -f $FILE_LIST -o $WORKDIR/J3p.dat -d $DEBUG
198  fi
199 
200  if [[ ! -f $WORKDIR/J4p.dat ]]; then
201 
202  FILE_LIST=`ls $WORKDIR/J4p-*.dat`
203 
204  JMergePDF -f $FILE_LIST -o $WORKDIR/J4p.dat -d $DEBUG
205  fi
206 
207  if [[ ! -f $WORKDIR/J6p.dat ]]; then
208 
209  FILE_LIST=`ls $WORKDIR/J6p-*.dat`
210 
211  JMergePDF -f $FILE_LIST -o $WORKDIR/J6p.dat -d $DEBUG
212  fi
213 
214  if [[ ! -f $WORKDIR/J12p.dat ]]; then
215 
216  FILE_LIST=`ls $WORKDIR/J12p-*.dat`
217 
218  JMergePDG -f $FILE_LIST -o $WORKDIR/J12p.dat -d $DEBUG
219  fi
220 
221  if [[ ! -f $WORKDIR/J14p.dat ]]; then
222 
223  FILE_LIST=`ls $WORKDIR/J14p-*.dat`
224 
225  JMergePDG -f $FILE_LIST -o $WORKDIR/J14p.dat -d $DEBUG
226  fi
227 
228  if [[ ! -f $WORKDIR/J113p.dat ]]; then
229 
230  JMakePDE -F $WORKDIR/J%p.dat -o $WORKDIR/J113p.dat -T $TTS_NS -d $DEBUG
231  fi
232 fi
233 
234 
235 if (( $MAKE_CDF )); then
236 
237  check_process JMakeCDF JMakeCDG
238 
239  if [[ ! -f $WORKDIR/I1p.dat ]]; then
240  JMakeCDF -f $WORKDIR/J1p.dat -e 1e-5 -o $WORKDIR/I1p.dat -d $DEBUG
241  fi
242  if [[ ! -f $WORKDIR/I2p.dat ]]; then
243  JMakeCDF -f $WORKDIR/J2p.dat -e 1e-4 -o $WORKDIR/I2p.dat -d $DEBUG
244  fi
245  if [[ ! -f $WORKDIR/I5p.dat ]]; then
246  JMakeCDF -f $WORKDIR/J5p.dat -e 1e-5 -o $WORKDIR/I5p.dat -d $DEBUG
247  fi
248  if [[ ! -f $WORKDIR/I6p.dat ]]; then
249  JMakeCDF -f $WORKDIR/J6p.dat -e 1e-5 -o $WORKDIR/I6p.dat -d $DEBUG
250  fi
251  if [[ ! -f $WORKDIR/I12p.dat ]]; then
252  JMakeCDG -f $WORKDIR/J12p.dat -e 1e-5 -o $WORKDIR/I12p.dat -d $DEBUG
253  fi
254  if [[ ! -f $WORKDIR/I13p.dat ]]; then
255  JMakeCDG -f $WORKDIR/J13p.dat -e 1e-5 -o $WORKDIR/I13p.dat -d $DEBUG
256  fi
257  if [[ ! -f $WORKDIR/I14p.dat ]]; then
258  JMakeCDG -f $WORKDIR/J14p.dat -e 1e-5 -o $WORKDIR/I14p.dat -d $DEBUG
259  fi
260 fi
261 
262 if (( $CLEAN )); then
263  if ( rm -f $WORKDIR/J*p-*.dat ); then; fi
264 fi
265 
266 status "End $script"
const JPolynome F1
Integral.
Definition: JQuadrature.cc:34
data_type w[N+1][M+1]
Definition: JPolint.hh:778
then usage $script< directory A >< directoryB > nIn each there should be a file detector datx and tripod txt
o $QUALITY_ROOT d $DEBUG!JPlot1D f
Definition: JDataQuality.sh:66
double absorptionLengthFactor
Scaling of absorption and scattering length.
Definition: JDrawPD0.cc:24
exit
Definition: JPizza.sh:36
data_type r[M+1]
Definition: JPolint.hh:779
is
Definition: JDAQCHSM.chsm:167
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
then echo
static const double C
Physics constants.
const int n
Definition: JPolint.hh:697
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:21
do set_variable OUTPUT_DIRECTORY $WORKDIR T
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
Definition: JLegolas.sh:20
then awk F
* usage
then usage $script[distance] fi case set_variable R
Definition: JDrawLED.sh:43
do JPlot2D f $WORKDIR detector root
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR set_variable DEBUG set_variable WORKDIR if do_usage *then usage $script(input file)+" fi if (( $ fatal "Invalid number of arguments." fi JCookie.sh set_array INPUT_FILES $argv[1
double scatteringLengthFactor
Definition: JDrawPD0.cc:25
then display $WORKDIR
Definition: plot-Domino.sh:128
esac typeset A BUFFER $JPP_DIR examples JAcoustics JCreep f $INPUT_FILE BUFFER
Definition: JCreep.sh:34
$WORKDIR ev_configure_domsimulator txt echo process $DOM_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DOM_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:46
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
script
Definition: JAcoustics.sh:2
do echo Generating $dir eval D
Definition: JDrawLED.sh:53
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:62
esac done
Definition: JAddHDE.sh:21
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62