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
35 # check whether
script is already running
40 if [[ -
n "${BUFFER/ */}" ]];
then
41 notice
"${script} already running <${BUFFER}>"
46 # Method to print usage of script.
53 "-d <debug level> \n"\
54 "-W <working directory PDF and CDF tables> \n"\
55 "-P create PDF tables \n"\
56 "-M merge PDF tables \n"\
57 "-C convert PDF tables to CDF tables \n"\
58 "-c clean PDF tables \n"\
59 "-B parallel running of jobs in background \n"\
60 "-w download files from git server \n"\
61 "-R <maximal distance between muon and PMT> \n"\
62 "Note that the elongated EM shower PDF is created at option -M."
66 # Parse command line options.
68 while getopts
"d:W:PMCcBw:hA:S:R:" option;
do
85 check_variable ROOTSYS JPP_DIR
WORKDIR
90 fatal
"Directory $WORKDIR does not exist."
93 status
"Start $script"
96 if [[ -
n $WGET ]];
then
99 wget -
A dat,
txt,
root,evt.gz -
r -l 1 -nd -q $WGET
103 if (( $MAKE_PDF ));
then
105 check_process JMakePDF JMakePDG
110 eval nohup JMakePDF -
F1 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
o $WORKDIR/J1p.dat -
d $DEBUG $BACKGROUND
113 eval nohup JMakePDF -F2 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
o $WORKDIR/J2p.dat -
d $DEBUG $BACKGROUND
116 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 \
117 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 \
118 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 \
119 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 \
120 170.0 190.0 210.0 230.0 250.0 270.0 290.0 310.0;
do
122 if (( $R <= $RMAX_M ));
then
125 eval nohup JMakePDF -F3 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
R $R -
o $WORKDIR/J3p-$R.dat -
d $DEBUG $BACKGROUND
128 eval nohup JMakePDF -F4 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
R $R -
o $WORKDIR/J4p-$R.dat -
d $DEBUG $BACKGROUND
134 eval nohup JMakePDF -F5 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
o $WORKDIR/J5p.dat -
d $DEBUG $BACKGROUND
137 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 \
138 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 \
139 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 \
140 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 \
141 170.0 190.0 210.0 230.0 250.0;
do
143 if (( $R <= $RMAX_M ));
then
146 eval nohup JMakePDF -F6 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
R $R -
o $WORKDIR/J6p-$R.dat -
d $DEBUG $BACKGROUND
151 let
"DMAX_M = ${RMAX_M}*1.5"
153 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 \
154 120.0 150.0 170.0 190.0 210.0 230.0 250.0 270.0 290.0 310.0;
do
156 if (( $D <= $DMAX_M ));
then
158 eval nohup JMakePDG -F12 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
D $D -
o $WORKDIR/J12p-$D.dat -
d $DEBUG $BACKGROUND
164 eval nohup JMakePDG -F13 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
o $WORKDIR/J13p.dat -
d $DEBUG $BACKGROUND
167 let
"DMAX_M = ${RMAX_M}*1.5"
169 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 \
170 120.0 150.0 170.0 190.0 210.0 230.0 250.0 270.0 290.0 310.0 \
171 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
173 if (( $D <= $DMAX_M ));
then
175 eval nohup JMakePDG -F14 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
D $D -
o $WORKDIR/J14p-$D.dat -
d $DEBUG $BACKGROUND
181 eval nohup JMakePD0 -F23 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
o $WORKDIR/J23p.dat -
d $DEBUG $BACKGROUND
184 eval nohup JMakePD0 -F24 -
A $absorptionLengthFactor -
S $scatteringLengthFactor -
o $WORKDIR/J24p.dat -
d $DEBUG $BACKGROUND
191 if (( $MERGE_PDF ));
then
197 JMergePDF -
f $FILE_LIST -
o $WORKDIR/J3p.dat -
d $DEBUG
204 JMergePDF -
f $FILE_LIST -
o $WORKDIR/J4p.dat -
d $DEBUG
211 JMergePDF -
f $FILE_LIST -
o $WORKDIR/J6p.dat -
d $DEBUG
218 JMergePDG -
f $FILE_LIST -
o $WORKDIR/J12p.dat -
d $DEBUG
225 JMergePDG -
f $FILE_LIST -
o $WORKDIR/J14p.dat -
d $DEBUG
235 if (( $MAKE_CDF ));
then
237 check_process JMakeCDF JMakeCDG
262 if (( $CLEAN ));
then
const JPolynome F1
Integral.
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
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 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
double scatteringLengthFactor
esac typeset A BUFFER $JPP_DIR examples JAcoustics JCreep f $INPUT_FILE 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 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
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
#define DEBUG(A)
Message macros.