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

#include <VertexConstraints.h>

Public Member Functions

 VertexConstraints ()
 ~VertexConstraints ()
 VertexConstraints (const VertexConstraints &)
void CommonVertexConstraints (std::vector< int > tlis)
void FixedVertexConstraints (std::vector< int > tlis)
void UpdateConstraints (VertexParameter vpar, std::vector< WTrackParameter > wlis)
void setCovax (const int i, const HepMatrix cov)
void setLambda (const int i, const HepVector L)
void setLambda0 (const int i, const HepVector L0)
void setVD (const int i, const HepSymMatrix vd)
void setEVDE (const int i, const HepSymMatrix evde)
void setType (const int type)
std::vector< HepMatrix > Ec () const
std::vector< HepMatrix > Dc () const
std::vector< HepVector > dc () const
std::vector< HepSymMatrix > VD () const
std::vector< HepSymMatrix > EVDE () const
std::vector< HepMatrix > covax () const
std::vector< HepVector > lambda0 () const
std::vector< HepVector > lambda () const
std::vector< int > Ltrk () const
int type () const
int commonVertex () const
int fixedVertex () const
VertexConstraintsoperator= (const VertexConstraints &)
 VertexConstraints ()
 ~VertexConstraints ()
 VertexConstraints (const VertexConstraints &)
void CommonVertexConstraints (std::vector< int > tlis)
void FixedVertexConstraints (std::vector< int > tlis)
void UpdateConstraints (VertexParameter vpar, std::vector< WTrackParameter > wlis)
void setCovax (const int i, const HepMatrix cov)
void setLambda (const int i, const HepVector L)
void setLambda0 (const int i, const HepVector L0)
void setVD (const int i, const HepSymMatrix vd)
void setEVDE (const int i, const HepSymMatrix evde)
void setType (const int type)
std::vector< HepMatrix > Ec () const
std::vector< HepMatrix > Dc () const
std::vector< HepVector > dc () const
std::vector< HepSymMatrix > VD () const
std::vector< HepSymMatrix > EVDE () const
std::vector< HepMatrix > covax () const
std::vector< HepVector > lambda0 () const
std::vector< HepVector > lambda () const
std::vector< int > Ltrk () const
int type () const
int commonVertex () const
int fixedVertex () const
VertexConstraintsoperator= (const VertexConstraints &)
 VertexConstraints ()
 ~VertexConstraints ()
 VertexConstraints (const VertexConstraints &)
void CommonVertexConstraints (std::vector< int > tlis)
void FixedVertexConstraints (std::vector< int > tlis)
void UpdateConstraints (VertexParameter vpar, std::vector< WTrackParameter > wlis)
void setCovax (const int i, const HepMatrix cov)
void setLambda (const int i, const HepVector L)
void setLambda0 (const int i, const HepVector L0)
void setVD (const int i, const HepSymMatrix vd)
void setEVDE (const int i, const HepSymMatrix evde)
void setType (const int type)
std::vector< HepMatrix > Ec () const
std::vector< HepMatrix > Dc () const
std::vector< HepVector > dc () const
std::vector< HepSymMatrix > VD () const
std::vector< HepSymMatrix > EVDE () const
std::vector< HepMatrix > covax () const
std::vector< HepVector > lambda0 () const
std::vector< HepVector > lambda () const
std::vector< int > Ltrk () const
int type () const
int commonVertex () const
int fixedVertex () const
VertexConstraintsoperator= (const VertexConstraints &)

Detailed Description

Constructor & Destructor Documentation

◆ VertexConstraints() [1/6]

VertexConstraints::VertexConstraints ( )

Definition at line 9 of file VertexConstraints.cxx.

9 {
10 m_Ec.clear();
11 m_Dc.clear();
12 m_dc.clear();
13 m_VD.clear();
14 m_EVDE.clear();
15 m_lambda0.clear();
16 m_lambda.clear();
17 m_covax.clear();
18 m_ltrk.clear();
19 m_type = 0;
20}

Referenced by operator=(), and VertexConstraints().

◆ ~VertexConstraints() [1/3]

VertexConstraints::~VertexConstraints ( )
inline

Definition at line 34 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

34{ ; }

◆ VertexConstraints() [2/6]

VertexConstraints::VertexConstraints ( const VertexConstraints & vc)
inline

