#include <TrigL2Vertex.h>
Definition at line 104 of file TrigL2Vertex.h.
◆ TrigVertexFitConstraint() [1/2]
◆ TrigVertexFitConstraint() [2/2]
◆ ~TrigVertexFitConstraint()
TrigVertexFitConstraint::~TrigVertexFitConstraint |
( |
| ) |
|
◆ calculateInvariantMass()
double TrigVertexFitConstraint::calculateInvariantMass |
( |
TrigL2Vertex * |
pV | ) |
|
|
private |
Definition at line 367 of file TrigL2Vertex.cxx.
369 const double C=0.029997;
370 const double B=20.84;
373 double P[3];
double E=0.0;
378 for(
int i=0;
i<3;
i++)
P[
i]=0.0;
382 offset=3+3*(*it)->getIndex();
383 double mass=(*it)->getMass()/1000.0;
388 double phiV=Rk[
offset]+psi;
◆ getChi2Distance()
double TrigVertexFitConstraint::getChi2Distance |
( |
class TrigL2Vertex * |
pV | ) |
|
|
virtual |
implementation of abstract method from the base class
Implements TrigVertexFittingNode.
Definition at line 400 of file TrigL2Vertex.cxx.
402 const double C=0.029997;
403 const double B=20.84;
409 bool linFailed=
false;
410 double* Rk = pV->getParametersVector();
413 for(
i=0;
i<3;
i++)
P[
i]=0.0;
415 int nSize=3+3*pV->getTracks()->size();
419 offset=3+3*(*it)->getIndex();
420 double mass=(*it)->getMass()/1000.0;
425 double phiV=Rk[
offset]+psi;
434 m_D[0][0]=0.0;
m_D[0][1]=0.0;
m_D[0][2]=0.0;
438 offset=3+3*(*it)->getIndex();
440 double mass=(*it)->getMass()/1000.0;
441 double Ck=(Rk[
offset+2]<0.0)?-1.0:1.0;
450 double sinPsi=-alpha*(Rk[0]*cosF+Rk[1]*sinF)/Rk[
offset+2];
456 double psi=asin(sinPsi);
457 double cosPsi=sqrt(1.0-sinPsi*sinPsi);
458 double phiV=Rk[
offset]+psi;
460 double aCos=alpha*Ck/cosPsi;
461 double dP=
P[1]*
cos(phiV)-
P[0]*
sin(phiV);
464 m_D[0][0]+=dP*cosF*aCos;
465 m_D[0][1]+=dP*sinF*aCos;
468 m_D[0][
offset+2]=eE/sinT-Ck*(
P[0]*
cos(phiV)+
P[1]*
sin(phiV)+
P[2]*cosT/sinT)+dP*Ck*sinPsi/cosPsi;
471 if(linFailed)
return -999.9;
500 double dCov=pV->m_Gk[
i][j]*
m_D[0][
i]*
m_D[0][j];
◆ getValue()
double TrigVertexFitConstraint::getValue |
( |
| ) |
|
◆ report()
MsgStream & TrigVertexFitConstraint::report |
( |
MsgStream & |
out | ) |
const |
|
virtual |
◆ updateVertex()
void TrigVertexFitConstraint::updateVertex |
( |
class TrigL2Vertex * |
pV | ) |
|
|
virtual |
implementation of abstract method from the base class
Implements TrigVertexFittingNode.
Definition at line 509 of file TrigL2Vertex.cxx.
513 const int nSize=3+3*pV->getTracks()->size();
519 for(j=0;j<nSize;j++)
gain+=pV->m_Gk[
i][j]*
m_D[0][j];
525 pV->getParametersVector()[
i]+=K[
i]*
m_resid[0];
528 pV->m_Gk[
i][j]-=K[
i]*
m_D[1][j];
529 pV->m_Gk[j][
i]=pV->m_Gk[
i][j];
◆ m_D
◆ m_resid
double TrigVertexFittingNode::m_resid[2] {} |
|
protectedinherited |
◆ m_trackList
◆ m_V
double TrigVertexFittingNode::m_V[2][2] {} |
|
protectedinherited |
◆ m_value
double TrigVertexFitConstraint::m_value |
|
private |
The documentation for this class was generated from the following files: