-
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
New sipm model 810preX #15058
New sipm model 810preX #15058
Conversation
A new Pull Request was created by @pdudero for CMSSW_8_1_X. It involves the following packages: CalibCalorimetry/HcalAlgos @ghellwig, @civanch, @cerminar, @cmsbuild, @franzoni, @mdhildreth, @mmusich, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are list here #13028 |
@pdudero , please, provide description. |
This is updated Hcal SiPM simulation code for 81X. On 6/29/2016 11:14 AM, Vladimir Ivantchenko wrote:
|
This PR updates the SiPM simulation. Changes:
The parameters selected for the simulation are based on test beam data, though they may need to be updated in the future. (Some of the parameters might also be moved into the database to be set on a per-channel basis, but this is still under discussion.) Phil, can you post a plot of the noise distribution using the simulation as it is in this PR? attn: @abdoulline, @bsunanda, @jmmans, @pastika |
@cmsbuild please test |
The tests are being triggered in jenkins. |
Comparison not run due to Build errors (RelVals and Igprof tests were also skipped) |
-1 Tested at: 4260708 You can see the results of the tests here: I found follow errors while testing this PR Failed tests: Build ClangBuild
I found an error when building: >> Compiling /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_1_X_2016-06-28-2300/src/Utilities/StaticAnalyzers/src/EDMPluginDumper.cc >> Compiling /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_1_X_2016-06-28-2300/src/Utilities/StaticAnalyzers/src/FiniteMathChecker.cc >> Compiling /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_1_X_2016-06-28-2300/src/Utilities/StaticAnalyzers/src/UsingNamespace.cpp >> Compiling /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_1_X_2016-06-28-2300/src/Utilities/StaticAnalyzers/src/FunctionDumper.cpp /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_1_X_2016-06-28-2300/src/CalibCalorimetry/HcalPlugins/src/HcalHardcodeCalibrations.cc: In constructor 'HcalHardcodeCalibrations::HcalHardcodeCalibrations(const edm::ParameterSet&)': /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_1_X_2016-06-28-2300/src/CalibCalorimetry/HcalPlugins/src/HcalHardcodeCalibrations.cc:143:16: error: 'class HcalDbHardcode' has no member named 'setLumi' dbHardcode.setLumi(iLumi); ^ /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_1_X_2016-06-28-2300/src/CalibCalorimetry/HcalPlugins/src/HcalHardcodeCalibrations.cc:144:16: error: 'class HcalDbHardcode' has no member named 'setLumiOffset' dbHardcode.setLumiOffset(iConfig.getParameter("iLumiOffset")); ^
I found a compilation error while trying to compile with clang: >> Compiling edm plugin /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_1_X_2016-06-28-2300/src/SimCalorimetry/HcalSimAlgos/test/HcalDigitizerTest.cc >> Compiling /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_1_X_2016-06-28-2300/src/SimCalorimetry/HcalSimAlgos/test/HcalTimeSlewTest.cpp >> Compiling /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_1_X_2016-06-28-2300/src/SimCalorimetry/HcalSimAlgos/test/HcalShapeIntegratorTest.cpp 1 warning generated. >> Compiling /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_1_X_2016-06-28-2300/src/SimCalorimetry/HcalSimAlgos/test/HPDIonFeedbackTest.cpp /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_1_X_2016-06-28-2300/src/CalibCalorimetry/HcalPlugins/src/HcalHardcodeCalibrations.cc:143:16: error: no member named 'setLumi' in 'HcalDbHardcode' dbHardcode.setLumi(iLumi); ~~~~~~~~~~ ^ /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_1_X_2016-06-28-2300/src/CalibCalorimetry/HcalPlugins/src/HcalHardcodeCalibrations.cc:144:16: error: no member named 'setLumiOffset' in 'HcalDbHardcode' dbHardcode.setLumiOffset(iConfig.getParameter("iLumiOffset")); ~~~~~~~~~~ ^ |
@pdudero needs some more cleanup in HcalHardcodeCalibrations... |
Pull request #15058 was updated. @ghellwig, @civanch, @cerminar, @cmsbuild, @franzoni, @mdhildreth, @mmusich, @davidlange6 can you please check and sign again. |
@cmsbuild please test |
The tests are being triggered in jenkins. |
Comparison is ready The workflows 140.53, 4.22 have different files in step1_dasquery.log than the ones found in the baseline. You may want to check and retrigger the tests if necessary. You can check it in the "files" directory in the results of the comparisons |
@pdudero , there are few places where math fuctions intensively used: HcalSiPM::Borel, HcalSiPMHitResponse::Y11TimeResponse. It seems that if you substitute exp(x)_pow(t,y) by exp(x + log(t)_y) the code will be faster. Also if the code inside HcalDbHadrcode.cc is used very frequently I would replace computational of exp, log of integer agruments by a lookup table (one solution exist within Geant4 but here the library cannot depend on it, however, similar utility class may be provided for CMSSW). |
The results of I don't see any use of exp or log in |
@civanch, @kpedro88,
|
@pdudero, concerning pow - I would guess it is equivalent exp+log, this seeseems not an issue now. Concerning pointers - have you use following signature: |
@civanch as far as I can tell, the only pointer used anywhere in this PR is |
+1 |
@mmusich can you take a quick look? In your domain, just some minor changes in HcalHardcode stuff |
@mmusich |
+1 |
This pull request is fully signed and it will be integrated in one of the next CMSSW_8_1_X IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @slava77, @davidlange6, @Degano, @smuzaffar |
@davidlange6 David could you integrate this at your earliest convenience so that we can start validating 2017 simulation chain? |
if (logb >= -20) { // protect against underflow | ||
b=(dk/dn); | ||
if ((n-k)<100) | ||
b *= (exp(-ldn)*pow(ldn,dnk))/TMath::Factorial(n-k); |
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.
@pdudero what is a typical value of dunk? (Eg most often 2-3 or much larger?
@davidlange6 , I could talk about the MPV of the distribution, but I suspect that's not what you're asking. In terms of how the function is used, it isn't very useful to ask the question. The function is used to calculate lookup tables of the CDFs, the lowest 100 of them at initialization, and the rest on the fly. So for a given "n", "k" is scanned over a range determined by an epsilon cutoff. Then a value is chosen out of the table by throwing a trial from a flat random distribution over the CDF. |
+1 |
No description provided.