Jpp  19.0.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
software/JTrigger/JTriggerEfficiencyRunByRun.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 # \author mdejong
4 #
5 script=${0##*/}
6 
7 # ------------------------------------------------------------------------------------------
8 #
9 # Script to run JTriggerEfficiency in run-by-run mode.
10 #
11 # ------------------------------------------------------------------------------------------
12 
13 if [ -z $JPP_DIR ]; then
14  echo "Variable JPP_DIR undefined."
15  exit
16 fi
17 
18 source $JPP_DIR/setenv.sh $JPP_DIR
19 
20 set_variable: DEBUG TRIGGEREFFICIENCY_DEBUG 1
21 set_variable: WORKDIR TRIGGEREFFICIENCY_WORKDIR ./
22 set_variable: BACKGROUND_HZ TRIGGEREFFICIENCY_BACKGROUND_HZ `getK40Rates`
23 set_variable: SEED TRIGGEREFFICIENCY_SEED 0
24 set_variable: NUMBER_OF_TIMESLICES TRIGGEREFFICIENCY_NUMBER_OF_TIMESLICES 0
25 set_variable: FACTOR TRIGGEREFFICIENCY_FACTOR 1.0
26 set_variable: SAMPLER TRIGGEREFFICIENCY_SAMPLER "100 1000"
27 set_variable+ OPTION TRIGGEREFFICIENCY_TRIGGERED_EVENTS_ONLY -O
28 set_variable+ DISABLE_TURBOT TRIGGEREFFICIENCY_DISABLE_TURBOT Y
29 
30 if do_usage $*; then
31  usage "$script <detector file> <detector file> (input file)+ <output file> <DAQ file> <PMT parameters file>"\
32  "\nAuxiliary script to trigger Monte Carlo events."
33 fi
34 
35 if (( $# >= 6 )); then
39  set_array INPUT_FILES $argv[3,-4]
40  set_variable DETECTORB $argv[2]
41  set_variable DETECTORA $argv[1]
42 else
43  fatal "Wrong number of arguments."
44 fi
45 
47 
48 JPrintTree -f $DAQ_FILE -@ "type = JDAQSummaryslice" -k number_of_entries | read N
49 
50 set_variable RUNBYRUN "file=$DAQ_FILE; sampler=${SAMPLER%% *} $(($N / 2))"
51 
52 set_variable DETECTORA_2 `mktemp $WORKDIR/${${DETECTORA:t}:r}_XXXXXX.datx`
53 set_variable DETECTORB_2 `mktemp $WORKDIR/${${DETECTORB:t}:r}_XXXXXX.datx`
54 
55 JConvertDetectorFormat -a ${DETECTORA} -o ${DETECTORA_2}
56 JConvertDetectorFormat -a ${DETECTORB} -o ${DETECTORB_2}
57 
58 
59 # Procedure to determine optical modules with out-sync-problem.
60 # The given detector file is accordingly updated.
61 
62 if [[ "$DISABLE_TURBOT" != "Y" ]]; then
63 
64  JTurbot \
65  -f ${DAQ_FILE} \
66  -a ${DETECTORA_2} \
67  -A \
68  -d ${DEBUG} \
70  --!
71 
72  timer_lap
73 fi
74 
75 
76 # Procedure to determine Jpp version used during data taking as default handling of UDP packet losses has changed.
77 # The given detector file is accordingly updated.
78 
79 JPrintMeta -f ${DAQ_FILE} -k GIT | read DAQ_VERSION
80 
81 echo ${(s/./)DAQ_VERSION} | read DAQ_MAJOR DAQ_MINOR DAQ_PATCH
82 
83 if [[ "$DAQ_MAJOR" != [0-9][0-9]* ]] || (( $DAQ_MAJOR <= 12 )); then # Jpp-version dependence
84 
85  notice "Set UDP counter and trailer disable."
86 
87  JEditDetector \
88  -a ${DETECTORB_2} \
89  -P "-1 -1 set UDP_COUNTER_DISABLE" \
90  -P "-1 -1 set UDP_TRAILER_DISABLE" \
91  -o ${DETECTORB_2}
92 fi
93 
94 
95 JTriggerEfficiency \
96  -a ${DETECTORA_2} \
97  -b ${DETECTORB_2} \
98  -f"${INPUT_FILES[*]}" \
99  -o ${OUTPUT_FILE} \
100  -P ${PMT_FILE} \
101  -P "QE=${FACTOR}" \
102  ${OPTION} \
103  -S ${SEED} \
104  -B "$BACKGROUND_HZ" \
105  -r "${RUNBYRUN}" \
106  -d ${DEBUG} \
107  --!
108 
109 timer_lap
110 
111 
112 JPrintMeta \
113  -f ${OUTPUT_FILE}
114 
115 JPrintTree \
116  -f ${OUTPUT_FILE}
117 
118 JTriggerMonitor \
119  -f ${OUTPUT_FILE} \
120  -o /dev/null
121 
122 
123 rm -f ${DETECTORA_2}
124 rm -f ${DETECTORB_2}
then usage $script< detector >< run >< outputfile > fi case set_variable OPTION
Definition: JTuna.sh:26
then usage $script< detector identifier >< startdate\"YYYY-MM-DDHH:MM:SS\"><finaldate\"YYYY-MM-DDHH:MM:SS\"><QA/QCfile> fi case set_variable QAQC_TXT $argv[4]
Definition: JDataMonitor.sh:24
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
&set_variable NUMBER_OF_TIMESLICES
Definition: JRunAnalyzer.sh:20
std::istream & read(std::istream &in, JTestSummary &summary, const char delimiter= ' ')
Read test summary.
then usage $script[detector file[output file[trigger file[PMT parameters file]]]] fi case set_variable PMT_FILE
version
Definition: JEditTuneHV.sh:5
exit
Definition: JPizza.sh:36
data_type r[M+1]
Definition: JPolint.hh:868
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTORXY_TXT $WORKDIR $DETECTORXY_TXT tail read X Y CHI2 RMS printf optimum n $X $Y $CHI2 $RMS awk v Y
then
Definition: datalogs.sh:34
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
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
then JCalibrateToT a
Definition: JTuneHV.sh:107
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
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
&set_variable OUT_FILE set_variable DETECTOR_FILE set_variable DAQ_FILE
Definition: JRunAnalyzer.sh:24
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonStart.sh:47
then usage $script[energy[distance[z of PMT]]] fi case set_variable z
Definition: JDrawPDF.sh:45
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
Definition: JMuonPostfit.sh:40
then JHobbit a $DETECTOR f
do sput $STRING $FLOOR sget MODULE INPUT_FILES
then echo
Definition: JQAQC.sh:92
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
then getFile sh $JPP_ARCHIVE $DETECTOR_ID $RUNS[1] $KEY $VERSION $WORKDIR
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:62
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62