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)." 
  109 # PMT gain and gain spread 
  111 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 
  122 set_variable  INPUT_FILE   $OUTPUT_FILE 
  123 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 
  132 set_variable  INPUT_FILE   $OUTPUT_FILE 
  133 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 
  146 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 
  162 set_variable  INPUT_FILE   $OUTPUT_FILE 
  163 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 
  172 set_variable  INPUT_FILE   $OUTPUT_FILE 
  173 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.