7 deviation_l(7) = sigma * sigma;
14 if (exPoint.num_row() == 0)
15 throw VertexException(
"MomentumKinematicConstraint::value requested for zero Linearization point");
18 int inSize = exPoint.num_row();
19 if ((inSize % 7) != 0)
20 throw VertexException(
"MomentumKinematicConstraint::linearization point has a wrong dimension");
21 int nStates = inSize / 7;
23 throw VertexException(
"MassKinematicConstraint::multiple state refit is not supported in this version");
27 return std::pair<AlgebraicVector, AlgebraicVector>(vl,
point);
31 if (exPoint.num_row() == 0)
32 throw VertexException(
"MomentumKinematicConstraint::deriavtive requested for zero Linearization point");
35 int inSize = exPoint.num_row();
36 if ((inSize % 7) != 0)
37 throw VertexException(
"MomentumKinematicConstraint::linearization point has a wrong dimension");
38 int nStates = inSize / 7;
40 throw VertexException(
"MassKinematicConstraint::multiple state refit is not supported in this version");
44 return std::pair<AlgebraicMatrix, AlgebraicVector>(
dr,
point);
48 const std::vector<RefCountedKinematicParticle>& par)
const {
49 int nStates = par.size();
51 throw VertexException(
"MassKinematicConstraint::empty vector of particles passed");
53 throw VertexException(
"MassKinematicConstraint::multiple state refit is not supported in this version");
55 AlgebraicVector point = asHepVector<7>(par.front()->currentState().kinematicParameters().vector());
58 return std::pair<AlgebraicVector, AlgebraicVector>(vl,
point);
62 const std::vector<RefCountedKinematicParticle>& par)
const {
63 int nStates = par.size();
65 throw VertexException(
"MassKinematicConstraint::empty vector of particles passed");
67 throw VertexException(
"MassKinematicConstraint::multiple state refit is not supported in this version");
69 AlgebraicVector point = asHepVector<7>(par.front()->currentState().kinematicParameters().vector());
72 return std::pair<AlgebraicMatrix, AlgebraicVector>(
dr,
point);
77 throw VertexException(
"MassKinematicConstraint::empty vector of particles passed");
79 throw VertexException(
"MassKinematicConstraint::multiple state refit is not supported in this version");
std::pair< AlgebraicMatrix, AlgebraicVector > derivative(const AlgebraicVector &exPoint) const override
AlgebraicVector deviations(int nStates) const override
CLHEP::HepMatrix AlgebraicMatrix
int numberOfEquations() const override
CLHEP::HepVector AlgebraicVector
std::pair< AlgebraicVector, AlgebraicVector > value(const AlgebraicVector &exPoint) const override
MassKinematicConstraint(const ParticleMass &m, const float sigma)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point