4 # --------------------------------------------------------------------------------------------
6 # Steering script for the global-fit-of-global-fits procedure of the D0ARCA009 (94) detector.
8 # --------------------------------------------------------------------------------------------
10 if [ -z $JPP_DIR ];
then
11 echo "Variable JPP_DIR undefined."
15 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/
null
18 set_array
RUNS 10360 10361 10363 10370 10390 10391 10411 10412
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."
33 *) fatal
"Wrong number of arguments."
36 source JAcousticsToolkit.sh
52 -@
"tcal = A03209429" \
53 -@
"pcal = A03209525" \
54 -@
"rcal = A03209511" \
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
68 eval `JPrintDetector -
a $DETECTOR_INITIAL -O SUMMARY`; FINAL_STRINGS=(
$STRINGS[*])
71 # Apply modifications.
74 -
a $DETECTOR_INITIAL \
78 eval `JPrintDetector -
a detector.datx -O SUMMARY`
86 -M
"$MODULE setz -11.7" \
96 get_tripods $TRIPOD_INITIAL TRIPODS; FINAL_TRIPODS=(${(
k)TRIPODS[*]})
97 get_tripods
$TRIPOD TRIPODS; FIXED_TRIPODS=(${(
k)TRIPODS[*]})
99 cp -p $TRIPOD_INITIAL tripod.txt
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
105 cat>acoustics_trigger_parameters.txt<<EOF
112 # disable transmissions
113 # <emitter identifier> <module identifier>
128 cat>transmitter.txt<<EOF
132 cat>hydrophone.txt<<EOF
133 # Data from D0ARCA009_hydrophones.csv
134 9 -1 -0.57 -0.42 0.57
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
141 15 0 -0.72 -0.27 0.62
142 19 0 -0.16 -0.76 0.62
158 cp -p $HOMEDIR/${^ACOUSTICS_KEYS}.txt
$WORKDIR
159 cp -p $HOMEDIR/${^ACOUSTICS_AUXS}.txt
$WORKDIR
165 fix
string $FIXED_STRINGS[*]
166 fix tripod $FIXED_TRIPODS[*]
168 stage 0 0 2 250.0e-6 10.0 20 0.5
169 stage 1
A 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 1
C 2 0 250.0e-6 10.0 20 0.3
172 stage 2
A 2 0 100.0e-6 10.0 20 0.2 0.4
173 stage 2
C 2 0 100.0e-6 10.0 20 0.2
177 stage 2
a 2 0 100.0e-6 10.0 20 0.2 0.4
178 stage 2
c 2 0 100.0e-6 10.0 20 0.2
179 stage 3
a 2 0 50.0e-6 10.0 20 0.2 0.4
180 stage 3
c 2 0 50.0e-6 10.0 20 0.2
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
Q(UTCMax_s-UTCMin_s)-livetime_s
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
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
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
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[*]
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 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
do sput $STRING $FLOOR sget MODULE INPUT_FILES
$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
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
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
do set_variable DETECTOR_TXT $WORKDIR detector
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
do echo Generating $dir eval D
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