BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
DQAKsInfo Class Reference

#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)
 
EvtRecTrackgetchild (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 ()
 

Detailed Description

Definition at line 20 of file DQAKsInfo.h.

Constructor & Destructor Documentation

◆ DQAKsInfo() [1/2]

DQAKsInfo::DQAKsInfo ( )

Definition at line 3 of file DQAKsInfo.cxx.

3 : m_track0(0),m_track1(0)
4{
5 m_vtxFit = VertexFit::instance();
6 m_2ndVtxFit = SecondVertexFit::instance();
7}
static SecondVertexFit * instance()
static VertexFit * instance()
Definition VertexFit.cxx:15

◆ DQAKsInfo() [2/2]

DQAKsInfo::DQAKsInfo ( EvtRecTrack * track0,
EvtRecTrack * track1,
VertexParameter vtxpar,
VertexParameter privtxpar )

Definition at line 9 of file DQAKsInfo.cxx.

10{
11 m_vtxFit = VertexFit::instance();
12 m_2ndVtxFit = SecondVertexFit::instance();
13 m_track0 = track0;
14 m_track1 = track1;
15 m_vtxpar = vtxpar;
16 m_privtxpar = privtxpar;
17}

◆ ~DQAKsInfo()

DQAKsInfo::~DQAKsInfo ( )

Definition at line 18 of file DQAKsInfo.cxx.

19{
20 m_track0 = 0;
21 m_track1 = 0;
22 m_p4 = HepLorentzVector(0,0,0,0);
23 m_vmks = 0;
24}

Member Function Documentation

◆ calculate()

bool DQAKsInfo::calculate ( )

Definition at line 25 of file DQAKsInfo.cxx.

26{
27 if (m_track0 == 0 || m_track1 == 0 ) return false;
28 RecMdcKalTrack* pion1Trk = m_track0->mdcKalTrack();
29 RecMdcKalTrack* pion2Trk = m_track1->mdcKalTrack();
30 HepLorentzVector pion1p4 = pion1Trk->p4(Ksinfo_mpi);
31 HepLorentzVector pion2p4 = pion2Trk->p4(Ksinfo_mpi);
32 HepLorentzVector ksp4 = pion1p4 + pion2p4;
33 m_mksp4 = ksp4.m();
34
35 WTrackParameter wvTrk1(Ksinfo_mpi, pion1Trk->getZHelix(), pion1Trk->getZError());
36 WTrackParameter wvTrk2(Ksinfo_mpi, pion2Trk->getZHelix(), pion2Trk->getZError());
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 double Ksinfo_mpi
Definition DQAKsInfo.h:18
const HepLorentzVector p4() const
RecMdcKalTrack * mdcKalTrack()
Definition EvtRecTrack.h:54
const HepVector & getZHelix() const
const HepSymMatrix & getZError() const
HepLorentzVector p4par() const
void setPrimaryVertex(const VertexParameter vpar)
double decayLength() const
double decayLengthError() const
void setVpar(const VertexParameter vpar)
double chisq() const
void setChisqCut(const double chicut=500, const double chiter=1.0e-2)
void AddTrack(const int number, const double mass, const RecMdcTrack *trk)
Definition TrackPool.cxx:22
double chisq() const
Definition VertexFit.h:66
WTrackParameter wVirtualTrack(int n) const
Definition VertexFit.h:92
void init()
Definition VertexFit.cxx:29
void AddVertex(int number, VertexParameter vpar, std::vector< int > lis)
Definition VertexFit.cxx:89
VertexParameter vpar(int n) const
Definition VertexFit.h:89
void BuildVirtualParticle(int number)
void Swim(int n)
Definition VertexFit.h:59
bool Fit()
void setChisqCut(const double chicut=1000, const double chiter=1.0e-3)
Definition VertexFit.h:49

Referenced by DQADtag::execute().

◆ chi2()

double DQAKsInfo::chi2 ( )
inline

Definition at line 57 of file DQAKsInfo.h.

58{
59 return m_vchi2ks2;
60}

◆ decayLength()

double DQAKsInfo::decayLength ( )
inline

Definition at line 61 of file DQAKsInfo.h.

62{
63 return m_vlks;
64}

◆ decayLengthRatio()

double DQAKsInfo::decayLengthRatio ( )
inline

Definition at line 65 of file DQAKsInfo.h.

66{
67 return m_vrks;
68}

◆ getchild()

EvtRecTrack * DQAKsInfo::getchild ( int n)
inline

Definition at line 38 of file DQAKsInfo.h.

39{
40 if (n==0)
41 return m_track0;
42 else if (n==1)
43 return m_track1;
44}
const Int_t n

◆ init()

bool DQAKsInfo::init ( )
inline

Definition at line 81 of file DQAKsInfo.h.

82{
83 m_vtxFit->init();
84 m_2ndVtxFit->init();
85 return true;
86}

◆ m()

double DQAKsInfo::m ( )
inline

Definition at line 45 of file DQAKsInfo.h.

46{
47 return m_vmks;
48}

◆ mksp4()

double DQAKsInfo::mksp4 ( )
inline

Definition at line 49 of file DQAKsInfo.h.

50{
51 return m_mksp4;
52}

◆ p4()

HepLorentzVector DQAKsInfo::p4 ( )
inline

Definition at line 69 of file DQAKsInfo.h.

70{
71 return m_p4;
72}

◆ setchild()

void DQAKsInfo::setchild ( int n,
EvtRecTrack * track )
inline

Definition at line 26 of file DQAKsInfo.h.

27{
28 if (n==0)
29 m_track0 = track;
30 else if (n==1)
31 m_track1 = track;
32}

◆ setchilds()

void DQAKsInfo::setchilds ( EvtRecTrack * track0,
EvtRecTrack * track1 )
inline

Definition at line 33 of file DQAKsInfo.h.

34{
35 m_track0 = track0;
36 m_track1 = track1;
37}

Referenced by DQADtag::execute().

◆ setPrimaryVtxPar()

void DQAKsInfo::setPrimaryVtxPar ( VertexParameter privtxpar)
inline

Definition at line 77 of file DQAKsInfo.h.

78{
79 m_privtxpar = privtxpar;
80}

Referenced by DQADtag::execute().

◆ setVtxPar()

void DQAKsInfo::setVtxPar ( VertexParameter vtxpar)
inline

Definition at line 73 of file DQAKsInfo.h.

74{
75 m_vtxpar = vtxpar;
76}

Referenced by DQADtag::execute().

◆ vtxChi2()

double DQAKsInfo::vtxChi2 ( )
inline

Definition at line 53 of file DQAKsInfo.h.

54{
55 return m_vchi2ks1;
56}

The documentation for this class was generated from the following files: