Skip to content
Snippets Groups Projects
Commit e8a2b3de authored by Bastian Schlag's avatar Bastian Schlag
Browse files

update FullBilloirVertexFitter to correctly initialize all variables

parent 1d4128f2
No related branches found
No related tags found
1 merge request!802Remove propagator options from vertexing configs and performance upgrades
Pipeline #1511767 passed
...@@ -196,14 +196,9 @@ Acts::FullBilloirVertexFitter<input_track_t, linearizer_t>::fit( ...@@ -196,14 +196,9 @@ Acts::FullBilloirVertexFitter<input_track_t, linearizer_t>::fit(
billoirVertex.Amat - billoirVertex.Amat -
billoirVertex.BCBmat; // VwgtMat = Amat-sum{BiMat*Ci^-1*BiMat^T} billoirVertex.BCBmat; // VwgtMat = Amat-sum{BiMat*Ci^-1*BiMat^T}
if (isConstraintFit) { if (isConstraintFit) {
SpacePointVector posInBilloirFrame;
// this will be 0 for first iteration but != 0 from second on // this will be 0 for first iteration but != 0 from second on
posInBilloirFrame[0] = SpacePointVector posInBilloirFrame =
vertexingOptions.vertexConstraint.position()[0] - linPoint[0]; vertexingOptions.vertexConstraint.fullPosition() - linPoint;
posInBilloirFrame[1] =
vertexingOptions.vertexConstraint.position()[1] - linPoint[1];
posInBilloirFrame[2] =
vertexingOptions.vertexConstraint.position()[2] - linPoint[2];
Vdel += vertexingOptions.vertexConstraint.fullCovariance().inverse() * Vdel += vertexingOptions.vertexConstraint.fullCovariance().inverse() *
posInBilloirFrame; posInBilloirFrame;
...@@ -225,9 +220,7 @@ Acts::FullBilloirVertexFitter<input_track_t, linearizer_t>::fit( ...@@ -225,9 +220,7 @@ Acts::FullBilloirVertexFitter<input_track_t, linearizer_t>::fit(
(bTrack.CiInv) * (bTrack.UiVec - bTrack.BiMat.transpose() * deltaV); (bTrack.CiInv) * (bTrack.UiVec - bTrack.BiMat.transpose() * deltaV);
// update track momenta // update track momenta
trackMomenta[iTrack][0] += deltaP[0]; trackMomenta[iTrack] += deltaP;
trackMomenta[iTrack][1] += deltaP[1];
trackMomenta[iTrack][2] += deltaP[2];
// correct for 2PI / PI periodicity // correct for 2PI / PI periodicity
auto correctedPhiTheta = detail::ensureThetaBounds( auto correctedPhiTheta = detail::ensureThetaBounds(
...@@ -286,23 +279,19 @@ Acts::FullBilloirVertexFitter<input_track_t, linearizer_t>::fit( ...@@ -286,23 +279,19 @@ Acts::FullBilloirVertexFitter<input_track_t, linearizer_t>::fit(
} }
if (isConstraintFit) { if (isConstraintFit) {
Vector3D deltaTrk;
// last term will also be 0 again but only in the first iteration // last term will also be 0 again but only in the first iteration
// = calc. vtx in billoir frame - ( isConstraintFit pos. in billoir // = calc. vtx in billoir frame - ( isConstraintFit pos. in billoir
// frame ) // frame )
deltaTrk[0] =
deltaV[0] - SpacePointVector deltaTrk =
(vertexingOptions.vertexConstraint.position()[0] - linPoint[0]); deltaV -
deltaTrk[1] = (vertexingOptions.vertexConstraint.fullPosition() - linPoint);
deltaV[1] -
(vertexingOptions.vertexConstraint.position()[1] - linPoint[1]);
deltaTrk[2] =
deltaV[2] -
(vertexingOptions.vertexConstraint.position()[2] - linPoint[2]);
newChi2 += newChi2 +=
(deltaTrk.transpose()) (deltaTrk.transpose())
.dot(vertexingOptions.vertexConstraint.covariance().inverse() * .dot(
deltaTrk); vertexingOptions.vertexConstraint.fullCovariance().inverse() *
deltaTrk);
} }
if (!std::isnormal(newChi2)) { if (!std::isnormal(newChi2)) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment