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