3# \author mdejong, bofearraigh
7# ------------------------------------------------------------------------------------------
9# Utility script to plot fit results of track reconstruction chain for Monte Carlo data.
11# ------------------------------------------------------------------------------------------
14if [ -z $JPP_DIR ]; then
15 echo "Variable JPP_DIR undefined."
20source $JPP_DIR/setenv.sh $JPP_DIR
23# list of applications in the processing chain
25APPLICATIONS=(prefit simplex gandalf energy start)
27set_variable: DEBUG RECONSTRUCTION_DEBUG 2
28set_variable: WORKDIR RECONSTRUCTION_WORKDIR ./
29set_variable: NUMBER_OF_EVENTS RECONSTRUCTION_NUMBER_OF_EVENTS $((2**31))
30set_variable: OPTION RECONSTRUCTION_OPTION LOGN
31set_variable: PRIMARY RECONSTRUCTION_PRIMARY muon
33set_variable: PALETTE GRAPHICS_PALETTE 57
34set_variable: FORMAT GRAPHICS_FORMAT gif
35set_variable+ BATCH GRAPHICS_BATCH -B
39 usage "$script (input file)+"\
40 "\nThe option can be LINE, LOGE, LINN or LOGN and the primary muon or neutrino,"\
41 "\nwhere E refers to the energy of the primary and N refers to the number of optical modules with a triggered hit."
45 fatal "Wrong number of arguments"
48set_array INPUT_FILES ${argv[*]}
51# Number of prefits as a function of application (0 = all)
53typeset -A NUMBER_OF_FIT
55NUMBER_OF_FIT=(prefit 0
62# Fit application identifier
73 LINE) set_variable LABEL "E [GeV]";
77 set_variable E_E "E_{fit} - E_{#mu} [GeV]";;
78 LOGE) set_variable LABEL "E [GeV]";
80 set_variable LOGX -XX;
81 set_variable LOGY -YY;
82 set_variable E_E "log10(E_{fit}/E_{#mu})";;
83 LINN) set_variable LABEL "number of modules";
85 set_variable LOGX -XX;
86 set_variable LOGY -YY;
87 set_variable E_E "log10(E_{fit}/E_{#mu})";;
88 LOGN) set_variable LABEL "number of modules";
89 set_variable LOG -XXX;
90 set_variable LOGX -XX;
91 set_variable LOGY -YY;
92 set_variable E_E "log10(E_{fit}/E_{#mu})";;
93 *) fatal "Invalid option $OPTION"
99for APP in $APPLICATIONS[*]; do
101 set_variable OUTPUT_FILE ${WORKDIR}/postfit\[${APP}\].root
103 if [[ -f $OUTPUT_FILE ]]; then
111for APP in $APPLICATIONS[*]; do
113 set_variable OUTPUT_FILE $WORKDIR/postfit\[${APP}\].root
115 if [[ ! -f $OUTPUT_FILE ]]; then
118 -f"${INPUT_FILES[*]}" \
120 -n ${NUMBER_OF_EVENTS} \
121 -N ${NUMBER_OF_FIT[${APP}]} \
122 -A ${ENUMERATION[${APP}]} \
132 -f $WORKDIR/postfit\[prefit\].root:hx \
133 -f $WORKDIR/postfit\[simplex\].root:hx \
134 -f $WORKDIR/postfit\[gandalf\].root:hx \
136 -\^ "number of events [a.u.]" \
139 -o $WORKDIR/angle.$FORMAT $BATCH
144 QUANTILES="0.33 0.5 0.66"
146 for APP in prefit simplex gandalf; do
149 -f $WORKDIR/postfit\[${APP}\].root:h2 \
151 -o $WORKDIR/quantiles\[${APP}\].root
155 -f $WORKDIR/quantiles\[prefit\].root:h21 \
156 -f $WORKDIR/quantiles\[simplex\].root:h21 \
157 -f $WORKDIR/quantiles\[gandalf\].root:h21 \
159 -\^ "resolution [deg]" \
165 -o $WORKDIR/resolution.$FORMAT $BATCH
168 -f $WORKDIR/quantiles\[gandalf\].root:h20 \
169 -f $WORKDIR/quantiles\[gandalf\].root:h21 \
170 -f $WORKDIR/quantiles\[gandalf\].root:h22 \
172 -\^ "resolution [deg]" \
178 -o $WORKDIR/gandalf.$FORMAT $BATCH
184 -f $WORKDIR/postfit\[energy\].root:E_0 \
185 -f $WORKDIR/postfit\[energy\].root:E_1 \
186 -f $WORKDIR/postfit\[energy\].root:E_2 \
187 -\^ "number of events [a.u.]" \
188 -> "E_{#mu} [GeV]" $LOGX \
190 -o $WORKDIR/energy.$FORMAT $BATCH
196 -f $WORKDIR/postfit\[energy\].root:ExE \
201 -f $WORKDIR/pdf.root:ExE \
202 -O COLZ -p $PALETTE \
203 -> "E_{#mu} [GeV]" $LOGX \
204 -< "E_{fit} [GeV]" $LOGY \
207 -o $WORKDIR/ee.$FORMAT $BATCH
209 rm -f $WORKDIR/pdf.root
215 -f $WORKDIR/postfit\[energy\].root:E_E \
216 -o $WORKDIR/fit.root \
217 -F "[0]*exp(-0.5*(x-[1])*(x-[1])/([2]*[2]))" \
218 -@ "p0 = 0.8*GetMaximum" \
223 -f $WORKDIR/fit.root:E_E \
225 -T "" -o $WORKDIR/er.$FORMAT $BATCH
227 rm -f $WORKDIR/fit.root
233 -f $WORKDIR/postfit\[energy\].root:Va \
234 -O COLZ -p $PALETTE \
238 -Z -T "" -o $WORKDIR/ha.$FORMAT $BATCH
245 -f $WORKDIR/postfit\[energy\].root:Vb \
246 -O COLZ -p $PALETTE \
250 -Z -T "" -o $WORKDIR/hb.$FORMAT $BATCH
256 -f $WORKDIR/postfit\[start\].root:hz0 \
257 -f $WORKDIR/postfit\[start\].root:hz1 \
259 -\^ "number of events [a.u.]" \
261 -o $WORKDIR/z.$FORMAT $BATCH