diff --git a/config/GSystUncertaintyTable.xml b/config/GSystUncertaintyTable.xml
index 56c2033a..79aa3562 100644
--- a/config/GSystUncertaintyTable.xml
+++ b/config/GSystUncertaintyTable.xml
@@ -201,6 +201,15 @@ values for each Reweight tweak dial. All of these have default values of zero.
0.20
0.20
+ 1
+ 6
+ 6
+ 6
+ 6
+
+ 1
+ 1
+
0.50
0.50
diff --git a/data/intranuke/diff_ang_variations/README.md b/data/intranuke/diff_ang_variations/README.md
new file mode 100644
index 00000000..15626ad9
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/README.md
@@ -0,0 +1,7 @@
+Contributed and maintained by Gray Putnam
+
+These data files encode uncertainties on angular differential cross
+sections for p-n, p-p, and n-n collisions. They are implemented using a
+bootstrapped evaluation of the uncertainties in the offsets between the
+SAID model and its constituent datasets. These are used to evaluate an
+uncertainty on inelastic and charge-exchange interactions in hadron FSI.
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn100.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn100.txt
new file mode 100644
index 00000000..ad6f1a7b
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn100.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 100 MeV
+
+0.000 -4.143244E-03
+9.000 -4.704616E-03
+18.000 -4.582577E-03
+27.000 -3.592332E-03
+36.000 -2.092490E-03
+45.000 -1.217348E-03
+54.000 -6.254527E-04
+63.000 4.175924E-04
+72.000 1.960583E-03
+81.000 3.877319E-03
+90.000 5.895216E-03
+99.000 7.420034E-03
+108.000 7.623188E-03
+117.000 6.281263E-03
+126.000 4.436414E-03
+135.000 4.249025E-03
+144.000 6.342952E-03
+153.000 8.466986E-03
+162.000 6.515104E-03
+171.000 -1.478745E-03
+180.000 -9.144606E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn1000.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn1000.txt
new file mode 100644
index 00000000..5e36734f
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn1000.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 1000 MeV
+
+0.000 2.636702E-01
+9.000 1.714417E-01
+18.000 9.519485E-02
+27.000 3.131092E-02
+36.000 -2.193224E-02
+45.000 -6.009950E-02
+54.000 -8.422952E-02
+63.000 -1.010665E-01
+72.000 -1.147841E-01
+81.000 -1.272622E-01
+90.000 -1.383586E-01
+99.000 -1.457898E-01
+108.000 -1.468863E-01
+117.000 -1.422029E-01
+126.000 -1.371585E-01
+135.000 -1.403938E-01
+144.000 -1.631548E-01
+153.000 -2.187125E-01
+162.000 -2.738734E-01
+171.000 -2.277862E-01
+180.000 -1.780796E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn150.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn150.txt
new file mode 100644
index 00000000..19810c1d
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn150.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 150 MeV
+
+0.000 -1.418180E-02
+9.000 -1.427439E-03
+18.000 9.094108E-03
+27.000 1.611007E-02
+36.000 1.729570E-02
+45.000 1.460933E-02
+54.000 1.280370E-02
+63.000 1.230968E-02
+72.000 1.181078E-02
+81.000 1.071618E-02
+90.000 9.043103E-03
+99.000 7.233018E-03
+108.000 6.161345E-03
+117.000 5.773468E-03
+126.000 4.164142E-03
+135.000 1.170070E-03
+144.000 -2.063997E-03
+153.000 -4.854491E-03
+162.000 -5.371092E-03
+171.000 -2.628302E-04
+180.000 3.207769E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn200.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn200.txt
new file mode 100644
index 00000000..d9a08f3d
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn200.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 200 MeV
+
+0.000 -5.279365E-03
+9.000 6.749632E-03
+18.000 1.683239E-02
+27.000 2.432553E-02
+36.000 2.725265E-02
+45.000 2.617910E-02
+54.000 2.430651E-02
+63.000 2.286897E-02
+72.000 2.189091E-02
+81.000 2.137612E-02
+90.000 2.132758E-02
+99.000 2.137486E-02
+108.000 2.022105E-02
+117.000 1.545606E-02
+126.000 6.386280E-03
+135.000 -3.077029E-03
+144.000 -9.864897E-03
+153.000 -1.377262E-02
+162.000 -1.291443E-02
+171.000 -1.494712E-03
+180.000 2.633038E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn250.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn250.txt
new file mode 100644
index 00000000..1418221f
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn250.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 250 MeV
+
+0.000 5.973620E-03
+9.000 1.120273E-02
+18.000 1.569875E-02
+27.000 2.025660E-02
+36.000 2.515843E-02
+45.000 2.921851E-02
+54.000 3.182758E-02
+63.000 3.357806E-02
+72.000 3.499986E-02
+81.000 3.627133E-02
+90.000 3.727265E-02
+99.000 3.746311E-02
+108.000 3.541301E-02
+117.000 2.828955E-02
+126.000 1.454170E-02
+135.000 -4.716511E-04
+144.000 -1.116964E-02
+153.000 -1.761031E-02
+162.000 -1.948136E-02
+171.000 -5.904458E-03
+180.000 6.727462E-04
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn300.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn300.txt
new file mode 100644
index 00000000..b2bf171a
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn300.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 300 MeV
+
+0.000 2.076852E-02
+9.000 2.010085E-02
+18.000 1.852726E-02
+27.000 1.692355E-02
+36.000 1.835775E-02
+45.000 2.386310E-02
+54.000 2.963457E-02
+63.000 3.373855E-02
+72.000 3.652385E-02
+81.000 3.865412E-02
+90.000 4.055174E-02
+99.000 4.233397E-02
+108.000 4.348917E-02
+117.000 4.163806E-02
+126.000 3.180624E-02
+135.000 1.511338E-02
+144.000 3.119386E-04
+153.000 -1.113819E-02
+162.000 -2.195956E-02
+171.000 -1.657863E-02
+180.000 -5.703694E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn350.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn350.txt
new file mode 100644
index 00000000..1c8f606a
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn350.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 350 MeV
+
+0.000 4.621625E-02
+9.000 3.603532E-02
+18.000 2.644837E-02
+27.000 1.795086E-02
+36.000 1.332388E-02
+45.000 1.531147E-02
+54.000 1.899161E-02
+63.000 2.121315E-02
+72.000 2.246281E-02
+81.000 2.379605E-02
+90.000 2.602843E-02
+99.000 2.984542E-02
+108.000 3.583289E-02
+117.000 4.322450E-02
+126.000 4.518541E-02
+135.000 3.445953E-02
+144.000 1.925503E-02
+153.000 3.572298E-03
+162.000 -1.813816E-02
+171.000 -2.869686E-02
+180.000 -1.896860E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn400.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn400.txt
new file mode 100644
index 00000000..857ec329
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn400.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 400 MeV
+
+0.000 6.851823E-02
+9.000 4.880179E-02
+18.000 3.192025E-02
+27.000 1.840058E-02
+36.000 1.010721E-02
+45.000 8.289355E-03
+54.000 7.470399E-03
+63.000 5.139381E-03
+72.000 2.657333E-03
+81.000 1.360638E-03
+90.000 2.055695E-03
+99.000 5.465165E-03
+108.000 1.257723E-02
+117.000 2.378905E-02
+126.000 3.354783E-02
+135.000 3.258232E-02
+144.000 2.403877E-02
+153.000 1.048235E-02
+162.000 -1.603348E-02
+171.000 -3.644341E-02
+180.000 -3.056196E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn450.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn450.txt
new file mode 100644
index 00000000..621b1814
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn450.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 450 MeV
+
+0.000 7.456152E-02
+9.000 5.172754E-02
+18.000 3.260299E-02
+27.000 1.775846E-02
+36.000 8.561077E-03
+45.000 4.827628E-03
+54.000 8.882157E-04
+63.000 -5.180063E-03
+72.000 -1.147601E-02
+81.000 -1.654622E-02
+90.000 -1.982001E-02
+99.000 -2.095695E-02
+108.000 -1.919586E-02
+117.000 -1.306826E-02
+126.000 -3.385294E-03
+135.000 3.599358E-03
+144.000 4.461506E-03
+153.000 -2.071751E-03
+162.000 -2.392326E-02
+171.000 -3.782594E-02
+180.000 -3.200784E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn50.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn50.txt
new file mode 100644
index 00000000..82c49790
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn50.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 50 MeV
+
+0.000 1.911857E-02
+9.000 -7.010697E-04
+18.000 -1.655240E-02
+27.000 -2.734010E-02
+36.000 -3.175826E-02
+45.000 -3.212694E-02
+54.000 -3.094924E-02
+63.000 -2.887085E-02
+72.000 -2.576207E-02
+81.000 -2.115782E-02
+90.000 -1.454924E-02
+99.000 -6.274439E-03
+108.000 1.806171E-03
+117.000 7.491623E-03
+126.000 9.932179E-03
+135.000 1.062501E-02
+144.000 1.474720E-02
+153.000 2.397315E-02
+162.000 2.325454E-02
+171.000 -6.812726E-03
+180.000 -4.722223E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn500.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn500.txt
new file mode 100644
index 00000000..e477b462
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn500.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 500 MeV
+
+0.000 5.876457E-02
+9.000 4.158926E-02
+18.000 2.715798E-02
+27.000 1.594647E-02
+36.000 8.767558E-03
+45.000 4.793125E-03
+54.000 -5.880090E-05
+63.000 -7.431273E-03
+72.000 -1.591500E-02
+81.000 -2.421476E-02
+90.000 -3.181488E-02
+99.000 -3.814698E-02
+108.000 -4.149524E-02
+117.000 -3.941296E-02
+126.000 -3.271188E-02
+135.000 -2.572890E-02
+144.000 -2.162102E-02
+153.000 -2.232705E-02
+162.000 -2.834037E-02
+171.000 -2.422049E-02
+180.000 -1.836890E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn550.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn550.txt
new file mode 100644
index 00000000..694e56a4
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn550.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 550 MeV
+
+0.000 3.765025E-02
+9.000 2.940518E-02
+18.000 2.242874E-02
+27.000 1.665915E-02
+36.000 1.179549E-02
+45.000 7.087266E-03
+54.000 1.649865E-03
+63.000 -4.710011E-03
+72.000 -1.151623E-02
+81.000 -1.819832E-02
+90.000 -2.389504E-02
+99.000 -2.730107E-02
+108.000 -2.786075E-02
+117.000 -2.653271E-02
+126.000 -2.463278E-02
+135.000 -2.297715E-02
+144.000 -2.197320E-02
+153.000 -2.149517E-02
+162.000 -1.815309E-02
+171.000 -8.898747E-03
+180.000 -2.848256E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn600.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn600.txt
new file mode 100644
index 00000000..963bab2e
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn600.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 600 MeV
+
+0.000 6.744171E-02
+9.000 5.821910E-02
+18.000 4.832540E-02
+27.000 3.704696E-02
+36.000 2.435389E-02
+45.000 1.229471E-02
+54.000 3.570963E-03
+63.000 -1.463719E-03
+72.000 -4.171159E-03
+81.000 -5.874354E-03
+90.000 -7.230520E-03
+99.000 -8.348830E-03
+108.000 -9.245555E-03
+117.000 -1.001078E-02
+126.000 -1.070345E-02
+135.000 -1.134376E-02
+144.000 -1.190512E-02
+153.000 -1.192901E-02
+162.000 -8.880225E-03
+171.000 -1.677042E-03
+180.000 3.993950E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn650.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn650.txt
new file mode 100644
index 00000000..41e8963b
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn650.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 650 MeV
+
+0.000 9.280498E-02
+9.000 8.938260E-02
+18.000 8.130847E-02
+27.000 6.242875E-02
+36.000 3.663767E-02
+45.000 1.667211E-02
+54.000 5.173302E-03
+63.000 -8.068241E-04
+72.000 -3.786768E-03
+81.000 -5.256259E-03
+90.000 -6.062849E-03
+99.000 -6.648859E-03
+108.000 -7.159207E-03
+117.000 -7.586734E-03
+126.000 -7.892637E-03
+135.000 -8.006809E-03
+144.000 -7.775958E-03
+153.000 -6.736398E-03
+162.000 -3.404953E-03
+171.000 2.312296E-03
+180.000 6.318189E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn700.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn700.txt
new file mode 100644
index 00000000..aa373c48
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn700.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 700 MeV
+
+0.000 6.821923E-02
+9.000 7.185564E-02
+18.000 6.894410E-02
+27.000 4.104225E-02
+36.000 1.589610E-02
+45.000 3.523518E-03
+54.000 -2.614410E-03
+63.000 -5.987003E-03
+72.000 -8.024613E-03
+81.000 -9.292820E-03
+90.000 -9.895516E-03
+99.000 -9.664711E-03
+108.000 -8.494579E-03
+117.000 -6.653917E-03
+126.000 -4.562504E-03
+135.000 -2.413744E-03
+144.000 -1.202926E-04
+153.000 2.592808E-03
+162.000 5.465346E-03
+171.000 5.807982E-03
+180.000 4.541909E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn750.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn750.txt
new file mode 100644
index 00000000..1f8a817a
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn750.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 750 MeV
+
+0.000 1.979486E-02
+9.000 5.080883E-03
+18.000 -2.015066E-02
+27.000 -5.181627E-02
+36.000 -6.167673E-02
+45.000 -5.679651E-02
+54.000 -4.945013E-02
+63.000 -4.108453E-02
+72.000 -3.064131E-02
+81.000 -1.715963E-02
+90.000 -1.802919E-03
+99.000 1.177869E-02
+108.000 2.107420E-02
+117.000 2.636999E-02
+126.000 2.890972E-02
+135.000 2.961342E-02
+144.000 2.872758E-02
+153.000 2.502415E-02
+162.000 1.484236E-02
+171.000 3.113246E-03
+180.000 -2.307538E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn800.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn800.txt
new file mode 100644
index 00000000..40856903
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn800.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 800 MeV
+
+0.000 2.697177E-02
+9.000 7.581027E-03
+18.000 -3.236805E-02
+27.000 -9.716788E-02
+36.000 -1.449611E-01
+45.000 -1.547738E-01
+54.000 -1.486790E-01
+63.000 -1.348192E-01
+72.000 -1.108600E-01
+81.000 -7.201701E-02
+90.000 -2.115553E-02
+99.000 2.584979E-02
+108.000 5.728887E-02
+117.000 7.399536E-02
+126.000 8.041218E-02
+135.000 7.941766E-02
+144.000 7.125623E-02
+153.000 5.182418E-02
+162.000 1.627234E-02
+171.000 -1.185867E-02
+180.000 -1.919988E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn850.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn850.txt
new file mode 100644
index 00000000..ee345834
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn850.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 850 MeV
+
+0.000 4.633229E-02
+9.000 2.893833E-02
+18.000 -2.287907E-03
+27.000 -5.919975E-02
+36.000 -1.279145E-01
+45.000 -1.687370E-01
+54.000 -1.791297E-01
+63.000 -1.733749E-01
+72.000 -1.572024E-01
+81.000 -1.306240E-01
+90.000 -9.133911E-02
+99.000 -3.715315E-02
+108.000 2.920826E-02
+117.000 9.381989E-02
+126.000 1.363446E-01
+135.000 1.461784E-01
+144.000 1.227727E-01
+153.000 6.110639E-02
+162.000 -4.101235E-02
+171.000 -1.017913E-01
+180.000 -8.821942E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn900.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn900.txt
new file mode 100644
index 00000000..40e7823d
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn900.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 900 MeV
+
+0.000 8.318578E-02
+9.000 5.314533E-02
+18.000 2.320164E-02
+27.000 -1.814404E-02
+36.000 -7.406201E-02
+45.000 -1.197154E-01
+54.000 -1.416974E-01
+63.000 -1.491302E-01
+72.000 -1.484411E-01
+81.000 -1.411334E-01
+90.000 -1.264803E-01
+99.000 -1.029266E-01
+108.000 -6.969468E-02
+117.000 -3.011589E-02
+126.000 4.938703E-03
+135.000 1.993666E-02
+144.000 6.637338E-04
+153.000 -7.347894E-02
+162.000 -2.233345E-01
+171.000 -2.424884E-01
+180.000 -1.588281E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn950.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn950.txt
new file mode 100644
index 00000000..cdd1356a
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pn/pn950.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 950 MeV
+
+0.000 1.537341E-01
+9.000 9.844976E-02
+18.000 5.174681E-02
+27.000 6.941741E-03
+36.000 -4.122144E-02
+45.000 -8.180986E-02
+54.000 -1.065558E-01
+63.000 -1.215025E-01
+72.000 -1.314294E-01
+81.000 -1.374992E-01
+90.000 -1.388071E-01
+99.000 -1.334185E-01
+108.000 -1.201680E-01
+117.000 -1.015398E-01
+126.000 -8.483516E-02
+135.000 -7.990402E-02
+144.000 -9.819758E-02
+153.000 -1.556776E-01
+162.000 -2.343732E-01
+171.000 -2.083562E-01
+180.000 -1.513226E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp100.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp100.txt
new file mode 100644
index 00000000..850a8baa
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp100.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 100 MeV
+
+0.000 2.101205E-01
+9.000 1.135815E-01
+18.000 4.716326E-02
+27.000 1.146712E-02
+36.000 -1.419570E-02
+45.000 -3.057919E-02
+54.000 -1.122509E-02
+63.000 1.525467E-02
+72.000 1.905334E-02
+81.000 -9.976131E-05
+90.000 -2.950961E-02
+99.000 -9.976131E-05
+108.000 1.905334E-02
+117.000 1.525467E-02
+126.000 -1.122509E-02
+135.000 -3.057919E-02
+144.000 -1.419570E-02
+153.000 1.146712E-02
+162.000 4.716326E-02
+171.000 1.135815E-01
+180.000 2.101205E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp1000.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp1000.txt
new file mode 100644
index 00000000..f66d2097
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp1000.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 1000 MeV
+
+0.000 -3.802565E-02
+9.000 -1.574933E-02
+18.000 -1.826994E-03
+27.000 5.528880E-02
+36.000 1.109396E-01
+45.000 1.332510E-01
+54.000 1.271235E-01
+63.000 1.082252E-01
+72.000 7.636797E-02
+81.000 3.465945E-02
+90.000 1.748618E-02
+99.000 3.465945E-02
+108.000 7.636797E-02
+117.000 1.082252E-01
+126.000 1.271235E-01
+135.000 1.332510E-01
+144.000 1.109396E-01
+153.000 5.528880E-02
+162.000 -1.826994E-03
+171.000 -1.574933E-02
+180.000 -3.802565E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp150.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp150.txt
new file mode 100644
index 00000000..def3ae8b
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp150.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 150 MeV
+
+0.000 2.394224E-01
+9.000 1.453933E-01
+18.000 7.404870E-02
+27.000 1.459400E-02
+36.000 -7.929686E-03
+45.000 -2.396564E-02
+54.000 -1.779035E-02
+63.000 3.004252E-03
+72.000 1.061011E-02
+81.000 4.858930E-03
+90.000 -1.843839E-02
+99.000 4.858930E-03
+108.000 1.061011E-02
+117.000 3.004252E-03
+126.000 -1.779035E-02
+135.000 -2.396564E-02
+144.000 -7.929686E-03
+153.000 1.459400E-02
+162.000 7.404870E-02
+171.000 1.453933E-01
+180.000 2.394224E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp200.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp200.txt
new file mode 100644
index 00000000..b0479151
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp200.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 200 MeV
+
+0.000 2.172888E-01
+9.000 1.414532E-01
+18.000 8.193745E-02
+27.000 2.038615E-02
+36.000 -7.209859E-03
+45.000 -1.913043E-02
+54.000 -2.187326E-02
+63.000 -5.302270E-03
+72.000 4.909600E-03
+81.000 6.979153E-03
+90.000 3.626638E-04
+99.000 6.979153E-03
+108.000 4.909600E-03
+117.000 -5.302270E-03
+126.000 -2.187326E-02
+135.000 -1.913043E-02
+144.000 -7.209859E-03
+153.000 2.038615E-02
+162.000 8.193745E-02
+171.000 1.414532E-01
+180.000 2.172888E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp250.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp250.txt
new file mode 100644
index 00000000..7e062d26
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp250.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 250 MeV
+
+0.000 1.675054E-01
+9.000 1.172238E-01
+18.000 7.723317E-02
+27.000 2.313948E-02
+36.000 -7.462128E-03
+45.000 -1.462830E-02
+54.000 -2.405172E-02
+63.000 -1.279386E-02
+72.000 -8.752875E-04
+81.000 6.146392E-03
+90.000 1.684097E-02
+99.000 6.146392E-03
+108.000 -8.752875E-04
+117.000 -1.279386E-02
+126.000 -2.405172E-02
+135.000 -1.462830E-02
+144.000 -7.462128E-03
+153.000 2.313948E-02
+162.000 7.723317E-02
+171.000 1.172238E-01
+180.000 1.675054E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp300.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp300.txt
new file mode 100644
index 00000000..6437e4b3
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp300.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 300 MeV
+
+0.000 1.079215E-01
+9.000 8.289807E-02
+18.000 6.415269E-02
+27.000 2.169526E-02
+36.000 -6.294190E-03
+45.000 -1.111250E-02
+54.000 -2.330939E-02
+63.000 -1.927253E-02
+72.000 -6.732331E-03
+81.000 2.725034E-03
+90.000 2.623363E-02
+99.000 2.725034E-03
+108.000 -6.732331E-03
+117.000 -1.927253E-02
+126.000 -2.330939E-02
+135.000 -1.111250E-02
+144.000 -6.294190E-03
+153.000 2.169526E-02
+162.000 6.415269E-02
+171.000 8.289807E-02
+180.000 1.079215E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp350.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp350.txt
new file mode 100644
index 00000000..9ac4f578
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp350.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 350 MeV
+
+0.000 5.359339E-02
+9.000 4.632995E-02
+18.000 4.402402E-02
+27.000 1.513443E-02
+36.000 -3.309751E-03
+45.000 -8.269216E-03
+54.000 -1.875377E-02
+63.000 -2.186633E-02
+72.000 -1.122071E-02
+81.000 -1.183970E-03
+90.000 2.272521E-02
+99.000 -1.183970E-03
+108.000 -1.122071E-02
+117.000 -2.186633E-02
+126.000 -1.875377E-02
+135.000 -8.269216E-03
+144.000 -3.309751E-03
+153.000 1.513443E-02
+162.000 4.402402E-02
+171.000 4.632995E-02
+180.000 5.359339E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp400.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp400.txt
new file mode 100644
index 00000000..96aa26f5
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp400.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 400 MeV
+
+0.000 1.390302E-02
+9.000 1.514897E-02
+18.000 1.732859E-02
+27.000 6.558699E-03
+36.000 -2.759675E-04
+45.000 -4.527627E-03
+54.000 -1.185890E-02
+63.000 -1.578941E-02
+72.000 -1.037482E-02
+81.000 -3.365183E-03
+90.000 1.001917E-02
+99.000 -3.365183E-03
+108.000 -1.037482E-02
+117.000 -1.578941E-02
+126.000 -1.185890E-02
+135.000 -4.527627E-03
+144.000 -2.759675E-04
+153.000 6.558699E-03
+162.000 1.732859E-02
+171.000 1.514897E-02
+180.000 1.390302E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp450.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp450.txt
new file mode 100644
index 00000000..e7a19003
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp450.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 450 MeV
+
+0.000 -1.565574E-02
+9.000 -6.803405E-03
+18.000 -5.451635E-04
+27.000 1.551457E-03
+36.000 2.254362E-03
+45.000 1.199957E-03
+54.000 -1.765161E-03
+63.000 -3.702232E-03
+72.000 -3.669145E-03
+81.000 -3.359402E-03
+90.000 -1.555437E-03
+99.000 -3.359402E-03
+108.000 -3.669145E-03
+117.000 -3.702232E-03
+126.000 -1.765161E-03
+135.000 1.199957E-03
+144.000 2.254362E-03
+153.000 1.551457E-03
+162.000 -5.451635E-04
+171.000 -6.803405E-03
+180.000 -1.565574E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp50.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp50.txt
new file mode 100644
index 00000000..6ae0a8ae
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp50.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 50 MeV
+
+0.000 4.271333E-01
+9.000 2.750549E-01
+18.000 1.548457E-01
+27.000 3.604830E-02
+36.000 -1.749812E-02
+45.000 -1.876498E-02
+54.000 3.865566E-03
+63.000 2.143035E-02
+72.000 1.659192E-02
+81.000 -3.173452E-02
+90.000 -6.913194E-02
+99.000 -3.173452E-02
+108.000 1.659192E-02
+117.000 2.143035E-02
+126.000 3.865566E-03
+135.000 -1.876498E-02
+144.000 -1.749812E-02
+153.000 3.604830E-02
+162.000 1.548457E-01
+171.000 2.750549E-01
+180.000 4.271333E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp500.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp500.txt
new file mode 100644
index 00000000..e5444a85
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp500.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 500 MeV
+
+0.000 -7.552991E-02
+9.000 -4.006194E-02
+18.000 -8.482525E-03
+27.000 -6.322390E-03
+36.000 1.363273E-02
+45.000 2.999417E-02
+54.000 2.506275E-02
+63.000 9.099961E-03
+72.000 4.658264E-03
+81.000 -1.288072E-03
+90.000 -1.116448E-02
+99.000 -1.288072E-03
+108.000 4.658264E-03
+117.000 9.099961E-03
+126.000 2.506275E-02
+135.000 2.999417E-02
+144.000 1.363273E-02
+153.000 -6.322390E-03
+162.000 -8.482525E-03
+171.000 -4.006194E-02
+180.000 -7.552991E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp550.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp550.txt
new file mode 100644
index 00000000..c86d5b7d
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp550.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 550 MeV
+
+0.000 -1.029966E-01
+9.000 -6.680712E-02
+18.000 -1.439291E-02
+27.000 -1.942194E-02
+36.000 1.962357E-02
+45.000 5.903653E-02
+54.000 5.051740E-02
+63.000 1.777833E-02
+72.000 1.626625E-02
+81.000 1.914489E-03
+90.000 -2.816853E-02
+99.000 1.914489E-03
+108.000 1.626625E-02
+117.000 1.777833E-02
+126.000 5.051740E-02
+135.000 5.903653E-02
+144.000 1.962357E-02
+153.000 -1.942194E-02
+162.000 -1.439291E-02
+171.000 -6.680712E-02
+180.000 -1.029966E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp600.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp600.txt
new file mode 100644
index 00000000..bb210684
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp600.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 600 MeV
+
+0.000 -8.624834E-02
+9.000 -7.039689E-02
+18.000 -1.642554E-02
+27.000 -2.508495E-02
+36.000 1.635207E-02
+45.000 6.520488E-02
+54.000 6.189173E-02
+63.000 2.389861E-02
+72.000 2.286988E-02
+81.000 4.504301E-03
+90.000 -3.499313E-02
+99.000 4.504301E-03
+108.000 2.286988E-02
+117.000 2.389861E-02
+126.000 6.189173E-02
+135.000 6.520488E-02
+144.000 1.635207E-02
+153.000 -2.508495E-02
+162.000 -1.642554E-02
+171.000 -7.039689E-02
+180.000 -8.624834E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp650.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp650.txt
new file mode 100644
index 00000000..a081a111
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp650.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 650 MeV
+
+0.000 -6.715231E-02
+9.000 -6.340780E-02
+18.000 -1.600215E-02
+27.000 -2.607525E-02
+36.000 9.005451E-03
+45.000 5.711665E-02
+54.000 6.188340E-02
+63.000 2.560075E-02
+72.000 2.026659E-02
+81.000 5.138649E-03
+90.000 -2.985622E-02
+99.000 5.138649E-03
+108.000 2.026659E-02
+117.000 2.560075E-02
+126.000 6.188340E-02
+135.000 5.711665E-02
+144.000 9.005451E-03
+153.000 -2.607525E-02
+162.000 -1.600215E-02
+171.000 -6.340780E-02
+180.000 -6.715231E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp700.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp700.txt
new file mode 100644
index 00000000..9efecdbb
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp700.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 700 MeV
+
+0.000 -5.322840E-02
+9.000 -5.093005E-02
+18.000 -1.382597E-02
+27.000 -2.162933E-02
+36.000 -6.959347E-04
+45.000 3.417469E-02
+54.000 4.504138E-02
+63.000 2.266001E-02
+72.000 1.254358E-02
+81.000 4.038248E-03
+90.000 -1.554992E-02
+99.000 4.038248E-03
+108.000 1.254358E-02
+117.000 2.266001E-02
+126.000 4.504138E-02
+135.000 3.417469E-02
+144.000 -6.959347E-04
+153.000 -2.162933E-02
+162.000 -1.382597E-02
+171.000 -5.093005E-02
+180.000 -5.322840E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp750.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp750.txt
new file mode 100644
index 00000000..8092de29
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp750.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 750 MeV
+
+0.000 -3.785620E-02
+9.000 -3.382065E-02
+18.000 -1.135327E-02
+27.000 -1.085367E-02
+36.000 -6.173301E-03
+45.000 5.253425E-03
+54.000 1.325337E-02
+63.000 1.059321E-02
+72.000 6.362529E-03
+81.000 2.695428E-03
+90.000 -2.595462E-03
+99.000 2.695428E-03
+108.000 6.362529E-03
+117.000 1.059321E-02
+126.000 1.325337E-02
+135.000 5.253425E-03
+144.000 -6.173301E-03
+153.000 -1.085367E-02
+162.000 -1.135327E-02
+171.000 -3.382065E-02
+180.000 -3.785620E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp800.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp800.txt
new file mode 100644
index 00000000..2c3c35a0
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp800.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 800 MeV
+
+0.000 -1.608038E-02
+9.000 -1.311017E-02
+18.000 -7.621368E-03
+27.000 -3.328285E-03
+36.000 -3.018710E-03
+45.000 -4.779126E-03
+54.000 -6.335579E-03
+63.000 -4.977217E-03
+72.000 -1.633544E-03
+81.000 2.495607E-03
+90.000 9.885232E-03
+99.000 2.495607E-03
+108.000 -1.633544E-03
+117.000 -4.977217E-03
+126.000 -6.335579E-03
+135.000 -4.779126E-03
+144.000 -3.018710E-03
+153.000 -3.328285E-03
+162.000 -7.621368E-03
+171.000 -1.311017E-02
+180.000 -1.608038E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp850.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp850.txt
new file mode 100644
index 00000000..c8661ca5
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp850.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 850 MeV
+
+0.000 -2.571023E-02
+9.000 -6.388609E-03
+18.000 -1.252879E-03
+27.000 5.450195E-04
+36.000 -2.150078E-03
+45.000 -5.001880E-03
+54.000 -5.841668E-03
+63.000 -8.808113E-03
+72.000 -5.216674E-03
+81.000 4.678802E-03
+90.000 2.322530E-02
+99.000 4.678802E-03
+108.000 -5.216674E-03
+117.000 -8.808113E-03
+126.000 -5.841668E-03
+135.000 -5.001880E-03
+144.000 -2.150078E-03
+153.000 5.450195E-04
+162.000 -1.252879E-03
+171.000 -6.388609E-03
+180.000 -2.571023E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp900.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp900.txt
new file mode 100644
index 00000000..5e2b33b5
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp900.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 900 MeV
+
+0.000 -4.729318E-02
+9.000 -9.212182E-03
+18.000 4.330588E-03
+27.000 1.380398E-02
+36.000 1.270204E-02
+45.000 5.210183E-03
+54.000 -7.872122E-04
+63.000 -8.334556E-04
+72.000 2.438050E-03
+81.000 1.074861E-02
+90.000 2.704728E-02
+99.000 1.074861E-02
+108.000 2.438050E-03
+117.000 -8.334556E-04
+126.000 -7.872122E-04
+135.000 5.210183E-03
+144.000 1.270204E-02
+153.000 1.380398E-02
+162.000 4.330588E-03
+171.000 -9.212182E-03
+180.000 -4.729318E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp950.txt b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp950.txt
new file mode 100644
index 00000000..8c6ba9f7
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ0/pp/pp950.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 950 MeV
+
+0.000 -6.624074E-02
+9.000 -1.639656E-02
+18.000 6.954368E-03
+27.000 4.105249E-02
+36.000 6.397003E-02
+45.000 6.494526E-02
+54.000 4.747309E-02
+63.000 2.965920E-02
+72.000 1.885794E-02
+81.000 2.032056E-02
+90.000 2.289482E-02
+99.000 2.032056E-02
+108.000 1.885794E-02
+117.000 2.965920E-02
+126.000 4.747309E-02
+135.000 6.494526E-02
+144.000 6.397003E-02
+153.000 4.105249E-02
+162.000 6.954368E-03
+171.000 -1.639656E-02
+180.000 -6.624074E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn100.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn100.txt
new file mode 100644
index 00000000..fef45e60
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn100.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 100 MeV
+
+0.000 6.385653E-02
+9.000 3.440758E-02
+18.000 9.980356E-03
+27.000 -6.887941E-03
+36.000 -1.294322E-02
+45.000 -1.554060E-02
+54.000 -2.169418E-02
+63.000 -2.719382E-02
+72.000 -2.963473E-02
+81.000 -2.834341E-02
+90.000 -2.304262E-02
+99.000 -1.417113E-02
+108.000 -4.179952E-03
+117.000 2.926960E-03
+126.000 5.642671E-03
+135.000 8.288800E-03
+144.000 1.628610E-02
+153.000 2.727264E-02
+162.000 2.831413E-02
+171.000 5.106524E-03
+180.000 -2.377211E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn1000.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn1000.txt
new file mode 100644
index 00000000..282b8133
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn1000.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 1000 MeV
+
+0.000 -6.970558E-01
+9.000 -5.720701E-01
+18.000 -4.637306E-01
+27.000 -3.672551E-01
+36.000 -2.702861E-01
+45.000 -1.732321E-01
+54.000 -9.367649E-02
+63.000 -3.156606E-02
+72.000 2.102065E-02
+81.000 7.017730E-02
+90.000 1.187906E-01
+99.000 1.646235E-01
+108.000 1.998237E-01
+117.000 2.156385E-01
+126.000 2.084062E-01
+135.000 1.788551E-01
+144.000 1.256093E-01
+153.000 3.686327E-02
+162.000 -8.840402E-02
+171.000 -1.421439E-01
+180.000 -1.366967E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn150.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn150.txt
new file mode 100644
index 00000000..521f3e07
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn150.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 150 MeV
+
+0.000 1.219790E-01
+9.000 6.697844E-02
+18.000 2.046370E-02
+27.000 -1.510166E-02
+36.000 -3.240600E-02
+45.000 -3.350132E-02
+54.000 -3.207543E-02
+63.000 -3.206721E-02
+72.000 -3.103531E-02
+81.000 -2.767651E-02
+90.000 -2.226388E-02
+99.000 -1.616800E-02
+108.000 -1.124942E-02
+117.000 -5.873559E-03
+126.000 4.386173E-03
+135.000 1.750880E-02
+144.000 2.985505E-02
+153.000 3.948124E-02
+162.000 3.576008E-02
+171.000 2.145928E-03
+180.000 -1.714913E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn200.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn200.txt
new file mode 100644
index 00000000..9b2c7201
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn200.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 200 MeV
+
+0.000 1.307090E-01
+9.000 8.160449E-02
+18.000 3.957037E-02
+27.000 3.945577E-03
+36.000 -2.177934E-02
+45.000 -3.496676E-02
+54.000 -4.069600E-02
+63.000 -4.352931E-02
+72.000 -4.518227E-02
+81.000 -4.652097E-02
+90.000 -4.797842E-02
+99.000 -4.881726E-02
+108.000 -4.578603E-02
+117.000 -3.286116E-02
+126.000 -8.854838E-03
+135.000 1.570022E-02
+144.000 3.292934E-02
+153.000 4.210874E-02
+162.000 3.676060E-02
+171.000 2.073039E-03
+180.000 -9.373325E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn250.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn250.txt
new file mode 100644
index 00000000..88116cb2
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn250.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 250 MeV
+
+0.000 1.048429E-01
+9.000 7.194731E-02
+18.000 4.529859E-02
+27.000 2.325033E-02
+36.000 2.884002E-03
+45.000 -1.667083E-02
+54.000 -3.369766E-02
+63.000 -4.785052E-02
+72.000 -5.989616E-02
+81.000 -7.048743E-02
+90.000 -7.972228E-02
+99.000 -8.665537E-02
+108.000 -8.799515E-02
+117.000 -7.628898E-02
+126.000 -4.584225E-02
+135.000 -8.920459E-03
+144.000 1.852968E-02
+153.000 3.411241E-02
+162.000 3.519401E-02
+171.000 4.684068E-03
+180.000 -6.258822E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn300.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn300.txt
new file mode 100644
index 00000000..d95d58f2
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn300.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 300 MeV
+
+0.000 1.330791E-01
+9.000 9.448273E-02
+18.000 6.162235E-02
+27.000 3.721488E-02
+36.000 2.315201E-02
+45.000 1.125406E-02
+54.000 -5.904565E-03
+63.000 -2.609378E-02
+72.000 -4.630269E-02
+81.000 -6.554639E-02
+90.000 -8.390474E-02
+99.000 -1.015972E-01
+108.000 -1.176249E-01
+117.000 -1.255808E-01
+126.000 -1.090373E-01
+135.000 -6.669914E-02
+144.000 -2.628365E-02
+153.000 1.318348E-03
+162.000 1.836002E-02
+171.000 1.035962E-02
+180.000 -7.572887E-04
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn350.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn350.txt
new file mode 100644
index 00000000..573224b8
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn350.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 350 MeV
+
+0.000 1.797029E-01
+9.000 1.348298E-01
+18.000 9.324276E-02
+27.000 5.776526E-02
+36.000 3.723360E-02
+45.000 3.417581E-02
+54.000 2.882590E-02
+63.000 1.405453E-02
+72.000 -6.438002E-03
+81.000 -2.959639E-02
+90.000 -5.475880E-02
+99.000 -8.295749E-02
+108.000 -1.159024E-01
+117.000 -1.509469E-01
+126.000 -1.639478E-01
+135.000 -1.304522E-01
+144.000 -8.449856E-02
+153.000 -4.782998E-02
+162.000 -1.347002E-02
+171.000 1.434315E-02
+180.000 1.269103E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn400.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn400.txt
new file mode 100644
index 00000000..15fc63b1
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn400.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 400 MeV
+
+0.000 1.839098E-01
+9.000 1.453651E-01
+18.000 1.070321E-01
+27.000 7.072015E-02
+36.000 4.557880E-02
+45.000 4.524064E-02
+54.000 5.142690E-02
+63.000 4.693615E-02
+72.000 3.246961E-02
+81.000 1.167353E-02
+90.000 -1.400717E-02
+99.000 -4.559748E-02
+108.000 -8.582265E-02
+117.000 -1.333057E-01
+126.000 -1.618461E-01
+135.000 -1.445235E-01
+144.000 -1.107168E-01
+153.000 -8.020729E-02
+162.000 -4.231116E-02
+171.000 1.232710E-02
+180.000 2.417712E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn450.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn450.txt
new file mode 100644
index 00000000..98637153
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn450.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 450 MeV
+
+0.000 1.367025E-01
+9.000 1.122714E-01
+18.000 8.662692E-02
+27.000 6.091228E-02
+36.000 4.174587E-02
+45.000 4.201083E-02
+54.000 5.162929E-02
+63.000 5.380298E-02
+72.000 4.650260E-02
+81.000 3.238786E-02
+90.000 1.297390E-02
+99.000 -1.232324E-02
+108.000 -4.535995E-02
+117.000 -8.355656E-02
+126.000 -1.078231E-01
+135.000 -1.053352E-01
+144.000 -9.185201E-02
+153.000 -7.833220E-02
+162.000 -5.498934E-02
+171.000 2.454286E-03
+180.000 2.204275E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn50.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn50.txt
new file mode 100644
index 00000000..47d46638
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn50.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 50 MeV
+
+0.000 1.978645E-02
+9.000 2.269401E-02
+18.000 2.510030E-02
+27.000 2.592847E-02
+36.000 2.466795E-02
+45.000 2.296473E-02
+54.000 2.190575E-02
+63.000 2.149850E-02
+72.000 2.152463E-02
+81.000 2.163088E-02
+90.000 2.116427E-02
+99.000 1.936020E-02
+108.000 1.609120E-02
+117.000 1.212115E-02
+126.000 8.424758E-03
+135.000 6.057412E-03
+144.000 6.575790E-03
+153.000 9.935514E-03
+162.000 1.314628E-02
+171.000 1.131553E-02
+180.000 8.141905E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn500.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn500.txt
new file mode 100644
index 00000000..4c3dfd37
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn500.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 500 MeV
+
+0.000 6.043680E-02
+9.000 5.120076E-02
+18.000 4.142366E-02
+27.000 3.189063E-02
+36.000 2.560914E-02
+45.000 2.696261E-02
+54.000 3.249601E-02
+63.000 3.512655E-02
+72.000 3.284262E-02
+81.000 2.658953E-02
+90.000 1.719196E-02
+99.000 4.716840E-03
+108.000 -1.035137E-02
+117.000 -2.477915E-02
+126.000 -3.403832E-02
+135.000 -3.791124E-02
+144.000 -3.926891E-02
+153.000 -4.011173E-02
+162.000 -3.445630E-02
+171.000 -9.194725E-03
+180.000 5.039523E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn550.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn550.txt
new file mode 100644
index 00000000..7169c458
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn550.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 550 MeV
+
+0.000 6.693397E-03
+9.000 6.461601E-03
+18.000 6.263871E-03
+27.000 6.197615E-03
+36.000 6.381366E-03
+45.000 6.833300E-03
+54.000 7.322475E-03
+63.000 7.518960E-03
+72.000 7.285433E-03
+81.000 6.603968E-03
+90.000 5.404617E-03
+99.000 3.692591E-03
+108.000 1.747494E-03
+117.000 -1.058351E-04
+126.000 -1.801621E-03
+135.000 -3.509927E-03
+144.000 -5.579390E-03
+153.000 -8.520558E-03
+162.000 -1.132678E-02
+171.000 -9.454646E-03
+180.000 -6.528147E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn600.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn600.txt
new file mode 100644
index 00000000..f4d97a5a
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn600.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 600 MeV
+
+0.000 -4.879146E-02
+9.000 -4.569340E-02
+18.000 -4.208007E-02
+27.000 -3.710672E-02
+36.000 -2.992631E-02
+45.000 -2.126191E-02
+54.000 -1.352629E-02
+63.000 -8.146843E-03
+72.000 -4.876011E-03
+81.000 -2.930491E-03
+90.000 -1.663311E-03
+99.000 -7.358890E-04
+108.000 -3.971656E-05
+117.000 4.595257E-04
+126.000 7.668132E-04
+135.000 8.391047E-04
+144.000 5.358794E-04
+153.000 -5.336445E-04
+162.000 -2.901067E-03
+171.000 -5.094027E-03
+180.000 -6.224068E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn650.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn650.txt
new file mode 100644
index 00000000..646e7091
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn650.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 650 MeV
+
+0.000 -1.406993E-01
+9.000 -1.419182E-01
+18.000 -1.392877E-01
+27.000 -1.205964E-01
+36.000 -8.574028E-02
+45.000 -5.414525E-02
+54.000 -3.350095E-02
+63.000 -2.114432E-02
+72.000 -1.381243E-02
+81.000 -9.447341E-03
+90.000 -6.850931E-03
+99.000 -5.292841E-03
+108.000 -4.309395E-03
+117.000 -3.637403E-03
+126.000 -3.145619E-03
+135.000 -2.756621E-03
+144.000 -2.403419E-03
+153.000 -1.964476E-03
+162.000 -1.086268E-03
+171.000 2.816976E-04
+180.000 1.197937E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn700.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn700.txt
new file mode 100644
index 00000000..ed554261
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn700.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 700 MeV
+
+0.000 -1.411278E-01
+9.000 -1.566441E-01
+18.000 -1.700854E-01
+27.000 -1.295154E-01
+36.000 -8.076863E-02
+45.000 -5.589085E-02
+54.000 -4.470508E-02
+63.000 -4.034755E-02
+72.000 -3.977300E-02
+81.000 -4.141596E-02
+90.000 -4.392649E-02
+99.000 -4.554955E-02
+108.000 -4.467718E-02
+117.000 -4.120440E-02
+126.000 -3.624317E-02
+135.000 -3.059681E-02
+144.000 -2.411096E-02
+153.000 -1.542348E-02
+162.000 -2.134746E-03
+171.000 9.850498E-03
+180.000 1.352453E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn750.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn750.txt
new file mode 100644
index 00000000..5e5daa61
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn750.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 750 MeV
+
+0.000 -3.687636E-02
+9.000 -2.058245E-02
+18.000 2.805924E-03
+27.000 2.812325E-02
+36.000 3.129299E-02
+45.000 1.845935E-02
+54.000 -1.355019E-04
+63.000 -2.344208E-02
+72.000 -5.174205E-02
+81.000 -8.231618E-02
+90.000 -1.069940E-01
+99.000 -1.180685E-01
+108.000 -1.165992E-01
+117.000 -1.081788E-01
+126.000 -9.656163E-02
+135.000 -8.282449E-02
+144.000 -6.585798E-02
+153.000 -4.146441E-02
+162.000 -6.537663E-03
+171.000 1.701803E-02
+180.000 2.333889E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn800.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn800.txt
new file mode 100644
index 00000000..6004ae89
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn800.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 800 MeV
+
+0.000 -4.479143E-02
+9.000 -2.907750E-02
+18.000 3.245950E-03
+27.000 5.641598E-02
+36.000 9.533272E-02
+45.000 9.790452E-02
+54.000 7.990520E-02
+63.000 4.728440E-02
+72.000 -1.995234E-03
+81.000 -6.727567E-02
+90.000 -1.329196E-01
+99.000 -1.755913E-01
+108.000 -1.909969E-01
+117.000 -1.889517E-01
+126.000 -1.772815E-01
+135.000 -1.588265E-01
+144.000 -1.319698E-01
+153.000 -8.836374E-02
+162.000 -2.134418E-02
+171.000 2.596817E-02
+180.000 3.586750E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn850.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn850.txt
new file mode 100644
index 00000000..cec7c244
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn850.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 850 MeV
+
+0.000 -9.353558E-02
+9.000 -9.068339E-02
+18.000 -8.511753E-02
+27.000 -6.199695E-02
+36.000 -1.435670E-02
+45.000 3.200332E-02
+54.000 5.685777E-02
+63.000 6.235807E-02
+72.000 5.221557E-02
+81.000 2.676638E-02
+90.000 -1.577820E-02
+99.000 -7.664302E-02
+108.000 -1.506215E-01
+117.000 -2.199470E-01
+126.000 -2.628021E-01
+135.000 -2.718905E-01
+144.000 -2.512577E-01
+153.000 -1.963553E-01
+162.000 -8.443099E-02
+171.000 2.623649E-02
+180.000 5.395655E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn900.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn900.txt
new file mode 100644
index 00000000..0278d081
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn900.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 900 MeV
+
+0.000 -1.907519E-01
+9.000 -1.683285E-01
+18.000 -1.594634E-01
+27.000 -1.535420E-01
+36.000 -1.248767E-01
+45.000 -6.845934E-02
+54.000 -1.471043E-02
+63.000 2.422404E-02
+72.000 5.080986E-02
+81.000 6.773898E-02
+90.000 7.550218E-02
+99.000 7.255961E-02
+108.000 5.602317E-02
+117.000 2.406337E-02
+126.000 -1.973757E-02
+135.000 -6.616835E-02
+144.000 -1.081015E-01
+153.000 -1.443147E-01
+162.000 -1.490392E-01
+171.000 -5.793415E-02
+180.000 -3.675298E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn950.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn950.txt
new file mode 100644
index 00000000..16ea91a1
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pn/pn950.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 950 MeV
+
+0.000 -3.830556E-01
+9.000 -3.201773E-01
+18.000 -2.740874E-01
+27.000 -2.404097E-01
+36.000 -1.972146E-01
+45.000 -1.302100E-01
+54.000 -6.350320E-02
+63.000 -9.352521E-03
+72.000 3.553730E-02
+81.000 7.505859E-02
+90.000 1.102331E-01
+99.000 1.385092E-01
+108.000 1.541081E-01
+117.000 1.513489E-01
+126.000 1.294074E-01
+135.000 9.202277E-02
+144.000 4.163670E-02
+153.000 -2.587892E-02
+162.000 -9.960195E-02
+171.000 -9.976873E-02
+180.000 -6.777966E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp100.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp100.txt
new file mode 100644
index 00000000..56ad9dcf
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp100.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 100 MeV
+
+0.000 -5.438214E-02
+9.000 -2.874362E-02
+18.000 -1.290625E-02
+27.000 -6.628863E-03
+36.000 -8.837178E-03
+45.000 -1.982306E-02
+54.000 -3.174298E-02
+63.000 -2.454542E-02
+72.000 -8.775919E-03
+81.000 1.320521E-02
+90.000 3.283161E-02
+99.000 1.320521E-02
+108.000 -8.775919E-03
+117.000 -2.454542E-02
+126.000 -3.174298E-02
+135.000 -1.982306E-02
+144.000 -8.837178E-03
+153.000 -6.628863E-03
+162.000 -1.290625E-02
+171.000 -2.874362E-02
+180.000 -5.438214E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp1000.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp1000.txt
new file mode 100644
index 00000000..a45f92a2
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp1000.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 1000 MeV
+
+0.000 -7.039233E-02
+9.000 -1.570486E-02
+18.000 2.283369E-02
+27.000 7.118501E-02
+36.000 8.239310E-02
+45.000 5.773323E-02
+54.000 2.533395E-02
+63.000 -2.395760E-04
+72.000 -1.546802E-02
+81.000 -1.624653E-02
+90.000 -2.358167E-02
+99.000 -1.624653E-02
+108.000 -1.546802E-02
+117.000 -2.395760E-04
+126.000 2.533395E-02
+135.000 5.773323E-02
+144.000 8.239310E-02
+153.000 7.118501E-02
+162.000 2.283369E-02
+171.000 -1.570486E-02
+180.000 -7.039233E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp150.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp150.txt
new file mode 100644
index 00000000..d0a69668
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp150.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 150 MeV
+
+0.000 -6.703919E-02
+9.000 -3.773970E-02
+18.000 -1.914888E-02
+27.000 -7.435458E-03
+36.000 -5.180226E-03
+45.000 -1.679473E-02
+54.000 -3.241662E-02
+63.000 -2.878971E-02
+72.000 -1.669803E-02
+81.000 -9.097162E-04
+90.000 3.459281E-02
+99.000 -9.097162E-04
+108.000 -1.669803E-02
+117.000 -2.878971E-02
+126.000 -3.241662E-02
+135.000 -1.679473E-02
+144.000 -5.180226E-03
+153.000 -7.435458E-03
+162.000 -1.914888E-02
+171.000 -3.773970E-02
+180.000 -6.703919E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp200.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp200.txt
new file mode 100644
index 00000000..de0b23f6
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp200.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 200 MeV
+
+0.000 -6.191593E-02
+9.000 -3.412973E-02
+18.000 -1.619325E-02
+27.000 -5.390410E-03
+36.000 -3.268533E-03
+45.000 -1.121196E-02
+54.000 -2.801918E-02
+63.000 -2.888665E-02
+72.000 -1.944941E-02
+81.000 -7.733485E-03
+90.000 2.360937E-02
+99.000 -7.733485E-03
+108.000 -1.944941E-02
+117.000 -2.888665E-02
+126.000 -2.801918E-02
+135.000 -1.121196E-02
+144.000 -3.268533E-03
+153.000 -5.390410E-03
+162.000 -1.619325E-02
+171.000 -3.412973E-02
+180.000 -6.191593E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp250.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp250.txt
new file mode 100644
index 00000000..f6a6289e
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp250.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 250 MeV
+
+0.000 -4.690073E-02
+9.000 -2.365902E-02
+18.000 -7.381377E-03
+27.000 2.127892E-03
+36.000 -3.697590E-04
+45.000 -5.825744E-03
+54.000 -2.147549E-02
+63.000 -2.696144E-02
+72.000 -2.030246E-02
+81.000 -1.331080E-02
+90.000 8.123130E-03
+99.000 -1.331080E-02
+108.000 -2.030246E-02
+117.000 -2.696144E-02
+126.000 -2.147549E-02
+135.000 -5.825744E-03
+144.000 -3.697590E-04
+153.000 2.127892E-03
+162.000 -7.381377E-03
+171.000 -2.365902E-02
+180.000 -4.690073E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp300.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp300.txt
new file mode 100644
index 00000000..eaef8186
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp300.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 300 MeV
+
+0.000 -2.921444E-02
+9.000 -1.144526E-02
+18.000 3.606536E-03
+27.000 1.157641E-02
+36.000 4.270109E-03
+45.000 -1.777996E-03
+54.000 -1.379866E-02
+63.000 -2.328979E-02
+72.000 -1.976132E-02
+81.000 -1.590065E-02
+90.000 -8.395259E-03
+99.000 -1.590065E-02
+108.000 -1.976132E-02
+117.000 -2.328979E-02
+126.000 -1.379866E-02
+135.000 -1.777996E-03
+144.000 4.270109E-03
+153.000 1.157641E-02
+162.000 3.606536E-03
+171.000 -1.144526E-02
+180.000 -2.921444E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp350.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp350.txt
new file mode 100644
index 00000000..c0ed91aa
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp350.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 350 MeV
+
+0.000 -1.493964E-02
+9.000 -1.867924E-03
+18.000 1.261303E-02
+27.000 1.603856E-02
+36.000 7.771225E-03
+45.000 1.187316E-03
+54.000 -6.570022E-03
+63.000 -1.724673E-02
+72.000 -1.729149E-02
+81.000 -1.441848E-02
+90.000 -1.834995E-02
+99.000 -1.441848E-02
+108.000 -1.729149E-02
+117.000 -1.724673E-02
+126.000 -6.570022E-03
+135.000 1.187316E-03
+144.000 7.771225E-03
+153.000 1.603856E-02
+162.000 1.261303E-02
+171.000 -1.867924E-03
+180.000 -1.493964E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp400.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp400.txt
new file mode 100644
index 00000000..078cd784
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp400.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 400 MeV
+
+0.000 -8.113041E-03
+9.000 1.620048E-03
+18.000 1.233552E-02
+27.000 1.129459E-02
+36.000 6.868529E-03
+45.000 3.000600E-03
+54.000 -1.843847E-03
+63.000 -9.517946E-03
+72.000 -1.173997E-02
+81.000 -1.088280E-02
+90.000 -1.648313E-02
+99.000 -1.088280E-02
+108.000 -1.173997E-02
+117.000 -9.517946E-03
+126.000 -1.843847E-03
+135.000 3.000600E-03
+144.000 6.868529E-03
+153.000 1.129459E-02
+162.000 1.233552E-02
+171.000 1.620048E-03
+180.000 -8.113041E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp450.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp450.txt
new file mode 100644
index 00000000..61f66e8c
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp450.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 450 MeV
+
+0.000 -1.385008E-02
+9.000 -3.183607E-03
+18.000 2.868250E-03
+27.000 4.907871E-03
+36.000 5.973506E-03
+45.000 4.593129E-03
+54.000 -2.073178E-04
+63.000 -4.604465E-03
+72.000 -5.972503E-03
+81.000 -7.314306E-03
+90.000 -8.153671E-03
+99.000 -7.314306E-03
+108.000 -5.972503E-03
+117.000 -4.604465E-03
+126.000 -2.073178E-04
+135.000 4.593129E-03
+144.000 5.973506E-03
+153.000 4.907871E-03
+162.000 2.868250E-03
+171.000 -3.183607E-03
+180.000 -1.385008E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp50.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp50.txt
new file mode 100644
index 00000000..ca3a064b
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp50.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 50 MeV
+
+0.000 -8.735746E-02
+9.000 -5.591845E-02
+18.000 -3.277326E-02
+27.000 -1.087574E-02
+36.000 -3.766244E-04
+45.000 1.741992E-03
+54.000 3.182986E-03
+63.000 9.637908E-03
+72.000 2.779574E-02
+81.000 5.997252E-02
+90.000 5.582546E-02
+99.000 5.997252E-02
+108.000 2.779574E-02
+117.000 9.637908E-03
+126.000 3.182986E-03
+135.000 1.741992E-03
+144.000 -3.766244E-04
+153.000 -1.087574E-02
+162.000 -3.277326E-02
+171.000 -5.591845E-02
+180.000 -8.735746E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp500.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp500.txt
new file mode 100644
index 00000000..8cef11ed
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp500.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 500 MeV
+
+0.000 -6.752734E-02
+9.000 -2.980792E-02
+18.000 -5.389560E-03
+27.000 -5.145525E-03
+36.000 2.138559E-04
+45.000 3.534035E-04
+54.000 -2.603536E-03
+63.000 -2.554236E-03
+72.000 -3.224935E-03
+81.000 -3.442686E-03
+90.000 -2.115995E-03
+99.000 -3.442686E-03
+108.000 -3.224935E-03
+117.000 -2.554236E-03
+126.000 -2.603536E-03
+135.000 3.534035E-04
+144.000 2.138559E-04
+153.000 -5.145525E-03
+162.000 -5.389560E-03
+171.000 -2.980792E-02
+180.000 -6.752734E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp550.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp550.txt
new file mode 100644
index 00000000..c3dd7308
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp550.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 550 MeV
+
+0.000 -1.401243E-01
+9.000 -7.181407E-02
+18.000 -1.463179E-02
+27.000 -3.214069E-02
+36.000 -2.404572E-02
+45.000 -1.540281E-02
+54.000 -6.844796E-03
+63.000 -1.844543E-03
+72.000 -1.329538E-03
+81.000 7.241701E-04
+90.000 6.561734E-03
+99.000 7.241701E-04
+108.000 -1.329538E-03
+117.000 -1.844543E-03
+126.000 -6.844796E-03
+135.000 -1.540281E-02
+144.000 -2.404572E-02
+153.000 -3.214069E-02
+162.000 -1.463179E-02
+171.000 -7.181407E-02
+180.000 -1.401243E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp600.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp600.txt
new file mode 100644
index 00000000..62655916
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp600.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 600 MeV
+
+0.000 -1.765683E-01
+9.000 -9.736475E-02
+18.000 -1.995330E-02
+27.000 -4.417986E-02
+36.000 -3.576177E-02
+45.000 -2.309611E-02
+54.000 -8.699183E-03
+63.000 -1.440775E-03
+72.000 6.500366E-04
+81.000 3.800682E-03
+90.000 1.383934E-02
+99.000 3.800682E-03
+108.000 6.500366E-04
+117.000 -1.440775E-03
+126.000 -8.699183E-03
+135.000 -2.309611E-02
+144.000 -3.576177E-02
+153.000 -4.417986E-02
+162.000 -1.995330E-02
+171.000 -9.736475E-02
+180.000 -1.765683E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp650.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp650.txt
new file mode 100644
index 00000000..2db19cd7
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp650.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 650 MeV
+
+0.000 -1.758085E-01
+9.000 -9.896521E-02
+18.000 -2.007438E-02
+27.000 -4.040042E-02
+36.000 -3.181056E-02
+45.000 -1.902816E-02
+54.000 -5.976266E-03
+63.000 -2.571507E-04
+72.000 1.909983E-03
+81.000 4.890822E-03
+90.000 1.418174E-02
+99.000 4.890822E-03
+108.000 1.909983E-03
+117.000 -2.571507E-04
+126.000 -5.976266E-03
+135.000 -1.902816E-02
+144.000 -3.181056E-02
+153.000 -4.040042E-02
+162.000 -2.007438E-02
+171.000 -9.896521E-02
+180.000 -1.758085E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp700.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp700.txt
new file mode 100644
index 00000000..7e2a4703
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp700.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 700 MeV
+
+0.000 -1.408303E-01
+9.000 -7.894550E-02
+18.000 -1.546738E-02
+27.000 -2.243830E-02
+36.000 -1.294311E-02
+45.000 -2.056037E-03
+54.000 3.479127E-03
+63.000 2.594012E-03
+72.000 2.438918E-03
+81.000 3.933481E-03
+90.000 8.090721E-03
+99.000 3.933481E-03
+108.000 2.438918E-03
+117.000 2.594012E-03
+126.000 3.479127E-03
+135.000 -2.056037E-03
+144.000 -1.294311E-02
+153.000 -2.243830E-02
+162.000 -1.546738E-02
+171.000 -7.894550E-02
+180.000 -1.408303E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp750.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp750.txt
new file mode 100644
index 00000000..69e4878f
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp750.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 750 MeV
+
+0.000 -7.964173E-02
+9.000 -4.441519E-02
+18.000 -8.059392E-03
+27.000 -8.375688E-04
+36.000 9.257619E-03
+45.000 1.791174E-02
+54.000 1.541416E-02
+63.000 7.432276E-03
+72.000 3.228285E-03
+81.000 1.637222E-03
+90.000 1.391066E-03
+99.000 1.637222E-03
+108.000 3.228285E-03
+117.000 7.432276E-03
+126.000 1.541416E-02
+135.000 1.791174E-02
+144.000 9.257619E-03
+153.000 -8.375688E-04
+162.000 -8.059392E-03
+171.000 -4.441519E-02
+180.000 -7.964173E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp800.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp800.txt
new file mode 100644
index 00000000..a16b0692
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp800.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 800 MeV
+
+0.000 -2.073888E-02
+9.000 -9.056161E-03
+18.000 4.422773E-03
+27.000 8.251210E-03
+36.000 1.123418E-02
+45.000 1.697799E-02
+54.000 1.792133E-02
+63.000 1.092769E-02
+72.000 3.508168E-03
+81.000 -1.646036E-03
+90.000 -6.031435E-03
+99.000 -1.646036E-03
+108.000 3.508168E-03
+117.000 1.092769E-02
+126.000 1.792133E-02
+135.000 1.697799E-02
+144.000 1.123418E-02
+153.000 8.251210E-03
+162.000 4.422773E-03
+171.000 -9.056161E-03
+180.000 -2.073888E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp850.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp850.txt
new file mode 100644
index 00000000..3afd41d2
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp850.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 850 MeV
+
+0.000 -1.732054E-02
+9.000 3.178377E-03
+18.000 2.034535E-02
+27.000 3.166467E-02
+36.000 3.149400E-02
+45.000 2.157440E-02
+54.000 1.232304E-02
+63.000 1.013178E-02
+72.000 1.503249E-03
+81.000 -6.038933E-03
+90.000 -1.514029E-02
+99.000 -6.038933E-03
+108.000 1.503249E-03
+117.000 1.013178E-02
+126.000 1.232304E-02
+135.000 2.157440E-02
+144.000 3.149400E-02
+153.000 3.166467E-02
+162.000 2.034535E-02
+171.000 3.178377E-03
+180.000 -1.732054E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp900.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp900.txt
new file mode 100644
index 00000000..03d361c0
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp900.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 900 MeV
+
+0.000 -2.672941E-02
+9.000 1.159795E-02
+18.000 3.400614E-02
+27.000 6.630997E-02
+36.000 7.399158E-02
+45.000 6.089750E-02
+54.000 2.648046E-02
+63.000 6.631451E-03
+72.000 -1.729149E-03
+81.000 -1.080441E-02
+90.000 -1.951025E-02
+99.000 -1.080441E-02
+108.000 -1.729149E-03
+117.000 6.631451E-03
+126.000 2.648046E-02
+135.000 6.089750E-02
+144.000 7.399158E-02
+153.000 6.630997E-02
+162.000 3.400614E-02
+171.000 1.159795E-02
+180.000 -2.672941E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp950.txt b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp950.txt
new file mode 100644
index 00000000..422f14bc
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ1/pp/pp950.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 950 MeV
+
+0.000 -6.603910E-02
+9.000 3.120169E-03
+18.000 4.445783E-02
+27.000 1.023764E-01
+36.000 1.155962E-01
+45.000 8.570857E-02
+54.000 3.890686E-02
+63.000 8.043250E-03
+72.000 -5.140429E-03
+81.000 -1.398908E-02
+90.000 -1.972096E-02
+99.000 -1.398908E-02
+108.000 -5.140429E-03
+117.000 8.043250E-03
+126.000 3.890686E-02
+135.000 8.570857E-02
+144.000 1.155962E-01
+153.000 1.023764E-01
+162.000 4.445783E-02
+171.000 3.120169E-03
+180.000 -6.603910E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn100.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn100.txt
new file mode 100644
index 00000000..5877d727
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn100.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 100 MeV
+
+0.000 8.610976E-02
+9.000 4.861696E-02
+18.000 1.775035E-02
+27.000 -3.793824E-03
+36.000 -1.228274E-02
+45.000 -1.553811E-02
+54.000 -2.157335E-02
+63.000 -2.609071E-02
+72.000 -2.650118E-02
+81.000 -2.218617E-02
+90.000 -1.328003E-02
+99.000 -1.321605E-03
+108.000 9.535525E-03
+117.000 1.456096E-02
+126.000 1.400707E-02
+135.000 1.631731E-02
+144.000 2.796768E-02
+153.000 4.139464E-02
+162.000 3.440084E-02
+171.000 -8.874714E-03
+180.000 -5.561695E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn1000.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn1000.txt
new file mode 100644
index 00000000..1a727110
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn1000.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 1000 MeV
+
+0.000 -5.882414E-01
+9.000 -4.205254E-01
+18.000 -2.876968E-01
+27.000 -1.830131E-01
+36.000 -9.893600E-02
+45.000 -3.754657E-02
+54.000 -2.560495E-03
+63.000 1.199148E-02
+72.000 1.120406E-02
+81.000 -3.596584E-03
+90.000 -3.345059E-02
+99.000 -7.869501E-02
+108.000 -1.344422E-01
+117.000 -1.893345E-01
+126.000 -2.304166E-01
+135.000 -2.469500E-01
+144.000 -2.259765E-01
+153.000 -1.360810E-01
+162.000 6.457941E-02
+171.000 2.170588E-01
+180.000 2.612169E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn150.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn150.txt
new file mode 100644
index 00000000..80f90858
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn150.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 150 MeV
+
+0.000 1.124174E-01
+9.000 8.267792E-02
+18.000 5.639542E-02
+27.000 3.267745E-02
+36.000 1.365421E-02
+45.000 3.234316E-03
+54.000 -1.025683E-03
+63.000 -2.962888E-03
+72.000 -3.637268E-03
+81.000 -3.187876E-03
+90.000 -1.846886E-03
+99.000 9.005224E-06
+108.000 2.451750E-03
+117.000 6.998104E-03
+126.000 1.397653E-02
+135.000 2.114718E-02
+144.000 2.758715E-02
+153.000 3.340135E-02
+162.000 3.237487E-02
+171.000 9.208562E-03
+180.000 -4.981637E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn200.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn200.txt
new file mode 100644
index 00000000..27598339
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn200.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 200 MeV
+
+0.000 9.412128E-02
+9.000 7.692365E-02
+18.000 6.190585E-02
+27.000 4.737633E-02
+36.000 3.248469E-02
+45.000 2.029120E-02
+54.000 1.258300E-02
+63.000 8.021952E-03
+72.000 5.338726E-03
+81.000 3.937700E-03
+90.000 3.646877E-03
+99.000 4.665459E-03
+108.000 7.564256E-03
+117.000 1.262591E-02
+126.000 1.822085E-02
+135.000 2.225252E-02
+144.000 2.504625E-02
+153.000 2.789213E-02
+162.000 2.874840E-02
+171.000 1.047911E-02
+180.000 1.537428E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn250.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn250.txt
new file mode 100644
index 00000000..e9c56081
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn250.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 250 MeV
+
+0.000 6.274479E-02
+9.000 5.215957E-02
+18.000 4.406608E-02
+27.000 3.863912E-02
+36.000 3.476622E-02
+45.000 3.048726E-02
+54.000 2.590675E-02
+63.000 2.203042E-02
+72.000 1.928745E-02
+81.000 1.780754E-02
+90.000 1.776467E-02
+99.000 1.951504E-02
+108.000 2.348731E-02
+117.000 2.920102E-02
+126.000 3.348658E-02
+135.000 3.364617E-02
+144.000 3.168438E-02
+153.000 2.993082E-02
+162.000 2.667582E-02
+171.000 8.012348E-03
+180.000 -1.740014E-05
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn300.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn300.txt
new file mode 100644
index 00000000..d845361f
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn300.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 300 MeV
+
+0.000 6.801242E-02
+9.000 5.367851E-02
+18.000 4.069754E-02
+27.000 3.083312E-02
+36.000 2.800498E-02
+45.000 3.086888E-02
+54.000 3.310430E-02
+63.000 3.342512E-02
+72.000 3.332644E-02
+81.000 3.416471E-02
+90.000 3.694917E-02
+99.000 4.269105E-02
+108.000 5.242937E-02
+117.000 6.546674E-02
+126.000 7.355602E-02
+135.000 6.665931E-02
+144.000 5.213127E-02
+153.000 3.745730E-02
+162.000 1.860664E-02
+171.000 -6.976248E-03
+180.000 -9.419185E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn350.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn350.txt
new file mode 100644
index 00000000..7d2002e2
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn350.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 350 MeV
+
+0.000 7.836366E-02
+9.000 6.023732E-02
+18.000 4.359172E-02
+27.000 2.921142E-02
+36.000 2.148061E-02
+45.000 2.461408E-02
+54.000 3.075858E-02
+63.000 3.511110E-02
+72.000 3.863612E-02
+81.000 4.321863E-02
+90.000 5.051366E-02
+99.000 6.228190E-02
+108.000 8.059312E-02
+117.000 1.050674E-01
+126.000 1.199382E-01
+135.000 1.032740E-01
+144.000 7.313754E-02
+153.000 4.370894E-02
+162.000 5.383522E-03
+171.000 -3.150135E-02
+180.000 -2.849620E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn400.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn400.txt
new file mode 100644
index 00000000..d0eeeeef
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn400.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 400 MeV
+
+0.000 6.520695E-02
+9.000 4.921926E-02
+18.000 3.507028E-02
+27.000 2.294802E-02
+36.000 1.521360E-02
+45.000 1.648861E-02
+54.000 2.240526E-02
+63.000 2.803945E-02
+72.000 3.359426E-02
+81.000 4.059106E-02
+90.000 5.064285E-02
+99.000 6.563319E-02
+108.000 8.763851E-02
+117.000 1.146459E-01
+126.000 1.262329E-01
+135.000 1.050108E-01
+144.000 7.359374E-02
+153.000 4.242866E-02
+162.000 -2.781618E-03
+171.000 -4.422004E-02
+180.000 -4.102208E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn450.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn450.txt
new file mode 100644
index 00000000..0123331e
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn450.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 450 MeV
+
+0.000 3.097808E-02
+9.000 2.341760E-02
+18.000 1.693413E-02
+27.000 1.150346E-02
+36.000 7.980313E-03
+45.000 8.682676E-03
+54.000 1.256576E-02
+63.000 1.712286E-02
+72.000 2.207868E-02
+81.000 2.813629E-02
+90.000 3.626201E-02
+99.000 4.758789E-02
+108.000 6.278389E-02
+117.000 7.805898E-02
+126.000 8.023192E-02
+135.000 6.624713E-02
+144.000 4.856885E-02
+153.000 3.046619E-02
+162.000 5.058230E-04
+171.000 -2.992471E-02
+180.000 -3.017336E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn50.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn50.txt
new file mode 100644
index 00000000..38af5f3d
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn50.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 50 MeV
+
+0.000 5.757900E-02
+9.000 1.355799E-02
+18.000 -2.138233E-02
+27.000 -4.547683E-02
+36.000 -5.615381E-02
+45.000 -5.774373E-02
+54.000 -5.529580E-02
+63.000 -5.028686E-02
+72.000 -4.257588E-02
+81.000 -3.138742E-02
+90.000 -1.614616E-02
+99.000 1.613037E-03
+108.000 1.738727E-02
+117.000 2.676030E-02
+126.000 2.872386E-02
+135.000 2.758008E-02
+144.000 3.510512E-02
+153.000 5.080321E-02
+162.000 3.343801E-02
+171.000 -5.333277E-02
+180.000 -1.566451E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn500.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn500.txt
new file mode 100644
index 00000000..dced559c
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn500.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 500 MeV
+
+0.000 -5.781490E-03
+9.000 -3.503081E-03
+18.000 -1.675935E-03
+27.000 -3.519561E-04
+36.000 5.364702E-04
+45.000 1.543445E-03
+54.000 3.277704E-03
+63.000 5.534927E-03
+72.000 7.882754E-03
+81.000 1.017317E-02
+90.000 1.243914E-02
+99.000 1.459986E-02
+108.000 1.608610E-02
+117.000 1.588443E-02
+126.000 1.396529E-02
+135.000 1.168417E-02
+144.000 1.012805E-02
+153.000 9.783102E-03
+162.000 9.852116E-03
+171.000 5.808378E-03
+180.000 2.987136E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn550.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn550.txt
new file mode 100644
index 00000000..338790ab
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn550.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 550 MeV
+
+0.000 -2.288460E-02
+9.000 -1.740896E-02
+18.000 -1.312538E-02
+27.000 -9.954494E-03
+36.000 -7.755889E-03
+45.000 -6.263252E-03
+54.000 -5.185006E-03
+63.000 -4.470061E-03
+72.000 -4.300645E-03
+81.000 -4.820992E-03
+90.000 -5.941191E-03
+99.000 -7.247117E-03
+108.000 -8.223660E-03
+117.000 -8.640714E-03
+126.000 -8.478017E-03
+135.000 -7.606748E-03
+144.000 -5.479944E-03
+153.000 -4.337095E-04
+162.000 1.001785E-02
+171.000 1.841344E-02
+180.000 2.116769E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn600.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn600.txt
new file mode 100644
index 00000000..05145532
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn600.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 600 MeV
+
+0.000 -6.926572E-02
+9.000 -5.869737E-02
+18.000 -4.914260E-02
+27.000 -3.982759E-02
+36.000 -3.014095E-02
+45.000 -2.081862E-02
+54.000 -1.360393E-02
+63.000 -9.098259E-03
+72.000 -6.690055E-03
+81.000 -5.597782E-03
+90.000 -5.223804E-03
+99.000 -5.161824E-03
+108.000 -5.210041E-03
+117.000 -5.270483E-03
+126.000 -5.214974E-03
+135.000 -4.820191E-03
+144.000 -3.619219E-03
+153.000 -4.041146E-04
+162.000 6.724626E-03
+171.000 1.393412E-02
+180.000 1.804904E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn650.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn650.txt
new file mode 100644
index 00000000..cbc7f2fa
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn650.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 650 MeV
+
+0.000 -8.701546E-02
+9.000 -9.796921E-02
+18.000 -1.064220E-01
+27.000 -1.011089E-01
+36.000 -7.816348E-02
+45.000 -5.312718E-02
+54.000 -3.496379E-02
+63.000 -2.314208E-02
+72.000 -1.557803E-02
+81.000 -1.073722E-02
+90.000 -7.618994E-03
+99.000 -5.530215E-03
+108.000 -3.980988E-03
+117.000 -2.677163E-03
+126.000 -1.458151E-03
+135.000 -2.030543E-04
+144.000 1.235676E-03
+153.000 3.088978E-03
+162.000 5.229149E-03
+171.000 5.502876E-03
+180.000 4.277429E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn700.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn700.txt
new file mode 100644
index 00000000..13330852
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn700.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 700 MeV
+
+0.000 7.452105E-02
+9.000 -2.175730E-03
+18.000 -1.090760E-01
+27.000 -1.664462E-01
+36.000 -1.471292E-01
+45.000 -1.183599E-01
+54.000 -9.446553E-02
+63.000 -7.488466E-02
+72.000 -5.787311E-02
+81.000 -4.187587E-02
+90.000 -2.576052E-02
+99.000 -9.509116E-03
+108.000 5.155398E-03
+117.000 1.605211E-02
+126.000 2.251583E-02
+135.000 2.506806E-02
+144.000 2.398941E-02
+153.000 1.811391E-02
+162.000 4.194617E-03
+171.000 -1.146510E-02
+180.000 -1.781508E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn750.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn750.txt
new file mode 100644
index 00000000..1826aa0f
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn750.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 750 MeV
+
+0.000 1.440325E-01
+9.000 9.432153E-02
+18.000 5.100463E-03
+27.000 -1.270654E-01
+36.000 -1.977232E-01
+45.000 -2.033930E-01
+54.000 -1.897403E-01
+63.000 -1.674500E-01
+72.000 -1.350387E-01
+81.000 -8.942927E-02
+90.000 -3.443419E-02
+99.000 1.616946E-02
+108.000 5.144737E-02
+117.000 7.090748E-02
+126.000 7.829026E-02
+135.000 7.634764E-02
+144.000 6.515290E-02
+153.000 4.046811E-02
+162.000 -3.469644E-04
+171.000 -2.810249E-02
+180.000 -3.554403E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn800.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn800.txt
new file mode 100644
index 00000000..318d0656
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn800.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 800 MeV
+
+0.000 8.970325E-02
+9.000 6.196044E-02
+18.000 -1.424101E-03
+27.000 -1.170416E-01
+36.000 -2.191184E-01
+45.000 -2.546891E-01
+54.000 -2.545531E-01
+63.000 -2.346044E-01
+72.000 -1.921715E-01
+81.000 -1.197602E-01
+90.000 -2.456649E-02
+99.000 6.219406E-02
+108.000 1.184417E-01
+117.000 1.460052E-01
+126.000 1.531082E-01
+135.000 1.446121E-01
+144.000 1.199814E-01
+153.000 7.093794E-02
+162.000 -4.464175E-03
+171.000 -5.097191E-02
+180.000 -5.547876E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn850.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn850.txt
new file mode 100644
index 00000000..547a7b50
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn850.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 850 MeV
+
+0.000 5.321237E-05
+9.000 -2.176067E-02
+18.000 -5.918507E-02
+27.000 -1.162034E-01
+36.000 -1.678254E-01
+45.000 -1.802499E-01
+54.000 -1.651954E-01
+63.000 -1.393268E-01
+72.000 -1.064038E-01
+81.000 -6.489266E-02
+90.000 -1.200834E-02
+99.000 5.346145E-02
+108.000 1.258302E-01
+117.000 1.876999E-01
+126.000 2.193180E-01
+135.000 2.154571E-01
+144.000 1.805244E-01
+153.000 1.108611E-01
+162.000 -1.213864E-03
+171.000 -7.887129E-02
+180.000 -7.698183E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn900.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn900.txt
new file mode 100644
index 00000000..9c745701
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn900.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 900 MeV
+
+0.000 -1.052972E-01
+9.000 -9.965121E-02
+18.000 -1.039856E-01
+27.000 -1.152816E-01
+36.000 -1.172100E-01
+45.000 -9.703755E-02
+54.000 -7.052739E-02
+63.000 -4.942511E-02
+72.000 -3.441340E-02
+81.000 -2.405434E-02
+90.000 -1.730677E-02
+99.000 -1.361427E-02
+108.000 -1.256975E-02
+117.000 -1.337688E-02
+126.000 -1.436312E-02
+135.000 -1.324228E-02
+144.000 -7.569066E-03
+153.000 6.860630E-03
+162.000 3.558570E-02
+171.000 4.304790E-02
+180.000 2.965428E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn950.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn950.txt
new file mode 100644
index 00000000..c9087358
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pn/pn950.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 950 MeV
+
+0.000 -2.883570E-01
+9.000 -2.223969E-01
+18.000 -1.733749E-01
+27.000 -1.362305E-01
+36.000 -9.814779E-02
+45.000 -5.584826E-02
+54.000 -2.398618E-02
+63.000 -6.915543E-03
+72.000 -2.276460E-03
+81.000 -8.820359E-03
+90.000 -2.669161E-02
+99.000 -5.560078E-02
+108.000 -9.207393E-02
+117.000 -1.279418E-01
+126.000 -1.532294E-01
+135.000 -1.603465E-01
+144.000 -1.422357E-01
+153.000 -8.127119E-02
+162.000 4.894533E-02
+171.000 1.365716E-01
+180.000 1.380880E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp100.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp100.txt
new file mode 100644
index 00000000..c1fef728
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp100.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 100 MeV
+
+0.000 -2.228339E-01
+9.000 -1.128519E-01
+18.000 -3.907073E-02
+27.000 9.732397E-04
+36.000 3.525442E-02
+45.000 5.420757E-02
+54.000 2.213817E-02
+63.000 -1.867379E-02
+72.000 -2.701103E-02
+81.000 -4.622140E-03
+90.000 3.180945E-02
+99.000 -4.622140E-03
+108.000 -2.701103E-02
+117.000 -1.867379E-02
+126.000 2.213817E-02
+135.000 5.420757E-02
+144.000 3.525442E-02
+153.000 9.732397E-04
+162.000 -3.907073E-02
+171.000 -1.128519E-01
+180.000 -2.228339E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp1000.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp1000.txt
new file mode 100644
index 00000000..2ab01a5b
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp1000.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 1000 MeV
+
+0.000 -9.183487E-02
+9.000 -2.152025E-02
+18.000 2.320049E-02
+27.000 7.920321E-02
+36.000 8.590063E-02
+45.000 4.800028E-02
+54.000 1.769261E-03
+63.000 -3.549040E-02
+72.000 -5.672110E-02
+81.000 -5.065475E-02
+90.000 -7.933391E-02
+99.000 -5.065475E-02
+108.000 -5.672110E-02
+117.000 -3.549040E-02
+126.000 1.769261E-03
+135.000 4.800028E-02
+144.000 8.590063E-02
+153.000 7.920321E-02
+162.000 2.320049E-02
+171.000 -2.152025E-02
+180.000 -9.183487E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp150.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp150.txt
new file mode 100644
index 00000000..2c5515e3
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp150.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 150 MeV
+
+0.000 -3.761709E-01
+9.000 -2.179883E-01
+18.000 -1.000746E-01
+27.000 -1.003496E-02
+36.000 1.876261E-02
+45.000 4.091192E-02
+54.000 2.219869E-02
+63.000 -1.202739E-02
+72.000 -1.847325E-02
+81.000 -1.393455E-03
+90.000 6.539802E-02
+99.000 -1.393455E-03
+108.000 -1.847325E-02
+117.000 -1.202739E-02
+126.000 2.219869E-02
+135.000 4.091192E-02
+144.000 1.876261E-02
+153.000 -1.003496E-02
+162.000 -1.000746E-01
+171.000 -2.179883E-01
+180.000 -3.761709E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp200.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp200.txt
new file mode 100644
index 00000000..91ef6cdd
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp200.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 200 MeV
+
+0.000 -3.980989E-01
+9.000 -2.480127E-01
+18.000 -1.332263E-01
+27.000 -2.538738E-02
+36.000 1.418018E-02
+45.000 2.800246E-02
+54.000 2.135126E-02
+63.000 -5.064961E-03
+72.000 -1.154091E-02
+81.000 1.083587E-03
+90.000 7.764294E-02
+99.000 1.083587E-03
+108.000 -1.154091E-02
+117.000 -5.064961E-03
+126.000 2.135126E-02
+135.000 2.800246E-02
+144.000 1.418018E-02
+153.000 -2.538738E-02
+162.000 -1.332263E-01
+171.000 -2.480127E-01
+180.000 -3.980989E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp250.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp250.txt
new file mode 100644
index 00000000..20272809
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp250.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 250 MeV
+
+0.000 -3.227234E-01
+9.000 -2.167059E-01
+18.000 -1.360574E-01
+27.000 -3.969228E-02
+36.000 9.347635E-03
+45.000 1.650238E-02
+54.000 1.942440E-02
+63.000 2.924990E-03
+72.000 -3.519229E-03
+81.000 4.828300E-03
+90.000 7.092247E-02
+99.000 4.828300E-03
+108.000 -3.519229E-03
+117.000 2.924990E-03
+126.000 1.942440E-02
+135.000 1.650238E-02
+144.000 9.347635E-03
+153.000 -3.969228E-02
+162.000 -1.360574E-01
+171.000 -2.167059E-01
+180.000 -3.227234E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp300.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp300.txt
new file mode 100644
index 00000000..5c3e8133
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp300.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 300 MeV
+
+0.000 -1.996951E-01
+9.000 -1.494173E-01
+18.000 -1.159802E-01
+27.000 -4.751714E-02
+36.000 -3.467622E-04
+45.000 7.812976E-03
+54.000 1.589835E-02
+63.000 1.157498E-02
+72.000 5.632078E-03
+81.000 8.469885E-03
+90.000 4.571040E-02
+99.000 8.469885E-03
+108.000 5.632078E-03
+117.000 1.157498E-02
+126.000 1.589835E-02
+135.000 7.812976E-03
+144.000 -3.467622E-04
+153.000 -4.751714E-02
+162.000 -1.159802E-01
+171.000 -1.494173E-01
+180.000 -1.996951E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp350.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp350.txt
new file mode 100644
index 00000000..412a8ac2
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp350.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 350 MeV
+
+0.000 -7.773657E-02
+9.000 -7.197340E-02
+18.000 -7.940584E-02
+27.000 -4.245180E-02
+36.000 -1.087282E-02
+45.000 9.288652E-04
+54.000 1.076203E-02
+63.000 1.846299E-02
+72.000 1.437977E-02
+81.000 9.914988E-03
+90.000 1.120748E-02
+99.000 9.914988E-03
+108.000 1.437977E-02
+117.000 1.846299E-02
+126.000 1.076203E-02
+135.000 9.288652E-04
+144.000 -1.087282E-02
+153.000 -4.245180E-02
+162.000 -7.940584E-02
+171.000 -7.197340E-02
+180.000 -7.773657E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp400.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp400.txt
new file mode 100644
index 00000000..7a4f2b6d
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp400.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 400 MeV
+
+0.000 1.138698E-02
+9.000 -9.677549E-03
+18.000 -3.284909E-02
+27.000 -2.612103E-02
+36.000 -1.428433E-02
+45.000 -5.136930E-03
+54.000 5.304939E-03
+63.000 1.797397E-02
+72.000 1.709831E-02
+81.000 8.935616E-03
+90.000 -9.815615E-03
+99.000 8.935616E-03
+108.000 1.709831E-02
+117.000 1.797397E-02
+126.000 5.304939E-03
+135.000 -5.136930E-03
+144.000 -1.428433E-02
+153.000 -2.612103E-02
+162.000 -3.284909E-02
+171.000 -9.677549E-03
+180.000 1.138698E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp450.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp450.txt
new file mode 100644
index 00000000..606ab8eb
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp450.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 450 MeV
+
+0.000 7.563918E-02
+9.000 2.634242E-02
+18.000 -4.882212E-03
+27.000 -1.538280E-02
+36.000 -2.023925E-02
+45.000 -1.613629E-02
+54.000 -1.350395E-03
+63.000 1.054013E-02
+72.000 1.113616E-02
+81.000 6.406499E-03
+90.000 -1.095328E-02
+99.000 6.406499E-03
+108.000 1.113616E-02
+117.000 1.054013E-02
+126.000 -1.350395E-03
+135.000 -1.613629E-02
+144.000 -2.023925E-02
+153.000 -1.538280E-02
+162.000 -4.882212E-03
+171.000 2.634242E-02
+180.000 7.563918E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp50.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp50.txt
new file mode 100644
index 00000000..b1ffa466
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp50.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 50 MeV
+
+0.000 -1.124724E-02
+9.000 1.505623E-02
+18.000 3.975629E-02
+27.000 4.868486E-02
+36.000 3.540742E-02
+45.000 2.149782E-02
+54.000 4.785966E-03
+63.000 -7.121536E-03
+72.000 -1.224995E-02
+81.000 -6.490709E-03
+90.000 6.076259E-03
+99.000 -6.490709E-03
+108.000 -1.224995E-02
+117.000 -7.121536E-03
+126.000 4.785966E-03
+135.000 2.149782E-02
+144.000 3.540742E-02
+153.000 4.868486E-02
+162.000 3.975629E-02
+171.000 1.505623E-02
+180.000 -1.124724E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp500.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp500.txt
new file mode 100644
index 00000000..1e1e39b2
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp500.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 500 MeV
+
+0.000 1.751824E-01
+9.000 5.619238E-02
+18.000 1.049452E-03
+27.000 -3.306091E-02
+36.000 -5.557891E-02
+45.000 -4.838055E-02
+54.000 -1.696254E-02
+63.000 -1.792570E-05
+72.000 3.447855E-03
+81.000 2.134481E-03
+90.000 -7.360394E-03
+99.000 2.134481E-03
+108.000 3.447855E-03
+117.000 -1.792570E-05
+126.000 -1.696254E-02
+135.000 -4.838055E-02
+144.000 -5.557891E-02
+153.000 -3.306091E-02
+162.000 1.049452E-03
+171.000 5.619238E-02
+180.000 1.751824E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp550.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp550.txt
new file mode 100644
index 00000000..5c5c4a4e
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp550.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 550 MeV
+
+0.000 9.289774E-02
+9.000 3.487805E-02
+18.000 2.001669E-03
+27.000 -1.736434E-02
+36.000 -4.208051E-02
+45.000 -5.223000E-02
+54.000 -3.131076E-02
+63.000 -8.971257E-03
+72.000 -7.853482E-03
+81.000 -3.192930E-03
+90.000 1.131697E-03
+99.000 -3.192930E-03
+108.000 -7.853482E-03
+117.000 -8.971257E-03
+126.000 -3.131076E-02
+135.000 -5.223000E-02
+144.000 -4.208051E-02
+153.000 -1.736434E-02
+162.000 2.001669E-03
+171.000 3.487805E-02
+180.000 9.289774E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp600.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp600.txt
new file mode 100644
index 00000000..f5aa5749
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp600.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 600 MeV
+
+0.000 -6.684757E-02
+9.000 -1.375224E-02
+18.000 9.468507E-04
+27.000 2.289682E-03
+36.000 -1.478096E-02
+45.000 -4.171608E-02
+54.000 -4.103036E-02
+63.000 -1.712503E-02
+72.000 -1.870905E-02
+81.000 -7.512125E-03
+90.000 1.526500E-02
+99.000 -7.512125E-03
+108.000 -1.870905E-02
+117.000 -1.712503E-02
+126.000 -4.103036E-02
+135.000 -4.171608E-02
+144.000 -1.478096E-02
+153.000 2.289682E-03
+162.000 9.468507E-04
+171.000 -1.375224E-02
+180.000 -6.684757E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp650.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp650.txt
new file mode 100644
index 00000000..d4898763
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp650.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 650 MeV
+
+0.000 -1.678872E-01
+9.000 -4.543903E-02
+18.000 7.736589E-04
+27.000 1.506429E-02
+36.000 3.168474E-03
+45.000 -3.536457E-02
+54.000 -5.130008E-02
+63.000 -2.500479E-02
+72.000 -2.297026E-02
+81.000 -9.378264E-03
+90.000 2.548366E-02
+99.000 -9.378264E-03
+108.000 -2.297026E-02
+117.000 -2.500479E-02
+126.000 -5.130008E-02
+135.000 -3.536457E-02
+144.000 3.168474E-03
+153.000 1.506429E-02
+162.000 7.736589E-04
+171.000 -4.543903E-02
+180.000 -1.678872E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp700.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp700.txt
new file mode 100644
index 00000000..b4a578f2
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp700.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 700 MeV
+
+0.000 -1.913865E-01
+9.000 -5.249978E-02
+18.000 2.207471E-03
+27.000 2.143668E-02
+36.000 1.323673E-02
+45.000 -3.030405E-02
+54.000 -5.915443E-02
+63.000 -3.534255E-02
+72.000 -2.214566E-02
+81.000 -9.049153E-03
+90.000 2.638961E-02
+99.000 -9.049153E-03
+108.000 -2.214566E-02
+117.000 -3.534255E-02
+126.000 -5.915443E-02
+135.000 -3.030405E-02
+144.000 1.323673E-02
+153.000 2.143668E-02
+162.000 2.207471E-03
+171.000 -5.249978E-02
+180.000 -1.913865E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp750.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp750.txt
new file mode 100644
index 00000000..f6802d69
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp750.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 750 MeV
+
+0.000 -1.432088E-01
+9.000 -4.080553E-02
+18.000 5.355771E-03
+27.000 1.759563E-02
+36.000 1.424796E-02
+45.000 -1.930613E-02
+54.000 -5.120538E-02
+63.000 -4.378603E-02
+72.000 -2.660803E-02
+81.000 -8.373430E-03
+90.000 2.224676E-02
+99.000 -8.373430E-03
+108.000 -2.660803E-02
+117.000 -4.378603E-02
+126.000 -5.120538E-02
+135.000 -1.930613E-02
+144.000 1.424796E-02
+153.000 1.759563E-02
+162.000 5.355771E-03
+171.000 -4.080553E-02
+180.000 -1.432088E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp800.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp800.txt
new file mode 100644
index 00000000..1c4c22c9
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp800.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 800 MeV
+
+0.000 -5.128743E-02
+9.000 -1.626115E-02
+18.000 1.104403E-02
+27.000 1.153860E-02
+36.000 6.839390E-03
+45.000 -5.657164E-03
+54.000 -2.877051E-02
+63.000 -3.984010E-02
+72.000 -3.322849E-02
+81.000 -9.493632E-03
+90.000 2.261958E-02
+99.000 -9.493632E-03
+108.000 -3.322849E-02
+117.000 -3.984010E-02
+126.000 -2.877051E-02
+135.000 -5.657164E-03
+144.000 6.839390E-03
+153.000 1.153860E-02
+162.000 1.104403E-02
+171.000 -1.626115E-02
+180.000 -5.128743E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp850.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp850.txt
new file mode 100644
index 00000000..3284cc35
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp850.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 850 MeV
+
+0.000 -6.046707E-02
+9.000 -6.870010E-03
+18.000 1.676061E-02
+27.000 2.545722E-02
+36.000 1.492216E-02
+45.000 -1.489698E-03
+54.000 -1.151686E-02
+63.000 -2.755519E-02
+72.000 -3.319515E-02
+81.000 -1.359657E-02
+90.000 1.235716E-02
+99.000 -1.359657E-02
+108.000 -3.319515E-02
+117.000 -2.755519E-02
+126.000 -1.151686E-02
+135.000 -1.489698E-03
+144.000 1.492216E-02
+153.000 2.545722E-02
+162.000 1.676061E-02
+171.000 -6.870010E-03
+180.000 -6.046707E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp900.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp900.txt
new file mode 100644
index 00000000..fac92543
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp900.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 900 MeV
+
+0.000 -8.602614E-02
+9.000 -8.029834E-03
+18.000 2.184300E-02
+27.000 4.513844E-02
+36.000 3.646924E-02
+45.000 7.735899E-03
+54.000 -1.480566E-02
+63.000 -1.657477E-02
+72.000 -2.753367E-02
+81.000 -2.202662E-02
+90.000 -7.969622E-03
+99.000 -2.202662E-02
+108.000 -2.753367E-02
+117.000 -1.657477E-02
+126.000 -1.480566E-02
+135.000 7.735899E-03
+144.000 3.646924E-02
+153.000 4.513844E-02
+162.000 2.184300E-02
+171.000 -8.029834E-03
+180.000 -8.602614E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp950.txt b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp950.txt
new file mode 100644
index 00000000..7ee1e52b
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ2/pp/pp950.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 950 MeV
+
+0.000 -1.220506E-01
+9.000 -1.742779E-02
+18.000 2.834141E-02
+27.000 7.614593E-02
+36.000 7.390239E-02
+45.000 3.169305E-02
+54.000 -1.082441E-02
+63.000 -2.780690E-02
+72.000 -2.791496E-02
+81.000 -3.352427E-02
+90.000 -3.096179E-02
+99.000 -3.352427E-02
+108.000 -2.791496E-02
+117.000 -2.780690E-02
+126.000 -1.082441E-02
+135.000 3.169305E-02
+144.000 7.390239E-02
+153.000 7.614593E-02
+162.000 2.834141E-02
+171.000 -1.742779E-02
+180.000 -1.220506E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn100.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn100.txt
new file mode 100644
index 00000000..3bc53761
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn100.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 100 MeV
+
+0.000 -1.645271E-02
+9.000 -1.342683E-02
+18.000 -1.091968E-02
+27.000 -8.356094E-03
+36.000 -5.719873E-03
+45.000 -5.022064E-03
+54.000 -6.604777E-03
+63.000 -9.028105E-03
+72.000 -1.187470E-02
+81.000 -1.496483E-02
+90.000 -1.778860E-02
+99.000 -1.918322E-02
+108.000 -1.773707E-02
+117.000 -1.353163E-02
+126.000 -8.992820E-03
+135.000 -8.160144E-03
+144.000 -1.149287E-02
+153.000 -1.403616E-02
+162.000 -8.069521E-03
+171.000 8.003259E-03
+180.000 2.208184E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn1000.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn1000.txt
new file mode 100644
index 00000000..39781c27
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn1000.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 1000 MeV
+
+0.000 -2.952113E-01
+9.000 -1.612788E-01
+18.000 -5.962824E-02
+27.000 1.520382E-02
+36.000 6.434741E-02
+45.000 8.428034E-02
+54.000 8.188179E-02
+63.000 6.567237E-02
+72.000 3.763068E-02
+81.000 -4.013298E-03
+90.000 -6.240718E-02
+99.000 -1.376961E-01
+108.000 -2.212262E-01
+117.000 -2.957433E-01
+126.000 -3.437772E-01
+135.000 -3.522600E-01
+144.000 -3.046862E-01
+153.000 -1.585247E-01
+162.000 1.329621E-01
+171.000 3.305683E-01
+180.000 3.761474E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn150.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn150.txt
new file mode 100644
index 00000000..de09fe5d
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn150.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 150 MeV
+
+0.000 1.642698E-02
+9.000 4.251116E-03
+18.000 -6.091624E-03
+27.000 -1.345045E-02
+36.000 -1.549985E-02
+45.000 -1.367693E-02
+54.000 -1.242606E-02
+63.000 -1.237206E-02
+72.000 -1.232664E-02
+81.000 -1.168350E-02
+90.000 -1.040383E-02
+99.000 -8.927237E-03
+108.000 -8.394956E-03
+117.000 -9.183187E-03
+126.000 -8.882643E-03
+135.000 -6.537527E-03
+144.000 -3.205331E-03
+153.000 6.179191E-04
+162.000 4.562278E-03
+171.000 3.719770E-03
+180.000 1.152425E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn200.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn200.txt
new file mode 100644
index 00000000..05126ce9
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn200.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 200 MeV
+
+0.000 2.906286E-02
+9.000 1.062778E-02
+18.000 -5.064874E-03
+27.000 -1.765131E-02
+36.000 -2.494100E-02
+45.000 -2.680714E-02
+54.000 -2.663976E-02
+63.000 -2.626823E-02
+72.000 -2.606145E-02
+81.000 -2.622307E-02
+90.000 -2.690109E-02
+99.000 -2.776330E-02
+108.000 -2.725682E-02
+117.000 -2.217454E-02
+126.000 -1.111201E-02
+135.000 1.190057E-03
+144.000 1.052391E-02
+153.000 1.646160E-02
+162.000 1.683096E-02
+171.000 2.976459E-03
+180.000 -2.629720E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn250.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn250.txt
new file mode 100644
index 00000000..364aa193
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn250.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 250 MeV
+
+0.000 2.312712E-02
+9.000 7.204029E-03
+18.000 -5.963120E-03
+27.000 -1.781644E-02
+36.000 -2.952982E-02
+45.000 -3.990745E-02
+54.000 -4.771816E-02
+63.000 -5.357022E-02
+72.000 -5.829542E-02
+81.000 -6.224449E-02
+90.000 -6.521949E-02
+99.000 -6.618613E-02
+108.000 -6.240143E-02
+117.000 -4.859929E-02
+126.000 -2.237094E-02
+135.000 5.587447E-03
+144.000 2.471780E-02
+153.000 3.494406E-02
+162.000 3.452958E-02
+171.000 6.712938E-03
+180.000 -3.888827E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn300.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn300.txt
new file mode 100644
index 00000000..73f0cdd6
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn300.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 300 MeV
+
+0.000 2.432655E-02
+9.000 4.518773E-03
+18.000 -9.662976E-03
+27.000 -1.890075E-02
+36.000 -2.925914E-02
+45.000 -4.712755E-02
+54.000 -6.742848E-02
+63.000 -8.452038E-02
+72.000 -9.753033E-02
+81.000 -1.071855E-01
+90.000 -1.139875E-01
+99.000 -1.175294E-01
+108.000 -1.152630E-01
+117.000 -9.953174E-02
+126.000 -5.963469E-02
+135.000 -8.137939E-03
+144.000 2.856877E-02
+153.000 4.892576E-02
+162.000 5.534268E-02
+171.000 1.892770E-02
+180.000 -3.271896E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn350.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn350.txt
new file mode 100644
index 00000000..95248461
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn350.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 350 MeV
+
+0.000 2.187152E-02
+9.000 -1.764597E-03
+18.000 -1.752063E-02
+27.000 -2.466622E-02
+36.000 -2.906281E-02
+45.000 -4.689988E-02
+54.000 -7.539301E-02
+63.000 -1.021486E-01
+72.000 -1.231430E-01
+81.000 -1.391634E-01
+90.000 -1.518028E-01
+99.000 -1.620271E-01
+108.000 -1.686626E-01
+117.000 -1.628748E-01
+126.000 -1.216040E-01
+135.000 -5.034721E-02
+144.000 5.853971E-03
+153.000 4.186123E-02
+162.000 6.621398E-02
+171.000 3.913496E-02
+180.000 7.751541E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn400.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn400.txt
new file mode 100644
index 00000000..92477618
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn400.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 400 MeV
+
+0.000 5.362170E-03
+9.000 -1.304153E-02
+18.000 -2.463027E-02
+27.000 -2.838908E-02
+36.000 -2.824860E-02
+45.000 -4.142189E-02
+54.000 -6.963726E-02
+63.000 -9.882127E-02
+72.000 -1.233564E-01
+81.000 -1.438369E-01
+90.000 -1.624931E-01
+99.000 -1.813476E-01
+108.000 -2.002459E-01
+117.000 -2.085154E-01
+126.000 -1.740388E-01
+135.000 -9.991756E-02
+144.000 -3.507820E-02
+153.000 1.501552E-02
+162.000 6.647185E-02
+171.000 6.462311E-02
+180.000 3.285388E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn450.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn450.txt
new file mode 100644
index 00000000..94ac8b18
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn450.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 450 MeV
+
+0.000 -1.968306E-02
+9.000 -2.461448E-02
+18.000 -2.680179E-02
+27.000 -2.560032E-02
+36.000 -2.343028E-02
+45.000 -3.143846E-02
+54.000 -5.222265E-02
+63.000 -7.608947E-02
+72.000 -9.855371E-02
+81.000 -1.201401E-01
+90.000 -1.430869E-01
+99.000 -1.696246E-01
+108.000 -1.991325E-01
+117.000 -2.176781E-01
+126.000 -1.938250E-01
+135.000 -1.346081E-01
+144.000 -7.600248E-02
+153.000 -2.021994E-02
+162.000 6.000784E-02
+171.000 9.525443E-02
+180.000 7.014761E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn50.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn50.txt
new file mode 100644
index 00000000..abda248b
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn50.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 50 MeV
+
+0.000 -4.909174E-02
+9.000 -3.364859E-02
+18.000 -2.129376E-02
+27.000 -1.150898E-02
+36.000 -4.884305E-03
+45.000 -1.609211E-03
+54.000 -7.871348E-04
+63.000 -1.742307E-03
+72.000 -4.236262E-03
+81.000 -8.185111E-03
+90.000 -1.318901E-02
+99.000 -1.798833E-02
+108.000 -2.080179E-02
+117.000 -2.066505E-02
+126.000 -1.805336E-02
+135.000 -1.547034E-02
+144.000 -1.854365E-02
+153.000 -2.669201E-02
+162.000 -2.151793E-02
+171.000 1.392004E-02
+180.000 5.612493E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn500.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn500.txt
new file mode 100644
index 00000000..1a901705
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn500.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 500 MeV
+
+0.000 -3.752325E-02
+9.000 -2.889879E-02
+18.000 -2.216284E-02
+27.000 -1.716732E-02
+36.000 -1.493820E-02
+45.000 -1.846958E-02
+54.000 -2.826513E-02
+63.000 -4.174819E-02
+72.000 -5.756083E-02
+81.000 -7.615382E-02
+90.000 -9.852195E-02
+99.000 -1.241796E-01
+108.000 -1.472196E-01
+117.000 -1.547058E-01
+126.000 -1.405792E-01
+135.000 -1.141407E-01
+144.000 -8.299573E-02
+153.000 -4.165937E-02
+162.000 3.447748E-02
+171.000 9.300312E-02
+180.000 9.435988E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn550.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn550.txt
new file mode 100644
index 00000000..30edb73c
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn550.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 550 MeV
+
+0.000 -3.941681E-02
+9.000 -2.691606E-02
+18.000 -1.771632E-02
+27.000 -1.140622E-02
+36.000 -7.548891E-03
+45.000 -5.846477E-03
+54.000 -6.449485E-03
+63.000 -9.889369E-03
+72.000 -1.659116E-02
+81.000 -2.653005E-02
+90.000 -3.855199E-02
+99.000 -4.967577E-02
+108.000 -5.687380E-02
+117.000 -5.970001E-02
+126.000 -5.926436E-02
+135.000 -5.604697E-02
+144.000 -4.861744E-02
+153.000 -3.065393E-02
+162.000 1.211509E-02
+171.000 5.679941E-02
+180.000 7.658133E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn600.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn600.txt
new file mode 100644
index 00000000..3a94f916
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn600.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 600 MeV
+
+0.000 -9.724602E-02
+9.000 -6.493455E-02
+18.000 -3.765564E-02
+27.000 -1.569047E-02
+36.000 -5.545581E-04
+45.000 6.292559E-03
+54.000 6.525234E-03
+63.000 3.830812E-03
+72.000 5.625003E-04
+81.000 -2.701849E-03
+90.000 -6.085571E-03
+99.000 -9.560370E-03
+108.000 -1.294015E-02
+117.000 -1.610222E-02
+126.000 -1.884477E-02
+135.000 -2.071320E-02
+144.000 -2.062299E-02
+153.000 -1.521330E-02
+162.000 3.601124E-03
+171.000 2.988497E-02
+180.000 4.856744E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn650.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn650.txt
new file mode 100644
index 00000000..954c9975
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn650.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 650 MeV
+
+0.000 -1.472958E-01
+9.000 -1.089764E-01
+18.000 -6.992210E-02
+27.000 -3.117182E-02
+36.000 -4.217546E-03
+45.000 6.013504E-03
+54.000 6.846959E-03
+63.000 4.441786E-03
+72.000 1.458859E-03
+81.000 -1.239975E-03
+90.000 -3.556688E-03
+99.000 -5.652693E-03
+108.000 -7.637511E-03
+117.000 -9.468090E-03
+126.000 -1.099751E-02
+135.000 -1.194027E-02
+144.000 -1.169682E-02
+153.000 -8.718550E-03
+162.000 7.587657E-04
+171.000 1.495732E-02
+180.000 2.453230E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn700.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn700.txt
new file mode 100644
index 00000000..4f1c79e2
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn700.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 700 MeV
+
+0.000 -3.584833E-02
+9.000 -6.469733E-02
+18.000 -1.001232E-01
+27.000 -9.810208E-02
+36.000 -7.126673E-02
+45.000 -5.189000E-02
+54.000 -3.960182E-02
+63.000 -3.131499E-02
+72.000 -2.523597E-02
+81.000 -2.029802E-02
+90.000 -1.577606E-02
+99.000 -1.127715E-02
+108.000 -6.959280E-03
+117.000 -3.375590E-03
+126.000 -8.724750E-04
+135.000 5.670956E-04
+144.000 1.029477E-03
+153.000 3.959961E-04
+162.000 -1.598013E-03
+171.000 -3.425806E-03
+180.000 -3.895224E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn750.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn750.txt
new file mode 100644
index 00000000..b8102ec9
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn750.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 750 MeV
+
+0.000 8.974242E-02
+9.000 4.300160E-02
+18.000 -4.027836E-02
+27.000 -1.545544E-01
+36.000 -2.041328E-01
+45.000 -2.007269E-01
+54.000 -1.862566E-01
+63.000 -1.680622E-01
+72.000 -1.435395E-01
+81.000 -1.084807E-01
+90.000 -6.382832E-02
+99.000 -1.991932E-02
+108.000 1.309907E-02
+117.000 3.340151E-02
+126.000 4.350662E-02
+135.000 4.573113E-02
+144.000 4.054648E-02
+153.000 2.537768E-02
+162.000 -1.377504E-03
+171.000 -1.983883E-02
+180.000 -2.488092E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn800.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn800.txt
new file mode 100644
index 00000000..035c01db
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn800.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 800 MeV
+
+0.000 8.612818E-02
+9.000 5.260919E-02
+18.000 -2.420717E-02
+27.000 -1.638385E-01
+36.000 -2.877833E-01
+45.000 -3.366220E-01
+54.000 -3.496603E-01
+63.000 -3.467430E-01
+72.000 -3.246157E-01
+81.000 -2.694516E-01
+90.000 -1.766947E-01
+99.000 -7.414133E-02
+108.000 5.967994E-03
+117.000 5.681605E-02
+126.000 8.439677E-02
+135.000 9.439869E-02
+144.000 8.832356E-02
+153.000 6.080330E-02
+162.000 7.624502E-03
+171.000 -3.131216E-02
+180.000 -3.881709E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn850.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn850.txt
new file mode 100644
index 00000000..45063f23
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn850.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 850 MeV
+
+0.000 3.638039E-02
+9.000 1.562467E-02
+18.000 -2.301506E-02
+27.000 -9.294630E-02
+36.000 -1.766339E-01
+45.000 -2.277008E-01
+54.000 -2.457804E-01
+63.000 -2.489793E-01
+72.000 -2.444199E-01
+81.000 -2.323171E-01
+90.000 -2.095640E-01
+99.000 -1.710267E-01
+108.000 -1.127697E-01
+117.000 -4.009743E-02
+126.000 2.935756E-02
+135.000 7.965501E-02
+144.000 1.062044E-01
+153.000 1.060806E-01
+162.000 6.368113E-02
+171.000 1.061055E-03
+180.000 -2.303839E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn900.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn900.txt
new file mode 100644
index 00000000..6aaf816c
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn900.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 900 MeV
+
+0.000 -2.180863E-02
+9.000 -2.185324E-02
+18.000 -2.630722E-02
+27.000 -3.706642E-02
+36.000 -5.243740E-02
+45.000 -6.495929E-02
+54.000 -7.453361E-02
+63.000 -8.574200E-02
+72.000 -1.007697E-01
+81.000 -1.203584E-01
+90.000 -1.445018E-01
+99.000 -1.717374E-01
+108.000 -1.972555E-01
+117.000 -2.111693E-01
+126.000 -2.017240E-01
+135.000 -1.639909E-01
+144.000 -9.925811E-02
+153.000 1.764523E-03
+162.000 1.570654E-01
+171.000 1.906560E-01
+180.000 1.228903E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn950.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn950.txt
new file mode 100644
index 00000000..7a315d63
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pn/pn950.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 950 MeV
+
+0.000 -1.226862E-01
+9.000 -7.490087E-02
+18.000 -3.823612E-02
+27.000 -8.418761E-03
+36.000 1.637802E-02
+45.000 2.903493E-02
+54.000 2.647553E-02
+63.000 1.236737E-02
+72.000 -1.200993E-02
+81.000 -4.769846E-02
+90.000 -9.582117E-02
+99.000 -1.546010E-01
+108.000 -2.157905E-01
+117.000 -2.646387E-01
+126.000 -2.868536E-01
+135.000 -2.742903E-01
+144.000 -2.188507E-01
+153.000 -9.402599E-02
+162.000 1.291833E-01
+171.000 2.484878E-01
+180.000 2.304837E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp100.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp100.txt
new file mode 100644
index 00000000..32035747
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp100.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 100 MeV
+
+0.000 -1.125877E-02
+9.000 3.610140E-03
+18.000 1.089051E-02
+27.000 1.465366E-02
+36.000 2.256855E-02
+45.000 2.274602E-02
+54.000 9.221263E-03
+63.000 -1.033577E-03
+72.000 1.283219E-03
+81.000 1.163062E-02
+90.000 2.308802E-02
+99.000 1.163062E-02
+108.000 1.283219E-03
+117.000 -1.033577E-03
+126.000 9.221263E-03
+135.000 2.274602E-02
+144.000 2.256855E-02
+153.000 1.465366E-02
+162.000 1.089051E-02
+171.000 3.610140E-03
+180.000 -1.125877E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp1000.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp1000.txt
new file mode 100644
index 00000000..368415fb
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp1000.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 1000 MeV
+
+0.000 -3.620831E-02
+9.000 -1.848650E-02
+18.000 -4.255193E-02
+27.000 -4.977490E-02
+36.000 -5.748520E-02
+45.000 -5.965308E-02
+54.000 -5.740671E-02
+63.000 -5.328347E-02
+72.000 -4.386720E-02
+81.000 -2.631243E-02
+90.000 -2.902029E-02
+99.000 -2.631243E-02
+108.000 -4.386720E-02
+117.000 -5.328347E-02
+126.000 -5.740671E-02
+135.000 -5.965308E-02
+144.000 -5.748520E-02
+153.000 -4.977490E-02
+162.000 -4.255193E-02
+171.000 -1.848650E-02
+180.000 -3.620831E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp150.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp150.txt
new file mode 100644
index 00000000..67cf692e
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp150.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 150 MeV
+
+0.000 -1.629006E-02
+9.000 6.661583E-03
+18.000 2.049050E-02
+27.000 1.891575E-02
+36.000 9.929312E-03
+45.000 5.540845E-03
+54.000 -8.927126E-03
+63.000 -1.138712E-02
+72.000 -1.775442E-03
+81.000 1.228032E-02
+90.000 6.777443E-02
+99.000 1.228032E-02
+108.000 -1.775442E-03
+117.000 -1.138712E-02
+126.000 -8.927126E-03
+135.000 5.540845E-03
+144.000 9.929312E-03
+153.000 1.891575E-02
+162.000 2.049050E-02
+171.000 6.661583E-03
+180.000 -1.629006E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp200.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp200.txt
new file mode 100644
index 00000000..f126bda4
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp200.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 200 MeV
+
+0.000 -7.330904E-03
+9.000 8.963748E-03
+18.000 1.951535E-02
+27.000 1.799798E-02
+36.000 4.959026E-03
+45.000 -9.513498E-04
+54.000 -1.052650E-02
+63.000 -8.988108E-03
+72.000 1.223739E-03
+81.000 1.731203E-02
+90.000 8.671254E-02
+99.000 1.731203E-02
+108.000 1.223739E-03
+117.000 -8.988108E-03
+126.000 -1.052650E-02
+135.000 -9.513498E-04
+144.000 4.959026E-03
+153.000 1.799798E-02
+162.000 1.951535E-02
+171.000 8.963748E-03
+180.000 -7.330904E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp250.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp250.txt
new file mode 100644
index 00000000..cbb1edd3
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp250.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 250 MeV
+
+0.000 9.117244E-03
+9.000 1.013542E-02
+18.000 9.558380E-03
+27.000 3.893598E-03
+36.000 -1.560844E-03
+45.000 -3.801153E-03
+54.000 -6.832779E-03
+63.000 -1.583212E-03
+72.000 6.619065E-03
+81.000 1.978279E-02
+90.000 7.764078E-02
+99.000 1.978279E-02
+108.000 6.619065E-03
+117.000 -1.583212E-03
+126.000 -6.832779E-03
+135.000 -3.801153E-03
+144.000 -1.560844E-03
+153.000 3.893598E-03
+162.000 9.558380E-03
+171.000 1.013542E-02
+180.000 9.117244E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp300.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp300.txt
new file mode 100644
index 00000000..6e6dc89b
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp300.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 300 MeV
+
+0.000 2.536481E-02
+9.000 9.850698E-03
+18.000 -6.042603E-03
+27.000 -1.807782E-02
+36.000 -1.139527E-02
+45.000 -5.267882E-03
+54.000 -1.414605E-03
+63.000 8.603006E-03
+72.000 1.319717E-02
+81.000 1.785828E-02
+90.000 4.082492E-02
+99.000 1.785828E-02
+108.000 1.319717E-02
+117.000 8.603006E-03
+126.000 -1.414605E-03
+135.000 -5.267882E-03
+144.000 -1.139527E-02
+153.000 -1.807782E-02
+162.000 -6.042603E-03
+171.000 9.850698E-03
+180.000 2.536481E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp350.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp350.txt
new file mode 100644
index 00000000..a6ea0852
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp350.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 350 MeV
+
+0.000 3.550789E-02
+9.000 7.846601E-03
+18.000 -2.298946E-02
+27.000 -3.394427E-02
+36.000 -1.919994E-02
+45.000 -6.573737E-03
+54.000 3.006706E-03
+63.000 1.819394E-02
+72.000 1.868370E-02
+81.000 1.168375E-02
+90.000 -8.225001E-03
+99.000 1.168375E-02
+108.000 1.868370E-02
+117.000 1.819394E-02
+126.000 3.006706E-03
+135.000 -6.573737E-03
+144.000 -1.919994E-02
+153.000 -3.394427E-02
+162.000 -2.298946E-02
+171.000 7.846601E-03
+180.000 3.550789E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp400.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp400.txt
new file mode 100644
index 00000000..ab88ab2e
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp400.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 400 MeV
+
+0.000 3.856657E-02
+9.000 4.216685E-03
+18.000 -2.971920E-02
+27.000 -3.049286E-02
+36.000 -1.851212E-02
+45.000 -7.642229E-03
+54.000 4.697121E-03
+63.000 1.975506E-02
+72.000 1.740193E-02
+81.000 4.403024E-03
+90.000 -3.556278E-02
+99.000 4.403024E-03
+108.000 1.740193E-02
+117.000 1.975506E-02
+126.000 4.697121E-03
+135.000 -7.642229E-03
+144.000 -1.851212E-02
+153.000 -3.049286E-02
+162.000 -2.971920E-02
+171.000 4.216685E-03
+180.000 3.856657E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp450.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp450.txt
new file mode 100644
index 00000000..b8695d0d
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp450.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 450 MeV
+
+0.000 4.110991E-02
+9.000 -7.072692E-04
+18.000 -1.833496E-02
+27.000 -2.226772E-02
+36.000 -2.285458E-02
+45.000 -1.426677E-02
+54.000 2.928993E-03
+63.000 1.214464E-02
+72.000 8.454371E-03
+81.000 -2.776015E-03
+90.000 -3.284628E-02
+99.000 -2.776015E-03
+108.000 8.454371E-03
+117.000 1.214464E-02
+126.000 2.928993E-03
+135.000 -1.426677E-02
+144.000 -2.285458E-02
+153.000 -2.226772E-02
+162.000 -1.833496E-02
+171.000 -7.072692E-04
+180.000 4.110991E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp50.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp50.txt
new file mode 100644
index 00000000..aa84a382
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp50.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 50 MeV
+
+0.000 1.501205E-02
+9.000 5.459817E-03
+18.000 5.572658E-03
+27.000 1.615326E-02
+36.000 2.836440E-02
+45.000 4.305869E-02
+54.000 4.851176E-02
+63.000 4.178688E-02
+72.000 2.621655E-02
+81.000 -7.968845E-03
+90.000 -3.056403E-02
+99.000 -7.968845E-03
+108.000 2.621655E-02
+117.000 4.178688E-02
+126.000 4.851176E-02
+135.000 4.305869E-02
+144.000 2.836440E-02
+153.000 1.615326E-02
+162.000 5.572658E-03
+171.000 5.459817E-03
+180.000 1.501205E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp500.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp500.txt
new file mode 100644
index 00000000..a7377150
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp500.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 500 MeV
+
+0.000 3.589913E-02
+9.000 -1.459513E-02
+18.000 -1.443960E-02
+27.000 -5.304391E-02
+36.000 -5.599974E-02
+45.000 -3.623840E-02
+54.000 -8.945857E-03
+63.000 -7.322728E-05
+72.000 -1.749347E-03
+81.000 -1.068443E-02
+90.000 -3.100715E-02
+99.000 -1.068443E-02
+108.000 -1.749347E-03
+117.000 -7.322728E-05
+126.000 -8.945857E-03
+135.000 -3.623840E-02
+144.000 -5.599974E-02
+153.000 -5.304391E-02
+162.000 -1.443960E-02
+171.000 -1.459513E-02
+180.000 3.589913E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp550.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp550.txt
new file mode 100644
index 00000000..9f542804
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp550.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 550 MeV
+
+0.000 -5.931459E-02
+9.000 -3.515645E-02
+18.000 -8.945605E-03
+27.000 -2.756826E-02
+36.000 -3.296003E-02
+45.000 -3.574747E-02
+54.000 -2.519863E-02
+63.000 -1.042825E-02
+72.000 -1.615173E-02
+81.000 -1.726140E-02
+90.000 -3.202222E-02
+99.000 -1.726140E-02
+108.000 -1.615173E-02
+117.000 -1.042825E-02
+126.000 -2.519863E-02
+135.000 -3.574747E-02
+144.000 -3.296003E-02
+153.000 -2.756826E-02
+162.000 -8.945605E-03
+171.000 -3.515645E-02
+180.000 -5.931459E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp600.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp600.txt
new file mode 100644
index 00000000..eb2f0f01
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp600.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 600 MeV
+
+0.000 -1.558015E-01
+9.000 -4.918373E-02
+18.000 -2.122951E-03
+27.000 8.650735E-03
+36.000 3.286936E-03
+45.000 -2.384506E-02
+54.000 -3.628012E-02
+63.000 -1.922635E-02
+72.000 -2.714580E-02
+81.000 -2.050326E-02
+90.000 -1.387638E-02
+99.000 -2.050326E-02
+108.000 -2.714580E-02
+117.000 -1.922635E-02
+126.000 -3.628012E-02
+135.000 -2.384506E-02
+144.000 3.286936E-03
+153.000 8.650735E-03
+162.000 -2.122951E-03
+171.000 -4.918373E-02
+180.000 -1.558015E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp650.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp650.txt
new file mode 100644
index 00000000..1bc28769
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp650.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 650 MeV
+
+0.000 -2.157526E-01
+9.000 -5.602260E-02
+18.000 3.389800E-03
+27.000 3.379640E-02
+36.000 3.165019E-02
+45.000 -1.003927E-02
+54.000 -4.295542E-02
+63.000 -2.621985E-02
+72.000 -2.882434E-02
+81.000 -1.929005E-02
+90.000 5.531210E-03
+99.000 -1.929005E-02
+108.000 -2.882434E-02
+117.000 -2.621985E-02
+126.000 -4.295542E-02
+135.000 -1.003927E-02
+144.000 3.165019E-02
+153.000 3.379640E-02
+162.000 3.389800E-03
+171.000 -5.602260E-02
+180.000 -2.157526E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp700.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp700.txt
new file mode 100644
index 00000000..492bc4f3
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp700.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 700 MeV
+
+0.000 -2.319546E-01
+9.000 -5.631208E-02
+18.000 7.527298E-03
+27.000 4.549743E-02
+36.000 5.015215E-02
+45.000 6.186326E-03
+54.000 -4.206171E-02
+63.000 -3.331245E-02
+72.000 -2.429885E-02
+81.000 -1.426112E-02
+90.000 1.799814E-02
+99.000 -1.426112E-02
+108.000 -2.429885E-02
+117.000 -3.331245E-02
+126.000 -4.206171E-02
+135.000 6.186326E-03
+144.000 5.015215E-02
+153.000 4.549743E-02
+162.000 7.527298E-03
+171.000 -5.631208E-02
+180.000 -2.319546E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp750.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp750.txt
new file mode 100644
index 00000000..562fce34
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp750.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 750 MeV
+
+0.000 -1.845071E-01
+9.000 -4.844530E-02
+18.000 1.148023E-02
+27.000 3.456992E-02
+36.000 4.453644E-02
+45.000 1.622985E-02
+54.000 -2.849112E-02
+63.000 -3.580156E-02
+72.000 -2.462228E-02
+81.000 -8.176355E-03
+90.000 2.292116E-02
+99.000 -8.176355E-03
+108.000 -2.462228E-02
+117.000 -3.580156E-02
+126.000 -2.849112E-02
+135.000 1.622985E-02
+144.000 4.453644E-02
+153.000 3.456992E-02
+162.000 1.148023E-02
+171.000 -4.844530E-02
+180.000 -1.845071E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp800.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp800.txt
new file mode 100644
index 00000000..c357eadb
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp800.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 800 MeV
+
+0.000 -7.370595E-02
+9.000 -2.582144E-02
+18.000 1.538705E-02
+27.000 1.947641E-02
+36.000 1.729913E-02
+45.000 9.825362E-03
+54.000 -1.198512E-02
+63.000 -2.751752E-02
+72.000 -2.442522E-02
+81.000 -3.156361E-03
+90.000 3.341147E-02
+99.000 -3.156361E-03
+108.000 -2.442522E-02
+117.000 -2.751752E-02
+126.000 -1.198512E-02
+135.000 9.825362E-03
+144.000 1.729913E-02
+153.000 1.947641E-02
+162.000 1.538705E-02
+171.000 -2.582144E-02
+180.000 -7.370595E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp850.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp850.txt
new file mode 100644
index 00000000..2333e26a
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp850.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 850 MeV
+
+0.000 -9.484038E-02
+9.000 -1.749449E-02
+18.000 1.428948E-02
+27.000 3.207056E-02
+36.000 2.550186E-02
+45.000 7.797944E-03
+54.000 -4.301288E-03
+63.000 -1.660469E-02
+72.000 -1.875037E-02
+81.000 -2.597285E-04
+90.000 3.554097E-02
+99.000 -2.597285E-04
+108.000 -1.875037E-02
+117.000 -1.660469E-02
+126.000 -4.301288E-03
+135.000 7.797944E-03
+144.000 2.550186E-02
+153.000 3.207056E-02
+162.000 1.428948E-02
+171.000 -1.749449E-02
+180.000 -9.484038E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp900.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp900.txt
new file mode 100644
index 00000000..f75e0a95
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp900.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 900 MeV
+
+0.000 -1.231004E-01
+9.000 -2.686985E-02
+18.000 7.481945E-03
+27.000 3.108466E-02
+36.000 2.827959E-02
+45.000 6.947174E-03
+54.000 -1.015130E-02
+63.000 -1.063036E-02
+72.000 -1.368499E-02
+81.000 -2.169723E-03
+90.000 2.229268E-02
+99.000 -2.169723E-03
+108.000 -1.368499E-02
+117.000 -1.063036E-02
+126.000 -1.015130E-02
+135.000 6.947174E-03
+144.000 2.827959E-02
+153.000 3.108466E-02
+162.000 7.481945E-03
+171.000 -2.686985E-02
+180.000 -1.231004E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp950.txt b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp950.txt
new file mode 100644
index 00000000..e80a3d33
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ3/pp/pp950.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 950 MeV
+
+0.000 -1.091027E-01
+9.000 -3.192767E-02
+18.000 -9.515341E-03
+27.000 2.303462E-03
+36.000 -4.159941E-03
+45.000 -2.247800E-02
+54.000 -3.100966E-02
+63.000 -2.590449E-02
+72.000 -1.631368E-02
+81.000 -1.056718E-02
+90.000 2.920740E-03
+99.000 -1.056718E-02
+108.000 -1.631368E-02
+117.000 -2.590449E-02
+126.000 -3.100966E-02
+135.000 -2.247800E-02
+144.000 -4.159941E-03
+153.000 2.303462E-03
+162.000 -9.515341E-03
+171.000 -3.192767E-02
+180.000 -1.091027E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn100.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn100.txt
new file mode 100644
index 00000000..f25b93e4
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn100.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 100 MeV
+
+0.000 8.994790E-02
+9.000 5.884866E-02
+18.000 3.172565E-02
+27.000 1.005070E-02
+36.000 -2.153971E-03
+45.000 -7.514697E-03
+54.000 -1.349185E-02
+63.000 -1.915452E-02
+72.000 -2.273190E-02
+81.000 -2.353068E-02
+90.000 -2.120610E-02
+99.000 -1.584813E-02
+108.000 -8.896104E-03
+117.000 -3.164733E-03
+126.000 -3.415577E-04
+135.000 4.786277E-04
+144.000 -2.000381E-04
+153.000 -7.594974E-03
+162.000 -3.154828E-02
+171.000 -6.168939E-02
+180.000 -8.361192E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn1000.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn1000.txt
new file mode 100644
index 00000000..12ea3664
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn1000.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 1000 MeV
+
+0.000 -1.566068E-01
+9.000 -1.135062E-01
+18.000 -7.442250E-02
+27.000 -3.791966E-02
+36.000 -2.868355E-03
+45.000 2.742119E-02
+54.000 5.124158E-02
+63.000 7.184867E-02
+72.000 9.208920E-02
+81.000 1.134811E-01
+90.000 1.355293E-01
+99.000 1.543066E-01
+108.000 1.628349E-01
+117.000 1.549705E-01
+126.000 1.286679E-01
+135.000 8.364735E-02
+144.000 1.546839E-02
+153.000 -8.921286E-02
+162.000 -2.087119E-01
+171.000 -2.142592E-01
+180.000 -1.771969E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn150.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn150.txt
new file mode 100644
index 00000000..c02089d1
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn150.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 150 MeV
+
+0.000 4.092066E-02
+9.000 2.383022E-02
+18.000 9.431631E-03
+27.000 -1.721950E-03
+36.000 -7.607294E-03
+45.000 -8.583832E-03
+54.000 -8.480688E-03
+63.000 -8.617018E-03
+72.000 -8.451798E-03
+81.000 -7.684339E-03
+90.000 -6.424910E-03
+99.000 -5.091136E-03
+108.000 -4.408021E-03
+117.000 -4.630385E-03
+126.000 -5.092039E-03
+135.000 -6.389825E-03
+144.000 -1.056176E-02
+153.000 -2.150476E-02
+162.000 -4.364207E-02
+171.000 -4.480581E-02
+180.000 -3.391391E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn200.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn200.txt
new file mode 100644
index 00000000..dcd028cc
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn200.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 200 MeV
+
+0.000 -4.432481E-02
+9.000 -3.673821E-02
+18.000 -2.989497E-02
+27.000 -2.300011E-02
+36.000 -1.567990E-02
+45.000 -9.528736E-03
+54.000 -5.495353E-03
+63.000 -2.937988E-03
+72.000 -1.225607E-03
+81.000 -3.464580E-05
+90.000 7.758102E-04
+99.000 1.141143E-03
+108.000 6.020468E-04
+117.000 -1.763376E-03
+126.000 -6.325859E-03
+135.000 -1.214072E-02
+144.000 -1.907991E-02
+153.000 -2.909468E-02
+162.000 -4.301380E-02
+171.000 -2.612555E-02
+180.000 -1.125828E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn250.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn250.txt
new file mode 100644
index 00000000..dba690db
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn250.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 250 MeV
+
+0.000 -8.609895E-02
+9.000 -6.461407E-02
+18.000 -4.741976E-02
+27.000 -3.386019E-02
+36.000 -2.189616E-02
+45.000 -9.936544E-03
+54.000 1.151827E-03
+63.000 1.062152E-02
+72.000 1.862170E-02
+81.000 2.546067E-02
+90.000 3.120130E-02
+99.000 3.534377E-02
+108.000 3.616598E-02
+117.000 2.994248E-02
+126.000 1.415622E-02
+135.000 -4.845706E-03
+144.000 -1.956543E-02
+153.000 -2.955187E-02
+162.000 -3.362008E-02
+171.000 -1.140998E-02
+180.000 3.541170E-04
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn300.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn300.txt
new file mode 100644
index 00000000..2b4f8b7b
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn300.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 300 MeV
+
+0.000 -1.590680E-01
+9.000 -1.112304E-01
+18.000 -7.113201E-02
+27.000 -4.176399E-02
+36.000 -2.470806E-02
+45.000 -1.009158E-02
+54.000 9.991363E-03
+63.000 3.238033E-02
+72.000 5.342837E-02
+81.000 7.184005E-02
+90.000 8.735118E-02
+99.000 9.957614E-02
+108.000 1.065842E-01
+117.000 1.016928E-01
+126.000 7.346921E-02
+135.000 3.042423E-02
+144.000 -4.744025E-04
+153.000 -1.189190E-02
+162.000 -5.831931E-04
+171.000 2.483581E-02
+180.000 2.212450E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn350.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn350.txt
new file mode 100644
index 00000000..a656a9c9
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn350.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 350 MeV
+
+0.000 -2.712691E-01
+9.000 -1.863930E-01
+18.000 -1.143667E-01
+27.000 -5.926466E-02
+36.000 -2.785230E-02
+45.000 -1.069052E-02
+54.000 1.573485E-02
+63.000 5.062204E-02
+72.000 8.562793E-02
+81.000 1.168750E-01
+90.000 1.437930E-01
+99.000 1.668353E-01
+108.000 1.852079E-01
+117.000 1.904931E-01
+126.000 1.573185E-01
+135.000 8.870301E-02
+144.000 3.822763E-02
+153.000 2.225781E-02
+162.000 4.481912E-02
+171.000 6.886701E-02
+180.000 5.396208E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn400.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn400.txt
new file mode 100644
index 00000000..8fe6ac03
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn400.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 400 MeV
+
+0.000 -3.321741E-01
+9.000 -2.288562E-01
+18.000 -1.411516E-01
+27.000 -7.285221E-02
+36.000 -3.156004E-02
+45.000 -1.245653E-02
+54.000 1.471599E-02
+63.000 5.454089E-02
+72.000 9.683152E-02
+81.000 1.359091E-01
+90.000 1.709056E-01
+99.000 2.028436E-01
+108.000 2.312814E-01
+117.000 2.444144E-01
+126.000 2.074979E-01
+135.000 1.290547E-01
+144.000 7.090382E-02
+153.000 4.972106E-02
+162.000 7.006993E-02
+171.000 8.207837E-02
+180.000 6.563099E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn450.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn450.txt
new file mode 100644
index 00000000..be56b085
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn450.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 450 MeV
+
+0.000 -2.959006E-01
+9.000 -2.069666E-01
+18.000 -1.310637E-01
+27.000 -7.106346E-02
+36.000 -3.315486E-02
+45.000 -1.588147E-02
+54.000 5.928622E-03
+63.000 4.058971E-02
+72.000 8.001722E-02
+81.000 1.185214E-01
+90.000 1.549974E-01
+99.000 1.901484E-01
+108.000 2.219826E-01
+117.000 2.346825E-01
+126.000 1.991323E-01
+135.000 1.336560E-01
+144.000 8.208595E-02
+153.000 5.492541E-02
+162.000 5.217792E-02
+171.000 4.400117E-02
+180.000 3.655645E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn50.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn50.txt
new file mode 100644
index 00000000..4ca2bc0e
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn50.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 50 MeV
+
+0.000 7.585895E-02
+9.000 4.961247E-02
+18.000 2.756632E-02
+27.000 9.330762E-03
+36.000 -3.489407E-03
+45.000 -1.080701E-02
+54.000 -1.460913E-02
+63.000 -1.623196E-02
+72.000 -1.615571E-02
+81.000 -1.435270E-02
+90.000 -1.059498E-02
+99.000 -5.175309E-03
+108.000 4.713794E-04
+117.000 4.558063E-03
+126.000 6.273997E-03
+135.000 6.504813E-03
+144.000 8.095988E-03
+153.000 9.320004E-03
+162.000 -4.746289E-03
+171.000 -4.091294E-02
+180.000 -7.991967E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn500.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn500.txt
new file mode 100644
index 00000000..46073258
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn500.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 500 MeV
+
+0.000 -1.762730E-01
+9.000 -1.282795E-01
+18.000 -8.678695E-02
+27.000 -5.351741E-02
+36.000 -3.185485E-02
+45.000 -2.091959E-02
+54.000 -8.008267E-03
+63.000 1.392663E-02
+72.000 4.157816E-02
+81.000 7.093020E-02
+90.000 1.001276E-01
+99.000 1.269740E-01
+108.000 1.446236E-01
+117.000 1.419343E-01
+126.000 1.183834E-01
+135.000 8.759847E-02
+144.000 5.884555E-02
+153.000 3.125077E-02
+162.000 -4.365652E-03
+171.000 -2.704960E-02
+180.000 -2.417576E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn550.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn550.txt
new file mode 100644
index 00000000..50f81b34
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn550.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 550 MeV
+
+0.000 -7.100808E-02
+9.000 -5.976505E-02
+18.000 -4.988531E-02
+27.000 -4.165392E-02
+36.000 -3.502621E-02
+45.000 -2.892489E-02
+54.000 -2.130768E-02
+63.000 -1.096128E-02
+72.000 1.635550E-03
+81.000 1.537907E-02
+90.000 2.860142E-02
+99.000 3.850861E-02
+108.000 4.297334E-02
+117.000 4.255753E-02
+126.000 3.894874E-02
+135.000 3.291001E-02
+144.000 2.344325E-02
+153.000 6.165181E-03
+162.000 -2.531748E-02
+171.000 -4.860377E-02
+180.000 -5.409479E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn600.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn600.txt
new file mode 100644
index 00000000..4c72c544
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn600.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 600 MeV
+
+0.000 -4.215026E-02
+9.000 -5.376537E-02
+18.000 -6.170270E-02
+27.000 -6.416840E-02
+36.000 -5.865385E-02
+45.000 -4.569401E-02
+54.000 -3.085599E-02
+63.000 -1.896455E-02
+72.000 -1.088408E-02
+81.000 -5.456688E-03
+90.000 -1.376479E-03
+99.000 2.007923E-03
+108.000 4.795877E-03
+117.000 6.934819E-03
+126.000 8.234741E-03
+135.000 8.199341E-03
+144.000 5.617739E-03
+153.000 -2.703525E-03
+162.000 -2.140598E-02
+171.000 -3.960528E-02
+180.000 -4.976860E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn650.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn650.txt
new file mode 100644
index 00000000..dbef7b38
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn650.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 650 MeV
+
+0.000 5.830689E-02
+9.000 9.198155E-03
+18.000 -3.926497E-02
+27.000 -7.454737E-02
+36.000 -8.008375E-02
+45.000 -6.588955E-02
+54.000 -4.862297E-02
+63.000 -3.424601E-02
+72.000 -2.351414E-02
+81.000 -1.588401E-02
+90.000 -1.057060E-02
+99.000 -6.800583E-03
+108.000 -3.985927E-03
+117.000 -1.873015E-03
+126.000 -5.156177E-04
+135.000 -2.504409E-04
+144.000 -1.891085E-03
+153.000 -7.335086E-03
+162.000 -1.922527E-02
+171.000 -3.034806E-02
+180.000 -3.499929E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn700.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn700.txt
new file mode 100644
index 00000000..d749e4bd
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn700.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 700 MeV
+
+0.000 1.037533E-01
+9.000 7.723516E-02
+18.000 2.723343E-02
+27.000 -3.292190E-02
+36.000 -5.661841E-02
+45.000 -6.134336E-02
+54.000 -6.118691E-02
+63.000 -6.011085E-02
+72.000 -5.917658E-02
+81.000 -5.839854E-02
+90.000 -5.702676E-02
+99.000 -5.377676E-02
+108.000 -4.799079E-02
+117.000 -4.078492E-02
+126.000 -3.400750E-02
+135.000 -2.873108E-02
+144.000 -2.523027E-02
+153.000 -2.327024E-02
+162.000 -2.051912E-02
+171.000 -1.303879E-02
+180.000 -7.421220E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn750.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn750.txt
new file mode 100644
index 00000000..bdd831ed
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn750.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 750 MeV
+
+0.000 -2.810224E-02
+9.000 -1.115144E-02
+18.000 1.304277E-02
+27.000 3.712456E-02
+36.000 3.660362E-02
+45.000 2.123949E-02
+54.000 1.449133E-03
+63.000 -2.230004E-02
+72.000 -5.059032E-02
+81.000 -8.088948E-02
+90.000 -1.052489E-01
+99.000 -1.161774E-01
+108.000 -1.147983E-01
+117.000 -1.066619E-01
+126.000 -9.549283E-02
+135.000 -8.239187E-02
+144.000 -6.633766E-02
+153.000 -4.323930E-02
+162.000 -9.469537E-03
+171.000 1.430026E-02
+180.000 2.114911E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn800.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn800.txt
new file mode 100644
index 00000000..c96fba4b
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn800.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 800 MeV
+
+0.000 -9.824146E-02
+9.000 -8.202156E-02
+18.000 -4.064581E-02
+27.000 4.315837E-02
+36.000 1.262320E-01
+45.000 1.593220E-01
+54.000 1.588836E-01
+63.000 1.367325E-01
+72.000 9.152040E-02
+81.000 2.037189E-02
+90.000 -6.401349E-02
+99.000 -1.321708E-01
+108.000 -1.697598E-01
+117.000 -1.827471E-01
+126.000 -1.794770E-01
+135.000 -1.638380E-01
+144.000 -1.343754E-01
+153.000 -8.187163E-02
+162.000 -2.853080E-03
+171.000 4.713558E-02
+180.000 5.335826E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn850.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn850.txt
new file mode 100644
index 00000000..2acf4279
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn850.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 850 MeV
+
+0.000 -1.116167E-01
+9.000 -9.390672E-02
+18.000 -6.151637E-02
+27.000 7.677685E-03
+36.000 1.066824E-01
+45.000 1.800528E-01
+54.000 2.100588E-01
+63.000 2.113098E-01
+72.000 1.919287E-01
+81.000 1.523061E-01
+90.000 8.903467E-02
+99.000 -1.124351E-03
+108.000 -1.128827E-01
+117.000 -2.220615E-01
+126.000 -2.948691E-01
+135.000 -3.155443E-01
+144.000 -2.857201E-01
+153.000 -1.977176E-01
+162.000 -3.213778E-02
+171.000 1.013332E-01
+180.000 1.122386E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn900.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn900.txt
new file mode 100644
index 00000000..b8f00b72
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn900.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 900 MeV
+
+0.000 -1.275201E-01
+9.000 -9.157247E-02
+18.000 -5.838191E-02
+27.000 -1.351327E-02
+36.000 5.203281E-02
+45.000 1.130244E-01
+54.000 1.484235E-01
+63.000 1.649936E-01
+72.000 1.697423E-01
+81.000 1.642829E-01
+90.000 1.469800E-01
+99.000 1.142582E-01
+108.000 6.241232E-02
+117.000 -7.659133E-03
+126.000 -8.452918E-02
+135.000 -1.500545E-01
+144.000 -1.926870E-01
+153.000 -2.067026E-01
+162.000 -1.473518E-01
+171.000 5.596169E-04
+180.000 4.987017E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn950.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn950.txt
new file mode 100644
index 00000000..15a43a44
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pn/pn950.txt
@@ -0,0 +1,25 @@
+# Proton-Neutron Scattering
+# Angle vs. Cross-section Fractional Variation
+# 950 MeV
+
+0.000 -1.500862E-01
+9.000 -1.036925E-01
+18.000 -6.401036E-02
+27.000 -2.537861E-02
+36.000 1.859304E-02
+45.000 6.016907E-02
+54.000 8.982091E-02
+63.000 1.111015E-01
+72.000 1.280827E-01
+81.000 1.416577E-01
+90.000 1.500918E-01
+99.000 1.493350E-01
+108.000 1.344379E-01
+117.000 1.032090E-01
+126.000 5.879457E-02
+135.000 6.487451E-03
+144.000 -5.204518E-02
+153.000 -1.196303E-01
+162.000 -1.668713E-01
+171.000 -1.170449E-01
+180.000 -6.209386E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp100.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp100.txt
new file mode 100644
index 00000000..80ef7fd3
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp100.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 100 MeV
+
+0.000 -1.358204E-01
+9.000 -7.370840E-02
+18.000 -3.184697E-02
+27.000 -1.089641E-02
+36.000 -1.471755E-03
+45.000 -4.988177E-03
+54.000 -2.964884E-02
+63.000 -4.276672E-02
+72.000 -4.031678E-02
+81.000 -2.069579E-02
+90.000 6.168865E-03
+99.000 -2.069579E-02
+108.000 -4.031678E-02
+117.000 -4.276672E-02
+126.000 -2.964884E-02
+135.000 -4.988177E-03
+144.000 -1.471755E-03
+153.000 -1.089641E-02
+162.000 -3.184697E-02
+171.000 -7.370840E-02
+180.000 -1.358204E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp1000.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp1000.txt
new file mode 100644
index 00000000..0c436991
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp1000.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 1000 MeV
+
+0.000 -2.252154E-02
+9.000 1.342789E-03
+18.000 2.074754E-02
+27.000 1.336783E-02
+36.000 -1.787885E-02
+45.000 -4.674659E-02
+54.000 -5.712754E-02
+63.000 -5.063396E-02
+72.000 -2.807582E-02
+81.000 1.182697E-03
+90.000 4.352072E-02
+99.000 1.182697E-03
+108.000 -2.807582E-02
+117.000 -5.063396E-02
+126.000 -5.712754E-02
+135.000 -4.674659E-02
+144.000 -1.787885E-02
+153.000 1.336783E-02
+162.000 2.074754E-02
+171.000 1.342789E-03
+180.000 -2.252154E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp150.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp150.txt
new file mode 100644
index 00000000..47b7a07f
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp150.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 150 MeV
+
+0.000 -3.060920E-01
+9.000 -1.756502E-01
+18.000 -8.167221E-02
+27.000 -1.313914E-02
+36.000 6.374007E-03
+45.000 4.962476E-03
+54.000 -3.104335E-02
+63.000 -5.409987E-02
+72.000 -4.901538E-02
+81.000 -2.199892E-02
+90.000 2.476678E-02
+99.000 -2.199892E-02
+108.000 -4.901538E-02
+117.000 -5.409987E-02
+126.000 -3.104335E-02
+135.000 4.962476E-03
+144.000 6.374007E-03
+153.000 -1.313914E-02
+162.000 -8.167221E-02
+171.000 -1.756502E-01
+180.000 -3.060920E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp200.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp200.txt
new file mode 100644
index 00000000..eb483d69
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp200.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 200 MeV
+
+0.000 -3.560367E-01
+9.000 -2.127475E-01
+18.000 -1.066352E-01
+27.000 -1.706606E-02
+36.000 8.830616E-03
+45.000 6.989020E-03
+54.000 -2.483688E-02
+63.000 -5.076632E-02
+72.000 -4.676959E-02
+81.000 -2.792097E-02
+90.000 3.371089E-02
+99.000 -2.792097E-02
+108.000 -4.676959E-02
+117.000 -5.076632E-02
+126.000 -2.483688E-02
+135.000 6.989020E-03
+144.000 8.830616E-03
+153.000 -1.706606E-02
+162.000 -1.066352E-01
+171.000 -2.127475E-01
+180.000 -3.560367E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp250.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp250.txt
new file mode 100644
index 00000000..86085a02
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp250.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 250 MeV
+
+0.000 -3.072431E-01
+9.000 -1.919290E-01
+18.000 -1.048437E-01
+27.000 -1.772977E-02
+36.000 1.060117E-02
+45.000 6.434843E-03
+54.000 -1.587464E-02
+63.000 -4.060101E-02
+72.000 -3.868133E-02
+81.000 -2.697108E-02
+90.000 3.181033E-02
+99.000 -2.697108E-02
+108.000 -3.868133E-02
+117.000 -4.060101E-02
+126.000 -1.587464E-02
+135.000 6.434843E-03
+144.000 1.060117E-02
+153.000 -1.772977E-02
+162.000 -1.048437E-01
+171.000 -1.919290E-01
+180.000 -3.072431E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp300.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp300.txt
new file mode 100644
index 00000000..9e22eb3b
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp300.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 300 MeV
+
+0.000 -2.037940E-01
+9.000 -1.349455E-01
+18.000 -8.293395E-02
+27.000 -1.499589E-02
+36.000 9.235954E-03
+45.000 5.238315E-03
+54.000 -6.191998E-03
+63.000 -2.529199E-02
+72.000 -2.587684E-02
+81.000 -1.860651E-02
+90.000 1.979847E-02
+99.000 -1.860651E-02
+108.000 -2.587684E-02
+117.000 -2.529199E-02
+126.000 -6.191998E-03
+135.000 5.238315E-03
+144.000 9.235954E-03
+153.000 -1.499589E-02
+162.000 -8.293395E-02
+171.000 -1.349455E-01
+180.000 -2.037940E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp350.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp350.txt
new file mode 100644
index 00000000..af43f2ba
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp350.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 350 MeV
+
+0.000 -9.212884E-02
+9.000 -6.527944E-02
+18.000 -4.734629E-02
+27.000 -9.339163E-03
+36.000 4.424445E-03
+45.000 3.920174E-03
+54.000 1.661954E-03
+63.000 -6.459123E-03
+72.000 -9.267148E-03
+81.000 -6.854805E-03
+90.000 3.687655E-03
+99.000 -6.854805E-03
+108.000 -9.267148E-03
+117.000 -6.459123E-03
+126.000 1.661954E-03
+135.000 3.920174E-03
+144.000 4.424445E-03
+153.000 -9.339163E-03
+162.000 -4.734629E-02
+171.000 -6.527944E-02
+180.000 -9.212884E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp400.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp400.txt
new file mode 100644
index 00000000..b600dee6
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp400.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 400 MeV
+
+0.000 -5.053676E-03
+9.000 -6.581999E-03
+18.000 -8.463137E-03
+27.000 -3.666751E-03
+36.000 -2.634274E-04
+45.000 1.982713E-03
+54.000 5.797214E-03
+63.000 8.148697E-03
+72.000 5.633208E-03
+81.000 2.106203E-03
+90.000 -4.522038E-03
+99.000 2.106203E-03
+108.000 5.633208E-03
+117.000 8.148697E-03
+126.000 5.797214E-03
+135.000 1.982713E-03
+144.000 -2.634274E-04
+153.000 -3.666751E-03
+162.000 -8.463137E-03
+171.000 -6.581999E-03
+180.000 -5.053676E-03
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp450.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp450.txt
new file mode 100644
index 00000000..18c4cee2
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp450.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 450 MeV
+
+0.000 6.265619E-02
+9.000 3.185719E-02
+18.000 7.413068E-03
+27.000 -1.031399E-03
+36.000 -3.782604E-03
+45.000 -1.185063E-03
+54.000 6.624482E-03
+63.000 1.086092E-02
+72.000 9.519014E-03
+81.000 6.675922E-03
+90.000 -2.632129E-03
+99.000 6.675922E-03
+108.000 9.519014E-03
+117.000 1.086092E-02
+126.000 6.624482E-03
+135.000 -1.185063E-03
+144.000 -3.782604E-03
+153.000 -1.031399E-03
+162.000 7.413068E-03
+171.000 3.185719E-02
+180.000 6.265619E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp50.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp50.txt
new file mode 100644
index 00000000..3ea027fe
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp50.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 50 MeV
+
+0.000 2.473931E-01
+9.000 1.332223E-01
+18.000 3.889874E-02
+27.000 -3.512307E-02
+36.000 -4.666252E-02
+45.000 -2.688079E-02
+54.000 1.020985E-02
+63.000 3.943698E-02
+72.000 5.226490E-02
+81.000 2.895262E-02
+90.000 -1.947550E-02
+99.000 2.895262E-02
+108.000 5.226490E-02
+117.000 3.943698E-02
+126.000 1.020985E-02
+135.000 -2.688079E-02
+144.000 -4.666252E-02
+153.000 -3.512307E-02
+162.000 3.889874E-02
+171.000 1.332223E-01
+180.000 2.473931E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp500.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp500.txt
new file mode 100644
index 00000000..88c2e41d
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp500.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 500 MeV
+
+0.000 1.938925E-01
+9.000 7.933551E-02
+18.000 1.161767E-02
+27.000 7.710177E-04
+36.000 -1.749473E-02
+45.000 -1.594038E-02
+54.000 -2.581314E-04
+63.000 5.073937E-03
+72.000 7.582832E-03
+81.000 7.732725E-03
+90.000 2.287639E-03
+99.000 7.732725E-03
+108.000 7.582832E-03
+117.000 5.073937E-03
+126.000 -2.581314E-04
+135.000 -1.594038E-02
+144.000 -1.749473E-02
+153.000 7.710177E-04
+162.000 1.161767E-02
+171.000 7.933551E-02
+180.000 1.938925E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp550.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp550.txt
new file mode 100644
index 00000000..1fd25c6b
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp550.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 550 MeV
+
+0.000 2.036467E-01
+9.000 8.733880E-02
+18.000 1.191682E-02
+27.000 4.585437E-03
+36.000 -2.063403E-02
+45.000 -2.828421E-02
+54.000 -1.270695E-02
+63.000 -1.120519E-03
+72.000 3.141777E-03
+81.000 5.935038E-03
+90.000 1.112347E-02
+99.000 5.935038E-03
+108.000 3.141777E-03
+117.000 -1.120519E-03
+126.000 -1.270695E-02
+135.000 -2.828421E-02
+144.000 -2.063403E-02
+153.000 4.585437E-03
+162.000 1.191682E-02
+171.000 8.733880E-02
+180.000 2.036467E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp600.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp600.txt
new file mode 100644
index 00000000..1369f05e
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp600.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 600 MeV
+
+0.000 1.339814E-01
+9.000 6.483027E-02
+18.000 9.656386E-03
+27.000 6.747161E-03
+36.000 -1.420223E-02
+45.000 -2.721175E-02
+54.000 -1.808217E-02
+63.000 -4.746502E-03
+72.000 -1.818087E-03
+81.000 3.274312E-03
+90.000 1.424084E-02
+99.000 3.274312E-03
+108.000 -1.818087E-03
+117.000 -4.746502E-03
+126.000 -1.808217E-02
+135.000 -2.721175E-02
+144.000 -1.420223E-02
+153.000 6.747161E-03
+162.000 9.656386E-03
+171.000 6.483027E-02
+180.000 1.339814E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp650.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp650.txt
new file mode 100644
index 00000000..f6d3353d
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp650.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 650 MeV
+
+0.000 1.095095E-01
+9.000 5.510907E-02
+18.000 8.699656E-03
+27.000 8.430254E-03
+36.000 -5.962885E-03
+45.000 -1.626946E-02
+54.000 -1.219818E-02
+63.000 -3.388341E-03
+72.000 -1.184430E-03
+81.000 1.575661E-03
+90.000 6.692183E-03
+99.000 1.575661E-03
+108.000 -1.184430E-03
+117.000 -3.388341E-03
+126.000 -1.219818E-02
+135.000 -1.626946E-02
+144.000 -5.962885E-03
+153.000 8.430254E-03
+162.000 8.699656E-03
+171.000 5.510907E-02
+180.000 1.095095E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp700.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp700.txt
new file mode 100644
index 00000000..e04ad4a2
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp700.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 700 MeV
+
+0.000 1.347956E-01
+9.000 6.388983E-02
+18.000 9.682340E-03
+27.000 9.225045E-03
+36.000 3.188605E-03
+45.000 4.209861E-03
+54.000 7.969438E-03
+63.000 5.431273E-03
+72.000 3.650427E-03
+81.000 1.213917E-03
+90.000 -6.367707E-03
+99.000 1.213917E-03
+108.000 3.650427E-03
+117.000 5.431273E-03
+126.000 7.969438E-03
+135.000 4.209861E-03
+144.000 3.188605E-03
+153.000 9.225045E-03
+162.000 9.682340E-03
+171.000 6.388983E-02
+180.000 1.347956E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp750.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp750.txt
new file mode 100644
index 00000000..3fc463b5
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp750.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 750 MeV
+
+0.000 1.491706E-01
+9.000 7.482742E-02
+18.000 1.322360E-02
+27.000 6.914669E-03
+36.000 8.308795E-03
+45.000 2.147041E-02
+54.000 3.090523E-02
+63.000 2.279968E-02
+72.000 1.236604E-02
+81.000 1.694134E-03
+90.000 -1.620514E-02
+99.000 1.694134E-03
+108.000 1.236604E-02
+117.000 2.279968E-02
+126.000 3.090523E-02
+135.000 2.147041E-02
+144.000 8.308795E-03
+153.000 6.914669E-03
+162.000 1.322360E-02
+171.000 7.482742E-02
+180.000 1.491706E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp800.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp800.txt
new file mode 100644
index 00000000..a0ff7fdb
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp800.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 800 MeV
+
+0.000 8.166249E-02
+9.000 5.359792E-02
+18.000 1.989132E-02
+27.000 4.279726E-03
+36.000 4.753490E-03
+45.000 1.553585E-02
+54.000 3.237441E-02
+63.000 3.617274E-02
+72.000 2.564413E-02
+81.000 2.730408E-03
+90.000 -3.064929E-02
+99.000 2.730408E-03
+108.000 2.564413E-02
+117.000 3.617274E-02
+126.000 3.237441E-02
+135.000 1.553585E-02
+144.000 4.753490E-03
+153.000 4.279726E-03
+162.000 1.989132E-02
+171.000 5.359792E-02
+180.000 8.166249E-02
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp850.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp850.txt
new file mode 100644
index 00000000..ddf873ad
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp850.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 850 MeV
+
+0.000 1.338070E-01
+9.000 4.402390E-02
+18.000 2.493249E-02
+27.000 8.723875E-03
+36.000 9.058869E-03
+45.000 1.525375E-02
+54.000 1.879891E-02
+63.000 3.282856E-02
+72.000 3.093631E-02
+81.000 3.847543E-03
+90.000 -3.785096E-02
+99.000 3.847543E-03
+108.000 3.093631E-02
+117.000 3.282856E-02
+126.000 1.879891E-02
+135.000 1.525375E-02
+144.000 9.058869E-03
+153.000 8.723875E-03
+162.000 2.493249E-02
+171.000 4.402390E-02
+180.000 1.338070E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp900.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp900.txt
new file mode 100644
index 00000000..c9c99972
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp900.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 900 MeV
+
+0.000 1.944624E-01
+9.000 6.723793E-02
+18.000 2.834111E-02
+27.000 1.350763E-02
+36.000 1.328773E-02
+45.000 2.747560E-02
+54.000 2.826193E-02
+63.000 1.831947E-02
+72.000 2.053719E-02
+81.000 4.330566E-03
+90.000 -2.586461E-02
+99.000 4.330566E-03
+108.000 2.053719E-02
+117.000 1.831947E-02
+126.000 2.826193E-02
+135.000 2.747560E-02
+144.000 1.328773E-02
+153.000 1.350763E-02
+162.000 2.834111E-02
+171.000 6.723793E-02
+180.000 1.944624E-01
diff --git a/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp950.txt b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp950.txt
new file mode 100644
index 00000000..00b8b5ba
--- /dev/null
+++ b/data/intranuke/diff_ang_variations/diff_ang_univ4/pp/pp950.txt
@@ -0,0 +1,25 @@
+# Proton-Proton Scattering
+# Angle vs. Cross-section Fractional Variation
+# 950 MeV
+
+0.000 1.362600E-01
+9.000 5.315628E-02
+18.000 3.224157E-02
+27.000 1.823226E-02
+36.000 4.801645E-03
+45.000 3.770245E-03
+54.000 7.027816E-03
+63.000 7.422475E-03
+72.000 5.273351E-03
+81.000 3.358729E-03
+90.000 -2.287769E-03
+99.000 3.358729E-03
+108.000 5.273351E-03
+117.000 7.422475E-03
+126.000 7.027816E-03
+135.000 3.770245E-03
+144.000 4.801645E-03
+153.000 1.823226E-02
+162.000 3.224157E-02
+171.000 5.315628E-02
+180.000 1.362600E-01
diff --git a/src/Apps/gRwght1Param.cxx b/src/Apps/gRwght1Param.cxx
index d975d7d9..2c56280c 100644
--- a/src/Apps/gRwght1Param.cxx
+++ b/src/Apps/gRwght1Param.cxx
@@ -118,6 +118,7 @@
#include "RwCalculators/GReWeightResonanceDecay.h"
#include "RwCalculators/GReWeightFZone.h"
#include "RwCalculators/GReWeightINuke.h"
+#include "RwCalculators/GReWeightINukeKinematics.h"
#include "RwCalculators/GReWeightAGKY.h"
#include "RwCalculators/GReWeightNuXSecCCQEaxial.h"
#include "RwCalculators/GReWeightNuXSecCCQEvec.h"
@@ -247,6 +248,7 @@ int main(int argc, char ** argv)
rw.AdoptWghtCalc( "hadro_res_decay", new GReWeightResonanceDecay );
rw.AdoptWghtCalc( "hadro_fzone", new GReWeightFZone );
rw.AdoptWghtCalc( "hadro_intranuke", new GReWeightINuke );
+ rw.AdoptWghtCalc( "hadro_inuke_kin", new GReWeightINukeKinematics );
rw.AdoptWghtCalc( "hadro_agky", new GReWeightAGKY );
// GReWeightDISNuclMod::CalcWeight() not implemented - don't try to use it ..
diff --git a/src/RwCalculators/GReWeightINukeKinematics.cxx b/src/RwCalculators/GReWeightINukeKinematics.cxx
new file mode 100644
index 00000000..ea94c357
--- /dev/null
+++ b/src/RwCalculators/GReWeightINukeKinematics.cxx
@@ -0,0 +1,178 @@
+#include
+#include
+
+// GENIE/Generator includes
+#include "Framework/Algorithm/AlgFactory.h"
+#include "Framework/Algorithm/AlgConfigPool.h"
+#include "Framework/Conventions/Units.h"
+#include "Framework/EventGen/EventRecord.h"
+#include "Framework/GHEP/GHepParticle.h"
+#include "Framework/Messenger/Messenger.h"
+#include "Framework/Numerical/Spline.h"
+#include "Framework/ParticleData/PDGUtils.h"
+#include "Framework/Registry/Registry.h"
+#include "Physics/NuclearState/NuclearUtils.h"
+
+// GENIE/Reweight includes
+#include "RwCalculators/GReWeightINukeKinematics.h"
+#include "RwCalculators/GReWeightUtils.h"
+#include "RwFramework/GSystUncertainty.h"
+
+using namespace genie;
+using namespace genie::rew;
+
+//_______________________________________________________________________________________
+bool GReWeightINukeKinematics::AppliesTo(const EventRecord & event) const
+{
+ auto type = event.Summary()->ProcInfo().ScatteringTypeId();
+ switch (type) {
+ case kScCoherentProduction:
+ case kScDiffractive:
+ case kScNuElectronElastic:
+ case kScAMNuGamma:
+ case kScCoherentElastic:
+ return false;
+ default:
+ return true;
+ }
+}
+
+
+//_______________________________________________________________________________________
+bool GReWeightINukeKinematics::IsHandled(GSyst_t syst) const
+{
+ switch (syst) {
+ case ( kINukeKinematicsTwkDial_NP_N ):
+ case ( kINukeKinematicsTwkDial_PP_N ):
+ case ( kINukeKinematicsFixPiPro ):
+ case ( kINukeKinematicsPiProBias ):
+ case ( kINukeKinematicsPiProBiaswFix):
+ return true;
+ default:
+ return false;
+ }
+
+ return false;
+
+}
+
+//_______________________________________________________________________________________
+void GReWeightINukeKinematics::SetSystematic(GSyst_t syst, double val)
+{
+ if (IsHandled(syst)) {
+ fRwParams.SetTwkDial(syst, val);
+ }
+}
+
+//_______________________________________________________________________________________
+void GReWeightINukeKinematics::Reset() {
+ fRwParams.Reset();
+}
+
+//_______________________________________________________________________________________
+void GReWeightINukeKinematics::Reconfigure() {}
+
+// "Lab" energy of particle p in p + t -> f1 + f2 scattering process.
+// That is -- the kinetic energy of p in the frame where t is at rest
+double TLab(const TLorentzVector &p, const TLorentzVector &f1, const TLorentzVector &f2) {
+ TLorentzVector t = f1 + f2 - p; // E.M. conservation
+ double E_p = ((p + t).Mag2() - t.M2() - p.M2())/(2.0*t.M());
+
+ return E_p - p.M();
+}
+
+// Scattering angle in p + t -> f1 + f2 scattering process,
+// in center-of-momentum (C.O.M.) frame
+double costhcm(const TLorentzVector &p, const TLorentzVector &f1, const TLorentzVector &f2) {
+ TLorentzVector t = f1 + f2 - p; // E.M. conservation
+
+ double Ecm2 = (f1 + f2).Mag2();
+
+ double E_p_cm = (Ecm2 + p.M2() - t.M2()) / (2*sqrt(Ecm2));
+ double P_p_cm = sqrt(E_p_cm*E_p_cm - p.M2());
+ double E_f1_cm = (Ecm2 + f1.M2() - f2.M2()) / (2*sqrt(Ecm2));
+ double P_f1_cm = sqrt(E_f1_cm*E_f1_cm - f1.M2());
+
+ return ((p + f1).M2() - p.M2() - f1.M2() - 2*E_p_cm*E_f1_cm) / (2*P_f1_cm*P_p_cm);
+}
+
+double GReWeightINukeKinematics::CalcWeight(const EventRecord &event) {
+ // to return
+ double event_weight = 1.;
+
+ // get the atomic mass number for the hit nucleus
+ GHepParticle * tgt = event.TargetNucleus();
+ if (!tgt) return 1.0;
+ double A = tgt->A();
+ double Z = tgt->Z();
+ if (A<=1) return 1.0;
+ if (Z<=1) return 1.0;
+
+ fRwParams.SetTargetA( A );
+
+ // Loop over stdhep entries and only calculate weights for particles.
+ // All particles that are not hadrons generated inside the nucleus are given weights of 1.0
+ int ip=-1;
+ GHepParticle * p = 0;
+ TIter event_iter(&event);
+ while ( (p = dynamic_cast(event_iter.Next())) ) {
+ ip++;
+
+ // Skip particles not rescattered by the actual hadron transport code
+ int pdgc = p->Pdg();
+ // bool is_pion = pdg::IsPion (pdgc);
+ bool is_nucleon = pdg::IsNucleon(pdgc);
+ // bool is_kaon = pdg::IsKaon( pdgc );
+ if (!is_nucleon)
+ {
+ continue;
+ }
+
+ // Skip particles with code other than 'hadron in the nucleus'
+ GHepStatus_t ist = p->Status();
+ if(ist != kIStHadronInTheNucleus)
+ {
+ continue;
+ }
+
+ // Determine the interaction type for current hadron in nucleus, if any
+ int fsi_code = p->RescatterCode();
+ LOG("ReW", pDEBUG)
+ << "Attempting to reweight hadron at position = " << ip
+ << " with PDG code = " << pdgc
+ << " and FSI code = " << fsi_code
+ << " (" << INukeHadroFates::AsString((INukeFateHA_t)fsi_code) << ")\n";
+
+ // Inelastic, Charge Exchange
+ if (fsi_code == (int)kIHAFtInelas || fsi_code == (int)kIHAFtCEx) {
+ const GHepParticle &f1 = *event.Particle(p->FirstDaughter());
+ const GHepParticle &f2 = *event.Particle(p->LastDaughter());
+
+ int np_pp = 0; // == 0 if nucleons in scatter are different, == 1 if they are the same
+ if (fsi_code == (int)kIHAFtInelas) np_pp = (f1.Pdg() != f2.Pdg()) ? 0 : 1;
+ else if (fsi_code == (int)kIHAFtCEx) np_pp = (f1.Pdg() == f2.Pdg()) ? 0 : 1;
+
+ double tlab_v = TLab(*p->P4(), *f1.P4(), *f2.P4());
+ double costhcm_v = costhcm(*p->P4(), *f1.P4(), *f2.P4());
+
+ double weight = fRwParams.CalcWeight(np_pp, tlab_v, costhcm_v);
+
+ // std::cerr << "TLab: " << tlab_v << " costhcm: " << costhcm_v << " np/pp " << np_pp << " weight: " << weight << std::endl;
+
+ event_weight *= weight;
+ }
+ // pion production
+ else if (fsi_code == (int)kIHAFtPiProd) {
+ const GHepParticle &f1 = *event.Particle(p->FirstDaughter());
+ const GHepParticle &f2 = *event.Particle(p->FirstDaughter()+1);
+ const GHepParticle &f3 = *event.Particle(p->LastDaughter());
+
+ double weight = fRwParams.CalcPionWeight(*p->P4(), *f1.P4(), *f2.P4(), *f3.P4());
+
+ event_weight *= weight;
+ }
+ }
+
+ return event_weight;
+}
+
diff --git a/src/RwCalculators/GReWeightINukeKinematics.h b/src/RwCalculators/GReWeightINukeKinematics.h
new file mode 100644
index 00000000..ddf1cfd5
--- /dev/null
+++ b/src/RwCalculators/GReWeightINukeKinematics.h
@@ -0,0 +1,68 @@
+//____________________________________________________________________________
+/*!
+
+\class genie::rew::GReWeightINukeKinematics
+
+\brief Reweighting GENIE INTRANUKE/hA hadron transport model.
+
+\author Gray Putnam
+ Fermi National Accelerator Laboratory
+
+\created Feb 14, 2025
+
+\cpright Copyright (c) 2003-2024, The GENIE Collaboration
+ For the full text of the license visit http://copyright.genie-mc.org
+*/
+//____________________________________________________________________________
+
+#ifndef _G_REWEIGHT_INUKEKINEMATICS_H_
+#define _G_REWEIGHT_INUKEKINEMATICS_H_
+
+//#define _G_REWEIGHT_INUKEKINEMATICS_DEBUG_NTP_
+
+// GENIE/Reweight includes
+#include "RwCalculators/GReWeightModel.h"
+#include "RwCalculators/GReWeightINukeKinematicsParams.h"
+
+using namespace genie::rew;
+using namespace genie;
+
+class TFile;
+class TNtuple;
+class TLorentzVector;
+
+namespace genie {
+
+ class HAIntranuke2018;
+ class GHepParticle;
+
+namespace rew {
+
+ class GReWeightINukeKinematics : public GReWeightModel
+ {
+ public:
+ GReWeightINukeKinematics(): GReWeightModel("IntraNukeKin") {}
+ ~GReWeightINukeKinematics() {}
+
+ // implement the GReWeightI interface
+ bool AppliesTo (const EventRecord & event) const;
+ bool IsHandled (GSyst_t syst) const;
+ void SetSystematic (GSyst_t syst, double val);
+ void Reset (void);
+ void Reconfigure (void);
+ double CalcWeight (const EventRecord & event);
+
+ private:
+ GReWeightINukeKinematicsParams fRwParams;
+
+#ifdef _G_REWEIGHT_INUKEKINEMATICS_DEBUG_NTP_
+ TFile * fTestFile;
+ TNtuple * fTestNtp;
+#endif
+
+ };
+
+} // rew
+} // genie
+
+#endif
diff --git a/src/RwCalculators/GReWeightINukeKinematicsParams.cxx b/src/RwCalculators/GReWeightINukeKinematicsParams.cxx
new file mode 100644
index 00000000..ac838de7
--- /dev/null
+++ b/src/RwCalculators/GReWeightINukeKinematicsParams.cxx
@@ -0,0 +1,401 @@
+#include
+#include
+
+#include
+
+// GENIE/Generator includes
+#include "Framework/Conventions/Controls.h"
+#include "Framework/Conventions/Constants.h"
+#include "Framework/Conventions/Units.h"
+#include "Framework/Messenger/Messenger.h"
+#include "Framework/Messenger/Messenger.h"
+#include "Framework/Numerical/Spline.h"
+
+// GENIE/Reweight includes
+#include "RwCalculators/GReWeightINukeKinematicsParams.h"
+#include "RwCalculators/GReWeightUtils.h"
+#include "RwFramework/GSystUncertainty.h"
+
+#include
+
+using namespace genie;
+using namespace genie::rew;
+using namespace genie::constants;
+
+//___________________________________________________________________________
+GReWeightINukeKinematicsParams::GReWeightINukeKinematicsParams():
+ fNPwgt("pn"),
+ fPPwgt("pp"),
+ fFixPiPro(false),
+ fBiasPiPro(0.) {}
+
+//___________________________________________________________________________
+void GReWeightINukeKinematicsParams::SetTargetA(int A) {(void) A;} // nothing, for now
+
+double ThreeBodyLorentzWeight(double E, double m1, double m2, double m3, double m23) {
+ double p1cm = sqrt((E*E - (m1 + m23)*(m1 + m23))*(E*E - (m1 - m23)*(m1 - m23))) / (2*E);
+ double p2cm2 = sqrt((m23*m23 - (m2+m3)*(m2+m3))*(m23*m23 - (m2-m3)*(m2-m3))) / (2*m23);
+ return p1cm*p2cm2;
+}
+
+double ThreeBodyBias(double t1p, double bias) {
+ return exp(bias*t1p);
+}
+
+double ThreeBodyLorentzWeightBias(double E, double m1, double m2, double m3, double m23, double t1p, double bias) {
+ return ThreeBodyLorentzWeight(E, m1, m2, m3, m23)*ThreeBodyBias(t1p, bias);
+}
+
+// param should point to a list of 4 doubles: E, m1, m2, m3
+double ParamsThreeBodyLorentzWeight(double m23, void *param) {
+ double *M = (double *)param;
+ return ThreeBodyLorentzWeight(M[0], M[1], M[2], M[3], m23);
+}
+
+double AvgThreeBodyLorentzWeight(double E, double m1, double m2, double m3) {
+ double M[4] = {E, m1, m2, m3};
+
+ gsl_integration_workspace * w = gsl_integration_workspace_alloc(1000);
+ gsl_function F;
+ F.function = &ParamsThreeBodyLorentzWeight;
+ F.params = (void*)M;
+ double result, error;
+ gsl_integration_qags(&F, m2+m3, E-m1, 0, 1.0e-7, 1000, w, &result, &error);
+ gsl_integration_workspace_free(w);
+ return result / (E - m1 - m2 - m3);
+}
+
+// param should point to a list of 7 doubles: E, m1, m2, m3, m23, mp, bias
+double ParamsThreeBodyLorentzWeightBiasInner(double costh1p, void *param) {
+ double *M = (double *)param;
+ double E = M[0];
+ double m1 = M[1];
+ double m2 = M[2];
+ double m3 = M[3];
+ double m23 = M[4];
+ double mp = M[5];
+ double bias = M[6];
+
+ // calculate the energy transfer from the projectile to particle 1
+ double p1 = sqrt((E*E - (m1 + m23)*(m1 + m23))*(E*E - (m1 - m23)*(m1 - m23))) / (2*E);
+ double e1 = sqrt(p1*p1 + m1*m1);
+ // assume equal masses in collision
+ double ep = E / 2;
+ double pp = sqrt(ep*ep - mp*mp);
+ double t1p = m1*m1 + mp*mp - 2*(ep*e1 - pp*p1*costh1p); // == (pp - p1)**2
+
+ return ThreeBodyLorentzWeightBias(E, m1, m2, m3, m23, t1p, bias);
+}
+
+// param should point to a list of 6 doubles: E, m1, m2, m3, mp, bias
+double ParamsThreeBodyLorentzWeightBias(double m23, void *param) {
+ double *M = (double *)param;
+ double E = M[0];
+ double m1 = M[1];
+ double m2 = M[2];
+ double m3 = M[3];
+ double mp = M[4];
+ double bias = M[5];
+
+ double Minner[7] = {E, m1, m2, m3, m23, mp, bias};
+
+ gsl_integration_workspace * w = gsl_integration_workspace_alloc(1000);
+ gsl_function F;
+ F.function = &ParamsThreeBodyLorentzWeightBiasInner;
+ F.params = (void*)Minner;
+ double result, error;
+ gsl_integration_qags(&F, -1, 1, 0, 1.0e-7, 1000, w, &result, &error);
+ gsl_integration_workspace_free(w);
+ return result / 2; // divide out integration range
+}
+
+double AvgThreeBodyLorentzWeightBias(double E, double m1, double m2, double m3, double mp, double bias) {
+ double M[6] = {E, m1, m2, m3, mp, bias};
+
+ gsl_integration_workspace * w = gsl_integration_workspace_alloc(1000);
+ gsl_function F;
+ F.function = &ParamsThreeBodyLorentzWeightBias;
+ F.params = (void*)M;
+ double result, error;
+ gsl_integration_qags(&F, m2+m3, E-m1, 0, 1.0e-7, 1000, w, &result, &error);
+ gsl_integration_workspace_free(w);
+ return result / (E - m1 - m2 - m3);
+}
+
+// param should point to a list of 5 doubles: E, m1, m23, mp, bias
+double ParamsThreeBodyBiasInner(double costh1p, void *param) {
+ double *M = (double *)param;
+ double E = M[0];
+ double m1 = M[1];
+ double m23 = M[2];
+ double mp = M[3];
+ double bias = M[4];
+
+ // calculate the energy transfer from the projectile to particle 1
+ double p1 = sqrt((E*E - (m1 + m23)*(m1 + m23))*(E*E - (m1 - m23)*(m1 - m23))) / (2*E);
+ double e1 = sqrt(p1*p1 + m1*m1);
+ // assume equal masses in collision
+ double ep = E / 2;
+ double pp = sqrt(ep*ep - mp*mp);
+ double t1p = m1*m1 + mp*mp - 2*(ep*e1 - pp*p1*costh1p); // == (pp - p1)**2
+
+ return ThreeBodyBias(t1p, bias);
+}
+
+// param should point to a list of 4 doubles: E, m1, mp, bias
+double ParamsThreeBodyBias(double m23, void *param) {
+ double *M = (double *)param;
+ double E = M[0];
+ double m1 = M[1];
+ double mp = M[2];
+ double bias = M[3];
+
+ double Minner[5] = {E, m1, m23, mp, bias};
+
+ gsl_integration_workspace * w = gsl_integration_workspace_alloc(1000);
+ gsl_function F;
+ F.function = &ParamsThreeBodyBiasInner;
+ F.params = (void*)Minner;
+ double result, error;
+ gsl_integration_qags(&F, -1, 1, 0, 1.0e-7, 1000, w, &result, &error);
+ gsl_integration_workspace_free(w);
+ return result / 2; // divide out integration range
+}
+
+double AvgThreeBodyBias(double E, double m1, double m2, double m3, double mp, double bias) {
+ double M[4] = {E, m1, mp, bias};
+
+ gsl_integration_workspace * w = gsl_integration_workspace_alloc(1000);
+ gsl_function F;
+ F.function = &ParamsThreeBodyBias;
+ F.params = (void*)M;
+ double result, error;
+ gsl_integration_qags(&F, m2+m3, E-m1, 0, 1.0e-7, 1000, w, &result, &error);
+ gsl_integration_workspace_free(w);
+ return result / (E - m1 - m2 - m3);
+}
+
+double GReWeightINukeKinematicsParams::CalcPionWeight(TLorentzVector p, TLorentzVector f1, TLorentzVector f2, TLorentzVector f3) {
+ double weight = 1.;
+
+ double E = (f1 + f2 + f3).M();
+ if (fFixPiPro && fBiasPiPro != 0.) {
+ // Momentum transfer from parent to child nulceon
+ double t1p = (p - f1).M2();
+
+ // mass of 2-3 system
+ double m23 = (f2 + f3).M();
+
+ double bias_fix_weight = ThreeBodyLorentzWeightBias(E, f1.M(), f2.M(), f3.M(), m23, t1p, fBiasPiPro);
+ double ave_weight = AvgThreeBodyLorentzWeightBias(E, f1.M(), f2.M(), f3.M(), p.M(), fBiasPiPro);
+ weight = bias_fix_weight / ave_weight;
+ }
+ else if (fBiasPiPro != 0.) {
+ // Momentum transfer from parent to child nulceon
+ double t1p = (p - f1).M2();
+ double bias_weight = ThreeBodyBias(t1p, fBiasPiPro);
+ double ave_weight = AvgThreeBodyBias(E, f1.M(), f2.M(), f3.M(), p.M(), fBiasPiPro);
+ weight = bias_weight / ave_weight;
+ }
+ else if (fFixPiPro) {
+ // mass of 2-3 system
+ double m23 = (f2 + f3).M();
+
+ // fix angles
+ TVector3 boost_to_COM = -(f1+f2+f3).BoostVector();
+ TLorentzVector f1_COM(f1);
+ f1_COM.Boost(boost_to_COM);
+ TVector3 z_dir = (f1+f2+f3).Vect().Unit();
+ double costh1 = f1_COM.Vect().Unit().Dot(z_dir);
+ double sinth1 = sqrt(1 - costh1*costh1);
+
+ TVector3 boost_to_COM2 = -(f2+f3).BoostVector();
+ TLorentzVector f2_COM2(f2);
+ f2_COM2.Boost(boost_to_COM2);
+ TVector3 z_dir2 = (f2+f3).Vect().Unit();
+ double costh2 = f2_COM2.Vect().Unit().Dot(z_dir2);
+ double sinth2 = sqrt(1 - costh2*costh2);
+
+ double fix_weight = ThreeBodyLorentzWeight(E, f1.M(), f2.M(), f3.M(), m23)*sinth1*sinth2;
+ double ave_weight = AvgThreeBodyLorentzWeight(E, f1.M(), f2.M(), f3.M()) * (2./M_PI) * (2./M_PI);
+ weight = fix_weight / ave_weight;
+ }
+
+ return weight;
+}
+
+double GReWeightINukeKinematicsParams::CalcWeight(int np_pp, float tlab, float costhcm) {
+ if (np_pp == 0)
+ return fNPwgt.CalcWeight(tlab, costhcm);
+
+ return fPPwgt.CalcWeight(tlab, costhcm);
+}
+
+//___________________________________________________________________________
+void GReWeightINukeKinematicsParams::SetTwkDial(GSyst_t syst, double val)
+{
+ if (syst == kINukeKinematicsTwkDial_NP_N) {
+ fNPwgt.SetUniverse((int)val);
+ }
+ else if (syst == kINukeKinematicsTwkDial_PP_N) {
+ fPPwgt.SetUniverse((int)val);
+ }
+ else if (syst == kINukeKinematicsFixPiPro) {
+ if (val != 0.) fFixPiPro = true;
+ }
+ else if (syst == kINukeKinematicsPiProBias) {
+ if (val < 0) LOG("ReW", pERROR) << "It is unphysical to bias pion production with a negative 'B' value. Therefore, only positive sigma values are physical.";
+
+ GSystUncertainty * fracerr = GSystUncertainty::Instance();
+ fBiasPiPro = val*fracerr->OneSigmaErr(kINukeKinematicsPiProBias);
+ }
+ else if (syst == kINukeKinematicsPiProBiaswFix) {
+ GSystUncertainty * fracerr = GSystUncertainty::Instance();
+ fBiasPiPro = val*fracerr->OneSigmaErr(kINukeKinematicsPiProBiaswFix);
+ fFixPiPro = true;
+ }
+}
+
+//___________________________________________________________________________
+void GReWeightINukeKinematicsParams::Reset() {
+ fNPwgt.Reset();
+ fPPwgt.Reset();
+ fFixPiPro = false;
+ fBiasPiPro = 0.;
+}
+
+void GReWeightINukeKinematicsParams::ReBounce::Reset() {
+ fRewt.reset();
+ fCache.clear();
+}
+
+//___________________________________________________________________________
+void GReWeightINukeKinematicsParams::ReBounce::SetUniverse(int u) {
+ fUniverse = u;
+
+ if (u == 0) { // set to CV
+ fRewt.reset();
+ return;
+ }
+
+ LoadUniverse(u);
+ fRewt = fCache[u];
+}
+
+double GReWeightINukeKinematicsParams::ReBounce::CalcWeight(float tlab,
+ float costhcm)
+{
+ // std::cout << "UNIVERSE: " << fUniverse << " VALID: " << ((int)!!fRewt) << " dw: " << ((!fRewt) ? 0. : fRewt->Evaluate(tlab, costhcm)) << std::endl;
+ if (!fRewt) return 1;
+
+ return 1 + fRewt->Evaluate(tlab, costhcm);
+}
+
+// Helper function for reading hN cross section file
+//____________________________________________________________________________
+void ReadhNFile(
+ string filename, double ke, int npoints, int & curr_point,
+ double * costh_array, double * wgt_array, int cols)
+{
+ // open
+ std::ifstream hN_stream(filename.c_str(), std::ios::in);
+ if(!hN_stream.good()) {
+ LOG("ReW", pERROR)
+ << "Error reading INTRANUKE/hN data from: " << filename;
+ return;
+ }
+ if(cols<2) {
+ LOG("ReW", pERROR)
+ << "Error reading INTRANUKE/hN data from: " << filename;
+ LOG("ReW", pERROR)
+ << "Too few columns: " << cols;
+ return;
+ }
+
+ LOG("ReW", pINFO)
+ << "Reading INTRANUKE/hN data from: " << filename;
+
+ // skip initial comments
+ char cbuf[501];
+ hN_stream.getline(cbuf,400);
+ hN_stream.getline(cbuf,400);
+ hN_stream.getline(cbuf,400);
+
+ // read
+ double angle = 0;
+ double wgt = 0;
+ double trash = 0;
+
+ for(int ip = 0; ip < npoints; ip++) {
+ hN_stream >> angle >> wgt;
+
+ for(int ic = 0; ic < (cols-2); ic++) {
+ hN_stream >> trash;
+ }
+
+ LOG("ReW", pDEBUG)
+ << "Adding data point: (KE = " << ke << " MeV, angle = "
+ << angle << ", sigma = " << wgt << ")";
+ costh_array[ip] = TMath::Cos(angle*kPi/180.);
+ wgt_array [curr_point] = wgt;
+ curr_point++;
+ }
+}
+
+std::shared_ptr LoadWgts(std::string fname) {
+
+ // Load location of hadron data used for systematic variations
+ const char* grw = gSystem->Getenv( "GENIE_REWEIGHT" );
+ if ( !grw ) {
+ LOG( "ReW", pFATAL ) << "The GENIE_REWEIGHT environment variable is unset";
+ std::exit( 1 );
+ }
+
+ const std::string data_dir = grw + std::string( "/data/intranuke/"
+ "diff_ang_variations/" );
+
+ // Hard-coded parameters for hadron data, taken from
+ // Physics/HadronTransport/INukeHadroData2018.cxx
+ const int hN_wgt_nfiles = 20;
+ const int hN_wgt_points_per_file = 21;
+ const int hN_wgt_npoints = hN_wgt_points_per_file * hN_wgt_nfiles;
+
+ double hN_wgt_energies[hN_wgt_nfiles] = {
+ 50, 100, 150, 200, 250, 300, 350, 400, 450, 500,
+ 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000
+ };
+
+ double hN_wgt_costh [hN_wgt_points_per_file] = {};
+ double hN_wgt_wgt [hN_wgt_npoints] = {};
+
+ int ipoint=0;
+
+ for(int ifile = 0; ifile < hN_wgt_nfiles; ifile++) {
+ // build filename
+ std::ostringstream hN_datafile;
+ double ke = hN_wgt_energies[ifile];
+ hN_datafile << data_dir << "/" << fname << ke << ".txt";
+ // read data
+ ReadhNFile(
+ hN_datafile.str(), ke, hN_wgt_points_per_file,
+ ipoint, hN_wgt_costh, hN_wgt_wgt, 2
+ );
+ }//loop over files
+
+ return std::make_shared< BLI2DNonUnifGrid >( hN_wgt_nfiles,
+ hN_wgt_points_per_file, hN_wgt_energies,hN_wgt_costh, hN_wgt_wgt );
+}
+
+GReWeightINukeKinematicsParams::ReBounce::~ReBounce() {}
+
+GReWeightINukeKinematicsParams::ReBounce::ReBounce(std::string n):
+ fUniverse(0), fName(n) {}
+
+void GReWeightINukeKinematicsParams::ReBounce::LoadUniverse(int u) {
+ // Do nothing if we already have the wgt
+ if (fCache.count(u) > 0) return;
+
+ std::string file_name = "diff_ang_univ" + std::to_string(u) + "/"
+ + fName + "/" + fName;
+ fCache[u] = LoadWgts(file_name);
+}
diff --git a/src/RwCalculators/GReWeightINukeKinematicsParams.h b/src/RwCalculators/GReWeightINukeKinematicsParams.h
new file mode 100644
index 00000000..f876dcc9
--- /dev/null
+++ b/src/RwCalculators/GReWeightINukeKinematicsParams.h
@@ -0,0 +1,53 @@
+#ifndef _G_REWEIGHT_INTRANUKEKINEMATICS_PARAMS_H_
+#define _G_REWEIGHT_INTRANUKEKINEMATICS_PARAMS_H_
+
+#include