BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
VertexFitRefine Class Reference

#include <VertexFitRefine.h>

Public Member Functions

 ~VertexFitRefine ()
void init ()
void AddTrack (const int index, RecMdcKalTrack *p, const RecMdcKalTrack::PidType pid)
void AddTrack (const int number, const WTrackParameter wtrk)
void AddVertex (int number, VertexParameter vpar, std::vector< int > lis)
void AddVertex (int number, VertexParameter vpar, int n1, int n2)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12)
void AddBeamFit (int number, VertexParameter vpar, int n)
void setIterNumber (const int niter=10)
void setChisqCut (const double chicut=1000, const double chiter=1.0e-3)
void setMagCorrFactor (const double factor=1.000)
bool Fit ()
bool Fit (int n)
double chisq () const
double chisq (int n) const
HepLorentzVector pfit (int n) const
HepPoint3D xfit (int n) const
HepVector w (int n) const
HepSymMatrix Ew (int n) const
WTrackParameter wtrk (int n) const
HepPoint3D vx (int n) const
HepVector Vx (int n) const
HepSymMatrix Evx (int n) const
double errorVx (int n, int i) const
VertexParameter vpar (int n) const
HepVector helix (int n) const
WTrackParameter wVirtualTrack (int n) const
int getPath () const
 ~VertexFitRefine ()
void init ()
void AddTrack (const int index, RecMdcKalTrack *p, const RecMdcKalTrack::PidType pid)
void AddTrack (const int number, const WTrackParameter wtrk)
void AddVertex (int number, VertexParameter vpar, std::vector< int > lis)
void AddVertex (int number, VertexParameter vpar, int n1, int n2)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12)
void AddBeamFit (int number, VertexParameter vpar, int n)
void setIterNumber (const int niter=10)
void setChisqCut (const double chicut=1000, const double chiter=1.0e-3)
void setMagCorrFactor (const double factor=1.000)
bool Fit ()
bool Fit (int n)
double chisq () const
double chisq (int n) const
HepLorentzVector pfit (int n) const
HepPoint3D xfit (int n) const
HepVector w (int n) const
HepSymMatrix Ew (int n) const
WTrackParameter wtrk (int n) const
HepPoint3D vx (int n) const
HepVector Vx (int n) const
HepSymMatrix Evx (int n) const
double errorVx (int n, int i) const
VertexParameter vpar (int n) const
HepVector helix (int n) const
WTrackParameter wVirtualTrack (int n) const
int getPath () const
 ~VertexFitRefine ()
void init ()
void AddTrack (const int index, RecMdcKalTrack *p, const RecMdcKalTrack::PidType pid)
void AddTrack (const int number, const WTrackParameter wtrk)
void AddVertex (int number, VertexParameter vpar, std::vector< int > lis)
void AddVertex (int number, VertexParameter vpar, int n1, int n2)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11)
void AddVertex (int number, VertexParameter vpar, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12)
void AddBeamFit (int number, VertexParameter vpar, int n)
void setIterNumber (const int niter=10)
void setChisqCut (const double chicut=1000, const double chiter=1.0e-3)
void setMagCorrFactor (const double factor=1.000)
bool Fit ()
bool Fit (int n)
double chisq () const
double chisq (int n) const
HepLorentzVector pfit (int n) const
HepPoint3D xfit (int n) const
HepVector w (int n) const
HepSymMatrix Ew (int n) const
WTrackParameter wtrk (int n) const
HepPoint3D vx (int n) const
HepVector Vx (int n) const
HepSymMatrix Evx (int n) const
double errorVx (int n, int i) const
VertexParameter vpar (int n) const
HepVector helix (int n) const
WTrackParameter wVirtualTrack (int n) const
int getPath () const

Static Public Member Functions

static VertexFitRefineinstance ()
static VertexFitRefineinstance ()
static VertexFitRefineinstance ()

Friends

class VertexFit

Detailed Description

Constructor & Destructor Documentation

◆ ~VertexFitRefine() [1/3]

VertexFitRefine::~VertexFitRefine ( )

Definition at line 54 of file VertexFitRefine.cxx.

54{ vtxfit->init(); }

◆ ~VertexFitRefine() [2/3]

VertexFitRefine::~VertexFitRefine ( )

◆ ~VertexFitRefine() [3/3]

VertexFitRefine::~VertexFitRefine ( )

Member Function Documentation

◆ AddBeamFit() [1/3]

void VertexFitRefine::AddBeamFit ( int number,
VertexParameter vpar,
int n )
inline

