From 98675bfab49c68f55be029031dfa3cfa50c40e54 Mon Sep 17 00:00:00 2001 From: Valentina <v.akishina@gsi.de> Date: Wed, 15 Sep 2021 14:56:47 +0200 Subject: [PATCH] L1: exclude MVD from time --- reco/L1/L1Algo/L1TrackFitter.cxx | 16 ++++++++-------- reco/L1/L1Algo/L1TrackParFit.cxx | 13 +++++++------ reco/L1/L1Algo/L1TrackParFit.h | 2 +- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/reco/L1/L1Algo/L1TrackFitter.cxx b/reco/L1/L1Algo/L1TrackFitter.cxx index 799d4de8bf..1c47db2e0b 100644 --- a/reco/L1/L1Algo/L1TrackFitter.cxx +++ b/reco/L1/L1Algo/L1TrackFitter.cxx @@ -471,7 +471,7 @@ void L1Algo::L1KFTrackFitter() FilterFirst(T1, x_last, y_last, time_last, time_er_last, staLast, d_x_lst, d_y_lst, d_xy_lst); - T1.Filter(time[i], timeEr[i], w_time[i]); + T1.Filter(time[i], timeEr[i], w_time[i], sta[i].timeInfo); // fit.L1AddMaterial( T, sta[i].materialInfo, qp0, 1 ); @@ -539,7 +539,7 @@ void L1Algo::L1KFTrackFitter() L1Filter(T, sta[i].backInfo, v[i], w1); T1.Filter(info, v[i], w1); - T1.Filter(time[i], timeEr[i], w1_time); + T1.Filter(time[i], timeEr[i], w1_time, sta[i].timeInfo); fB2 = fB1; @@ -633,7 +633,7 @@ void L1Algo::L1KFTrackFitter() FilterFirst(T1, x_first, y_first, time_first, time_er_first, staFirst, d_x_fst, d_y_fst, d_xy_fst); - T1.Filter(time[i], timeEr[i], w_time[i]); + T1.Filter(time[i], timeEr[i], w_time[i], sta[i].timeInfo); // fit.L1AddMaterial( T, sta[i].materialInfo, qp0, 1 ); qp0 = T.qp; @@ -698,7 +698,7 @@ void L1Algo::L1KFTrackFitter() T1.Filter(info, v[i], w1); - T1.Filter(time[i], timeEr[i], w1_time); + T1.Filter(time[i], timeEr[i], w1_time, sta[i].timeInfo); fB2 = fB1; fz2 = fz1; @@ -976,7 +976,7 @@ void L1Algo::L1KFTrackFitterMuch() T1.Filter(info, v[i], w1); - T1.Filter(time[i], timeEr[i], w1); + T1.Filter(time[i], timeEr[i], w1, sta[i].timeInfo); } if (i >= 8) { @@ -1061,7 +1061,7 @@ void L1Algo::L1KFTrackFitterMuch() L1Filter(T, info, v[i], w1); T1.Filter(info, v[i], w1); - T1.Filter(time[i], timeEr[i], w1); + T1.Filter(time[i], timeEr[i], w1, sta[i].timeInfo); } } // fit.L1AddHalfMaterial( T, sta[i].materialInfo, qp0 ); @@ -1208,7 +1208,7 @@ void L1Algo::L1KFTrackFitterMuch() L1Filter(T, info, v[i], w1); T1.Filter(info, v[i], w1); - T1.Filter(time[i], timeEr[i], w1); + T1.Filter(time[i], timeEr[i], w1, sta[i].timeInfo); } if (i < 7) { @@ -1259,7 +1259,7 @@ void L1Algo::L1KFTrackFitterMuch() // info.sigma2 = d_v[i] * d_v[i]; T1.Filter(info, v[i], w1); - T1.Filter(time[i], timeEr[i], w1); + T1.Filter(time[i], timeEr[i], w1, sta[i].timeInfo); fB2 = fB1; diff --git a/reco/L1/L1Algo/L1TrackParFit.cxx b/reco/L1/L1Algo/L1TrackParFit.cxx index 934a0c8f93..07f1efefd9 100644 --- a/reco/L1/L1Algo/L1TrackParFit.cxx +++ b/reco/L1/L1Algo/L1TrackParFit.cxx @@ -146,7 +146,7 @@ void L1TrackParFit::FilterNoP(L1UMeasurementInfo& info, fvec u, fvec w) C55 -= K5 * F5; } -void L1TrackParFit::Filter(fvec t0, fvec dt0, fvec w) +void L1TrackParFit::Filter(fvec t0, fvec dt0, fvec w, fvec timeInfo) { fvec wi, zeta, zetawi, HCH; fvec F0, F1, F2, F3, F4, F5; @@ -165,16 +165,17 @@ void L1TrackParFit::Filter(fvec t0, fvec dt0, fvec w) F4 = C54; F5 = C55; -#if 0 // use mask - const fvec mask = (HCH < info.sigma2 * 16.); - wi = w/( (mask & info.sigma2) +HCH ); - zetawi = zeta *wi; - chi2 += mask & (zeta * zetawi); +#if 1 // use mask + const fvec mask = (timeInfo > 0); + wi = mask & w / (dt0 * dt0 + HCH); + zetawi = zeta * wi; + chi2 += mask & (zeta * zetawi); #else wi = w / (dt0 * dt0 + HCH); zetawi = zeta * wi; chi2 += zeta * zetawi; #endif // 0 + NDF += w; K1 = F1 * wi; diff --git a/reco/L1/L1Algo/L1TrackParFit.h b/reco/L1/L1Algo/L1TrackParFit.h index 9e327be3b1..d292523520 100644 --- a/reco/L1/L1Algo/L1TrackParFit.h +++ b/reco/L1/L1Algo/L1TrackParFit.h @@ -106,7 +106,7 @@ public: fvec GetParticleMass2() const { return fMass2; } void Filter(L1UMeasurementInfo& info, fvec u, fvec w = 1.); - void Filter(fvec t0, fvec dt0, fvec w = 1.); + void Filter(fvec t0, fvec dt0, fvec w = 1., fvec timeInfo = 1.); void FilterNoP(L1UMeasurementInfo& info, fvec u, fvec w = 1.); void Extrapolate(fvec z_out, fvec qp0, const L1FieldRegion& F, fvec* w = 0); void ExtrapolateLine(fvec z_out, fvec* w = 0); -- GitLab