13 template <
typename input_track_t>
16 detail::update<input_track_t>(
vtx, trk, 1);
19 template <
typename input_track_t>
30 double chi2 = fitQuality.first;
31 double ndf = fitQuality.second;
34 double trkChi2 = detail::trackParametersChi2<input_track_t>(
38 chi2 += sign * (detail::vertexPositionChi2<input_track_t>(
vtx, matrixCache) +
39 trackWeight * trkChi2);
42 ndf += sign * trackWeight * 2.;
47 vtx.setFitQuality(chi2, ndf);
55 trk.
ndf = 2 * trackWeight;
63 template <
typename input_track_t>
83 (momJac.transpose() * (trkParamWeight * momJac)).inverse();
89 (momJac * (matrixCache.
momWeightInv * momJac.transpose())) *
90 trkParamWeight.transpose();
95 trackWeight * sign * posJac.transpose() * (gBmat * posJac);
101 trackWeight * sign * posJac.transpose() *
102 gBmat * (trkParams - constTerm));
105 template <
typename input_track_t>
114 template <
typename input_track_t>
129 trkParamWeight * (trkParams - constTerm - jacVtx);
132 ActsVectorD<5> newTrkParams = constTerm + jacVtx + momJac * newTrackMomentum;
138 return paramDiff.transpose() * (trkParamWeight * paramDiff);