Jpp  15.0.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
examples/JAcoustics/JKatoomba.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 
12 set_variable DIR $JPP_DIR/examples/JAcoustics/
14 set_array FIT 2
15 set_variable SIGMA_S 50.0E-6
16 set_variable: FORMAT GRAPHICS_FORMAT gif
17 set_variable+ BATCH GRAPHICS_BATCH -B
18 
19 if do_usage $*; then
20  usage "$script <detector file> <tripod file>"
21 fi
22 
23 if (( $# != 2 )); then
24  fatal "Wrong number of arguments."
25 fi
26 
29 
30 if [[ ! -f $DETECTOR ]]; then
31  fatal "No file $DETECTOR."
32 fi
33 
34 if [[ ! -f $TRIPOD ]]; then
35  fatal "No file $TRIPOD."
36 fi
37 
38 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
39 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
40 
41 rm -f $WORKDIR/cpu.$FORMAT
42 rm -f $WORKDIR/chi2.$FORMAT
43 rm -f $WORKDIR/TX*.$FORMAT
44 rm -f $WORKDIR/RX*.$FORMAT
45 
46 if (( 1 )); then
47 
48  JDrawDetector2D \
49  -a $DETECTOR \
50  -T $TRIPOD \
51  -L TR \
52  -o $WORKDIR/footprint.$FORMAT $BATCH
53 fi
54 
55 if ( ! reuse_file $WORKDIR/katoomba.root ); then
56 
57  $DIR/JKatoomba \
58  -a $DETECTOR \
59  -o $WORKDIR/katoomba.root \
60  -T $TRIPOD \
61  -n 10000 \
62  -@ "sigma_s = $SIGMA_S;" \
63  -@ "mestimator = 0;" \
64  -F $FIT \
65  -S 12345678 \
66  -d $DEBUG --!
67 fi
68 
69 for STRING in ${STRINGS[*]}; do
70 
71  set_array RESULT `JPrintResult -f "$WORKDIR/katoomba.root:string\[$STRING\]" -F "GetRMS(1)" -F "GetRMS(2)"`
72 
73  printf "%4d %9.5f %9.5f [mrad]\n" $STRING $RESULT[*]
74 done
75 
76 if (( 1 )); then
77 
78  JPlot1D \
79  -f "$WORKDIR/katoomba.root:cpu" \
80  -XX \
81  -\> "cpu [#mus]" \
82  -\^ "number of events [a.u.]" \
83  -T "$FIT" \
84  -o $WORKDIR/cpu.$FORMAT $BATCH
85 
86  JPlot1D \
87  -f "$WORKDIR/katoomba.root:chi2" \
88  -\> "chi2/NDF" \
89  -\^ "number of events [a.u.]" \
90  -s 110 \
91  -T "$FIT" \
92  -o $WORKDIR/chi2.$FORMAT $BATCH
93 fi
94 
95 if (( 1 )); then
96 
97  source JAcoustics.sh --
98 
99  typeset -A TRIPODS
100 
101  get_tripods $TRIPOD TRIPODS
102 
103  for EMITTER in ${(@k)TRIPODS}; do
104 
105  JPlot1D \
106  -f "$WORKDIR/katoomba.root:emitter\[${EMITTER}\]" \
107  -\> "#Deltat [s]" \
108  -\^ "number of events [a.u.]" \
109  -N "X 505" \
110  -s 111010 \
111  -T "[${(l:2::0::0:)EMITTER}]" \
112  -o $WORKDIR/TX${EMITTER}.$FORMAT $BATCH
113  done
114 fi
115 
116 if (( 1 )); then
117 
118  JOpera1D \
119  -f "$WORKDIR/katoomba.root:string\[.*\]" \
120  -u Add \
121  -o $WORKDIR/sum.root >& /dev/null
122 
123  JPlot2D \
124  -f $WORKDIR/sum.root:\.\* \
125  -O COLZ \
126  -\> "#DeltaTx [mrad]" \
127  -\< "#DeltaTy [mrad]" \
128  -N "X 505" \
129  -N "Y 505" \
130  -s 101010 \
131  -T "" \
132  -o $WORKDIR/RX.$FORMAT $BATCH
133 
134  rm -f $WORKDR/sum.root
135 
136 fi
137 
138 if (( 1 )); then
139 
140  eval `JPrintDetector -a $DETECTOR -O SUMMARY`
141 
142  for STRING in $STRINGS[*]; do
143 
144  JPlot2D \
145  -f "$WORKDIR/katoomba.root:string\[${STRING}\]" \
146  -O COLZ \
147  -\> "#DeltaTx [mrad]" \
148  -\< "#DeltaTy [mrad]" \
149  -N "X 505" \
150  -N "Y 505" \
151  -s 101010 \
152  -T "[${(l:4::0::0:)STRING}]" \
153  -o $WORKDIR/RX${STRING}.$FORMAT $BATCH
154  done
155 fi
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
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
then JShowerPostfit f $INPUT_FILE o $OUTPUT_FILE N
exit
Definition: JPizza.sh:36
do echo Generating $dir eval DIR
Definition: JPlotNPE1D.sh:54
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:64
const int n
Definition: JPolint.hh:660
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:20
do set_variable OUTPUT_DIRECTORY $WORKDIR T
&set_variable TRIPOD
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 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
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
double u[N+1]
Definition: JPolint.hh:739
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
then fatal Invalid tripod $TRIPOD
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null