8 # ------------------------------------------------------------------------------------------ 
   10 #                            Utility script to run JDataWriter and JEventGenerator. 
   12 # ------------------------------------------------------------------------------------------ 
   15 if [ -z $JPP_DIR ]; 
then 
   16     echo "Variable JPP_DIR undefined." 
   21 source $JPP_DIR/setenv.sh $JPP_DIR
 
   31     usage "$script [detector file] [logger file [working directory]]]" 
   55 print_variable MESSAGE_SERVER MESSAGE_SERVER TIMEOUT_S RUNTIME_S
 
   65     heightOfFirstFloor=100
 
   67     echo "Creating detector $DETECTOR, with parameters:" 
   72         -@numberOfLines=$numberOfLines     \
 
   73         -@numberOfFloors=$numberOfFloors   \
 
   74         -@floorDistance_m=$floorDistance_m \
 
   75         -@lineDistance_m=$lineDistance_m   \
 
   76         -z $heightOfFirstFloor             \
 
   77         -
f footprint_extended.txt          \
 
   89     echo "Generating random background." 
   90     echo "Singles rate:  $singlesRate [Hz]." 
   91     echo "Doubles rate:  $doublesRate [Hz]." 
   98     nohup JRandomTimesliceWriter \
 
  101         -B 
"$singlesRate $doublesRate" \
 
  103         -d1 > timeslice.log 2>&1 &
 
  105     echo Processing random data.
 
  110         -@trigger3DShower.enabled=1    \
 
  111         -@trigger3DMuon.enabled=1      \
 
  113         -d1 > trigger.log 2>&1
 
  125 while (( $RUN <= $RUN_2 )); 
do 
  137 # Event generation configure data. 
  142 datawriter     = $DWRITER_HOST;
 
  144 eventRate_Hz   = 100.0;
 
  151 if [[ ! -
f driver.txt ]]; 
then 
  155 # To avoid unnecessary shell processes, the process I/O is redirected to /dev/null and the ssh command is quoted. 
  157 process  JEventGenerator  $HOSTNAME  ssh  \$HOST\$  
"JEventGenerator  -u \$NAME\$  -H \$SERVER\$  -M \$LOGGER\$  -d $DEBUG  </dev/null >&/dev/null &";
 
  158 process  
JDataWriter      $HOSTNAME  ssh  \$HOST\$  
"JDataWriter      -u \$NAME\$  -H \$SERVER\$  -M \$LOGGER\$  -d $DEBUG  </dev/null >&/dev/null &";
 
  167 while (( $RUN <= $RUN_2 )); 
do 
  198     JLigier.sh $MESSAGE_SERVER 
continue 
  205     JLogger.sh $MESSAGE_LOGGER $LOGGER_OUTPUT
 
  225     JStopDAQ.sh $MESSAGE_SERVER $MESSAGE_LOGGER
 
remove to overwrite exit fi JDetector D $ID detectorType
 
&set_variable LOGGER_OUTPUT
 
then JLigier sh continue fi cat
 
o $QUALITY_ROOT d $DEBUG!JPlot1D f
 
static const double H
Planck constant [eV s]. 
 
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
 
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
 
then cat ev_configure txt<< EOFdatawriter=$DWRITER_HOST;inputFile=$INPUT_FILE;eventRate_Hz=100.0;EOFfiif[[!-f driver.txt]];thencat > driver txt<< EOFprocess JEventGenerator $HOST ssh\$HOST\$"$JPP_BIN/JEventGenerator -u \$NAME\$ -H \$SERVER\$ -M \$LOGGER\$ -d $DEBUG </dev/null >& dev null& process JDataWriter $HOST ssh $HOST $JPP_BIN JDataWriter u $NAME H $SERVER M $LOGGER d $DEBUG</dev/null >& dev null& enter event ev_init
 
do JPrintDAQHeader f $INPUT_FILE d read DETECTOR_ID RUN FRAME_INDEX TIMESLICE_START set_variable OUTPUT_FILE $WORKDIR KM3NeT_
 
event< ev_daq > ev_configure
 
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 if do_usage *then usage $script[(input file)+] fi set_variable DEBUG set_variable WORKDIR TMPDIR
 
then rm i $OUTPUT_FILE fi let RUN
 
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
 
$WORKDIR driver txt done cat $WORKDIR driver txt<< EOFprocess ${DATAFILTER}$FILTER_HOST csh-c '(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&(JDataFilter-H\$SERVER\$-M\$LOGGER\$-d $DEBUG-u ${DATAFILTER}-P $PORT</dev/null > &/dev/null &))';process ${DATAWRITER}$WRITER_HOST csh-c '(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&(JDataWriter-H\$SERVER\$-M\$LOGGER\$-d $DEBUG-u ${DATAWRITER}</dev/null > &/dev/null &))';print enterevent ev_init{RC_CMD}event ev_reset{RC_CMD}event ev_init{RC_CMD}event ev_configure{RC_DFLTR%<$WORKDIR/ev_configure_datafilter.txt > RC_DOM<$WORKDIR/ev_configure_domsimulator.txt > RC_DWRT path
 
then JFileTuna f $INPUT_FILE
 
&set_variable OUTPUT_FILE
 
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
 
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
 
static const JNET::JTag RC_CMD
 
$WORKDIR ev_configure_domsimulator txt echo process $DOM_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DOM_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
 
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
 
do echo Generating $dir eval D
 
#define DEBUG(A)
Message macros.