14 const float TrackerBoundsRadius = 112;
15 const float TrackerBoundsHalfLength = 273.5;
17 return ((
point.transverse() < TrackerBoundsRadius) && (
abs(
point.z()) < TrackerBoundsHalfLength));
25 return constrain(
track, priorVertexState);
35 double field =
track.field()->inInverseGeV(
track.impactPointState().globalPosition()).z();
36 int nominalBfield =
track.field()->nominalValue();
37 if ((fabs(field) < 1
e-4) && (fabs(nominalBfield) != 0)) {
38 LogDebug(
"RecoVertex/SingleTrackVertexConstraint")
39 <<
"Initial state is very far, field is close to zero (<1e-4): " << field <<
"\n";
43 RefCountedLinearizedTrackState lTrData = theLTrackFactory.linearizedTrackState(priorVertexState.
position(),
track);
44 RefCountedVertexTrack vertexTrack = theVTrackFactory.vertexTrack(lTrData, priorVertexState);
48 std::vector<RefCountedVertexTrack> initialTracks;
53 }
else if (doTrackerBoundCheck_ && (!insideTrackerBounds(
vertex.position()))) {
54 LogDebug(
"RecoVertex/SingleTrackVertexConstraint") <<
"Fitted position is out of tracker bounds.\n";
58 RefCountedVertexTrack nTrack = theVertexTrackUpdator.update(
vertex, vertexTrack);
59 return BTFtuple(
true, nTrack->refittedState()->transientTrack(), nTrack->smoothedChi2());
65 return constrain(ttFactory.build(fts), priorPos, priorError);
71 return constrain(
track, priorVertexState);
77 return constrain(ttFactory.build(fts), priorVertexState);