Jpp  15.0.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
mechanics:run.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 script=${0##*/}
3 
4 if [ -z $JPP_DIR ]; then
5  echo "Variable JPP_DIR undefined."
6  exit
7 fi
8 
9 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
10 
11 zmodload zsh/mathfunc
12 
13 set_variable: DEBUG ACOUSTICS_DEBUG 2
14 set_variable: WORKDIR ACOUSTICS_WORKDIR ./
15 set_variable: FIT ACOUSTICS_FIT 2
16 
17 if do_usage $*; then
18  usage "$script <string identifier> <detector file> (input file)+"
19 fi
20 
21 if (( $# < 3 )); then
22  fatal "Wrong number of arguments."
23 fi
24 
27 set_array INPUT_FILES $argv[3,-1]
28 
29 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
30 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
31 eval `JPrintDetector -a $DETECTOR -O CAN`
32 
33 source JAcoustics.sh $DETECTOR_ID
34 
35 CHECK_EXIT_CODE
36 
37 if [[ -z "${STRINGS[(r)$STRING]}" ]]; then
38  fatal "Invalid string $STRING; "\
39  "possible values: ${STRINGS[*]}"
40 fi
41 
42 let AMAX="floor(1.0e+3 / $CAN_ZMAX_M) * 1.0e-3"
43 let BMAX="floor(1.5e-1 * $CAN_ZMAX_M) * 1.0e+1"
44 let DA="$AMAX * 2.0e-2"
45 let DB="$BMAX * 2.0e-2"
46 
47 set_variable MECHANICS_TXT $WORKDIR/mechanicsab_${STRING}.txt
48 
50 mkdir -p $TMPDIR
51 
52 rm -f $TMPDIR/detector.detx
53 
54 JEditDetector \
55  -a $DETECTOR \
56  -k "$STRING" \
57  -o $TMPDIR/detector.detx
58 
59 for (( A = 0.0; $A <= $AMAX; A += $DA )); do
60  for (( B = 0.0; $B <= $BMAX; B += $DB )); do
61 
62  rm -f $TMPDIR/katoomba.root
63 
64  JKatoomba \
65  -a $TMPDIR/detector.detx \
66  -f "$INPUT_FILES[*]" \
67  -o $TMPDIR/katoomba.root \
68  -T $WORKDIR/tripod.txt \
69  -V $WORKDIR/sound_velocity.txt \
70  -M $WORKDIR/mechanics.txt \
71  -M "$STRING $A $B" \
72  -@ $WORKDIR/acoustics_fit_parameters.txt \
73  -! $WORKDIR/disable.txt \
74  -F $FIT \
75  -u \
76  -d $DEBUG --!
77 
78  if (( `JPrintResult -f $TMPDIR/katoomba.root:chi2 -F "GetSumOfWeights"` > 1.0 )); then
79 
80  set_array RESULT `JPrintResult -f $TMPDIR/katoomba.root:chi2 -F "GetMean" -F "GetRMS / sqrt(GetSumOfWeights)"`
81 
82  printf "%7.5f %8.3f %7.3f %7.3f\n" $A $B $RESULT[*] >> $MECHANICS_TXT
83  else
84  error "No result."
85  fi
86  done
87 done
88 
89 rm -rf $TMPDIR
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
do $JPP JMEstimator M
Definition: JMEstimator.sh:37
clean eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable STRING
o $QUALITY_ROOT d $DEBUG!JPlot1D f
Definition: JDataQuality.sh:66
exit
Definition: JPizza.sh:36
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
then echo
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:20
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 if do_usage *then usage $script[(input file)+] fi set_variable DEBUG set_variable WORKDIR TMPDIR
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 JConvertDetectorFormat a $DETECTOR[1] o
do sput $STRING $FLOOR sget MODULE INPUT_FILES
Definition: JCanberra.sh:73
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
then JCalibrateToT a
Definition: JTuneHV.sh:116
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
then display $WORKDIR
Definition: plot-Domino.sh:128
set_variable DETECTOR
do set_variable DETECTOR_TXT $WORKDIR detector
double u[N+1]
Definition: JPolint.hh:739
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