BOSS 7.0.8
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)
Definition: VertexFit.cxx:619
void Swim(int n)
Definition: VertexFit.h:59
bool Fit()
Definition: VertexFit.cxx:301
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: