4 if [ -z $JPP_DIR ];
then
5 echo "Variable JPP_DIR undefined."
9 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/
null
11 if ( do_usage $* );
then
12 usage "$script <detector file> <input file>+"
16 fatal
"Not enough arguments."
23 set_variable TRIGGER_PARAMETERS `
echo "trigger3DMuon.enabled=1;TMaxEvent_ns=15000;"`
25 set_variable FORMULA
"[0] + ([3]*( ([1]^(2*[4])) / (([1]*[1] + (2^(1/[4])-1) * ((x-[2])*(x-[2])) ) )))^[4]"
30 echo "Specify the list of string numbers to calibrate, separated by white spaces (example: <1 2 3>)"
36 for STRING
in "${STRINGS[@]}";
do
38 REMOVE[$REMOVE[(i)$STRING]]=()
41 for R in "${REMOVE[@]}
"; do
45 set_variable REDUCED_DETECTOR reduced.detx
47 set_variable GRAPH_TXT graph-time.txt
48 set_variable GRAPH_ROOT graph-time.root
49 set_variable FIT_TXT graph-fit.txt
50 set_variable FIT_ROOT graph-fit.root
52 rm -f ${WORKDIR}/${REDUCED_DETECTOR}
53 rm -f ${WORKDIR}/${GRAPH_TXT}
58 -o ${WORKDIR}/${REDUCED_DETECTOR} --!
60 for TIME_OFFSET_NS in -200 -100 -20 -5 0 +5 +20 +100 +200; do
63 -a ${WORKDIR}/${REDUCED_DETECTOR} \
64 -S "$STRING add $TIME_OFFSET_NS
" \
65 -o ${WORKDIR}/detector.detx --!
67 set_variable OUTPUT_FILE JTriggerProcessor.root
69 rm -f ${WORKDIR}/${OUTPUT_FILE}
72 -a ${WORKDIR}/detector.detx \
74 -C ${JDAQ_TIMESLICE} \
75 -@ ${TRIGGER_PARAMETERS} \
76 -o ${WORKDIR}/${OUTPUT_FILE} --!
78 set_variable N_TRIGGERS `JPrintTree -f ${WORKDIR}/${OUTPUT_FILE} | awk '/KM3NETDAQ::JDAQEvent/ { print $3} '`
80 printf "%5.3f %12.3f\n
" ${TIME_OFFSET_NS} ${N_TRIGGERS} >> ${WORKDIR}/${GRAPH_TXT}
85 -f ${WORKDIR}/${GRAPH_TXT} \
86 -o ${WORKDIR}/${GRAPH_ROOT}
89 -f ${WORKDIR}/${GRAPH_ROOT}:\.\* \
90 -o ${WORKDIR}/${FIT_ROOT} \
97 -d1 >> ${WORKDIR}/${FIT_TXT} 2>&1
99 set_variable OPTIMAL_OFFSET `JTestFit -f ${WORKDIR}/${FIT_ROOT}:${GRAPH_TXT} -@ "p2 -1000 1000
" -d 3 | awk '/p2/ {print $2}'`
101 echo "JEditDetector -
a ${
DETECTOR} -
S \
"$STRING_ID add $OPTIMAL_OFFSET\" -o ${WORKDIR}/${OUTPUT_DETECTOR} --!"
do REMOVE[$REMOVE[(i)$STRING]]
void set_variable(const std::string &name, const std::string &value)
Set environment variable.
*fatal Wrong number of arguments esac check_input_file $INPUT_FILE for TIMESLICE in JDAQTimeslice JDAQTimesliceL0 JDAQTimesliceL1 JDAQTimesliceL2 JDAQTimesliceSN
bool read(Vec &v, std::istream &is)
Read a Vec(tor) from a stream.
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
fi JEventTimesliceWriter a
&set_variable JDAQ_TIMESLICE
do montage tile geometry tmp
*fatal Invalid number of arguments esac set_variable TYPE F eval JPrintDetector a $DETECTOR O SUMMARY attach getModule a $DETECTOR typeset Z STRING typeset Z FLOOR for STRING in $STRINGS[*]
then fatal Not enough arguments fi set_variable DETECTOR $argv[1] INPUT_FILES
then usage $script[distance] fi case set_variable R
*set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2,-2] set_variable OUTPUT_FILE $argv[-1]
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
*fatal Wrong number of arguments esac cp v $DETECTOR $WORKDIR detector detx for((i=0;$i!=2;++i))
then usage $script< detector file >< inputfile > fi case set_variable WORKDIR
source $JPP_DIR setenv csh $JPP_DIR eval JShellParser o a A
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null