Definition at line 76 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

76 {
77 m_Ec = vc.m_Ec;
78 m_Dc = vc.m_Dc;
79 m_dc = vc.m_dc;
80 m_VD = vc.m_VD;
81 m_EVDE = vc.m_EVDE;
82 m_covax = vc.m_covax;
83 m_lambda0 = vc.m_lambda0;
84 m_lambda = vc.m_lambda;
85 m_ltrk = vc.m_ltrk;
86 m_type = vc.m_type;
87}

◆ VertexConstraints() [3/6]

VertexConstraints::VertexConstraints ( )

◆ ~VertexConstraints() [2/3]

VertexConstraints::~VertexConstraints ( )
inline

◆ VertexConstraints() [4/6]

VertexConstraints::VertexConstraints ( const VertexConstraints & )
inline

◆ VertexConstraints() [5/6]

VertexConstraints::VertexConstraints ( )

◆ ~VertexConstraints() [3/3]

VertexConstraints::~VertexConstraints ( )
inline

◆ VertexConstraints() [6/6]

VertexConstraints::VertexConstraints ( const VertexConstraints & )
inline

Member Function Documentation

◆ commonVertex() [1/3]

int VertexConstraints::commonVertex ( ) const
inline

Definition at line 56 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

56{ return CommonVertex; }

Referenced by CommonVertexConstraints().

◆ commonVertex() [2/3]

int VertexConstraints::commonVertex ( ) const
inline

Definition at line 56 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

56{ return CommonVertex; }

◆ commonVertex() [3/3]

int VertexConstraints::commonVertex ( ) const
inline

Definition at line 56 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

56{ return CommonVertex; }

◆ CommonVertexConstraints() [1/3]

void VertexConstraints::CommonVertexConstraints ( std::vector< int > tlis)

Definition at line 22 of file VertexConstraints.cxx.

Referenced by VertexFit::AddVertex().

◆ CommonVertexConstraints() [2/3]

void VertexConstraints::CommonVertexConstraints ( std::vector< int > tlis)

◆ CommonVertexConstraints() [3/3]

void VertexConstraints::CommonVertexConstraints ( std::vector< int > tlis)

◆ covax() [1/3]

std::vector< HepMatrix > VertexConstraints::covax ( ) const
inline

Definition at line 51 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

51{ return m_covax; }

Referenced by UpdateConstraints().

◆ covax() [2/3]

std::vector< HepMatrix > VertexConstraints::covax ( ) const
inline

Definition at line 51 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

51{ return m_covax; }

◆ covax() [3/3]

std::vector< HepMatrix > VertexConstraints::covax ( ) const
inline

Definition at line 51 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

51{ return m_covax; }

◆ Dc() [1/3]

std::vector< HepMatrix > VertexConstraints::Dc ( ) const
inline

Definition at line 47 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

47{ return m_Dc; }

Referenced by UpdateConstraints().

◆ Dc() [2/3]

std::vector< HepMatrix > VertexConstraints::Dc ( ) const
inline

Definition at line 47 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

47{ return m_Dc; }

◆ Dc() [3/3]

std::vector< HepMatrix > VertexConstraints::Dc ( ) const
inline

Definition at line 47 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

47{ return m_Dc; }

◆ dc() [1/3]

std::vector< HepVector > VertexConstraints::dc ( ) const
inline

Definition at line 48 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

48{ return m_dc; }

Referenced by UpdateConstraints().

◆ dc() [2/3]

std::vector< HepVector > VertexConstraints::dc ( ) const
inline

Definition at line 48 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

48{ return m_dc; }

◆ dc() [3/3]

std::vector< HepVector > VertexConstraints::dc ( ) const
inline

Definition at line 48 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

48{ return m_dc; }

◆ Ec() [1/3]

std::vector< HepMatrix > VertexConstraints::Ec ( ) const
inline

Definition at line 46 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

46{ return m_Ec; }

Referenced by UpdateConstraints().

◆ Ec() [2/3]

std::vector< HepMatrix > VertexConstraints::Ec ( ) const
inline

Definition at line 46 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

46{ return m_Ec; }

◆ Ec() [3/3]

std::vector< HepMatrix > VertexConstraints::Ec ( ) const
inline

