3 # \author rgruiz, mdejong
7 # ------------------------------------------------------------------------------------------
9 # Script to run complete PMT calibration.
11 # ------------------------------------------------------------------------------------------
13 if [ -z $JPP_DIR ];
then
14 echo "Variable JPP_DIR undefined."
18 source $JPP_DIR/setenv.sh $JPP_DIR
21 usage "$script <detector_file> (input file)+ <PMT parameters file>"
29 fatal
"Wrong number of arguments."
42 eval `JPrintDetector -
a $DETECTOR -O IDENTIFIER`
44 debug "$DETECTOR $DETECTOR_ID"
46 if [[
"$DETECTOR_ID" != [1-9][0-9]* ]];
then
47 fatal
"Invalid detector identifier \"$DETECTOR_ID\"."
62 if (( $DETECTOR_ID != $ID ));
then
63 fatal
"Inconsistent detector identifier $DETECTOR_ID != $ID."
66 JRuns -
D $DETECTOR_ID -@
"RUN = $RUN" -
F RUNSETUPID |
read SETUP
68 debug "Run $RUN -> $SETUP."
70 if (( $RUN < $RANGE[1] ));
then;
RANGE[1]=$RUN; fi
71 if (( $RUN > $RANGE[2] ));
then;
RANGE[2]=$RUN; fi
73 if [[ -z
"$SETUP" ]];
then
74 fatal
"Missing setup identifier for run $RUN."
76 if [[ -
n "$RUNSETUPID" && $RUNSETUPID != $SETUP ]];
then
77 fatal
"Inconsistent run setup identifiers $RUNSETUPID != $SETUP."
88 JPrintTree -
f${^
INPUT_FILES} |& eval
awk \
'\{ if \( \$2 \~ \"${DAQ_TIMESLICE}$\" \) \{ printf \" %d\", \$3 \}\}\' | read -A VALUES
90 if [[ -n "$VALUES" ]] && (( ${#VALUES} == ${#INPUT_FILES} )); then
95 if [[ -z "$VALUES" ]] || (( ${#VALUES} != ${#INPUT_FILES} )); then
96 fatal "No valid data in input file(s)."
117 # PMT gain and gain spread
119 set_variable OUTPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RANGE[1]}-${(l:8::0::0:)RANGE[2]}_calibratetot.root
130 set_variable INPUT_FILE $OUTPUT_FILE
131 set_variable OUTPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RANGE[1]}-${(l:8::0::0:)RANGE[2]}_mergetot.root
140 set_variable INPUT_FILE $OUTPUT_FILE
141 set_variable OUTPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RANGE[1]}-${(l:8::0::0:)RANGE[2]}_fittot.root
154 set_variable OUTPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RANGE[1]}-${(l:8::0::0:)RANGE[2]}_calibratek40.root
170 set_variable INPUT_FILE $OUTPUT_FILE
171 set_variable OUTPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RANGE[1]}-${(l:8::0::0:)RANGE[2]}_mergek40.root
180 set_variable INPUT_FILE $OUTPUT_FILE
181 set_variable OUTPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RANGE[1]}-${(l:8::0::0:)RANGE[2]}_fitk40.root
&set_variable DAQ_TIMESLICE
then usage $script< detector >< run >< outputfile > fi case set_variable OPTION
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]
std::istream & read(std::istream &in, JTestSummary &summary, const char delimiter= ' ')
Read test summary.
o $QUALITY_ROOT d $DEBUG!JPlot1D f
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
do set_variable STRING_TXT awk
then rm i $OUTPUT_FILE fi let RUN
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR set_variable DEBUG set_variable WORKDIR if do_usage *then usage for INPUT_FILE in $INPUT_FILES[*]
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
then JFileTuna f $INPUT_FILE
do sput $STRING $FLOOR sget MODULE INPUT_FILES
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
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 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 JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
do echo Generating $dir eval D
then fatal Invalid detector identifier $DETECTOR_ID fi set_variable RUNSETUPID typeset a RANGE RANGE[1]
#define DEBUG(A)
Message macros.