Definition at line 68 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

68 {
69 vtxfit->AddBeamFit( number, vpar, n );
70}
const Int_t n

◆ AddBeamFit() [2/3]

void VertexFitRefine::AddBeamFit ( int number,
VertexParameter vpar,
int n )

◆ AddBeamFit() [3/3]

void VertexFitRefine::AddBeamFit ( int number,
VertexParameter vpar,
int n )

◆ AddTrack() [1/6]

void VertexFitRefine::AddTrack ( const int index,
RecMdcKalTrack * p,
const RecMdcKalTrack::PidType pid )

Definition at line 73 of file VertexFitRefine.cxx.

74 {
75 m_trkIdxOrigin.push_back( index );
76 m_tracksOrigin.push_back( p );
77 m_trkPidOrigin.push_back( pid );
78 int idx = m_trkIdxOrigin.size() - 1;
79 if ( index != idx )
80 {
81 std::cerr << "TrackPool: wrong track index " << index << ", " << m_trkIdxOrigin.size()
82 << std::endl;
83 }
84
85 m_tracksOrigin[idx]->setPidType( m_trkPidOrigin[idx] );
86 m_wtrkInfit.push_back( WTrackParameter( VTXPDGM::empikp[m_trkPidOrigin[idx]],
87 m_tracksOrigin[idx]->helix(),
88 m_tracksOrigin[idx]->err() ) );
89 vtxfit->AddTrack( m_trkIdxOrigin[idx], m_wtrkInfit[idx] );
90}
const double empikp[5]

Referenced by KShortReconstruction::execute(), LambdaReconstruction::execute(), LocalKsSelector::operator()(), LocalLambdaSelector::operator()(), utility::SecondaryVFit_Lambdaref(), utility::SecondaryVFitref(), utility::UpdatedKsIfo(), utility::UpdatedLambdaIfo(), utility::vfitref(), and utility::vfitref().

◆ AddTrack() [2/6]

void VertexFitRefine::AddTrack ( const int index,
RecMdcKalTrack * p,
const RecMdcKalTrack::PidType pid )

◆ AddTrack() [3/6]

void VertexFitRefine::AddTrack ( const int index,
RecMdcKalTrack * p,
const RecMdcKalTrack::PidType pid )

◆ AddTrack() [4/6]

void VertexFitRefine::AddTrack ( const int number,
const WTrackParameter wtrk )

Definition at line 56 of file VertexFitRefine.cxx.

56 {
57 m_trkIdxOrigin.push_back( index );
58 m_tracksOrigin.push_back( nullptr );
59 m_trkPidOrigin.push_back( RecMdcKalTrack::null );
60 int idx = m_trkIdxOrigin.size() - 1;
61 if ( index != idx )
62 {
63 std::cerr << "TrackPool: wrong track index " << index << ", " << m_trkIdxOrigin.size()
64 << std::endl;
65 }
66
67 m_tracksOrigin[idx]->setPidType( m_trkPidOrigin[idx] );
68 m_wtrkInfit.push_back( wtrk );
69 m_helices.push_back( HepVector( 5, 0 ) );
70 vtxfit->AddTrack( m_trkIdxOrigin[idx], m_wtrkInfit[idx] );
71}

◆ AddTrack() [5/6]

void VertexFitRefine::AddTrack ( const int number,
const WTrackParameter wtrk )

◆ AddTrack() [6/6]

void VertexFitRefine::AddTrack ( const int number,
const WTrackParameter wtrk )

◆ AddVertex() [1/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2 )
inline

Definition at line 21 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

21 {
22 vtxfit->AddVertex( number, vpar, n1, n2 );
23}
int n2
Definition SD0Tag.cxx:59
int n1
Definition SD0Tag.cxx:58

◆ AddVertex() [2/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2 )

◆ AddVertex() [3/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2 )

◆ AddVertex() [4/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3 )
inline

Definition at line 24 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

25 {
26 vtxfit->AddVertex( number, vpar, n1, n2, n3 );
27}

◆ AddVertex() [5/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3 )

◆ AddVertex() [6/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3 )

◆ AddVertex() [7/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4 )
inline

Definition at line 28 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

29 {
30 vtxfit->AddVertex( number, vpar, n1, n2, n3, n4 );
31}

◆ AddVertex() [8/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4 )

◆ AddVertex() [9/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4 )

◆ AddVertex() [10/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5 )
inline

Definition at line 32 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

