4 # -------------------------------------------------------------------------------------------- 
    6 # Steering script for the global-fit-of-global-fits procedure of the D0ARCA020 (116) 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                   12785-12792
 
   22     usage "$script <detector file> <tripod file> [user directory]"\
 
   23           "\nThe user directory should be specified when this script is submitted in a batch queue."\
 
   24           "\nThe detector file and tripod file correspond to a pre-calibrated D0ARCA009 detector." 
   34     *)  fatal 
"Wrong number of arguments." 
   48 if [[ ! -
f $DETECTOR_INITIAL ]]; 
then 
   57 if [[ ! -
f $TRIPOD_INITIAL ]]; 
then 
   59     cat>$TRIPOD_INITIAL<<EOF
 
   60 # Very preliminary acoustic emitter positions from survey
 
   61 3   +587848.700  +4016749.700  -3450.467
 
   62 7   +587198.628  +4016228.693  -3433.306
 
   63 8   +588257.896  +4017034.442  -3457.240
 
   64 9   +587646.419  +4017109.956  -3456.980
 
   65 10  +587763.722  +4017253.398  -3453.894
 
   74 eval `JPrintDetector -
a $DETECTOR_INITIAL -O SUMMARY`;  FINAL_STRINGS=(
$STRINGS[*])
 
   75 eval `JPrintDetector -
a detector_tmp.datx -O SUMMARY`;  FIXED_STRINGS=(
$STRINGS[*])
 
   79     # Apply modifications.
 
   82         -
a $DETECTOR_INITIAL     \
 
   86     eval `JPrintDetector -
a detector.datx -O SUMMARY`
 
   94             -M 
"$MODULE setz -11.7"  \
 
  103 source JAcousticsToolkit.sh
 
  107 get_tripods  $TRIPOD_INITIAL  TRIPODS;  FINAL_TRIPODS=(${(
k)TRIPODS[*]})
 
  110 if [[ ! -
f tripod.txt ]]; 
then 
  112     cp -p  $TRIPOD_INITIAL  tripod.txt
 
  114     JEditTripod   -
f tripod.txt  -
r "${FIXED_TRIPODS}" -
o tripod.txt
 
  115     JMergeTripod  -
f tripod.txt  -
f $TRIPOD            -
o tripod.txt
 
  116     JEditTripod   -
f tripod.txt  -
k "${FINAL_TRIPODS}" -
o tripod.txt
 
  125 JAcoustics.sh $DETECTOR_ID
 
  127 cat>acoustics_trigger_parameters.txt<<EOF
 
  146     cp -p 
$HOMEDIR/{acoustics_fit_parameters,acoustics_trigger_parameters,disable,hydrophone,mechanics,sound_velocity,tripod,waveform}.txt  
$WORKDIR 
  149 source $JPP_DIR/examples/JAcoustics/acoustics-fit-toolkit.sh
 
  155 fixStrings  $FIXED_STRINGS[*]
 
  156 fixTripods  $FIXED_TRIPODS[*]
 
  160 stage_1b  0.3       20  >&  
stage-1b.log;  backup 
$HOMEDIR/1b;  timer_lap
 
  162 stage_2b  0.3       20  >&  
stage-2B.log;  backup 
$HOMEDIR/2B;  timer_lap
 
  167 stage_2b  0.3       20  >&  
stage-2b.log;  backup 
$HOMEDIR/2b;  timer_lap
 
  169 stage_3b  0.2       20  >&  
stage-3b.log;  backup 
$HOMEDIR/3b;  timer_lap
 
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 JLigier sh continue fi cat
 
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!JPlot1D f
 
then usage $script< detector specific pre-calibration script >< option > nAuxiliary script to make scan of pre stretching of detector strings(see JEditDetector)." "\nPossible options
 
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
 
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[*]
 
then timer_start(JRandomTimesliceWriter-a ${DETECTOR}-o ${PIPE}-n ${NUMBER_OF_SLICES}-P ${PMT_FILE}-d ${DEBUG}-S ${SEED}-B"$BACKGROUND_HZ"-N"$RECYCLING"--!&&for((i=0;$i!=10;++i));do;echo 'EOF' > $PIPE;usleep 100000;done &&rm-f $PIPE)&JTimesliceReprocessor-a $
 
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
 
case $OPTION in clean clean
 
do debug $__line__ echo $__line__ read URL DETECTOR RUNS RUNS
 
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
 
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DETECTOR_ID set_array RUNS set_variable MUL if do_usage *then usage $script< detector file >< tripodfile > nThe user directory should be specified when this script is submitted in a batch queue nThe detector file and tripod file correspond to a pre calibrated D0ARCA006 detector fi set_variable WORKDIR pwd set_variable HOMEDIR $WORKDIR case set_variable HOMEDIR
 
set_array INPUT_FILES argv[2,$((START_INDEX_STRING-1))] set_array STRINGS
 
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
 
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
 
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