#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 366 of file TrigL2Vertex.cxx.
368 const double C=0.029997;
369 const double B=20.84;
372 double P[3];
double E=0.0;
377 for(
int i=0;
i<3;
i++)
P[
i]=0.0;
381 offset=3+3*(*it)->getIndex();
382 double mass=(*it)->getMass()/1000.0;
387 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 399 of file TrigL2Vertex.cxx.
401 const double C=0.029997;
402 const double B=20.84;
408 bool linFailed=
false;
409 double* Rk = pV->getParametersVector();
412 for(
i=0;
i<3;
i++)
P[
i]=0.0;
414 int nSize=3+3*pV->getTracks()->size();
418 offset=3+3*(*it)->getIndex();
419 double mass=(*it)->getMass()/1000.0;
424 double phiV=Rk[
offset]+psi;
433 m_D[0][0]=0.0;
m_D[0][1]=0.0;
m_D[0][2]=0.0;
437 offset=3+3*(*it)->getIndex();
439 double mass=(*it)->getMass()/1000.0;
440 double Ck=(Rk[
offset+2]<0.0)?-1.0:1.0;
449 double sinPsi=-alpha*(Rk[0]*cosF+Rk[1]*sinF)/Rk[
offset+2];
455 double psi=asin(sinPsi);
456 double cosPsi=sqrt(1.0-sinPsi*sinPsi);
457 double phiV=Rk[
offset]+psi;
459 double aCos=alpha*Ck/cosPsi;
460 double dP=
P[1]*
cos(phiV)-
P[0]*
sin(phiV);
463 m_D[0][0]+=dP*cosF*aCos;
464 m_D[0][1]+=dP*sinF*aCos;
467 m_D[0][
offset+2]=eE/sinT-Ck*(
P[0]*
cos(phiV)+
P[1]*
sin(phiV)+
P[2]*cosT/sinT)+dP*Ck*sinPsi/cosPsi;
470 if(linFailed)
return -999.9;
499 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 508 of file TrigL2Vertex.cxx.
512 const int nSize=3+3*pV->getTracks()->size();
518 for(j=0;j<nSize;j++)
gain+=pV->m_Gk[
i][j]*
m_D[0][j];
524 pV->getParametersVector()[
i]+=K[
i]*
m_resid[0];
527 pV->m_Gk[
i][j]-=K[
i]*
m_D[1][j];
528 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: