diff --git a/TrackingTools/GsfTracking/src/GsfTrajectoryFitter.cc b/TrackingTools/GsfTracking/src/GsfTrajectoryFitter.cc index 7fa6e49f4e332..21fe98fddef8b 100644 --- a/TrackingTools/GsfTracking/src/GsfTrajectoryFitter.cc +++ b/TrackingTools/GsfTracking/src/GsfTrajectoryFitter.cc @@ -121,6 +121,9 @@ Trajectory GsfTrajectoryFitter::fitOne(const TrajectorySeed& aSeed, //update assert((!(*ihit)->canImproveWithTrack()) | (nullptr != theHitCloner)); assert((!(*ihit)->canImproveWithTrack()) | (nullptr != dynamic_cast((*ihit).get()))); + if (!predTsos.isValid()) { + return Trajectory(); + } auto preciseHit = theHitCloner->makeShared(*ihit, predTsos); dump(*preciseHit, hitcounter, "GsfTrackFitters"); currTsos = updator()->update(predTsos, *preciseHit); diff --git a/TrackingTools/GsfTracking/src/TsosGaussianStateConversions.cc b/TrackingTools/GsfTracking/src/TsosGaussianStateConversions.cc index 1692614f23389..98e498452a902 100644 --- a/TrackingTools/GsfTracking/src/TsosGaussianStateConversions.cc +++ b/TrackingTools/GsfTracking/src/TsosGaussianStateConversions.cc @@ -50,6 +50,8 @@ namespace GaussianStateConversions { side); } } - return TrajectoryStateOnSurface((BasicTrajectoryState*)new BasicMultiTrajectoryState(components)); + return components.empty() + ? TrajectoryStateOnSurface() + : TrajectoryStateOnSurface((BasicTrajectoryState*)new BasicMultiTrajectoryState(components)); } } // namespace GaussianStateConversions