Jpp  master_rocky-43-ge265d140c
the software that should make you happy
JRegurgitate.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 # \author mdejong
4 #
5 version=1.0
6 script=${0##*/}
7 
8 # ------------------------------------------------------------------------------------------
9 #
10 # Utility script to test JRegurgitate.
11 #
12 # ------------------------------------------------------------------------------------------
13 
14 
15 if [ -z $JPP_DIR ]; then
16  echo "Variable JPP_DIR undefined."
17  exit
18 fi
19 
20 
21 source $JPP_DIR/setenv.sh $JPP_DIR
22 
23 
24 set_variable DEBUG 2
25 set_variable WORKDIR ${TMPDIR:-/tmp}/
26 
27 if do_usage $*; then
28  usage "$script [working directory]"
29 fi
30 
31 case $# in
32  1) set_variable WORKDIR $1;;
33 esac
34 
35 
36 set_variable MESSAGE_SERVER localhost
37 set_variable RUNTIME_S 20
38 
39 set_variable detectorType 1
40 set_variable numberOfLines 1
41 set_variable numberOfFloors 1
42 
43 set_variable numberOfSlices 100
44 set_variable singlesRate_Hz 500.0
45 set_variable doublesRate_Hz 500.0
46 
47 set_variable DETECTOR $WORKDIR/detector.dat
48 set_variable INPUT_FILE $WORKDIR/timeslice.dat
49 set_variable OUTPUT_FILE $WORKDIR/trigger_processor.root
50 
51 typeset -A EVENT_RATES_HZ
52 
53 EVENT_RATES_HZ=(JDAQEvent 1.0
54  JDAQSummaryslice 10.0)
55 
56 if (( 0 )); then
57 if (( 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 
67 fi
68 
69 if ( ! 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 
78 fi
79 
80 if ( ! 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 
92 fi
93 
94 if (( 1 )); then
95 
96  JLigier.sh $MESSAGE_SERVER continue
97 
98 fi
99 fi
100 
101 if (( 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 
126 fi