#include <DQAKsInfo.h>
Public Member Functions | |
DQAKsInfo () | |
DQAKsInfo (EvtRecTrack *, EvtRecTrack *, VertexParameter, VertexParameter) | |
~DQAKsInfo () | |
void | setchild (int n, EvtRecTrack *track) |
void | setchilds (EvtRecTrack *track0, EvtRecTrack *track1) |
EvtRecTrack * | getchild (int n) |
double | m () |
double | mksp4 () |
double | vtxChi2 () |
double | chi2 () |
double | decayLength () |
double | decayLengthRatio () |
HepLorentzVector | p4 () |
void | setVtxPar (VertexParameter vtxpar) |
void | setPrimaryVtxPar (VertexParameter privtxpar) |
bool | init () |
bool | calculate () |
Private Attributes | |
EvtRecTrack * | m_track0 |
EvtRecTrack * | m_track1 |
HepLorentzVector | m_p4 |
VertexFit * | m_vtxFit |
SecondVertexFit * | m_2ndVtxFit |
VertexParameter | m_vtxpar |
VertexParameter | m_privtxpar |
double | m_mksp4 |
double | m_vmks |
double | m_vchi2ks1 |
double | m_vchi2ks2 |
double | m_vlks |
double | m_vrks |
Definition at line 20 of file DQAKsInfo.h.
DQAKsInfo::DQAKsInfo | ( | ) |
Definition at line 3 of file DQAKsInfo.cxx.
References SecondVertexFit::instance(), VertexFit::instance(), m_2ndVtxFit, and m_vtxFit.
00003 : m_track0(0),m_track1(0) 00004 { 00005 m_vtxFit = VertexFit::instance(); 00006 m_2ndVtxFit = SecondVertexFit::instance(); 00007 }
DQAKsInfo::DQAKsInfo | ( | EvtRecTrack * | , | |
EvtRecTrack * | , | |||
VertexParameter | , | |||
VertexParameter | ||||
) |
Definition at line 9 of file DQAKsInfo.cxx.
References SecondVertexFit::instance(), VertexFit::instance(), m_2ndVtxFit, m_privtxpar, m_track0, m_track1, m_vtxFit, and m_vtxpar.
00010 { 00011 m_vtxFit = VertexFit::instance(); 00012 m_2ndVtxFit = SecondVertexFit::instance(); 00013 m_track0 = track0; 00014 m_track1 = track1; 00015 m_vtxpar = vtxpar; 00016 m_privtxpar = privtxpar; 00017 }
DQAKsInfo::~DQAKsInfo | ( | ) |
bool DQAKsInfo::calculate | ( | ) |
Definition at line 25 of file DQAKsInfo.cxx.
References TrackPool::AddTrack(), VertexFit::AddVertex(), VertexFit::BuildVirtualParticle(), SecondVertexFit::chisq(), VertexFit::chisq(), SecondVertexFit::decayLength(), SecondVertexFit::decayLengthError(), SecondVertexFit::Fit(), VertexFit::Fit(), RecMdcKalTrack::getZError(), RecMdcKalTrack::getZHelix(), SecondVertexFit::init(), VertexFit::init(), Ksinfo_mpi, m_2ndVtxFit, m_mksp4, m_p4, m_privtxpar, m_track0, m_track1, m_vchi2ks1, m_vchi2ks2, m_vlks, m_vmks, m_vrks, m_vtxFit, m_vtxpar, EvtRecTrack::mdcKalTrack(), DstMdcKalTrack::p4(), SecondVertexFit::p4par(), SecondVertexFit::setChisqCut(), VertexFit::setChisqCut(), SecondVertexFit::setPrimaryVertex(), SecondVertexFit::setVpar(), VertexFit::Swim(), VertexFit::vpar(), and VertexFit::wVirtualTrack().
Referenced by DQADtag::execute().
00026 { 00027 if (m_track0 == 0 || m_track1 == 0 ) return false; 00028 RecMdcKalTrack* pion1Trk = m_track0->mdcKalTrack(); 00029 RecMdcKalTrack* pion2Trk = m_track1->mdcKalTrack(); 00030 HepLorentzVector pion1p4 = pion1Trk->p4(Ksinfo_mpi); 00031 HepLorentzVector pion2p4 = pion2Trk->p4(Ksinfo_mpi); 00032 HepLorentzVector ksp4 = pion1p4 + pion2p4; 00033 m_mksp4 = ksp4.m(); 00034 00035 WTrackParameter wvTrk1(Ksinfo_mpi, pion1Trk->getZHelix(), pion1Trk->getZError()); 00036 WTrackParameter wvTrk2(Ksinfo_mpi, pion2Trk->getZHelix(), pion2Trk->getZError()); 00037 00038 m_vtxFit->init(); 00039 m_vtxFit->setChisqCut(100); 00040 m_vtxFit->AddTrack(0, wvTrk1); 00041 m_vtxFit->AddTrack(1, wvTrk2); 00042 m_vtxFit->AddVertex(0, m_vtxpar, 0, 1); 00043 if ( ! m_vtxFit->Fit(0) ) return false; 00044 m_vtxFit->Swim(0); 00045 m_vtxFit->BuildVirtualParticle(0); 00046 WTrackParameter wtKs = m_vtxFit->wVirtualTrack(0); 00047 VertexParameter vtKs = m_vtxFit->vpar(0); 00048 00049 m_2ndVtxFit->init(); 00050 m_2ndVtxFit->setChisqCut(100); 00051 m_2ndVtxFit->setPrimaryVertex(m_privtxpar); 00052 m_2ndVtxFit->AddTrack(0, wtKs); 00053 m_2ndVtxFit->setVpar(vtKs); 00054 if ( ! m_2ndVtxFit->Fit() ) return false; 00055 HepLorentzVector vp4Ks = m_2ndVtxFit->p4par(); 00056 m_p4 = vp4Ks; 00057 m_vmks = vp4Ks.m(); 00058 m_vchi2ks1 = m_vtxFit->chisq(0); 00059 m_vchi2ks2 = m_2ndVtxFit->chisq(); 00060 m_vlks = m_2ndVtxFit->decayLength(); 00061 m_vrks = m_2ndVtxFit->decayLength() / m_2ndVtxFit->decayLengthError(); 00062 return true; 00063 }
double DQAKsInfo::chi2 | ( | ) | [inline] |
Definition at line 57 of file DQAKsInfo.h.
References m_vchi2ks2.
Referenced by DQADtag::fillKsItem().
00058 { 00059 return m_vchi2ks2; 00060 }
double DQAKsInfo::decayLength | ( | ) | [inline] |
Definition at line 61 of file DQAKsInfo.h.
References m_vlks.
Referenced by DQADtag::fillKsItem().
00062 { 00063 return m_vlks; 00064 }
double DQAKsInfo::decayLengthRatio | ( | ) | [inline] |
Definition at line 65 of file DQAKsInfo.h.
References m_vrks.
Referenced by DQADtag::fillKsItem().
00066 { 00067 return m_vrks; 00068 }
EvtRecTrack* DQAKsInfo::getchild | ( | int | n | ) | [inline] |
bool DQAKsInfo::init | ( | ) | [inline] |
Definition at line 81 of file DQAKsInfo.h.
References SecondVertexFit::init(), VertexFit::init(), m_2ndVtxFit, and m_vtxFit.
00082 { 00083 m_vtxFit->init(); 00084 m_2ndVtxFit->init(); 00085 return true; 00086 }
double DQAKsInfo::m | ( | ) | [inline] |
Definition at line 45 of file DQAKsInfo.h.
References m_vmks.
Referenced by DQADtag::fillKsItem().
00046 { 00047 return m_vmks; 00048 }
double DQAKsInfo::mksp4 | ( | ) | [inline] |
Definition at line 49 of file DQAKsInfo.h.
References m_mksp4.
Referenced by DQADtag::fillKsItem().
00050 { 00051 return m_mksp4; 00052 }
HepLorentzVector DQAKsInfo::p4 | ( | ) | [inline] |
void DQAKsInfo::setchild | ( | int | n, | |
EvtRecTrack * | track | |||
) | [inline] |
void DQAKsInfo::setchilds | ( | EvtRecTrack * | track0, | |
EvtRecTrack * | track1 | |||
) | [inline] |
Definition at line 33 of file DQAKsInfo.h.
References m_track0, and m_track1.
Referenced by DQADtag::execute().
void DQAKsInfo::setPrimaryVtxPar | ( | VertexParameter | privtxpar | ) | [inline] |
Definition at line 77 of file DQAKsInfo.h.
References m_privtxpar.
Referenced by DQADtag::execute().
00078 { 00079 m_privtxpar = privtxpar; 00080 }
void DQAKsInfo::setVtxPar | ( | VertexParameter | vtxpar | ) | [inline] |
Definition at line 73 of file DQAKsInfo.h.
References m_vtxpar.
Referenced by DQADtag::execute().
00074 { 00075 m_vtxpar = vtxpar; 00076 }
double DQAKsInfo::vtxChi2 | ( | ) | [inline] |
Definition at line 53 of file DQAKsInfo.h.
References m_vchi2ks1.
Referenced by DQADtag::fillKsItem().
00054 { 00055 return m_vchi2ks1; 00056 }
SecondVertexFit* DQAKsInfo::m_2ndVtxFit [private] |
double DQAKsInfo::m_mksp4 [private] |
HepLorentzVector DQAKsInfo::m_p4 [private] |
VertexParameter DQAKsInfo::m_privtxpar [private] |
Definition at line 96 of file DQAKsInfo.h.
Referenced by calculate(), DQAKsInfo(), and setPrimaryVtxPar().
EvtRecTrack* DQAKsInfo::m_track0 [private] |
Definition at line 90 of file DQAKsInfo.h.
Referenced by calculate(), DQAKsInfo(), getchild(), setchild(), setchilds(), and ~DQAKsInfo().
EvtRecTrack* DQAKsInfo::m_track1 [private] |
Definition at line 91 of file DQAKsInfo.h.
Referenced by calculate(), DQAKsInfo(), getchild(), setchild(), setchilds(), and ~DQAKsInfo().
double DQAKsInfo::m_vchi2ks1 [private] |
double DQAKsInfo::m_vchi2ks2 [private] |
double DQAKsInfo::m_vlks [private] |
double DQAKsInfo::m_vmks [private] |
double DQAKsInfo::m_vrks [private] |
VertexFit* DQAKsInfo::m_vtxFit [private] |
VertexParameter DQAKsInfo::m_vtxpar [private] |