Jpp  16.0.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
acoustics-fit_00000094.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: STAGES ACOUSTICS_STAGES A 2 3
21 
22 if do_usage $*; then
23  usage "$script [<detector file> <tripod file>] [user directory]"\
24  "\nThe user directory should be specified when this script is submitted in a batch queue."\
25  "\nThe optional detector file and tripod file correspond to a pre-calibrated sub-detector."
26 fi
27 
30 
31 case $# in
36  0) ;;
37  *) fatal "Wrong number of arguments."
38 esac
39 
40 set_variable TRIPOD_INITIAL tripod_initial.txt
41 set_variable DETECTOR_INITIAL detector_initial.datx
42 
43 # Run in HOMEDIR
44 
45 mkdir -p $HOMEDIR
46 
47 cd $HOMEDIR
48 
49 if [[ ! -f $DETECTOR_INITIAL ]]; then
50 
51  JDetectorDB \
52  -D $DETECTOR_ID \
53  -t A03209429 \
54  -p A03209525 \
55  -q A03209511 \
56  -WW \
57  -o $DETECTOR_INITIAL
58 fi
59 
60 if [[ ! -f $TRIPOD_INITIAL ]]; then
61 
62  cat>$TRIPOD_INITIAL<<EOF
63 # Very preliminary acoustic emitter positions from survey
64 3 +587848.700 +4016749.700 -3450.467
65 4 +587657.170 +4017113.940 -3459.600
66 5 +587906.500 +4017094.300 -3459.600
67 6 +586939.550 +4017018.130 -3447.020
68 7 +587198.628 +4016228.693 -3433.306
69 EOF
70 fi
71 
72 
73 # Apply modifications to the detector and tripod file, if any.
74 
75 JEditDetector \
76  -a $DETECTOR_INITIAL \
77  -s "-1 mul $MUL" \
78  -o ${TMPDIR:-/tmp}/detector.datx
79 
80 if [[ -n "$DETECTOR" ]]; then
81 
82  eval `JPrintDetector -a $DETECTOR -O SUMMARY`
83 
84  JEditDetector -a ${TMPDIR:-/tmp}/detector.datx -r "$STRINGS[*]" -o ${TMPDIR:-/tmp}/detector.datx
85 
86  JMergeDetector -a ${TMPDIR:-/tmp}/detector.datx -a $DETECTOR -o detector.datx
87 
88  set_variable ACOUSTICS_STRINGS $STRINGS[*] # fix strings in acoustics-fit.sh
89 else
90 
91  JConvertDetectorFormat -a ${TMPDIR:-/tmp}/detector.datx -o detector.datx
92 fi
93 
94 if [[ -n "$TRIPOD" ]]; then
95 
96  source JAcoustics.sh --
97 
98  typeset -A TRIPODS
99 
100  get_tripods $TRIPOD TRIPODS
101 
102  typeset -A TRIPODS_INITIAL
103 
104  get_tripods $TRIPOD_INITIAL TRIPODS_INITIAL
105 
106  cp -p $TRIPOD_INITIAL tripod.txt
107 
108  for ID in ${(@k)TRIPODS_INITIAL}; do
109  if [[ -n "$TRIPODS[$ID]" ]]; then
110  JEditTripod -f tripod.txt -T "$ID set $TRIPODS[$ID]"
111  fi
112  done
113 
114  set_variable ACOUSTICS_TRIPODS ${(@k)TRIPODS[*]} # fix tripods in acoustics-fit.sh
115 else
116 
117  cp -p $TRIPOD_INITIAL tripod.txt
118 fi
119 
121 set_variable TRIPOD tripod.txt
122 
123 
124 JAcoustics.sh $DETECTOR_ID
125 
126 
127 JAcousticsEventBuilder.sh $DETECTOR $RUNS[*]
128 
129 # Run in WORKDIR
130 
131 cd $WORKDIR
132 
133 if [ ! $HOMEDIR -ef $WORKDIR ]; then
134 
135  cp -p $HOMEDIR/$TRIPOD $WORKDIR
136  cp -p $HOMEDIR/$DETECTOR $WORKDIR
137 
138  for RANGE in $RUNS[*]; do
139  for (( RUN = ${RANGE%%-*}; $RUN <= ${RANGE##*-}; RUN += 1 )); do
140  cp -p $HOMEDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}_event.root $WORKDIR
141  done
142  done
143 
144  JAcoustics.sh $DETECTOR_ID
145 
146 fi
147 
148 for STAGE in A; do
149 
150  $JPP_DIR/examples/JAcoustics/acoustics-fit.sh $DETECTOR $TRIPOD $STAGE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_*event.root > $HOMEDIR/stage-${STAGE}.log
151 
152  if [ ! $HOMEDIR -ef $WORKDIR ]; then
153  cp -vru * $HOMEDIR
154  fi
155 done
156 
157 unset_variable ACOUSTICS_STRINGS
158 unset_variable ACOUSTICS_TRIPODS
159 
160 for STAGE in 2 3; do
161 
162  $JPP_DIR/examples/JAcoustics/acoustics-fit.sh $DETECTOR $TRIPOD $STAGE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_*event.root > $HOMEDIR/stage-${STAGE}.log
163 
164  if [ ! $HOMEDIR -ef $WORKDIR ]; then
165  cp -vru * $HOMEDIR
166  fi
167 done
168 
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
set_array RUNS
then set_variable PMT_FILE set_variable DAQ_FILE set_variable OUTPUT_FILE set_variable DETECTOR else fatal Wrong number of arguments fi set_variable RUNBYRUN file
then JLigier sh continue fi cat
Definition: JDAQDriver.sh:51
o $QUALITY_ROOT d $DEBUG!JPlot1D f
Definition: JDataQuality.sh:66
exit
Definition: JPizza.sh:36
then usage $script[< detector file >< tripod file >][user directory] nThe user directory should be specified when this script is submitted in a batch queue nThe optional detector file and tripod file correspond to a pre calibrated sub detector fi set_variable WORKDIR pwd set_variable HOMEDIR $WORKDIR case set_variable HOMEDIR
data_type r[M+1]
Definition: JPolint.hh:758
then echo
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:64
const int n
Definition: JPolint.hh:676
do for((RUN=${RANGE%%-*};$RUN<=${RANGE##*-};RUN+=1))
*fatal invalid stage $STAGE(possible stages:1, 2, 3, A, D)"
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null if do_usage *then usage $script< detector identifier > fi case set_variable DETECTOR_ID
Definition: JTDC.sh:11
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:20
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR if do_usage *then usage $script[(input file)+] fi set_variable DEBUG set_variable WORKDIR TMPDIR
do set_variable OUTPUT_DIRECTORY $WORKDIR T
then rm i $OUTPUT_FILE fi let RUN
then usage $script< detector specific acoustics-fit script >< option > nAuxiliary script to make scan of pre stretching of detector strings(see JEditDetector)." "\nPossible options
&set_variable TRIPOD
set_variable NUMBER_OF_ITERATIONS set_variable EPSILON cat acoustics_fit_parameters txt<< EOF $CONFIGURATION[*]Nmin=3;sigma_s=100.0e-6;stdev=10.0;mestimator=0;fixStrings=0;EOF for STRING in $STRINGS[*];do#fit stretching and(z) position of given string set_variable DETECTOR_TMP ${TMPDIR:-/tmp}/detector_A.datx JEditDetector-a $DETECTOR-o $DETECTOR_TMP-r $STRING JEditDetector-a $DETECTOR-o $DETECTOR-k $STRING for MUL in 0.005 0.001;do DX_M=0.2 for((N=0;$N< $NUMBER_OF_ITERATIONS;++N));do CHI2[3]=$CHI2[1] fitPositionOfString $STRING Z $DX_M fitStretchingOfString $STRING $MUL if(($CHI2[3]-$CHI2[1]< $EPSILON));then break fi done if(($N >=$NUMBER_OF_ITERATIONS));then printf"warning: reached maximum number of iterations %d - converenge %7.3f\n"$N $(($CHI2[3]-$CHI2[1])) fi done JMergeDetector-a $DETECTOR-a $DETECTOR_TMP-o $DETECTOR rm-f $DETECTOR_TMP JConvertDetectorFormat-a $DETECTOR-o $DETECTOR-r-d 0 > &dev null done
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 JConvertDetectorFormat a $DETECTOR[1] o
then JCalibrateToT a
Definition: JTuneHV.sh:116
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 display $WORKDIR
Definition: plot-Domino.sh:128
then cp
set_variable DETECTOR
do set_variable INPUT_FILE $WORKDIR KM3NeT_
do set_variable DETECTOR_TXT $WORKDIR detector
then fatal Not enough tripods
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 source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:42
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 cat $TRIPOD_INITIAL<< EOF1 256877.5 4743716.7-2438.42 256815.5 4743395.0-2435.53 257096.2 4743636.0-2439.5EOFfiJEditDetector-a $DETECTOR_INITIAL-@"z = -2441.5"-s"-1 mul $MUL"-o $DETECTORcp-p $TRIPOD_INITIAL $TRIPODJAcoustics.sh $DETECTOR_IDJAcousticsEventBuilder.sh $DETECTOR $RUNS[*]cd $WORKDIRif[!$HOMEDIR-ef $WORKDIR];then cp-p $HOMEDIR/$TRIPOD $WORKDIR cp-p $HOMEDIR/$DETECTOR $WORKDIR for RANGE in $RUNS[*];do for((RUN=${RANGE%%-*};$RUN<=${RANGE##*-};RUN+=1));do cp-p $HOMEDIR/KM3NeT_ ${(l:8::0::0:) DETECTOR_ID}_ ${(l:8::0::0:) RUN}_event.root $WORKDIR done done JAcoustics.sh $DETECTOR_IDfifor STAGE in`echo $STAGES`;do $JPP_DIR/examples/JAcoustics/acoustics-fit.sh $DETECTOR $TRIPOD $STAGE $WORKDIR/KM3NeT_ ${(l:8::0::0:) DETECTOR_ID}_ *event.root > $HOMEDIR stage
then fatal Invalid tripod $TRIPOD
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null