nnpdf 4.1.0__py3-none-any.whl → 4.1.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. n3fit/backends/keras_backend/MetaModel.py +27 -26
  2. n3fit/backends/keras_backend/callbacks.py +16 -8
  3. n3fit/backends/keras_backend/internal_state.py +13 -2
  4. n3fit/backends/keras_backend/operations.py +26 -26
  5. n3fit/hyper_optimization/hyper_scan.py +3 -9
  6. n3fit/hyper_optimization/penalties.py +11 -8
  7. n3fit/hyper_optimization/rewards.py +65 -34
  8. n3fit/model_gen.py +344 -270
  9. n3fit/model_trainer.py +71 -105
  10. n3fit/performfit.py +2 -7
  11. n3fit/tests/regressions/quickcard_1.json +12 -28
  12. n3fit/tests/regressions/quickcard_3.json +12 -28
  13. n3fit/tests/regressions/quickcard_pol_1.json +10 -26
  14. n3fit/tests/regressions/quickcard_pol_3.json +9 -25
  15. n3fit/tests/regressions/quickcard_qed_1.json +11 -27
  16. n3fit/tests/regressions/quickcard_qed_3.json +11 -27
  17. n3fit/tests/test_hyperopt.py +6 -12
  18. n3fit/tests/test_layers.py +6 -6
  19. n3fit/tests/test_modelgen.py +73 -24
  20. n3fit/tests/test_multireplica.py +52 -16
  21. n3fit/tests/test_penalties.py +7 -8
  22. n3fit/tests/test_preprocessing.py +2 -2
  23. n3fit/tests/test_vpinterface.py +5 -10
  24. n3fit/vpinterface.py +88 -44
  25. {nnpdf-4.1.0.dist-info → nnpdf-4.1.1.dist-info}/METADATA +9 -3
  26. {nnpdf-4.1.0.dist-info → nnpdf-4.1.1.dist-info}/RECORD +105 -67
  27. {nnpdf-4.1.0.dist-info → nnpdf-4.1.1.dist-info}/WHEEL +1 -1
  28. nnpdf_data/_version.py +1 -1
  29. nnpdf_data/commondata/ATLAS_2JET_7TEV_R06/metadata.yaml +16 -5
  30. nnpdf_data/commondata/ATLAS_TTBAR_13P6TEV_TOT/data.yaml +2 -0
  31. nnpdf_data/commondata/ATLAS_TTBAR_13P6TEV_TOT/kinematics.yaml +13 -0
  32. nnpdf_data/commondata/ATLAS_TTBAR_13P6TEV_TOT/metadata.yaml +51 -0
  33. nnpdf_data/commondata/ATLAS_TTBAR_13P6TEV_TOT/uncertainties.yaml +17 -0
  34. nnpdf_data/commondata/ATLAS_TTBAR_5TEV_TOT/data.yaml +2 -0
  35. nnpdf_data/commondata/ATLAS_TTBAR_5TEV_TOT/kinematics.yaml +13 -0
  36. nnpdf_data/commondata/ATLAS_TTBAR_5TEV_TOT/metadata.yaml +52 -0
  37. nnpdf_data/commondata/ATLAS_TTBAR_5TEV_TOT/uncertainties.yaml +22 -0
  38. nnpdf_data/commondata/ATLAS_WPWM_13P6TEV_TOT/data.yaml +3 -0
  39. nnpdf_data/commondata/ATLAS_WPWM_13P6TEV_TOT/kinematics.yaml +17 -0
  40. nnpdf_data/commondata/ATLAS_WPWM_13P6TEV_TOT/metadata.yaml +57 -0
  41. nnpdf_data/commondata/ATLAS_WPWM_13P6TEV_TOT/uncertainties.yaml +8 -0
  42. nnpdf_data/commondata/ATLAS_Z0_13P6TEV_TOT/data.yaml +2 -0
  43. nnpdf_data/commondata/ATLAS_Z0_13P6TEV_TOT/kinematics.yaml +9 -0
  44. nnpdf_data/commondata/ATLAS_Z0_13P6TEV_TOT/metadata.yaml +54 -0
  45. nnpdf_data/commondata/ATLAS_Z0_13P6TEV_TOT/uncertainties.yaml +7 -0
  46. nnpdf_data/commondata/CMS_1JET_8TEV/metadata.yaml +7 -1
  47. nnpdf_data/commondata/CMS_2JET_7TEV/metadata.yaml +16 -19
  48. nnpdf_data/commondata/CMS_TTBAR_13P6TEV_TOT/data.yaml +2 -0
  49. nnpdf_data/commondata/CMS_TTBAR_13P6TEV_TOT/kinematics.yaml +13 -0
  50. nnpdf_data/commondata/CMS_TTBAR_13P6TEV_TOT/metadata.yaml +51 -0
  51. nnpdf_data/commondata/CMS_TTBAR_13P6TEV_TOT/uncertainties.yaml +12 -0
  52. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/data_d2Sig_dmttBar_dyttBar.yaml +17 -0
  53. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/data_dSig_dmttBar.yaml +8 -0
  54. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/data_dSig_dpTt.yaml +8 -0
  55. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/data_dSig_dyt.yaml +11 -0
  56. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/filter.py +260 -0
  57. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/kinematics_d2Sig_dmttBar_dyttBar.yaml +193 -0
  58. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/kinematics_dSig_dmttBar.yaml +57 -0
  59. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/kinematics_dSig_dpTt.yaml +57 -0
  60. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/kinematics_dSig_dyt.yaml +81 -0
  61. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/metadata.yaml +114 -0
  62. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/rawdata/mtt_abs_parton.yaml +828 -0
  63. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/rawdata/mttytt-abs_parton.yaml +1899 -0
  64. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/rawdata/ptt_abs_parton.yaml +828 -0
  65. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/rawdata/submission.yaml +47 -0
  66. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/rawdata/yt_abs_parton.yaml +1179 -0
  67. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/uncertainties_d2Sig_dmttBar_dyttBar.yaml +2282 -0
  68. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/uncertainties_dSig_dmttBar.yaml +1256 -0
  69. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/uncertainties_dSig_dpTt.yaml +1256 -0
  70. nnpdf_data/commondata/CMS_TTBAR_13TEV_2L_138FB-1_DIF/uncertainties_dSig_dyt.yaml +1598 -0
  71. nnpdf_data/commondata/CMS_TTBAR_13TEV_35P9FB-1_TOT/data.yaml +2 -0
  72. nnpdf_data/commondata/CMS_TTBAR_13TEV_35P9FB-1_TOT/kinematics.yaml +13 -0
  73. nnpdf_data/commondata/CMS_TTBAR_13TEV_35P9FB-1_TOT/metadata.yaml +51 -0
  74. nnpdf_data/commondata/CMS_TTBAR_13TEV_35P9FB-1_TOT/uncertainties.yaml +17 -0
  75. nnpdf_data/commondata/CMS_TTBAR_5TEV_TOT/metadata.yaml +1 -1
  76. nnpdf_data/commondata/NNPDF_POS_2P24GEV/metadata.yaml +60 -0
  77. nnpdf_data/commondata/dataset_names.yml +6 -1
  78. nnpdf_data/theory_cards/41000010.yaml +42 -0
  79. nnpdf_data/theory_cards/41000011.yaml +43 -0
  80. nnpdf_data/theory_cards/41000012.yaml +43 -0
  81. nnpdf_data/theory_cards/41000013.yaml +42 -0
  82. nnpdf_data/theory_cards/41000014.yaml +43 -0
  83. nnpdf_data/theory_cards/41000015.yaml +43 -0
  84. validphys/_version.py +1 -1
  85. validphys/config.py +30 -10
  86. validphys/convolution.py +37 -14
  87. validphys/coredata.py +15 -5
  88. validphys/covmats.py +9 -2
  89. validphys/dataplots.py +1 -1
  90. validphys/filters.py +17 -3
  91. validphys/fkparser.py +11 -1
  92. validphys/gridvalues.py +1 -0
  93. validphys/hessian2mc.py +5 -5
  94. validphys/lhaindex.py +5 -0
  95. validphys/loader.py +1 -1
  96. validphys/n3fit_data.py +107 -61
  97. validphys/nnprofile_default.yaml +2 -1
  98. validphys/pineparser.py +12 -2
  99. validphys/scripts/postfit.py +4 -4
  100. validphys/scripts/vp_pdfrename.py +8 -9
  101. validphys/tests/conftest.py +6 -2
  102. validphys/tests/test_hessian2mc.py +7 -5
  103. validphys/utils.py +1 -0
  104. n3fit/tests/regressions/quickcard_pol/filter.yml +0 -80
  105. n3fit/tests/regressions/quickcard_pol/nnfit/input/lockfile.yaml +0 -111
  106. n3fit/tests/regressions/quickcard_pol/nnfit/replica_1/quickcard_pol.exportgrid +0 -572
  107. n3fit/tests/regressions/quickcard_pol/nnfit/replica_1/quickcard_pol.json +0 -71
  108. n3fit/tests/regressions/quickcard_pol/nnfit/replica_3/quickcard_pol.exportgrid +0 -615
  109. n3fit/tests/regressions/quickcard_pol/nnfit/replica_3/quickcard_pol.json +0 -71
  110. n3fit/tests/regressions/weights.weights.h5 +0 -0
  111. n3fit/tests/regressions/weights_pol.weights.h5 +0 -0
  112. n3fit/tests/test +0 -1
  113. nnpdf_data/theory_cards/40000099.yaml +0 -41
  114. nnpdf_data/theory_cards/40000099.yml +0 -41
  115. {nnpdf-4.1.0.dist-info → nnpdf-4.1.1.dist-info}/entry_points.txt +0 -0
  116. {nnpdf-4.1.0.dist-info → nnpdf-4.1.1.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,22 @@
1
+ definitions:
2
+ stat:
3
+ description: total statistical uncertainty
4
+ treatment: ADD
5
+ type: UNCORR
6
+ sys:
7
+ description: total systematic uncertainty
8
+ treatment: MULT
9
+ type: CORR
10
+ lumi:
11
+ description: luminosity uncertainty
12
+ treatment: MULT
13
+ type: ATLASLUMIRUNIII
14
+ beam:
15
+ description: beam uncertainty
16
+ treatment: ADD
17
+ type: CORR
18
+ bins:
19
+ - stat: 0.9
20
+ sys: 2.3
21
+ lumi: 1.1
22
+ beam: 0.2
@@ -0,0 +1,3 @@
1
+ data_central:
2
+ - 4250
3
+ - 3310
@@ -0,0 +1,17 @@
1
+ bins:
2
+ - m_W2:
3
+ min: null
4
+ mid: 6.46174823e+03
5
+ max: null
6
+ sqrts:
7
+ min: null
8
+ mid: 13600.0
9
+ max: null
10
+ - m_W2:
11
+ min: null
12
+ mid: 6.46174823e+03
13
+ max: null
14
+ sqrts:
15
+ min: null
16
+ mid: 13600.0
17
+ max: null
@@ -0,0 +1,57 @@
1
+ setname: ATLAS_WPWM_13P6TEV_TOT
2
+ version: 1
3
+ version_comment: "first version"
4
+ nnpdf_metadata:
5
+ nnpdf31_process: DY CC
6
+ experiment: ATLAS
7
+ arXiv:
8
+ url: https://arxiv.org/abs/2403.12902
9
+ journal: Phys.Lett.B 854 (2024) 138725
10
+ iNSPIRE:
11
+ url: 'https://inspirehep.net/literature/2770237'
12
+
13
+ implemented_observables:
14
+ - observable_name: X-SEC
15
+ observable:
16
+ description: CC DY Total Cross Section
17
+ label: ATLAS $W$ inclusive 13.6 TeV
18
+ units: ''
19
+ process_type: INC
20
+ npoints: [2]
21
+ ndata: 2
22
+ plotting:
23
+ dataset_label: ATLAS $W$ inclusive 13.6 TeV
24
+ y_label: $\sigma^{fid}$ (pb)
25
+ figure_by:
26
+ - boson
27
+ extra_labels:
28
+ ' ':
29
+ - $W^+$
30
+ - $W^-$
31
+ boson:
32
+ - W
33
+ - W
34
+ plot_x: ' '
35
+ kinematic_coverage:
36
+ - m_W2
37
+ - sqrts
38
+ kinematics:
39
+ variables:
40
+ m_W2:
41
+ description: W boson squared mass
42
+ label: '$m_W^2$'
43
+ units: 'GeV$^2$'
44
+ sqrts:
45
+ description: center of mass energy
46
+ label: '$\sqrt{s}$'
47
+ units: 'GeV'
48
+ file: kinematics.yaml
49
+ theory:
50
+ conversion_factor: 1.0
51
+ operation: 'null'
52
+ FK_tables:
53
+ - - ATLAS_WPWM_13p6TEV_TOT_WP
54
+ - ATLAS_WPWM_13p6TEV_TOT_WM
55
+ data_uncertainties:
56
+ - uncertainties.yaml
57
+ data_central: data.yaml
@@ -0,0 +1,8 @@
1
+ definitions:
2
+ statandsyst:
3
+ description: combination of stat and syst uncertainties (with lumi)
4
+ treatment: ADD
5
+ type: UNCORR
6
+ bins:
7
+ - statandsyst: 150
8
+ - statandsyst: 120
@@ -0,0 +1,2 @@
1
+ data_central:
2
+ - 744
@@ -0,0 +1,9 @@
1
+ bins:
2
+ - m_Z2:
3
+ min: null
4
+ mid: 8.31517839e+03
5
+ max: null
6
+ sqrts:
7
+ min: null
8
+ mid: 13600.0
9
+ max: null
@@ -0,0 +1,54 @@
1
+ setname: ATLAS_Z0_13P6TEV_TOT
2
+ version: 1
3
+ version_comment: "first version"
4
+ nnpdf_metadata:
5
+ nnpdf31_process: DY NC
6
+ experiment: ATLAS
7
+ arXiv:
8
+ url: https://arxiv.org/abs/2403.12902
9
+ journal: Phys.Lett.B 854 (2024) 138725
10
+ iNSPIRE:
11
+ url: 'https://inspirehep.net/literature/2770237'
12
+
13
+ implemented_observables:
14
+ - observable_name: X-SEC
15
+ observable:
16
+ description: NC DY Total Cross Section
17
+ label: ATLAS $Z$ inclusive 13.6 TeV
18
+ units: ''
19
+ process_type: INC
20
+ npoints: [1]
21
+ ndata: 1
22
+ plotting:
23
+ dataset_label: ATLAS $Z$ inclusive 13.6 TeV
24
+ y_label: $\sigma^{fid}$ (pb)
25
+ figure_by:
26
+ - boson
27
+ extra_labels:
28
+ ' ':
29
+ - Z
30
+ boson:
31
+ - Z
32
+ plot_x: ' '
33
+ kinematic_coverage:
34
+ - m_Z2
35
+ - sqrts
36
+ kinematics:
37
+ variables:
38
+ m_Z2:
39
+ description: Z boson mass squared
40
+ label: '$m_{Z}^2$'
41
+ units: 'GeV$^2$'
42
+ sqrts:
43
+ description: center of mass energy
44
+ label: '$\sqrt{s}$'
45
+ units: 'GeV'
46
+ file: kinematics.yaml
47
+ theory:
48
+ conversion_factor: 1.0
49
+ operation: 'null'
50
+ FK_tables:
51
+ - - ATLAS_WPWM_13p6TEV_TOT_Z0
52
+ data_uncertainties:
53
+ - uncertainties.yaml
54
+ data_central: data.yaml
@@ -0,0 +1,7 @@
1
+ definitions:
2
+ statandsyst:
3
+ description: combination of stat and syst uncertainties (with lumi)
4
+ treatment: ADD
5
+ type: UNCORR
6
+ bins:
7
+ - statandsyst: 20
@@ -68,7 +68,13 @@ implemented_observables:
68
68
  theory: *id002
69
69
  theory:
70
70
  FK_tables:
71
- - - CMS_1JET_8TEV-CMS_1JET_8TEV
71
+ - - CMS_1JET_8TEV_PTY_BIN1
72
+ - CMS_1JET_8TEV_PTY_BIN2
73
+ - CMS_1JET_8TEV_PTY_BIN3
74
+ - CMS_1JET_8TEV_PTY_BIN4
75
+ - CMS_1JET_8TEV_PTY_BIN5
76
+ - CMS_1JET_8TEV_PTY_BIN6
77
+ - CMS_1JET_8TEV_PTY_BIN7
72
78
  operation: 'null'
73
79
  plotting:
74
80
  dataset_label: CMS jets 8 TeV
@@ -1,8 +1,6 @@
1
1
  setname: "CMS_2JET_7TEV"
2
-
3
- version: 0
4
-
5
- version_comment: "Initial implementation"
2
+ version: 1
3
+ version_comment: "Added a 'legacy' variant and changed the observable name to exploit the translation layer"
6
4
 
7
5
  # References
8
6
  arXiv:
@@ -14,49 +12,48 @@ hepdata:
14
12
  version: 1
15
13
  tables: [6, 7, 8, 9, 10]
16
14
 
17
-
18
15
  nnpdf_metadata:
19
16
  nnpdf31_process: "DIJET"
20
17
  experiment: "CMS"
21
18
 
22
-
23
19
  implemented_observables:
24
- - observable_name: M12Y
20
+ - observable_name: M12-Y
25
21
  observable:
26
22
  description: "Double-differential dijet cross-sections as functions of dijet mass and rapidity separation of the two highest-pT jets."
27
23
  label: r"$10^{3*qbin} d^2\sigma/dm_{12}dy$ [pb/GeV]"
28
24
  units: ""
29
-
30
25
  ndata: 54
31
-
32
26
  tables: [6, 7, 8, 9, 10]
33
27
  process_type: DIJET
34
-
35
- # Plotting
28
+ # Plotting
36
29
  kinematic_coverage: [ydiff, m_jj, sqrts]
37
-
38
30
  plotting:
39
31
  dataset_label: "CMS dijets 7 TeV"
40
32
  x_scale: log
41
33
  plot_x: m_jj
42
34
  figure_by:
43
35
  - ydiff
44
-
45
36
  kinematics:
46
37
  variables:
47
38
  ydiff: {description: "rapidity separation", label: "$y$", units: ""}
48
39
  m_jj: {description: "dijet mass", label: "$m_{jj}$", units: "GeV"}
49
40
  sqrts: {description: "center of mass energy", label: r"$\sqrt(s)$", units: "GeV"}
50
41
  file: kinematics.yaml
51
-
52
- # Data
42
+ # Data
53
43
  data_central: data.yaml
54
44
  data_uncertainties:
55
45
  - uncertainties.yaml
56
-
57
-
58
- # Theory
46
+ variants:
47
+ legacy:
48
+ theory:
49
+ FK_tables:
50
+ - - CMS_2JET_7TEV
51
+ # Theory
59
52
  theory:
60
53
  FK_tables:
61
- - - CMS_2JET_7TEV
54
+ - - CMS_2JET_7TEV_M12Y_BIN1
55
+ - CMS_2JET_7TEV_M12Y_BIN2
56
+ - CMS_2JET_7TEV_M12Y_BIN3
57
+ - CMS_2JET_7TEV_M12Y_BIN4
58
+ - CMS_2JET_7TEV_M12Y_BIN5
62
59
  operation: 'null'
@@ -0,0 +1,2 @@
1
+ data_central:
2
+ - 881
@@ -0,0 +1,13 @@
1
+ bins:
2
+ - zero:
3
+ min: null
4
+ mid: 0
5
+ max: null
6
+ m_t2:
7
+ min: null
8
+ mid: 29756.25
9
+ max: null
10
+ sqrts:
11
+ min: null
12
+ mid: 13600
13
+ max: null
@@ -0,0 +1,51 @@
1
+ setname: CMS_TTBAR_13P6TEV_TOT
2
+ nnpdf_metadata:
3
+ nnpdf31_process: TOP
4
+ experiment: CMS
5
+ arXiv:
6
+ url: https://arxiv.org/abs/2303.10680
7
+ iNSPIRE:
8
+ url: https://inspirehep.net/literature/2648595
9
+ hepdata:
10
+ url: NA
11
+ version:
12
+ version: 1
13
+ version_comment: NA
14
+ implemented_observables:
15
+ - observable:
16
+ description: total cross section of ttBar
17
+ label: $\sigma_{t\bar{t}}$
18
+ units: $pb$
19
+ observable_name: X-SEC
20
+ process_type: INC
21
+ ndata: 1
22
+ tables: []
23
+ kinematics:
24
+ variables:
25
+ zero:
26
+ description: ''
27
+ label: $$
28
+ units: ''
29
+ m_t2:
30
+ description: mass of top quark squared
31
+ label: $m_{t}^2$
32
+ units: $GeV^2$
33
+ sqrts:
34
+ description: center of mass energy
35
+ label: $\sqrt{s}$
36
+ units: $GeV$
37
+ file: kinematics.yaml
38
+ data_central: data.yaml
39
+ data_uncertainties:
40
+ - uncertainties.yaml
41
+ kinematic_coverage:
42
+ - zero
43
+ - m_t2
44
+ - sqrts
45
+ plotting:
46
+ dataset_label: CMS 13.6 TeV $\sigma_{t\bar{t}}$
47
+ plot_x: sqrts
48
+ y_label: '$\sigma_{t\bar{t}}$ ($pb$)'
49
+ theory:
50
+ FK_tables:
51
+ - - CMS_TTBAR_13P6TEV_TOT_X-SEC
@@ -0,0 +1,12 @@
1
+ definitions:
2
+ stat:
3
+ description: total statistical uncertainty
4
+ treatment: ADD
5
+ type: UNCORR
6
+ lumi:
7
+ description: luminosity uncertainty
8
+ treatment: MULT
9
+ type: CMSLUMIRUNIII
10
+ bins:
11
+ - stat: 23
12
+ lumi: 20
@@ -0,0 +1,17 @@
1
+ data_central:
2
+ - 1.20141010e+00
3
+ - 1.11880926e+00
4
+ - 1.01398758e+00
5
+ - 4.87452475e-01
6
+ - 2.00718228e+00
7
+ - 1.85171385e+00
8
+ - 1.53100298e+00
9
+ - 6.60266180e-01
10
+ - 9.92384850e-01
11
+ - 9.02944680e-01
12
+ - 7.09460750e-01
13
+ - 2.49406493e-01
14
+ - 1.31935389e-01
15
+ - 1.14169830e-01
16
+ - 7.81686224e-02
17
+ - 1.86911282e-02
@@ -0,0 +1,8 @@
1
+ data_central:
2
+ - 1.43324850e+00
3
+ - 3.336027
4
+ - 1.65489750e+00
5
+ - 0.522471
6
+ - 0.129953
7
+ - 2.29295000e-02
8
+ - 2.60850000e-03
@@ -0,0 +1,8 @@
1
+ data_central:
2
+ - 2.93556850e+00
3
+ - 5.214352
4
+ - 3.879805
5
+ - 1.60000250e+00
6
+ - 4.51956500e-01
7
+ - 0.131871
8
+ - 0.022288
@@ -0,0 +1,11 @@
1
+ data_central:
2
+ - 6.63657475e+01
3
+ - 1.32516655e+02
4
+ - 1.87876895e+02
5
+ - 2.23768405e+02
6
+ - 2.50735647e+02
7
+ - 2.40578405e+02
8
+ - 2.17105407e+02
9
+ - 1.79974545e+02
10
+ - 1.37180218e+02
11
+ - 6.83048240e+01
@@ -0,0 +1,260 @@
1
+ import yaml
2
+
3
+ from nnpdf_data.filter_utils.utils import prettify_float
4
+ from nnpdf_data.filter_utils.utils import symmetrize_errors as se
5
+
6
+ yaml.add_representer(float, prettify_float)
7
+
8
+
9
+ def the_function():
10
+
11
+ data_central_dSig_dmttBar = []
12
+ kin_dSig_dmttBar = []
13
+ error_dSig_dmttBar = []
14
+ data_central_dSig_dpTt = []
15
+ kin_dSig_dpTt = []
16
+ error_dSig_dpTt = []
17
+ data_central_dSig_dyt = []
18
+ kin_dSig_dyt = []
19
+ error_dSig_dyt = []
20
+ data_central_d2Sig_dmttBar_dyttBar = []
21
+ kin_d2Sig_dmttBar_dyttBar = []
22
+ error_d2Sig_dmttBar_dyttBar = []
23
+
24
+ m_t2 = 172.5 * 172.5
25
+
26
+ # dSig_dmttBar
27
+
28
+ with open("rawdata/mtt_abs_parton.yaml", "r") as f:
29
+ input1 = yaml.safe_load(f)
30
+
31
+ values1 = input1['dependent_variables'][0]['values']
32
+
33
+ for i in range(len(values1)):
34
+ data_central_value = values1[i]['value']
35
+ kin_low = input1['independent_variables'][0]['values'][i]['low']
36
+ kin_high = input1['independent_variables'][0]['values'][i]['high']
37
+ kin_value = {
38
+ 'm_ttBar': {'min': kin_low, 'mid': None, 'max': kin_high},
39
+ 'm_t2': {'min': None, 'mid': m_t2, 'max': None},
40
+ }
41
+ value_delta = 0
42
+ error_value = {}
43
+ error_value['stat'] = values1[i]['errors'][0]['symerror']
44
+ for j in range(1, len(values1[i]['errors'])):
45
+ se_delta, se_sigma = se(
46
+ values1[i]['errors'][j]['asymerror']['plus'],
47
+ values1[i]['errors'][j]['asymerror']['minus'],
48
+ )
49
+ value_delta += se_delta
50
+ error_value[values1[i]['errors'][j]['label']] = se_sigma
51
+ data_central_value = data_central_value + value_delta
52
+ data_central_dSig_dmttBar.append(data_central_value)
53
+ kin_dSig_dmttBar.append(kin_value)
54
+ error_dSig_dmttBar.append(error_value)
55
+
56
+ error_definition_dSig_dmttBar = {}
57
+ error_definition_dSig_dmttBar['stat'] = {
58
+ 'description': 'statistical uncertainty',
59
+ 'treatment': 'ADD',
60
+ 'type': 'UNCORR',
61
+ }
62
+ for i in range(1, len(values1[0]['errors'])):
63
+ error_definition_dSig_dmttBar[values1[0]['errors'][i]['label']] = {
64
+ 'description': '',
65
+ 'treatment': 'MULT',
66
+ 'type': 'CORR',
67
+ }
68
+
69
+ data_central_dSig_dmttBar_yaml = {'data_central': data_central_dSig_dmttBar}
70
+ kin_dSig_dmttBar_yaml = {'bins': kin_dSig_dmttBar}
71
+ uncertainties_dSig_dmttBar_yaml = {
72
+ 'definitions': error_definition_dSig_dmttBar,
73
+ 'bins': error_dSig_dmttBar,
74
+ }
75
+
76
+ with open('data_dSig_dmttBar.yaml', 'w') as file:
77
+ yaml.dump(data_central_dSig_dmttBar_yaml, file, sort_keys=False)
78
+ with open('kinematics_dSig_dmttBar.yaml', 'w') as file:
79
+ yaml.dump(kin_dSig_dmttBar_yaml, file, sort_keys=False)
80
+ with open('uncertainties_dSig_dmttBar.yaml', 'w') as file:
81
+ yaml.dump(uncertainties_dSig_dmttBar_yaml, file, sort_keys=False)
82
+
83
+ # dSig_dpTt
84
+
85
+ with open("rawdata/ptt_abs_parton.yaml", "r") as f:
86
+ input2 = yaml.safe_load(f)
87
+
88
+ values2 = input2['dependent_variables'][0]['values']
89
+
90
+ for i in range(len(values2)):
91
+ data_central_value = values2[i]['value']
92
+ kin_low = input2['independent_variables'][0]['values'][i]['low']
93
+ kin_high = input2['independent_variables'][0]['values'][i]['high']
94
+ kin_value = {
95
+ 'pT_t': {'min': kin_low, 'mid': None, 'max': kin_high},
96
+ 'm_t2': {'min': None, 'mid': m_t2, 'max': None},
97
+ }
98
+ value_delta = 0
99
+ error_value = {}
100
+ error_value['stat'] = values2[i]['errors'][0]['symerror']
101
+ for j in range(1, len(values2[i]['errors'])):
102
+ se_delta, se_sigma = se(
103
+ values2[i]['errors'][j]['asymerror']['plus'],
104
+ values2[i]['errors'][j]['asymerror']['minus'],
105
+ )
106
+ value_delta += se_delta
107
+ error_value[values2[i]['errors'][j]['label']] = se_sigma
108
+ data_central_value = data_central_value + value_delta
109
+ data_central_dSig_dpTt.append(data_central_value)
110
+ kin_dSig_dpTt.append(kin_value)
111
+ error_dSig_dpTt.append(error_value)
112
+
113
+ error_definition_dSig_dpTt = {}
114
+ error_definition_dSig_dpTt['stat'] = {
115
+ 'description': 'statistical uncertainty',
116
+ 'treatment': 'ADD',
117
+ 'type': 'UNCORR',
118
+ }
119
+ for i in range(1, len(values2[0]['errors'])):
120
+ error_definition_dSig_dpTt[values2[0]['errors'][i]['label']] = {
121
+ 'description': '',
122
+ 'treatment': 'MULT',
123
+ 'type': 'CORR',
124
+ }
125
+
126
+ data_central_dSig_dpTt_yaml = {'data_central': data_central_dSig_dpTt}
127
+ kin_dSig_dpTt_yaml = {'bins': kin_dSig_dpTt}
128
+ uncertainties_dSig_dpTt_yaml = {
129
+ 'definitions': error_definition_dSig_dpTt,
130
+ 'bins': error_dSig_dpTt,
131
+ }
132
+
133
+ with open('data_dSig_dpTt.yaml', 'w') as file:
134
+ yaml.dump(data_central_dSig_dpTt_yaml, file, sort_keys=False)
135
+ with open('kinematics_dSig_dpTt.yaml', 'w') as file:
136
+ yaml.dump(kin_dSig_dpTt_yaml, file, sort_keys=False)
137
+ with open('uncertainties_dSig_dpTt.yaml', 'w') as file:
138
+ yaml.dump(uncertainties_dSig_dpTt_yaml, file, sort_keys=False)
139
+
140
+ # dSig_dyt
141
+
142
+ with open("rawdata/yt_abs_parton.yaml", "r") as f:
143
+ input3 = yaml.safe_load(f)
144
+ values3 = input3['dependent_variables'][0]['values']
145
+
146
+ for i in range(len(values3)):
147
+ data_central_value = values3[i]['value']
148
+ kin_low = input3['independent_variables'][0]['values'][i]['low']
149
+ kin_high = input3['independent_variables'][0]['values'][i]['high']
150
+ kin_value = {
151
+ 'y_t': {'min': kin_low, 'mid': None, 'max': kin_high},
152
+ 'm_t2': {'min': None, 'mid': m_t2, 'max': None},
153
+ }
154
+ value_delta = 0
155
+ error_value = {}
156
+ error_value['stat'] = values3[i]['errors'][0]['symerror']
157
+ for j in range(1, len(values3[i]['errors'])):
158
+ se_delta, se_sigma = se(
159
+ values3[i]['errors'][j]['asymerror']['plus'],
160
+ values3[i]['errors'][j]['asymerror']['minus'],
161
+ )
162
+ value_delta += se_delta
163
+ error_value[values3[i]['errors'][j]['label']] = se_sigma
164
+ data_central_value = data_central_value + value_delta
165
+ data_central_dSig_dyt.append(data_central_value)
166
+ kin_dSig_dyt.append(kin_value)
167
+ error_dSig_dyt.append(error_value)
168
+
169
+ error_definition_dSig_dyt = {}
170
+ error_definition_dSig_dyt['stat'] = {
171
+ 'description': 'statistical uncertainty',
172
+ 'treatment': 'ADD',
173
+ 'type': 'UNCORR',
174
+ }
175
+ for i in range(1, len(values3[0]['errors'])):
176
+ error_definition_dSig_dyt[values3[0]['errors'][i]['label']] = {
177
+ 'description': '',
178
+ 'treatment': 'MULT',
179
+ 'type': 'CORR',
180
+ }
181
+
182
+ data_central_dSig_dyt_yaml = {'data_central': data_central_dSig_dyt}
183
+ kin_dSig_dyt_yaml = {'bins': kin_dSig_dyt}
184
+ uncertainties_dSig_dyt_yaml = {'definitions': error_definition_dSig_dyt, 'bins': error_dSig_dyt}
185
+
186
+ with open('data_dSig_dyt.yaml', 'w') as file:
187
+ yaml.dump(data_central_dSig_dyt_yaml, file, sort_keys=False)
188
+ with open('kinematics_dSig_dyt.yaml', 'w') as file:
189
+ yaml.dump(kin_dSig_dyt_yaml, file, sort_keys=False)
190
+ with open('uncertainties_dSig_dyt.yaml', 'w') as file:
191
+ yaml.dump(uncertainties_dSig_dyt_yaml, file, sort_keys=False)
192
+
193
+ # d2Sig_dmttBar_dyttBar
194
+
195
+ with open("rawdata/mttytt-abs_parton.yaml", "r") as f:
196
+ input4 = yaml.safe_load(f)
197
+ values4 = input4['dependent_variables'][0]['values']
198
+
199
+ for i in range(len(values4)):
200
+ kin_low_mttBar = input4['independent_variables'][1]['values'][i]['low']
201
+ kin_high_mttBar = input4['independent_variables'][1]['values'][i]['high']
202
+ kin_low_yttBar = input4['independent_variables'][0]['values'][i]['low']
203
+ kin_high_yttBar = input4['independent_variables'][0]['values'][i]['high']
204
+ binwidth_mtt = kin_high_mttBar - kin_low_mttBar
205
+
206
+ # At the time of implementation (23/07/25), the hepdata entry was not normalized to the bin width.
207
+ # We correct for this here by dividing the error and central value by the bin width.
208
+ data_central_value = values4[i]['value'] / binwidth_mtt
209
+
210
+ kin_value = {
211
+ 'm_ttBar': {'min': kin_low_mttBar, 'mid': None, 'max': kin_high_mttBar},
212
+ 'y_ttBar': {'min': kin_low_yttBar, 'mid': None, 'max': kin_high_yttBar},
213
+ 'm_t2': {'min': None, 'mid': m_t2, 'max': None},
214
+ }
215
+ value_delta = 0
216
+ error_value = {}
217
+ error_value['stat'] = values4[i]['errors'][0]['symerror'] /binwidth_mtt
218
+ for j in range(1, len(values4[i]['errors'])):
219
+ se_delta, se_sigma = se(
220
+ values4[i]['errors'][j]['asymerror']['plus'],
221
+ values4[i]['errors'][j]['asymerror']['minus'],
222
+ )
223
+ se_delta /= binwidth_mtt
224
+ se_sigma /= binwidth_mtt
225
+ value_delta += se_delta
226
+ error_value[values4[i]['errors'][j]['label']] = se_sigma
227
+ data_central_value = data_central_value + value_delta
228
+ data_central_d2Sig_dmttBar_dyttBar.append(data_central_value)
229
+ kin_d2Sig_dmttBar_dyttBar.append(kin_value)
230
+ error_d2Sig_dmttBar_dyttBar.append(error_value)
231
+
232
+ error_definition_d2Sig_dmttBar_dyttBar = {}
233
+ error_definition_d2Sig_dmttBar_dyttBar['stat'] = {
234
+ 'description': 'statistical uncertainty',
235
+ 'treatment': 'ADD',
236
+ 'type': 'UNCORR',
237
+ }
238
+ for i in range(1, len(values4[0]['errors'])):
239
+ error_definition_d2Sig_dmttBar_dyttBar[values4[0]['errors'][i]['label']] = {
240
+ 'description': '',
241
+ 'treatment': 'MULT',
242
+ 'type': 'CORR',
243
+ }
244
+
245
+ data_central_d2Sig_dmttBar_dyttBar_yaml = {'data_central': data_central_d2Sig_dmttBar_dyttBar}
246
+ kin_d2Sig_dmttBar_dyttBar_yaml = {'bins': kin_d2Sig_dmttBar_dyttBar}
247
+ uncertainties_d2Sig_dmttBar_dyttBar_yaml = {
248
+ 'definitions': error_definition_d2Sig_dmttBar_dyttBar,
249
+ 'bins': error_d2Sig_dmttBar_dyttBar,
250
+ }
251
+
252
+ with open('data_d2Sig_dmttBar_dyttBar.yaml', 'w') as file:
253
+ yaml.dump(data_central_d2Sig_dmttBar_dyttBar_yaml, file, sort_keys=False)
254
+ with open('kinematics_d2Sig_dmttBar_dyttBar.yaml', 'w') as file:
255
+ yaml.dump(kin_d2Sig_dmttBar_dyttBar_yaml, file, sort_keys=False)
256
+ with open('uncertainties_d2Sig_dmttBar_dyttBar.yaml', 'w') as file:
257
+ yaml.dump(uncertainties_d2Sig_dmttBar_dyttBar_yaml, file, sort_keys=False)
258
+
259
+
260
+ the_function()