diff --git a/config/LwlynSmithFFCC.xml b/config/LwlynSmithFFCC.xml index 6d19b72d44..55a55d88cd 100644 --- a/config/LwlynSmithFFCC.xml +++ b/config/LwlynSmithFFCC.xml @@ -28,7 +28,10 @@ SU3-F double No Co Axial form factors used for QEL CC cross section calculation. Options are: - genie::DipoleAxialFormFactorModel - - genie::ZExpAxialFormFactorModel, Bhattacharya, Paz, and Hill, Phys.Rev. D84 (2011) 073006 + - genie::ZExpAxialFormFactorModel, Bhattacharya, Paz, and Hill, Phys.Rev. D84 (2011) 073006 + + Added additional configurations, `minerva` and `lqcd` + Meyer et al (MINERvA), arXiv: 2512.14097 + + Added `minervaNature` configuration, Cai et al (MINERvA), Nature 614 (2023) 48-53 - genie::MArunAxialFormFactorModel, Kakorin,Kuzmin,Naumov, Eur.Phys.J.C 81 (2021) 1142 genie::ZExpAxialFormFactorModel/Default --> @@ -36,17 +39,26 @@ SU3-F double No Co genie::DipoleAxialFormFactorModel/Default - genie::ZExpAxialFormFactorModel/Default + + + + genie::ZExpAxialFormFactorModel/minerva + + + genie::ZExpAxialFormFactorModel/minervaNature + + + + genie::ZExpAxialFormFactorModel/lqcd genie::MArunAxialFormFactorModel/Default - diff --git a/config/NievesQELCCPXSec.xml b/config/NievesQELCCPXSec.xml index 2f41146ef5..02ebbc6e6b 100644 --- a/config/NievesQELCCPXSec.xml +++ b/config/NievesQELCCPXSec.xml @@ -82,5 +82,11 @@ RmaxMode string Yes Method to use to comput genie::LwlynSmithFFCC/ZExp + + genie::LwlynSmithFFCC/ZExp_lqcd + + + genie::LwlynSmithFFCC/ZExp_minerva + diff --git a/config/ZExpAxialFormFactorModel.xml b/config/ZExpAxialFormFactorModel.xml index b95d547539..b68b9a1b55 100644 --- a/config/ZExpAxialFormFactorModel.xml +++ b/config/ZExpAxialFormFactorModel.xml @@ -7,26 +7,22 @@ Configuration sets for the z-expansion axial form factor model. Algorithm Configurable Parameters: ......................................................................................... -Name Type Optional Comment Default +Name Type Optional Comment Default ......................................................................................... -QEL-T0 double Yes z convergence parameter GPL value: QEL-T0 -QEL-Z_A1 double Yes z expansion coefficient GPL value: QEL-Z_A1 -QEL-Z_A2 double Yes z expansion coefficient GPL value: QEL-Z_A2 -QEL-Z_A3 double Yes z expansion coefficient GPL value: QEL-Z_A3 -QEL-Z_A4 double Yes z expansion coefficient GPL value: QEL-Z_A4 -QEL-Z_A5 double Yes z expansion coefficient GPL value: QEL-Z_A5 -QEL-Z_A6 double Yes z expansion coefficient GPL value: QEL-Z_A6 -QEL-Z_A7 double Yes z expansion coefficient GPL value: QEL-Z_A7 -QEL-Z_A8 double Yes z expansion coefficient GPL value: QEL-Z_A8 -QEL-Z_A9 double Yes z expansion coefficient GPL value: QEL-Z_A9 -QEL-Z_A10 double Yes z expansion coefficient GPL value: QEL-Z_A10 -QEL-Kmax int Yes max summation index GPL value: QEL-Kmax -QEL-Tcut double Yes ?? GPL value - -QEL-Q4limit bool Yes 1/Q^4 limit conditions GPL value: QEL-Q4limit +QEL-T0 double Yes z convergence parameter GPL value: QEL-T0 +QEL-Z_A vec-double Yes z expansion coefficient GPL value: QEL-Z_A +QEL-Kmax int Yes max summation index GPL value: QEL-Kmax +QEL-Tcut double Yes ?? GPL value + +QEL-Q4limit bool Yes 1/Q^4 limit conditions GPL value: QEL-Q4limit + + +Only using for reweight +ZExpZAFF@CovarianceMatrix mat-double Yes covariance matrix GPL value: ZExpZAFF@CovarianceMatrix --> + QuasiElastic @@ -37,13 +33,60 @@ QEL-Q4limit bool Yes 1/Q^4 limit conditions GPL value: QEL-Q4limit -0.28 0.1764 - 2.30 - -0.6 - -3.8 - 2.3 - + 2.30; -0.6; -3.8; 2.3 + + data/covariances/FormFactor/Axial/AxialZExpFF_Deuterium.dat + + + + + + QuasiElastic + + true + 2 + + -0.5 + 0.161604 + + 1.72089706; -0.30982708 + data/covariances/FormFactor/Axial/AxialZExpFF_LQCD.dat + + + + + QuasiElastic + + true + 2 + + -0.5 + 0.161604 + + 1.64778080; -0.94181417 + data/covariances/FormFactor/Axial/AxialZExpFF_minervaElementaryTarget.dat + + + + + + QuasiElastic + true + 4 + + -0.75 + 0.1764 + + 1.50; -1.2; -0.1; 0.2 + data/covariances/FormFactor/Axial/AxialZExpFF_minervaNature4x4.dat + + diff --git a/config/ZExpELFormFactorModel.xml b/config/ZExpELFormFactorModel.xml index 03bf5420f1..3e9188e71a 100644 --- a/config/ZExpELFormFactorModel.xml +++ b/config/ZExpELFormFactorModel.xml @@ -7,24 +7,20 @@ Configuration sets for the z-expansion axial form factor model. Algorithm Configurable Parameters: ......................................................................................... -Name Type Optional Comment Default +Name Type Optional Comment Default ......................................................................................... -QEL-T0 double Yes z convergence parameter GPL value: QEL-T0 -QEL-Z_A1 double Yes z expansion coefficient GPL value: QEL-Z_A1 -QEL-Z_A2 double Yes z expansion coefficient GPL value: QEL-Z_A2 -QEL-Z_A3 double Yes z expansion coefficient GPL value: QEL-Z_A3 -QEL-Z_A4 double Yes z expansion coefficient GPL value: QEL-Z_A4 -QEL-Z_A5 double Yes z expansion coefficient GPL value: QEL-Z_A5 -QEL-Z_A6 double Yes z expansion coefficient GPL value: QEL-Z_A6 -QEL-Z_A7 double Yes z expansion coefficient GPL value: QEL-Z_A7 -QEL-Z_A8 double Yes z expansion coefficient GPL value: QEL-Z_A8 -QEL-Z_A9 double Yes z expansion coefficient GPL value: QEL-Z_A9 -QEL-Z_A10 double Yes z expansion coefficient GPL value: QEL-Z_A10 -QEL-Kmax int Yes max summation index GPL value: QEL-Kmax -QEL-Tcut double Yes ?? GPL value - -QEL-Q4limit bool Yes 1/Q^4 limit conditions GPL value: QEL-Q4limit - +QEL-T0 double Yes z convergence parameter GPL value: QEL-T0 +QEL-Z_AP vec-double Yes z expansion coefficient GPL value: QEL-Z_AP +QEL-Z_BP vec-double Yes z expansion coefficient GPL value: QEL-Z_BP +QEL-Z_AN vec-double Yes z expansion coefficient GPL value: QEL-Z_AN +QEL-Z_BN vec-double Yes z expansion coefficient GPL value: QEL-Z_BN +QEL-Kmax int Yes max summation index GPL value: QEL-Kmax +QEL-Tcut double Yes ?? GPL value + +QEL-Q4limit bool Yes 1/Q^4 limit conditions GPL value: QEL-Q4limit + +Only using for reweight +ZExpELFF@CovarianceMatrix mat-double Yes covariance matrix GPL value: ZExpELFF@CovarianceMatrix --> @@ -42,6 +38,7 @@ QEL-Q4limit bool Yes 1/Q^4 limit conditions GPL value: QEL-Q4limit 0.084252682465; -0.278572218873; -0.153916309312; 0.353999966588 2.706784556423; -0.424305225602; -2.662453066640; 0.067583076040 + data/covariances/FormFactor/Vector/ELZExpFF.dat diff --git a/data/covariances/FormFactor/Axial/AxialZExpFF_Deuterium.dat b/data/covariances/FormFactor/Axial/AxialZExpFF_Deuterium.dat new file mode 100644 index 0000000000..14e54030e1 --- /dev/null +++ b/data/covariances/FormFactor/Axial/AxialZExpFF_Deuterium.dat @@ -0,0 +1,9 @@ +% error matrix for z expansion axial form factor +% based on A. Meyer et al (MINERvA), https://arxiv.org/pdf/1603.03048 (LQCD kmax=8, the 4 free parameters) +% See Eq. 31, 32, 33 +% Using Eq. 32 and Eq.33 to get covariance matrix +% | an | an is a 4x4 matrix + 2.3716000e-04 5.8212000e-03 -6.8285448e-02 6.9629560e-02 + 5.8212000e-03 1.1664000e+00 -6.3427536e+00 2.9330640e+00 +-6.8285448e-02 -6.3427536e+00 4.2771600e+01 -3.3151260e+01 + 6.9629560e-02 2.9330640e+00 -3.3151260e+01 5.4760000e+01 diff --git a/data/covariances/FormFactor/Axial/AxialZExpFF_LQCD.dat b/data/covariances/FormFactor/Axial/AxialZExpFF_LQCD.dat new file mode 100644 index 0000000000..67b325ef1a --- /dev/null +++ b/data/covariances/FormFactor/Axial/AxialZExpFF_LQCD.dat @@ -0,0 +1,6 @@ +% error matrix for z expansion axial form factor +% based on A. Meyer et al (MINERvA), arXiv 2512.14097 (LQCD kmax=6, the 2 free parameters) +% See Eq. 40 +% | an | an is a 2x2 matrix +0.00265598 -0.00562374 +-0.00562374 0.01596000 diff --git a/data/covariances/FormFactor/Axial/AxialZExpFF_minervaElementaryTarget.dat b/data/covariances/FormFactor/Axial/AxialZExpFF_minervaElementaryTarget.dat new file mode 100644 index 0000000000..f3157c7797 --- /dev/null +++ b/data/covariances/FormFactor/Axial/AxialZExpFF_minervaElementaryTarget.dat @@ -0,0 +1,6 @@ +% error matrix for z expansion axial form factor +% based on A. Meyer et al (MINERvA), arXiv 2512.14097 (kmax=6, the 2 free parameters) +% See Eq. 32 +% | an | an is a 2x2 matrix +0.05554150 -0.03262482 +-0.03262482 0.09151761 diff --git a/data/covariances/FormFactor/Axial/AxialZExpFF_minervaNature2x2.dat b/data/covariances/FormFactor/Axial/AxialZExpFF_minervaNature2x2.dat new file mode 100644 index 0000000000..99dff747a8 --- /dev/null +++ b/data/covariances/FormFactor/Axial/AxialZExpFF_minervaNature2x2.dat @@ -0,0 +1,6 @@ +% error matrix for z expansion axial form factor +% based on MINERvA nature, (kmax=6, the 2 free parameters) +% See Supplementary information Table 4 and Table 5 +% | an | an is a 2x2 matrix + 0.1089 -0.12045 +-0.12045 0.25 diff --git a/data/covariances/FormFactor/Axial/AxialZExpFF_minervaNature4x4.dat b/data/covariances/FormFactor/Axial/AxialZExpFF_minervaNature4x4.dat new file mode 100644 index 0000000000..148fc9bd2c --- /dev/null +++ b/data/covariances/FormFactor/Axial/AxialZExpFF_minervaNature4x4.dat @@ -0,0 +1,8 @@ +% error matrix for z expansion axial form factor +% based on MINERvA nature, (kmax=8, the 4 free parameters) +% See Supplementary information Table 4 and Table 5 +% | an | an is a 4x4 matrix + 9.6100e-02 2.6040e-03 -5.4777e-01 5.6420e-01 + 2.6040e-03 4.9000e-01 -4.2560e-01 -1.9110e+00 +-5.4777e-01 -4.2560e-01 3.6100e+00 -1.7955e+00 + 5.6420e-01 -1.9110e+00 -1.7955e+00 1.2250e+01 diff --git a/data/covariances/ELZExpFF.dat b/data/covariances/FormFactor/Vector/ELZExpFF.dat similarity index 100% rename from data/covariances/ELZExpFF.dat rename to data/covariances/FormFactor/Vector/ELZExpFF.dat diff --git a/data/covariances/Readme b/data/covariances/Readme new file mode 100644 index 0000000000..00c0c5cbd5 --- /dev/null +++ b/data/covariances/Readme @@ -0,0 +1,5 @@ +This directory contains covariance matrices for the parameters of neutrino–nucleus interaction models. + +Now we have +- z expansion vector form factor +- z expansion axial form factor diff --git a/data/covariances/testmat.dat b/data/covariances/testmat.dat deleted file mode 100644 index b409741dd4..0000000000 --- a/data/covariances/testmat.dat +++ /dev/null @@ -1,6 +0,0 @@ -% a matrix with 2 columns and 5 rows -1.0 1.1 -2.0 2.1 -2.0 2.1 -2.0 2.1 -1.0 5.3 diff --git a/src/Physics/QuasiElastic/XSection/ZExpAxialFormFactorModel.cxx b/src/Physics/QuasiElastic/XSection/ZExpAxialFormFactorModel.cxx index 93f462eb08..921b6df6f4 100644 --- a/src/Physics/QuasiElastic/XSection/ZExpAxialFormFactorModel.cxx +++ b/src/Physics/QuasiElastic/XSection/ZExpAxialFormFactorModel.cxx @@ -42,7 +42,6 @@ AxialFormFactorModelI("genie::ZExpAxialFormFactorModel", config) //____________________________________________________________________________ ZExpAxialFormFactorModel::~ZExpAxialFormFactorModel() { - delete[] fZ_An; } //____________________________________________________________________________ double ZExpAxialFormFactorModel::FA(const Interaction * interaction) const @@ -230,15 +229,21 @@ void ZExpAxialFormFactorModel::LoadConfig(void) assert(fKmax > 0); // z expansion coefficients - if (fQ4limit) fZ_An = new double [fKmax+5]; - else fZ_An = new double [fKmax+1]; - + if(fQ4limit){ + fZ_An.resize(fKmax+5); + } + else{ + fZ_An.resize(fKmax+1); + } // load the user-defined coefficient values // -- A0 and An for n tmp_Z_A; + if(this->GetParamVect("QEL-Z_A", tmp_Z_A) != fKmax){ + LOG("ZExpAxialFormFactorModel",pERROR) << "Wrong size of QEL-Z_A coefficients " << tmp_Z_A.size(); + exit(1); + } for (int ip=1;ipFixCoeffs(); diff --git a/src/Physics/QuasiElastic/XSection/ZExpAxialFormFactorModel.h b/src/Physics/QuasiElastic/XSection/ZExpAxialFormFactorModel.h index d349041bd6..86c424db49 100644 --- a/src/Physics/QuasiElastic/XSection/ZExpAxialFormFactorModel.h +++ b/src/Physics/QuasiElastic/XSection/ZExpAxialFormFactorModel.h @@ -60,8 +60,7 @@ class ZExpAxialFormFactorModel : public AxialFormFactorModelI { double fT0; double fTcut; double fFA0; - //double fZ_An[11]; - double* fZ_An; + std::vector fZ_An; }; } // genie namespace diff --git a/src/Physics/QuasiElastic/XSection/ZExpELFormFactorModel.h b/src/Physics/QuasiElastic/XSection/ZExpELFormFactorModel.h index d87cfd0257..afa4b889fd 100644 --- a/src/Physics/QuasiElastic/XSection/ZExpELFormFactorModel.h +++ b/src/Physics/QuasiElastic/XSection/ZExpELFormFactorModel.h @@ -65,7 +65,6 @@ class ZExpELFormFactorModel : public ELFormFactorsModelI { double fGmp0; double fGen0; double fGmn0; - //double fZ_An[11]; std::vector fZ_APn; std::vector fZ_BPn; std::vector fZ_ANn;