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 then usage $script< detector file >< detectorfile > nIf the range of floors is the first detector file is aligned to the second before the comparison nIn only modules within the given range of floors are used fi case set_variable RANGE $argv[3]
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