1#ifndef VertexFit_Kinematic_Constraints_H
2#define VertexFit_Kinematic_Constraints_H
7#include "CLHEP/Matrix/Matrix.h"
8#include "CLHEP/Matrix/Vector.h"
9#include "CLHEP/Vector/LorentzVector.h"
10#include "CLHEP/Vector/ThreeVector.h"
12#include "VertexFit/WTrackParameter.h"
13using CLHEP::Hep3Vector;
14using CLHEP::HepLorentzVector;
15using CLHEP::HepMatrix;
16using CLHEP::HepVector;
25 int Type()
const {
return m_type; }
42 std::vector<HepMatrix>
Ec() {
return m_Ec; }
43 std::vector<HepMatrix>
Dc() {
return m_Dc; }
44 std::vector<HepVector>
dc() {
return m_dc; }
45 std::vector<HepVector>
lambda() {
return m_lambda; }
46 std::vector<HepSymMatrix>
Vm() {
return m_Vm; }
47 std::vector<HepSymMatrix>
VD() {
return m_VD; }
48 std::vector<int>
Ltrk() {
return m_ltrk; }
49 int nc() {
return m_nc; }
52 void setVD( HepSymMatrix vd ) { m_VD[0] = vd; }
60 int typeP3()
const {
return ThreeMomentum; }
61 int typeP4()
const {
return FourMomentum; }
65 double mres()
const {
return m_mres; }
66 double etot()
const {
return m_etot; }
67 double ptot()
const {
return m_ptot; }
69 Hep3Vector
p3()
const {
return m_p3; }
70 HepLorentzVector
p4()
const {
return m_p4; }
71 double phipre()
const {
return m_phipre; }
73 HepSymMatrix
Vre()
const {
return m_Vre; }
74 HepSymMatrix
Vme()
const {
return m_Vme; }
75 HepSymMatrix
Vne()
const {
return m_Vne; }
76 HepSymMatrix
Vpe()
const {
return m_Vpe; }
77 HepSymMatrix
Vmeasure()
const {
return m_Vmeasure; }
78 std::vector<int>
numEqual() {
return m_nequal; }
84 void setP4(
const HepLorentzVector
p4 ) { m_p4 =
p4; }
85 void setP4(
const double etot ) { m_p4 = HepLorentzVector( 0., 0., 0.,
etot ); }
94 void setNumEqual( std::vector<int> nequal ) { m_nequal = nequal; }
98 std::vector<HepMatrix> m_Dc;
99 std::vector<HepMatrix> m_Ec;
100 std::vector<HepVector> m_dc;
101 std::vector<HepSymMatrix> m_Vm;
102 std::vector<HepVector> m_lambda;
103 std::vector<HepSymMatrix> m_VD;
104 std::vector<int> m_ltrk;
110 HepLorentzVector m_p4;
114 HepSymMatrix m_Vmeasure;
119 std::vector<int> m_nequal;
121 static const int Resonance;
122 static const int TotalEnergy;
123 static const int TotalMomentum;
124 static const int ThreeMomentum;
125 static const int FourMomentum;
126 static const int EqualMass;
127 static const int Position;
135 m_lambda = kc.m_lambda;
144 m_phipre = kc.m_phipre;
145 m_lambdapre = kc.m_lambdapre;
146 m_nequal = kc.m_nequal;
151 m_Vmeasure = kc.m_Vmeasure;
161 m_lambda = kc.m_lambda;
170 m_phipre = kc.m_phipre;
171 m_lambdapre = kc.m_lambdapre;
172 m_nequal = kc.m_nequal;
177 m_Vmeasure = kc.m_Vmeasure;
HepGeom::Point3D< double > HepPoint3D
std::vector< HepMatrix > Ec()
std::vector< HepSymMatrix > VD()
void setVD(HepSymMatrix vd)
void setP4(const double etot)
void setP4(const HepLorentzVector p4)
void setLambda(HepVector lambda)
std::vector< HepSymMatrix > Vm()
KinematicConstraints & operator=(const KinematicConstraints &)
void FourMomentumConstraints(const HepLorentzVector p4, std::vector< int > tlis, HepSymMatrix Vme)
std::vector< int > Ltrk()
void ResonanceConstraints(const double mres, std::vector< int > tlis, HepSymMatrix Vre)
void setNumEqual(std::vector< int > nequal)
void setMres(const double mres)
HepSymMatrix Vmeasure() const
void ThreeMomentumConstraints(const Hep3Vector p3, std::vector< int > tlis)
void TotalEnergyConstraints(const double etot, std::vector< int > tlis)
void setVne(const HepSymMatrix Vne)
void setType(const int type)
void setVme(const HepSymMatrix Vme)
std::vector< HepVector > lambda()
void setEtot(const double etot)
std::vector< int > numEqual()
std::vector< HepVector > dc()
HepLorentzVector p4() const
std::vector< HepMatrix > Dc()
void setLambdapre(const double lambdapre)
void setVpe(const HepSymMatrix Vpe)
void setVre(const HepSymMatrix Vre)
void setPtot(const double ptot)
void TotalMomentumConstraints(const double ptot, std::vector< int > tlis)
void setVmeasure(const HepSymMatrix Vmeasure)
void setPhipre(const double phipre)
void setPoint(const HepPoint3D x)
void EqualMassConstraints(std::vector< int > tlis1, std::vector< int > tlis2, HepSymMatrix Vne)
void setP3(const Hep3Vector p3)