26{
27 if (m_track0 == 0 || m_track1 == 0 ) return false;
28 RecMdcKalTrack* pion1Trk = m_track0->mdcKalTrack();
29 RecMdcKalTrack* pion2Trk = m_track1->mdcKalTrack();
32 HepLorentzVector ksp4 = pion1p4 + pion2p4;
33 m_mksp4 = ksp4.m();
34
37
38 m_vtxFit->init();
39 m_vtxFit->setChisqCut(100);
40 m_vtxFit->AddTrack(0, wvTrk1);
41 m_vtxFit->AddTrack(1, wvTrk2);
42 m_vtxFit->AddVertex(0, m_vtxpar, 0, 1);
43 if ( ! m_vtxFit->Fit(0) ) return false;
44 m_vtxFit->Swim(0);
45 m_vtxFit->BuildVirtualParticle(0);
46 WTrackParameter wtKs = m_vtxFit->wVirtualTrack(0);
47 VertexParameter vtKs = m_vtxFit->vpar(0);
48
49 m_2ndVtxFit->init();
50 m_2ndVtxFit->setChisqCut(100);
51 m_2ndVtxFit->setPrimaryVertex(m_privtxpar);
52 m_2ndVtxFit->AddTrack(0, wtKs);
53 m_2ndVtxFit->setVpar(vtKs);
54 if ( ! m_2ndVtxFit->Fit() ) return false;
55 HepLorentzVector vp4Ks = m_2ndVtxFit->p4par();
56 m_p4 = vp4Ks;
57 m_vmks = vp4Ks.m();
58 m_vchi2ks1 = m_vtxFit->chisq(0);
59 m_vchi2ks2 = m_2ndVtxFit->chisq();
60 m_vlks = m_2ndVtxFit->decayLength();
61 m_vrks = m_2ndVtxFit->decayLength() / m_2ndVtxFit->decayLengthError();
62 return true;
63}
const HepLorentzVector p4() const
const HepVector & getZHelix() const
const HepSymMatrix & getZError() const