Jpp  16.0.0-rc.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JAcousticsMonitor_short.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 LOGBOOK \"Individual Logbooks\"
15 set_variable AUTHOR \"Gatius C\"
16 set_variable FACET "ELcode"
17 
18 if do_usage $*; then
19  usage "$script <detector file> minrun maxrun <user name> <password>"
20 fi
21 
22 if (( $# == 5 )); then
23  set_variable DETECTOR $argv[1]
24  set_variable MINRUN $argv[2]
25  set_variable MAXRUN $argv[3]
26  set_variable USER $argv[4]
27  set_variable PASSWORD $argv[5]
28 else
29  fatal "Wrong number of arguments."
30 fi
31 
32 JCookie.sh
33 
34 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
35 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
36 
37 source JAcoustics.sh $DETECTOR_ID
38 
39 CHECK_EXIT_CODE
40 
41 for ((RUN=$MINRUN; RUN<=$MAXRUN; RUN++)); do
42 
43  set_variable INPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}_toashort.root
44  set_variable OUTPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}_event.root
45  set_variable MONITOR_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}_monitor.root
46  set_variable SUMMARY_FILE $WORKDIR/summary_${(l:8::0::0:)RUN}.txt
47  set_variable PARAMETERS_FILE $JPP_DIR/examples/JAcoustics/acoustics_monitor_${(l:8::0::0:)DETECTOR_ID}.txt
48 
49  if [[ ! -f $INPUT_FILE ]]; then
50 
51  JConvertDB \
52  -q toashort \
53  -@ "detid = `getDetector -D $DETECTOR_ID`" \
54  -@ "minrun = $RUN" \
55  -@ "maxrun = $RUN" \
56  -o $INPUT_FILE \
57  -d $DEBUG --!
58  fi
59 
60  if [[ ! -f $OUTPUT_FILE ]]; then
61 
62  JAcousticsEventBuilder \
63  -a $DETECTOR \
64  -f $INPUT_FILE \
65  -T $WORKDIR/tripod.txt \
66  -V $WORKDIR/sound_velocity.txt \
67  -W $WORKDIR/waveform.txt \
68  -@ $WORKDIR/acoustics_trigger_parameters.txt \
69  -H $WORKDIR/hydrophone.txt \
70  -o $OUTPUT_FILE \
71  -d $DEBUG --!
72  fi
73 
74  set_array time_range $(JRuns -D "$DETECTOR_ID" -@ "run = ${RUN}" -F UNIXJOBSTART -F UNIXJOBEND --)
75 
76  set_variable lifetime_s $(( ($time_range[2]-$time_range[1])/1000 ))
77 
78  #if lifetime is unknown, assume 6hr
79  if [ -z "$lifetime_s" ]; then
80  lifetime_s=21600
81 
82  #avoid 0 sec lifetime
83  elif (($lifetime_s == 0)); then
84  lifetime_s=1
85  fi
86 
87  $JPP_DIR/examples/JAcoustics/JAcousticsMonitor_short \
88  -a $DETECTOR \
89  -f $OUTPUT_FILE \
90  -l $lifetime_s \
91  -o $MONITOR_FILE \
92  -d $DEBUG
93 
94  read -r NUMBER_OF_FAILURES <<< "$($JPP_DIR/examples/JAcoustics/JAcousticsMonitorTest \
95  -f $MONITOR_FILE \
96  -P $PARAMETERS_FILE \
97  -F $FACET \
98  -w $SUMMARY_FILE \
99  -r $RUN \
100  -d "1")"
101 
102  typeset -A TRIPODS
103 
104  get_tripods $WORKDIR/tripod.txt TRIPODS
105 
106  ATTACHMENTS=""
107 
108  for EMITTER in ${(@k)TRIPODS}; do
109 
110  JPlot2D \
111  -f "${MONITOR_FILE}:H\[${EMITTER}\].event" \
112  -> "string" \
113  -< "floor" \
114  -O COLZ \
115  -T "[${EMITTER}]" \
116  -o $WORKDIR/event\[${EMITTER}\]_${RUN}.$FORMAT \
117  -B
118 
119  ATTACHMENTS+=" -f ${WORKDIR}/event\[${EMITTER}\]_${RUN}.${FORMAT}"
120  done
121 
122 
123  #report to e-log
124  if [ ${NUMBER_OF_FAILURES[-1]} -gt 0 ]; then
125 
126  eval elog \
127  -h elog.km3net.de \
128  -p 3000 \
129  -u $USER $PASSWORD \
130  -l $LOGBOOK \
131  -a Subject=\"Auto\" \
132  -a Type=\"Monitoring\" \
133  -a Author=$AUTHOR \
134  -n 0 -v \
135  -m $SUMMARY_FILE \
136  $ATTACHMENTS
137  fi
138 
139  CHECK_EXIT_CODE
140 
141  #clean up
142  rm $MONITOR_FILE
143 
144 done
data_type w[N+1][M+1]
Definition: JPolint.hh:757
Definition: elogd.h:232
o $QUALITY_ROOT d $DEBUG!JPlot1D f
Definition: JDataQuality.sh:66
*fatal Wrong number of arguments
static const double H
Planck constant [eV s].
exit
Definition: JPizza.sh:36
data_type r[M+1]
Definition: JPolint.hh:758
JDetectorsHelper & getDetector()
Auxiliary function for helper object initialisation.
Definition: JDBToolkit.hh:365
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
then rm i $OUTPUT_FILE fi let RUN
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
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
then usage $script< detector file >(run[-run])+" "\nAuxiliary script to download acoustic data from database and to process them through the event builder." fi if (( $ set_variable DETECTOR $argv[1] set_array RUNS $argv[2
script
Definition: JAcoustics.sh:2
do echo Generating $dir eval D
Definition: JDrawLED.sh:53
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:62