source: trunk/Mars/hawc/processing/extract-aux-data.sh@ 20029

Last change on this file since 20029 was 20026, checked in by tbretz, 4 years ago
A set of example files for working with the database.
File size: 6.9 KB
Line 
1#!/bin/bash
2
3# The base directory of the aux-files
4AUX=/home/tbretz/data/aux
5# The Mars build directory
6MARS=~/Mars/build
7# The path (relative to your Mars/build directory where the processing macros are stored
8MACROS=../hawc/processing
9
10# Open the query-file with the create table statement
11echo \
12"\
13CREATE TABLE AuxData
14(
15 NIGHT INT UNSIGNED NOT NULL,
16 RUNID MEDIUMINT UNSIGNED NOT NULL,
17 TavgDRS FLOAT,
18 TrmsDRS FLOAT,
19 Umed FLOAT,
20 Uavg FLOAT,
21 Udev FLOAT,
22 Urms FLOAT,
23 Imed FLOAT,
24 Iavg FLOAT,
25 Idev FLOAT,
26 Irms FLOAT,
27 Tmed FLOAT,
28 Tavg FLOAT,
29 Tdev FLOAT,
30 Trms FLOAT,
31 TavgPSU FLOAT,
32 TotalOnTime FLOAT,
33 TotalDeadTime FLOAT,
34 TavgFTM FLOAT,
35 ThresholdChMin MEDIUMINT UNSIGNED,
36 ThresholdChMed FLOAT,
37 ThresholdChMax MEDIUMINT UNSIGNED,
38 ThresholdSumMin MEDIUMINT UNSIGNED,
39 ThresholdSumMax MEDIUMINT UNSIGNED,
40 RateCh0 FLOAT,
41 RateCh1 FLOAT,
42 RateCh2 FLOAT,
43 RateCh3 FLOAT,
44 RateCh4 FLOAT,
45 RateCh5 FLOAT,
46 RateCh6 FLOAT,
47 RateCh7 FLOAT,
48 RateSum0 FLOAT,
49 RateSum1 FLOAT,
50 PRIMARY KEY(NIGHT, RUNID)
51)
52SELECT * FROM
53( VALUES
54"\ > insert-data.sql
55
56# Get all available runs and their start and stop time
57# note that no check is done on the stop time!
58echo \
59"\
60SELECT
61 NIGHT, RUNID, TSTARTI+TSTARTF, TSTOPI+TSTOPF
62FROM
63 RawData\
64"\
65 | mysql \
66 --defaults-file=~/.password.cnf \
67 --user=hawcwrite \
68 --host=ihp-pc45.ethz.ch \
69 --database=hawcdata \
70 --skip-column-names \
71 --batch --raw \
72 --compress \
73 | \
74while IFS= read -r LINE
75do
76
77 # Extract night, runid, begin and end
78 NIGHT=`echo "$LINE" | awk -F"\t" '{print $1}'`
79 RUNID=`echo "$LINE" | awk -F"\t" '{print $2}'`
80 BEG=`echo "$LINE" | awk -F"\t" '{print $3}'`
81 END=`echo "$LINE" | awk -F"\t" '{print $4}'`
82
83 # Split night into year, month, day
84 YEAR=`echo ${NIGHT} | cut -c1-4`
85 MONTH=`echo ${NIGHT} | cut -c5-6`
86 DAY=`echo ${NIGHT} | cut -c7-8`
87
88 # Base path for the night
89 FNAME=${AUX}/${YEAR}/${MONTH}/${DAY}/${NIGHT}
90
91 echo ""
92 echo ${FNAME}
93
94 cd ${MARS}
95
96 # Return corresponding data for DRS temperatures from FAD_CONTROL_TEMPEREATURE
97 RESULT=`root -b -q -l '${MACROS}/drstemp.C("'${FNAME}'.FAD_CONTROL_TEMPERATURE.fits",'${BEG}','${END}')' | grep result`
98 if [ -n "${RESULT}" ]
99 then
100 TEMP_AVG=`echo ${RESULT} | cut -f2 -d' '`
101 TEMP_RMS=`echo ${RESULT} | cut -f4 -d' '`
102 else
103 TEMP_AVG="NULL"
104 TEMP_RMS="NULL"
105 fi
106 echo ${RESULT}
107
108 # Return corresponding data for currents from BIAS_CONTROL_DYNAMIC_DATA
109 RESULT=`root -b -q -l '${MACROS}/currents.C("'${FNAME}'.BIAS_CONTROL_DYNAMIC_DATA.fits",'${BEG}','${END}')' | grep result`
110 if [ -n "${RESULT}" ]
111 then
112 BIAS_UMED=`echo ${RESULT} | cut -f2 -d' '`
113 BIAS_UAVG=`echo ${RESULT} | cut -f3 -d' '`
114 BIAS_UDEV=`echo ${RESULT} | cut -f4 -d' '`
115 BIAS_URMS=`echo ${RESULT} | cut -f5 -d' '`
116 BIAS_IMED=`echo ${RESULT} | cut -f6 -d' '`
117 BIAS_IAVG=`echo ${RESULT} | cut -f7 -d' '`
118 BIAS_IDEV=`echo ${RESULT} | cut -f8 -d' '`
119 BIAS_IRMS=`echo ${RESULT} | cut -f9 -d' '`
120 BIAS_TMED=`echo ${RESULT} | cut -f10 -d' '`
121 BIAS_TAVG=`echo ${RESULT} | cut -f11 -d' '`
122 BIAS_TDEV=`echo ${RESULT} | cut -f12 -d' '`
123 BIAS_TRMS=`echo ${RESULT} | cut -f13 -d' '`
124 BIAS_PSU=`echo ${RESULT} | cut -f14 -d' '`
125 else
126 BIAS_UMED="NULL"
127 BIAS_UAVG="NULL"
128 BIAS_UDEV="NULL"
129 BIAS_URMS="NULL"
130 BIAS_IMED="NULL"
131 BIAS_IAVG="NULL"
132 BIAS_IDEV="NULL"
133 BIAS_IRMS="NULL"
134 BIAS_TMED="NULL"
135 BIAS_TAVG="NULL"
136 BIAS_TDEV="NULL"
137 BIAS_TRMS="NULL"
138 BIAS_PSU="NULL"
139 fi
140 echo ${RESULT}
141
142 # Return corresponding data for trigger information from FTM_CONTROL_DATA
143 RESULT=`root -b -q -l '${MACROS}/trigger.C("'${FNAME}'.FTM_CONTROL_DATA.fits",'${BEG}','${END}')' | grep result`
144 if [ -n "${RESULT}" ]
145 then
146 TOT_TIME=`echo ${RESULT} | cut -f2 -d' '`
147 TOT_DEAD=`echo ${RESULT} | cut -f3 -d' '`
148 EFF=`echo ${RESULT} | cut -f4 -d' '`
149 TM_AVG=`echo ${RESULT} | cut -f5 -d' '`
150 else
151 TOT_TIME="NULL"
152 TOT_DEAD="NULL"
153 EFF="NULL"
154 TM_AVG="NULL"
155 fi
156 echo ${RESULT}
157
158 # Return corresponding data for threshold seeting from FTU_CONTROL_DATA
159 RESULT=`root -b -q -l '${MACROS}/threshold.C("'${FNAME}'.FTU_CONTROL_DATA.fits",'${BEG}','${END}')' | grep result`
160 if [ -n "${RESULT}" ]
161 then
162 DAC_CH_MIN=`echo ${RESULT} | cut -f2 -d' '`
163 DAC_CH_MED=`echo ${RESULT} | cut -f3 -d' '`
164 DAC_CH_MAX=`echo ${RESULT} | cut -f4 -d' '`
165 DAC_SUM_MIN=`echo ${RESULT} | cut -f5 -d' '`
166 DAC_SUM_MAX=`echo ${RESULT} | cut -f6 -d' '`
167 RATE_CH1=`echo ${RESULT} | cut -f7 -d' '`
168 RATE_CH2=`echo ${RESULT} | cut -f8 -d' '`
169 RATE_CH3=`echo ${RESULT} | cut -f9 -d' '`
170 RATE_CH4=`echo ${RESULT} | cut -f10 -d' '`
171 RATE_CH5=`echo ${RESULT} | cut -f11 -d' '`
172 RATE_CH6=`echo ${RESULT} | cut -f12 -d' '`
173 RATE_CH7=`echo ${RESULT} | cut -f13 -d' '`
174 RATE_CH8=`echo ${RESULT} | cut -f14 -d' '`
175 RATE_SUM1=`echo ${RESULT} | cut -f15 -d' '`
176 RATE_SUM2=`echo ${RESULT} | cut -f16 -d' '`
177 else
178 DAC_CH_MIN="NULL"
179 DAC_CH_MED="NULL"
180 DAC_CH_MAX="NULL"
181 DAC_SUM_MIN="NULL"
182 DAC_SUM_MAX="NULL"
183 RATE_CH1="NULL"
184 RATE_CH2="NULL"
185 RATE_CH3="NULL"
186 RATE_CH4="NULL"
187 RATE_CH5="NULL"
188 RATE_CH6="NULL"
189 RATE_CH7="NULL"
190 RATE_CH8="NULL"
191 RATE_SUM1="NULL"
192 RATE_SUM2="NULL"
193 fi
194 echo ${RESULT}
195
196 cd -
197
198 # Write the result as one row to the query file
199 echo "/* "${FNAME}" */" >> insert-data.sql
200 echo "ROW(" >> insert-data.sql
201 echo " "${NIGHT}, ${RUNID}, >> insert-data.sql
202 echo " "${TEMP_AVG}, ${TEMP_RMS}, >> insert-data.sql
203 echo " "\
204 ${BIAS_UMED}, ${BIAS_UAVG}, ${BIAS_UDEV}, ${BIAS_URMS}, \
205 ${BIAS_IMED}, ${BIAS_IAVG}, ${BIAS_IDEV}, ${BIAS_IRMS}, \
206 ${BIAS_TMED}, ${BIAS_TAVG}, ${BIAS_TDEV}, ${BIAS_TRMS}, \
207 ${BIAS_PSU}, >> insert-data.sql
208 echo " "${TOT_TIME}, ${TOT_DEAD}, ${EFF}, ${TM_AVG}, >> insert-data.sql
209 echo " "\
210 ${DAC_CH_MIN}, ${DAC_CH_MED}, ${DAC_CH_MAX}, ${DAC_SUM_MIN}, ${DAC_SUM_MAX}, \
211 ${RATE_CH1}, ${RATE_CH2}, ${RATE_CH3}, ${RATE_CH4}, ${RATE_CH5}, ${RATE_CH6}, ${RATE_CH7}, ${RATE_CH8}, \
212 ${RATE_SUM1}, ${RATE_SUM2} >> insert-data.sql
213 echo ")," >> insert-data.sql
214
215done
216
217# Finish the query file with defining the column names
218echo "\
219AS
220(
221 NIGHT, RUNID,
222 TavgDRS, TrmsDRS,
223 Umed, Uavg, Udev, Urms,
224 Imed, Iavg, Idev, Irms,
225 Tmed, Tavg, Tdev, Trms,
226 TavgPSU,
227 TotalOnTime, TotalDeadTime, Efficiency, TavgFTM,
228 ThresholdChMin, ThresholdChMed, ThresholdChMax,
229 ThresholdSumMin, ThresholdSumMax,
230 RateCh0, RateCh1, RateCh2, RateCh3, RateCh4, RateCh5, RateCh6, RateCh7,
231 RateSum0, RateSum1
232)\
233" >> insert-data.sql
Note: See TracBrowser for help on using the repository browser.