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
 
   23 set_variable+  ANGLE_DEPENDENCE  CALIBRATION_ANGLE_DEPENDENCE  -
D 
   24 set_variable+  NOISE_DEPENDENCE  CALIBRATION_NOISE_DEPENDENCE  -B
 
   26 set_variable:  MU                CALIBRATION_MU                0.25
 
   27 set_variable:  TOT_MIN_NS        CALIBRATION_TOT_MIN_NS        0.0
 
   28 set_variable:  TOT_MAX_NS        CALIBRATION_TOT_MAX_NS        35.0
 
   31     usage "$script <detector_file> (input file)+ <PMT parameters file>" 
   35     fatal 
"Wrong number of arguments." 
   48 eval `JPrintDetector -
a $DETECTOR -O IDENTIFIER`
 
   51 debug "$DETECTOR $DETECTOR_ID" 
   53 if [[ 
"$DETECTOR_ID" != [1-9][0-9]* ]]; 
then 
   54     fatal 
"Invalid detector identifier \"$DETECTOR_ID\"." 
   70         fatal 
"Inconsistent detector identifier $DETECTOR_ID != $ID." 
   75     debug "Run $RUN -> $SETUP." 
   80     if [[ -z 
"$SETUP" ]]; 
then 
   81         fatal 
"Missing setup identifier for run $RUN." 
   83     if [[ -
n "$RUNSETUPID" && $RUNSETUPID != $SETUP ]]; 
then 
   84         fatal 
"Inconsistent run setup identifiers $RUNSETUPID != $SETUP $RUN." 
   95     JPrintTree -
f${^
INPUT_FILES} |& eval 
awk \
'\{ if \( \$2 \~ \"${DAQ_TIMESLICE}$\" \) \{ printf \" %d\", \$3 \}\}\'  | read -A VALUES 
   97     if [[ -n "$VALUES" ]] && (( ${#VALUES} == ${#INPUT_FILES} )); then 
  102 if [[ -z "$VALUES" ]] || (( ${#VALUES} != ${#INPUT_FILES} )); then 
  103     fatal "No valid data in input file(s)." 
  124 # PMT gain and gain spread 
  126 set_variable  OUTPUT_FILE  $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RANGE[1]}-${(l:8::0::0:)RANGE[2]}_%.root 
  131     -o ${OUTPUT_FILE/\%/calibratetot}         \ 
  138     -f ${OUTPUT_FILE/\%/calibratetot}         \ 
  139     -o ${OUTPUT_FILE/\%/mergetot}             \ 
  146     -f ${OUTPUT_FILE/\%/mergetot}             \ 
  147     -o ${OUTPUT_FILE/\%/fittot}               \ 
  150     -x "$TOT_MIN_NS $TOT_MAX_NS"              \ 
  161     -o ${OUTPUT_FILE/\%/calibratek40}         \ 
  168     -f ${OUTPUT_FILE/\%/calibratek40}         \ 
  169     -o ${OUTPUT_FILE/\%/mergek40}             \ 
  176     -f ${OUTPUT_FILE/\%/mergek40}             \ 
  177     -o ${OUTPUT_FILE/\%/fitk40}               \ 
  193     -T "$TOT_MIN_NS $TOT_MAX_NS"              \ 
&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]
 
then fatal Wrong number of arguments fi set_variable ARCHIVE $argv[1] set_variable DETECTOR_ID $argv[2] set_variable VERSION $argv[3] RUN
 
std::istream & read(std::istream &in, JTestSummary &summary, const char delimiter= ' ')
Read test summary. 
 
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
 
do set_variable STRING_TXT awk
 
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
 
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
 
fi set_variable FILENAME $WORKDIR
 
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
 
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
 
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
 
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.