4if [ -z $JPP_DIR ]; then
5 echo "Variable JPP_DIR undefined."
9source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
12 usage "$script <detector file> <input file>+ <string number>+"
16 fatal "Not enough arguments."
19set_variable INDEX_STRING_START -1
21while [[ ${${argv[${START_INDEX_STRING}]}##*.} != "root" ]]; do
22 set_variable START_INDEX_STRING $(( START_INDEX_STRING - 1 ))
25set_variable DETECTOR ${argv[1]}
26set_array INPUT_FILES ${argv[2, $(( START_INDEX_STRING - 1 )) ]}
27set_array STRINGS ${argv[ $(( START_INDEX_STRING )), -1 ]}
29set_variable TRIGGER_PARAMETERS `echo "trigger3DMuon.enabled=1;TMaxEvent_ns=15000;"`
30set_variable JDAQ_TIMESLICE JDAQTimesliceSN
31set_variable FORMULA "[0] + ([3]*( ([1]^(2*[4])) / (([1]*[1] + (2^(1/[4])-1) * ((x-[2])*(x-[2])) ) )))^[4]"
32set_variable WORKDIR ${TMPDIR:-/tmp}
40for STRING in "${STRINGS[@]}"; do
42 REMOVE[$REMOVE[(i)$STRING]]=()
45 for R in "${REMOVE[@]}"; do
49 set_variable REDUCED_DETECTOR reduced.detx
51 set_variable GRAPH_TXT graph-time.txt
52 set_variable GRAPH_ROOT graph-time.root
53 set_variable FIT_TXT graph-fit.txt
54 set_variable FIT_ROOT graph-fit.root
56 rm -f ${WORKDIR}/${REDUCED_DETECTOR}
57 rm -f ${WORKDIR}/${GRAPH_TXT}
62 -o ${WORKDIR}/${REDUCED_DETECTOR} --!
64 for TIME_OFFSET_NS in -200 -100 -20 -5 0 +5 +20 +100 +200; do
67 -a ${WORKDIR}/${REDUCED_DETECTOR} \
68 -s "$STRING add $TIME_OFFSET_NS" \
69 -o ${WORKDIR}/detector.detx --!
71 set_variable OUTPUT_FILE JTriggerProcessor.root
73 rm -f ${WORKDIR}/${OUTPUT_FILE}
76 -a ${WORKDIR}/detector.detx \
78 -C ${JDAQ_TIMESLICE} \
79 -@ ${TRIGGER_PARAMETERS} \
80 -o ${WORKDIR}/${OUTPUT_FILE} --!
82 set_variable N_TRIGGERS `JPrintTree -f ${WORKDIR}/${OUTPUT_FILE} -@ "type = JDAQEvent" -k number_of_entries`
84 printf "%5.3f %12.3f\n" ${TIME_OFFSET_NS} ${N_TRIGGERS} >> ${WORKDIR}/${GRAPH_TXT}
89 -f ${WORKDIR}/${GRAPH_TXT} \
90 -o ${WORKDIR}/${GRAPH_ROOT}
93 -f ${WORKDIR}/${GRAPH_ROOT}:\.\* \
94 -o ${WORKDIR}/${FIT_ROOT} \
101 -d1 >> ${WORKDIR}/${FIT_TXT} 2>&1
103 set_variable OPTIMAL_OFFSET `JTestFit -f ${WORKDIR}/${FIT_ROOT}:${GRAPH_TXT} -@ "p2 -1000 1000" -d 3 | awk '/p2/ {print $2}'`
107 -s "$STRING add $OPTIMAL_OFFSET" \
110 OUTPUT_OFFSETS="${OUTPUT_OFFSETS} JEditDetector -a ${DETECTOR} -S \"$STRING add $OPTIMAL_OFFSET\" -o ${WORKDIR}/${OUTPUT_DETECTOR} --! \n"
114echo -e "${OUTPUT_OFFSETS}"