-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VertexException in Tier0 PromptReco for JetMET1 PD #45520
Comments
cms-bot internal usage |
A new Issue was created by @germanfgv. @Dr15Jones, @antoniovilela, @makortel, @mandrenguyen, @rappoccio, @sextonkennedy, @smuzaffar can you please review it and eventually sign/assign? Thanks. cms-bot commands are listed here |
assign reconstruction |
type pf |
New categories assigned: reconstruction @jfernan2,@mandrenguyen you have been requested to review this Pull request/Issue and eventually sign? Thanks |
@cms-sw/pf-l2 FYI |
Also seems prudent to tag @cms-sw/tracking-pog-l2 as well. |
Is it reproducible?
|
Can you try on ? |
thank you Marco, yes the crash is reproducible in AMD. |
This job failed 4 times at Tier-0, all of them while running in AMD. |
This
--- a/RecoParticleFlow/PFTracking/src/PFDisplacedVertexFinder.cc
+++ b/RecoParticleFlow/PFTracking/src/PFDisplacedVertexFinder.cc
@@ -313,10 +313,13 @@ bool PFDisplacedVertexFinder::fitVertexFromSeed(const PFDisplacedVertexSeed& dis
if (debug_)
cout << "First test with KFT" << endl;
-
- KalmanVertexFitter theKalmanFitter(true);
- theVertexAdaptiveRaw = theKalmanFitter.vertex(transTracksRaw, seedPoint);
-
+ try {
+ KalmanVertexFitter theKalmanFitter(true);
+ theVertexAdaptiveRaw = theKalmanFitter.vertex(transTracksRaw, seedPoint);
+ } catch (VertexException& e) {
+ edm::LogWarning(" PFDisplacedVertexFinder ") << " failure in KalmanVertexFitter! " << e.what();
+ }
|
@swagata87 @cms-sw/reconstruction-l2
would logging an error be more appropriate in this case?
I am curious about the properties of |
If I print |
For the particular case where it fails, this is how it looks like; AMD
Intel
|
Thanks @swagata87 . |
Indeed the AMD-only track with However, for very displaced vertices, a low number of valid hits seems possible. Also, there are other tracks in the same event with
[1] --- a/RecoParticleFlow/PFTracking/src/PFDisplacedVertexFinder.cc
+++ b/RecoParticleFlow/PFTracking/src/PFDisplacedVertexFinder.cc
@@ -255,7 +255,10 @@ bool PFDisplacedVertexFinder::fitVertexFromSeed(const PFDisplacedVertexSeed& dis
// Fill vectors of TransientTracks and TrackRefs after applying preselection cuts.
for (auto const& ie : tracksToFit) {
TransientTrack tmpTk(*(ie.get()), magField_, globTkGeomHandle_);
- transTracksRaw.emplace_back(tmpTk);
+
+ if (tmpTk.numberOfValidHits() > 3) {
+ transTracksRaw.emplace_back(tmpTk);
+ }
bool nonIt = PFTrackAlgoTools::nonIterative((ie)->algo());
bool step45 = PFTrackAlgoTools::step45((ie)->algo());
bool highQ = PFTrackAlgoTools::highQuality((ie)->algo());
@@ -281,7 +284,13 @@ bool PFDisplacedVertexFinder::fitVertexFromSeed(const PFDisplacedVertexSeed& dis
// 1)If only two track are found do not prefit
- if (transTracksRaw.size() == 2) {
+ if (transTracksRaw.size() < 2) {
+ if (debug_)
+ cout << "With <2 tracks, no fit is possible" << endl;
+ return true;
+ }
+
+ else if (transTracksRaw.size() == 2) {
if (debug_)
cout << "No raw fit done" << endl;
if (switchOff2TrackVertex_) { |
do you still have access to the tracking original algorithm at this level? also I would look at pTerr/pT or equivalently to the relative curvature (q/p) error. |
The errors look really bad for the problematic track [1]. [1]
The original algo is 22, which seems to be cmssw/DataFormats/TrackReco/interface/TrackBase.h Lines 111 to 114 in 4241872
The other tracks look fine [2]. [2]
|
thanks for all the checks @swagata87. |
I agree, I implemented the capping in this function[1], and it avoids the crash. I will try to make a PR soon. [1] cmssw/RecoParticleFlow/PFTracking/src/PFDisplacedVertexCandidateFinder.cc Lines 309 to 310 in 4241872
|
the track doesn't look too crazy (considering it's just 3 hits). |
Where's the boundary? 1E12 looks like a big number... |
on a second thought, this does look fairly crazy. |
yes, even for a track with just 3 hits, it looks a bit off;
For the problematic track,
here cmssw/RecoVertex/VertexPrimitives/src/BasicSingleVertexState.cc Lines 296 to 298 in 4241872
but if we remove those problematic tracks (by some upper cut on, say, qoverpError ) and then try vertex-fit, then the crash goes away. Does that sound like a good idea to you? And, if we cap, then at what value roughly? (thinking about not just to avoid this crash, but in general what value would be sensible) |
here is a proposal #45536 |
tagging PF reco L3 @stahlleiton |
this is being followed up at #45576 (thanks @mandrenguyen ) |
+1 |
This issue is fully signed and ready to be closed. |
@cmsbuild, please close |
Hi all,
We have one paused job for workflow
PromptReco_Run383323_JetMET1
with the following error message:You can find tarball for the job here:
This issue was also reported in CMS Talk:
https://cms-talk.web.cern.ch/t/vertexexception-in-promptreco-run383323-jetmet1-during-dqm-offline-step/44019
The text was updated successfully, but these errors were encountered: