[RF] Correctly implement additional dataset feature in HistFactory#10553
[RF] Correctly implement additional dataset feature in HistFactory#10553guitargeek merged 2 commits intoroot-project:masterfrom
Conversation
|
Starting build on |
1 similar comment
|
Starting build on |
|
Build failed on mac1015/python3. Failing tests: |
|
Hi @guitargeek , did you have time to look into this -- or maybe one of the reviewers? I don't have access to a mac, so I can't help troubleshooting these build failures. |
|
Hi, thanks for asking! All is okay here, the test failures are unrelated to RooFit, and we are just waiting for the review by @lmoneta who was busy with other things last week. But this will come maybe today or tomorrow and then we merge this. |
|
Starting build on |
lmoneta
left a comment
There was a problem hiding this comment.
Thank you Jonas for this improvement!
|
Starting build on |
In HistFactory, the presence of a `Channel::GetAdditionalDatas` function hinted to the possibility of defining additional datases for a HistFactory model, besides the nominal observations dataset named `"obsData"`. When reading a user-generated HistFactory XML, the additional datasets were in fact read into the `Channel::fAdditionalData` member, and corresponding RooDataSets were created in the per-channel proto workspaces. However, when defining the Measurement object in C++ and dumping the XML via `PrintXML`, the additional datasets were not considered. They were also not considered when merging the datasets in the per-channel proto workspaces into the simultaneous dataset. This commit suggests to implement this correctly. Now, one can define additional datasets as follows in the XML: ```xml <Data HistoName="data" InputFile="data/example.root" HistoPath="" Name="addData"/> ``` If there is no `Name` tag, the RooDataSet in the workspace will use the `HistoName` as its name. Closes root-project#10538.
|
Starting build on |
|
Build failed on mac1015/python3. Errors:
|
In HistFactory, the presence of a
Channel::GetAdditionalDatasfunctionhinted to the possibility of defining additional datases for a
HistFactory model, besides the nominal observations dataset named
"obsData".When reading a user-generated HistFactory XML, the additional datasets
were in fact read into the
Channel::fAdditionalDatamember, andcorresponding RooDataSets were created in the per-channel proto
workspaces.
However, when defining the Measurement object in C++ and dumping the XML
via
PrintXML, the additional datasets were not considered. They werealso not considered when merging the datasets in the per-channel proto
workspaces into the simultaneous dataset. This commit suggests to
implement this correctly.
Now, one can define additional datasets as follows in the XML:
If there is no
Nametag, the RooDataSet in the workspace will use theHistoNameas its name.In the touched code, some cleaning of commented out code and general code modernization is also suggested.
Closes #10538.