Definition at line 46 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

46{ return m_Ec; }

◆ EVDE() [1/3]

std::vector< HepSymMatrix > VertexConstraints::EVDE ( ) const
inline

Definition at line 50 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

50{ return m_EVDE; }

Referenced by UpdateConstraints().

◆ EVDE() [2/3]

std::vector< HepSymMatrix > VertexConstraints::EVDE ( ) const
inline

Definition at line 50 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

50{ return m_EVDE; }

◆ EVDE() [3/3]

std::vector< HepSymMatrix > VertexConstraints::EVDE ( ) const
inline

Definition at line 50 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

50{ return m_EVDE; }

◆ fixedVertex() [1/3]

int VertexConstraints::fixedVertex ( ) const
inline

Definition at line 57 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

57{ return FixedVertex; }

Referenced by FixedVertexConstraints().

◆ fixedVertex() [2/3]

int VertexConstraints::fixedVertex ( ) const
inline

Definition at line 57 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

57{ return FixedVertex; }

◆ fixedVertex() [3/3]

int VertexConstraints::fixedVertex ( ) const
inline

Definition at line 57 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

57{ return FixedVertex; }

◆ FixedVertexConstraints() [1/3]

void VertexConstraints::FixedVertexConstraints ( std::vector< int > tlis)

Definition at line 27 of file VertexConstraints.cxx.

27 {
28 m_ltrk = tlis;
30}

Referenced by VertexFit::AddBeamFit().

◆ FixedVertexConstraints() [2/3]

void VertexConstraints::FixedVertexConstraints ( std::vector< int > tlis)

◆ FixedVertexConstraints() [3/3]

void VertexConstraints::FixedVertexConstraints ( std::vector< int > tlis)

◆ lambda() [1/3]

std::vector< HepVector > VertexConstraints::lambda ( ) const
inline

Definition at line 53 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

53{ return m_lambda; }

Referenced by UpdateConstraints().

◆ lambda() [2/3]

std::vector< HepVector > VertexConstraints::lambda ( ) const
inline

Definition at line 53 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

53{ return m_lambda; }

◆ lambda() [3/3]

std::vector< HepVector > VertexConstraints::lambda ( ) const
inline

Definition at line 53 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

53{ return m_lambda; }

◆ lambda0() [1/3]

std::vector< HepVector > VertexConstraints::lambda0 ( ) const
inline

Definition at line 52 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

52{ return m_lambda0; }

Referenced by UpdateConstraints().

◆ lambda0() [2/3]

std::vector< HepVector > VertexConstraints::lambda0 ( ) const
inline

Definition at line 52 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

52{ return m_lambda0; }

◆ lambda0() [3/3]

std::vector< HepVector > VertexConstraints::lambda0 ( ) const
inline

Definition at line 52 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

52{ return m_lambda0; }

◆ Ltrk() [1/3]

std::vector< int > VertexConstraints::Ltrk ( ) const
inline

Definition at line 54 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

54{ return m_ltrk; }

Referenced by VertexFit::BuildVirtualParticle().

◆ Ltrk() [2/3]

std::vector< int > VertexConstraints::Ltrk ( ) const
inline

Definition at line 54 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

54{ return m_ltrk; }

◆ Ltrk() [3/3]

std::vector< int > VertexConstraints::Ltrk ( ) const
inline

Definition at line 54 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

54{ return m_ltrk; }

◆ operator=() [1/3]

VertexConstraints & VertexConstraints::operator= ( const VertexConstraints & vc)
inline

Definition at line 89 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

89 {
90 m_Ec = vc.m_Ec;
91 m_Dc = vc.m_Dc;
92 m_dc = vc.m_dc;
93 m_VD = vc.m_VD;
94 m_EVDE = vc.m_EVDE;
95 m_covax = vc.m_covax;
96 m_lambda0 = vc.m_lambda0;
97 m_lambda = vc.m_lambda;
98 m_ltrk = vc.m_ltrk;
99 m_type = vc.m_type;
100 return ( *this );
101}

◆ operator=() [2/3]

VertexConstraints & VertexConstraints::operator= ( const VertexConstraints & )
inline

◆ operator=() [3/3]

VertexConstraints & VertexConstraints::operator= ( const VertexConstraints & )
inline

◆ setCovax() [1/3]

