diff --git a/reco/L1/L1Algo/L1Filtration.h b/reco/L1/L1Algo/L1Filtration.h index 6e1a095e475476e5026cc80976e06b5fa6310e96..08229ffb8e1d06d91e823827168acd5f191a68a3 100644 --- a/reco/L1/L1Algo/L1Filtration.h +++ b/reco/L1/L1Algo/L1Filtration.h @@ -42,7 +42,7 @@ inline void FilterTime(L1TrackPar& T, fvec t, fvec dt, fvec timeInfo = 1., fvec fvec wi = w / (dt2 + 1.0000001f * HCH); fvec zeta = T.t - t; - fvec zetawi = zeta / ((maskDoFilter & dt2) + HCH); + fvec zetawi = w * zeta / ((maskDoFilter & dt2) + HCH); //T.chi2 += maskDoFilter & (zeta * zetawi); T.chi2 += zeta * zeta * wi; @@ -106,14 +106,14 @@ inline void L1Filter(L1TrackPar& T, const L1UMeasurementInfo& info, fvec u, fvec // it helps to keep the initial track errors reasonably small // the calculations in the covariance matrix are not affected - //const fvec maskDoFilter = (HCH < info.sigma2 * 16.f); - const fvec maskDoFilter = _f32vec4_true; + const fvec maskDoFilter = (HCH < info.sigma2 * 16.f); + //const fvec maskDoFilter = _f32vec4_true; // correction to HCH is needed for the case when sigma2 is so small // with respect to HCH that it disappears due to the roundoff error // fvec wi = w / (info.sigma2 + 1.0000001f * HCH); - fvec zetawi = zeta / ((maskDoFilter & info.sigma2) + HCH); + fvec zetawi = w * zeta / ((maskDoFilter & info.sigma2) + HCH); // T.chi2 += maskDoFilter & (zeta * zetawi); T.chi2 += zeta * zeta * wi;