12 #include <TDatabasePDG.h>
15 #include <mdst/dataobjects/ECLCluster.h>
16 #include <mdst/dataobjects/KLMCluster.h>
17 #include <mdst/dataobjects/Track.h>
22 m_globalX(0), m_globalY(0), m_globalZ(0), m_p(0),
23 m_errorX(0), m_errorY(0), m_errorZ(0), m_errorP(0)
28 int nInnermostLayer,
float p) :
29 m_time(time), m_layers(nLayers), m_innermostLayer(nInnermostLayer),
30 m_globalX(x), m_globalY(y), m_globalZ(z), m_p(p),
31 m_errorX(0), m_errorY(0), m_errorZ(0), m_errorP(0)
46 static double mass = TDatabasePDG::Instance()->GetParticle(130)->Mass();
47 return sqrt(mass * mass +
m_p *
m_p);
60 return eclClusters.
size() > 0;
66 return tracks.size() > 0;
73 TMatrixDSym errorMatrix(4);
74 TMatrixD jacobian(4, 4);
86 jacobian(1, 0) = jacobian(0, 1);
91 jacobian(2, 0) = jacobian(0, 2);
92 jacobian(2, 1) = jacobian(1, 2);
97 return errorMatrix.Similarity(jacobian);
104 TMatrixDSym errorMatrix(7);
106 for (i = 0; i < 4; i++) {
107 for (j = i; j < 4; j++)
108 errorMatrix[i][j] = errorMatrix4[i][j];
110 for (i = 4; i < 7; i++)
111 errorMatrix[i][i] = 1.0;