BOSS 6.6.4.p03
BESIII Offline Software System
Loading...
Searching...
No Matches
KinematicConstraints.cxx
Go to the documentation of this file.
1// #include <iostream>
3
4const int KinematicConstraints::Resonance = 1;
5const int KinematicConstraints::TotalEnergy = 2;
6const int KinematicConstraints::TotalMomentum = 4;
7const int KinematicConstraints::Position = 8;
8const int KinematicConstraints::ThreeMomentum = 16;
9const int KinematicConstraints::FourMomentum = 32;
10const int KinematicConstraints::EqualMass = 64;
11
13 m_Ec.clear();
14 m_Dc.clear();
15 m_dc.clear();
16 m_Vm.clear();
17 m_lambda.clear();
18 m_ltrk.clear();
19 m_nequal.clear();
20 m_nc=0;
21 m_mres = -1;
22 m_etot = -1;
23 m_ptot = -1;
24 m_p3 = Hep3Vector(0, 0, 0);
25 m_p4 = HepLorentzVector(0, 0, 0, 0);
26 m_phipre = 0;
27 m_lambdapre = 0;
28 m_Vre = HepSymMatrix(1,0);
29 m_Vme = HepSymMatrix(4,0);
30 m_Vne = HepSymMatrix(1,0);
31 m_Vpe = HepSymMatrix(2,0);
32}
33
34void KinematicConstraints::ResonanceConstraints(const double mres, std::vector<int> tlis, HepSymMatrix Vre)
35{
36 m_ltrk = tlis;
37 m_nc = 1;
40 setVre(Vre);
42}
43
44void KinematicConstraints::TotalEnergyConstraints(const double etot, std::vector<int> tlis)
45{
46 m_ltrk = tlis;
47 m_nc = 1;
50 HepSymMatrix tmp(1,0);
51 setVmeasure(tmp);
52}
53
54void KinematicConstraints::TotalMomentumConstraints(const double ptot, std::vector<int> tlis)
55{
56 m_ltrk = tlis;
57 m_nc = 1;
60 HepSymMatrix tmp(1,0);
61 setVmeasure(tmp);
62}
63
64void KinematicConstraints::ThreeMomentumConstraints(const Hep3Vector p3, std::vector<int> tlis)
65{
66 m_ltrk = tlis;
67 m_nc = 3;
68 setType(typeP3());
69 setP3(p3);
70 HepSymMatrix tmp(3,0);
71 setVmeasure(tmp);
72}
73
74void KinematicConstraints::FourMomentumConstraints(const HepLorentzVector p4, std::vector<int> tlis, HepSymMatrix Vme)
75{
76 m_ltrk = tlis;
77 m_nc = 4;
78 setType(typeP4());
79 setP4(p4);
80 setVme(Vme);
81 m_Vm.push_back(Vme);
83}
84
85void KinematicConstraints::EqualMassConstraints(std::vector<int> tlis1, std::vector<int> tlis2, HepSymMatrix Vne)
86{
87 m_ltrk.clear();
88 for(unsigned int i = 0; i < tlis1.size(); i++)
89 m_ltrk.push_back(tlis1[i]);
90 for(unsigned int i = 0; i < tlis2.size(); i++)
91 m_ltrk.push_back(tlis2[i]);
92 m_nc = 1;
94 setVne(Vne);
95 m_Vm.push_back(Vne);
96 m_nequal.clear();
97 m_nequal.push_back(tlis1.size());
98 m_nequal.push_back(tlis2.size());
100
101}
102/*
103void KinematicConstraints::PositionConstraints(const double phipre, const double lambdapre, std::vector<int> tlis_V, HepSymMatrix Vpe) {
104 m_ltrk_V = tlis_V;
105 m_nc = 2;
106 setType(typePoint());
107 setPhipre(phipre);
108 setLambdapre(lambdapre);
109 setVpe(Vpe);
110 m_Vm.push_back(Vpe);
111 setVmeasure(Vpe);
112}
113*/
Double_t etot
HepSymMatrix Vme() const
void setP4(const HepLorentzVector p4)
void FourMomentumConstraints(const HepLorentzVector p4, std::vector< int > tlis, HepSymMatrix Vme)
void ResonanceConstraints(const double mres, std::vector< int > tlis, HepSymMatrix Vre)
void setMres(const double mres)
HepSymMatrix Vre() const
void ThreeMomentumConstraints(const Hep3Vector p3, std::vector< int > tlis)
Hep3Vector p3() const
void TotalEnergyConstraints(const double etot, std::vector< int > tlis)
void setVne(const HepSymMatrix Vne)
void setType(const int type)
void setVme(const HepSymMatrix Vme)
HepSymMatrix Vne() const
void setEtot(const double etot)
HepLorentzVector p4() const
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 EqualMassConstraints(std::vector< int > tlis1, std::vector< int > tlis2, HepSymMatrix Vne)
void setP3(const Hep3Vector p3)