7# ------------------------------------------------------------------------------------------
9# Script to run JTriggerEfficiency in run-by-run mode.
11# ------------------------------------------------------------------------------------------
13if [ -z $JPP_DIR ]; then
14 echo "Variable JPP_DIR undefined."
18source $JPP_DIR/setenv.sh $JPP_DIR
20set_variable: DEBUG TRIGGEREFFICIENCY_DEBUG 1
21set_variable: WORKDIR TRIGGEREFFICIENCY_WORKDIR ./
22set_variable: BACKGROUND_HZ TRIGGEREFFICIENCY_BACKGROUND_HZ `getK40Rates`
23set_variable: SEED TRIGGEREFFICIENCY_SEED 0
24set_variable: NUMBER_OF_TIMESLICES TRIGGEREFFICIENCY_NUMBER_OF_TIMESLICES 0
25set_variable: FACTOR TRIGGEREFFICIENCY_FACTOR 1.0
26set_variable: MARGIN TRIGGEREFFICIENCY_MARGIN 20
27set_variable: SAMPLER TRIGGEREFFICIENCY_SAMPLER "100 1000"
28set_variable+ OPTION TRIGGEREFFICIENCY_TRIGGERED_EVENTS_ONLY -O
29set_variable+ DISABLE_TURBOT TRIGGEREFFICIENCY_DISABLE_TURBOT Y
32 usage "$script <detector file> <detector file> (input file)+ <output file> <DAQ file> <PMT parameters file>"\
33 "\nAuxiliary script to trigger Monte Carlo events."\
34 "\nThe first detector file is used to convert the true data to DAQ data and the second to covert DAQ data to calibrated data."\
35 "\nNormally, these correspond to the 'perfect' calibration and the 'online' calibration, respectively."
39 set_variable PMT_FILE $argv[-1]
40 set_variable DAQ_FILE $argv[-2]
41 set_variable OUTPUT_FILE $argv[-3]
42 set_array INPUT_FILES $argv[3,-4]
43 set_variable DETECTORB $argv[2]
44 set_variable DETECTORA $argv[1]
46 fatal "Wrong number of arguments."
51JPrintTree -f $DAQ_FILE -@ "type = JDAQSummaryslice" -k number_of_entries | read N
53set_variable RUNBYRUN $DAQ_FILE
55set_variable DETECTORA_2 `mktemp $WORKDIR/${${DETECTORA:t}:r}_XXXXXX.datx`
56set_variable DETECTORB_2 `mktemp $WORKDIR/${${DETECTORB:t}:r}_XXXXXX.datx`
57set_variable PMT_FILE_2 `mktemp $WORKDIR/PMT_XXXXXX.txt`
59JConvertDetectorFormat -a ${DETECTORA} -o ${DETECTORA_2}
60JConvertDetectorFormat -a ${DETECTORB} -o ${DETECTORB_2}
63# Procedure to determine optical modules with out-sync-problem.
64# The given detector file is accordingly updated.
66if [[ "$DISABLE_TURBOT" != "Y" ]]; then
73 -N ${NUMBER_OF_TIMESLICES} \
82# Procedure to determine Jpp version used during data taking as default handling of UDP packet losses has changed.
83# The given detector file is accordingly updated.
85JPrintMeta -f ${DAQ_FILE} -k GIT | read DAQ_VERSION
87echo ${(s/./)DAQ_VERSION} | read DAQ_MAJOR DAQ_MINOR DAQ_PATCH
89if [[ "$DAQ_MAJOR" != [0-9][0-9]* ]] || (( $DAQ_MAJOR <= 12 )); then # Jpp-version dependence
91 notice "Set UDP counter and trailer disable."
95 -P "-1 -1 set UDP_COUNTER_DISABLE" \
96 -P "-1 -1 set UDP_TRAILER_DISABLE" \
106 -Q "0 $((1.0 / $FACTOR))" \
114 -f"${INPUT_FILES[*]}" \
120 -B "$BACKGROUND_HZ" \