Jpp  18.2.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 # 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 RANDOMEVENT_WORKDIR ./
23 set_variable: BACKGROUND_HZ RANDOMEVENT_BACKGROUND_HZ `getK40Rates`
24 set_variable: SEED RANDOMEVENT_SEED 0
25 set_variable: NUMBER_OF_SLICES RANDOMEVENT_SLICES 10
26 set_variable: RECYCLING RANDOMEVENT_RECYCLING "0 0"
27 set_variable: FACTOR RANDOMEVENT_FACTOR 1.0
28 
29 set_variable DAQ_TIMESLICE JDAQTimesliceL0
30 
31 set_variable OUTPUT_FILE $WORKDIR/trigger_processor.root
32 set_variable DETECTOR $JPP_DATA/km3net_reference.detx
33 set_variable TRIGGER $JPP_DATA/trigger_parameters_arca.txt
34 set_variable PMT_FILE $JPP_DATA/PMT_parameters.txt
35 
36 if do_usage $*; then
37  usage "$script <detector file> <output file> <trigger file> <PMT parameters file>"\
38  "\nAuxiliary script to produce random event data."
39 fi
40 
41 if (( $# == 4 )); then
43  set_variable PARAMETERS $3
46 else
47  fatal "Wrong number of arguments."
48 fi
49 
50 set_variable DIR `mktemp -d $WORKDIR/XXXXXX`
51 set_variable PIPE $DIR/pipe.dat
52 
53 mkfifo $PIPE
54 
55 if [[ ! -p $PIPE ]]; then
56  fatal "Error opening $PIPE."
57 fi
58 
60 
61 JRandomTimesliceWriter \
62  -a ${DETECTOR} \
63  -o ${PIPE} \
64  -n ${NUMBER_OF_SLICES} \
65  -P ${PMT_FILE} \
66  -P "QE=${FACTOR}" \
67  -S ${SEED} \
68  -B "$BACKGROUND_HZ" \
69  -N "$RECYCLING" \
70  -d ${DEBUG} \
71  --! &
72 
73 JTriggerProcessor \
74  -a ${DETECTOR} \
75  -f ${PIPE} \
76  -@ ${PARAMETERS} \
77  -C ${DAQ_TIMESLICE} \
78  -o ${OUTPUT_FILE} \
79  -d ${DEBUG} \
80  --!
81 
82 rm -rf ${DIR}
83 
84 timer_stop
85 timer_print
86 
87 JPrintTree \
88  -f ${OUTPUT_FILE}
89 
90 JTriggerMonitor \
91  -f ${OUTPUT_FILE} \
92  -o /dev/null
&set_variable DAQ_TIMESLICE
Definition: JLegolas.sh:32
version
Definition: JEditTuneHV.sh:5
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
Definition: JDataQuality.sh:76
exit
Definition: JPizza.sh:36
then
Definition: datalogs.sh:31
then fatal Wrong number of arguments fi DIR
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
static const double C
Physics constants.
const int n
Definition: JPolint.hh:786
then timer_start(JRandomTimesliceWriter-a ${DETECTOR}-o ${PIPE}-n ${NUMBER_OF_SLICES}-P ${PMT_FILE}-d ${DEBUG}-S ${SEED}-B"$BACKGROUND_HZ"-N"$RECYCLING"--!&&for((i=0;$i!=10;++i));do;echo 'EOF' > $PIPE;usleep 100000;done &&rm-f $PIPE)&JTimesliceReprocessor-a $
then rm
Definition: sftpput.zsh:30
&set_variable PIPE
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:21
then JCalibrateToT a
Definition: JTuneHV.sh:113
const JK40Rates & getK40Rates()
Get K40 rates.
Definition: Antares.hh:27
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
Definition: JLegolas.sh:20
* usage
&set_variable OUTPUT_FILE
then usage $script[detector file[output file[PMT parameters file[number of slices]]]] nAuxiliary script to produce random time slice data fi case set_variable NUMBER_OF_SLICES
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
Definition: JMuonPostfit.sh:40
fi set_variable FILENAME $WORKDIR
Definition: datalogs.sh:34
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
set_variable DETECTOR
then echo
Definition: JQAQC.sh:90
static JNullStream null
Null I/O stream.
Definition: JNullStream.hh:51
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:62
&set_variable TRIGGER
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62