From ec1afecc6a5178940b84708780f8be82baf674ea Mon Sep 17 00:00:00 2001 From: Savanna Marie Shaw <savanna.marie.shaw@cern.ch> Date: Fri, 30 Jul 2021 15:43:38 +0200 Subject: [PATCH] MuonTrackSegmentTool: prevent divide by zero Adding some protection to avoid dividing by zero (from zero weights). --- .../MuonTrackFinderTools/src/MuonTrackToSegmentTool.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonTrackToSegmentTool.cxx b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonTrackToSegmentTool.cxx index d17c6ae00a2..077548df8df 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonTrackToSegmentTool.cxx +++ b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonTrackToSegmentTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration */ #include "MuonTrackToSegmentTool.h" @@ -117,7 +117,7 @@ namespace Muon { } if (!surfaceTransform) surfaceTransform = backupTransform; // calculate distance new reference point, shift it 100 mm towards the start of the segment - double refDistance = weightedDistanceSquared / weightSquared - 100; + double refDistance = (weightSquared > 0 ? weightedDistanceSquared / weightSquared : 1) - 100; ATH_MSG_DEBUG(" weighted distance " << refDistance); Amg::Vector3D refPos = perigee->position() + refDistance * dir; -- GitLab