Jpp - the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JEventProcessor.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 # \author mlincetto
4 #
5 version=1.0
6 script=${0##*/}
7 
8 # ------------------------------------------------------------------------------------------
9 #
10 # Utility script to jointly run JEventTimesliceWriter 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 ${EVENTPROCESSOR_DEBUG:-1}
23 set_variable PIPE $WORKDIR/pipe.dat
25 set_variable OUTPUT_FILE $WORKDIR/trigger_processor.root
26 set_variable DETECTOR $JPP_DATA/km3net_reference.detx
27 set_variable TRIGGER $JPP_DATA/trigger_parameters_arca.txt
28 set_variable PMT_FILE $JPP_DATA/PMT_parameters.txt
29 set_variable BACKGROUND_HZ ${EVENTPROCESSOR_BACKGROUND_HZ:-${BACKGROUND_HZ:-0}}
30 set_variable SEED ${EVENTPROCESSOR_SEED:-0}
31 set_variable FACTOR ${EVENTPROCESSOR_FACTOR:-${FACTOR:-1.0}}
32 set_variable RATE ${EVENTPROCESSOR_RATE:-0.0}
33 
34 if ( do_usage $* ); then
35  usage "$script [detector file [output file [trigger file [PMT parameters file]]]]"
36 fi
37 
38 case $# in
44 esac
45 
46 set_variable INPUT_FILE_ROOT $WORKDIR/$(basename ${INPUT_FILE} ".evt").root
47 
49 check_input_file $DETECTOR $INPUT_FILE $TRIGGER $PMT_FILE
50 check_output_file $OUTPUT_FILE
51 
52 FILE_TYPE=$(file -b --mime-type $INPUT_FILE)
53 
54 rm -f $PIPE
55 mkfifo $PIPE
56 
57 if [[ -f $INPUT_FILE ]]; then
58 
60 
61  if [[ $FILE_TYPE != "application/octet-stream" ]]; then
62  JConvert \
63  -f ${INPUT_FILE} \
64  -o ${INPUT_FILE_ROOT} \
65  --!
66  else
67  INPUT_FILE_ROOT=${INPUT_FILE};
68  fi
69 
70  JEventTimesliceWriter \
71  -a ${DETECTOR} \
72  -f ${INPUT_FILE_ROOT} \
73  -o ${PIPE} \
74  -P ${PMT_FILE} \
75  -P "QE=${FACTOR}" \
76  -d ${DEBUG} \
77  -S ${SEED} \
78  -B "$BACKGROUND_HZ" \
79  -r ${RATE} \
80  --! &
81 
82  JTriggerProcessor \
83  -a ${DETECTOR} \
84  -f ${PIPE} \
85  -@ ${TRIGGER} \
86  -o ${OUTPUT_FILE} \
87  -d ${DEBUG} \
88  --!
89 
90  rm -f $PIPE
91 
92  if [[ $FILE_TYPE != "application/octet-stream" ]]; then
93  rm -f $INPUT_FILE_ROOT
94  fi
95 
96  timer_stop
97  timer_print
98 
99  JPrintTree \
100  -f ${OUTPUT_FILE}
101 else
102  fatal "Error opening ${INPUT_FILE}."
103 fi
void set_variable(const std::string &name, const std::string &value)
Set environment variable.
then JPlot1D f $WORKDIR postfit[prefit\] root
set_variable INPUT_FILE
exit
Definition: JPizza.sh:36
&set_variable PIPE
Definition: JRandomEvent.sh:43
then usage $script< string identifier >< detectorfile > input file(toashort file)+" "\nNote that the input files and toashort files should be one-to-one related." fi if (( $
data_type r[M+1]
Definition: JPolint.hh:742
then JPizza f
Definition: JPizza.sh:46
then echo
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 $
do $DIR JTransitTime o
Definition: JTransitTime.sh:44
* usage
then JFileTuna f $INPUT_FILE
Definition: file-Tuna.sh:66
do set_variable SIGMA_NS set_variable OUTLIERS set_variable OUTPUT_FILE matrix[${ALPHA_DEG}\deg\] root $JPP JMatrixNZ a $DETECTOR f $INPUT_FILE o $OUTPUT_FILE S
Definition: JMatrixNZ.sh:56
&set_variable OUTPUT_FILE
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:45
then JCalibrateToT a
Definition: JTuneHV.sh:116
then set_variable MODULE getModule a $DETECTOR L $STRING $FLOOR JEditDetector a $DETECTOR M $MODULE add $X o $DETECTOR else echo No update of detector $DETECTOR
then display $WORKDIR
Definition: plot-Domino.sh:127
set_variable DETECTOR
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:38
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR set_variable DEBUG set_variable WORKDIR set_variable PIPE $WORKDIR pipe dat set_variable OUTPUT_FILE $WORKDIR timeslice root set_variable DETECTOR $JPP_DATA km3net_reference detx set_variable TRIGGER $JPP_DATA trigger_parameters_arca txt set_variable PMT_FILE $JPP_DATA PMT_parameters txt set_variable BACKGROUND_HZ
version
Definition: JCalibratePMT.sh:7
then usage $script< detector file >< inputfile > fi case set_variable WORKDIR
Definition: JLegolas.sh:28
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:60
&set_variable TRIGGER
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62