7 # ------------------------------------------------------------------------------------------
9 # Utility script to run JDataWriter and JEventGenerator.
11 # ------------------------------------------------------------------------------------------
14 if [ -z $JPP_DIR ]; then
15 echo "Variable JPP_DIR undefined."
19 source $JPP_DIR/setenv.sh $JPP_DIR
22 set_variable WORKDIR ${TMPDIR:-/tmp}/
23 set_variable DETECTOR $JPP_DATA/km3net_reference.detx
24 set_variable LOGGER_OUTPUT logger.txt
25 set_variable HOST `get_ip_address`
28 usage "$script [detector file [logger file [working directory]]]"
32 3) set_variable WORKDIR $3;&
33 2) set_variable LOGGER_OUTPUT $2;&
34 1) set_variable DETECTOR $1;;
37 set_variable INPUT_FILE $WORKDIR/trigger_processor.root
38 set_variable MESSAGE_SERVER localhost
39 set_variable MESSAGE_LOGGER localhost
41 set_variable RUN_1 1001
42 set_variable RUN_2 1002
43 set_variable TIMEOUT_S 10
44 set_variable RUNTIME_S 20
45 set_variable DETECTOR_ID 1000
46 set_variable DWRITER_HOST $HOST
49 if [[ ! -f $DETECTOR ]]; then
50 JDetector.sh $DETECTOR
53 if ( ! reuse_file $INPUT_FILE ); then
55 set_variable singlesRate 0e3
56 set_variable doublesRate 2e3
57 set_variable numberOfSlices 10
59 echo "Generating random background."
60 echo "Singles rate: $singlesRate [Hz]."
61 echo "Doubles rate: $doublesRate [Hz]."
63 PIPE=${TMPDIR:-/tmp}/pipe.dat
68 nohup JRandomTimesliceWriter \
71 -B "$singlesRate $doublesRate" \
73 -d1 > timeslice.log 2>&1 &
75 echo Processing random data.
80 -@trigger3DShower.enabled=1 \
81 -@trigger3DMuon.enabled=1 \
83 -d1 > trigger.log 2>&1
95 while (( $RUN <= $RUN_2 )); do
97 OUTPUT_FILE=`printf %s/KM3NeT_%08d_%08d.root $WORKDIR $DETECTOR_ID $RUN`
99 if [[ -f $OUTPUT_FILE ]]; then
107 # Event generation configure data.
109 if [[ ! -f ev_configure.txt ]]; then
111 cat>ev_configure.txt<<EOF
112 datawriter = $DWRITER_HOST;
113 inputFile = $INPUT_FILE;
114 eventRate_Hz = 100.0;
121 if [[ ! -f driver.txt ]]; then
125 process JEventGenerator $HOST csh -c '(setenv ROOTSYS $ROOTSYS && source $JPP_DIR/setenv.csh $JPP_DIR && (JEventGenerator -H \$SERVER\$ -M \$LOGGER\$ -d $DEBUG -u \$NAME\$ </dev/null >&/dev/null &))';
126 process JDataWriter $HOST csh -c '(setenv ROOTSYS $ROOTSYS && source $JPP_DIR/setenv.csh $JPP_DIR && (JDataWriter -H \$SERVER\$ -M \$LOGGER\$ -d $DEBUG -u \$NAME\$ </dev/null >&/dev/null &))';
130 event ev_init { RC_CMD }
135 while (( $RUN <= $RUN_2 )); do
140 RC_EVT %<ev_configure.txt>%
141 RC_DWRT path=$WORKDIR; update_s=10; logger_s=5;
144 event ev_start { RC_CMD $RUN $DETECTOR_ID }
148 event ev_pause { RC_CMD }
149 event ev_stop { RC_CMD }
157 event ev_reset { RC_CMD }
158 event ev_off { RC_CMD }
166 JLigier.sh $MESSAGE_SERVER continue
173 JLogger.sh $MESSAGE_LOGGER $LOGGER_OUTPUT
193 JStopDAQ.sh $MESSAGE_SERVER $MESSAGE_LOGGER