[RF] HS3 export: continuous pdf paired with binned dataset has unrecoverable evaluation semantics
I maintainer di solito rispondono entro 1 giorno
@guitargeek ci sta già lavorando.
Dal 13/6/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Context: we are implementing an independent HS3 consumer (pyhs3) and validating it against quickFit NLL values on an ATLAS diHiggs (bbγγ) workspace exported via RooFit's HS3 JSON export. This is a request to make the evaluation semantics of binned-data-against-continuous-pdf recoverable from the exported file.
cc @cburgard @Phmonski
The situation
The exported datasets are binned:
{ "name": "AsimovData_0_Run2HM_1", "type": "binned",
"axes": [{ "name": "atlas_invMass_Run2HM_1",
"min": 105.0, "max": 160.0, "nbins": 220 }],
"contents": [0.344, 0.342, "..."] } // Σ ≈ 40.7 events
while the paired channel pdf is a continuous mixture_dist over the same variable. This is presumably faithful to the original workspace (a binned Asimov RooDataHist), so not an export bug per se — but the file does not say how RooFit evaluates this pairing:
(A) bin centers: log L = Σ_b c_b · log pdf(x_b^center)
(B) bin integrals: log L = Σ_b c_b · log ∫_bin_b pdf(x) dx
(cf. IntegrateBins / binned-likelihood attributes). The two differ by a parameter-dependent amount, so an independent consumer reproducing the NLL curve cannot know which to implement. We have filed a matching HS3-spec issue asking for the semantics to be definable: hep-statistics-serialization-standard/hep-statistics-serialization-standard#93.
Suggestions (increasing order of usefulness)
- document the evaluation convention the export assumes;
- include the relevant evaluation options (e.g.
IntegrateBins, binned-likelihood attributes) in the export when they are set; - optionally support exporting the dataset in the representation the fit actually used.
Related question
For absolute-NLL comparisons: quickFit/RooFit NLLs include data-only constants (e.g. the −log N! of the extended term and constraint normalization constants) that are not part of the serialized model. A short statement in the RooFitHS3 docs of which constants RooFit's createNLL includes would make cross-tool validation much less archaeological.
Moved to #22619
- Lingua principale
- C++
- Stelle
- 3.3k
- Fork
- 1.6k
- Merge medio
- 2g 16h
- PR unite (30g)
- 194
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di root-project/root
-
thisroot.sh: wrong ROOTSYS in zsh when the shell's command line has a newlineForse già presa @dpiparo l’ha presa 3 giorni fa. Apertabug in:Build System
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
root-project/root#23746 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[tmva][sofie] Inputs of unsupported type (e.g. float16) give code that does not compile instead of an errorForse già presa @lmoneta l’ha presa 13 giorni fa. ApertaAI-Assisted bug in:SOFIE
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
root-project/root#23655 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[RDataFrame] Code that transforms `#var` alias to `R_rdf_sizeof_var` does not respect string literalsForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 71/100
root-project/root#23790 ·
I maintainer di solito rispondono entro 1 giorno
-
bug in:Core Libraries
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
root-project/root#23777 ·
I maintainer di solito rispondono entro 1 giorno
-
`TChain::GetEntries` internal caching ineffective?Forse già presa @pcanal l’ha presa 6 giorni fa. Apertaimprovement in:TTree
root-project/root#23738 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di root-project/root
Issue simili
-
Python PointcloudAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
ArduCAM/Arducam_tof_camera#125 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 87/100
maplibre/maplibre-native#4822 ·
I maintainer di solito rispondono entro 1 giorno
-
bug-unconfirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
ai_p2 comp-datalake
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ClickHouse/ClickHouse#127437 ·
I maintainer di solito rispondono entro 1 giorno