Skip to content
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

Merged
merged 1 commit into from Sep 15, 2015

Conversation

bendavid
Copy link
Contributor

@bendavid bendavid commented Sep 9, 2015

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

@bendavid bendavid changed the title add protection for rare infinite loop in ecal multifit add protection for rare infinite loop in ecal multifit (76X) Sep 9, 2015
@cmsbuild cmsbuild added this to the Next CMSSW_7_6_X milestone Sep 9, 2015
@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 9, 2015

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.
@argiro this is something you requested to watch as well.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.
If you are a L2 or a release manager you can ask for tests by saying 'please test' in the first line of a comment.
@Degano you are the release manager for this.
You can merge this pull request by typing 'merge' in the first line of your comment.

@slava77
Copy link
Contributor

slava77 commented Sep 9, 2015

@cmsbuild please test
[ Josh, you could request the tests, I guess.]

Josh, please post here (or in another PR) how to reproduce the infinite loop condition to test this PR.

@bendavid
Copy link
Contributor Author

bendavid commented Sep 9, 2015

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(
cms.PSet(record = cms.string("EcalPulseShapesRcd"),
tag = cms.string("EcalPulseShapes_data"),
connect = cms.untracked.string("sqlite_file:/afs/cern.ch/work/e/emanuele/public/ecal/pulseshapes_db/ecaltemplates_popcon_data_Run2015C_lowPU.db")
)
)

And it occurs in the 829th event of
/store/data/Run2015C/DoubleEG/RAW-RECO/ZElectron-PromptReco-v1/000/254/833/00000/8CF44CF6-094B-E511-AD5A-02163E014439.root

@bendavid
Copy link
Contributor Author

bendavid commented Sep 9, 2015

Existing tests were in CMSSW_7_4_11 starting from the global tag "74X_dataRun2_Prompt_v1"

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 9, 2015

The tests are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 9, 2015

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 9, 2015

@@ -311,10 +311,12 @@ bool PulseChiSqSNNLS::NNLS() {
const unsigned int nActive = npulse - _nP;

updatework = aTbvec - aTamat*_ampvec;
Index idxwmaxprev = idxwmax;
double wmaxprev = wmax;
Copy link
Contributor

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.

@cvuosalo
Copy link
Contributor

+1

For #11204 ef9303b

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.

@cmsbuild
Copy link
Contributor

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
Copy link
Contributor

@bendavid - could you comment on @lgray suggestion?

@lgray
Copy link
Contributor

lgray commented Sep 15, 2015

@davidlange6 If Jenkins tests show no significant differences any change is likely in the noise. I am simply being picky. :-)

@bendavid
Copy link
Contributor Author

I'm skeptical there will be a meaningful difference in the generated code either way :)

@davidlange6
Copy link
Contributor

+1

cmsbuild added a commit that referenced this pull request Sep 15, 2015
add protection for rare infinite loop in ecal multifit (76X)
@cmsbuild cmsbuild merged commit 608fea7 into cms-sw:CMSSW_7_6_X Sep 15, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants