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
25 set_variable WORKDIR $JPP_DATA
26 set_variable DETECTOR $JPP_DATA/km3net_reference.detx
27 set_variable LOGGER_OUTPUT logger.txt
30 if ( do_usage $* ); then
31 usage "$script [detector file] [logger file [working directory]]]"
41 set_variable INPUT_FILE $WORKDIR/trigger_processor.root
43 set_variable MESSAGE_SERVER localhost
44 set_variable MESSAGE_LOGGER localhost
48 set_variable RUN_1 1001
49 set_variable RUN_2 1002
50 set_variable TIMEOUT_S 10
51 set_variable RUNTIME_S 20
53 set_variable DWRITER_HOST $HOSTNAME
55 print_variable MESSAGE_SERVER MESSAGE_SERVER TIMEOUT_S RUNTIME_S
58 if [[ ! -f $DETECTOR ]]; then
65 heightOfFirstFloor=100
67 echo "Creating detector $DETECTOR, with parameters:"
71 -@detectorType=$detectorType \
72 -@numberOfLines=$numberOfLines \
73 -@numberOfFloors=$numberOfFloors \
74 -@floorDistance_m=$floorDistance_m \
75 -@lineDistance_m=$lineDistance_m \
76 -z $heightOfFirstFloor \
77 -f footprint_extended.txt \
83 if [[ ! -f $INPUT_FILE ]]; then
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
127 OUTPUT_FILE=`printf %s/KM3NeT_%08d.root $WORKDIR $RUN`
129 if [[ -f $OUTPUT_FILE ]]; then;
137 # Event generation configure data.
139 if [[ ! -f ev_configure.txt ]]; then
141 cat>ev_configure.txt<<EOF
142 datawriter = $DWRITER_HOST;
143 inputFile = $INPUT_FILE;
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 &";
162 event ev_init { RC_CMD }
167 while (( $RUN <= $RUN_2 )); do
172 RC_EVT %<ev_configure.txt>%
173 RC_DWRT path=$WORKDIR; update_s=10; logger_s=5;
176 event ev_start { RC_CMD $RUN }
180 event ev_pause { RC_CMD }
181 event ev_stop { RC_CMD }
189 event ev_reset { RC_CMD }
190 event ev_off { RC_CMD }
198 JLigier.sh $MESSAGE_SERVER continue
205 JLogger.sh $MESSAGE_LOGGER $LOGGER_OUTPUT
225 JStopDAQ.sh $MESSAGE_SERVER $MESSAGE_LOGGER