Calulates the (non-normalised) weight of a component the new mixture of vertices for the Gaussian Sum vertex filter. (c.f. Th.Speer & R. Fruewirth, Comp.Phys.Comm 174, 935 (2006) )
Definition at line 14 of file GsfVertexWeightCalculator.h.
Method to calculate the weight A negative weight is returned in case of error.
Definition at line 7 of file GsfVertexWeightCalculator.cc.
References a, b, change_name::diff, VertexState::error(), JetChargeProducer_cfi::exp, edm::isNotFinite(), M_PI, GlobalErrorBase< T, ErrorWeightType >::matrix(), VertexState::position(), funct::pow(), mathSSE::sqrt(), HLT_2022v15_cff::track, VertexState::weightInMixture(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by GsfVertexUpdator::createNewComponent(), and GsfVertexSmoother::createNewComponent().
23 oldVertexCoord[0] = oldVertexPosition.
x();
24 oldVertexCoord[1] = oldVertexPosition.
y();
25 oldVertexCoord[2] = oldVertexPosition.
z();
31 priorMomentumCov(0, 0) = 1.0E-9;
32 priorMomentumCov(1, 1) = 1.0E-6;
33 priorMomentumCov(2, 2) = 1.0E-6;
34 priorMomentumCov *= cov;
39 trackParametersError + ROOT::Math::Similarity(
a, oldVertexError) + ROOT::Math::Similarity(
b, priorMomentumCov);
43 int ifail = !sigmaM.Invert();
45 edm::LogWarning(
"GsfVertexWeightCalculator") <<
"S matrix inversion failed";
49 double chi = ROOT::Math::Similarity(
diff, sigmaM);
58 return weight * previousWeight;
LinearizedTrackState< 5 >::AlgebraicMatrixNM AlgebraicMatrixNM
constexpr bool isNotFinite(T x)
double weightInMixture() const
GlobalError error() const
const AlgebraicSymMatrix33 matrix() const
LinearizedTrackState< 5 >::AlgebraicMatrixN3 AlgebraicMatrixN3
LinearizedTrackState< 5 >::AlgebraicSymMatrixNN AlgebraicSymMatrixNN
LinearizedTrackState< 5 >::AlgebraicVectorN AlgebraicVectorN
ROOT::Math::SVector< double, 3 > AlgebraicVector3
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepSym< double, 3 > > AlgebraicSymMatrix33
Log< level::Warning, false > LogWarning
Power< A, B >::type pow(const A &a, const B &b)
GlobalPoint position() const