Jpp  18.4.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
pre-calibration_D0ARCA021.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 script=${0##*/}
3 
4 # --------------------------------------------------------------------------------------------
5 #
6 # Steering script for the global-fit-of-global-fits procedure of the D0ARCA021 (133) detector.
7 #
8 # --------------------------------------------------------------------------------------------
9 
10 if [ -z $JPP_DIR ]; then
11  echo "Variable JPP_DIR undefined."
12  exit
13 fi
14 
15 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
16 
18 set_array RUNS 13290-13297
19 set_variable: MUL ACOUSTICS_MUL -1.21e-2
20 set_variable: THREADS ACOUSTICS_THREADS 5
21 
22 if do_usage $*; then
23  usage "$script <source directory> [user directory]"\
24  "\nThe source directory corresponds to a pre-calibrated D0ARCA009 detector."\
25  "\nThe user directory should be specified when this script is submitted in a batch queue."
26 fi
27 
30 
31 case $# in
33  1) set_variable DIR ${1:a};;
34  *) fatal "Wrong number of arguments."
35 esac
36 
37 
38 # post-calibration of input detector
39 
40 if [[ ! -d $WORKDIR/post-calibration ]]; then
41 
42  mkdir -p $WORKDIR/post-calibration
43 
44  pushd $WORKDIR/post-calibration
45 
46  $JPP_DIR/examples/JAcoustics/post-calibration_D0ARCA009.sh $DIR
47 
48  popd
49 fi
50 
51 set_variable DIR $WORKDIR/post-calibration
52 
54 set_variable TRIPOD $DIR/tripod.txt
55 set_variable DETECTOR_INITIAL detector_initial.datx
56 set_variable TRIPOD_INITIAL tripod_initial.txt
57 expand_array RUNS
58 
59 
60 # Run in HOMEDIR
61 
62 mkdir -p $HOMEDIR
63 
64 cd $HOMEDIR
65 
66 if [[ ! -f $DETECTOR_INITIAL ]]; then
67 
68  JDetectorDB \
69  -D $DETECTOR_ID \
70  -r $RUNS[1] \
71  -V "" \
72  -WW \
73  -o $DETECTOR_INITIAL
74 fi
75 
76 if [[ ! -f $TRIPOD_INITIAL ]]; then
77 
78  cat>$TRIPOD_INITIAL<<EOF
79 # Very preliminary acoustic emitter positions from survey
80 7 +587198.628 +4016228.693 -3433.306
81 8 +588257.896 +4017034.442 -3457.240
82 9 +587646.419 +4017109.956 -3456.980
83 10 +587763.722 +4017253.398 -3453.894
84 12 +587600.000 +4017500.000 -3457.240
85 13 +587510.740 +4016869.160 -3451.700
86 EOF
87 fi
88 
89 JEditDetector \
90  -a $DETECTOR \
91  -r "19" \
92  -o detector_tmp.datx --!
93 
94 eval `JPrintDetector -a $DETECTOR_INITIAL -O SUMMARY`; FINAL_STRINGS=($STRINGS[*])
95 eval `JPrintDetector -a detector_tmp.datx -O SUMMARY`; FIXED_STRINGS=($STRINGS[*])
96 
97 if [[ ! -f detector.datx ]]; then
98 
99  # Apply modifications.
100 
101  JEditDetector \
102  -a $DETECTOR_INITIAL \
103  -s "-1 mul $MUL" \
104  -o detector.datx --!
105 
106  eval `JPrintDetector -a detector.datx -O SUMMARY`
107 
108  for STRING in ${STRINGS[*]}; do
109 
110  set_variable MODULE `getModule -a detector.datx -L "$STRING 0"`
111 
112  JEditDetector \
113  -a detector.datx \
114  -M "$MODULE setz -11.7" \
115  -o detector.datx --!
116  done
117 
118  JEditDetector -a detector.datx -r "$FIXED_STRINGS[*]" -o detector.datx --!
119  JMergeDetector -a detector.datx -a detector_tmp.datx -o detector.datx --!
120  JEditDetector -a detector.datx -k "$FINAL_STRINGS[*]" -o detector.datx --!
121 
122  JEditDetector \
123  -a detector.datx \
124  -M "817802210 lower $((-60.0 * $PI / 180.0 ))" \
125  -o detector.datx --!
126 fi
127 
128 source JAcousticsToolkit.sh
129 
130 typeset -A TRIPODS
131 
132 get_tripods $TRIPOD_INITIAL TRIPODS; FINAL_TRIPODS=(${(k)TRIPODS[*]})
133 get_tripods $TRIPOD TRIPODS; FIXED_TRIPODS=(${(k)TRIPODS[*]})
134 
135 if [[ ! -f tripod.txt ]]; then
136 
137  cp -p $TRIPOD_INITIAL tripod.txt
138 
139  JEditTripod -f tripod.txt -r "${FIXED_TRIPODS}" -o tripod.txt
140  JMergeTripod -f tripod.txt -f $TRIPOD -o tripod.txt
141  JEditTripod -f tripod.txt -k "${FINAL_TRIPODS}" -o tripod.txt
142 fi
143 
145 set_variable TRIPOD tripod.txt
146 
147 echo Fixed strings: $FIXED_STRINGS[*]
148 echo Fixed tripods: $FIXED_TRIPODS[*]
149 
150 cat>acoustics_trigger_parameters.txt<<EOF
151 Q = 0.0;
152 TMax_s = 0.020;
153 numberOfHits = 300;
154 EOF
155 
156 cat>disable.txt<<EOF
157 # disable transmissions
158 # <emitter identifier> <module identifier>
159 -1 808981121
160 -1 808430572
161 7 808961261
162 EOF
163 
164 cat>transmitter.txt<<EOF
165 # Data from D0ARCA021_baseAcousticBeacon.csv
166 11 16 0 0.03 -0.77 0.48
167 14 5 0 0.74 0.23 0.48
168 15 32 0 -0.38 -0.67 0.48
169 EOF
170 
171 cat>hydrophone.txt<<EOF
172 # Data from D0ARCA021_hydrophones.csv
173  9 -1 -0.57 -0.42 0.57
174  10 0 -0.67 0.39 0.62
175  11 0 -0.67 0.39 0.62
176  13 0 -0.68 -0.37 0.62
177  14 0 -0.20 -0.75 0.62
178  12 0 -0.12 0.76 0.62
179  15 0 -0.72 -0.27 0.62
180  19 0 -0.16 -0.76 0.62
181  16 0 0.07 0.77 0.62
182  20 0 0.09 -0.77 0.62
183  23 0 -0.59 -0.49 0.62
184  24 0 -0.68 -0.37 0.62
185  21 0 -0.46 0.62 0.62
186  22 0 -0.26 0.73 0.62
187  25 0 -0.74 -0.22 0.62
188  30 0 -0.08 -0.77 0.62
189  26 0 -0.06 0.77 0.62
190  27 0 -0.21 0.74 0.62
191  28 0 0.12 0.76 0.62
192  32 0 -0.77 0.06 0.62
193  5 0 -0.77 0.06 0.62
194 EOF
195 
196 JAcousticsEventBuilder.sh $DETECTOR $RUNS[*]
197 
198 INPUT_FILES=(`ls KM3NeT_${(l:8::0::0:)DETECTOR_ID}_0*${^RUNS}_event.root`)
199 
200 
201 # Run in WORKDIR
202 
203 cd $WORKDIR
204 
205 if [ ! $HOMEDIR -ef $WORKDIR ]; then
206  cp -p $HOMEDIR/$DETECTOR $WORKDIR
207  cp -p $HOMEDIR/${^ACOUSTICS_KEYS}.txt $WORKDIR
208  cp -p $HOMEDIR/${^ACOUSTICS_AUXS}.txt $WORKDIR
209  cp -p $HOMEDIR/${^INPUT_FILES} $WORKDIR
210 fi
211 
212 cat>script.txt<<EOF
213 
214 fix string $FIXED_STRINGS[*]
215 fix tripod $FIXED_TRIPODS[*]
216 
217 stage 0 0 2 250.0e-6 10.0 20 0.5
218 stage 1A 0 2 250.0e-6 10.0 20 0.5 1.0
219 stage 1B 0 2 250.0e-6 10.0 0 0.0005 0.2
220 stage 1C 2 0 250.0e-6 10.0 20 0.3
221 stage 2A 2 0 100.0e-6 10.0 20 0.2 0.4
222 stage 2C 2 0 100.0e-6 10.0 20 0.2
223 
224 initialise
225 
226 stage 2a 2 0 100.0e-6 10.0 20 0.2 0.4
227 stage 2c 2 0 100.0e-6 10.0 20 0.2
228 stage 3a 2 0 50.0e-6 10.0 20 0.2 0.4
229 stage 3c 2 0 50.0e-6 10.0 20 0.2
230 EOF
231 
232 JSydney.sh $DETECTOR $INPUT_FILES[*] script.txt
233 
234 if [ ! $HOMEDIR -ef $WORKDIR ]; then
235  cp -vru * $HOMEDIR
236 fi
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
Q(UTCMax_s-UTCMin_s)-livetime_s
$WORKDIR stage
clean eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable STRING
then JLigier sh continue fi cat
Definition: JDAQDriver.sh:51
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O SUMMARY JPrintDAQHeader f $INPUT_FILE read A DAQ_HEADER set_variable DETECTOR_ID
Definition: JSquid.sh:28
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
Definition: JDataQuality.sh:76
exit
Definition: JPizza.sh:36
then fatal Number of tripods
Definition: JFootprint.sh:45
then usage $script< detector specific pre-calibration script >< option > nAuxiliary script to make scan of pre stretching of detector strings(see JEditDetector)." "\nPossible options
data_type r[M+1]
Definition: JPolint.hh:868
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
then
Definition: datalogs.sh:31
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable TRIPOD $argv[2] set_array INPUT_FILES $argv[3,-1] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O CAN JAcoustics sh $DETECTOR_ID
Definition: footprint.sh:38
then fatal Wrong number of arguments fi DIR
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
then fatal Missing detector file $DETECTOR fi eval JPrintDetector a $DETECTOR O IDENTIFIER RUNS
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:70
static const double C
Physics constants.
do JPrintDAQHeader f $INPUT_FILE d read DETECTOR_ID RUN FRAME_INDEX TIMESLICE_START set_variable OUTPUT_FILE $WORKDIR KM3NeT_
then fatal Detector file should be binary format fi eval JPrintDetector a $DETECTOR O IDENTIFIER typeset a INPUT_FILES expand_array RUNS for RUN in $RUNS[*]
then JCalibrateToT a
Definition: JTuneHV.sh:113
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR set_variable DEBUG set_variable WORKDIR if do_usage *then usage for INPUT_FILE in $INPUT_FILES[*]
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
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
do sput $STRING $FLOOR sget MODULE INPUT_FILES
Definition: JCanberra.sh:79
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
set_array INPUT_FILES argv[2,$((START_INDEX_STRING-1))] set_array STRINGS
fi set_variable FILENAME $WORKDIR
Definition: datalogs.sh:34
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
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 JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:48
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 error Missing CDF files error Run
Definition: JSirene.sh:58
then cp
set_variable DETECTOR
do set_variable DETECTOR_TXT $WORKDIR detector
then echo
Definition: JQAQC.sh:90
then usage $script[user directory] nThe user directory should be specified when this script is submitted in a batch queue fi set_variable WORKDIR pwd set_variable HOMEDIR $WORKDIR case set_variable HOMEDIR
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
do echo Generating $dir eval D
Definition: JDrawLED.sh:53
then fatal Invalid tripod $TRIPOD
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
const JModule & getModule(const JDetector &detector, const JModuleLocation &location)
find module with a given string and floor number
esac done
Definition: JAddHDE.sh:21