8 # ------------------------------------------------------------------------------------------
10 # Utility script to plot JDomino results.
12 # ------------------------------------------------------------------------------------------
14 if [ -z $JPP_DIR ];
then
15 echo "Variable JPP_DIR undefined."
19 source $JPP_DIR/setenv.sh $JPP_DIR
29 usage "$script (input file)+"
32 if (( $# == 0 ));
then
33 fatal
"No input files."
41 -
f "${INPUT_FILES//\.root/.root:job}" \
46 -
T "Average number of photo-electrons per event by a track_in" \
54 -
f "${INPUT_FILES//\.root/.root:trks$}" \
56 -\^
"number of tracks" \
59 -
T "Average occurrence of a track_in per event" \
67 -
f "${INPUT_FILES//\.root/.root:hits_per_E_in}" \
74 -
T "Average number of photo-elecrons per event inside the instrumented volume" \
81 -
f "${INPUT_FILES//\.root/.root:pmt}" \
85 -\^
"number of hits [a.u.]" \
87 -
T "number of photo-electrons per PMT" \
100 for (( XL = $XMIN; $XL < $XMAX; XL += $DX ));
do
104 LABEL=`printf
'10^{%3.1f} GeV < E_{#nu} < 10^{%3.1f} GeV' $XL $XR`
107 -
f "${INPUT_FILES//\.root/.root:${TH2}}" \
111 -z
"$ZMIN $ZMAX" -
Z \
122 $WORKDIR/${TH2}_*.$FORMAT \
$WORKDIR/${TH2}.$FORMAT >& /dev/
null
126 if [[
"$BATCH" !=
"-B" ]];
then
140 for (( XL = $XMIN; $XL < $XMAX; XL += $DX ));
do
144 LABEL=`printf
'10^{%3.1f} GeV < E_{#nu} < 10^{%3.1f} GeV' $XL $XR`
147 -
f "${INPUT_FILES//\.root/.root:${TH2}}" \
150 -z
"$ZMIN $ZMAX" -
Z \
151 -\>
"cos(#theta_{0})" \
161 $WORKDIR/${TH2}_*.$FORMAT \
$WORKDIR/${TH2}.$FORMAT >& /dev/
null
165 if [[
"$BATCH" !=
"-B" ]];
then
181 for (( XL = $XMIN; $XL < $XMAX; XL += $DX ));
do
185 LABEL=`printf
'%3.0f m < D < %3.0f m' $XL $XR`
187 CD=`printf
'%.0f' ${XL}`
190 -
f "${INPUT_FILES//\.root/.root:${TH2}}" \
193 -z
"$ZMIN $ZMAX" -
Z \
194 -\>
"cos(#theta_{0})" \
204 $WORKDIR/${TH2}_*.$FORMAT \
$WORKDIR/${TH2}.$FORMAT >& /dev/
null
208 if [[
"$BATCH" !=
"-B" ]];
then
224 for (( XL = $XMIN; $XL < $XMAX; XL += $DX ));
do
228 LABEL=`printf
'%3.0f m < D < %3.0f m' $XL $XR`
230 CD=`printf
'%.0f' ${XL}`
233 -
f "${INPUT_FILES//\.root/.root:${TH2}}" \
236 -z
"$ZMIN $ZMAX" -
Z \
237 -\>
"cos(#theta_{1})" \
247 $WORKDIR/${TH2}_*.$FORMAT \
$WORKDIR/${TH2}.$FORMAT >& /dev/
null
251 if [[
"$BATCH" !=
"-B" ]];
then
267 for (( XL = $XMIN; $XL < $XMAX; XL += $DX ));
do
271 LABEL=`printf
'%3.0f m < D < %3.0f m' $XL $XR`
273 CD=`printf
'%.0f' ${XL}`
276 -
f "${INPUT_FILES//\.root/.root:${TH2}}" \
280 -z
"$ZMIN $ZMAX" -
Z \
291 $WORKDIR/${TH2}_*.$FORMAT \
$WORKDIR/${TH2}.$FORMAT >& /dev/
null
295 if [[
"$BATCH" !=
"-B" ]];
then
310 for (( XL = $XMIN; $XL < $XMAX; XL += $DX ));
do
314 LABEL=`printf
'10^{%3.1f} GeV < E_{#mu} < 10^{%3.1f} GeV' $XL $XR`
317 -
f "${INPUT_FILES//\.root/.root:${TH2}}" \
321 -z
"$ZMIN $ZMAX" -
Z \
332 $WORKDIR/${TH2}_*.$FORMAT \
$WORKDIR/${TH2}.$FORMAT >& /dev/
null
336 if [[
"$BATCH" !=
"-B" ]];
then
352 for (( XL = $XMIN; $XL < $XMAX; XL += $DX ));
do
356 LABEL=`printf
'%3.0f m < R < %3.0f m' $XL $XR`
358 CD=`printf
'%.0f' ${XL}`
361 -
f "${INPUT_FILES//\.root/.root:${TH2}}" \
364 -z
"$ZMIN $ZMAX" -
Z \
365 -\>
"cos(#theta_{1})" \
375 $WORKDIR/${TH2}_*.$FORMAT \
$WORKDIR/${TH2}.$FORMAT >& /dev/
null
379 if [[
"$BATCH" !=
"-B" ]];
then
395 for (( XL = $XMIN; $XL < $XMAX; XL += $DX ));
do
399 LABEL=`printf
'%3.0f m < R < %3.0f m' $XL $XR`
401 CD=`printf
'%.0f' ${XL}`
404 -
f "${INPUT_FILES//\.root/.root:${TH2}}" \
408 -z
"$ZMIN $ZMAX" -
Z \
419 $WORKDIR/${TH2}_*.$FORMAT \
$WORKDIR/${TH2}.$FORMAT >& /dev/
null
423 if [[
"$BATCH" !=
"-B" ]];
then
429 *set_variable DETECTOR_ID $argv[1] set_array RUNS $argv[2,-2]
o $QUALITY_ROOT d $DEBUG!JPlot1D f
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 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 break fi done getCenter read X Y Z let X
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
do sput $STRING $FLOOR sget MODULE INPUT_FILES
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
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
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
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null