Make the covmat independent of Experiment/Dataset
Created by: scarrazza
Issue by Zaharid Monday May 29, 2017 at 14:02 GMT Originally opened as https://github.com/NNPDF/libnnpdf/issues/4
Right now, if I want to compute the chi² of a list of dataset and also that of the experiment they make (i.e. taking into account the correlations) I have to compute the theoretical predictions for each dataset, compute the individual chi² and then copy all the datasets into an Experiment
(very expensive), compute all the theoretical predictions again (very expensive). And that's only to get the covmat really, which doesn't have anything to do with any of that.
There should be a function
vector<Dataset*> -> covmat
and
vector<Dataset*> -> sqrtcovmat
that does all of what I want and nothing of what I don't. But then it would be good to support t0 and possibly more granular access to each systematic, and pseudodata replicas, at which point it seems that what's really needed is a non owing version of Experiment
. Thoughts?