33 {
34 vtxfit->AddVertex( number, vpar, n1, n2, n3, n4, n5 );
35}

◆ AddVertex() [11/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5 )

◆ AddVertex() [12/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5 )

◆ AddVertex() [13/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6 )
inline

Definition at line 36 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

37 {
38 vtxfit->AddVertex( number, vpar, n1, n2, n3, n4, n5, n6 );
39}

◆ AddVertex() [14/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6 )

◆ AddVertex() [15/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6 )

◆ AddVertex() [16/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7 )
inline

Definition at line 40 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

41 {
42 vtxfit->AddVertex( number, vpar, n1, n2, n3, n4, n5, n6, n7 );
43}

◆ AddVertex() [17/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7 )

◆ AddVertex() [18/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7 )

◆ AddVertex() [19/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8 )
inline

Definition at line 44 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

45 {
46 vtxfit->AddVertex( number, vpar, n1, n2, n3, n4, n5, n6, n7, n8 );
47}

◆ AddVertex() [20/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8 )

◆ AddVertex() [21/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8 )

◆ AddVertex() [22/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9 )
inline

Definition at line 48 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

50 {
51 vtxfit->AddVertex( number, vpar, n1, n2, n3, n4, n5, n6, n7, n8, n9 );
52}

◆ AddVertex() [23/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9 )

◆ AddVertex() [24/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9 )

◆ AddVertex() [25/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10 )
inline

Definition at line 53 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

55 {
56 vtxfit->AddVertex( number, vpar, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10 );
57}

◆ AddVertex() [26/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10 )

◆ AddVertex() [27/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10 )

◆ AddVertex() [28/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11 )
inline

Definition at line 58 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

60 {
61 vtxfit->AddVertex( number, vpar, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11 );
62}

◆ AddVertex() [29/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11 )

◆ AddVertex() [30/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11 )

◆ AddVertex() [31/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11,
int n12 )
inline

Definition at line 63 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

65 {
66 vtxfit->AddVertex( number, vpar, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12 );
67}

◆ AddVertex() [32/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11,
int n12 )

◆ AddVertex() [33/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11,
int n12 )

◆ AddVertex() [34/36]

◆ AddVertex() [35/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
std::vector< int > lis )

◆ AddVertex() [36/36]

void VertexFitRefine::AddVertex ( int number,
VertexParameter vpar,
std::vector< int > lis )

◆ chisq() [1/6]

◆ chisq() [2/6]

double VertexFitRefine::chisq ( ) const

◆ chisq() [3/6]

double VertexFitRefine::chisq ( ) const

◆ chisq() [4/6]

double VertexFitRefine::chisq ( int n) const
inline

Definition at line 93 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

93{ return vtxfit->chisq( 0 ); }

◆ chisq() [5/6]

double VertexFitRefine::chisq ( int n) const

◆ chisq() [6/6]

double VertexFitRefine::chisq ( int n) const

◆ errorVx() [1/3]

double VertexFitRefine::errorVx ( int n,
int i ) const
inline

Definition at line 111 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

111 {
112 return vtxfit->errorVx( n, i );
113}

◆ errorVx() [2/3]

double VertexFitRefine::errorVx ( int n,
int i ) const

◆ errorVx() [3/3]

double VertexFitRefine::errorVx ( int n,
int i ) const

◆ Evx() [1/3]

HepSymMatrix VertexFitRefine::Evx ( int n) const
inline

Definition at line 109 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

109{ return vtxfit->Evx( n ); }

◆ Evx() [2/3]

HepSymMatrix VertexFitRefine::Evx ( int n) const

◆ Evx() [3/3]

HepSymMatrix VertexFitRefine::Evx ( int n) const

◆ Ew() [1/3]

HepSymMatrix VertexFitRefine::Ew ( int n) const
inline

Definition at line 101 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

101{ return vtxfit->Ew( n ); }

◆ Ew() [2/3]

HepSymMatrix VertexFitRefine::Ew ( int n) const

◆ Ew() [3/3]

HepSymMatrix VertexFitRefine::Ew ( int n) const

◆ Fit() [1/6]

bool VertexFitRefine::Fit ( )

Definition at line 92 of file VertexFitRefine.cxx.

