5 # utility script to produce PDF and CDF tables. 
    9 # ------------------------------------------------------------------------------------------ 
   11 #                 Utility script to produce PDF and CDF tables. 
   13 # ------------------------------------------------------------------------------------------ 
   15 if [ -z $JPP_DIR ]; 
then 
   16     echo "Variable JPP_DIR undefined." 
   20 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/
null 
   34 # check whether script is already running 
   39 if [[ -
n "${BUFFER/ */}" ]]; 
then 
   40     notice 
"${script} already running <${BUFFER}>" 
   45 # Method to print usage of script. 
   51         -W <working directory PDF and CDF tables>                     \n\ 
   52         -P create  PDF tables                                         \n\ 
   53         -M merge   PDF tables                                         \n\ 
   54         -C convert PDF tables to CDF tables                           \n\ 
   55         -c clean   PDF tables                                         \n\ 
   56         -B parallel running of jobs in background                     \n\ 
   57         -w download files from git server                             \n\ 
   58         -R <maximal distance between muon and PMT>                    \ 
   64 # Parse command line options. 
   66 while getopts 
"d:W:PMCcBw:hA:S:R:" option; 
do 
   83 check_variable ROOTSYS JPP_DIR 
WORKDIR 
   88     fatal 
"Directory $WORKDIR does not exist." 
   91 status 
"Start $script" 
   94 if [[ -
n $WGET ]]; 
then 
   97     wget -
A dat,
txt,
root,evt.gz -
r -l 1 -nd -q $WGET 
 
  101 if (( $MAKE_PDF )); 
then 
  103     check_process JMakePDF JMakePDG
 
  108             eval nohup JMakePDF -F1 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
o $WORKDIR/J1p.dat -
d $DEBUG $BACKGROUND
 
  111             eval nohup JMakePDF -F2 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
o $WORKDIR/J2p.dat -
d $DEBUG $BACKGROUND
 
  114         for R in 0.1 0.3 0.5 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 \
 
  115             11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 \
 
  116             22.0 24.0 26.0 28.0 30.0 32.0 34.0 36.0 38.0 40.0 42.0 44.0 46.0 48.0 50.0 \
 
  117             55.0 60.0 65.0 70.0 75.0 80.0 85.0 90.0 95.0 100.0 110.0 120.0 130.0 140.0 150.0 \
 
  118             170.0 190.0 210.0 230.0 250.0 270.0 290.0 310.0; 
do 
  120             if (( $R <= $RMAX_M )); 
then 
  123                     eval nohup JMakePDF -F3 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
R $R -
o $WORKDIR/J3p-$R.dat -
d $DEBUG $BACKGROUND
 
  126                     eval nohup JMakePDF -F4 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
R $R -
o $WORKDIR/J4p-$R.dat -
d $DEBUG $BACKGROUND
 
  132             eval nohup JMakePDF -F5 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
o $WORKDIR/J5p.dat -
d $DEBUG $BACKGROUND
 
  135         for R in 0.1 0.3 0.5 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 \
 
  136                      11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 \
 
  137                      22.0 24.0 26.0 28.0 30.0 32.0 34.0 36.0 38.0 40.0 42.0 44.0 46.0 48.0 50.0 \
 
  138                      55.0 60.0 65.0 70.0 75.0 80.0 85.0 90.0 95.0 100.0 110.0 120.0 130.0 140.0 150.0 \
 
  139                      170.0 190.0 210.0 230.0 250.0; 
do 
  141             if (( $R <= $RMAX_M )); 
then 
  144                     eval nohup JMakePDF -F6 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
R $R -
o $WORKDIR/J6p-$R.dat -
d $DEBUG $BACKGROUND
 
  149         let DMAX_M=
"${RMAX_M}*1.5" 
  151         for D in 0.1 0.5 1.0 5.0 10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 100.0 \
 
  152             120.0 150.0 170.0 190.0 210.0 230.0 250.0 270.0 290.0 310.0; 
do 
  154             if (( $D <= $DMAX_M )); 
then 
  156                     eval nohup JMakePDG -F12 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
D $D -
o $WORKDIR/J12p-$D.dat -
d $DEBUG $BACKGROUND
 
  162             eval nohup JMakePDG -F13 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
o $WORKDIR/J13p.dat -
d $DEBUG $BACKGROUND
 
  165         let DMAX_M=
