7 int inSize = exPoint.num_row();
9 throw VertexException(
"BackToBackKinematicConstraint::linearization point has a wrong dimension");
14 vl(1) =
pr(4) +
pr(11);
15 vl(2) =
pr(5) +
pr(12);
16 vl(3) =
pr(6) +
pr(13);
17 return std::pair<AlgebraicVector, AlgebraicVector>(vl,
pr);
23 int inSize = exPoint.num_row();
25 throw VertexException(
"BackToBackKinematicConstraint::linearization point has a wrong dimension");
36 return std::pair<AlgebraicMatrix, AlgebraicVector>(
dr,
pr);
40 const std::vector<RefCountedKinematicParticle>& par)
const {
41 int nStates = par.size();
43 throw VertexException(
"BackToBackKinematicConstraint::number of tracks is not equal to 2");
46 for (std::vector<RefCountedKinematicParticle>::const_iterator
i = par.begin();
i != par.end();
i++) {
48 for (
int j = 1;
j < 8;
j++) {
54 AlgebraicVector st1 = asHepVector<7>(par[0]->currentState().kinematicParameters().vector());
55 AlgebraicVector st2 = asHepVector<7>(par[1]->currentState().kinematicParameters().vector());
56 vl(1) = st1(4) + st2(4);
57 vl(2) = st1(5) + st2(5);
58 vl(3) = st1(6) + st2(6);
60 return std::pair<AlgebraicVector, AlgebraicVector>(vl,
point);
64 const std::vector<RefCountedKinematicParticle>& par)
const {
65 int nStates = par.size();
67 throw VertexException(
"BackToBackKinematicConstraint::number of tracks is not equal to 2");
70 for (std::vector<RefCountedKinematicParticle>::const_iterator
i = par.begin();
i != par.end();
i++) {
72 for (
int j = 1;
j < 8;
j++) {
79 return std::pair<AlgebraicMatrix, AlgebraicVector>(
dr,
point);
ROOT::Math::SVector< double, 7 > AlgebraicVector7
__host__ __device__ VT * co
std::pair< AlgebraicMatrix, AlgebraicVector > derivative(const AlgebraicVector &exPoint) const override
std::pair< AlgebraicVector, AlgebraicVector > value(const AlgebraicVector &exPoint) const override
CLHEP::HepMatrix AlgebraicMatrix
CLHEP::HepVector AlgebraicVector
int numberOfEquations() const override
AlgebraicVector deviations(int nStates) const override
*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
BackToBackKinematicConstraint()
KinematicConstraint * clone() const override