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