BOSS 7.0.4
BESIII Offline Software System
Loading...
Searching...
No Matches
KinematicConstraints.cxx
Go to the documentation of this file.
1// #include <iostream>
2#include "VertexFit/KinematicConstraints.h"
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
void FourMomentumConstraints(const HepLorentzVector p4, std::vector< int > tlis, HepSymMatrix Vme)
void ResonanceConstraints(const double mres, std::vector< int > tlis, HepSymMatrix Vre)
void ThreeMomentumConstraints(const Hep3Vector p3, std::vector< int > tlis)
void TotalEnergyConstraints(const double etot, std::vector< int > tlis)
void TotalMomentumConstraints(const double ptot, std::vector< int > tlis)
void EqualMassConstraints(std::vector< int > tlis1, std::vector< int > tlis2, HepSymMatrix Vne)