92 {
93 HepPoint3D vx( 0.0, 0.0, 0.0 );
94
95 for ( uint i = 0; i != m_trkIdxOrigin.size(); ++i )
96 {
97 m_p4Infit.push_back( m_wtrkInfit[i].p() );
98 m_x3Infit.push_back( m_wtrkInfit[i].x() );
99 }
100
101 //// setup the initial vertex
102 HepPoint3D vWideVertex( 0., 0., 0. );
103
104 HepSymMatrix evWideVertex( 3, 0 );
105 evWideVertex[0][0] = 1.0E12;
106 evWideVertex[1][1] = 1.0E12;
107 evWideVertex[2][2] = 1.0E12;
108
109 VertexParameter wideVertex;
110 wideVertex.setVx( vWideVertex );
111 wideVertex.setEvx( evWideVertex );
112
113 if ( vtxfit->m_vpar_infit.size() == 0 )
114 {
115 std::cerr << "Not set Vertex?" << std::endl;
116 return false;
117 }
118
119 HepPoint3D ZDP = vtxfit->vx( 0 );
120 HepPoint3D ZDPE = HepPoint3D( 9999.9, 9999.9, 9999.9 );
121 bool ZFit = false;
122 HepVector ZVx = vtxfit->Vx( 0 );
123 HepSymMatrix ZEVx = evWideVertex;
124
125 //// do the fit
126 if ( vtxfit->Fit( 0 ) )
127 {
128 vtxfit->Swim( 0 );
129 vtxfit->BuildVirtualParticle( 0 );
130
131 for ( uint i = 0; i != m_trkIdxOrigin.size(); ++i )
132 {
133 m_p4Infit[i] = vtxfit->pfit( i );
134 m_x3Infit[i] = vtxfit->xfit( i );
135 }
136
137 ZDP = vtxfit->vx( 0 );
138 ZVx = vtxfit->Vx( 0 );
139 ZEVx = vtxfit->Evx( 0 );
140 ZDPE.set( vtxfit->errorVx( 0, 0 ), vtxfit->errorVx( 0, 1 ), vtxfit->errorVx( 0, 2 ) );
141 ZFit = true;
142 }
143
144 if ( ZFit )
145 {
146 if ( ZDP.perp() > obeampipe )
147 {
148 //// initialize the fitter
149 vtxfit->init();
150
151 for ( uint i = 0; i != m_trkIdxOrigin.size(); ++i )
152 {
153 m_tracksOrigin[i]->setPidType( m_trkPidOrigin[i] );
154 if ( m_trkPidOrigin[i] != RecMdcKalTrack::null )
155 {
156 m_wtrkInfit[i] =
157 WTrackParameter( VTXPDGM::empikp[m_trkPidOrigin[i]], m_tracksOrigin[i]->fhelix(),
158 m_tracksOrigin[i]->ferr() );
159 }
160 vtxfit->AddTrack( i, m_wtrkInfit[i] );
161 }
162
163 wideVertex.setVx( ZVx );
164 // wideVertex.setEvx(ZEVx * 25.0); // 5 * sigma square, not good
165 wideVertex.setEvx( evWideVertex );
166
167 //// add the daughters
168 vtxfit->AddVertex( 0, wideVertex, m_trkIdxOrigin );
169 //// do the fit
170 if ( vtxfit->Fit( 0 ) )
171 {
172 vtxfit->Swim( 0 );
173 vtxfit->BuildVirtualParticle( 0 );
174 vx = vtxfit->vx( 0 );
175 ZVx = vtxfit->Vx( 0 );
176 ZEVx = vtxfit->Evx( 0 );
177 thePath = 3;
178 }
179 else
180 {
181 vx = ZDP;
182 thePath = 2;
183 }
184 }
185 else
186 {
187 vx = ZDP;
188 thePath = 1;
189 }
190 }
191 else
192 { // initial ZFit failed.
193 //// initialize the fitter
194 vtxfit->init();
195
196 for ( uint i = 0; i != m_trkIdxOrigin.size(); ++i )
197 {
198 m_tracksOrigin[i]->setPidType( m_trkPidOrigin[i] );
199 if ( m_trkPidOrigin[i] != RecMdcKalTrack::null )
200 {
201 m_wtrkInfit[i] =
202 WTrackParameter( VTXPDGM::empikp[m_trkPidOrigin[i]], m_tracksOrigin[i]->fhelix(),
203 m_tracksOrigin[i]->ferr() );
204 }
205 vtxfit->AddTrack( i, m_wtrkInfit[i] );
206 }
207
208 if ( vtxfit->Fit( 0 ) )
209 {
210 vtxfit->Swim( 0 );
211 vtxfit->BuildVirtualParticle( 0 );
212 vx = vtxfit->vx( 0 );
213 ZVx = vtxfit->Vx( 0 );
214 ZEVx = vtxfit->Evx( 0 );
215 thePath = 4;
216 }
217 else
218 {
219 thePath = 5;
220 return false;
221 }
222 }
223 //// initialize the fitter
224 vtxfit->init();
225
226 for ( uint i = 0; i != m_trkIdxOrigin.size(); ++i )
227 {
228 m_tracksOrigin[i]->setPidType( m_trkPidOrigin[i] );
229 if ( m_trkPidOrigin[i] != RecMdcKalTrack::null )
230 {
231 vtxext->KalFitExt( vx, m_tracksOrigin[i], m_trkPidOrigin[i] );
232 m_wtrkInfit[i] = WTrackParameter( VTXPDGM::empikp[m_trkPidOrigin[i]],
233 vtxext->getHelixVector(), vtxext->getErrorMatrix() );
234 }
235 m_p4Infit[i] = m_wtrkInfit[i].p();
236 m_x3Infit[i] = m_wtrkInfit[i].x();
237
238 vtxfit->AddTrack( i, m_wtrkInfit[i] );
239 }
240
241 wideVertex.setVx( vx );
242 // wideVertex.setEvx(ZEVx * 25.0); // 5 * sigma square, not good, why?
243 wideVertex.setEvx( evWideVertex );
244 //// add the daughters
245 vtxfit->AddVertex( 0, wideVertex, m_trkIdxOrigin );
246
247 //// do the fit
248 if ( vtxfit->Fit( 0 ) )
249 {
250 vtxfit->Swim( 0 );
251 vtxfit->BuildVirtualParticle( 0 );
252 }
253 else { thePath = 6; }
254
255 return true;
256}
HepGeom::Point3D< double > HepPoint3D
Double_t x[10]

