.. _datthcomp: How to do a data theory comparison ================================== This tutorial explains how to compare the data and theory for a given data set or list of data sets. You need to provide: 1. A PDF which includes your data set; 2. A valid theory ID; 3. A choice of cuts policy; 4. A list of data sets to do the comparison for. Below is an example runcard for a data theory comparison for BCDMSP, ``runcard.yaml``: .. code:: yaml meta: title: BCDMSP data/theory comparison keywords: [example] author: Rosalyn Pearson pdfs: - id: NNPDF31_nnlo_as_0118 label: NNPDF31_nnlo_as_0118 theoryid: 53 use_cuts: false dataset_inputs: - { dataset: BCDMSP} template: dthcomparison.md actions_: - report(main=true) The corresponding template, ``dthcomparison.md``, looks like this: .. code:: yaml %BCDMSP (theory ID 52) {@ dataset_inputs plot_fancy @} {@ dataset_inputs::pdfs plot_fancy(normalize_to=data)@} {@ dataset_inputs::pdfs plot_chi2dist @} {@ dataset_inputs::pdfs group_result_table @} 1. ``plot_fancy`` produces data-theory comparison plots for the data. This is called twice to produce both normalised and unnormalised sets of plots. 2. ``plot_chi2dist`` gives the chi2 distribution between the theory and data. 3. ``group_result_table`` gives the numerical values which appear in the plots. Running :code:`validphys runcard.yaml` should produce a ``validphys`` report of the data-theory comparison like the one `here `_ - see the `vp-guide `_.