Jpp  18.2.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
pre-calibration_D0ARCA020.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 D0ARCA020 (116) 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 12785-12792
19 set_variable: MUL ACOUSTICS_MUL -1.21e-2
20 
21 if do_usage $*; then
22  usage "$script <source directory> [user directory]"\
23  "\nThe source directory corresponds to a pre-calibrated D0ARCA009 detector."\
24  "\nThe user directory should be specified when this script is submitted in a batch queue."
25 fi
26 
29 
30 case $# in
32  1) set_variable DIR ${1:a};;
33  *) fatal "Wrong number of arguments."
34 esac
35 
36 
37 # post-calibration of input detector
38 
39 if [[ ! -d $WORKDIR/post-calibration ]]; then
40 
41  mkdir -p $WORKDIR/post-calibration
42 
43  pushd $WORKDIR/post-calibration
44 
45  $JPP_DIR/examples/JAcoustics/post-calibration_D0ARCA009.sh $DIR
46 
47  popd
48 fi
49 
50 set_variable DIR $WORKDIR/post-calibration
51 
53 set_variable TRIPOD $DIR/tripod.txt
54 set_variable DETECTOR_INITIAL detector_initial.datx
55 set_variable TRIPOD_INITIAL tripod_initial.txt
56 expand_array RUNS
57 
58 
59 # Run in HOMEDIR
60 
61 mkdir -p $HOMEDIR
62 
63 cd $HOMEDIR
64 
65 if [[ ! -f $DETECTOR_INITIAL ]]; then
66  JDetectorDB \
67  -D $DETECTOR_ID \
68  -r $RUNS[1] \
69  -V "" \
70  -WW \
71  -o $DETECTOR_INITIAL
72 fi
73 
74 if [[ ! -f $TRIPOD_INITIAL ]]; then
75 
76  cat>$TRIPOD_INITIAL<<EOF
77 # Very preliminary acoustic emitter positions from survey
78 3 +587848.700 +4016749.700 -3450.467
79 7 +587198.628 +4016228.693 -3433.306
80 8 +588257.896 +4017034.442 -3457.240
81 9 +587646.419 +4017109.956 -3456.980
82 10 +587763.722 +4017253.398 -3453.894
83 EOF
84 fi
85 
86 JEditDetector \
87  -a $DETECTOR \
88  -r "19" \
89  -o detector_tmp.datx --!
90 
91 eval `JPrintDetector -a $DETECTOR_INITIAL -O SUMMARY`; FINAL_STRINGS=($STRINGS[*])
92 eval `JPrintDetector -a detector_tmp.datx -O SUMMARY`; FIXED_STRINGS=($STRINGS[*])
93 
94 if [[ ! -f detector.datx ]]; then
95 
96  # Apply modifications.
97 
98  JEditDetector \
99  -a $DETECTOR_INITIAL \
100  -s "-1 mul $MUL" \
101  -o detector.datx --!
102 
103  eval `JPrintDetector -a detector.datx -O SUMMARY`
104 
105  for STRING in ${STRINGS[*]}; do
106 
107  set_variable MODULE `getModule -a detector.datx -L "$STRING 0"`
108 
109  JEditDetector \
110  -a detector.datx \
111  -M "$MODULE setz -11.7" \
112  -o detector.datx --!
113  done
114 
115  JEditDetector -a detector.datx -r "$FIXED_STRINGS[*]" -o detector.datx --!
116  JMergeDetector -a detector.datx -a detector_tmp.datx -o detector.datx --!
117  JEditDetector -a detector.datx -k "$FINAL_STRINGS[*]" -o detector.datx --!
118 fi
119 
120 source JAcousticsToolkit.sh
121 
122 typeset -A TRIPODS
123 
124 get_tripods $TRIPOD_INITIAL TRIPODS; FINAL_TRIPODS=(${(k)TRIPODS[*]})
125 get_tripods $TRIPOD TRIPODS; FIXED_TRIPODS=(${(k)TRIPODS[*]})
126 
127 if [[ ! -f tripod.txt ]]; then
128 
129  cp -p $TRIPOD_INITIAL tripod.txt
130 
131  JEditTripod -f tripod.txt -r "${FIXED_TRIPODS}" -o tripod.txt
132  JMergeTripod -f tripod.txt -f $TRIPOD -o tripod.txt
133  JEditTripod -f tripod.txt -k "${FINAL_TRIPODS}" -o tripod.txt
134 fi
135 
137 set_variable TRIPOD tripod.txt
138 
139 echo Fixed strings: $FIXED_STRINGS[*]
140 echo Fixed tripods: $FIXED_TRIPODS[*]
141 
142 JAcoustics.sh $DETECTOR_ID
143 
144 cat>acoustics_trigger_parameters.txt<<EOF
145 Q = 0.0;
146 TMax_s = 0.020;
147 numberOfHits = 200;
148 EOF
149 
150 JAcousticsEventBuilder.sh $DETECTOR $RUNS[*]
151 
152 INPUT_FILES=(`ls KM3NeT_${(l:8::0::0:)DETECTOR_ID}_0*${^RUNS}_event.root`)
153 
154 
155 # Run in WORKDIR
156 
157 cd $WORKDIR
158 
159 if [ ! $HOMEDIR -ef $WORKDIR ]; then
161  cp -p $HOMEDIR/${^ACOUSTICS_KEYS}.txt $WORKDIR
162  cp -p $HOMEDIR/${^INPUT_FILES} $WORKDIR
163 fi
164 
165 cat>script.txt<<EOF
166 
167 fix string $FIXED_STRINGS[*]
168 fix tripod $FIXED_TRIPODS[*]
169 
170 stage 0 0 2 250.0e-6 10.0 20 0.5
171 stage 1A 0 2 250.0e-6 10.0 20 0.5 1.0
172 stage 1B 0 2 250.0e-6 10.0 0 0.0005 0.2
173 stage 1C 2 0 250.0e-6 10.0 20 0.3
174 stage 2A 2 0 100.0e-6 10.0 20 0.2 0.4
175 stage 2C 2 0 100.0e-6 10.0 20 0.2
176 
177 initialise
178 
179 stage 2a 2 0 100.0e-6 10.0 20 0.2 0.4
180 stage 2c 2 0 100.0e-6 10.0 20 0.2
181 stage 3a 2 0 50.0e-6 10.0 20 0.2 0.4
182 stage 3c 2 0 50.0e-6 10.0 20 0.2
183 EOF
184 
185 JSydney.sh $DETECTOR $INPUT_FILES[*] script.txt
186 
187 if [ ! $HOMEDIR -ef $WORKDIR ]; then
188  cp -vru * $HOMEDIR
189 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:824
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
&set_variable RUNS
Definition: datalogs.sh:21
then
Definition: datalogs.sh:31
then fatal Wrong number of arguments fi DIR
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
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:68
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 for RANGE in $RUNS[*]
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:21
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 DEBUG set_variable WORKDIR
Definition: JLegolas.sh:20
* usage
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[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
do sput $STRING $FLOOR sget MODULE INPUT_FILES
Definition: JCanberra.sh:77
$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
backup $HOMEDIR
fi set_variable FILENAME $WORKDIR
Definition: datalogs.sh:34
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
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
static JNullStream null
Null I/O stream.
Definition: JNullStream.hh:51
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:46
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
script
Definition: JAcoustics.sh:2
do echo Generating $dir eval D
Definition: JDrawLED.sh:53
then fatal Invalid tripod $TRIPOD
const JModule & getModule(const JDetector &detector, const JModuleLocation &location)
find module with a given string and floor number
esac done
Definition: JAddHDE.sh:21