63 ROOT::Math::XYZVector pos = aTrackPtr->
getPosition();
64 ROOT::Math::XYZVector mom = aTrackPtr->
getMomentum();
69 rave::Vector6D ravestate(pos.X(), pos.Y(), pos.Z(),
70 mom.X(), mom.Y(), mom.Z());
72 rave::Covariance6D ravecov(cov(0, 0), cov(1, 0), cov(2, 0),
73 cov(1, 1), cov(2, 1), cov(2, 2),
74 cov(3, 0), cov(4, 0), cov(5, 0),
75 cov(3, 1), cov(4, 1), cov(5, 1),
76 cov(3, 2), cov(4, 2), cov(5, 2),
77 cov(3, 3), cov(4, 3), cov(5, 3),
78 cov(4, 4), cov(5, 4), cov(5, 5));
80 return rave::Track(
id, ravestate, ravecov, rave::Charge(aTrackPtr->
getChargeSign()), 1,
89 const ROOT::Math::XYZVector& pos = aParticlePtr->
getVertex();
90 const ROOT::Math::XYZVector& mom = aParticlePtr->
getMomentum();
91 rave::Vector6D ravestate(pos.X(), pos.Y(), pos.Z(), mom.X(), mom.Y(), mom.Z());
95 rave::Covariance6D ravecov(cov(4, 4), cov(4, 5), cov(4, 6),
96 cov(5, 5), cov(5, 6), cov(6, 6),
97 cov(0, 4), cov(1, 4), cov(2, 4),
98 cov(0, 5), cov(1, 5), cov(2, 5),
99 cov(0, 6), cov(1, 6), cov(2, 6),
100 cov(0, 0), cov(0, 1), cov(0, 2),
101 cov(1, 1), cov(1, 2), cov(2, 2));
104 m_raveTracks.emplace_back(
id, ravestate, ravecov, rave::Charge(aParticlePtr->
getCharge() + 0.1), 1, 1);
252 B2ERROR(
"RaveVertexFitter: Daughters update works only with a single vertex");
257 B2WARNING(
"RaveVertexFitter: Fitted vertex has no refitted tracks");
263 for (
unsigned int i = 0; i < rTracks.size(); i++) {
265 const rave::Point3D fittedV = rtrk.position();
266 const rave::Vector3D fittedP = rtrk.momentum();
267 const rave::Covariance6D& fittedCov = rtrk.error();
269 ROOT::Math::XYZVector x3(fittedV.x(), fittedV.y(), fittedV.z());
271 ROOT::Math::PxPyPzEVector p4(fittedP.x(), fittedP.y(), fittedP.z(), fittedE);
273 TMatrixDSym fitted7CovPart =
m_belleDaughters[i]->getMomentumVertexErrorMatrix() ;
276 TMatrixDSym fitted7CovM(7);
277 fitted7CovM(0, 0) = fittedCov.dpxpx(); fitted7CovM(0, 0) = fitted7CovM(0, 0);
278 fitted7CovM(0, 1) = fittedCov.dpxpy(); fitted7CovM(1, 0) = fitted7CovM(0, 1);
279 fitted7CovM(0, 2) = fittedCov.dpxpz(); fitted7CovM(2, 0) = fitted7CovM(0, 2);
280 fitted7CovM(0, 3) = fitted7CovPart(0, 3); fitted7CovM(3, 0) = fitted7CovM(0, 3);
281 fitted7CovM(0, 4) = fittedCov.dxpx(); fitted7CovM(4, 0) = fitted7CovM(0, 4);
282 fitted7CovM(0, 5) = fittedCov.dypx(); fitted7CovM(5, 0) = fitted7CovM(0, 5);
283 fitted7CovM(0, 6) = fittedCov.dzpx(); fitted7CovM(6, 0) = fitted7CovM(0, 6);
285 fitted7CovM(1, 1) = fittedCov.dpypy(); fitted7CovM(1, 1) = fitted7CovM(1, 1);
286 fitted7CovM(1, 2) = fittedCov.dpypz(); fitted7CovM(2, 1) = fitted7CovM(1, 2);
287 fitted7CovM(1, 3) = fitted7CovPart(1, 3); fitted7CovM(3, 1) = fitted7CovM(1, 3);
288 fitted7CovM(1, 4) = fittedCov.dxpy(); fitted7CovM(4, 1) = fitted7CovM(1, 4);
289 fitted7CovM(1, 5) = fittedCov.dypy(); fitted7CovM(5, 1) = fitted7CovM(1, 5);
290 fitted7CovM(1, 6) = fittedCov.dzpy(); fitted7CovM(6, 1) = fitted7CovM(1, 6);
292 fitted7CovM(2, 2) = fittedCov.dpzpz(); fitted7CovM(2, 2) = fitted7CovM(2, 2);
293 fitted7CovM(2, 3) = fitted7CovPart(2, 3); fitted7CovM(3, 2) = fitted7CovM(2, 3);
294 fitted7CovM(2, 4) = fittedCov.dxpz(); fitted7CovM(4, 2) = fitted7CovM(2, 4);
295 fitted7CovM(2, 5) = fittedCov.dypz(); fitted7CovM(5, 2) = fitted7CovM(2, 5);
296 fitted7CovM(2, 6) = fittedCov.dzpz(); fitted7CovM(6, 2) = fitted7CovM(2, 6);
298 fitted7CovM(3, 3) = fitted7CovPart(3, 3); fitted7CovM(3, 3) = fitted7CovM(3, 3);
299 fitted7CovM(3, 4) = fitted7CovPart(3, 4); fitted7CovM(4, 3) = fitted7CovM(3, 4);
300 fitted7CovM(3, 5) = fitted7CovPart(3, 5); fitted7CovM(5, 3) = fitted7CovM(3, 5);
301 fitted7CovM(3, 6) = fitted7CovPart(3, 6); fitted7CovM(6, 3) = fitted7CovM(3, 6);
303 fitted7CovM(4, 4) = fittedCov.dxx(); fitted7CovM(4, 4) = fitted7CovM(4, 4);
304 fitted7CovM(4, 5) = fittedCov.dxy(); fitted7CovM(5, 4) = fitted7CovM(4, 5);
305 fitted7CovM(4, 6) = fittedCov.dxz(); fitted7CovM(6, 4) = fitted7CovM(4, 6);
307 fitted7CovM(5, 5) = fittedCov.dyy(); fitted7CovM(5, 5) = fitted7CovM(5, 5);
308 fitted7CovM(5, 6) = fittedCov.dyz(); fitted7CovM(6, 5) = fitted7CovM(5, 6);
310 fitted7CovM(6, 6) = fittedCov.dzz(); fitted7CovM(6, 6) = fitted7CovM(6, 6);
ROOT::Math::XYZVector getVertex() const
Returns vertex position (POCA for charged, IP for neutral FS particles)
std::vector< Particle * > getDaughters() const
Returns a vector of pointers to daughter particles.