Jpp  18.5.2
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
pre-calibration_D0ARCA009.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 D0ARCA009 (94) 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 10360 10361 10363 10370 10390 10391 10411 10412
19 set_variable: MUL ACOUSTICS_MUL -1.21e-2
20 set_variable: THREADS ACOUSTICS_THREADS 5
23 
24 if do_usage $*; then
25  usage "$script <source directory> [user directory]"\
26  "\nThe source directory corresponds to a pre-calibrated D0ARCA006 detector."\
27  "\nThe user directory should be specified when this script is submitted in a batch queue."
28 fi
29 
30 case $# in
32  1) set_variable DIR ${1:a};;
33  *) fatal "Wrong number of arguments."
34 esac
35 
36 source JAcousticsToolkit.sh
37 
39 set_variable TRIPOD $DIR/tripod.txt
40 set_variable DETECTOR_INITIAL detector_initial.datx
41 set_variable TRIPOD_INITIAL tripod_initial.txt
42 expand_array RUNS
43 
44 
45 # Run in HOMEDIR
46 
47 mkdir -p $HOMEDIR
48 cd $HOMEDIR
49 
50 JDetectorDB \
51  -D $DETECTOR_ID \
52  -@ "tcal = A03209429" \
53  -@ "pcal = A03209525" \
54  -@ "rcal = A03209511" \
55  -V "" \
56  -WW \
57  -o $DETECTOR_INITIAL
58 
59 cat>$TRIPOD_INITIAL<<EOF
60 # Very preliminary acoustic emitter positions from survey
61 3 +587848.700 +4016749.700 -3450.467
62 4 +587657.170 +4017113.940 -3459.600
63 5 +587906.500 +4017094.300 -3459.600
64 6 +586939.550 +4017018.130 -3447.020
65 7 +587198.628 +4016228.693 -3433.306
66 EOF
67 
68 eval `JPrintDetector -a $DETECTOR_INITIAL -O SUMMARY`; FINAL_STRINGS=($STRINGS[*])
69 eval `JPrintDetector -a $DETECTOR -O SUMMARY`; FIXED_STRINGS=($STRINGS[*])
70 
71 # Apply modifications.
72 
73 JEditDetector \
74  -a $DETECTOR_INITIAL \
75  -s "-1 mul $MUL" \
76  -o detector.datx --!
77 
78 eval `JPrintDetector -a detector.datx -O SUMMARY`
79 
80 for STRING in ${STRINGS[*]}; do
81 
82  set_variable MODULE `getModule -a detector.datx -L "$STRING 0"`
83 
84  JEditDetector \
85  -a detector.datx \
86  -M "$MODULE setz -11.7" \
87  -o detector.datx --!
88 done
89 
90 JEditDetector -a detector.datx -r "$FIXED_STRINGS[*]" -o detector.datx --!
91 JMergeDetector -a detector.datx -a $DETECTOR -o detector.datx --!
92 JEditDetector -a detector.datx -k "$FINAL_STRINGS[*]" -o detector.datx --!
93 
94 typeset -A TRIPODS
95 
96 get_tripods $TRIPOD_INITIAL TRIPODS; FINAL_TRIPODS=(${(k)TRIPODS[*]})
97 get_tripods $TRIPOD TRIPODS; FIXED_TRIPODS=(${(k)TRIPODS[*]})
98 
99 cp -p $TRIPOD_INITIAL tripod.txt
100 
101 JEditTripod -f tripod.txt -r "${FIXED_TRIPODS}" -o tripod.txt
102 JMergeTripod -f tripod.txt -f $TRIPOD -o tripod.txt
103 JEditTripod -f tripod.txt -k "${FINAL_TRIPODS}" -o tripod.txt
104 
105 cat>acoustics_trigger_parameters.txt<<EOF
106 Q = 0.0;
107 TMax_s = 0.020;
108 numberOfHits = 120;
109 EOF
110 
111 cat>disable.txt<<EOF
112 # disable transmissions
113 # <emitter identifier> <module identifier>
114 3 808430571
115 3 808964925
116 3 808978646
117 3 808474602
118 -1 808981121
119 3 808971936
120 -1 808430572
121 7 808961261
122 5 808976233
123 3 808971766
124 5 808971766
125 5 808976207
126 EOF
127 
128 cat>transmitter.txt<<EOF
129 # $script
130 EOF
131 
132 cat>hydrophone.txt<<EOF
133 # Data from D0ARCA009_hydrophones.csv
134  9 -1 -0.57 -0.42 0.57
135  10 0 -0.67 0.39 0.62
136  11 0 -0.67 0.39 0.62
137  13 0 -0.68 -0.37 0.62
138  14 0 -0.20 -0.75 0.62
139  18 0 -0.70 -0.34 0.62
140  12 0 -0.12 0.76 0.62
141  15 0 -0.72 -0.27 0.62
142  19 0 -0.16 -0.76 0.62
143 EOF
144 
145 JAcousticsEventBuilder.sh detector.datx $RUNS[*]
146 
147 INPUT_FILES=(`ls KM3NeT_${(l:8::0::0:)DETECTOR_ID}_0*${^RUNS}_event.root`)
148 
150 
151 
152 # Run in WORKDIR
153 
154 cd $WORKDIR
155 
156 if [ ! $HOMEDIR -ef $WORKDIR ]; then
157  cp -p $HOMEDIR/$ACOUSTICS_DETECTOR $WORKDIR
158  cp -p $HOMEDIR/${^ACOUSTICS_KEYS}.txt $WORKDIR
159  cp -p $HOMEDIR/${^ACOUSTICS_AUXS}.txt $WORKDIR
160  cp -p $HOMEDIR/${^INPUT_FILES} $WORKDIR
161 fi
162 
163 cat>script.txt<<EOF
164 
165 fix string $FIXED_STRINGS[*]
166 fix tripod $FIXED_TRIPODS[*]
167 
168 stage 0 0 2 250.0e-6 10.0 20 0.5
169 stage 1A 0 2 250.0e-6 10.0 20 0.5 1.0
170 stage 1B 0 2 250.0e-6 10.0 0 0.0005 0.2
171 stage 1C 2 0 250.0e-6 10.0 20 0.3
172 stage 2A 2 0 100.0e-6 10.0 20 0.2 0.4
173 stage 2C 2 0 100.0e-6 10.0 20 0.2
174 
175 initialise
176 
177 stage 2a 2 0 100.0e-6 10.0 20 0.2 0.4
178 stage 2c 2 0 100.0e-6 10.0 20 0.2
179 stage 3a 2 0 50.0e-6 10.0 20 0.2 0.4
180 stage 3c 2 0 50.0e-6 10.0 20 0.2
181 EOF
182 
183 JSydney.sh detector.datx $INPUT_FILES[*] script.txt
184 
185 if [ ! $HOMEDIR -ef $WORKDIR ]; then
186  cp -vru * $HOMEDIR
187 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 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 JLigier sh continue fi cat
Definition: JDAQDriver.sh:51
then usage $script[user directory] nThe user directory should be specified when this script is submitted in a batch queue fi case set_variable HOMEDIR
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
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 echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DETECTOR_ID set_array RUNS if do_usage *then usage $script< source directory > nThe source directory corresponds to a pre calibrated D0ARCA009 detector fi case set_variable 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 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 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:96
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