"${RMAX_M}*1.5" 
  167         for D in 0.1 0.5 1.0 5.0 10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 100.0 \
 
  168             120.0 150.0 170.0 190.0 210.0 230.0 250.0 270.0 290.0 310.0 \
 
  169             340.0 370.0 400.0 430.0 460.0 490.0 520.0 550.0 600.0 650.0 700.0 750.0 800.0; 
do 
  171             if (( $D <= $DMAX_M )); 
then 
  173                     eval nohup JMakePDG -F14 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
D $D -
o $WORKDIR/J14p-$D.dat -
d $DEBUG $BACKGROUND
 
  179             eval nohup JMakePD0 -F23 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
o $WORKDIR/J23p.dat -
d $DEBUG $BACKGROUND
 
  182             eval nohup JMakePD0 -F24 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
o $WORKDIR/J24p.dat -
d $DEBUG $BACKGROUND
 
  189 if (( $MERGE_PDF )); 
then 
  195         JMergePDF -
f $FILE_LIST -
o $WORKDIR/J3p.dat  -
d $DEBUG
 
  202         JMergePDF -
f $FILE_LIST -
o $WORKDIR/J4p.dat  -
d $DEBUG
 
  209         JMergePDF -
f $FILE_LIST -
o $WORKDIR/J6p.dat  -
d $DEBUG
 
  216         JMergePDG -
f $FILE_LIST -
o $WORKDIR/J12p.dat -
d $DEBUG
 
  223         JMergePDG -
f $FILE_LIST -
o $WORKDIR/J14p.dat -
d $DEBUG
 
  228 if (( $MAKE_CDF )); 
then 
  230     check_process JMakeCDF JMakeCDG
 
  255 if (( $CLEAN )); 
then 
then usage $script< directory A >< directoryB > nIn each there should be a file detector datx and tripod txt
 
o $QUALITY_ROOT d $DEBUG!JPlot1D f
 
double absorptionLengthFactor
Scaling of absorption and scattering length. 
 
static const double C
Physics constants. 
 
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
 
set_variable NUMBER_OF_ITERATIONS set_variable EPSILON cat acoustics_fit_parameters txt<< EOF $CONFIGURATION[*]Nmin=3;sigma_s=100.0e-6;stdev=10.0;mestimator=0;fixStrings=0;EOF for STRING in $STRINGS[*];do#fit stretching and(z) position of given string set_variable DETECTOR_TMP ${TMPDIR:-/tmp}/detector_A.datx JEditDetector-a $DETECTOR-o $DETECTOR_TMP-r $STRING JEditDetector-a $DETECTOR-o $DETECTOR-k $STRING for MUL in 0.005 0.001;do DX_M=0.2 for((N=0;$N< $NUMBER_OF_ITERATIONS;++N));do CHI2[3]=$CHI2[1] fitPositionOfString $STRING Z $DX_M fitStretchingOfString $STRING $MUL if(($CHI2[3]-$CHI2[1]< $EPSILON));then break fi done if(($N >=$NUMBER_OF_ITERATIONS));then printf"warning: reached maximum number of iterations %d - converenge %7.3f\n"$N $(($CHI2[3]-$CHI2[1])) fi done JMergeDetector-a $DETECTOR-a $DETECTOR_TMP-o $DETECTOR rm-f $DETECTOR_TMP JConvertDetectorFormat-a $DETECTOR-o $DETECTOR-r-d 0 > &dev null done
 
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
 
then JConvertDetectorFormat a $DETECTOR[1] o
 
then usage $script[distance] fi case set_variable R
 
do set_variable SIGMA_NS set_variable OUTLIERS set_variable OUTPUT_FILE matrix[${ALPHA_DEG}\deg\] root $JPP JMatrixNZ a $DETECTOR f $INPUT_FILE o $OUTPUT_FILE S
 
do JPlot2D f $WORKDIR detector root
 
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
 
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 $script(input file)+" fi if (( $ fatal "Invalid number of arguments." fi JCookie.sh set_array INPUT_FILES $argv[1
 
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
 
double scatteringLengthFactor
 
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR $JPP_DATA set_variable MAKE_PDF set_variable MERGE_PDF set_variable MAKE_CDF set_variable CLEAN set_variable BACKGROUND set_variable WGET set_variable RMAX_M set_variable absorptionLengthFactor set_variable scatteringLengthFactor BUFFER
 
$WORKDIR ev_configure_domsimulator txt echo process $DOM_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DOM_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
 
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 source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
 
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
 
do echo Generating $dir eval D
 
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null