diff --git a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ATLxk.cxx b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ATLxk.cxx index 960487547cf719e0f862bb443ef01d8d2b3ca8a8..277e979f429ea090e2c9cdbef35a633ba3b7d9f5 100644 --- a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ATLxk.cxx +++ b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ATLxk.cxx @@ -2087,9 +2087,13 @@ void InDet::SiSpacePointsSeedMaker_ATLxk::newOneSeed InDet::SiSpacePointForSeed*& p3, float z, float seedCandidateQuality) const { /// get the worst seed so far - std::multimap<float,InDet::SiSpacePointsProSeed*>::reverse_iterator l = data.mapOneSeeds_Pro.rbegin(); - float worstQualityInMap = (*l).first; - InDet::SiSpacePointsProSeed* worstSeedSoFar = (*l).second; + float worstQualityInMap = std::numeric_limits<float>::min(); + InDet::SiSpacePointsProSeed* worstSeedSoFar = nullptr; + if (!data.mapOneSeeds_Pro.empty()) { + std::multimap<float,InDet::SiSpacePointsProSeed*>::reverse_iterator l = data.mapOneSeeds_Pro.rbegin(); + worstQualityInMap = (*l).first; + worstSeedSoFar = (*l).second; + } /// There are three cases where we simply add our new seed to the list and push it into the map: /// a) we have not yet reached our max number of seeds if (data.nOneSeeds < m_maxOneSize @@ -2399,4 +2403,4 @@ bool InDet::SiSpacePointsSeedMaker_ATLxk::isConfirmedSeed(const InDet::SiSpacePo } /// PPS: the confirmation is the only quality modifier applied else return (quality < 0.); -} \ No newline at end of file +}