#include <TrigL2Vertex.h>
Definition at line 61 of file TrigL2Vertex.h.
◆ TrigVertexFitInputTrack() [1/2]
TrigVertexFitInputTrack::TrigVertexFitInputTrack |
( |
const TrigInDetTrack * |
pT, |
|
|
double |
mass = 0.0 |
|
) |
| |
constructor for L2 tracks
Definition at line 9 of file TrigL2Vertex.cxx.
19 double a=-2.0*
exp(-
p->eta())/(1.0+
exp(-2.0*
p->eta()));
24 m_q[2]=
p->pT()/1000.0;
27 Ck[0][0]=(*
p->cov())[0];Ck[0][1]=Ck[1][0]=(*
p->cov())[2];
28 Ck[0][2]=Ck[2][0]=(*
p->cov())[1];Ck[0][3]=Ck[3][0]=(*
p->cov())[3];
29 Ck[0][4]=Ck[4][0]=(*
p->cov())[4];Ck[1][1]=(*
p->cov())[9];
30 Ck[1][2]=Ck[2][1]=(*
p->cov())[6];Ck[1][3]=Ck[3][1]=(*
p->cov())[10];
31 Ck[1][4]=Ck[4][1]=(*
p->cov())[11];Ck[2][2]=(*
p->cov())[5];
32 Ck[2][3]=Ck[3][2]=(*
p->cov())[7];Ck[2][4]=Ck[4][2]=(*
p->cov())[8];
33 Ck[3][3]=(*
p->cov())[12];Ck[3][4]=Ck[4][3]=(*
p->cov())[13];
34 Ck[4][4]=(*
p->cov())[14];
37 Ck[3][
i]=
a*Ck[3][
i];Ck[
i][3]=Ck[3][
i];
42 Ck[4][
i]=Ck[4][
i]/1000.0;Ck[
i][4]=Ck[4][
i];
47 for(
i=0;
i<2;
i++)
for(j=0;j<2;j++)
m_Vuu[
i][j]=Ck[
i][j];
48 for(
i=0;
i<2;
i++)
for(j=0;j<3;j++)
m_Vuq[
i][j]=Ck[
i][j+2];
49 for(
i=0;
i<3;
i++)
for(j=0;j<3;j++)
m_Vqq[
i][j]=Ck[
i+2][j+2];
◆ TrigVertexFitInputTrack() [2/2]
TrigVertexFitInputTrack::TrigVertexFitInputTrack |
( |
const Trk::Track * |
pT, |
|
|
double |
mass = 0.0 |
|
) |
| |
constructor for EF (offline) tracks
Definition at line 68 of file TrigL2Vertex.cxx.
86 if( pP->covariance() ){
109 Ck[3][3]=Ck[3][3]+2.0*
a*Ck[3][4]+
a*
a*Ck[4][4];
110 Ck[3][4]=Ck[4][3]=
b*Ck[3][4]+
a*
b*Ck[4][4];
111 Ck[4][4]=
b*
b*Ck[4][4];
112 Ck[0][3]=Ck[3][0]=Ck[0][3]+
a*Ck[0][4];Ck[0][4]*=
b;Ck[4][0]=Ck[0][4];
113 Ck[1][3]=Ck[3][1]=Ck[1][3]+
a*Ck[1][4];Ck[1][4]*=
b;Ck[4][1]=Ck[1][4];
114 Ck[2][3]=Ck[3][2]=Ck[2][3]+
a*Ck[2][4];Ck[2][4]*=
b;Ck[4][2]=Ck[2][4];
115 for(
int i=0;
i<2;
i++)
for(
int j=0;j<2;j++)
m_Vuu[
i][j]=Ck[
i][j];
116 for(
int i=0;
i<3;
i++)
for(
int j=0;j<3;j++)
m_Vqq[
i][j]=Ck[
i+2][j+2];
117 for(
int i=0;
i<2;
i++)
for(
int j=0;j<3;j++)
m_Vuq[
i][j]=Ck[
i][j+2];
◆ ~TrigVertexFitInputTrack()
TrigVertexFitInputTrack::~TrigVertexFitInputTrack |
( |
| ) |
|
◆ activate()
void TrigVertexFitInputTrack::activate |
( |
| ) |
|
◆ getChi2Distance()
double TrigVertexFitInputTrack::getChi2Distance |
( |
class TrigL2Vertex * |
pV | ) |
|
|
virtual |
implementation of abstract method from the base class
Implements TrigVertexFittingNode.
Definition at line 196 of file TrigL2Vertex.cxx.
198 const double C=0.02997;
199 const double B=20.84;
200 const double alpha=
C*
B/1000.0;
202 double Sk[2][2],detr,
chi2;
203 double AC[2][3],BV[2][3];
214 const double xv=pV->getParametersVector()[0];
215 const double yv=pV->getParametersVector()[1];
216 const double zv=pV->getParametersVector()[2];
217 const double phi0=pV->getParametersVector()[3+shift];
218 const double theta0=pV->getParametersVector()[4+shift];
219 const double P0=pV->getParametersVector()[5+shift];
221 const double cosPhi0=
cos(
phi0);
222 const double sinPhi0=
sin(
phi0);
223 const double sinPsi=-alpha*(xv*cosPhi0+yv*sinPhi0)/P0;
224 if(fabs(sinPsi)>1.0)
return -999.9;
225 const double cosPsi=sqrt(1.0-sinPsi*sinPsi);
226 const double psi=asin(sinPsi);
227 const double sint=
sin(theta0);
228 const double ctt=
cos(theta0)/sint;
234 m_A[1][0]=-ctt*cosPhi0/cosPsi;
235 m_A[1][1]=-ctt*sinPhi0/cosPsi;
240 m_B[0][2]=(1.0-1.0/cosPsi)/alpha;
243 m_B[1][1]=-P0*psi/(alpha*sint*sint);
244 m_B[1][2]=ctt*(psi-sinPsi/cosPsi)/alpha;
246 m_h[0]=yv*cosPhi0-xv*sinPhi0+P0*(1-cosPsi)/alpha;
247 m_h[1]=zv+P0*ctt*psi/alpha;
252 for(
i=0;
i<2;
i++)
for(j=0;j<2;j++) Sk[
i][j]=
m_Vuu[
i][j];
253 for(
i=0;
i<2;
i++)
for(j=0;j<3;j++)
258 for(
i=0;
i<2;
i++)
for(j=0;j<2;j++)
271 for(
k=0;
k<3;
k++) Sk[
i][j]+=BV[
i][
k]*
m_B[j][
k];
279 detr=1.0/(Sk[0][0]*Sk[1][1]-Sk[0][1]*Sk[1][0]);
280 m_V[0][0]=Sk[1][1]*detr;
281 m_V[1][1]=Sk[0][0]*detr;
282 m_V[0][1]=
m_V[1][0]=-Sk[0][1]*detr;
289 for(j=0;j<3;j++)
m_D[
i][j]=
AC[
i][j];
290 for(j=3;j<3+shift;j++)
296 for(j=0;j<3;j++)
m_D[
i][j+3+shift]=BV[
i][j]-
m_Vuq[
i][j];
◆ getIndex()
int TrigVertexFitInputTrack::getIndex |
( |
| ) |
const |
◆ getMass()
double TrigVertexFitInputTrack::getMass |
( |
| ) |
const |
|
inline |
◆ getTrackType()
int TrigVertexFitInputTrack::getTrackType |
( |
| ) |
|
◆ getTrigTrack()
◆ getTrkTrack()
◆ initializeVertex()
void TrigVertexFitInputTrack::initializeVertex |
( |
class TrigL2Vertex * |
pV | ) |
|
resets and fills its part of the covariance and parameter vector
Definition at line 189 of file TrigL2Vertex.cxx.
193 pV->getParametersVector()[
i+j]=
m_q[j];
◆ isActive()
bool TrigVertexFitInputTrack::isActive |
( |
| ) |
|
if true this track will be used in the vertex fit otherwise it will be masked
Definition at line 148 of file TrigL2Vertex.cxx.
◆ linearize()
bool TrigVertexFitInputTrack::linearize |
( |
class TrigL2Vertex * |
| ) |
|
re-calculates linearization of the measurement model in the vicinity of parameters provided by input TrigL2Vertex
◆ mask()
void TrigVertexFitInputTrack::mask |
( |
| ) |
|
◆ Perigee()
const double * TrigVertexFitInputTrack::Perigee |
( |
| ) |
const |
◆ PerigeeCovariance()
double TrigVertexFitInputTrack::PerigeeCovariance |
( |
int |
i, |
|
|
int |
j |
|
) |
| const |
◆ report()
MsgStream & TrigVertexFitInputTrack::report |
( |
MsgStream & |
out | ) |
const |
|
virtual |
◆ setIndex()
void TrigVertexFitInputTrack::setIndex |
( |
int |
i | ) |
|
◆ setMass()
void TrigVertexFitInputTrack::setMass |
( |
double |
m | ) |
|
◆ updateVertex()
void TrigVertexFitInputTrack::updateVertex |
( |
class TrigL2Vertex * |
pV | ) |
|
|
virtual |
◆ m_A
double TrigVertexFitInputTrack::m_A[2][3] {} |
|
private |
◆ m_active
bool TrigVertexFitInputTrack::m_active {true} |
|
private |
◆ m_B
double TrigVertexFitInputTrack::m_B[2][3] {} |
|
private |
◆ m_D
◆ m_h
double TrigVertexFitInputTrack::m_h[2] {} |
|
private |
◆ m_index
int TrigVertexFitInputTrack::m_index {} |
|
private |
◆ m_mass
double TrigVertexFitInputTrack::m_mass {} |
|
private |
◆ m_nTrackType
int TrigVertexFitInputTrack::m_nTrackType {} |
|
private |
◆ m_Perigee
double TrigVertexFitInputTrack::m_Perigee[5] {} |
|
private |
◆ m_PerigeeCovariance
double TrigVertexFitInputTrack::m_PerigeeCovariance[5][5] {} |
|
private |
◆ m_pTrigTrack
◆ m_pTrkTrack
◆ m_q
double TrigVertexFitInputTrack::m_q[3] {} |
|
private |
◆ m_resid
double TrigVertexFittingNode::m_resid[2] {} |
|
protectedinherited |
◆ m_u
double TrigVertexFitInputTrack::m_u[2] {} |
|
private |
◆ m_V
double TrigVertexFittingNode::m_V[2][2] {} |
|
protectedinherited |
◆ m_Vqq
double TrigVertexFitInputTrack::m_Vqq[3][3] {} |
|
private |
◆ m_Vuq
double TrigVertexFitInputTrack::m_Vuq[2][3] {} |
|
private |
◆ m_Vuu
double TrigVertexFitInputTrack::m_Vuu[2][2] {} |
|
private |
The documentation for this class was generated from the following files: