File indexing completed on 2024-04-06 12:29:11
0001 #ifndef VertexKinematicConstraintT_H
0002 #define VertexKinematicConstraintT_H
0003
0004 #include "RecoVertex/KinematicFitPrimitives/interface/MultiTrackKinematicConstraintT.h"
0005 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
0006
0007
0008
0009
0010
0011
0012
0013
0014 class VertexKinematicConstraintT : public MultiTrackKinematicConstraintT<2, 4> {
0015 private:
0016 typedef MultiTrackKinematicConstraintT<2, 4> super;
0017
0018
0019
0020 double a_i[2];
0021 double novera[2], n[2], m[2], k[2], delta[2];
0022 GlobalVector mom[2];
0023 GlobalVector dpos[2];
0024
0025 public:
0026 VertexKinematicConstraintT();
0027
0028 ~VertexKinematicConstraintT() override;
0029
0030
0031 void init(const std::vector<KinematicState>& states, const GlobalPoint& point, const GlobalVector& mf) override;
0032
0033
0034
0035
0036 int numberOfEquations() const override;
0037
0038 VertexKinematicConstraintT* clone() const override { return new VertexKinematicConstraintT(*this); }
0039
0040 private:
0041
0042
0043
0044
0045
0046 void fillValue() const override;
0047
0048
0049
0050
0051
0052
0053 void fillParametersDerivative() const override;
0054
0055
0056
0057
0058
0059
0060 void fillPositionDerivative() const override;
0061
0062 private:
0063 };
0064 #endif