14 int num = states.size();
15 if(num!=2)
throw VertexException(
"VertexKinematicConstraintT !=2 states passed");
16 double mfz = fieldValue.
z();
19 for(std::vector<KinematicState>::const_iterator
i = states.begin();
i != states.end();
i++)
21 mom[
j] =
i->globalMomentum();
22 dpos[
j] = ipoint -
i->globalPosition();
23 a_i[
j] = -
i->particleCharge() * mfz;
27 double pvt2 = pvx*pvx+pvy*pvy;
43 for(
int j = 0;
j!=2; ++
j) {
59 ROOT::Math::SMatrix<double,2,7> el_part_d;
60 for(
int j = 0;
j!=2; ++
j) {
72 el_part_d(0,3) =
dpos[
j].
y();
73 el_part_d(0,4) = -
dpos[
j].
x();
81 el_part_d(0,0) =
mom[
j].
y();
82 el_part_d(0,1) = -
mom[
j].
x();
83 el_part_d(1,0) =
mom[
j].
x() * (
mom[
j].
z()*pt2Inverse);
84 el_part_d(1,1) =
mom[
j].
y() * (
mom[
j].
z()*pt2Inverse);
86 el_part_d(0,3) =
dpos[
j].
y();
87 el_part_d(0,4) = -
dpos[
j].
x();
98 ROOT::Math::SMatrix<double,2,3> el_part_e;
99 for(
int j = 0;
j!=2; ++
j) {
115 el_part_e(0,0) = -
mom[
j].
y();
116 el_part_e(0,1) =
mom[
j].
x();
117 el_part_e(1,0) = -
mom[
j].
x()*
mom[
j].
z()*pt2Inverse;
118 el_part_e(1,1) = -
mom[
j].
y()*
mom[
j].
z()*pt2Inverse;
virtual ~VertexKinematicConstraintT()
VertexKinematicConstraintT()
positionDerivativeType & jac_e() const
parametersDerivativeType & jac_d() const
virtual void fillParametersDerivative() const
virtual int numberOfEquations() const
virtual void fillValue() const
virtual void fillPositionDerivative() const
virtual void init(const std::vector< KinematicState > &states, const GlobalPoint &point, const GlobalVector &mf)