This is probably more appropriate for reportengine, but the issue arises in validphys. Consider the following runcard:
dataspecs:
- pdf: NNPDF31_nnlo_as_0118
theoryid: 200
use_cuts: "internal"
dataset_input: {dataset: NMC}
actions_:
- plot_fancy_dataspecs
This errors complaining that covmat is not an array. Taking a look, it's an explicit_node instance. If we look at why, it's because plot_fancy_dataspecs takes as an argument dataspecs_results which is a collection of results over dataspecs:
|
dataspecs_results = collect("results", ("dataspecs",)) |
and since
#1477 was merged, the
covariance_matrix is dispatched as an
explicit_node and this is the root of the bug. The
explicit_node does not get resolved in time by reportengine and so the
results objects in the collection don't have the
covariance_matrix resolved by the time we hit this line:
|
results = [dataspecs_results[0][0], *[r[1] for r in dataspecs_results]] |
This is probably more appropriate for reportengine, but the issue arises in validphys. Consider the following runcard:
This errors complaining that
covmatis not an array. Taking a look, it's anexplicit_nodeinstance. If we look at why, it's becauseplot_fancy_dataspecstakes as an argumentdataspecs_resultswhich is a collection ofresultsoverdataspecs:nnpdf/validphys2/src/validphys/results.py
Line 1225 in 7305848
and since #1477 was merged, the
covariance_matrixis dispatched as anexplicit_nodeand this is the root of the bug. Theexplicit_nodedoes not get resolved in time by reportengine and so theresultsobjects in the collection don't have thecovariance_matrixresolved by the time we hit this line:nnpdf/validphys2/src/validphys/dataplots.py
Line 476 in 7305848