From 72bed745d739557efbed9096771ea7fcd2b2a87f Mon Sep 17 00:00:00 2001 From: Will Leight <wleight@cern.ch> Date: Mon, 20 Jul 2020 12:01:59 +0200 Subject: [PATCH 1/2] Reject poor muon track extrapolations Add a check to reject extrapolated tracks if the chi2 of the new track is much worse than the chi2 of the original MS track. For now, "much worse" means "1000 times worse": this may have to be adjusted, but the goal is to remove really terrible fits, not just fits that aren't quite as good. This should reduce the number of warnings of the type of those seen in ATLASRECTS-5427, by ensuring that the poorly fitted track is not used in the combined fit procedure. Instead, the original MS track will be used, so any loss of muons should be negligible. --- .../src/MuonCandidateTool.cxx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCandidateTool.cxx b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCandidateTool.cxx index 14f2b0e0d1aa..5fea906cee21 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCandidateTool.cxx +++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCandidateTool.cxx @@ -82,6 +82,22 @@ namespace MuonCombined { } else { standaloneTrack = m_trackExtrapolationTool->extrapolate(msTrack); } + if(standaloneTrack){ + //Reject the track if its fit quality is much (much much) worse than that of the non-extrapolated track + if(standaloneTrack->fitQuality()->doubleNumberDoF()==0){ + delete standaloneTrack; + standaloneTrack=0; + ATH_MSG_DEBUG("extrapolated track has no DOF, don't use it"); + } + double mschi2=2.5; //a default we should hopefully never have to use (taken from CombinedMuonTrackBuilder) + if(msTrack.fitQuality()->doubleNumberDoF()>0) mschi2=msTrack.fitQuality()->chiSquared()/msTrack.fitQuality()->doubleNumberDoF(); + //choice of 1000 is slightly arbitrary, the point is that the fit should be really be terrible + if(standaloneTrack->fitQuality()->chiSquared()/standaloneTrack->fitQuality()->doubleNumberDoF()>1000*mschi2){ + delete standaloneTrack; + standaloneTrack=0; + ATH_MSG_DEBUG("extrapolated track has a degraded fit, don't use it"); + } + } if (standaloneTrack) { standaloneTrack->info().setParticleHypothesis(Trk::muon); standaloneTrack->info().setPatternRecognitionInfo(Trk::TrackInfo::MuidStandAlone); -- GitLab From 4a460517878932f8ad05c56ee08d08932e6be54d Mon Sep 17 00:00:00 2001 From: Will Leight <wleight@cern.ch> Date: Mon, 20 Jul 2020 20:01:30 +0200 Subject: [PATCH 2/2] Update q431 ref --- Tools/PROCTools/data/master_q431_AOD_digest.ref | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tools/PROCTools/data/master_q431_AOD_digest.ref b/Tools/PROCTools/data/master_q431_AOD_digest.ref index 46db34c043db..4de62b1e01b9 100644 --- a/Tools/PROCTools/data/master_q431_AOD_digest.ref +++ b/Tools/PROCTools/data/master_q431_AOD_digest.ref @@ -14,7 +14,7 @@ 330470 1183746343 492 465 14 0 330470 1183746710 6 0 0 0 330470 1183751782 239 235 5 0 - 330470 1183752624 347 342 8 3 + 330470 1183752624 347 342 8 2 330470 1183753006 357 377 11 3 330470 1183754806 470 406 14 0 330470 1183769295 342 317 8 1 -- GitLab