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