Jpp test-rotations-new
the software that should make you happy
Loading...
Searching...
No Matches
JRegurgitate.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# Utility script to test JRegurgitate.
11#
12# ------------------------------------------------------------------------------------------
13
14
15if [ -z $JPP_DIR ]; then
16 echo "Variable JPP_DIR undefined."
17 exit
18fi
19
20
21source $JPP_DIR/setenv.sh $JPP_DIR
22
23
24set_variable DEBUG 2
25set_variable WORKDIR ${TMPDIR:-/tmp}/
26
27if do_usage $*; then
28 usage "$script [working directory]"
29fi
30
31case $# in
32 1) set_variable WORKDIR $1;;
33esac
34
35
36set_variable MESSAGE_SERVER localhost
37set_variable RUNTIME_S 20
38
39set_variable detectorType 1
40set_variable numberOfLines 1
41set_variable numberOfFloors 1
42
43set_variable numberOfSlices 100
44set_variable singlesRate_Hz 500.0
45set_variable doublesRate_Hz 500.0
46
47set_variable DETECTOR $WORKDIR/detector.dat
48set_variable INPUT_FILE $WORKDIR/timeslice.dat
49set_variable OUTPUT_FILE $WORKDIR/trigger_processor.root
50
51typeset -A EVENT_RATES_HZ
52
53EVENT_RATES_HZ=(JDAQEvent 1.0
54 JDAQSummaryslice 10.0)
55
56if (( 0 )); then
57if (( 1 )); then
58
59 JDetector \
60 -D 1 \
61 -@detectorType=$detectorType \
62 -@numberOfLines=$numberOfLines \
63 -@numberOfFloors=$numberOfFloors \
64 -o $DETECTOR -V V2 \
65 -d $DEBUG
66
67fi
68
69if ( ! reuse_file $INPUT_FILE ); then
70
71 JRandomTimesliceWriter \
72 -a $DETECTOR \
73 -o $INPUT_FILE \
74 -n $numberOfSlices \
75 -B "$singlesRate_Hz $doublesRate_Hz" \
76 -d $DEBUG
77
78fi
79
80if ( ! reuse_file $OUTPUT_FILE ); then
81
82 JTriggerProcessor \
83 -a $DETECTOR \
84 -f $INPUT_FILE \
85 -o $OUTPUT_FILE \
86 -@"trigger3DMuon.enabled=1" \
87 -@"trigger3DMuon.numberOfHits=1" \
88 -@"trigger3DMuon.numberOfModules=1" \
89 -@"writeSummary=1" \
90 -d $DEBUG
91
92fi
93
94if (( 1 )); then
95
96 JLigier.sh $MESSAGE_SERVER continue
97
98fi
99fi
100
101if (( 1 )); then
102
103 JGetMessage \
104 -H ${MESSAGE_SERVER} \
105 -t IO_EVT \
106 -t IO_TSL \
107 -t IO_SUM \
108 -D &
109
110 for TYPE in ${(k)EVENT_RATES_HZ[*]}; do
111
112 JRegurgitate \
113 -f ${OUTPUT_FILE} \
114 -C ${TYPE} \
115 -R ${EVENT_RATES_HZ[${TYPE}]} \
116 -T ${RUNTIME_S} &
117 done
118
119 sleep $RUNTIME_S
120
121 JPutMessage \
122 -H ${MESSAGE_SERVER} \
123 -t IO_EVT \
124 -m stop
125
126fi