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
Replacing PR#5954: Threadsafe faster hcal25ns reco method2 #6150
Replacing PR#5954: Threadsafe faster hcal25ns reco method2 #6150
Conversation
A new Pull Request was created by @lihux25 (Hongxuan Liu) for CMSSW_7_3_X. Replacing PR#5954: Threadsafe faster hcal25ns reco method2 It involves the following packages: RecoLocalCalo/HcalRecAlgos @cmsbuild, @nclopezo, @StoyanStoynev, @slava77 can you please review it and eventually sign? Thanks. |
Thanks, please close the other PR |
bool fitStatus = false; | ||
if(n_above_thr<=5){ | ||
// Set starting values and step sizes for parameters | ||
double vstart[3] = {iniTimesArr[i_tsmax-1], tsMAX_NOPED, 0}; |
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.
check that i_tsmax is above zero
Moving on to this PR (more comments were in #5954) After running valgrind on 10 events in wflow 25202, reconstruction only I see about 26K valgrind errors about uninitialized conditions coming from Minuit2 and downstream. run valgrind with
(about 10 events should be enough, mind that valgrind is about 10-20 times slower than a regular run) you can parse the output xml file with smth like (this selects Uninit* kind of errors in a stack of calls with ::doEvent and skip the ones with TObject [the TObject-related erros seem to be harmless]):
NB: Prior to this PR there are 7 valgrind errors in HcalNoiseAlgo::pass*RBXRechitR45 which don't spread to downstream reco though (still, need to be fixed separately from this). |
as for the thread safety, I tried to run the static analyzer, but it failed to parse the most interesting part HybridMinimizer.cc |
... I wouldn't be too surprised if the uninitialized variables are a source of the fit instabilities (the reason multiple scans are needed) |
If you want to catch funny cases in heap, use a secret weapon.
It forces your allocated and freed memory be with specific pattern. If changing This somewhat allows you to set uninitialized variables value (if their are in heap). |
@@ -0,0 +1,966 @@ | |||
// Note copied and modifed from the Minuit2Minimizer to suit our purpose | |||
// Implementation file for class HybridMinimizer |
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.
I see that you have removed the copyright notice.
After I learned that this is essentially a copy of the Minuit2Minimizer, the copyright note should be put back and some notes should be added about modifications made in this code.
Please also write a message on roottalk to investigate if there are subtle reasons to not support changes in the fit strategy.
Your comments are incorporated and valgrind tests are done in the latest update |
Pull request #6150 was updated. @cmsbuild, @nclopezo, @StoyanStoynev, @slava77 can you please check and sign again. |
This pull request is fully signed and it will be integrated in one of the next CMSSW_7_3_X IBs unless changes or unless it breaks tests. This PR is put on hold by @slava77. He / she will have to remove the |
This pull request is fully signed and it will be integrated in one of the next CMSSW_7_3_X IBs unless changes (tests are also fine). This PR is put on hold by @slava77. He / she will have to remove the |
This pull request is fully signed and it will be integrated in one of the next CMSSW_7_3_X IBs unless changes (tests are also fine). This PR is put on hold by @slava77. He / she will have to remove the |
…_method2 Replacing PR#5954: Threadsafe faster hcal25ns reco method2
A new PR. This is the SAME as the latest update of the PR#5954 and meant to replace that (with a fresh pull request...)
(ref: PR#5954: #5954)