Jpp  15.0.0-rc.2
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JAcousticsMonitor.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 set_variable: DEBUG ACOUSTICS_DEBUG 2
12 set_variable: WORKDIR ACOUSTICS_WORKDIR ./
13 set_variable: FORMAT GRAPHICS_FORMAT gif
14 set_variable+ BATCH GRAPHICS_BATCH -B
15 
16 if do_usage $*; then
17  usage "$script <detector file> (run[-run])+"
18 fi
19 
20 if (( $# == 2 )); then
22  set_array RUNS $argv[2]
23 else
24  fatal "Wrong number of arguments."
25 fi
26 
27 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
28 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
29 
30 source JAcoustics.sh $DETECTOR_ID
31 
32 CHECK_EXIT_CODE
33 
34 for RANGE in $RUNS[*]; do
35 
36  for (( RUN = ${RANGE%%-*}; $RUN <= ${RANGE##*-}; RUN += 1 )); do
37 
38  set_variable INPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}_toashort.root
39  set_variable OUTPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}_event.root
40  set_variable MONITOR_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}_monitor.root
41 
42  if [[ ! -f $INPUT_FILE ]]; then
43 
44  JConvertDB \
45  -q toashort \
46  -@ "detid = `getDetector -D $DETECTOR_ID`" \
47  -@ "minrun = $RUN" \
48  -@ "maxrun = $RUN" \
49  -o $INPUT_FILE \
50  -d $DEBUG --!
51  fi
52 
53  if [[ ! -f $OUTPUT_FILE ]]; then
54 
55  JAcousticsEventBuilder \
56  -a $DETECTOR \
57  -f $INPUT_FILE \
58  -T $WORKDIR/tripod.txt \
59  -V $WORKDIR/sound_velocity.txt \
60  -W $WORKDIR/waveform.txt \
61  -@ $WORKDIR/acoustics_trigger_parameters.txt \
62  -H $WORKDIR/hydrophone.txt \
63  -o $OUTPUT_FILE \
64  -d $DEBUG --!
65  fi
66 
67  if [[ ! -f $MONITOR_FILE ]]; then
68 
69  $JPP_DIR/examples/JAcoustics/JAcousticsMonitor \
70  -a $DETECTOR \
71  -f $OUTPUT_FILE \
72  -o $MONITOR_FILE \
73  -d $DEBUG --!
74  fi
75 
76  JPlot1D \
77  -f ${MONITOR_FILE}:H\.\*size \
78  -L TL \
79  -\> "number of sensors" \
80  -\^ "number of events" \
81  -T "" \
82  -o $WORKDIR/size_${RUN}.$FORMAT $BATCH
83 
84  JPlot1D \
85  -f ${MONITOR_FILE}:H\.\*multiplicity \
86  -L TR \
87  -\> "multiplicity" \
88  -\^ "number of events" \
89  -Y \
90  -T "" \
91  -o $WORKDIR/multiplicity_${RUN}.$FORMAT $BATCH
92 
93  JPlot1D \
94  -f ${MONITOR_FILE}:H\.\*time \
95  -L TR \
96  -\> "#Deltat [s]" \
97  -\^ "number of events" \
98  -XX \
99  -T "" \
100  -o $WORKDIR/time_${RUN}.$FORMAT $BATCH
101 
102  JPlot1D \
103  -f ${MONITOR_FILE}:H\.\*quality \
104  -L TL \
105  -\> "10log(quality)" \
106  -\^ "number of events" \
107  -XX \
108  -T "" \
109  -o $WORKDIR/quality_${RUN}.$FORMAT $BATCH
110 
111  typeset -A TRIPODS
112 
113  get_tripods $WORKDIR/tripod.txt TRIPODS
114 
115  for EMITTER in ${(@k)TRIPODS}; do
116 
117  JPlot2D \
118  -f "${MONITOR_FILE}:H\[${EMITTER}\].event" \
119  -\> "string" \
120  -\< "floor" \
121  -O COLZ \
122  -T "[${EMITTER}]" \
123  -o $WORKDIR/event\[${EMITTER}\]_${RUN}.$FORMAT $BATCH
124 
125  JPlot2D \
126  -f "${MONITOR_FILE}:H\[${EMITTER}\].doubles" \
127  -\> "string" \
128  -\< "floor" \
129  -O COLZ \
130  -T "[${EMITTER}]" \
131  -o $WORKDIR/doubles\[${EMITTER}\]_${RUN}.$FORMAT $BATCH
132  done
133 
134  JPlot1D \
135  -w 1200x600 \
136  -f "${MONITOR_FILE}:G\[.*\].size" \
137  -y "0 150" \
138  -\^ "size" \
139  -t "$TIMESTAMP" \
140  -L BR \
141  -T "$RUN" \
142  -o $WORKDIR/size-${RUN}.$FORMAT $BATCH
143 
144  JPlot1D \
145  -w 1200x600 \
146  -f "${MONITOR_FILE}:G\[.*\].rms" \
147  -y "0 0.025" \
148  -\^ "rms [s]" \
149  -t "$TIMESTAMP" \
150  -L TR \
151  -T "$RUN" \
152  -o $WORKDIR/rms-${RUN}.$FORMAT $BATCH
153 
154  JPlot1D \
155  -w 1200x600 \
156  -f "${MONITOR_FILE}:G\[.*\].quality" \
157  -y "0 6" \
158  -\^ "10log(quality)" \
159  -t "$TIMESTAMP" \
160  -L BR \
161  -T "$RUN" \
162  -o $WORKDIR/quality-${RUN}.$FORMAT $BATCH
163 
164  done
165 done
then usage $script< detector file >< detectorfile > nIf the range of floors is the first detector file is aligned to the second before the comparison fi case set_variable RANGE $argv[3]
data_type w[N+1][M+1]
Definition: JPolint.hh:741
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
then JMuonPostfit f
then usage $script< detector file >< inputfile > nUtility script to create PDF and CDF of transition time distribution fi case set_variable WORKDIR
Definition: JLegolas.sh:31
set_variable INPUT_FILE
static const double H
Planck constant [eV s].
exit
Definition: JPizza.sh:36
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
then usage set_variable OUTPUT_FILE $argv[-1] set_variable AHRS_CALIBRATION_FILE $WORKDIR ahrs_calibration txt eval JPrintDetector a $DETECTOR O IDENTIFIER typeset a INPUT_FILES for RANGE in $RUNS[*]
Definition: JBallarat.sh:39
then echo
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null if do_usage *then usage $script< detector identifier > fi case set_variable DETECTOR_ID
Definition: JTDC.sh:11
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
then rm i $OUTPUT_FILE fi let RUN
do $DIR JTransitTime o
Definition: JTransitTime.sh:44
* usage
then JFileTuna f $INPUT_FILE
Definition: file-Tuna.sh:66
&set_variable OUTPUT_FILE
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 INPUT_FILE $WORKDIR KM3NeT_
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:41
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/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
script
Definition: JAcoustics.sh:2
set_array RUNS
Definition: JDataQuality.sh:23
source $JPP_DIR setenv csh $JPP_DIR eval JShellParser o a A
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null