void VertexConstraints::setCovax ( const int i,
const HepMatrix cov )
inline

Definition at line 39 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

39{ m_covax[i] = cov; }

◆ setCovax() [2/3]

void VertexConstraints::setCovax ( const int i,
const HepMatrix cov )
inline

Definition at line 39 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

39{ m_covax[i] = cov; }

◆ setCovax() [3/3]

void VertexConstraints::setCovax ( const int i,
const HepMatrix cov )
inline

Definition at line 39 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

39{ m_covax[i] = cov; }

◆ setEVDE() [1/3]

void VertexConstraints::setEVDE ( const int i,
const HepSymMatrix evde )
inline

Definition at line 43 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

43{ m_EVDE[i] = evde; }

◆ setEVDE() [2/3]

void VertexConstraints::setEVDE ( const int i,
const HepSymMatrix evde )
inline

Definition at line 43 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

43{ m_EVDE[i] = evde; }

◆ setEVDE() [3/3]

void VertexConstraints::setEVDE ( const int i,
const HepSymMatrix evde )
inline

Definition at line 43 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

43{ m_EVDE[i] = evde; }

◆ setLambda() [1/3]

void VertexConstraints::setLambda ( const int i,
const HepVector L )
inline

Definition at line 40 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

40{ m_lambda[i] = L; }

◆ setLambda() [2/3]

void VertexConstraints::setLambda ( const int i,
const HepVector L )
inline

Definition at line 40 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

40{ m_lambda[i] = L; }

◆ setLambda() [3/3]

void VertexConstraints::setLambda ( const int i,
const HepVector L )
inline

Definition at line 40 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

40{ m_lambda[i] = L; }

◆ setLambda0() [1/3]

void VertexConstraints::setLambda0 ( const int i,
const HepVector L0 )
inline

Definition at line 41 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

41{ m_lambda0[i] = L0; }

◆ setLambda0() [2/3]

void VertexConstraints::setLambda0 ( const int i,
const HepVector L0 )
inline

Definition at line 41 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

41{ m_lambda0[i] = L0; }

◆ setLambda0() [3/3]

void VertexConstraints::setLambda0 ( const int i,
const HepVector L0 )
inline

Definition at line 41 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

41{ m_lambda0[i] = L0; }

◆ setType() [1/3]

void VertexConstraints::setType ( const int type)
inline

◆ setType() [2/3]

void VertexConstraints::setType ( const int type)
inline

◆ setType() [3/3]

void VertexConstraints::setType ( const int type)
inline

◆ setVD() [1/3]

void VertexConstraints::setVD ( const int i,
const HepSymMatrix vd )
inline

Definition at line 42 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

42{ m_VD[i] = vd; }

◆ setVD() [2/3]

void VertexConstraints::setVD ( const int i,
const HepSymMatrix vd )
inline

Definition at line 42 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

42{ m_VD[i] = vd; }

◆ setVD() [3/3]

void VertexConstraints::setVD ( const int i,
const HepSymMatrix vd )
inline

Definition at line 42 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

42{ m_VD[i] = vd; }

◆ type() [1/3]

int VertexConstraints::type ( ) const
inline

Definition at line 55 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

55{ return m_type; }

Referenced by setType().

◆ type() [2/3]

int VertexConstraints::type ( ) const
inline

Definition at line 55 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

55{ return m_type; }

◆ type() [3/3]

int VertexConstraints::type ( ) const
inline

Definition at line 55 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

55{ return m_type; }

◆ UpdateConstraints() [1/3]

void VertexConstraints::UpdateConstraints ( VertexParameter vpar,
std::vector< WTrackParameter > wlis )

Definition at line 32 of file VertexConstraints.cxx.

