Jpp  16.0.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 
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 "$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;;
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 if [[ ! -d $WORKDIR ]]; then
88  fatal "Directory $WORKDIR does not exist."
89 fi
90 
91 status "Start $script"
92 
93 
94 if [[ -n $WGET ]]; then
95  cd $WORKDIR
96  rm -f *.dat
97  wget -A dat,txt,root,evt.gz -r -l 1 -nd -q $WGET
98 fi
99 
100 
101 if (( $MAKE_PDF )); then
102 
103  check_process JMakePDF JMakePDG
104 
105  if (( 1 )); then
106 
107  if [[ ! -f $WORKDIR/J1p.dat ]]; then
108  eval nohup JMakePDF -F1 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J1p.dat -d $DEBUG $BACKGROUND
109  fi
110  if [[ ! -f $WORKDIR/J2p.dat ]]; then
111  eval nohup JMakePDF -F2 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J2p.dat -d $DEBUG $BACKGROUND
112  fi
113 
114  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 \
115  11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 \
116  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 \
117  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 \
118  170.0 190.0 210.0 230.0 250.0 270.0 290.0 310.0; do
119 
120  if (( $R <= $RMAX_M )); then
121 
122  if [[ ! -f $WORKDIR/J3p.dat ]]; then
123  eval nohup JMakePDF -F3 -A $absorptionLengthFactor -S $scatteringLengthFactor -R $R -o $WORKDIR/J3p-$R.dat -d $DEBUG $BACKGROUND
124  fi
125  if [[ ! -f $WORKDIR/J4p.dat ]]; then
126  eval nohup JMakePDF -F4 -A $absorptionLengthFactor -S $scatteringLengthFactor -R $R -o $WORKDIR/J4p-$R.dat -d $DEBUG $BACKGROUND
127  fi
128  fi
129  done
130 
131  if [[ ! -f $WORKDIR/J5p.dat ]]; then
132  eval nohup JMakePDF -F5 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J5p.dat -d $DEBUG $BACKGROUND
133  fi
134 
135  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 \
136  11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 \
137  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 \
138  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 \
139  170.0 190.0 210.0 230.0 250.0; do
140 
141  if (( $R <= $RMAX_M )); then
142 
143  if [[ ! -f $WORKDIR/J6p.dat ]]; then
144  eval nohup JMakePDF -F6 -A $absorptionLengthFactor -S $scatteringLengthFactor -R $R -o $WORKDIR/J6p-$R.dat -d $DEBUG $BACKGROUND
145  fi
146  fi
147  done
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; do
153 
154  if (( $D <= $DMAX_M )); then
155  if [[ ! -f $WORKDIR/J12p.dat ]]; then
156  eval nohup JMakePDG -F12 -A $absorptionLengthFactor -S $scatteringLengthFactor -D $D -o $WORKDIR/J12p-$D.dat -d $DEBUG $BACKGROUND
157  fi
158  fi
159  done
160 
161  if [[ ! -f $WORKDIR/J13p.dat ]]; then
162  eval nohup JMakePDG -F13 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J13p.dat -d $DEBUG $BACKGROUND
163  fi
164 
165  let DMAX_M="${RMAX_M}*1.5"
166 
167  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 \
168  120.0 150.0 170.0 190.0 210.0 230.0 250.0 270.0 290.0 310.0 \
169  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
170 
171  if (( $D <= $DMAX_M )); then
172  if [[ ! -f $WORKDIR/J14p.dat ]]; then
173  eval nohup JMakePDG -F14 -A $absorptionLengthFactor -S $scatteringLengthFactor -D $D -o $WORKDIR/J14p-$D.dat -d $DEBUG $BACKGROUND
174  fi
175  fi
176  done
177 
178  if [[ ! -f $WORKDIR/J23p.dat ]]; then
179  eval nohup JMakePD0 -F23 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J23p.dat -d $DEBUG $BACKGROUND
180  fi
181  if [[ ! -f $WORKDIR/J24p.dat ]]; then
182  eval nohup JMakePD0 -F24 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J24p.dat -d $DEBUG $BACKGROUND
183  fi
184  fi
185 
186 fi
187 
188 
189 if (( $MERGE_PDF )); then
190 
191  if [[ ! -f $WORKDIR/J3p.dat ]]; then
192 
193  FILE_LIST=`ls $WORKDIR/J3p-*.dat`
194 
195  JMergePDF -f $FILE_LIST -o $WORKDIR/J3p.dat -d $DEBUG
196  fi
197 
198  if [[ ! -f $WORKDIR/J4p.dat ]]; then
199 
200  FILE_LIST=`ls $WORKDIR/J4p-*.dat`
201 
202  JMergePDF -f $FILE_LIST -o $WORKDIR/J4p.dat -d $DEBUG
203  fi
204 
205  if [[ ! -f $WORKDIR/J6p.dat ]]; then
206 
207  FILE_LIST=`ls $WORKDIR/J6p-*.dat`
208 
209  JMergePDF -f $FILE_LIST -o $WORKDIR/J6p.dat -d $DEBUG
210  fi
211 
212  if [[ ! -f $WORKDIR/J12p.dat ]]; then
213 
214  FILE_LIST=`ls $WORKDIR/J12p-*.dat`
215 
216  JMergePDG -f $FILE_LIST -o $WORKDIR/J12p.dat -d $DEBUG
217  fi
218 
219  if [[ ! -f $WORKDIR/J14p.dat ]]; then
220 
221  FILE_LIST=`ls $WORKDIR/J14p-*.dat`
222 
223  JMergePDG -f $FILE_LIST -o $WORKDIR/J14p.dat -d $DEBUG
224  fi
225 fi
226 
227 
228 if (( $MAKE_CDF )); then
229 
230  check_process JMakeCDF JMakeCDG
231 
232  if [[ ! -f $WORKDIR/I1p.dat ]]; then
233  JMakeCDF -f $WORKDIR/J1p.dat -e 1e-5 -o $WORKDIR/I1p.dat -d $DEBUG
234  fi
235  if [[ ! -f $WORKDIR/I2p.dat ]]; then
236  JMakeCDF -f $WORKDIR/J2p.dat -e 1e-4 -o $WORKDIR/I2p.dat -d $DEBUG
237  fi
238  if [[ ! -f $WORKDIR/I5p.dat ]]; then
239  JMakeCDF -f $WORKDIR/J5p.dat -e 1e-5 -o $WORKDIR/I5p.dat -d $DEBUG
240  fi
241  if [[ ! -f $WORKDIR/I6p.dat ]]; then
242  JMakeCDF -f $WORKDIR/J6p.dat -e 1e-5 -o $WORKDIR/I6p.dat -d $DEBUG
243  fi
244  if [[ ! -f $WORKDIR/I12p.dat ]]; then
245  JMakeCDG -f $WORKDIR/J12p.dat -e 1e-5 -o $WORKDIR/I12p.dat -d $DEBUG
246  fi
247  if [[ ! -f $WORKDIR/I13p.dat ]]; then
248  JMakeCDG -f $WORKDIR/J13p.dat -e 1e-5 -o $WORKDIR/I13p.dat -d $DEBUG
249  fi
250  if [[ ! -f $WORKDIR/I14p.dat ]]; then
251  JMakeCDG -f $WORKDIR/J14p.dat -e 1e-5 -o $WORKDIR/I14p.dat -d $DEBUG
252  fi
253 fi
254 
255 if (( $CLEAN )); then
256 
257  if ( rm -f $WORKDIR/J*p-*.dat ); then; fi
258 
259 fi
260 
261 status "End $script"
data_type w[N+1][M+1]
Definition: JPolint.hh:757
do $JPP JMEstimator M
Definition: JMEstimator.sh:37
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:758
then echo
static const double C
Physics constants.
const int n
Definition: JPolint.hh:676
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:20
set_variable NUMBER_OF_ITERATIONS set_variable EPSILON cat acoustics_fit_parameters txt<< EOF $CONFIGURATION[*]Nmin=3;sigma_s=100.0e-6;stdev=10.0;mestimator=0;fixStrings=0;EOF for STRING in $STRINGS[*];do#fit stretching and(z) position of given string set_variable DETECTOR_TMP ${TMPDIR:-/tmp}/detector_A.datx JEditDetector-a $DETECTOR-o $DETECTOR_TMP-r $STRING JEditDetector-a $DETECTOR-o $DETECTOR-k $STRING for MUL in 0.005 0.001;do DX_M=0.2 for((N=0;$N< $NUMBER_OF_ITERATIONS;++N));do CHI2[3]=$CHI2[1] fitPositionOfString $STRING Z $DX_M fitStretchingOfString $STRING $MUL if(($CHI2[3]-$CHI2[1]< $EPSILON));then break fi done if(($N >=$NUMBER_OF_ITERATIONS));then printf"warning: reached maximum number of iterations %d - converenge %7.3f\n"$N $(($CHI2[3]-$CHI2[1])) fi done JMergeDetector-a $DETECTOR-a $DETECTOR_TMP-o $DETECTOR rm-f $DETECTOR_TMP JConvertDetectorFormat-a $DETECTOR-o $DETECTOR-r-d 0 > &dev null done
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
* usage
then JConvertDetectorFormat a $DETECTOR[1] o
print
Definition: JConvertDusj.sh:44
then usage $script[distance] fi case set_variable R
Definition: JDrawLED.sh:43
do set_variable SIGMA_NS set_variable OUTLIERS set_variable OUTPUT_FILE matrix[${ALPHA_DEG}\deg\] root $JPP JMatrixNZ a $DETECTOR f $INPUT_FILE o $OUTPUT_FILE S
Definition: JMatrixNZ.sh:58
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
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
double scatteringLengthFactor
Definition: JDrawPD0.cc:25
then display $WORKDIR
Definition: plot-Domino.sh:128
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR $JPP_DATA set_variable MAKE_PDF set_variable MERGE_PDF set_variable MAKE_CDF set_variable CLEAN set_variable BACKGROUND set_variable WGET set_variable RMAX_M set_variable absorptionLengthFactor set_variable scatteringLengthFactor BUFFER
Definition: JMakePDF.sh:36
$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 source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:42
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