#include <TrigPrimaryVertexTrack.h>
Definition at line 14 of file TrigPrimaryVertexTrack.h.
◆ TrigPrimaryVertexTrack() [1/2]
constructor for L2 tracks
Definition at line 11 of file TrigPrimaryVertexTrack.cxx.
20 double a=-2.0*
exp(-
p->eta())/(1.0+
exp(-2.0*
p->eta()));
28 Ck[0][0]=(*
p->cov())[0];Ck[0][1]=Ck[1][0]=(*
p->cov())[2];
29 Ck[0][2]=Ck[2][0]=(*
p->cov())[1];Ck[0][3]=Ck[3][0]=(*
p->cov())[3];
30 Ck[0][4]=Ck[4][0]=(*
p->cov())[4];Ck[1][1]=(*
p->cov())[9];
31 Ck[1][2]=Ck[2][1]=(*
p->cov())[6];Ck[1][3]=Ck[3][1]=(*
p->cov())[10];
32 Ck[1][4]=Ck[4][1]=(*
p->cov())[11];Ck[2][2]=(*
p->cov())[5];
33 Ck[2][3]=Ck[3][2]=(*
p->cov())[7];Ck[2][4]=Ck[4][2]=(*
p->cov())[8];
34 Ck[3][3]=(*
p->cov())[12];Ck[3][4]=Ck[4][3]=(*
p->cov())[13];
35 Ck[4][4]=(*
p->cov())[14];
38 Ck[3][
i]=
a*Ck[3][
i];Ck[
i][3]=Ck[3][
i];
43 Ck[4][
i]=Ck[4][
i]*1
e-3; Ck[
i][4]=Ck[4][
i];
48 for(
i=0;
i<2;
i++)
for(j=0;j<2;j++)
m_Vuu[
i][j]=Ck[
i][j];
49 for(
i=0;
i<2;
i++)
for(j=0;j<3;j++)
m_Vuq[
i][j]=Ck[
i][j+2];
50 for(
i=0;
i<3;
i++)
for(j=0;j<3;j++)
m_Vqq[
i][j]=Ck[
i+2][j+2];
◆ TrigPrimaryVertexTrack() [2/2]
constructor for EF (offline) tracks
Definition at line 55 of file TrigPrimaryVertexTrack.cxx.
68 const double ptC=1000.0*pP->parameters()[
Trk::qOverP];
69 const double inv_ptC = 1. / ptC;
79 const double Ck[5][5] = {{TC(0,0), TC(1,0), TC(2,0), TC(3,0),
a*TC(3,0) +
b*TC(4,0)},
80 {TC(1,0), TC(1,1), TC(2,1), TC(3,1),
a*TC(3,1) +
b*TC(4,1)},
81 {TC(2,0), TC(2,1), TC(2,2), TC(3,2),
a*TC(3,2) +
b*TC(4,2)},
82 {TC(3,0), TC(3,1), TC(3,2), TC(3,3),
a*TC(3,3) +
b*TC(4,3)},
83 {
a*TC(3,0) +
b*TC(4,0),
a*TC(3,1) +
b*TC(4,1),
a*TC(3,2) +
b*TC(4,2),
a*TC(3,3) +
b*TC(4,3),
a*
a*TC(3,3) + 2*
a*
b*TC(4,3) +
b*
b*TC(4,4)}};
85 for(
int i=0;
i<2;
i++)
for(
int j=0;j<2;j++)
m_Vuu[
i][j]=Ck[
i][j];
86 for(
int i=0;
i<3;
i++)
for(
int j=0;j<3;j++)
m_Vqq[
i][j]=Ck[
i+2][j+2];
87 for(
int i=0;
i<2;
i++)
for(
int j=0;j<3;j++)
m_Vuq[
i][j]=Ck[
i][j+2];
◆ ~TrigPrimaryVertexTrack()
TrigPrimaryVertexTrack::~TrigPrimaryVertexTrack |
( |
| ) |
|
◆ activate()
void TrigPrimaryVertexTrack::activate |
( |
| ) |
|
◆ getChi2Contribution()
double TrigPrimaryVertexTrack::getChi2Contribution |
( |
| ) |
|
◆ getChi2Distance()
double TrigPrimaryVertexTrack::getChi2Distance |
( |
TrigL2Vertex * |
pV | ) |
|
|
virtual |
implementation of abstract method from the base class
Implements TrigVertexFittingNode.
Definition at line 149 of file TrigPrimaryVertexTrack.cxx.
151 const double C=0.02997;
152 const double B=20.84;
154 double Sk[2][2],detr,
chi2;
155 double AC[2][3],BV[2][3],
h[2];
157 double psi,sinPsi,xv,yv,zv,
158 cosPhi0,sinPhi0,ctt,sint,
phi0,theta0,P0;
159 const double alpha =
C*
B*1
e-3;
160 const double inv_alpha = 1. / alpha;
171 sinPsi=-alpha*(xv*cosPhi0+yv*sinPhi0)/P0;
172 if(fabs(sinPsi)>1.0)
return -999.9;
173 const double cosPsi=sqrt(1.0-sinPsi*sinPsi);
174 const double inv_cosPsi = 1. / cosPsi;
177 ctt=
cos(theta0)/sint;
183 m_A[1][0]=-ctt*cosPhi0*inv_cosPsi;
184 m_A[1][1]=-ctt*sinPhi0*inv_cosPsi;
189 m_B[0][2]=(1.0-inv_cosPsi)*inv_alpha;
192 m_B[1][1]=-P0*psi/(alpha*sint*sint);
193 m_B[1][2]=ctt*(psi-sinPsi*inv_cosPsi)*inv_alpha;
195 h[0]=yv*cosPhi0-xv*sinPhi0+P0*(1-cosPsi)*inv_alpha;
196 h[1]=zv+P0*ctt*psi*inv_alpha;
201 for(
i=0;
i<2;
i++)
for(j=0;j<2;j++) Sk[
i][j]=
m_Vuu[
i][j];
202 for(
i=0;
i<2;
i++)
for(j=0;j<3;j++)
207 for(
i=0;
i<2;
i++)
for(j=0;j<2;j++)
220 for(
k=0;
k<3;
k++) Sk[
i][j]+=BV[
i][
k]*
m_B[j][
k];
228 detr=1.0/(Sk[0][0]*Sk[1][1]-Sk[0][1]*Sk[1][0]);
229 m_V[0][0]=Sk[1][1]*detr;
230 m_V[1][1]=Sk[0][0]*detr;
231 m_V[0][1]=
m_V[1][0]=-Sk[0][1]*detr;
237 for(j=0;j<3;j++)
m_D[
i][j]=
AC[
i][j];
◆ getIndex()
int TrigPrimaryVertexTrack::getIndex |
( |
| ) |
const |
◆ getTrackType()
int TrigPrimaryVertexTrack::getTrackType |
( |
| ) |
|
◆ getTrigTrack()
◆ getTrkTrack()
◆ isActive()
bool TrigPrimaryVertexTrack::isActive |
( |
| ) |
|
◆ mask()
void TrigPrimaryVertexTrack::mask |
( |
| ) |
|
◆ Perigee()
const double * TrigPrimaryVertexTrack::Perigee |
( |
| ) |
const |
◆ PerigeeCovariance()
double TrigPrimaryVertexTrack::PerigeeCovariance |
( |
int |
i, |
|
|
int |
j |
|
) |
| const |
◆ report()
MsgStream & TrigPrimaryVertexTrack::report |
( |
MsgStream & |
out | ) |
const |
|
virtual |
◆ setIndex()
void TrigPrimaryVertexTrack::setIndex |
( |
int |
i | ) |
|
◆ updateVertex()
void TrigPrimaryVertexTrack::updateVertex |
( |
TrigL2Vertex * |
pV | ) |
|
|
virtual |
◆ m_A
double TrigPrimaryVertexTrack::m_A[2][3] {} |
|
private |
◆ m_active
bool TrigPrimaryVertexTrack::m_active |
|
private |
◆ m_B
double TrigPrimaryVertexTrack::m_B[2][3] {} |
|
private |
◆ m_D
◆ m_dChi2
double TrigPrimaryVertexTrack::m_dChi2 |
|
private |
◆ m_index
int TrigPrimaryVertexTrack::m_index = 0 |
|
private |
◆ m_nTrackType
int TrigPrimaryVertexTrack::m_nTrackType |
|
private |
◆ m_Perigee
double TrigPrimaryVertexTrack::m_Perigee[5] {} |
|
private |
◆ m_PerigeeCovariance
double TrigPrimaryVertexTrack::m_PerigeeCovariance[5][5] {} |
|
private |
◆ m_pTrigTrack
◆ m_pTrkTrack
◆ m_q
double TrigPrimaryVertexTrack::m_q[3] {} |
|
private |
◆ m_resid
double TrigVertexFittingNode::m_resid[2] {} |
|
protectedinherited |
◆ m_u
double TrigPrimaryVertexTrack::m_u[2] {} |
|
private |
◆ m_V
double TrigVertexFittingNode::m_V[2][2] {} |
|
protectedinherited |
◆ m_Vqq
double TrigPrimaryVertexTrack::m_Vqq[3][3] {} |
|
private |
◆ m_Vuq
double TrigPrimaryVertexTrack::m_Vuq[2][3] {} |
|
private |
◆ m_Vuu
double TrigPrimaryVertexTrack::m_Vuu[2][2] {} |
|
private |
The documentation for this class was generated from the following files: