-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[RF] Fix and improvements in testSumW2Error
#11966
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
Conversation
In `testSumW2Error`, a weighted clone of an unweighted dataset is created, where each event gets the weight `0.5`. However, in the loop over the original dataset used to fill the new dataset, `get(i)` is never called, meaning the new weighted dataset is only filled with the same values. This resulted in an unstable fit, necessitating careful tweaking of the initial parameters to even get convergence. That's why it's better to copy the dataset correctly, even if this is just the test case. I noticed this problem when I was copy-pasting code to create another new unit test. Also, the binned dataset is now a binned clone of the unbinned dataset in the test, reducing the degree of randomness. Furthermore, some general code improvements are applied to the source file.
It's better if the individual unit tests don't change the global state of the `RooMsgService` singleton instance.
|
Starting build on |
|
Build failed on ROOT-performance-centos8-multicore/cxx17. Warnings:
And 130 more Failing tests:
|
|
Build failed on ROOT-ubuntu18.04/nortcxxmod. Warnings:
And 60 more Failing tests:
|
|
Build failed on mac12/noimt. Warnings:
And 53 more Failing tests:
|
|
Build failed on mac11/cxx14. Warnings:
And 54 more Failing tests:
|
lmoneta
left a comment
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.
LGTM!
|
Build failed on ROOT-ubuntu2004/python3. Errors:
|
In
testSumW2Error, a weighted clone of an unweighted dataset iscreated, where each event gets the weight
0.5.However, in the loop over the original dataset used to fill the new
dataset,
get(i)is never called, meaning the new weighted dataset isonly filled with the same values. This resulted in an unstable fit,
necessitating careful tweaking of the initial parameters to even get
convergence. That's why it's better to copy the dataset correctly, even
if this is just the test case. I noticed this problem when I was
copy-pasting code to create another new unit test.
Also, the binned dataset is now a binned clone of the unbinned dataset
in the test, reducing the degree of randomness.
Furthermore, some general code improvements are applied to the source
file.