Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JRandomEvent.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 JTriggerProcessor.
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 RANDOMEVENT_DEBUG 1
22set_variable: WORKDIR RANDOMEVENT_WORKDIR ./
23set_variable: BACKGROUND_HZ RANDOMEVENT_BACKGROUND_HZ `getK40Rates`
24set_variable: SEED RANDOMEVENT_SEED 0
25set_variable: NUMBER_OF_SLICES RANDOMEVENT_SLICES 10
26set_variable: RECYCLING RANDOMEVENT_RECYCLING "0 0"
27set_variable: FACTOR RANDOMEVENT_FACTOR 1.0
28
29set_variable DAQ_TIMESLICE JDAQTimesliceL0
30
31set_variable OUTPUT_FILE $WORKDIR/trigger_processor.root
32set_variable DETECTOR $JPP_DATA/km3net_reference.detx
33set_variable TRIGGER $JPP_DATA/trigger_parameters_arca.txt
34set_variable PMT_FILE $JPP_DATA/PMT_parameters.txt
35
36if do_usage $*; then
37 usage "$script <detector file> <detector file> <output file> <trigger file> <PMT parameters file>"\
38 "\nAuxiliary script to produce random event data."
39fi
40
41if (( $# == 5 )); then
42 set_variable DETECTORA $1
43 set_variable DETECTORB $2
44 set_variable OUTPUT_FILE $3
45 set_variable PARAMETERS $4
46 set_variable PMT_FILE $5
47else
48 fatal "Wrong number of arguments."
49fi
50
51set_variable DIR `mktemp -d $WORKDIR/XXXXXX`
52set_variable PIPE $DIR/pipe.dat
53
54mkfifo $PIPE
55
56if [[ ! -p $PIPE ]]; then
57 fatal "Error opening $PIPE."
58fi
59
60timer_start
61
62JRandomTimesliceWriter \
63 -a ${DETECTORA} \
64 -o ${PIPE} \
65 -n ${NUMBER_OF_SLICES} \
66 -P ${PMT_FILE} \
67 -P "QE=${FACTOR}" \
68 -S ${SEED} \
69 -B "$BACKGROUND_HZ" \
70 -N "$RECYCLING" \
71 -d ${DEBUG} \
72 --! &
73
74BG=$!
75
76JTriggerProcessor \
77 -a ${DETECTORB} \
78 -f ${PIPE} \
79 -@ ${PARAMETERS} \
80 -C ${DAQ_TIMESLICE} \
81 -o ${OUTPUT_FILE} \
82 -d ${DEBUG} \
83 --!
84
85CHECK_EXIT_CODE
86
87# check exit code background process
88
89wait $BG
90
91STATUS=$?
92
93if (( $STATUS != 0 )); then
94 error "JRandomTimesliceWriter exit status $STATUS"
95 exit $STATUS
96fi
97
98rm -rf ${DIR}
99
100timer_stop
101timer_print
102
103JPrintTree \
104 -f ${OUTPUT_FILE}
105
106JTriggerMonitor \
107 -f ${OUTPUT_FILE} \
108 -o /dev/null