BOSS 8.0.0
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 15 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 m_vtxFit = VertexFit::instance();
5 m_2ndVtxFit = SecondVertexFit::instance();
6}
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 8 of file DQAKsInfo.cxx.

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

◆ ~DQAKsInfo()

DQAKsInfo::~DQAKsInfo ( )

Definition at line 17 of file DQAKsInfo.cxx.

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

Member Function Documentation

◆ calculate()

bool DQAKsInfo::calculate ( )

Definition at line 23 of file DQAKsInfo.cxx.

23 {
24 if ( m_track0 == 0 || m_track1 == 0 ) return false;
25 RecMdcKalTrack* pion1Trk = m_track0->mdcKalTrack();
26 RecMdcKalTrack* pion2Trk = m_track1->mdcKalTrack();
27 HepLorentzVector pion1p4 = pion1Trk->p4( Ksinfo_mpi );
28 HepLorentzVector pion2p4 = pion2Trk->p4( Ksinfo_mpi );
29 HepLorentzVector ksp4 = pion1p4 + pion2p4;
30 m_mksp4 = ksp4.m();
31
32 WTrackParameter wvTrk1( Ksinfo_mpi, pion1Trk->getZHelix(), pion1Trk->getZError() );
33 WTrackParameter wvTrk2( Ksinfo_mpi, pion2Trk->getZHelix(), pion2Trk->getZError() );
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 double Ksinfo_mpi
Definition DQAKsInfo.h:13
const HepLorentzVector p4() const

Referenced by DQADtag::execute().

◆ chi2()

double DQAKsInfo::chi2 ( )
inline

Definition at line 36 of file DQAKsInfo.h.

36{ return m_vchi2ks2; }

◆ decayLength()

double DQAKsInfo::decayLength ( )
inline

Definition at line 37 of file DQAKsInfo.h.

37{ return m_vlks; }

◆ decayLengthRatio()

double DQAKsInfo::decayLengthRatio ( )
inline

Definition at line 38 of file DQAKsInfo.h.

38{ return m_vrks; }

◆ getchild()

EvtRecTrack * DQAKsInfo::getchild ( int n)
inline

Definition at line 29 of file DQAKsInfo.h.

29 {
30 if ( n == 0 ) return m_track0;
31 else if ( n == 1 ) return m_track1;
32 }
const Int_t n

◆ init()

bool DQAKsInfo::init ( )
inline

Definition at line 42 of file DQAKsInfo.h.

42 {
43 m_vtxFit->init();
44 m_2ndVtxFit->init();
45 return true;
46 }

◆ m()

double DQAKsInfo::m ( )
inline

Definition at line 33 of file DQAKsInfo.h.

33{ return m_vmks; }

◆ mksp4()

double DQAKsInfo::mksp4 ( )
inline

Definition at line 34 of file DQAKsInfo.h.

34{ return m_mksp4; }

◆ p4()

HepLorentzVector DQAKsInfo::p4 ( )
inline

Definition at line 39 of file DQAKsInfo.h.

39{ return m_p4; }

◆ setchild()

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

Definition at line 21 of file DQAKsInfo.h.

21 {
22 if ( n == 0 ) m_track0 = track;
23 else if ( n == 1 ) m_track1 = track;
24 }

◆ setchilds()

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

Definition at line 25 of file DQAKsInfo.h.

25 {
26 m_track0 = track0;
27 m_track1 = track1;
28 }

Referenced by DQADtag::execute().

◆ setPrimaryVtxPar()

void DQAKsInfo::setPrimaryVtxPar ( VertexParameter privtxpar)
inline

Definition at line 41 of file DQAKsInfo.h.

41{ m_privtxpar = privtxpar; }

Referenced by DQADtag::execute().

◆ setVtxPar()

void DQAKsInfo::setVtxPar ( VertexParameter vtxpar)
inline

Definition at line 40 of file DQAKsInfo.h.

40{ m_vtxpar = vtxpar; }

Referenced by DQADtag::execute().

◆ vtxChi2()

double DQAKsInfo::vtxChi2 ( )
inline

Definition at line 35 of file DQAKsInfo.h.

35{ return m_vchi2ks1; }

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