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
 
   23 set_variable  WORKDIR       $JPP_DATA
 
   24 set_variable  MAKE_PDF      0
 
   25 set_variable  MERGE_PDF     0
 
   26 set_variable  MAKE_CDF      0
 
   28 set_variable  BACKGROUND    
 
   30 set_variable  RMAX_M        999
 
   31 set_variable  absorptionLengthFactor   1.0
 
   32 set_variable  scatteringLengthFactor   1.0
 
   34 # check whether script is already running
 
   36 BUFFER=`get_pid $script`
 
   37 BUFFER=${BUFFER/${$}/}
 
   39 if [[ -n "${BUFFER/ */}" ]]; then
 
   40     notice "${script} already running <${BUFFER}>"
 
   45 # Method to print usage of script.
 
   49     print -u2 "$script \n\
 
   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
 
   68    d) set_variable DEBUG       $OPTARG;;
 
   69    W) set_variable WORKDIR     $OPTARG;;
 
   70    P) set_variable MAKE_PDF    1;;
 
   71    M) set_variable MERGE_PDF   1;;
 
   72    C) set_variable MAKE_CDF    1;;
 
   73    c) set_variable CLEAN       1;;
 
   74    B) set_variable BACKGROUND  \&;;
 
   75    w) set_variable WGET        $OPTARG;;
 
   77    A) set_variable absorptionLengthFactor  $OPTARG;;
 
   78    S) set_variable scatteringLengthFactor  $OPTARG;;
 
   79    R) set_variable RMAX_M      $OPTARG;;
 
   83 check_variable ROOTSYS JPP_DIR WORKDIR
 
   87 status "Start $script"
 
   90 if [[ -n $WGET ]]; then
 
   93     wget -A dat,txt,root,evt.gz -r -l 1 -nd -q $WGET 
 
   97 if (( $MAKE_PDF )); then
 
   99     check_process JMakePDF JMakePDG
 
  103         if [[ ! -f $WORKDIR/J1p.dat ]]; then
 
  104        eval nohup JMakePDF -F1 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J1p.dat -d $DEBUG $BACKGROUND
 
  106         if [[ ! -f $WORKDIR/J2p.dat ]]; then
 
  107        eval nohup JMakePDF -F2 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J2p.dat -d $DEBUG $BACKGROUND
 
  110    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 \
 
  111        11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 \
 
  112        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 \
 
  113        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 \
 
  114        170.0 190.0 210.0 230.0 250.0 270.0 290.0 310.0; do
 
  116        if (( $R <= $RMAX_M )); then
 
  118            if [[ ! -f $WORKDIR/J3p.dat ]]; then
 
  119                eval nohup JMakePDF -F3 -A $absorptionLengthFactor -S $scatteringLengthFactor -R $R -o $WORKDIR/J3p-$R.dat -d $DEBUG $BACKGROUND
 
  121            if [[ ! -f $WORKDIR/J4p.dat ]]; then
 
  122                eval nohup JMakePDF -F4 -A $absorptionLengthFactor -S $scatteringLengthFactor -R $R -o $WORKDIR/J4p-$R.dat -d $DEBUG $BACKGROUND
 
  127    if [[ ! -f $WORKDIR/J5p.dat ]]; then
 
  128        eval nohup JMakePDF -F5 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J5p.dat -d $DEBUG $BACKGROUND
 
  131    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 \
 
  132                      11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 \
 
  133                      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 \
 
  134                 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 \
 
  135                 170.0 190.0 210.0 230.0 250.0; do
 
  137        if (( $R <= $RMAX_M )); then
 
  139            if [[ ! -f $WORKDIR/J6p.dat ]]; then
 
  140                eval nohup JMakePDF -F6 -A $absorptionLengthFactor -S $scatteringLengthFactor -R $R -o $WORKDIR/J6p-$R.dat -d $DEBUG $BACKGROUND
 
  145    if [[ ! -f $WORKDIR/J13p.dat ]]; then
 
  146        eval nohup JMakePDG -F13 -A $absorptionLengthFactor -S $scatteringLengthFactor -o $WORKDIR/J13p.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 \
 
  153        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
 
  155        if (( $D <= $DMAX_M )); then
 
  156            if [[ ! -f $WORKDIR/J14p.dat ]]; then
 
  157                eval nohup JMakePDG -F14 -A $absorptionLengthFactor -S $scatteringLengthFactor -D $D -o $WORKDIR/J14p-$D.dat -d $DEBUG $BACKGROUND
 
  166 if (( $MERGE_PDF )); then
 
  168     if [[ ! -f $WORKDIR/J3p.dat ]]; then
 
  170    FILE_LIST=`ls $WORKDIR/J3p-*.dat`
 
  172    JMergePDF -f $FILE_LIST -o $WORKDIR/J3p.dat  -d $DEBUG
 
  175     if [[ ! -f $WORKDIR/J4p.dat ]]; then
 
  177    FILE_LIST=`ls $WORKDIR/J4p-*.dat`
 
  179    JMergePDF -f $FILE_LIST -o $WORKDIR/J4p.dat  -d $DEBUG
 
  182     if [[ ! -f $WORKDIR/J6p.dat ]]; then
 
  184    FILE_LIST=`ls $WORKDIR/J6p-*.dat`
 
  186    JMergePDF -f $FILE_LIST -o $WORKDIR/J6p.dat  -d $DEBUG
 
  189     if [[ ! -f $WORKDIR/J14p.dat ]]; then
 
  191    FILE_LIST=`ls $WORKDIR/J14p-*.dat`
 
  193    JMergePDG -f $FILE_LIST -o $WORKDIR/J14p.dat -d $DEBUG
 
  198 if (( $MAKE_CDF )); then
 
  200     check_process JMakeCDF JMakeCDG
 
  202     if [[ ! -f $WORKDIR/I1p.dat ]]; then
 
  203    JMakeCDF -f $WORKDIR/J1p.dat  -e 1e-5 -o $WORKDIR/I1p.dat  -d $DEBUG
 
  205     if [[ ! -f $WORKDIR/I2p.dat ]]; then
 
  206    JMakeCDF -f $WORKDIR/J2p.dat  -e 1e-4 -o $WORKDIR/I2p.dat  -d $DEBUG
 
  208     if [[ ! -f $WORKDIR/I5p.dat ]]; then
 
  209    JMakeCDF -f $WORKDIR/J5p.dat  -e 1e-5 -o $WORKDIR/I5p.dat  -d $DEBUG
 
  211     if [[ ! -f $WORKDIR/I6p.dat ]]; then
 
  212    JMakeCDF -f $WORKDIR/J6p.dat  -e 1e-5 -o $WORKDIR/I6p.dat  -d $DEBUG
 
  214     if [[ ! -f $WORKDIR/I13p.dat ]]; then
 
  215    JMakeCDG -f $WORKDIR/J13p.dat -e 1e-5 -o $WORKDIR/I13p.dat -d $DEBUG
 
  217     if [[ ! -f $WORKDIR/I14p.dat ]]; then
 
  218    JMakeCDG -f $WORKDIR/J14p.dat -e 1e-5 -o $WORKDIR/I14p.dat -d $DEBUG
 
  222 if (( $CLEAN )); then
 
  224     if ( rm -f $WORKDIR/J*p-*.dat ); then; fi