7 # ------------------------------------------------------------------------------------------ 
    9 #          Utility script to compare two detectors and to create graphics output. 
   11 # ------------------------------------------------------------------------------------------ 
   13 if [ -
z $JPP_DIR ]; 
then 
   14     echo "Variable JPP_DIR undefined." 
   18 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/
null 
   25 set_variable:  ORIENTATION    PRECISION_ORIENTATION   0.01    # [rad]
 
   30     usage "$script <detector file>  <detector file> [<lower floor>-<upper floor>]"\
 
   31           "\nIf the range of floors is specified, the first detector file is aligned to the second before the comparison."\
 
   32           "\nIn this, only modules within the given range of floors are used." 
   38     *) fatal 
"Wrong number of arguments." 
   41 if [[ 
"$RANGE" == [0-9]*
"-"[0-9]* ]]; 
then 
   43     JConvertDetectorFormat \
 
   54         -
r "${RANGE%%-*} ${RANGE##*-}"        \
 
   68     -p 
"position    = $POSITION"          \
 
   69     -p 
"orientation = $ORIENTATION"       \
 
   91         -
o ${KEY}.$FORMAT                 $BATCH
 
  103         echo "Processing string $STRING $KEY" 
  105         let 
"XMIN = $i - 1 - 0.5" 
  106         let 
"XMAX = $i - 1 + 0.5" 
  119         -\^ 
"#Delta${(L)KEY} [m]"                        \
 
  126         -
o ${KEY}1.$FORMAT --!                           $BATCH
 
*fatal Wrong number of arguments esac source JAcousticsToolkit sh mkdir p $WORKDIR post calibration pushd $WORKDIR post calibration post calibration_D0ARCA021 sh $DIR popd set_variable DETECTOR $WORKDIR post calibration detector datx set_variable TRIPOD $WORKDIR post calibration tripod txt set_variable DETECTOR_INITIAL detector_initial datx expand_array RUNS mkdir p $HOMEDIR cd $HOMEDIR JDetectorDB D $DETECTOR_ID r $RUNS[1] V WW o $DETECTOR_INITIAL JEditDetector a $DETECTOR r o detector_tmp datx!eval JPrintDetector a $DETECTOR_INITIAL O SUMMARY
 
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]
 
clean eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable STRING
 
then usage eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID JCanberra sh $DETECTOR $INPUT_FILES[*] $WORKDIR canberra[%\] root source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS kill_child_processes_at_exit attach getModule a $DETECTOR typeset Z STRING typeset Z FLOOR for STRING in $STRINGS[*]
 
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTORXY_TXT $WORKDIR $DETECTORXY_TXT tail read X Y CHI2 RMS printf optimum n $X $Y $CHI2 $RMS awk v Y
 
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
 
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR if do_usage *then usage $script[(input file)+] fi set_variable DEBUG set_variable WORKDIR TMPDIR
 
do echo n Creating graphics for string $STRING HISTOGRAMS
 
do set_variable OUTPUT_DIRECTORY $WORKDIR T
 
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
 
set_array INPUT_FILES argv[2,$((START_INDEX_STRING-1))] set_array STRINGS
 
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
 
then usage $script[energy[distance[z of PMT]]] fi case set_variable z
 
then fatal The output file must have the wildcard in the e g root fi 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
 
then JHobbit a $DETECTOR f
 
no fit printf nominal n $STRING awk v X
 
do set_variable MODULE getModule a $WORKDIR detector_a datx L $STRING JEditDetector a $WORKDIR detector_a datx M $MODULE setz o $WORKDIR detector_a datx JEditDetector a $WORKDIR detector_b datx M $MODULE setz o $WORKDIR detector_b datx done echo Output stored at $WORKDIR detector_a datx and $WORKDIR tripod_a txt JDrawDetector2D a $WORKDIR detector_a datx a $WORKDIR detector_b datx L BL o detector $FORMAT $BATCH JDrawDetector2D T $WORKDIR tripod_a txt T $WORKDIR tripod_b txt L BL o tripod $FORMAT $BATCH JCompareDetector a $WORKDIR detector_a datx b $WORKDIR detector_b datx o $WORKDIR abc root &dev null for KEY in X Y Z
 
do set_variable DETECTOR_TXT $WORKDIR detector
 
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
 
then getFile sh $JPP_ARCHIVE $DETECTOR_ID $RUNS[1] $KEY $VERSION $WORKDIR
 
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
 
then fatal Invalid detector identifier $DETECTOR_ID fi set_variable RUNSETUPID typeset a RANGE RANGE[1]
 
#define DEBUG(A)
Message macros.