-
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
Reimplement SimpleJetCorrector::correctionBin for ROOT 6.04.00 #9289
Reimplement SimpleJetCorrector::correctionBin for ROOT 6.04.00 #9289
Conversation
ROOT6 (master, pre-6.04.00) has a new implemention for TFormula. For thread-safety we are making copies of TFormula, because we need to modify it by changing the parameters. Copies are no more needed for ROOT 6.04.00 and instead Double_t EvalPar(const Double_t *, const Double_t *) const can be used to evalute TFormula without modification. Without this change CMSSW spends most of it's cpu time in TFormula ctor and memory consumption (due to string allocations) goes up by 2-2.5X. ROOT6 commit, which made `EvalPar` thread-safe: bcfb68afac1db25d824d35557493d0f3c941b332 Signed-off-by: David Abdurachmanov <David.Abdurachmanov@cern.ch>
I scheduled the tests in Jenkins. |
A new Pull Request was created by @davidlt for CMSSW_7_5_X. Reimplement SimpleJetCorrector::correctionBin for ROOT 6.04.00 It involves the following packages: CondFormats/JetMETObjects @ggovi, @vadler, @cmsbuild, @nclopezo, @monttj can you please review it and eventually sign? Thanks. |
hold |
Please test |
Remove hold |
The tests are being triggered in jenkins. |
+1 The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic: |
In was verified in ROOT planing meeting that |
+1 |
ping^1, this is an important and the last piece. Without this build machines will have hard time due to high memory consumption. |
Judging by http://cms-sw.github.io/stats/pending-prs.html?category=analysis L2 managers for analysis are not available for some time. |
I was more worried by the DB signature given the change to CondFormats. ok - since everything changed is transient, I'll merge and let people complain given the small changes |
Reimplement SimpleJetCorrector::correctionBin for ROOT 6.04.00
I am not sure how exactly to test CondFormats. I only tested RECO on 100 events and produced 0 differences between normal IB and IB + ROOT6 master + this change. If that's a correct test. I will repeat it once IB is available on more workflows. |
You can run the miniAOD tests, those should test the CondFormats for JEC's sufficiently. Alternatively the DQM workflows also use this without PAT. |
to be clear, I was worried not for running-without-crashing tests but db schema issues (which there are none) |
ROOT6 (master, pre-6.04.00) has a new implemention for TFormula. For
thread-safety we are making copies of TFormula, because we need to
modify it by changing the parameters. Copies are no more needed for
ROOT 6.04.00 and instead
can be used to evalute TFormula without modification.
Without this change CMSSW spends most of it's cpu time in TFormula ctor
and memory consumption (due to string allocations) goes up by 2-2.5X.
ROOT6 commit, which made
EvalPar
thread-safe:bcfb68afac1db25d824d35557493d0f3c941b332
Tested with CMSSW_7_5_DEVEL_X_2015-05-26-2300 (incl. ROOT6
master branch), resource usage compared with 4.63 workflow step3 (RECO).
All within expected behavior.
Without this pull request CMSSW + ROOT 6.04.00 most likely would force
build machine to go offline (due to memory usage).
Signed-off-by: David Abdurachmanov David.Abdurachmanov@cern.ch