75{
76
77
79 int ip1=0, ip2=1, in1=2, in2=3;
80 float sigxt[5][5];
81 float sigtxt[5][5];
82 float sigxs[5][5];
83 float sigtxs[5][5];
84 float rmsxt[5][5];
85 float rmstxt[5][5];
86 float rmsxs[5][5];
87 float rmstxs[5][5];
88 float meaxt[5][5];
89 float meatxt[5][5];
90 float meaxs[5][5];
91 float meatxs[5][5];
92 float errxt[5][5];
93 float errtxt[5][5];
94 int hst[5][5];
95 float mom[5], ns[5];
96 for (int i=ip1; i<ip2; i++)
97 {
98 mom[i] = i*2;
99 if (i == 0) mom[i] = .1;
100 if (i == 4) mom[i] = 1000.;
102 for (int j=in1; j<in2; j++)
103 {
109 printf("--------------------------\n P = %6.1f N = %2d\n",
114 hp[0]->Fit(
"gaus",
"q");
115 rmsxt[i][j] =
hp[0]->GetRMS(1);
116 meaxt[i][j] =
hp[0]->GetFunction(
"gaus")->GetParameter(1);
117 errxt[i][j] =
hp[4]->GetMean(1);
118 sigxt[i][j] =
hp[0]->GetFunction(
"gaus")->GetParameter(2);
120 hp[1]->Fit(
"gaus",
"q");
121 rmstxt[i][j] =
hp[1]->GetRMS(1);
122 meatxt[i][j] =
hp[1]->GetFunction(
"gaus")->GetParameter(1);
123 errtxt[i][j] =
hp[5]->GetMean(1);
124 sigtxt[i][j] =
hp[1]->GetFunction(
"gaus")->GetParameter(2);
126 hp[2]->Fit(
"gaus",
"q");
127 rmsxs[i][j] =
hp[2]->GetRMS(1);
128 meaxs[i][j] =
hp[2]->GetFunction(
"gaus")->GetParameter(1);
129 sigxs[i][j] =
hp[2]->GetFunction(
"gaus")->GetParameter(2);
131 hp[3]->Fit(
"gaus",
"q");
132 rmstxs[i][j] =
hp[3]->GetRMS(1);
133 meatxs[i][j] =
hp[3]->GetFunction(
"gaus")->GetParameter(1);
134 sigtxs[i][j] =
hp[3]->GetFunction(
"gaus")->GetParameter(2);
135 hst[i][j] =
hp[0]->GetEntries();
137 }
138 }
139 f = fopen(
"result.out",
"w");
140 for (int i=ip1; i<ip2; i++)
141 {
142 for (int j=in1; j<in2; j++)
143 {
144 printf("**** P = %3.1f N = %2d Nev = %4d\n",
145 mom[i], ns[j], hst[i][j]);
146 fprintf(
f,
"**** P = %3.1f N = %2d Nev = %4d\n",
147 mom[i], ns[j], hst[i][j]);
148 printf("SX_tr = %6.3f STX_tr = %10.7f SX_s = %6.3f STX_s = %8.5f\n",
149 sigxt[i][j], sigtxt[i][j], sigxs[i][j], sigtxs[i][j]);
150 fprintf(
f,
"SX_tr = %6.3f STX_tr = %10.7f SX_s = %6.3f STX_s = %8.5f\n",
151 sigxt[i][j], sigtxt[i][j], sigxs[i][j], sigtxs[i][j]);
152 printf("RX_tr = %6.3f RTX_tr = %10.7f RX_s = %6.3f RTX_s = %8.5f\n",
153 rmsxt[i][j], rmstxt[i][j], rmsxs[i][j], rmstxs[i][j]);
154 fprintf(
f,
"RX_tr = %6.3f RTX_tr = %10.7f RX_s = %6.3f RTX_s = %8.5f\n",
155 rmsxt[i][j], rmstxt[i][j], rmsxs[i][j], rmstxs[i][j]);
156 printf("MX_tr = %6.3f MTX_tr = %10.7f MX_s = %6.3f MTX_s = %8.5f\n",
157 meaxt[i][j], meatxt[i][j], meaxs[i][j], meatxs[i][j]);
158 fprintf(
f,
"MX_tr = %6.3f MTX_tr = %10.7f MX_s = %6.3f MTX_s = %8.5f\n",
159 meaxt[i][j], meatxt[i][j], meaxs[i][j], meatxs[i][j]);
160 printf("EX_tr = %6.3f ETX_tr = %10.7f\n",
161 errxt[i][j], errtxt[i][j]);
162 fprintf(
f,
"EX_tr = %6.3f ETX_tr = %10.7f\n",
163 errxt[i][j], errtxt[i][j]);
164 }
165 }
168 {
169 f = fopen(
"linfit.out",
"w");
170 printf(" Track fitting accuracy vs number of segments and momentum\n");
171 printf(" (Global matrix method\n\n");
172 fprintf(
f,
" Track fitting accuracy vs number of segments and momentum\n");
173 fprintf(
f,
" (Global matrix method)\n\n");
174 }
175 else
176 {
177 f = fopen(
"kalman.out",
"w");
178 printf(" Track fitting accuracy vs number of segments and momentum\n");
179 printf(" (Kalman filtering method)\n\n");
180 fprintf(
f,
" Track fitting accuracy vs number of segments and momentum\n");
181 fprintf(
f,
" (Kalman filtering method)\n\n");
182 }
183 printf("\n*************** Sigma X (microns) **********\n");
184 printf(" Nplates\n");
185 printf(" P (GeV/c) ");
186 fprintf(
f,
"\n*************** Sigma X (microns) **********\n");
187 fprintf(
f,
" Nplates\n");
188 fprintf(
f,
" P (GeV/c) ");
189 for (int j=in1; j<in2; j++)
190 {
191 printf("%2d ", ns[j]);
192 fprintf(
f,
"%2d ", ns[j]);
193 }
194 printf("\n");
196 for (int i=ip1; i<ip2; i++)
197 {
198 printf(" %6.1f ", mom[i]);
199 fprintf(
f,
" %6.1f ", mom[i]);
200 for (int j=in1; j<in2; j++)
201 {
202 printf("%7.3f ",sigxt[i][j]);
203 fprintf(
f,
"%7.3f ",sigxt[i][j]);
204 }
205 printf("\n");
207 }
208 printf("\n*************** RMS X (microns) **********\n");
209 printf(" Nplates\n");
210 printf(" P (GeV/c) ");
211 fprintf(
f,
"\n*************** RMS X (microns) **********\n");
212 fprintf(
f,
" Nplates\n");
213 fprintf(
f,
" P (GeV/c) ");
214 for (int j=in1; j<in2; j++)
215 {
216 printf("%2d ", ns[j]);
217 fprintf(
f,
"%2d ", ns[j]);
218 }
219 printf("\n");
221 for (int i=ip1; i<ip2; i++)
222 {
223 printf(" %6.1f ", mom[i]);
224 fprintf(
f,
" %6.1f ", mom[i]);
225 for (int j=in1; j<in2; j++)
226 {
227 printf("%7.3f ",rmsxt[i][j]);
228 fprintf(
f,
"%7.3f ",rmsxt[i][j]);
229 }
230 printf("\n");
232 }
233 printf("\n*************** ERR X (microns) **********\n");
234 printf(" Nplates\n");
235 printf(" P (GeV/c) ");
236 fprintf(
f,
"\n*************** ERR X (microns) **********\n");
237 fprintf(
f,
" Nplates\n");
238 fprintf(
f,
" P (GeV/c) ");
239 for (int j=in1; j<in2; j++)
240 {
241 printf("%2d ", ns[j]);
242 fprintf(
f,
"%2d ", ns[j]);
243 }
244 printf("\n");
246 for (int i=ip1; i<ip2; i++)
247 {
248 printf(" %6.1f ", mom[i]);
249 fprintf(
f,
" %6.1f ", mom[i]);
250 for (int j=in1; j<in2; j++)
251 {
252 printf("%7.3f ",errxt[i][j]);
253 fprintf(
f,
"%7.3f ",errxt[i][j]);
254 }
255 printf("\n");
257 }
258 printf("\n*************** Sigma TX (mrad) **********\n");
259 printf(" Nplates\n");
260 printf(" P (GeV/c) ");
261 fprintf(
f,
"\n*************** Sigma TX (mrad) **********\n");
262 fprintf(
f,
" Nplates\n");
263 fprintf(
f,
" P (GeV/c) ");
264 for (int j=in1; j<in2; j++)
265 {
266 printf("%2d ", ns[j]);
267 fprintf(
f,
"%2d ", ns[j]);
268 }
269 printf("\n");
271 for (int i=ip1; i<ip2; i++)
272 {
273 printf(" %6.1f ", mom[i]);
274 fprintf(
f,
" %6.1f ", mom[i]);
275 for (int j=in1; j<in2; j++)
276 {
277 printf("%7.2f ",sigtxt[i][j]*1000.);
278 fprintf(
f,
"%7.2f ",sigtxt[i][j]*1000.);
279 }
280 printf("\n");
282 }
283 printf("\n*************** RMS TX (mrad) **********\n");
284 printf(" Nplates\n");
285 printf(" P (GeV/c) ");
286 fprintf(
f,
"\n*************** RMS TX (mrad) **********\n");
287 fprintf(
f,
" Nplates\n");
288 fprintf(
f,
" P (GeV/c) ");
289 for (int j=in1; j<in2; j++)
290 {
291 printf("%2d ", ns[j]);
292 fprintf(
f,
"%2d ", ns[j]);
293 }
294 printf("\n");
296 for (int i=ip1; i<ip2; i++)
297 {
298 printf(" %6.1f ", mom[i]);
299 fprintf(
f,
" %6.1f ", mom[i]);
300 for (int j=in1; j<in2; j++)
301 {
302 printf("%7.2f ",rmstxt[i][j]*1000.);
303 fprintf(
f,
"%7.2f ",rmstxt[i][j]*1000.);
304 }
305 printf("\n");
307 }
308 printf("\n*************** ERR TX (mrad) **********\n");
309 printf(" Nplates\n");
310 printf(" P (GeV/c) ");
311 fprintf(
f,
"\n*************** ERR TX (mrad) **********\n");
312 fprintf(
f,
" Nplates\n");
313 fprintf(
f,
" P (GeV/c) ");
314 for (int j=in1; j<in2; j++)
315 {
316 printf("%2d ", ns[j]);
317 fprintf(
f,
"%2d ", ns[j]);
318 }
319 printf("\n");
321 for (int i=ip1; i<ip2; i++)
322 {
323 printf(" %6.1f ", mom[i]);
324 fprintf(
f,
" %6.1f ", mom[i]);
325 for (int j=in1; j<in2; j++)
326 {
327 printf("%7.2f ",errtxt[i][j]*1000.);
328 fprintf(
f,
"%7.2f ",errtxt[i][j]*1000.);
329 }
330 printf("\n");
332 }
334}
void ClearHistsV()
Definition: RecDispMC_Profiles_new.C:847
void gv(int n=1)
Definition: RecDispMC_Profiles_new.C:337