3 # \author mdejong, bofearraigh
7 # ------------------------------------------------------------------------------------------
9 # Utility script to plot fit results of track reconstruction chain for Monte Carlo data.
11 # ------------------------------------------------------------------------------------------
14 if [ -z $JPP_DIR ]; then
15 echo "Variable JPP_DIR undefined."
20 source $JPP_DIR/setenv.sh $JPP_DIR
23 # list of applications in the processing chain
25 APPLICATIONS=(prefit simplex gandalf energy start)
27 set_variable: DEBUG RECONSTRUCTION_DEBUG 2
28 set_variable: WORKDIR RECONSTRUCTION_WORKDIR ./
29 set_variable: NUMBER_OF_EVENTS RECONSTRUCTION_NUMBER_OF_EVENTS $((2**31))
30 set_variable: OPTION RECONSTRUCTION_OPTION LOGN
31 set_variable: PRIMARY RECONSTRUCTION_PRIMARY muon
33 set_variable: PALETTE GRAPHICS_PALETTE 57
34 set_variable: FORMAT GRAPHICS_FORMAT gif
35 set_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."
44 if (( $# == 0 )); then
45 fatal "Wrong number of arguments"
48 set_array INPUT_FILES ${argv[*]}
51 # Number of prefits as a function of application (0 = all)
53 typeset -A NUMBER_OF_FIT
63 # Fit application identifier
65 typeset -A ENUMERATION
75 LINE) set_variable LABEL "E [GeV]";
79 set_variable E_E "E_{fit} - E_{#mu} [GeV]";;
80 LOGE) set_variable LABEL "E [GeV]";
82 set_variable LOGX -XX;
83 set_variable LOGY -YY;
84 set_variable E_E "log10(E_{fit}/E_{#mu})";;
85 LINN) set_variable LABEL "number of modules";
87 set_variable LOGX -XX;
88 set_variable LOGY -YY;
89 set_variable E_E "log10(E_{fit}/E_{#mu})";;
90 LOGN) set_variable LABEL "number of modules";
91 set_variable LOG -XXX;
92 set_variable LOGX -XX;
93 set_variable LOGY -YY;
94 set_variable E_E "log10(E_{fit}/E_{#mu})";;
95 *) fatal "Invalid option $OPTION"
101 for APP in $APPLICATIONS[*]; do
103 set_variable OUTPUT_FILE ${WORKDIR}/postfit\[${APP}\].root
105 if [[ -f $OUTPUT_FILE ]]; then
113 for APP in $APPLICATIONS[*]; do
115 set_variable OUTPUT_FILE $WORKDIR/postfit\[${APP}\].root
117 if [[ ! -f $OUTPUT_FILE ]]; then
120 -f"${INPUT_FILES[*]}" \
122 -n ${NUMBER_OF_EVENTS} \
123 -N ${NUMBER_OF_FIT[${APP}]} \
124 -A ${ENUMERATION[${APP}]} \
134 -f $WORKDIR/postfit\[prefit\].root:hx \
135 -f $WORKDIR/postfit\[simplex\].root:hx \
136 -f $WORKDIR/postfit\[gandalf\].root:hx \
138 -\^ "number of events [a.u.]" \
141 -o $WORKDIR/angle.$FORMAT $BATCH
146 QUANTILES="0.33 0.5 0.66"
148 for APP in prefit simplex gandalf; do
151 -f $WORKDIR/postfit\[${APP}\].root:h2 \
153 -o $WORKDIR/quantiles\[${APP}\].root
157 -f $WORKDIR/quantiles\[prefit\].root:h21 \
158 -f $WORKDIR/quantiles\[simplex\].root:h21 \
159 -f $WORKDIR/quantiles\[gandalf\].root:h21 \
161 -\^ "resolution [deg]" \
167 -o $WORKDIR/resolution.$FORMAT $BATCH
170 -f $WORKDIR/quantiles\[gandalf\].root:h20 \
171 -f $WORKDIR/quantiles\[gandalf\].root:h21 \
172 -f $WORKDIR/quantiles\[gandalf\].root:h22 \
174 -\^ "resolution [deg]" \
180 -o $WORKDIR/gandalf.$FORMAT $BATCH
186 -f $WORKDIR/postfit\[energy\].root:E_0 \
187 -f $WORKDIR/postfit\[energy\].root:E_1 \
188 -f $WORKDIR/postfit\[energy\].root:E_2 \
189 -\^ "number of events [a.u.]" \
190 -> "E_{#mu} [GeV]" $LOGX \
192 -o $WORKDIR/energy.$FORMAT $BATCH
198 -f $WORKDIR/postfit\[energy\].root:ExE \
203 -f $WORKDIR/pdf.root:ExE \
204 -O COLZ -p $PALETTE \
205 -> "E_{#mu} [GeV]" $LOGX \
206 -< "E_{fit} [GeV]" $LOGY \
209 -o $WORKDIR/ee.$FORMAT $BATCH
211 rm -f $WORKDIR/pdf.root
217 -f $WORKDIR/postfit\[energy\].root:E_E \
218 -o $WORKDIR/fit.root \
219 -F "[0]*exp(-0.5*(x-[1])*(x-[1])/([2]*[2]))" \
220 -@ "p0 = 0.8*GetMaximum" \
225 -f $WORKDIR/fit.root:E_E \
227 -T "" -o $WORKDIR/er.$FORMAT $BATCH
229 rm -f $WORKDIR/fit.root
235 -f $WORKDIR/postfit\[energy\].root:Va \
236 -O COLZ -p $PALETTE \
240 -Z -T "" -o $WORKDIR/ha.$FORMAT $BATCH
247 -f $WORKDIR/postfit\[energy\].root:Vb \
248 -O COLZ -p $PALETTE \
252 -Z -T "" -o $WORKDIR/hb.$FORMAT $BATCH
258 -f $WORKDIR/postfit\[start\].root:hz0 \
259 -f $WORKDIR/postfit\[start\].root:hz1 \
261 -\^ "number of events [a.u.]" \
263 -o $WORKDIR/z.$FORMAT $BATCH