20 void AddResonance(
int number,
double mres, std::vector<int> tlis );
24 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4 );
25 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5 );
26 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6 );
27 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
29 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
31 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
32 int n7,
int n8,
int n9 );
33 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
34 int n7,
int n8,
int n9,
int n10 );
35 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
36 int n7,
int n8,
int n9,
int n10,
int n11 );
37 void AddResonance(
int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
38 int n7,
int n8,
int n9,
int n10,
int n11,
int n12 );
55 int n7,
int n8,
int n9 );
57 int n7,
int n8,
int n9,
int n10 );
59 int n7,
int n8,
int n9,
int n10,
int n11 );
61 int n7,
int n8,
int n9,
int n10,
int n11,
int n12 );
77 int n6,
int n7,
int n8 );
79 int n6,
int n7,
int n8,
int n9 );
81 int n6,
int n7,
int n8,
int n9,
int n10 );
83 int n6,
int n7,
int n8,
int n9,
int n10,
int n11 );
85 int n6,
int n7,
int n8,
int n9,
int n10,
int n11,
int n12 );
100 void AddEqualMass(
int number, std::vector<int> tlis1, std::vector<int> tlis2 );
120 void setChisqCut(
const double chicut = 200,
const double chiter = 0.05 ) {
127 void setKalman(
const int kalman ) { m_kalman = kalman; }
141 double chisq()
const {
return m_chi; }
142 double chisq(
int n )
const {
return m_chisq[
n]; }
145 HepLorentzVector
pfit(
int n )
const {
return p4Infit(
n ); }
148 HepLorentzVector
pfit1(
int n )
const {
return p4Origin(
n ); }
153 HepVector
pull(
int n );
159 HepVector
cpu()
const {
return m_cpu; }
165 std::vector<WTrackParameter> m_virtual_wtrk;
173 void covMatrix(
int n );
177 std::vector<KinematicConstraints> m_kc;
178 std::vector<double> m_chisq;
183 HepMatrix D(
int ic,
int itk )
const {
184 return m_D.sub( ic + 1, ic + 1, itk *
NTRKPAR + 1, ( itk + 1 ) *
NTRKPAR );
186 void setD(
int ic,
int itk,
const HepMatrix& p ) { m_D.sub( ic + 1, itk * NTRKPAR + 1, p ); }
188 HepMatrix DT(
int itk,
int ic )
const {
189 return m_DT.sub( itk * NTRKPAR + 1, ( itk + 1 ) * NTRKPAR, ic + 1, ic + 1 );
191 void setDT(
int itk,
int ic,
const HepMatrix& p ) {
192 m_DT.sub( itk * NTRKPAR + 1, ic + 1, p );
202 HepSymMatrix m_covOrigin;
203 HepSymMatrix m_covInfit;
204 HepVector m_massvector;
205 HepVector pOrigin(
int i )
const {
206 return m_pOrigin.sub( i * NTRKPAR + 1, ( i + 1 ) * NTRKPAR );
208 HepLorentzVector p4Origin(
int i )
const {
211 double E = sqrt( p[0] * p[0] + p[1] * p[1] + p[2] * p[2] +
213 return HepLorentzVector( p[0], p[1], p[2], E );
215 HepVector pInfit(
int i )
const {
216 return m_pInfit.sub( i * NTRKPAR + 1, ( i + 1 ) * NTRKPAR );
218 HepLorentzVector p4Infit(
int i )
const {
221 double E = sqrt( p[0] * p[0] + p[1] * p[1] + p[2] * p[2] +
223 return HepLorentzVector( p[0], p[1], p[2], E );
225 void setPOrigin(
int i,
const HepVector& p ) { m_pOrigin.sub( i * NTRKPAR + 1, p ); }
226 void setPInfit(
int i,
const HepVector& p ) { m_pInfit.sub( i * NTRKPAR + 1, p ); }
227 HepSymMatrix covOrigin(
int i )
const {
228 return m_covOrigin.sub( i * NTRKPAR + 1, ( i + 1 ) * NTRKPAR );
230 HepSymMatrix covInfit(
int i )
const {
231 return m_covInfit.sub( i * NTRKPAR + 1, ( i + 1 ) * NTRKPAR );
233 void setCovOrigin(
int i,
const HepSymMatrix& c ) { m_covOrigin.sub( i * NTRKPAR + 1, c ); }
234 void setCovInfit(
int i,
const HepSymMatrix& c ) { m_covInfit.sub( i * NTRKPAR + 1, c ); }
235 void setMassvector(
int i,
const double mass ) { m_massvector[i] =
mass; }
239 static KinematicFit* m_pointer;
250 double m_collideangle;
259 static const int NTRKPAR;
261 static const int Resonance;
262 static const int TotalEnergy;
263 static const int TotalMomentum;
264 static const int ThreeMomentum;
265 static const int FourMomentum;
266 static const int EqualMass;
267 static const int Position;