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
add protection for rare infinite loop in ecal multifit (76X) #11204
Conversation
A new Pull Request was created by @bendavid (Josh Bendavid) for CMSSW_7_6_X. add protection for rare infinite loop in ecal multifit (76X) It involves the following packages: RecoLocalCalo/EcalRecAlgos @cmsbuild, @cvuosalo, @slava77 can you please review it and eventually sign? Thanks. |
@cmsbuild please test Josh, please post here (or in another PR) how to reproduce the infinite loop condition to test this PR. |
The infinite loop is rare and never occurs with the current conditions. You can reproduce it with the work-in-progress tag for 2015 data process.GlobalTag.toGet = cms.VPSet( And it occurs in the 829th event of |
Existing tests were in CMSSW_7_4_11 starting from the global tag "74X_dataRun2_Prompt_v1" |
The tests are being triggered in jenkins. |
@@ -311,10 +311,12 @@ bool PulseChiSqSNNLS::NNLS() { | |||
const unsigned int nActive = npulse - _nP; | |||
|
|||
updatework = aTbvec - aTamat*_ampvec; | |||
Index idxwmaxprev = idxwmax; | |||
double wmaxprev = wmax; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These two *prev variables should be made const to ensure the compiler optimizes them out.
+1 Bug fix for rare infinite loop in ECAL multifit. There should be no change in monitored quantities. #11205 is the 74X version of this PR, and it has already been approved by Reco. The fixed code is satisfactory, and Jenkins tests against baseline CMSSW_7_6_X_2015-09-08-2300 show no significant differences, as expected. The bug fix was verified for #11205. |
This pull request is fully signed and it will be integrated in one of the next CMSSW_7_6_X IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @Degano, @smuzaffar |
@davidlange6 If Jenkins tests show no significant differences any change is likely in the noise. I am simply being picky. :-) |
I'm skeptical there will be a meaningful difference in the generated code either way :) |
+1 |
add protection for rare infinite loop in ecal multifit (76X)
This protects against a rare infinite loop observed to occur when updating ecal pulse shape templates to those derived from 2015 low pileup data.
Should have zero effect on MC (or data with existing db conditions)
Will be backported to 74x and 75x asap as well. (And in fact this change is needed both for HLT and prompt reco before updated multifit pulse conditions can safely be deployed)
@emanueledimarco @lgray