Jpp  15.0.3
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  $JPP_DIR/examples/JAcoustics/JAcousticsMonitor \
68  -a $DETECTOR \
69  -f $OUTPUT_FILE \
70  -o $MONITOR_FILE \
71  -d $DEBUG --!
72 
73  JPlot1D \
74  -f ${MONITOR_FILE}:H\.\*size \
75  -L TL \
76  -\> "number of sensors" \
77  -\^ "number of events" \
78  -T "" \
79  -o $WORKDIR/size_${RUN}.$FORMAT $BATCH
80 
81  JPlot1D \
82  -f ${MONITOR_FILE}:H\.\*multiplicity \
83  -L TR \
84  -\> "multiplicity" \
85  -\^ "number of events" \
86  -Y \
87  -T "" \
88  -o $WORKDIR/multiplicity_${RUN}.$FORMAT $BATCH
89 
90  JPlot1D \
91  -f ${MONITOR_FILE}:H\.\*time \
92  -L TR \
93  -\> "#Deltat [s]" \
94  -\^ "number of events" \
95  -XX \
96  -T "" \
97  -o $WORKDIR/time_${RUN}.$FORMAT $BATCH
98 
99  JPlot1D \
100  -f ${MONITOR_FILE}:H\.\*quality \
101  -L TL \
102  -\> "10log(quality)" \
103  -\^ "number of events" \
104  -XX \
105  -T "" \
106  -o $WORKDIR/quality_${RUN}.$FORMAT $BATCH
107 
108  typeset -A TRIPODS
109 
110  get_tripods $WORKDIR/tripod.txt TRIPODS
111 
112  for EMITTER in ${(@k)TRIPODS}; do
113 
114  JPlot2D \
115  -f "${MONITOR_FILE}:H\[${EMITTER}\].event" \
116  -\> "string" \
117  -\< "floor" \
118  -O COLZ \
119  -T "[${EMITTER}]" \
120  -o $WORKDIR/event\[${EMITTER}\]_${RUN}.$FORMAT $BATCH
121 
122  JPlot2D \
123  -f "${MONITOR_FILE}:H\[${EMITTER}\].doubles" \
124  -\> "string" \
125  -\< "floor" \
126  -O COLZ \
127  -T "[${EMITTER}]" \
128  -o $WORKDIR/doubles\[${EMITTER}\]_${RUN}.$FORMAT $BATCH
129  done
130 
131  JPlot1D \
132  -w 1200x600 \
133  -f "${MONITOR_FILE}:G\[.*\].size" \
134  -y "0 150" \
135  -\^ "size" \
136  -t "$TIMESTAMP" \
137  -L BR \
138  -T "$RUN" \
139  -o $WORKDIR/size-${RUN}.$FORMAT $BATCH
140 
141  JPlot1D \
142  -w 1200x600 \
143  -f "${MONITOR_FILE}:G\[.*\].rms" \
144  -y "0 0.025" \
145  -\^ "rms [s]" \
146  -t "$TIMESTAMP" \
147  -L TR \
148  -T "$RUN" \
149  -o $WORKDIR/rms-${RUN}.$FORMAT $BATCH
150 
151  JPlot1D \
152  -w 1200x600 \
153  -f "${MONITOR_FILE}:G\[.*\].deviation" \
154  -y "0 0.050" \
155  -\^ "deviation [s]" \
156  -t "$TIMESTAMP" \
157  -L TR \
158  -T "$RUN" \
159  -o $WORKDIR/deviation-${RUN}.$FORMAT $BATCH
160 
161  JPlot1D \
162  -w 1200x600 \
163  -f "${MONITOR_FILE}:G\[.*\].quality" \
164  -y "0 6" \
165  -\^ "10log(quality)" \
166  -t "$TIMESTAMP" \
167  -L BR \
168  -T "$RUN" \
169  -o $WORKDIR/quality-${RUN}.$FORMAT $BATCH
170 
171  done
172 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 nIn only modules within the given range of floors are used 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
set_variable INPUT_FILE
o $QUALITY_ROOT d $DEBUG!JPlot1D f
Definition: JDataQuality.sh:66
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
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 if do_usage *then usage $script< detector identifier > fi case set_variable DETECTOR_ID
Definition: JTDC.sh:11
then fatal Detector file should be binary format fi eval JPrintDetector a $DETECTOR O IDENTIFIER typeset a INPUT_FILES for RANGE in $RUNS[*]
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
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
Definition: JLegolas.sh:20
* usage
then JConvertDetectorFormat a $DETECTOR[1] o
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:42
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
script
Definition: JAcoustics.sh:2
set_array RUNS
Definition: JDataQuality.sh:23
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null