25 int vSize = lStates.size();
34 for(std::vector<KinematicState>::const_iterator
i = lStates.begin();
i != lStates.end();
i++)
37 for(
int j = 1;
j<lst_par.num_row()+1;
j++)
38 {d_a(3+7*cst+
j) = lst_par(
j);}
80 g.sub(n_eq+1, 1, e_matrix);
81 g.sub(n_eq+1, 4, d_matrix);
84 for(
int i = 1;
i< n_eq+1;
i++)
86 for(
int i = 1;
i<(2*vSize+1);
i++)
87 {val(
i+n_eq) = val_s(
i);}
91 for(
int i = 1;
i<=val.num_row();++
i) {
93 LogDebug(
"KinematicConstrainedVertexUpdator")
96 std::pair<std::vector<KinematicState>, AlgebraicMatrix>(std::vector<KinematicState>(),
AlgebraicMatrix(1,0)),
104 for(
int i = 1;
i<7*vSize+4; ++
i)
106 for(
int j = 1;
j<7*vSize+4; ++
j)
107 {
if(
i<=
j) in_cov_sym(
i,
j) = inCov(
i,
j);}
114 v_g_sym.invert(ifl1);
116 LogDebug(
"KinematicConstrainedVertexFitter")
117 <<
"Fit failed: unable to invert SYM gain matrix\n";
119 std::pair<std::vector<KinematicState>, AlgebraicMatrix>(std::vector<KinematicState>(),
AlgebraicMatrix(1,0)),
131 AlgebraicMatrix mFactor = in_cov_sym *(v_g_sym.similarityT(g))* in_cov_sym;
138 for(
int i = 1;
i<7*vSize+4; ++
i)
140 for(
int j = 1;
j<7*vSize+4; ++
j)
141 {
if(
i<=
j)r_cov_sym(
i,
j) = rCov(
i,
j);}
151 float ndf = 2*vSize - 3;
162 std::vector<KinematicState> ns;
163 for(std::vector<KinematicState>::iterator i_st=lStates.begin(); i_st != lStates.end(); i_st++)
166 for(
int i =0;
i<7;
i++)
167 {newPar(
i) = finPar(4 + i_int*7 +
i);}
174 ns.push_back(newState);
virtual AlgebraicMatrix positionDerivative(const std::vector< KinematicState >, const GlobalPoint &) const =0
auto_ptr< ClusterSequence > cs
VertexKinematicConstraint * vConstraint
virtual AlgebraicMatrix parametersDerivative(const std::vector< KinematicState >, const GlobalPoint &) const =0
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
GlobalErrorBase< double, ErrorMatrixTag > GlobalError
ROOT::Math::SVector< double, 7 > AlgebraicVector7
CLHEP::HepMatrix AlgebraicMatrix
KinematicConstrainedVertexUpdator()
virtual int numberOfEquations() const =0
KinematicVertexFactory * vFactory
CLHEP::HepVector AlgebraicVector
~KinematicConstrainedVertexUpdator()
ReferenceCountingPointer< KinematicVertex > RefCountedKinematicVertex
virtual AlgebraicMatrix parametersDerivative(const std::vector< KinematicState > states, const GlobalPoint &point) const
virtual AlgebraicMatrix positionDerivative(const std::vector< KinematicState > states, const GlobalPoint &point) const
CLHEP::HepSymMatrix AlgebraicSymMatrix
virtual AlgebraicVector value(const std::vector< KinematicState > states, const GlobalPoint &point) const
static RefCountedKinematicVertex vertex(const VertexState &state, float totalChiSq, float degreesOfFr)
virtual AlgebraicVector value(const std::vector< KinematicState >, const GlobalPoint &) const =0
std::pair< std::pair< std::vector< KinematicState >, AlgebraicMatrix >, RefCountedKinematicVertex > update(const AlgebraicVector &inState, const AlgebraicMatrix &inCov, std::vector< KinematicState > lStates, const GlobalPoint &lPoint, MultiTrackKinematicConstraint *cs) const