-
Notifications
You must be signed in to change notification settings - Fork 1.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
[RF] Constructors RooProdPdf and RooProduct #7809
Comments
Linking a conversation that is connected to the issue: #7766 (comment) |
After a discussion with Wouter, it seems that the constructors of RooProdPdf and RooProduct should all be changed to use |
This commit fixes three issues: 1. Introduce `RooProduct` constructor from two RooAbsReals to be consistent with the `RooRrodPdf`, which has a constructor from two RooAbsPdfs. 2. Remove a useless dummy constructor for a `RooProdPdf` with no factors, which somehow prevented the constructor from a RooFit collection to be picked up correctly by `RooWorkspace::factory()` 3. Change the interfaces of the RooProduct and RooProdPdf constructors from RooFit collections to take RooArgSets and not RooArgLists, because all factors should be forced to have unique names. This change is completely backwards compatible, because a RooArgSet can be implicitely constructed from a RooArgList, in which case it also does the duplicate checking. A unit test for the issue was also implemented. Closes root-project#7809.
This commit fixes three issues: 1. Introduce `RooProduct` constructor from two RooAbsReals to be consistent with the `RooRrodPdf`, which has a constructor from two RooAbsPdfs. 2. Remove a useless dummy constructor for a `RooProdPdf` with no factors, which somehow prevented the constructor from a RooFit collection to be picked up correctly by `RooWorkspace::factory()` The request to change the RooProduct and RooProdPdf constructors from RooFit collections to take RooArgSets and not RooArgLists was not followed. This would be a breaking change for people that use `RooProduct` to square a function for example. A unit test for the issue was also implemented. Closes root-project#7809.
This commit fixes two issues: 1. Introduce `RooProduct` constructor from two RooAbsReals to be consistent with the `RooRrodPdf`, which has a constructor from two RooAbsPdfs. 2. Remove a useless dummy constructor for a `RooProdPdf` with no factors, which somehow prevented the constructor from a RooFit collection to be picked up correctly by `RooWorkspace::factory()` The request to change the RooProduct and RooProdPdf constructors from RooFit collections to take RooArgSets and not RooArgLists was not followed. This would be a breaking change for people that use `RooProduct` to square a function for example. A unit test for the issue was also implemented. Closes root-project#7809.
This commit fixes two issues: 1. Introduce `RooProduct` constructor from two RooAbsReals to be consistent with the `RooRrodPdf`, which has a constructor from two RooAbsPdfs. 2. Remove a useless dummy constructor for a `RooProdPdf` with no factors, which somehow prevented the constructor from a RooFit collection to be picked up correctly by `RooWorkspace::factory()` The request to change the RooProduct and RooProdPdf constructors from RooFit collections to take RooArgSets and not RooArgLists was not followed. This would be a breaking change for people that use `RooProduct` to square a function for example. A unit test for the issue was also implemented. Closes #7809.
Hi @guitargeek, @lmoneta, It appears this issue is closed, but wasn't yet added to a project. Please add upcoming versions that will include the fix, or 'not applicable' otherwise. Sincerely, |
2 similar comments
Hi @guitargeek, @lmoneta, It appears this issue is closed, but wasn't yet added to a project. Please add upcoming versions that will include the fix, or 'not applicable' otherwise. Sincerely, |
Hi @guitargeek, @lmoneta, It appears this issue is closed, but wasn't yet added to a project. Please add upcoming versions that will include the fix, or 'not applicable' otherwise. Sincerely, |
Hi @guitargeek, @lmoneta, It appears this issue is closed, but wasn't yet added to a project. Please add upcoming versions that will include the fix, or 'not applicable' otherwise. Sincerely, |
1 similar comment
Hi @guitargeek, @lmoneta, It appears this issue is closed, but wasn't yet added to a project. Please add upcoming versions that will include the fix, or 'not applicable' otherwise. Sincerely, |
This commit fixes two issues: 1. Introduce `RooProduct` constructor from two RooAbsReals to be consistent with the `RooRrodPdf`, which has a constructor from two RooAbsPdfs. 2. Remove a useless dummy constructor for a `RooProdPdf` with no factors, which somehow prevented the constructor from a RooFit collection to be picked up correctly by `RooWorkspace::factory()` The request to change the RooProduct and RooProdPdf constructors from RooFit collections to take RooArgSets and not RooArgLists was not followed. This would be a breaking change for people that use `RooProduct` to square a function for example. A unit test for the issue was also implemented. Closes root-project#7809.
Explain what you would like to see improved
RooProdPdf and RooProduct have different constructor interfaces.
In a workspace like this:
Now, consider this:
p2
does what you think it would.p1
does not.On the other hand:
p3
works.p4
does not.How it could be improved
The constructor interfaces of these classes should be harmonized.
The text was updated successfully, but these errors were encountered: