16 static KalmanKinematicFit*
instance();
21 void AddResonance(
int number,
double mres, std::vector<int> tlis );
25 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4 );
26 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5 );
27 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6 );
28 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
30 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
32 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
33 int n7,
int n8,
int n9 );
34 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
35 int n7,
int n8,
int n9,
int n10 );
36 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
37 int n7,
int n8,
int n9,
int n10,
int n11 );
38 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
39 int n7,
int n8,
int n9,
int n10,
int n11,
int n12 );
56 int n7,
int n8,
int n9 );
58 int n7,
int n8,
int n9,
int n10 );
60 int n7,
int n8,
int n9,
int n10,
int n11 );
62 int n7,
int n8,
int n9,
int n10,
int n11,
int n12 );
78 int n6,
int n7,
int n8 );
80 int n6,
int n7,
int n8,
int n9 );
82 int n6,
int n7,
int n8,
int n9,
int n10 );
84 int n6,
int n7,
int n8,
int n9,
int n10,
int n11 );
86 int n6,
int n7,
int n8,
int n9,
int n10,
int n11,
int n12 );
101 void AddEqualMass(
int number, std::vector<int> tlis1, std::vector<int> tlis2 );
122 void setChisqCut(
const double chicut = 200,
const double chiter = 0.05 ) {
132 void setTgraph( TGraph2D* graph2d ) { m_graph2d = graph2d; }
143 double chisq()
const {
return m_chi; }
144 double chisq(
int n )
const {
return m_chisq[
n]; }
147 HepLorentzVector
pfit(
int n )
const {
return p4Infit(
n ); }
150 HepLorentzVector
pfit1(
int n ) {
return p4Origin(
n ); }
151 HepVector
xfit() {
return m_q.sub( 1, 3 ); }
156 HepVector
pull(
int n );
163 HepVector
cpu()
const {
return m_cpu; }
171 std::vector<WTrackParameter> m_virtual_wtrk;
181 void covMatrix(
int n );
185 std::vector<KinematicConstraints> m_kc;
186 std::vector<double> m_chisq;
190 void setA(
int ic,
int itk,
const HepMatrix& p ) { m_A.sub( ic + 1, itk, p ); }
192 void setAT(
int itk,
int ic,
const HepMatrix& p ) { m_AT.sub( itk, ic + 1, p ); }
199 void setB(
int ic,
int itk,
const HepMatrix& p ) { m_B.sub( ic + 1, itk, p ); }
201 void setBT(
int itk,
int ic,
const HepMatrix& p ) { m_BT.sub( itk, ic + 1, p ); }
211 HepVector pOrigin(
int i )
const;
212 HepLorentzVector p4Origin(
int i )
const {
215 return HepLorentzVector( p[0], p[1], p[2], p[3] );
217 HepVector pInfit(
int i )
const;
218 HepLorentzVector p4Infit(
int i )
const {
221 return HepLorentzVector( p[0], p[1], p[2], p[3] );
224 void setPOrigin(
int i,
const HepVector& p ) { m_p0.sub( i, p ); }
225 void setPInfit(
int i,
const HepVector& p ) { m_p.sub( i, p ); }
226 void setCOrigin(
int i,
const HepSymMatrix& D ) { m_C0.sub( i, D ); }
227 void setCInfit(
int i,
const HepSymMatrix& D ) { m_C.sub( i, D ); }
233 HepSymMatrix m_D0inv;
236 void setQOrigin(
int i,
const HepVector&
q ) { m_q0.sub( i,
q ); }
237 void setQInfit(
int i,
const HepVector&
q ) { m_q.sub( i,
q ); }
238 void setDOrigin(
int i,
const HepSymMatrix& D ) { m_D0.sub( i, D ); }
239 void setDInfit(
int i,
const HepSymMatrix& D ) { m_D.sub( i, D ); }
240 void setDOriginInv(
int i,
const HepSymMatrix& Dinv ) { m_D0inv.sub( i, Dinv ); }
243 KalmanKinematicFit();
244 static KalmanKinematicFit* m_pointer;
254 double m_collideangle;
263 static const int NTRKPAR;
264 static const int NKFPAR;
265 static const int Resonance;
266 static const int TotalEnergy;
267 static const int TotalMomentum;
268 static const int ThreeMomentum;
269 static const int FourMomentum;
270 static const int EqualMass;
271 static const int Position;