Jpp 20.0.0-rc.2
the software that should make you happy
Loading...
Searching...
No Matches
JMuonMCEvt.sh
Go to the documentation of this file.
1#!/usr/bin/env zsh
2#
3# \author mdejong
4#
5version=1.0
6script=${0##*/}
7
8# ------------------------------------------------------------------------------------------
9#
10# Utility script to test JGandalf - JEnergy - JStart on Monte Carlo true muons.
11#
12# ------------------------------------------------------------------------------------------
13
14if [ -z $JPP_DIR ]; then
15 echo "Variable JPP_DIR undefined."
16 exit
17fi
18
19source $JPP_DIR/setenv.sh $JPP_DIR
20
21set_variable DEBUG 2
22set_variable WORKDIR $JPP_DATA
23set_variable PDF $JPP_DATA/J%p.dat
24set_variable ENERGY_CORRECTION energy_correction_arca.root
25set_variable: FORMAT GRAPHICS_FORMAT gif
26set_variable+ BATCH GRAPHICS_BATCH -B
27
28if do_usage $*; then
29 usage "$script <detector file> <input file> [working directory]"
30fi
31
32case $# in
33 3) set_variable WORKDIR $3;&
34 2) set_variable INPUT_FILE $2;
35 set_variable DETECTOR $1;;
36 *) fatal "Wrong number of arguments.";;
37esac
38
39set_variable OUTPUT_FILE $WORKDIR/%-mc.root
40
41if (( 1 )); then
42
43 for APP in event gandalf start energy; do
44 rm -f ${OUTPUT_FILE/\%/${APP}}
45 done
46
47 $JPP_BIN/JMuonMCEvt \
48 -f $INPUT_FILE \
49 -o ${OUTPUT_FILE/\%/event} \
50 -d $DEBUG --!
51
52 PARAMETERS=(
53 TTS_ns 2
54 E_GeV 1.0e3
55 TMin_ns -50.0
56 TMax_ns +450.0
57 R_Hz 6.0e3
58 roadWidth_m 175.0
59 numberOfPrefits 0)
60
61 eval $JPP_BIN/JMuonGandalf \
62 -a $DETECTOR \
63 -f ${OUTPUT_FILE/\%/event} \
64 -o ${OUTPUT_FILE/\%/gandalf} \
65 -P $PDF \
66 -@ `make_equation PARAMETERS` \
67 -d $DEBUG --!
68
69 PARAMETERS=(
70 roadWidth_m 160.0
71 R_Hz 6.0e3
72 TMin_ns -25.0
73 TMax_ns +75.0
74 Pmin1 1.0e-3
75 Pmin2 1.0e-2
76 numberOfPrefits 1)
77
78 eval $JPP_BIN/JMuonStart \
79 -a $DETECTOR \
80 -f ${OUTPUT_FILE/\%/gandalf} \
81 -o ${OUTPUT_FILE/\%/start} \
82 -P $PDF \
83 -@ `make_equation PARAMETERS` \
84 -d $DEBUG --!
85
86 PARAMETERS=(
87 roadWidth_m 200.0
88 R_Hz 6.0e3
89 EMin_log 0.0
90 EMax_log 8.0
91 TMin_ns -50.0
92 TMax_ns +450.0
93 mestimator 1
94 numberOfPrefits 1)
95
96 eval $JPP_BIN/JMuonEnergy \
97 -a $DETECTOR \
98 -f ${OUTPUT_FILE/\%/start} \
99 -o ${OUTPUT_FILE/\%/energy} \
100 -P $PDF \
101 -E $ENERGY_CORRECTION \
102 -@ `make_equation PARAMETERS` \
103 -d $DEBUG --!
104fi
105
106if (( 1 )); then
107
108 JMuonPostfit \
109 -f ${OUTPUT_FILE/\%/energy} \
110 -O LOGE \
111 -A 4 \
112 -o $WORKDIR/postfit\[MC\].root
113fi
114
115if (( 1 )); then
116
117 JPlot1D \
118 -f $WORKDIR/postfit\[MC\].root:hx \
119 -> "angle [deg]" \
120 -\^ "number of events [a.u.]" \
121 -XX \
122 -L TR \
123 -o angle-truth.$FORMAT $BATCH
124fi
125
126if (( 1 )); then
127
128 JPlot1D \
129 -f $WORKDIR/postfit\[MC\].root:E_0 \
130 -f $WORKDIR/postfit\[MC\].root:E_1 \
131 -f $WORKDIR/postfit\[MC\].root:E_2 \
132 -\^ "number of events [a.u.]" \
133 -> "log10(E_{fit}/GeV)" \
134 -XX \
135 -o e0.$FORMAT $BATCH
136fi
137
138if (( 1 )); then
139
140 JPlot2D \
141 -f $WORKDIR/postfit\[MC\].root:ExE \
142 -O COLZ \
143 -XX -YY \
144 -> "E_{true} [GeV]" \
145 -< "E_{fit} [GeV]" \
146 -o ee.$FORMAT $BATCH
147fi
148
149if (( 1 )); then
150
151 $JPP_BIN/JFit \
152 -f $WORKDIR/postfit\[MC\].root:E_E \
153 -F "[0]*exp(-0.5*(x-[1])*(x-[1])/([2]*[2]))" \
154 -@ "p0 = 0.8*GetMaximum" \
155 -@ "p1 = 0.0" \
156 -@ "p2 = 0.4" \
157 -x "-0.8 +0.8"
158
159 JPlot1D \
160 -f fit.root:E_E \
161 -> "log10(E_{fit}/E_{true})" \
162 -o er-truth.$FORMAT $BATCH
163fi
164
165if (( 1 )); then
166
167 JPlot2D \
168 -f $WORKDIR/postfit\[MC\].root:Va \
169 -OCOLZ \
170 -> "R^{2} [m^{2}]" \
171 -< "z [m]" \
172 -o ha.$FORMAT $BATCH
173fi
174
175if (( 1 )); then
176
177 JPlot1D \
178 -f $WORKDIR/postfit\[MC\].root:hz0 \
179 -f $WORKDIR/postfit\[MC\].root:hz1 \
180 -> "z [m]" \
181 -\^ "number of events [a.u.]" \
182 -L TR \
183 -o z.$FORMAT $BATCH
184fi
185
186if (( 0 )); then
187
188 JPlot1D \
189 -f $WORKDIR/postfit\[MC\].root:hx \
190 -f $WORKDIR/postfit\[MC\].root:hx \
191 -> "angle [deg]" \
192 -\^ "number of events [a.u.]" \
193 -XX \
194 -L TR \
195 -o angle-truth.$FORMAT $BATCH
196fi
197
198if (( 0 )); then
199
200 JSum1D -f $WORKDIR/postfit\[MC\].root:hx -o $WORKDIR/sum\[MC\].root -N
201 JSum1D -f $WORKDIR/postfit\[gandalf\].root:hx -o $WORKDIR/sum\[gandalf\].root -N
202
203 JPlot1D \
204 -f $WORKDIR/sum\[gandalf\].root:hx \
205 -f $WORKDIRsum\[MC\].root:hx \
206 -> "angle [deg]" \
207 -\^ "integral of events" \
208 -XX \
209 -L TR \
210 -o sum-truth.$FORMAT $BATCH
211
212fi