Referenced by KShortReconstruction::execute(), LambdaReconstruction::execute(), Fit(), LocalKsSelector::operator()(), LocalLambdaSelector::operator()(), utility::SecondaryVFit_Lambdaref(), utility::SecondaryVFitref(), utility::UpdatedKsIfo(), utility::UpdatedLambdaIfo(), utility::vfitref(), and utility::vfitref().

◆ Fit() [2/6]

bool VertexFitRefine::Fit ( )

◆ Fit() [3/6]

bool VertexFitRefine::Fit ( )

◆ Fit() [4/6]

bool VertexFitRefine::Fit ( int n)
inline

◆ Fit() [5/6]

bool VertexFitRefine::Fit ( int n)

◆ Fit() [6/6]

bool VertexFitRefine::Fit ( int n)

◆ getPath() [1/3]

int VertexFitRefine::getPath ( ) const
inline

Definition at line 123 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

123{ return thePath; }

◆ getPath() [2/3]

int VertexFitRefine::getPath ( ) const

◆ getPath() [3/3]

int VertexFitRefine::getPath ( ) const

◆ helix() [1/3]

HepVector VertexFitRefine::helix ( int n) const
inline

Definition at line 121 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

121{ return m_helices[n]; }

Referenced by AddTrack().

◆ helix() [2/3]

HepVector VertexFitRefine::helix ( int n) const

◆ helix() [3/3]

HepVector VertexFitRefine::helix ( int n) const

◆ init() [1/3]

void VertexFitRefine::init ( )

Definition at line 39 of file VertexFitRefine.cxx.

39 {
40 m_trkIdxOrigin.clear();
41 m_tracksOrigin.clear();
42 m_trkPidOrigin.clear();
43 m_wtrkInfit.clear();
44 m_p4Infit.clear();
45 m_x3Infit.clear();
46 m_helices.clear();
47 vtxfit = VertexFit::instance();
48 vtxfit->init();
50 m_vtxsOrigin.clear();
51 thePath = 0;
52}
static VertexExtrapolate * instance()
static VertexFit * instance()
Definition VertexFit.cxx:15

Referenced by KShortReconstruction::execute(), LambdaReconstruction::execute(), LocalKsSelector::operator()(), LocalLambdaSelector::operator()(), utility::SecondaryVFit_Lambdaref(), utility::SecondaryVFitref(), utility::UpdatedKsIfo(), utility::UpdatedLambdaIfo(), utility::vfitref(), and utility::vfitref().

◆ init() [2/3]

void VertexFitRefine::init ( )

◆ init() [3/3]

void VertexFitRefine::init ( )

◆ instance() [1/3]

VertexFitRefine * VertexFitRefine::instance ( )
static

