8 deviation_l(7) = sigma * sigma;
17 if(exPoint.num_row() ==0 )
throw VertexException(
"MomentumKinematicConstraint::value requested for zero Linearization point");
20 int inSize = exPoint.num_row();
21 if((inSize%7) !=0)
throw VertexException(
"MomentumKinematicConstraint::linearization point has a wrong dimension");
22 int nStates = inSize/7;
23 if(nStates !=1)
throw VertexException(
"MassKinematicConstraint::multiple state refit is not supported in this version");
27 return std::pair<AlgebraicVector,AlgebraicVector>(vl,
point);
32 if(exPoint.num_row() == 0)
throw VertexException(
"MomentumKinematicConstraint::deriavtive requested for zero Linearization point");
35 int inSize = exPoint.num_row();
36 if((inSize%7) !=0)
throw VertexException(
"MomentumKinematicConstraint::linearization point has a wrong dimension");
37 int nStates = inSize/7;
38 if(nStates !=1)
throw VertexException(
"MassKinematicConstraint::multiple state refit is not supported in this version");
42 return std::pair<AlgebraicMatrix,AlgebraicVector>(
dr,
point);
47 int nStates = par.size();
48 if(nStates == 0)
throw VertexException(
"MassKinematicConstraint::empty vector of particles passed");
49 if(nStates !=1)
throw VertexException(
"MassKinematicConstraint::multiple state refit is not supported in this version");
51 AlgebraicVector point = asHepVector<7>(par.front()->currentState().kinematicParameters().vector());
54 return std::pair<AlgebraicVector,AlgebraicVector>(vl,
point);
59 int nStates = par.size();
60 if(nStates == 0)
throw VertexException(
"MassKinematicConstraint::empty vector of particles passed");
61 if(nStates !=1)
throw VertexException(
"MassKinematicConstraint::multiple state refit is not supported in this version");
63 AlgebraicVector point = asHepVector<7>(par.front()->currentState().kinematicParameters().vector());
66 return std::pair<AlgebraicMatrix,AlgebraicVector>(
dr,
point);
71 if(nStates == 0)
throw VertexException(
"MassKinematicConstraint::empty vector of particles passed");
72 if(nStates !=1)
throw VertexException(
"MassKinematicConstraint::multiple state refit is not supported in this version");
AlgebraicVector deviations(int nStates) const override
CLHEP::HepMatrix AlgebraicMatrix
CLHEP::HepVector AlgebraicVector
std::pair< AlgebraicMatrix, AlgebraicVector > derivative(const AlgebraicVector &exPoint) const override
int numberOfEquations() const override
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