From 82994019623cdcddcf97afaf27e108e651555ada Mon Sep 17 00:00:00 2001 From: "se.gorbunov" <se.gorbunov@gsi.de> Date: Mon, 3 Oct 2022 21:33:27 +0000 Subject: [PATCH] L1: track fit: bug fix in time filtering --- reco/L1/L1Algo/L1TrackFitter.cxx | 15 --------------- reco/L1/L1Algo/L1TrackParFit.cxx | 10 ++++------ 2 files changed, 4 insertions(+), 21 deletions(-) diff --git a/reco/L1/L1Algo/L1TrackFitter.cxx b/reco/L1/L1Algo/L1TrackFitter.cxx index 5cf80ecedb..0c52de4b15 100644 --- a/reco/L1/L1Algo/L1TrackFitter.cxx +++ b/reco/L1/L1Algo/L1TrackFitter.cxx @@ -517,12 +517,8 @@ void L1Algo::L1KFTrackFitter() time_er_last = iif(w_time[ista] > fvec::Zero(), time_er_last, fvec(100.)); FilterFirst(T, x_last, y_last, staLast); - // FilterFirst( T1, x_last, y_last, time_last, time_er_last, staLast ); - FilterFirst(T1, x_last, y_last, time_last, time_er_last, staLast, d_xx_lst, d_yy_lst, d_xy_lst); - T1.FilterTime(time[ista], timeEr[ista], w_time[ista], sta[ista].timeInfo); - // fit.L1AddMaterial( T, sta[i].materialInfo, qp0, 1 ); fldZ1 = z[ista]; @@ -587,7 +583,6 @@ void L1Algo::L1KFTrackFitter() L1Filter(T, info, v[ista], w1); T1.Filter(info, v[ista], w1); - T1.FilterTime(time[ista], timeEr[ista], w1_time, sta[ista].timeInfo); fldB2 = fldB1; @@ -706,12 +701,8 @@ void L1Algo::L1KFTrackFitter() ista = 0; FilterFirst(T, x_first, y_first, staFirst); - // FilterFirst( T1, x_first, y_first, time_first, time_er_first, staFirst); - FilterFirst(T1, x_first, y_first, time_first, time_er_first, staFirst, d_xx_fst, d_yy_fst, d_xy_fst); - T1.FilterTime(time[ista], timeEr[ista], w_time[ista], sta[ista].timeInfo); - // fit.L1AddMaterial( T, sta[i].materialInfo, qp0, 1 ); qp0 = T.qp; qp01 = T1.fqp; @@ -775,7 +766,6 @@ void L1Algo::L1KFTrackFitter() info.sigma2 = d_v[ista] * d_v[ista]; T1.Filter(info, v[ista], w1); - T1.FilterTime(time[ista], timeEr[ista], w1_time, sta[ista].timeInfo); fldB2 = fldB1; @@ -1095,8 +1085,6 @@ void L1Algo::L1KFTrackFitterMuch() L1Filter(T, info, v[i], w1); T1.Filter(info, v[i], w1); - - T1.FilterTime(time[i], timeEr[i], w1, sta[i].timeInfo); } @@ -1175,7 +1163,6 @@ void L1Algo::L1KFTrackFitterMuch() info.sigma2 = d_yy[i]; L1Filter(T, info, v[i], w1); T1.Filter(info, v[i], w1); - T1.FilterTime(time[i], timeEr[i], w1, sta[i].timeInfo); } } @@ -1319,7 +1306,6 @@ void L1Algo::L1KFTrackFitterMuch() L1Filter(T, info, v[i], w1); T1.Filter(info, v[i], w1); - T1.FilterTime(time[i], timeEr[i], w1, sta[i].timeInfo); } @@ -1370,7 +1356,6 @@ void L1Algo::L1KFTrackFitterMuch() info = sta[i].backInfo; // info.sigma2 = d_v[i] * d_v[i]; T1.Filter(info, v[i], w1); - T1.FilterTime(time[i], timeEr[i], w1, sta[i].timeInfo); diff --git a/reco/L1/L1Algo/L1TrackParFit.cxx b/reco/L1/L1Algo/L1TrackParFit.cxx index 6122653435..9b17a2e81a 100644 --- a/reco/L1/L1Algo/L1TrackParFit.cxx +++ b/reco/L1/L1Algo/L1TrackParFit.cxx @@ -171,14 +171,12 @@ void L1TrackParFit::FilterTime(fvec t, fvec dt, fvec w, fvec timeInfo) // the calculations in the covariance matrix are not affected const fmask maskDoFilter = (HCH < dt2 * 16.f); - //const fvec maskDoFilter = _f32vec4_true; - fvec wi = w / (dt2 + 1.0000001f * HCH); + fvec wi = w / (dt2 + fvec(1.0000001) * HCH); fvec zeta = ft - t; fvec zetawi = w * zeta / (iif(maskDoFilter, dt2, fvec::Zero()) + HCH); - //T.chi2 += maskDoFilter & (zeta * zetawi); - chi2 += zeta * zeta * wi; + chi2(maskDoFilter) += zeta * zeta * wi; NDF += w; fvec K1 = F1 * wi; @@ -449,8 +447,8 @@ void z_out = iif((fvec(0.f) < w), z_out, fz); - fvec qp_in = fqp; - const fvec h = (z_out - fz); + fvec qp_in = fqp; + const fvec h = (z_out - fz); // cout<<h<<" h"<<endl; // cout<<ftx<<" ftx"<<endl; -- GitLab