◆ instance() [2/3]

VertexFitRefine * VertexFitRefine::instance ( )
static

◆ instance() [3/3]

VertexFitRefine * VertexFitRefine::instance ( )
static

◆ pfit() [1/3]

HepLorentzVector VertexFitRefine::pfit ( int n) const
inline

◆ pfit() [2/3]

HepLorentzVector VertexFitRefine::pfit ( int n) const

◆ pfit() [3/3]

HepLorentzVector VertexFitRefine::pfit ( int n) const

◆ setChisqCut() [1/3]

void VertexFitRefine::setChisqCut ( const double chicut = 1000,
const double chiter = 1.0e-3 )
inline

Definition at line 76 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

76 {
77 vtxfit->setChisqCut( chicut, chiter );
78}

◆ setChisqCut() [2/3]

void VertexFitRefine::setChisqCut ( const double chicut = 1000,
const double chiter = 1.0e-3 )

◆ setChisqCut() [3/3]

void VertexFitRefine::setChisqCut ( const double chicut = 1000,
const double chiter = 1.0e-3 )

◆ setIterNumber() [1/3]

void VertexFitRefine::setIterNumber ( const int niter = 10)
inline

Definition at line 73 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

73 {
74 vtxfit->setIterNumber( niter );
75}

◆ setIterNumber() [2/3]

void VertexFitRefine::setIterNumber ( const int niter = 10)

◆ setIterNumber() [3/3]

void VertexFitRefine::setIterNumber ( const int niter = 10)

◆ setMagCorrFactor() [1/3]

void VertexFitRefine::setMagCorrFactor ( const double factor = 1.000)
inline

Definition at line 79 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

79 {
80 vtxfit->setMagCorrFactor( factor );
81}

◆ setMagCorrFactor() [2/3]

void VertexFitRefine::setMagCorrFactor ( const double factor = 1.000)

◆ setMagCorrFactor() [3/3]

void VertexFitRefine::setMagCorrFactor ( const double factor = 1.000)

◆ vpar() [1/3]

◆ vpar() [2/3]

VertexParameter VertexFitRefine::vpar ( int n) const

◆ vpar() [3/3]

VertexParameter VertexFitRefine::vpar ( int n) const

◆ Vx() [1/3]

HepVector VertexFitRefine::Vx ( int n) const
inline

Definition at line 107 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

107{ return vtxfit->Vx( n ); }

◆ Vx() [2/3]

HepVector VertexFitRefine::Vx ( int n) const

◆ Vx() [3/3]

HepVector VertexFitRefine::Vx ( int n) const

◆ vx() [1/3]

HepPoint3D VertexFitRefine::vx ( int n) const
inline

Definition at line 105 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

105{ return vtxfit->vx( n ); }

Referenced by Fit().

◆ vx() [2/3]

HepPoint3D VertexFitRefine::vx ( int n) const

◆ vx() [3/3]

HepPoint3D VertexFitRefine::vx ( int n) const

◆ w() [1/3]

HepVector VertexFitRefine::w ( int n) const
inline

Definition at line 99 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

99{ return vtxfit->w( n ); }

◆ w() [2/3]

HepVector VertexFitRefine::w ( int n) const

◆ w() [3/3]

HepVector VertexFitRefine::w ( int n) const

◆ wtrk() [1/3]

WTrackParameter VertexFitRefine::wtrk ( int n) const
inline

Definition at line 103 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

103{ return vtxfit->wtrk( n ); }

Referenced by AddTrack(), VertexFit, utility::vfitref(), and utility::vfitref().

◆ wtrk() [2/3]

WTrackParameter VertexFitRefine::wtrk ( int n) const

◆ wtrk() [3/3]

WTrackParameter VertexFitRefine::wtrk ( int n) const

◆ wVirtualTrack() [1/3]

◆ wVirtualTrack() [2/3]

WTrackParameter VertexFitRefine::wVirtualTrack ( int n) const

◆ wVirtualTrack() [3/3]

WTrackParameter VertexFitRefine::wVirtualTrack ( int n) const

◆ xfit() [1/3]

HepPoint3D VertexFitRefine::xfit ( int n) const
inline

Definition at line 97 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexFitRefine.cc.

97{ return vtxfit->xfit( n ); }

◆ xfit() [2/3]

HepPoint3D VertexFitRefine::xfit ( int n) const

◆ xfit() [3/3]

HepPoint3D VertexFitRefine::xfit ( int n) const

◆ VertexFit


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