247 std::stringstream name_x, name_y, name_dxdz, name_dydz, name_x_raw, name_y_raw, name_dxdz_raw, name_dydz_raw, name_x_cut, name_y_cut, name_alphax, name_alphay;
248 std::stringstream name_x_trackx, name_y_trackx, name_dxdz_trackx, name_dydz_trackx;
249 std::stringstream name_x_tracky, name_y_tracky, name_dxdz_tracky, name_dydz_tracky;
250 std::stringstream name_x_trackdxdz, name_y_trackdxdz, name_dxdz_trackdxdz, name_dydz_trackdxdz;
251 std::stringstream name_x_trackdydz, name_y_trackdydz, name_dxdz_trackdydz, name_dydz_trackdydz;
253 name_x <<
name <<
"_x";
254 name_y << name <<
"_y";
255 name_dxdz << name <<
"_dxdz";
256 name_dydz << name <<
"_dydz";
257 name_x_raw << name <<
"_x_raw";
258 name_y_raw << name <<
"_y_raw";
259 name_dxdz_raw << name <<
"_dxdz_raw";
260 name_dydz_raw << name <<
"_dydz_raw";
261 name_x_cut << name <<
"_x_cut";
262 name_y_cut << name <<
"_y_cut";
263 name_alphax << name <<
"_alphax";
264 name_alphay << name <<
"_alphay";
265 name_x_trackx << name <<
"_x_trackx";
266 name_y_trackx << name <<
"_y_trackx";
267 name_dxdz_trackx << name <<
"_dxdz_trackx";
268 name_dydz_trackx << name <<
"_dydz_trackx";
269 name_x_tracky << name <<
"_x_tracky";
270 name_y_tracky << name <<
"_y_tracky";
271 name_dxdz_tracky << name <<
"_dxdz_tracky";
272 name_dydz_tracky << name <<
"_dydz_tracky";
273 name_x_trackdxdz << name <<
"_x_trackdxdz";
274 name_y_trackdxdz << name <<
"_y_trackdxdz";
275 name_dxdz_trackdxdz << name <<
"_dxdz_trackdxdz";
276 name_dydz_trackdxdz << name <<
"_dydz_trackdxdz";
277 name_x_trackdydz << name <<
"_x_trackdydz";
278 name_y_trackdydz << name <<
"_y_trackdydz";
279 name_dxdz_trackdydz << name <<
"_dxdz_trackdydz";
280 name_dydz_trackdydz << name <<
"_dydz_trackdydz";
284 double min_x = -100.;
double max_x = 100.;
285 double min_y = -200.;
double max_y = 200.;
286 double min_dxdz = -100.;
double max_dxdz = 100.;
287 double min_dydz = -200.;
double max_dydz = 200.;
288 double min_trackx = -width/2.;
double max_trackx = width/2.;
289 double min_tracky = -length/2.;
double max_tracky = length/2.;
290 double min_trackdxdz = -1.5;
double max_trackdxdz = 1.5;
291 double min_trackdydz = -1.5;
double max_trackdydz = 1.5;
293 TH1F *hist_x = dir->
make<TH1F>(name_x.str().c_str(),
"", 100, min_x, max_x);
294 TH1F *hist_y = dir->
make<TH1F>(name_y.str().c_str(),
"", 100, min_y, max_y);
295 TH1F *hist_dxdz = dir->
make<TH1F>(name_dxdz.str().c_str(),
"", 100, min_dxdz, max_dxdz);
296 TH1F *hist_dydz = dir->
make<TH1F>(name_dydz.str().c_str(),
"", 100, min_dydz, max_dydz);
297 TH1F *hist_x_raw = dir->
make<TH1F>(name_x_raw.str().c_str(),
"", 100, min_x, max_x);
298 TH1F *hist_y_raw = dir->
make<TH1F>(name_y_raw.str().c_str(),
"", 100, min_y, max_y);
299 TH1F *hist_dxdz_raw = dir->
make<TH1F>(name_dxdz_raw.str().c_str(),
"", 100, min_dxdz, max_dxdz);
300 TH1F *hist_dydz_raw = dir->
make<TH1F>(name_dydz_raw.str().c_str(),
"", 100, min_dydz, max_dydz);
301 TH1F *hist_x_cut = dir->
make<TH1F>(name_x_cut.str().c_str(),
"", 100, min_x, max_x);
302 TH1F *hist_y_cut = dir->
make<TH1F>(name_y_cut.str().c_str(),
"", 100, min_y, max_y);
303 TH2F *hist_alphax = dir->
make<TH2F>(name_alphax.str().c_str(),
"", 40, min_dxdz, max_dxdz, 40, -20., 20.);
304 TH2F *hist_alphay = dir->
make<TH2F>(name_alphay.str().c_str(),
"", 40, min_dydz, max_dydz, 40, -100., 100.);
305 TProfile *hist_x_trackx = dir->
make<TProfile>(name_x_trackx.str().c_str(),
"", 100, min_trackx, max_trackx, min_x, max_x);
306 TProfile *hist_y_trackx = dir->
make<TProfile>(name_y_trackx.str().c_str(),
"", 100, min_trackx, max_trackx, min_y, max_y);
307 TProfile *hist_dxdz_trackx = dir->
make<TProfile>(name_dxdz_trackx.str().c_str(),
"", 100, min_trackx, max_trackx, min_dxdz, max_dxdz);
308 TProfile *hist_dydz_trackx = dir->
make<TProfile>(name_dydz_trackx.str().c_str(),
"", 100, min_trackx, max_trackx, min_dydz, max_dydz);
309 TProfile *hist_x_tracky = dir->
make<TProfile>(name_x_tracky.str().c_str(),
"", 100, min_tracky, max_tracky, min_x, max_x);
310 TProfile *hist_y_tracky = dir->
make<TProfile>(name_y_tracky.str().c_str(),
"", 100, min_tracky, max_tracky, min_y, max_y);
311 TProfile *hist_dxdz_tracky = dir->
make<TProfile>(name_dxdz_tracky.str().c_str(),
"", 100, min_tracky, max_tracky, min_dxdz, max_dxdz);
312 TProfile *hist_dydz_tracky = dir->
make<TProfile>(name_dydz_tracky.str().c_str(),
"", 100, min_tracky, max_tracky, min_dydz, max_dydz);
313 TProfile *hist_x_trackdxdz = dir->
make<TProfile>(name_x_trackdxdz.str().c_str(),
"", 500, min_trackdxdz, max_trackdxdz, min_x, max_x);
314 TProfile *hist_y_trackdxdz = dir->
make<TProfile>(name_y_trackdxdz.str().c_str(),
"", 500, min_trackdxdz, max_trackdxdz, min_y, max_y);
315 TProfile *hist_dxdz_trackdxdz = dir->
make<TProfile>(name_dxdz_trackdxdz.str().c_str(),
"", 500, min_trackdxdz, max_trackdxdz, min_dxdz, max_dxdz);
316 TProfile *hist_dydz_trackdxdz = dir->
make<TProfile>(name_dydz_trackdxdz.str().c_str(),
"", 500, min_trackdxdz, max_trackdxdz, min_dydz, max_dydz);
317 TProfile *hist_x_trackdydz = dir->
make<TProfile>(name_x_trackdydz.str().c_str(),
"", 500, min_trackdydz, max_trackdydz, min_x, max_x);
318 TProfile *hist_y_trackdydz = dir->
make<TProfile>(name_y_trackdydz.str().c_str(),
"", 500, min_trackdydz, max_trackdydz, min_y, max_y);
319 TProfile *hist_dxdz_trackdydz = dir->
make<TProfile>(name_dxdz_trackdydz.str().c_str(),
"", 500, min_trackdydz, max_trackdydz, min_dxdz, max_dxdz);
320 TProfile *hist_dydz_trackdydz = dir->
make<TProfile>(name_dydz_trackdydz.str().c_str(),
"", 500, min_trackdydz, max_trackdydz, min_dydz, max_dydz);
322 hist_x_trackx->SetAxisRange(-10., 10.,
"Y");
323 hist_y_trackx->SetAxisRange(-20., 20.,
"Y");
324 hist_dxdz_trackx->SetAxisRange(-10., 10.,
"Y");
325 hist_dydz_trackx->SetAxisRange(-20., 20.,
"Y");
326 hist_x_tracky->SetAxisRange(-10., 10.,
"Y");
327 hist_y_tracky->SetAxisRange(-20., 20.,
"Y");
328 hist_dxdz_tracky->SetAxisRange(-10., 10.,
"Y");
329 hist_dydz_tracky->SetAxisRange(-20., 20.,
"Y");
330 hist_x_trackdxdz->SetAxisRange(-10., 10.,
"Y");
331 hist_y_trackdxdz->SetAxisRange(-20., 20.,
"Y");
332 hist_dxdz_trackdxdz->SetAxisRange(-10., 10.,
"Y");
333 hist_dydz_trackdxdz->SetAxisRange(-20., 20.,
"Y");
334 hist_x_trackdydz->SetAxisRange(-10., 10.,
"Y");
335 hist_y_trackdydz->SetAxisRange(-20., 20.,
"Y");
336 hist_dxdz_trackdydz->SetAxisRange(-10., 10.,
"Y");
337 hist_dydz_trackdydz->SetAxisRange(-20., 20.,
"Y");
343 name_alphax <<
"_fit";
344 name_alphay <<
"_fit";
345 name_x_trackx <<
"_fit";
346 name_y_trackx <<
"_fit";
347 name_dxdz_trackx <<
"_fit";
348 name_dydz_trackx <<
"_fit";
349 name_x_tracky <<
"_fit";
350 name_y_tracky <<
"_fit";
351 name_dxdz_tracky <<
"_fit";
352 name_dydz_tracky <<
"_fit";
353 name_x_trackdxdz <<
"_fit";
354 name_y_trackdxdz <<
"_fit";
355 name_dxdz_trackdxdz <<
"_fit";
356 name_dydz_trackdxdz <<
"_fit";
357 name_x_trackdydz <<
"_fit";
358 name_y_trackdydz <<
"_fit";
359 name_dxdz_trackdydz <<
"_fit";
360 name_dydz_trackdydz <<
"_fit";
364 TF1 *fit_dxdz =
NULL;
365 TF1 *fit_dydz =
NULL;
406 else { assert(
false); }
408 fit_x->SetLineColor(2); fit_x->SetLineWidth(2);
409 fit_y->SetLineColor(2); fit_y->SetLineWidth(2);
410 fit_dxdz->SetLineColor(2); fit_dxdz->SetLineWidth(2);
411 fit_dydz->SetLineColor(2); fit_dydz->SetLineWidth(2);
417 TF1 *fit_alphax =
new TF1(name_alphax.str().c_str(),
"[0] + x*[1]", min_dxdz, max_dxdz);
419 TF1 *fit_alphay =
new TF1(name_alphay.str().c_str(),
"[0] + x*[1]", min_dydz, max_dydz);
422 fit_alphax->SetLineColor(2); fit_alphax->SetLineWidth(2);
423 fit_alphay->SetLineColor(2); fit_alphay->SetLineWidth(2);
427 TProfile *fit_x_trackx = dir->
make<TProfile>(name_x_trackx.str().c_str(),
"", 100, min_trackx, max_trackx);
428 TProfile *fit_y_trackx = dir->
make<TProfile>(name_y_trackx.str().c_str(),
"", 100, min_trackx, max_trackx);
429 TProfile *fit_dxdz_trackx = dir->
make<TProfile>(name_dxdz_trackx.str().c_str(),
"", 100, min_trackx, max_trackx);
430 TProfile *fit_dydz_trackx = dir->
make<TProfile>(name_dydz_trackx.str().c_str(),
"", 100, min_trackx, max_trackx);
431 TProfile *fit_x_tracky = dir->
make<TProfile>(name_x_tracky.str().c_str(),
"", 100, min_tracky, max_tracky);
432 TProfile *fit_y_tracky = dir->
make<TProfile>(name_y_tracky.str().c_str(),
"", 100, min_tracky, max_tracky);
433 TProfile *fit_dxdz_tracky = dir->
make<TProfile>(name_dxdz_tracky.str().c_str(),
"", 100, min_tracky, max_tracky);
434 TProfile *fit_dydz_tracky = dir->
make<TProfile>(name_dydz_tracky.str().c_str(),
"", 100, min_tracky, max_tracky);
435 TProfile *fit_x_trackdxdz = dir->
make<TProfile>(name_x_trackdxdz.str().c_str(),
"", 500, min_trackdxdz, max_trackdxdz);
436 TProfile *fit_y_trackdxdz = dir->
make<TProfile>(name_y_trackdxdz.str().c_str(),
"", 500, min_trackdxdz, max_trackdxdz);
437 TProfile *fit_dxdz_trackdxdz = dir->
make<TProfile>(name_dxdz_trackdxdz.str().c_str(),
"", 500, min_trackdxdz, max_trackdxdz);
438 TProfile *fit_dydz_trackdxdz = dir->
make<TProfile>(name_dydz_trackdxdz.str().c_str(),
"", 500, min_trackdxdz, max_trackdxdz);
439 TProfile *fit_x_trackdydz = dir->
make<TProfile>(name_x_trackdydz.str().c_str(),
"", 500, min_trackdydz, max_trackdydz);
440 TProfile *fit_y_trackdydz = dir->
make<TProfile>(name_y_trackdydz.str().c_str(),
"", 500, min_trackdydz, max_trackdydz);
441 TProfile *fit_dxdz_trackdydz = dir->
make<TProfile>(name_dxdz_trackdydz.str().c_str(),
"", 500, min_trackdydz, max_trackdydz);
442 TProfile *fit_dydz_trackdydz = dir->
make<TProfile>(name_dydz_trackdydz.str().c_str(),
"", 500, min_trackdydz, max_trackdydz);
444 fit_x_trackx->SetLineColor(2); fit_x_trackx->SetLineWidth(2);
445 fit_y_trackx->SetLineColor(2); fit_y_trackx->SetLineWidth(2);
446 fit_dxdz_trackx->SetLineColor(2); fit_dxdz_trackx->SetLineWidth(2);
447 fit_dydz_trackx->SetLineColor(2); fit_dydz_trackx->SetLineWidth(2);
448 fit_x_tracky->SetLineColor(2); fit_x_tracky->SetLineWidth(2);
449 fit_y_tracky->SetLineColor(2); fit_y_tracky->SetLineWidth(2);
450 fit_dxdz_tracky->SetLineColor(2); fit_dxdz_tracky->SetLineWidth(2);
451 fit_dydz_tracky->SetLineColor(2); fit_dydz_tracky->SetLineWidth(2);
452 fit_x_trackdxdz->SetLineColor(2); fit_x_trackdxdz->SetLineWidth(2);
453 fit_y_trackdxdz->SetLineColor(2); fit_y_trackdxdz->SetLineWidth(2);
454 fit_dxdz_trackdxdz->SetLineColor(2); fit_dxdz_trackdxdz->SetLineWidth(2);
455 fit_dydz_trackdxdz->SetLineColor(2); fit_dydz_trackdxdz->SetLineWidth(2);
456 fit_x_trackdydz->SetLineColor(2); fit_x_trackdydz->SetLineWidth(2);
457 fit_y_trackdydz->SetLineColor(2); fit_y_trackdydz->SetLineWidth(2);
458 fit_dxdz_trackdydz->SetLineColor(2); fit_dxdz_trackdydz->SetLineWidth(2);
459 fit_dydz_trackdydz->SetLineColor(2); fit_dydz_trackdydz->SetLineWidth(2);
461 name_x_trackx <<
"line";
462 name_y_trackx <<
"line";
463 name_dxdz_trackx <<
"line";
464 name_dydz_trackx <<
"line";
465 name_x_tracky <<
"line";
466 name_y_tracky <<
"line";
467 name_dxdz_tracky <<
"line";
468 name_dydz_tracky <<
"line";
469 name_x_trackdxdz <<
"line";
470 name_y_trackdxdz <<
"line";
471 name_dxdz_trackdxdz <<
"line";
472 name_dydz_trackdxdz <<
"line";
473 name_x_trackdydz <<
"line";
474 name_y_trackdydz <<
"line";
475 name_dxdz_trackdydz <<
"line";
476 name_dydz_trackdydz <<
"line";
495 double sum_resslopex = 0.;
496 double sum_resslopey = 0.;
497 double sum_trackx = 0.;
498 double sum_tracky = 0.;
499 double sum_trackdxdz = 0.;
500 double sum_trackdydz = 0.;
509 double weight = 1./redchi2;
513 sum_resslopex += weight * resslopeX;
514 sum_resslopey += weight * resslopeY;
515 sum_trackx += weight * positionX;
516 sum_tracky += weight * positionY;
517 sum_trackdxdz += weight * angleX;
518 sum_trackdydz += weight * angleY;
528 double fitparameters[14];
535 fitparameters[6] = mean_trackx;
536 fitparameters[7] = mean_tracky;
537 fitparameters[8] = mean_trackdxdz;
538 fitparameters[9] = mean_trackdydz;
540 fitparameters[11] = mean_resslopex;
542 fitparameters[13] = mean_resslopey;
544 fitline_x_trackx->SetParameters(fitparameters);
545 fitline_y_trackx->SetParameters(fitparameters);
546 fitline_dxdz_trackx->SetParameters(fitparameters);
547 fitline_dydz_trackx->SetParameters(fitparameters);
548 fitline_x_tracky->SetParameters(fitparameters);
549 fitline_y_tracky->SetParameters(fitparameters);
550 fitline_dxdz_tracky->SetParameters(fitparameters);
551 fitline_dydz_tracky->SetParameters(fitparameters);
552 fitline_x_trackdxdz->SetParameters(fitparameters);
553 fitline_y_trackdxdz->SetParameters(fitparameters);
554 fitline_dxdz_trackdxdz->SetParameters(fitparameters);
555 fitline_dydz_trackdxdz->SetParameters(fitparameters);
556 fitline_x_trackdydz->SetParameters(fitparameters);
557 fitline_y_trackdydz->SetParameters(fitparameters);
558 fitline_dxdz_trackdydz->SetParameters(fitparameters);
559 fitline_dydz_trackdydz->SetParameters(fitparameters);
561 fitline_x_trackx->SetLineColor(2); fitline_x_trackx->SetLineWidth(2);
562 fitline_y_trackx->SetLineColor(2); fitline_y_trackx->SetLineWidth(2);
563 fitline_dxdz_trackx->SetLineColor(2); fitline_dxdz_trackx->SetLineWidth(2);
564 fitline_dydz_trackx->SetLineColor(2); fitline_dydz_trackx->SetLineWidth(2);
565 fitline_x_tracky->SetLineColor(2); fitline_x_tracky->SetLineWidth(2);
566 fitline_y_tracky->SetLineColor(2); fitline_y_tracky->SetLineWidth(2);
567 fitline_dxdz_tracky->SetLineColor(2); fitline_dxdz_tracky->SetLineWidth(2);
568 fitline_dydz_tracky->SetLineColor(2); fitline_dydz_tracky->SetLineWidth(2);
569 fitline_x_trackdxdz->SetLineColor(2); fitline_x_trackdxdz->SetLineWidth(2);
570 fitline_y_trackdxdz->SetLineColor(2); fitline_y_trackdxdz->SetLineWidth(2);
571 fitline_dxdz_trackdxdz->SetLineColor(2); fitline_dxdz_trackdxdz->SetLineWidth(2);
572 fitline_dydz_trackdxdz->SetLineColor(2); fitline_dydz_trackdxdz->SetLineWidth(2);
573 fitline_x_trackdydz->SetLineColor(2); fitline_x_trackdydz->SetLineWidth(2);
574 fitline_y_trackdydz->SetLineColor(2); fitline_y_trackdydz->SetLineWidth(2);
575 fitline_dxdz_trackdydz->SetLineColor(2); fitline_dxdz_trackdydz->SetLineWidth(2);
576 fitline_dydz_trackdydz->SetLineColor(2); fitline_dydz_trackdydz->SetLineWidth(2);
578 fitline_x_trackx->Write();
579 fitline_y_trackx->Write();
580 fitline_dxdz_trackx->Write();
581 fitline_dydz_trackx->Write();
582 fitline_x_tracky->Write();
583 fitline_y_tracky->Write();
584 fitline_dxdz_tracky->Write();
585 fitline_dydz_tracky->Write();
586 fitline_x_trackdxdz->Write();
587 fitline_y_trackdxdz->Write();
588 fitline_dxdz_trackdxdz->Write();
589 fitline_dydz_trackdxdz->Write();
590 fitline_x_trackdydz->Write();
591 fitline_y_trackdydz->Write();
592 fitline_dxdz_trackdydz->Write();
593 fitline_dydz_trackdydz->Write();
605 double weight = 1./redchi2;
610 hist_alphax->Fill(1000.*resslopeX, 10.*residX);
611 hist_alphay->Fill(1000.*resslopeY, 10.*residY);
613 double geom_residX =
MuonResiduals6DOFFitter_x(
value(
kAlignX),
value(
kAlignY),
value(
kAlignZ),
value(
kAlignPhiX),
value(
kAlignPhiY),
value(
kAlignPhiZ), positionX, positionY, angleX, angleY,
value(
kAlphaX), resslopeX);
614 hist_x->Fill(10.*(residX - geom_residX +
value(
kAlignX)), weight);
615 hist_x_trackx->Fill(positionX, 10.*residX, weight);
616 hist_x_tracky->Fill(positionY, 10.*residX, weight);
617 hist_x_trackdxdz->Fill(angleX, 10.*residX, weight);
618 hist_x_trackdydz->Fill(angleY, 10.*residX, weight);
619 fit_x_trackx->Fill(positionX, 10.*geom_residX, weight);
620 fit_x_tracky->Fill(positionY, 10.*geom_residX, weight);
621 fit_x_trackdxdz->Fill(angleX, 10.*geom_residX, weight);
622 fit_x_trackdydz->Fill(angleY, 10.*geom_residX, weight);
624 double geom_residY =
MuonResiduals6DOFFitter_y(
value(
kAlignX),
value(
kAlignY),
value(
kAlignZ),
value(
kAlignPhiX),
value(
kAlignPhiY),
value(
kAlignPhiZ), positionX, positionY, angleX, angleY,
value(
kAlphaY), resslopeY);
625 hist_y->Fill(10.*(residY - geom_residY +
value(
kAlignY)), weight);
626 hist_y_trackx->Fill(positionX, 10.*residY, weight);
627 hist_y_tracky->Fill(positionY, 10.*residY, weight);
628 hist_y_trackdxdz->Fill(angleX, 10.*residY, weight);
629 hist_y_trackdydz->Fill(angleY, 10.*residY, weight);
630 fit_y_trackx->Fill(positionX, 10.*geom_residY, weight);
631 fit_y_tracky->Fill(positionY, 10.*geom_residY, weight);
632 fit_y_trackdxdz->Fill(angleX, 10.*geom_residY, weight);
633 fit_y_trackdydz->Fill(angleY, 10.*geom_residY, weight);
636 hist_dxdz->Fill(1000.*(resslopeX - geom_resslopeX +
value(
kAlignPhiY)), weight);
637 hist_dxdz_trackx->Fill(positionX, 1000.*resslopeX, weight);
638 hist_dxdz_tracky->Fill(positionY, 1000.*resslopeX, weight);
639 hist_dxdz_trackdxdz->Fill(angleX, 1000.*resslopeX, weight);
640 hist_dxdz_trackdydz->Fill(angleY, 1000.*resslopeX, weight);
641 fit_dxdz_trackx->Fill(positionX, 1000.*geom_resslopeX, weight);
642 fit_dxdz_tracky->Fill(positionY, 1000.*geom_resslopeX, weight);
643 fit_dxdz_trackdxdz->Fill(angleX, 1000.*geom_resslopeX, weight);
644 fit_dxdz_trackdydz->Fill(angleY, 1000.*geom_resslopeX, weight);
647 hist_dydz->Fill(1000.*(resslopeY - geom_resslopeY -
value(
kAlignPhiX)), weight);
648 hist_dydz_trackx->Fill(positionX, 1000.*resslopeY, weight);
649 hist_dydz_tracky->Fill(positionY, 1000.*resslopeY, weight);
650 hist_dydz_trackdxdz->Fill(angleX, 1000.*resslopeY, weight);
651 hist_dydz_trackdydz->Fill(angleY, 1000.*resslopeY, weight);
652 fit_dydz_trackx->Fill(positionX, 1000.*geom_resslopeY, weight);
653 fit_dydz_tracky->Fill(positionY, 1000.*geom_resslopeY, weight);
654 fit_dydz_trackdxdz->Fill(angleX, 1000.*geom_resslopeY, weight);
655 fit_dydz_trackdydz->Fill(angleY, 1000.*geom_resslopeY, weight);
658 hist_x_raw->Fill(10.*residX);
659 hist_y_raw->Fill(10.*residY);
660 hist_dxdz_raw->Fill(1000.*resslopeX);
661 hist_dydz_raw->Fill(1000.*resslopeY);
662 if (fabs(resslopeX) < 0.005) hist_x_cut->Fill(10.*residX);
663 if (fabs(resslopeY) < 0.030) hist_y_cut->Fill(10.*residY);
668 for (
int i = 1;
i <= hist_x->GetNbinsX();
i++) {
669 double xi = hist_x->GetBinCenter(
i);
670 double yi = hist_x->GetBinContent(
i);
671 double yerri = hist_x->GetBinError(
i);
672 double yth = fit_x->Eval(xi);
674 chi2 +=
pow((yth - yi)/yerri, 2);
678 for (
int i = 1;
i <= hist_y->GetNbinsX();
i++) {
679 double xi = hist_y->GetBinCenter(
i);
680 double yi = hist_y->GetBinContent(
i);
681 double yerri = hist_y->GetBinError(
i);
682 double yth = fit_y->Eval(xi);
684 chi2 +=
pow((yth - yi)/yerri, 2);
688 for (
int i = 1;
i <= hist_dxdz->GetNbinsX();
i++) {
689 double xi = hist_dxdz->GetBinCenter(
i);
690 double yi = hist_dxdz->GetBinContent(
i);
691 double yerri = hist_dxdz->GetBinError(
i);
692 double yth = fit_dxdz->Eval(xi);
694 chi2 +=
pow((yth - yi)/yerri, 2);
698 for (
int i = 1;
i <= hist_dydz->GetNbinsX();
i++) {
699 double xi = hist_dydz->GetBinCenter(
i);
700 double yi = hist_dydz->GetBinContent(
i);
701 double yerri = hist_dydz->GetBinError(
i);
702 double yth = fit_dydz->Eval(xi);
704 chi2 +=
pow((yth - yi)/yerri, 2);
710 return (ndof > 0. ? chi2 / ndof : -1.);
double MuonResiduals6DOFFitter_y(double delta_x, double delta_y, double delta_z, double delta_phix, double delta_phiy, double delta_phiz, double track_x, double track_y, double track_dxdz, double track_dydz, double alphay, double residual_dydz)
align::Scalar width() const
Double_t MuonResiduals6DOFFitter_y_trackx_TF1(Double_t *xvec, Double_t *par)
Double_t MuonResidualsFitter_powerLawTails_TF1(Double_t *xvec, Double_t *par)
Double_t MuonResiduals6DOFFitter_x_tracky_TF1(Double_t *xvec, Double_t *par)
Double_t MuonResiduals6DOFFitter_y_tracky_TF1(Double_t *xvec, Double_t *par)
int residualsModel() const
Double_t MuonResiduals6DOFFitter_x_trackx_TF1(Double_t *xvec, Double_t *par)
static double MuonResiduals6DOFFitter_sum_of_weights
Double_t MuonResiduals6DOFFitter_y_trackdydz_TF1(Double_t *xvec, Double_t *par)
Double_t MuonResiduals6DOFFitter_dxdz_trackx_TF1(Double_t *xvec, Double_t *par)
Double_t MuonResiduals6DOFFitter_dydz_trackdydz_TF1(Double_t *xvec, Double_t *par)
Double_t MuonResiduals6DOFFitter_dydz_trackdxdz_TF1(Double_t *xvec, Double_t *par)
Double_t MuonResiduals6DOFFitter_dydz_trackx_TF1(Double_t *xvec, Double_t *par)
double MuonResiduals6DOFFitter_dydz(double delta_x, double delta_y, double delta_z, double delta_phix, double delta_phiy, double delta_phiz, double track_x, double track_y, double track_dxdz, double track_dydz)
Double_t MuonResiduals6DOFFitter_dydz_tracky_TF1(Double_t *xvec, Double_t *par)
Double_t MuonResidualsFitter_GaussPowerTails_TF1(Double_t *xvec, Double_t *par)
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
Double_t MuonResiduals6DOFFitter_dxdz_trackdxdz_TF1(Double_t *xvec, Double_t *par)
double MuonResiduals6DOFFitter_dxdz(double delta_x, double delta_y, double delta_z, double delta_phix, double delta_phiy, double delta_phiz, double track_x, double track_y, double track_dxdz, double track_dydz)
Double_t MuonResidualsFitter_pureGaussian_TF1(Double_t *xvec, Double_t *par)
Double_t MuonResiduals6DOFFitter_x_trackdxdz_TF1(Double_t *xvec, Double_t *par)
align::Scalar length() const
std::vector< double * >::const_iterator residuals_end() const
Double_t MuonResiduals6DOFFitter_x_trackdydz_TF1(Double_t *xvec, Double_t *par)
double MuonResiduals6DOFFitter_x(double delta_x, double delta_y, double delta_z, double delta_phix, double delta_phiy, double delta_phiz, double track_x, double track_y, double track_dxdz, double track_dydz, double alphax, double residual_dxdz)
T * make() const
make new ROOT object
Double_t MuonResiduals6DOFFitter_dxdz_trackdydz_TF1(Double_t *xvec, Double_t *par)
Double_t MuonResidualsFitter_ROOTVoigt_TF1(Double_t *xvec, Double_t *par)
std::vector< double * >::const_iterator residuals_begin() const
Double_t MuonResiduals6DOFFitter_y_trackdxdz_TF1(Double_t *xvec, Double_t *par)
Power< A, B >::type pow(const A &a, const B &b)
Double_t MuonResiduals6DOFFitter_dxdz_tracky_TF1(Double_t *xvec, Double_t *par)