33 {
34 m_Ec.clear();
35 m_Dc.clear();
36 m_dc.clear();
37 m_VD.clear();
38 m_EVDE.clear();
39 m_lambda0.clear();
40 m_lambda.clear();
41 m_covax.clear();
42
43 switch ( m_type )
44 {
45 case FixedVertex: {
46 WTrackParameter wtrk;
47 for ( unsigned int i = 0; i < wlis.size(); i++ )
48 {
49 wtrk = wlis[i];
50 HepLorentzVector p = wtrk.p();
51 HepPoint3D x = wtrk.x();
52 HepPoint3D delx = vpar.vx() - x;
53
54 double afield = VertexFitBField::instance()->getCBz( vpar.Vx(), wtrk.X() );
55 double a = afield * ( 0.0 + wtrk.charge() );
56 double J = a * ( delx.x() * p.px() + delx.y() * p.py() ) / p.perp2();
57
58 J = std::min( J, 1 - 1e-4 );
59 J = std::max( J, -1 + 1e-4 );
60 double Rx =
61 delx.x() - 2 * p.px() * ( delx.x() * p.px() + delx.y() * p.py() ) / p.perp2();
62 double Ry =
63 delx.y() - 2 * p.py() * ( delx.x() * p.px() + delx.y() * p.py() ) / p.perp2();
64 double S = 1.0 / sqrt( 1 - J * J ) / p.perp2();
65
66 // dc
67 HepVector dc( 2, 0 );
68 dc[0] = delx.y() * p.px() - delx.x() * p.py() -
69 0.5 * a * ( delx.x() * delx.x() + delx.y() * delx.y() );
70 dc[1] = delx.z() - p.pz() / a * asin( J );
71 m_dc.push_back( dc );
72 // Ec
73 HepMatrix Ec( 2, 3, 0 );
74 m_Ec.push_back( Ec );
75 // Dc
76 HepMatrix Dc( 2, 6, 0 );
77 Dc[0][0] = delx.y();
78 Dc[0][1] = -delx.x();
79 Dc[0][2] = 0;
80 Dc[0][3] = p.py() + a * delx.x();
81 Dc[0][4] = -p.px() + a * delx.y();
82 Dc[0][5] = 0;
83 Dc[1][0] = -p.pz() * S * Rx;
84 Dc[1][1] = -p.pz() * S * Ry;
85 Dc[1][2] = -asin( J ) / a;
86 Dc[1][3] = p.px() * p.pz() * S;
87 Dc[1][4] = p.py() * p.pz() * S;
88 Dc[1][5] = -1.0;
89 m_Dc.push_back( Dc );
90 // VD
91 HepSymMatrix VD( 2, 0 );
92 // int ifail;
93 // VD = ((wtrk.Ew()).similarity(Dc)).inverse(ifail); // 2x2 matrix (Dc Ew Dc.T())
94 m_VD.push_back( VD );
95 // EVDE
96 HepSymMatrix EVDE( 3, 0 );
97 m_EVDE.push_back( EVDE );
98 // lambda0
99 HepVector lambda0( 2, 0 );
100 m_lambda0.push_back( lambda0 );
101 // lambda
102 HepVector lambda( 2, 0 );
103 m_lambda.push_back( lambda );
104 // covax
105 HepMatrix covax( 6, 3, 0 );
106 m_covax.push_back( covax );
107 break;
108 }
109 }
110 case CommonVertex:
111 default: {
112 WTrackParameter wtrk;
113 for ( unsigned int i = 0; i < wlis.size(); i++ )
114 {
115 wtrk = wlis[i];
116 HepLorentzVector p = wtrk.p();
117 HepPoint3D x = wtrk.x();
118 HepPoint3D delx = vpar.vx() - x;
119 if ( wtrk.charge() == 0 )
120 {
121 // dc
122 HepVector dc( 2, 0 );
123 dc[0] = p.pz() * delx.x() - p.px() * delx.z();
124 dc[1] = p.pz() * delx.y() - p.py() * delx.z();
125 m_dc.push_back( dc );
126 // Ec
127 HepMatrix Ec( 2, 3, 0 );
128 Ec[0][0] = p.pz();
129 Ec[0][1] = 0;
130 Ec[0][2] = -p.px();
131 Ec[1][0] = 0;
132 Ec[1][1] = p.pz();
133 Ec[1][2] = -p.py();
134 m_Ec.push_back( Ec );
135 // Dc
136 HepMatrix Dc( 2, 6, 0 );
137 Dc[0][0] = -delx.z();
138 Dc[0][1] = 0;
139 Dc[0][2] = delx.x();
140 Dc[0][3] = -p.pz();
141 Dc[0][4] = 0;
142 Dc[0][5] = p.px();
143 Dc[1][0] = 0;
144 Dc[1][1] = -delx.z();
145 Dc[1][2] = delx.y();
146 Dc[1][3] = 0;
147 Dc[1][4] = -p.pz();
148 Dc[1][5] = p.py();
149 m_Dc.push_back( Dc );
150 }
151 else
152 {
153 double afield = VertexFitBField::instance()->getCBz( vpar.Vx(), wtrk.X() );
154 double a = afield * ( 0.0 + wtrk.charge() );
155 double J = a * ( delx.x() * p.px() + delx.y() * p.py() ) / p.perp2();
156 J = std::min( J, 1 - 1e-4 );
157 J = std::max( J, -1 + 1e-4 );
158 double Rx =
159 delx.x() - 2 * p.px() * ( delx.x() * p.px() + delx.y() * p.py() ) / p.perp2();
160 double Ry =
161 delx.y() - 2 * p.py() * ( delx.x() * p.px() + delx.y() * p.py() ) / p.perp2();
162 double S = 1.0 / sqrt( 1 - J * J ) / p.perp2();
163 // dc
164 HepVector dc( 2, 0 );
165 dc[0] = delx.y() * p.px() - delx.x() * p.py() -
166 0.5 * a * ( delx.x() * delx.x() + delx.y() * delx.y() );
167 dc[1] = delx.z() - p.pz() / a * asin( J );
168 m_dc.push_back( dc );
169 // Ec
170 HepMatrix Ec( 2, 3, 0 );
171 Ec[0][0] = -p.py() - a * delx.x();
172 Ec[0][1] = p.px() - a * delx.y();
173 Ec[0][2] = 0;
174 Ec[1][0] = -p.px() * p.pz() * S;
175 Ec[1][1] = -p.py() * p.pz() * S;
176 Ec[1][2] = 1.0;
177 m_Ec.push_back( Ec );
178 // Dc
179 HepMatrix Dc( 2, 6, 0 );
180 Dc[0][0] = delx.y();
181 Dc[0][1] = -delx.x();
182 Dc[0][2] = 0;
183 Dc[0][3] = p.py() + a * delx.x();
184 Dc[0][4] = -p.px() + a * delx.y();
185 Dc[0][5] = 0;
186 Dc[1][0] = -p.pz() * S * Rx;
187 Dc[1][1] = -p.pz() * S * Ry;
188 Dc[1][2] = -asin( J ) / a;
189 Dc[1][3] = p.px() * p.pz() * S;
190 Dc[1][4] = p.py() * p.pz() * S;
191 Dc[1][5] = -1.0;
192 m_Dc.push_back( Dc );
193 }
194 // VD
195 HepSymMatrix VD( 2, 0 );
196 m_VD.push_back( VD );
197 // EVDE
198 HepSymMatrix EVDE( 3, 0 );
199 m_EVDE.push_back( EVDE );
200 // lambda0
201 HepVector lambda0( 2, 0 );
202 m_lambda0.push_back( lambda0 );
203 // lambda
204 HepVector lambda( 2, 0 );
205 m_lambda.push_back( lambda );
206 // covax
207 HepMatrix covax( 6, 3, 0 );
208 m_covax.push_back( covax );
209 }
210 break;
211 }
212 }
213}
Double_t x[10]
double getCBz(const HepVector &vtx, const HepVector &trackPosition)

◆ UpdateConstraints() [2/3]

void VertexConstraints::UpdateConstraints ( VertexParameter vpar,
std::vector< WTrackParameter > wlis )

◆ UpdateConstraints() [3/3]

void VertexConstraints::UpdateConstraints ( VertexParameter vpar,
std::vector< WTrackParameter > wlis )

◆ VD() [1/3]

std::vector< HepSymMatrix > VertexConstraints::VD ( ) const
inline

Definition at line 49 of file Analysis/VertexFit/include/VertexFit/VertexConstraints.h.

49{ return m_VD; }

Referenced by UpdateConstraints().

◆ VD() [2/3]

std::vector< HepSymMatrix > VertexConstraints::VD ( ) const
inline

Definition at line 49 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/VertexConstraints.h.

49{ return m_VD; }

◆ VD() [3/3]

std::vector< HepSymMatrix > VertexConstraints::VD ( ) const
inline

Definition at line 49 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/VertexConstraints.h.

49{ return m_VD; }

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