Jpp  17.3.2
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
acoustics-fit-toolkit.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 script=${0##*/}
3 
4 # -----------------------------------------------------------------------------------------------------
5 #
6 # Toolkit for the determination of the fixed parameters in the system, a.k.a. "pre-calibration".
7 # The list of parameters includes (x,y,z) positions of strings and tripods, stretching of strings,
8 # z-positions of the optical modules, orientations of the strings and possibly z-positions of anchors.
9 #
10 # The value of a given parameter is optimised by minimising the average chi2/NDF
11 # of a series of global fits applied to a predefined set of acoustic events.
12 # For each parameter, there exists a designated function.
13 #
14 # There are also steering functions to consistently determine the optimal values for a set of parameters.
15 # In these, the current accuracy of the parameter values is taken into account.
16 # These are therefore referred to as "stages".
17 # The pre-calibration thus consists of a sequence of stages.
18 # For each detector, a complete pre-calibration procedure is implemented in a designated script.
19 #
20 # Mandatory input variables:
21 #
22 # DETECTOR # detector file
23 # INPUT_FILES # list of input files (output of JAcousticsEventBuilder[.sh])
24 #
25 # Optional input variables:
26 #
27 # HYDROPHONE # if defined, use hydrophones in global fit; else do not use hydrophones
28 #
29 # In the following:
30 #
31 # STRINGS corresponds to list of strings to be fitted; this can be changed with function fixStrings.
32 # TRIPODS corresponds to list of tripods to be fitted; this can be changed with function fixTripods.
33 #
34 # TRANSMITTERS corresponds to list of strings which have an emitter on the anchor (maybe empty).
35 # For these strings, the orientations and the z-positions of the anchors will separately be fitted.
36 # This list will also be changed with function fixStrings.
37 # -----------------------------------------------------------------------------------------------------
38 
39 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
40 source $JPP_BIN/gradient.sh
41 
42 echo "Toolkit for pre-calibrations of detectors."
43 echo "Consult the script '$0' for more details."
44 
45 if [[ ! $ZSH_EVAL_CONTEXT =~ :file$ ]]; then
46  echo "This script should be sourced by the steering script for a specific detector."
47  exit
48 fi
49 
50 if [[ `ps -o stat= -p $$` == *"+" ]]; then
51  echo "This script cannot interactively be used."
52  exit
53 fi
54 
55 source JAcousticsToolkit.sh
56 
57 set_variable TMPDIR `pwd`/.$$ # temporary directory
58 set_variable: DEBUG ACOUSTICS_DEBUG 3 # debug level
59 set_variable: JOBS ACOUSTICS_JOBS 0 # number of parallel threads
60 set_variable: SLEEP_US ACOUSTICS_SLEEP_US 100 # sleep time [us] of main thread when data queue exceeds limit
61 
62 typeset -A TRIPODS # tripods
63 typeset -a CHI2 # chi2 values; index [1] corresponds to best value
64 
65 let "NUMBER_OF_ITERATIONS = 100" # maximal number of iterations
66 let "EPSILON = 5.0E-4" # maximal distance to minimum of chi2
67 let "RADIUS_M = 1.0" # maximal horizontal distance between T-bar and emitter/hydrophone
68 let "PRECISION = 10" # number of decimals of chi2 evaluation
69 
70 
71 # -----------------------------------------------------------------------------------------------------
72 # Initialise.
73 #
74 # Install input files in working directory and create temporary directory TMPDIR.
75 #
76 # -----------------------------------------------------------------------------------------------------
77 function initialise()
78 {
79  eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
80  eval `JPrintDetector -a $DETECTOR -O SUMMARY`
81  eval `JPrintDetector -a $DETECTOR -O CAN`
82 
83  JAcoustics.sh $DETECTOR_ID
84 
85  get_tripods tripod.txt TRIPODS
86 
87  TRANSMITTERS=(`get_strings_with_transmitter transmitter.txt`)
88 
89  if [[ "${HYDROPHONE+YES}" == "YES" ]]; then
90  HYDROPHONES=(`get_strings_with_hydrophone hydrophone.txt`)
91  else
92  HYDROPHONES=()
93  fi
94 
95  mkdir -p $TMPDIR
96 
97  JConvertDetectorFormat -a $DETECTOR -o $TMPDIR/pmt.datx
98  JDetachPMTs -a $DETECTOR -o $DETECTOR
99 }
100 
101 
102 # -----------------------------------------------------------------------------------------------------
103 # Backup files in given directory.
104 #
105 # \param 1 directory
106 # -----------------------------------------------------------------------------------------------------
107 function backup()
108 {
109  mkdir -p $1
110 
111  cp -p {tripod.txt,transmitter.txt,hydrophone.txt} $1
112 
113  JAttachPMTs -a $DETECTOR -f $TMPDIR/pmt.datx -o $1/detector.datx
114 }
115 
116 
117 # -----------------------------------------------------------------------------------------------------
118 # Remove temporary directory and restore input files in working directory.
119 #
120 # -----------------------------------------------------------------------------------------------------
121 function clean()
122 {
123  JAttachPMTs -a $DETECTOR -f $TMPDIR/pmt.datx -o $DETECTOR
124 
125  rm -rf $TMPDIR >& /dev/null
126 
127  rm -f {acoustics_fit_parameters,acoustics_trigger_parameters}.txt
128 
129  JAcoustics.sh $DETECTOR_ID
130 }
131 
132 
133 # -----------------------------------------------------------------------------------------------------
134 # Fix strings.
135 #
136 # \param 1-N identifiers
137 # -----------------------------------------------------------------------------------------------------
138 function fixStrings()
139 {
140  typeset -a BUFFER
141 
142  BUFFER=(`echo $*`)
143 
144  if (( ${#BUFFER} > 0 )); then
145  STRINGS=(${STRINGS:|BUFFER})
146  TRANSMITTERS=(${TRANSMITTERS:|BUFFER})
147  HYDROPHONES=(${HYDROPHONES:|BUFFER})
148  fi
149 }
150 
151 
152 # -----------------------------------------------------------------------------------------------------
153 # Fix tripods.
154 #
155 # \param 1-N identifiers
156 # -----------------------------------------------------------------------------------------------------
157 function fixTripods()
158 {
159  typeset -a BUFFER
160 
161  BUFFER=(`echo $*`)
162 
163  if (( ${#BUFFER} > 0 )); then
164  for ID in $BUFFER[*]; do
165  unset "TRIPODS[${ID}]"
166  done
167  fi
168 }
169 
170 
171 # -----------------------------------------------------------------------------------------------------
172 # Evaluate current chi2.
173 #
174 # \param 1 variable containing chi2 value on return
175 # -----------------------------------------------------------------------------------------------------
176 function getChi2()
177 {
178  rm -f $TMPDIR/katoomba.root >& /dev/null
179 
180  if (( $JOBS == 0 )); then
181 
182  JKatoomba \
183  -a $DETECTOR \
184  -f "$INPUT_FILES[*]" \
185  -o $TMPDIR/katoomba.root \
186  -T tripod.txt \
187  -Y transmitter.txt \
188  -V sound_velocity.txt \
189  -M mechanics.txt \
190  -@ $TMPDIR/acoustics_fit_parameters.txt \
191  -! disable.txt \
192  ${HYDROPHONE+-H hydrophone.txt} \
193  -u \
194  -d 0 --! >& $TMPDIR/job.log
195 
196  else
197 
198  JFremantle \
199  -a $DETECTOR \
200  -f "$INPUT_FILES[*]" \
201  -o $TMPDIR/katoomba.root \
202  -T tripod.txt \
203  -Y transmitter.txt \
204  -V sound_velocity.txt \
205  -M mechanics.txt \
206  -@ $TMPDIR/acoustics_fit_parameters.txt \
207  -! disable.txt \
208  ${HYDROPHONE+-H hydrophone.txt} \
209  -u \
210  -N $JOBS \
211  -s $SLEEP_US \
212  -d 0 --! >& $TMPDIR/job.log
213  fi
214 
215  if (( $? != 0 )); then
216  fatal "non-zero exit code, see $TMPDIR/job.log"
217  fi
218 
219  ls -l $TMPDIR/katoomba.root >> $TMPDIR/job.log
220 
221  let "UV = $($JPP_DIR/examples/JAcoustics/JPrintChi2 -f $TMPDIR/katoomba.root -p $PRECISION)"
222 
223  if (( $? != 0 )); then
224  fatal "non-zero exit code let, value <${UV}>."
225  fi
226 
227  eval $1=$UV
228 }
229 
230 
231 # -----------------------------------------------------------------------------------------------------
232 # Stage 0.
233 # This stage can be used to determine the (x,y,z) positions of tripods using strings that are fixed.
234 #
235 # \param 1 fit option
236 # \param 2 M-estimator
237 # \param 3 resolution [s]
238 # \param 4 step size [m]
239 # \param 5 maximum number of extra steps
240 # -----------------------------------------------------------------------------------------------------
241 function stage_0()
242 {
243  cat>$TMPDIR/acoustics_fit_parameters.txt<<EOF
244 `egrep Tmax_s acoustics_fit_parameters.txt`
245 Nmin = 3;
246 sigma_s = $3;
247 stdev = 10.0;
248 mestimator = $2;
249 option = $1;
250 EOF
251 
252  if (( ${#STRINGS} > 0 )); then
253  JEditDetector -a $DETECTOR -o $TMPDIR/detector_0.datx -k "$STRINGS[*]" -q -d 0 >& /dev/null
254  JEditDetector -a $DETECTOR -o $DETECTOR -r "$STRINGS[*]" -q -d 0 >& /dev/null
255  fi
256 
257  PARAMETERS=()
258 
259  for ID in ${(k)TRIPODS}; do
260  PARAMETERS['JEditTripod -f tripod.txt -T "$ID addx %" -o tripod.txt -q -d 0 >& /dev/null']=$4
261  PARAMETERS['JEditTripod -f tripod.txt -T "$ID addy %" -o tripod.txt -q -d 0 >& /dev/null']=$4
262  PARAMETERS['JEditTripod -f tripod.txt -T "$ID addz %" -o tripod.txt -q -d 0 >& /dev/null']=$4
263  done
264 
265  gradient $5 Y
266 
267  printf "detector %6d %8.4f\n" $N $Y
268 
269  if (( ${#STRINGS} > 0 )); then
270  JMergeDetector -a $DETECTOR -a $TMPDIR/detector_0.datx -o $DETECTOR >& /dev/null
271  fi
272 }
273 
274 
275 # -----------------------------------------------------------------------------------------------------
276 # Stage a.
277 # This stage can be used to determine the positions of the strings and tripods.
278 #
279 # \param 1 fit option
280 # \param 2 M-estimator
281 # \param 3 resolution [s]
282 # \param 4 step size strings [m]
283 # \param 5 step size tripods [m]
284 # \param 6 maximum number of extra steps
285 # -----------------------------------------------------------------------------------------------------
286 function stage_a()
287 {
288  cat>$TMPDIR/acoustics_fit_parameters.txt<<EOF
289 `egrep Tmax_s acoustics_fit_parameters.txt`
290 Nmin = 3;
291 sigma_s = $3;
292 stdev = 10.0;
293 mestimator = $2;
294 option = $1;
295 EOF
296 
297  PARAMETERS=()
298 
299  for STRING in $STRINGS[*]; do
300  PARAMETERS['JEditDetector -a $DETECTOR -S "$STRING addx %" -o $DETECTOR -q -d 0 >& /dev/null']=$4
301  PARAMETERS['JEditDetector -a $DETECTOR -S "$STRING addy %" -o $DETECTOR -q -d 0 >& /dev/null']=$4
302  PARAMETERS['JEditDetector -a $DETECTOR -s "$STRING addz %" -o $DETECTOR -q -d 0 >& /dev/null']=$4
303  done
304 
305  for ID in ${(k)TRIPODS}; do
306  PARAMETERS['JEditTripod -f tripod.txt -T "$ID addx %" -o tripod.txt -q -d 0 >& /dev/null']=$5
307  PARAMETERS['JEditTripod -f tripod.txt -T "$ID addy %" -o tripod.txt -q -d 0 >& /dev/null']=$5
308  PARAMETERS['JEditTripod -f tripod.txt -T "$ID addz %" -o tripod.txt -q -d 0 >& /dev/null']=$5
309  done
310 
311  for STRING in ${HYDROPHONES:|TRANSMITTERS}; do
312  PARAMETERS['JEditHydrophone -f hydrophone.txt -S "$STRING rot %" -o hydrophone.txt -q -d 0 >& /dev/null; JEditTransmitter -f transmitter.txt -S "$STRING rot %" -o transmitter.txt -q -d 0 >& /dev/null']=$(($4 / $RADIUS_M))
313  done
314 
315  for STRING in $TRANSMITTERS[*]; do
316 
317  set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"`
318 
319  PARAMETERS['JEditDetector -a $DETECTOR -M "$MODULE addz %" -o $DETECTOR -q -d 0 >& /dev/null']=$4
320  PARAMETERS['JEditHydrophone -f hydrophone.txt -S "$STRING rot %" -o hydrophone.txt -q -d 0 >& /dev/null; JEditTransmitter -f transmitter.txt -S "$STRING rot %" -o transmitter.txt -q -d 0 >& /dev/null']=$(($4 / $RADIUS_M))
321  done
322 
323  gradient $6 Y
324 
325  printf "detector %6d %8.4f\n" $N $Y
326 }
327 
328 
329 # -----------------------------------------------------------------------------------------------------
330 # Stage b.
331 # This stage can be used to determine the stretching and z-positions of individual strings.
332 #
333 # \param 1 fit option
334 # \param 2 M-estimator
335 # \param 3 resolution [s]
336 # \param 4 step size stretching [unit]
337 # \param 4 step size z-position [m]
338 # \param 5 maximum number of extra steps
339 # -----------------------------------------------------------------------------------------------------
340 function stage_b()
341 {
342  cat>$TMPDIR/acoustics_fit_parameters.txt<<EOF
343 `egrep Tmax_s acoustics_fit_parameters.txt`
344 Nmin = 3;
345 sigma_s = $3;
346 stdev = 10.0;
347 mestimator = $2;
348 option = $1;
349 EOF
350 
351  for STRING in $STRINGS[*]; do
352 
353  JEditDetector -a $DETECTOR -o $TMPDIR/detector_1.datx -r "$STRING" -q -d 0 >& /dev/null
354  JEditDetector -a $DETECTOR -o $DETECTOR -k "$STRING" -q -d 0 >& /dev/null
355 
356  PARAMETERS=()
357 
358  PARAMETERS['JEditDetector -a $DETECTOR -s "$STRING mul %" -o $DETECTOR -q -d 0 >& /dev/null; JEditDetector -a $DETECTOR -s "$STRING subz \$\(\(% * $CAN_ZMAX_M\)\)" -o $DETECTOR -q -d 0 >& /dev/null']=$4
359  PARAMETERS['JEditDetector -a $DETECTOR -s "$STRING addz %" -o $DETECTOR -q -d 0 >& /dev/null']=$5
360 
361  gradient $6 Y
362 
363  printf "string %04d %6d %8.4f\n" $STRING $N $Y
364 
365  JMergeDetector -a $DETECTOR -a $TMPDIR/detector_1.datx -o $DETECTOR >& /dev/null
366  done
367 }
368 
369 
370 # -----------------------------------------------------------------------------------------------------
371 # Stage c.
372 # This stage can be used to determine the z-positions of the modules.
373 #
374 # \param 1 fit option
375 # \param 2 M-estimator
376 # \param 3 resolution [s]
377 # \param 4 step size [m]
378 # \param 5 maximum number of extra steps
379 # -----------------------------------------------------------------------------------------------------
380 function stage_c()
381 {
382  cat>$TMPDIR/acoustics_fit_parameters.txt<<EOF
383 `egrep Tmax_s acoustics_fit_parameters.txt`
384 Nmin = 3;
385 sigma_s = $3;
386 stdev = 10.0;
387 mestimator = $2;
388 option = $1;
389 EOF
390 
391  PARAMETERS=()
392 
393  for STRING in $STRINGS[*]; do
394 
395  for (( FLOOR = 1; $FLOOR <= 18; FLOOR += 1 )); do
396 
397  set_variable MODULE `getModule -a $DETECTOR -L "$STRING $FLOOR"`
398 
399  PARAMETERS['JEditDetector -a $DETECTOR -M "$MODULE addz %" -o $DETECTOR -q -d 0 >& /dev/null']=$4
400  done
401  done
402 
403  gradient $5 Y
404 
405  printf "detector %6d %8.4f\n" $N $Y
406 }
407 
408 
409 # -----------------------------------------------------------------------------------------------------
410 # Stage d.
411 # This stage can be used to determine the z-positions of the anchors
412 #
413 # \param 1 fit option
414 # \param 2 M-estimator
415 # \param 3 resolution [s]
416 # \param 4 step size [m]
417 # \param 5 maximum number of extra steps
418 # -----------------------------------------------------------------------------------------------------
419 function stage_d()
420 {
421  cat>$TMPDIR/acoustics_fit_parameters.txt<<EOF
422 `egrep Tmax_s acoustics_fit_parameters.txt`
423 Nmin = 3;
424 sigma_s = $3;
425 stdev = 10.0;
426 mestimator = $2;
427 option = $1;
428 EOF
429 
430  PARAMETERS=()
431 
432  for STRING in $STRINGS[*]; do
433 
434  set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"`
435 
436  PARAMETERS['JEditDetector -a $DETECTOR -M "$MODULE addz %" -o $DETECTOR -q -d 0 >& /dev/null']=$4
437  done
438 
439  gradient $5 Y
440 
441  printf "detector %6d %8.4f\n" $N $Y
442 }
443 
444 
445 # -----------------------------------------------------------------------------------------------------
446 # Stage D.
447 # This stage can be used to determine the rotations of the strings and z-positions of the anchors
448 # including the response of hydrophones.
449 # It includes a determination of the positions of the strings and tripods.
450 #
451 # \param 1 fit option
452 # \param 2 M-estimator
453 # \param 3 resolution [s]
454 # \param 4 step size strings [m]
455 # \param 5 step size tripods [m]
456 # \param 6 maximum number of extra steps
457 # -----------------------------------------------------------------------------------------------------
458 function stage_D()
459 {
460  cat>$TMPDIR/acoustics_fit_parameters.txt<<EOF
461 `egrep Tmax_s acoustics_fit_parameters.txt`
462 Nmin = 3;
463 sigma_s = $3;
464 stdev = 10.0;
465 mestimator = $2;
466 option = $1;
467 EOF
468 
470 
471  PARAMETERS=()
472 
473  for STRING in $STRINGS[*]; do
474 
475  set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"`
476 
477  PARAMETERS['JEditDetector -a $DETECTOR -S "$STRING addx %" -o $DETECTOR -q -d 0 >& /dev/null']=$4
478  PARAMETERS['JEditDetector -a $DETECTOR -S "$STRING addy %" -o $DETECTOR -q -d 0 >& /dev/null']=$4
479  PARAMETERS['JEditDetector -a $DETECTOR -s "$STRING addz %" -o $DETECTOR -q -d 0 >& /dev/null']=$4
480  PARAMETERS['JEditDetector -a $DETECTOR -M "$MODULE addz %" -o $DETECTOR -q -d 0 >& /dev/null']=$4
481 
482  PARAMETERS['JEditHydrophone -f hydrophone.txt -S "$STRING rot %" -o hydrophone.txt -q -d 0 >& /dev/null; JEditTransmitter -f transmitter.txt -S "$STRING rot %" -o transmitter.txt -q -d 0 >& /dev/null']=$(($4 / $RADIUS_M))
483  done
484 
485  for ID in ${(k)TRIPODS}; do
486  PARAMETERS['JEditTripod -f tripod.txt -T "$ID addx %" -o tripod.txt -q -d 0 >& /dev/null']=$5
487  PARAMETERS['JEditTripod -f tripod.txt -T "$ID addy %" -o tripod.txt -q -d 0 >& /dev/null']=$5
488  PARAMETERS['JEditTripod -f tripod.txt -T "$ID addz %" -o tripod.txt -q -d 0 >& /dev/null']=$5
489  done
490 
491  gradient $6 Y
492 
493  printf "detector %6d %8.4f\n" $N $Y
494 }
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
int main(int argc, char *argv[])
Definition: Main.cc:15
then usage $script[< detector identifier >< run range >]< QA/QCfile > nExample script to produce data quality plots nWhen a detector identifier and run range are data are downloaded from the database nand subsequently stored in the given QA QC file
Definition: JDataQuality.sh:19
clean eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable STRING
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
then JLigier sh continue fi cat
Definition: JDAQDriver.sh:51
then echo Submitting reweighting and histogram comparison jobs to nikhef stbc batch queue
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
Definition: JDataQuality.sh:76
then JShowerPostfit f $INPUT_FILE o $OUTPUT_FILE N
usr share Modules init zsh export TMPDIR
static const double H
Planck constant [eV s].
exit
Definition: JPizza.sh:36
then fatal Number of tripods
Definition: JFootprint.sh:45
data_type r[M+1]
Definition: JPolint.hh:779
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTORXY_TXT $WORKDIR $DETECTORXY_TXT tail read X Y CHI2 RMS printf optimum n $X $Y $CHI2 $RMS awk v Y
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
then echo
do JCanberra a $DETECTOR f $INPUT_FILE o $WORKDIR canberra[${EMITTER}\] root T $WORKDIR tripod txt V $WORKDIR sound_velocity txt M $WORKDIR mechanics txt H $WORKDIR hydrophone txt E $EMITTER $DISABLE d $DEBUG!done kill_child_processes_at_exit attach getModule a $DETECTOR typeset Z STRING typeset Z FLOOR for STRING in $STRINGS[*]
Definition: JCanberra.sh:68
then fatal Invalid string $STRING
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:21
then JCalibrateToT a
Definition: JTuneHV.sh:116
case $OPTION in clean clean
do set_variable OUTPUT_DIRECTORY $WORKDIR T
set_array INPUT_FILES argv[2,$((START_INDEX_STRING-1))] set_array STRINGS
then $DIR JKatoomba a $DETECTOR o $WORKDIR katoomba root T $TRIPOD n sigma_s
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
then set_variable MODULE getModule a $DETECTOR L $STRING $FLOOR JEditDetector a $DETECTOR M $MODULE add $X o $DETECTOR else echo No update of detector $DETECTOR
static const JPBS_t HYDROPHONE(4, 5)
PBS of hydrophone
then if[[!-f $DETECTOR]] then JDetector sh $DETECTOR fi cat $WORKDIR trigger_parameters txt<< EOFtrigger3DMuon.enabled=1;trigger3DMuon.numberOfHits=5;trigger3DMuon.gridAngle_deg=1;ctMin=0.0;TMaxLocal_ns=15.0;EOF set_variable TRIGGEREFFICIENCY_TRIGGERED_EVENTS_ONLY INPUT_FILES=() for((i=1;$i<=$NUMBER_OF_RUNS;++i));do JSirene.sh $DETECTOR $JPP_DATA/genhen.km3net_wpd_V2_0.evt.gz $WORKDIR/sirene_ ${i}.root JTriggerEfficiency.sh $DETECTOR $DETECTOR $WORKDIR/sirene_ ${i}.root $WORKDIR/trigger_efficiency_ ${i}.root $WORKDIR/trigger_parameters.txt $JPP_DATA/PMT_parameters.txt INPUT_FILES+=($WORKDIR/trigger_efficiency_ ${i}.root) done for ANGLE_DEG in $ANGLES_DEG[*];do set_variable SIGMA_NS 3.0 set_variable OUTLIERS 3 set_variable OUTPUT_FILE $WORKDIR/matrix\[${ANGLE_DEG}\deg\].root $JPP_DIR/examples/JReconstruction-f"$INPUT_FILES[*]"-o $OUTPUT_FILE-S ${SIGMA_NS}-A ${ANGLE_DEG}-O ${OUTLIERS}-d ${DEBUG}--!fiif[[$OPTION=="plot"]];then if((0));then for H1 in h0 h1;do JPlot1D-f"$WORKDIR/matrix["${^ANGLES_DEG}" deg].root:${H1}"-y"1 2e3"-Y-L TR-T""-\^"number of events [a.u.]"-> o chi2
Definition: JMatrixNZ.sh:106
esac typeset A BUFFER $JPP_DIR examples JAcoustics JCreep f $INPUT_FILE BUFFER
Definition: JCreep.sh:34
then cp
possible values
then echo Creating output directory
Definition: JTuneHV.sh:83
do set_variable DETECTOR_TXT $WORKDIR detector
double u[N+1]
Definition: JPolint.hh:776
double getChi2(const double P)
Get chi2 corresponding to given probability.
Definition: JFitToolkit.hh:56
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
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
const JModule & getModule(const JDetector &detector, const JModuleLocation &location)
find module with a given string and floor number
int debug
debug level
esac done
Definition: JAddHDE.sh:21
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62