Commit a73868b
committed
[RF] Make RooAbsCachedPdf's cache lookup key stable across Evaluator paths
In the Evaluator backend, the compile-time analytical-integral
construction, doEval, and analyticalIntegralWN each queried `_cacheMgr`
with a different (or null/empty) RooArgSet, so the heavy cache content
was rebuilt on the first fit step instead of reusing the slot populated
during NLL setup.
Pin a stable `_compiledNormSet` on the cloned pdf in compileForNormSet
for doEval to use, and let analyticalIntegralWN fall back to `anaVars`
when the stored `normSet2` is empty so its key mirrors
getAnalyticalIntegralWN's. All three paths now hit the same slot.
Fixes the stressRooFit -b cpu -n 47 slowdown vs the legacy backend
(RooIntegralMorph fit with setCacheAlpha(true)).
(cherry picked from commit 50854dc)1 parent 4751306 commit a73868b
2 files changed
Lines changed: 28 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
137 | 145 | | |
138 | 146 | | |
139 | 147 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
374 | 374 | | |
375 | 375 | | |
376 | 376 | | |
377 | | - | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
378 | 384 | | |
379 | 385 | | |
380 | 386 | | |
| |||
391 | 397 | | |
392 | 398 | | |
393 | 399 | | |
394 | | - | |
| 400 | + | |
| 401 | + | |
395 | 402 | | |
396 | 403 | | |
397 | 404 | | |
| |||
404 | 411 | | |
405 | 412 | | |
406 | 413 | | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
407 | 425 | | |
408 | 426 | | |
409 | 427 | | |
| |||
0 commit comments