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