Jpp
JRandomEvent.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 jointly run JRandomTimeSliceWriter and JTriggerProcessor.
11 #
12 # ------------------------------------------------------------------------------------------
13 
14 if [ -z $JPP_DIR ]; then
15  echo "Variable JPP_DIR undefined."
16  exit
17 fi
18 
19 source $JPP_DIR/setenv.sh $JPP_DIR
20 
21 set_variable DEBUG ${RANDOMEVENT_DEBUG:-1}
22 set_variable WORKDIR ./
23 set_variable PIPE $WORKDIR/pipe.dat
24 set_variable OUTPUT_FILE $WORKDIR/trigger_processor.root
25 set_variable DETECTOR $JPP_DATA/km3net_reference.detx
26 set_variable TRIGGER $JPP_DATA/trigger_parameters_arca.txt
27 set_variable PMT_FILE $JPP_DATA/PMT_parameters.txt
28 set_variable BACKGROUND_HZ ${RANDOMEVENT_BACKGROUND_HZ:-${BACKGROUND_HZ:-0}}
29 set_variable SEED ${RANDOMEVENT_SEED:-0}
30 set_variable NUMBER_OF_SLICES ${RANDOMEVENT_SLICES:-10}
31 
32 if ( do_usage $* ); then
33  usage "$script [detector file [pipe [output file [trigger file [PMT parameters file]]]]]"
34 fi
35 
36 case $# in
37  5) set_variable PMT_FILE $5;&
38  4) set_variable TRIGGER $4;&
39  3) set_variable OUTPUT_FILE $3;&
40  2) set_variable PIPE $2;&
41  1) set_variable DETECTOR $1;;
42 esac
43 
44 print_variable DETECTOR TRIGGER OUTPUT_FILE BACKGROUND_HZ PMT_FILE
45 check_input_file $DETECTOR $TRIGGER $PMT_FILE
46 check_output_file $OUTPUT_FILE
47 
48 rm -f $PIPE
49 mkfifo $PIPE
50 
51 if [[ -p $PIPE ]]; then
52 
53  timer_start
54 
55  JRandomTimesliceWriter \
56  -a ${DETECTOR} \
57  -o ${PIPE} \
58  -n ${NUMBER_OF_SLICES} \
59  -P ${PMT_FILE} \
60  -d ${DEBUG} \
61  -S ${SEED} \
62  -B "$BACKGROUND_HZ" \
63  --! &
64 
65  JTriggerProcessor \
66  -a ${DETECTOR} \
67  -f ${PIPE} \
68  -@ ${TRIGGER} \
69  -o ${OUTPUT_FILE} \
70  -d ${DEBUG} \
71  --!
72 
73  rm -f $PIPE
74 
75  timer_stop
76  timer_print
77 
78  JPrintTree \
79  -f ${OUTPUT_FILE}
80 
81 else
82 
83  fatal "Error opening $PIPE."
84 fi