Jpp 19.3.0-rc.2
the software that should make you happy
Loading...
Searching...
No Matches
JTimesliceReprocessor.sh
Go to the documentation of this file.
1#!/usr/bin/env zsh
2#
3# \author mdejong
4#
5version=1.0
6script=${0##*/}
7
8# ------------------------------------------------------------------------------------------
9#
10# Script to jointly run JRandomTimesliceWriter and JTimesliceProcessor.
11#
12# ------------------------------------------------------------------------------------------
13
14if [ -z $JPP_DIR ]; then
15 echo "Variable JPP_DIR undefined."
16 exit
17fi
18
19source $JPP_DIR/setenv.sh $JPP_DIR
20
21set_variable DEBUG 1
22set_variable WORKDIR ./
23set_variable PIPE $WORKDIR/pipe.dat
24set_variable OUTPUT_FILE $WORKDIR/timeslice.root
25set_variable DETECTOR $JPP_DATA/km3net_reference.detx
26set_variable TRIGGER $JPP_DATA/trigger_parameters_arca.txt
27set_variable PMT_FILE $JPP_DATA/PMT_parameters.txt
28set_variable: BACKGROUND_HZ RANDOMEVENT_BACKGROUND_HZ ${BACKGROUND_HZ:-0 600 60 6 0.6}
29set_variable: NUMBER_OF_SLICES RANDOMEVENT_SLICES 10
30set_variable: RECYCLING RANDOMEVENT_RECYCLING "0 0"
31set_variable DAQ_TIMESLICE JDAQTimesliceL0
32set_variable: SEED RANDOMEVENT_SEED 0
33
34if do_usage $*; then
35 usage "$script [detector file [pipe [output file [trigger file [PMT parameters file]]]]]"
36fi
37
38case $# in
39 5) set_variable PMT_FILE $5;&
40 4) set_variable TRIGGER $4;&
41 3) set_variable OUTPUT_FILE $3;&
42 2) set_variable PIPE $2;&
43 1) set_variable DETECTOR $1;;
44esac
45
46print_variable DETECTOR TRIGGER OUTPUT_FILE BACKGROUND_HZ PMT_FILE
47check_input_file $DETECTOR $TRIGGER $PMT_FILE
48check_output_file $OUTPUT_FILE
49
50rm -f $PIPE
51mkfifo $PIPE
52
53if [[ -p $PIPE ]]; then
54
55 timer_start
56
57 ( JRandomTimesliceWriter \
58 -a ${DETECTOR} \
59 -o ${PIPE} \
60 -n ${NUMBER_OF_SLICES} \
61 -P ${PMT_FILE} \
62 -d ${DEBUG} \
63 -S ${SEED} \
64 -B "$BACKGROUND_HZ" \
65 -N "$RECYCLING" \
66 --! && for (( i = 0; $i != 10; ++i )); do; echo 'EOF' > $PIPE; usleep 100000; done && rm -f $PIPE ) &
67
68 JTimesliceReprocessor \
69 -a ${DETECTOR} \
70 -f ${PIPE} \
71 -@ ${TRIGGER} \
72 -C ${DAQ_TIMESLICE} \
73 -o ${OUTPUT_FILE} \
74 -d ${DEBUG} \
75 --!
76
77 rm -f $PIPE
78
79 timer_stop
80 timer_print
81
82 JPrintTree \
83 -f ${OUTPUT_FILE}
84
85else
86
87 fatal "Error opening $PIPE."
88fi
89