6 if [ -z $JPP_DIR ]; 
then 
    7     echo "Variable JPP_DIR undefined." 
   11 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/
null 
   24     usage "$script <detector file> <input file> [<lower floor>-<upper floor>]"\
 
   25           "\nInput file corresponds to the output of JKatoomba[.sh]." 
   32     *) fatal 
"Wrong number of arguments." 
   35 eval `JPrintDetector -
a $DETECTOR -O IDENTIFIER`
 
   41 source JAcoustics.sh   $DETECTOR_ID
 
   50 get_tripods 
$WORKDIR/tripod.txt TRIPODS
 
   52 for EMITTER 
in ${(@
k)TRIPODS}; 
do 
   57         -
o "$WORKDIR/canberra[${EMITTER}].root"      \
 
   66 kill_child_processes_at_exit
 
   72     echo -
n "Creating graphics for string $STRING.." 
   76     for EMITTER 
in ${(@
k)TRIPODS}; 
do 
   83         for (( FLOOR = $FIRST_FLOOR; $FLOOR <= $LAST_FLOOR; FLOOR += 1 )); 
do 
   90             if [[ -
n "$N" ]] && (( $N >= $NUMBER_OF_ENTRIES )); 
then 
   92                 set_array  
Q  `JPrintQuantiles -
f $WORKDIR/canberra\[$EMITTER\].root:${MODULE} -
Q "0.33 0.50 0.66"`
 
   94                 let 
XMIN=
"$Q[2] - 5.0*($Q[3] - $Q[1])" 
   95                 let XMAX=
"$Q[2] + 5.0*($Q[3] - $Q[1])" 
   98                     -
f $WORKDIR/canberra\[$EMITTER\].root:${MODULE}     \
 
  100                     -@ 
"p0 = GetMaximum"                                \
 
  102                     -@ 
"p2 = 0.5*($Q[3] - $Q[1])"                       \
 
  111                     set_array P2 `JPrintFit -
f $WORKDIR/fit.root:\.\* -@
p2`
 
  113                     ((
P1[1] =     $P1[1]  * 1.0e3))     
# [ms] 
  114                     ((P2[1] = abs($P2[1]) * 1.0e3))     
# [ms] 
  116                     printf 
"%2d %9.6f %9.6f\n" $FLOOR $P1[1] $P2[1] >> $STRING_TXT
 
  131         -
f${^HISTOGRAMS}
":.*"                          \
 
  134         -y 
"$TMIN_MS $TMAX_MS"                         \
 
  142     echo " -> $WORKDIR/string_${STRING}.$FORMAT" 
  152 for EMITTER 
in ${(@
k)TRIPODS}; 
do 
  153     HISTOGRAMS+=(
"$WORKDIR/canberra[${EMITTER}].root")
 
  157     -
f${^HISTOGRAMS}
":.*toa"                       \
 
  161 set_array  
Q  `JPrintQuantiles -
f $WORKDIR/sum.root:\.\* -
Q "0.33 0.50 0.66"`
 
  166     -@ 
"p0 = GetMaximum"                           \
 
  168     -@ 
"p2 = 0.5*($Q[3] - $Q[1])"                  \
 
  172 let XMIN=
"$TMIN_MS * 1.0e-3" 
  173 let XMAX=
"$TMAX_MS * 1.0e-3" 
  188     for EMITTER 
in ${(@
k)TRIPODS}; 
do 
  198 $JPP_DIR/examples/JGizmo/JHistogram1D \
 
  199     -
x "200 $TMIN_MS $TMAX_MS"                     \
 
  203 $JPP_DIR/examples/JGizmo/JHistogram1D \
 
  211 X_LABEL[
p2]=
"#sigma [ms]" 
  217         -\> 
"$X_LABEL[${P}]"                           \
 
  218         -\^ 
"number of modules"                        \
 
do echo n Creating graphics for string $STRING HISTOGRAMS
 
then usage $script< detector file >< detectorfile > nIf the range of floors is the first detector file is aligned to the second before the comparison nIn only modules within the given range of floors are used fi case set_variable RANGE $argv[3]
 
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
 
Q(UTCMax_s-UTCMin_s)-livetime_s
 
clean eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable STRING
 
then usage $script< directory A >< directoryB > nIn each there should be a file detector datx and tripod txt
 
do set_variable STRING_TXT $WORKDIR string_
 
o $QUALITY_ROOT d $DEBUG!JPlot1D f
 
then JShowerPostfit f $INPUT_FILE o $OUTPUT_FILE N
 
static const double H
Planck constant [eV s]. 
 
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
 
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[*]
 
then fatal Invalid string $STRING
 
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
 
do set_variable STRING_TXT awk
 
*fatal Wrong number of arguments esac eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable FIRST_FLOOR
 
do set_variable OUTPUT_DIRECTORY $WORKDIR T
 
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
 
then JConvertDetectorFormat a $DETECTOR[1] o
 
then JFileTuna f $INPUT_FILE
 
do JPlot2D f $WORKDIR detector root
 
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
 
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
 
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
 
do set_variable MODULE getModule a $WORKDIR detector_a datx L $STRING JEditDetector a $WORKDIR detector_a datx M $MODULE setz o $WORKDIR detector_a datx JEditDetector a $WORKDIR detector_b datx M $MODULE setz o $WORKDIR detector_b datx done echo Output stored at $WORKDIR detector_a datx and $WORKDIR tripod_a txt JDrawDetector2D a $WORKDIR detector_a datx a $WORKDIR detector_b datx L BL o detector $FORMAT $BATCH JDrawDetector2D T $WORKDIR tripod_a txt T $WORKDIR tripod_b txt L BL o tripod $FORMAT $BATCH JCompareDetector a $WORKDIR detector_a datx b $WORKDIR detector_b datx o $WORKDIR abc root &dev null for KEY in X Y Z
 
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
 
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
 
then usage eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY kill_child_processes_at_exit attach getModule a $DETECTOR typeset Z STRING typeset Z FLOOR typeset A X_LABEL typeset A YMAX X_LABEL[twist]
 
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