diff --git a/config/AhrensNCELPXSec.xml b/config/AhrensNCELPXSec.xml index f820c1ed1..92bd05002 100644 --- a/config/AhrensNCELPXSec.xml +++ b/config/AhrensNCELPXSec.xml @@ -9,8 +9,8 @@ Configurable Parameters: .......................................................................................... Name Type Optional Comment Default .......................................................................................... -QEL-Ma double No Axial Mass ComomnParam[QuasiElastic] -QEL-Mv double No Vector Mass ComomnParam[QuasiElastic] +QEL-Ma double No Axial Mass CommonParam[QuasiElastic] +QEL-Mv double No Vector Mass CommonParam[QuasiElastic] EL-Axial-Eta double No Strange Axial form factor QEL-Fa0 double No Fa(q2=0) CommonParam[QuasiElastic] AnomMagnMoment-P double No p Anomalous Magn Moment CommonParam[MagnMoments] diff --git a/config/AhrensNCELStrangeFF.xml b/config/AhrensNCELStrangeFF.xml new file mode 100644 index 000000000..912c6c55c --- /dev/null +++ b/config/AhrensNCELStrangeFF.xml @@ -0,0 +1,21 @@ + + + + + + + + genie::DipoleAxialFormFactorModel/Default + 0.12 + + + diff --git a/config/BBA03ELFormFactorsModel.xml b/config/BBA03ELFormFactorsModel.xml index 2b1349c05..354570638 100644 --- a/config/BBA03ELFormFactorsModel.xml +++ b/config/BBA03ELFormFactorsModel.xml @@ -9,7 +9,7 @@ Configurable Parameters: ......................................................................................... Name Type Optional Comment Default ......................................................................................... -EL-Mv double No Vector Mass +QEL-Mv double No Vector Mass CommonParam[QuasiElastic] AnomMagnMoment-P double No p Anomalous Magn Moment CommonParam[MagnMoments] AnomMagnMoment-N double No n Anomalous Magn Moment CommonParam[MagnMoments] Gep-a2 double No BBA2003 fit param for Gep bba2003::kGep_a2 @@ -38,9 +38,7 @@ Q2Max double No Q2>Q2max :Gep/Gmp is const bba2003::kQ2M - MagnMoments - - 0.840 + QuasiElastic,MagnMoments - MagnMoments - - - + QuasiElastic,MagnMoments - diff --git a/config/LwlynSmithFFEM.xml b/config/LwlynSmithFFEM.xml new file mode 100644 index 000000000..909eb0b75 --- /dev/null +++ b/config/LwlynSmithFFEM.xml @@ -0,0 +1,33 @@ + + + + + + + + + WeakInt,MagnMoments,StrongInt,ElasticFF + + + genie::DipoleAxialFormFactorModel/Default + + + + diff --git a/config/LwlynSmithFFNC.xml b/config/LwlynSmithFFNC.xml index b36dd6343..06b4e432b 100644 --- a/config/LwlynSmithFFNC.xml +++ b/config/LwlynSmithFFNC.xml @@ -8,22 +8,25 @@ Configuration sets for Llewellyn-Smith QEL NC form factors Configurable Parameters: ........................................................................................................ Name Type Optional Comment Default -ElasticFormFactorsModel alg No Elastic form factors model CommonParam[ElasticFF] +ElasticFormFactorsModel alg No Elastic form factors model CommonParam[ElasticFF] UseElFFTransverseEnhancement bool No CommonParam[ElasticFF] -TransverseEnhancement alg No TransverseEnhancement model CommonParam[ElasticFF] -AxialFormFactorModel alg No Axial form factor model +TransverseEnhancement alg No TransverseEnhancement model CommonParam[ElasticFF] +AxialFormFactorModel alg No Axial form factor model AnomMagnMoment-P double No CommonParam[MagnMoments] AnomMagnMoment-N double No CommonParam[MagnMoments] -WeinbergAngle double No Weinberg angle CommonParam[WeakInt] +WeinbergAngle double No Weinberg angle CommonParam[WeakInt] SU3-D double No CommonParam[StrongInt] SU3-F double No CommonParam[StrongInt] +StrangeFormFactorsModel alg No NC strange form factors model ........................................................................................................ --> + WeakInt,MagnMoments,StrongInt,ElasticFF genie::DipoleAxialFormFactorModel/Default + genie::AhrensNCELStrangeFF/Default diff --git a/config/N19_00a/CommonParam.xml b/config/N19_00a/CommonParam.xml new file mode 100644 index 000000000..2e8b5ea87 --- /dev/null +++ b/config/N19_00a/CommonParam.xml @@ -0,0 +1,332 @@ + + + + + + + + + + + + + + + + + + + + + 0.501716712132 + + + + + 0.804 + 0.463 + + + + + + + 0.97417 + 0.2248 + 0.220 + 0.995 + + 0.227780466682 + + + + + + + 1.4 + 3.0 + + + + + 1.430 + + + + + + true + 1.7 + + + 0.100 + 1.000 + 0.100 + 1.000 + 0.300 + 1.000 + 0.300 + 1.000 + 0.300 + 1.000 + 0.300 + 1.000 + 0.100 + 1.000 + 0.100 + 1.000 + + + + + + + 0.5000 + 0.0170 + 0.0250 + 0.0270 + 0.0320 + 0.0295 + 0.0280 + 0.0300 + 0.0360 + 0.0360 + 0.0440 + false + + + Default + + + + + + + + 0.00 + 0.05 + 1.0 + 1.0 + 1.0 + 0.041 + 1.0 + 0.250 + true + true + true + + + + 0.5 + 0.7 + + + + 0.0 + 0.0 + true + + + + + 1.000 + + + 0.000 + 1.000 + + + 0.250 + + + + + + + + 7.0 + + + 0.35 + + + + + + -1.2694 + + + 1.0 + 0.83374457 + + + + + + 2.79278 + -1.91315 + + + + + + 1.2 + + + + + genie::DipoleELFormFactorsModel/Default + + + false + genie::TransverseEnhancementFFModel/Default + + + + + + + P33(1232),S11(1535),D13(1520),S11(1650),D13(1700),D15(1675), + S31(1620),D33(1700),P11(1440),P33(1600),P13(1720),F15(1680), + P31(1910),P33(1920),F35(1905),F37(1950),P11(1710),F17(1970) + + + + + + false + + + + + + + 0.1 + + + + + + + + 2.30 + 3.00 + + + + + + + 0.010 + 1000.000 + + + + diff --git a/config/N19_00a/EventGenerator.xml b/config/N19_00a/EventGenerator.xml new file mode 100644 index 000000000..7ad4303f6 --- /dev/null +++ b/config/N19_00a/EventGenerator.xml @@ -0,0 +1,556 @@ + + + + + + + + + + + 4 + genie::NucleonDecayPrimaryVtxGenerator/Default + genie::UnstableParticleDecayer/BeforeHadronTransport + genie::HadronTransporter/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::DummyInteractionListGenerator/Default + + + + + 4 + genie::NNBarOscPrimaryVtxGenerator/Default + genie::UnstableParticleDecayer/BeforeHadronTransport + genie::HadronTransporter/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::NNBarOscDummyInteractionListGenerator/Default + + + + + + + + 12 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::QELKinematicsGenerator/NC-Default + genie::DMELOutgoingDarkGenerator/Default + genie::QELHadronicSystemGenerator/Default + genie::PauliBlocker/Default + genie::UnstableParticleDecayer/BeforeHadronTransport + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::NucBindEnergyAggregator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::DMELInteractionListGenerator/DM-Default + + + + + 12 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::QELKinematicsGenerator/NC-Default + genie::DMELOutgoingDarkGenerator/Default + genie::QELHadronicSystemGenerator/Default + genie::PauliBlocker/Default + genie::UnstableParticleDecayer/BeforeHadronTransport + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::NucBindEnergyAggregator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::DMELInteractionListGenerator/DM-Default + + + + + 10 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::DMDISKinematicsGenerator/NC-Default + genie::DMDISOutgoingDarkGenerator/Default + genie::DISHadronicSystemGenerator/Default + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::NucBindEnergyAggregator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::DMDISInteractionListGenerator/DM-Default + + + + + 10 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::DMDISKinematicsGenerator/NC-Default + genie::DMDISOutgoingDarkGenerator/Default + genie::DISHadronicSystemGenerator/Default + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::NucBindEnergyAggregator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::DMDISInteractionListGenerator/DM-Default + + + + + + + + 7 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::QELEventGenerator/Default + genie::UnstableParticleDecayer/BeforeHadronTransport + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::QELInteractionListGenerator/CC-Default + + + + + 7 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::QELEventGenerator/NC-Default + genie::UnstableParticleDecayer/BeforeHadronTransport + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::QELInteractionListGenerator/NC-Default + + + + + 8 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::QELEventGenerator/EM-Default + genie::PauliBlocker/Default + genie::UnstableParticleDecayer/BeforeHadronTransport + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::QELInteractionListGenerator/EM-Default + + + + + 9 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::QELKinematicsGenerator/CC-Lambda-Default + genie::QELPrimaryLeptonGenerator/Default + genie::QELHadronicSystemGenerator/Default + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::QELInteractionListGenerator/CC-Lambda-Default + + + + + 10 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::DISKinematicsGenerator/CC-Default + genie::DISPrimaryLeptonGenerator/Default + genie::DISHadronicSystemGenerator/Default + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::NucBindEnergyAggregator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::DISInteractionListGenerator/CC-Default + + + + + 10 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::DISKinematicsGenerator/NC-Default + genie::DISPrimaryLeptonGenerator/Default + genie::DISHadronicSystemGenerator/Default + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::NucBindEnergyAggregator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::DISInteractionListGenerator/NC-Default + + + + + 10 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::DISKinematicsGenerator/EM-Default + genie::DISPrimaryLeptonGenerator/Default + genie::DISHadronicSystemGenerator/Default + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::NucBindEnergyAggregator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::DISInteractionListGenerator/EM-Default + + + + + 10 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::RESKinematicsGenerator/RES + genie::RESPrimaryLeptonGenerator/Default + genie::RESHadronicSystemGenerator/Default + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::NucBindEnergyAggregator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::RESInteractionListGenerator/CC-Default + + + + + 10 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::RESKinematicsGenerator/RES + genie::RESPrimaryLeptonGenerator/Default + genie::RESHadronicSystemGenerator/Default + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::NucBindEnergyAggregator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::RESInteractionListGenerator/NC-Default + + + + + 10 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::RESKinematicsGenerator/RES + genie::RESPrimaryLeptonGenerator/Default + genie::RESHadronicSystemGenerator/Default + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::NucBindEnergyAggregator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::RESInteractionListGenerator/EM-Default + + + + + 9 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::QELKinematicsGenerator/CC-Charm-Default + genie::QELPrimaryLeptonGenerator/Default + genie::QELHadronicSystemGenerator/Default + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::QELInteractionListGenerator/CC-Charm-Default + + + + + 10 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/NucOnShell + genie::SKKinematicsGenerator/Default + genie::SKPrimaryLeptonGenerator/Default + genie::SKHadronicSystemGenerator/Default + genie::PauliBlocker/Default + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::SKInteractionListGenerator/Default + + + + + + 10 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::DISKinematicsGenerator/CC-Charm-Default + genie::DISPrimaryLeptonGenerator/Default + genie::DISHadronicSystemGenerator/Charm + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::NucBindEnergyAggregator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::DISInteractionListGenerator/CC-Charm-Default + + + + + 5 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::NuEKinematicsGenerator/Default + genie::NuEPrimaryLeptonGenerator/Default + genie::NuETargetRemnantGenerator/Default + genie::NuEInteractionListGenerator/IMD + + + + + 5 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::NuEKinematicsGenerator/Default + genie::NuEPrimaryLeptonGenerator/Default + genie::NuETargetRemnantGenerator/Default + genie::NuEInteractionListGenerator/IMD-ANH + + + + + 5 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::NuEKinematicsGenerator/Default + genie::NuEPrimaryLeptonGenerator/Default + genie::NuETargetRemnantGenerator/Default + genie::NuEInteractionListGenerator/NUE-EL + + + + + 6 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::AMNuGammaGenerator/Default + genie::HadronTransporter/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::AMNuGammaInteractionListGenerator/Default + + + + + 3 + genie::InitialStateAppender/Default + genie::GLRESGenerator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::GLRESInteractionListGenerator/Default + + + + + 5 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::MECGenerator/Default + genie::HadronTransporter/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::MECInteractionListGenerator/CC-Default + + + + + 5 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::MECGenerator/Default + genie::HadronTransporter/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::MECInteractionListGenerator/NC-Default + + + + + 5 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::MECGenerator/Default + genie::HadronTransporter/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::MECInteractionListGenerator/EM-Default + + + + + 9 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/NucOnShell + genie::DFRKinematicsGenerator/Default + genie::DFRPrimaryLeptonGenerator/Default + genie::DFRHadronicSystemGenerator/Default + genie::UnstableParticleDecayer/BeforeHadronTransport + genie::HadronTransporter/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::DFRInteractionListGenerator/CC-Default + + + + + 9 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/NucOnShell + genie::DFRKinematicsGenerator/Default + genie::DFRPrimaryLeptonGenerator/Default + genie::DFRHadronicSystemGenerator/Default + genie::UnstableParticleDecayer/BeforeHadronTransport + genie::HadronTransporter/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::DFRInteractionListGenerator/NC-Default + + + + + 3 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::CEvNSEventGenerator/Default + genie::CEvNSInteractionListGenerator/Default + + + + + 6 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::COHKinematicsGenerator/Default + genie::COHPrimaryLeptonGenerator/Default + genie::COHHadronicSystemGenerator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::COHInteractionListGenerator/NC-PION + + + + + 6 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::COHKinematicsGenerator/Default + genie::COHPrimaryLeptonGenerator/Default + genie::COHHadronicSystemGenerator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::COHInteractionListGenerator/CC-PION + + + + + + + 10 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::RESKinematicsGenerator/SPP + genie::RESPrimaryLeptonGenerator/Default + genie::RSPPResonanceSelector/Default + genie::RSPPHadronicSystemGenerator/Default + genie::HadronTransporter/Default + genie::NucBindEnergyAggregator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::RSPPInteractionListGenerator/CC-Default + genie::ReinSehgalSPPPXSec/Default + + + + + 10 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::RESKinematicsGenerator/SPP + genie::RESPrimaryLeptonGenerator/Default + genie::RSPPResonanceSelector/Default + genie::RSPPHadronicSystemGenerator/Default + genie::HadronTransporter/Default + genie::NucBindEnergyAggregator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::RSPPInteractionListGenerator/NC-Default + genie::ReinSehgalSPPPXSec/Default + + + + + + 12 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::QELKinematicsGenerator/NC-Default + genie::DMELOutgoingDarkGenerator/Default + genie::QELHadronicSystemGenerator/Default + genie::PauliBlocker/Default + genie::UnstableParticleDecayer/BeforeHadronTransport + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::NucBindEnergyAggregator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::DMELInteractionListGenerator/DM-Default + + + + + 10 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::FermiMover/Default + genie::DMDISKinematicsGenerator/NC-Default + genie::DMDISOutgoingDarkGenerator/Default + genie::DISHadronicSystemGenerator/Default + genie::NucDeExcitationSim/Default + genie::HadronTransporter/Default + genie::NucBindEnergyAggregator/Default + genie::UnstableParticleDecayer/AfterHadronTransport + genie::DMDISInteractionListGenerator/DM-Default + + + + + + + 5 + genie::InitialStateAppender/Default + genie::VertexGenerator/Default + genie::IBDKinematicsGenerator/Default + genie::IBDPrimaryLeptonGenerator/Default + genie::IBDHadronicSystemGenerator/Default + genie::IBDInteractionListGenerator/Default + + diff --git a/config/N19_00a/FermiMomentumTables.xml b/config/N19_00a/FermiMomentumTables.xml new file mode 100644 index 000000000..53eebc3c4 --- /dev/null +++ b/config/N19_00a/FermiMomentumTables.xml @@ -0,0 +1,27 @@ + + + + + + + +

0.055

0.055
+

0.115

0.115
+

0.169

0.169
+

0.242

0.242
+

0.225

0.225
+

0.235

0.235
+

0.239

0.239
+

0.242

0.259
+

0.251

0.251
+

0.251

0.263
+

0.257

0.263
+

0.245

0.274
+

0.247

0.281
+

0.245

0.283
+
+ +
+ diff --git a/config/N19_00a/ModelConfiguration.xml b/config/N19_00a/ModelConfiguration.xml new file mode 100644 index 000000000..83efe8b2b --- /dev/null +++ b/config/N19_00a/ModelConfiguration.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + genie::FGMBodekRitchie/Default + + + genie::SpectralFunc/Default + genie::SpectralFunc/Default + + + true + genie::HAIntranuke2018/Default + + + + + + + genie::UnifiedQELPXSec/Dipole + genie::UnifiedQELPXSec/Dipole + genie::UnifiedQELPXSec/Dipole + + + + + + diff --git a/config/N19_00a/TuneGeneratorList.xml b/config/N19_00a/TuneGeneratorList.xml new file mode 100644 index 000000000..5be4c7e02 --- /dev/null +++ b/config/N19_00a/TuneGeneratorList.xml @@ -0,0 +1,27 @@ + + + + + + + + 3 + genie::EventGenerator/QEL-CC + genie::EventGenerator/QEL-NC + genie::EventGenerator/QEL-EM + + + + + diff --git a/config/SpectralFunc.xml b/config/SpectralFunc.xml index 8f817c1c0..029aa8840 100644 --- a/config/SpectralFunc.xml +++ b/config/SpectralFunc.xml @@ -3,7 +3,7 @@ - FermiGas + + FermiGas + + + relative + data/evgen/nucl/spectral_functions + + + pke12_tot.data + benhar-sf-56fe.data + - diff --git a/config/UnifiedQELPXSec.xml b/config/UnifiedQELPXSec.xml new file mode 100644 index 000000000..057fac43e --- /dev/null +++ b/config/UnifiedQELPXSec.xml @@ -0,0 +1,55 @@ + + + + + + + + + CKM + + 1.000 + 10.0 + + genie::NewQELXSec/Default + genie::SpectralFunc/Default + UseNuclearModel + + genie::PauliBlocker/Default + + genie::LwlynSmithFFNC/Default + genie::LwlynSmithFFEM/Default + + + + + genie::LwlynSmithFFCC/Dipole + + + + + genie::LwlynSmithFFCC/ZExp + + + diff --git a/config/master_config.xml b/config/master_config.xml index dc9962ded..08ba58b94 100644 --- a/config/master_config.xml +++ b/config/master_config.xml @@ -124,10 +124,12 @@ DipoleAxialFormFactorModel.xml ZExpAxialFormFactorModel.xml KuzminNaumov2016AxialFormFactorModel.xml + AhrensNCELStrangeFF.xml LwlynSmithFFCC.xml LwlynSmithFFDeltaS.xml TransverseEnhancementFFModel.xml LwlynSmithFFNC.xml + LwlynSmithFFEM.xml QPMDISStrucFunc.xml BYStrucFunc.xml RSHelicityAmplModelCC.xml @@ -166,6 +168,7 @@ NievesQELCCPXSec.xml SuSAv2QELPXSec.xml SmithMonizQELCCPXSec.xml + UnifiedQELPXSec.xml QPMDMDISPXSec.xml QPMDISPXSec.xml KNOTunedQPMDISPXSec.xml diff --git a/data/evgen/nucl/spectral_functions/pke12_tot.data b/data/evgen/nucl/spectral_functions/pke12_tot.data new file mode 100644 index 000000000..417117e77 --- /dev/null +++ b/data/evgen/nucl/spectral_functions/pke12_tot.data @@ -0,0 +1,843 @@ +80 40 +0 0 +400 800 +0.10000E+02 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.405E-08 + 22.5 0.254E-08 27.5 0.320E-08 32.5 0.484E-08 37.5 0.625E-08 + 42.5 0.546E-08 47.5 0.343E-08 52.5 0.217E-08 57.5 0.137E-08 + 62.5 0.928E-09 67.5 0.678E-09 72.5 0.499E-09 77.5 0.395E-09 + 82.5 0.313E-09 87.5 0.257E-09 92.5 0.215E-09 97.5 0.181E-09 + 102.5 0.153E-09 107.5 0.134E-09 112.5 0.116E-09 117.5 0.101E-09 + 122.5 0.446E-11 127.5 0.336E-11 132.5 0.252E-11 137.5 0.178E-11 + 142.5 0.111E-11 147.5 0.552E-12 152.5 0.172E-12 157.5 0.784E-13 + 162.5 0.710E-13 167.5 0.487E-13 172.5 0.261E-13 177.5 0.101E-13 + 182.5 0.631E-15 187.5 0.000E+00 192.5 0.000E+00 197.5 0.000E+00 + 202.5 0.000E+00 207.5 0.738E-17 212.5 0.169E-17 217.5 0.000E+00 + 222.5 0.000E+00 227.5 0.000E+00 232.5 0.000E+00 237.5 0.000E+00 + 242.5 0.000E+00 247.5 0.000E+00 252.5 0.000E+00 257.5 0.000E+00 + 262.5 0.000E+00 267.5 0.000E+00 272.5 0.000E+00 277.5 0.000E+00 + 282.5 0.000E+00 287.5 0.000E+00 292.5 0.000E+00 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.30000E+02 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.704E-08 + 22.5 0.329E-08 27.5 0.326E-08 32.5 0.469E-08 37.5 0.591E-08 + 42.5 0.511E-08 47.5 0.322E-08 52.5 0.202E-08 57.5 0.129E-08 + 62.5 0.882E-09 67.5 0.650E-09 72.5 0.480E-09 77.5 0.378E-09 + 82.5 0.302E-09 87.5 0.247E-09 92.5 0.206E-09 97.5 0.175E-09 + 102.5 0.149E-09 107.5 0.129E-09 112.5 0.111E-09 117.5 0.983E-10 + 122.5 0.394E-11 127.5 0.315E-11 132.5 0.221E-11 137.5 0.139E-11 + 142.5 0.807E-12 147.5 0.376E-12 152.5 0.738E-13 157.5 0.136E-14 + 162.5 0.476E-15 167.5 0.110E-15 172.5 0.591E-17 177.5 0.000E+00 + 182.5 0.000E+00 187.5 0.228E-14 192.5 0.266E-14 197.5 0.994E-15 + 202.5 0.113E-15 207.5 0.000E+00 212.5 0.000E+00 217.5 0.000E+00 + 222.5 0.000E+00 227.5 0.000E+00 232.5 0.000E+00 237.5 0.000E+00 + 242.5 0.000E+00 247.5 0.000E+00 252.5 0.000E+00 257.5 0.000E+00 + 262.5 0.000E+00 267.5 0.000E+00 272.5 0.000E+00 277.5 0.000E+00 + 282.5 0.000E+00 287.5 0.000E+00 292.5 0.000E+00 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.50000E+02 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.109E-07 + 22.5 0.416E-08 27.5 0.325E-08 32.5 0.435E-08 37.5 0.540E-08 + 42.5 0.464E-08 47.5 0.291E-08 52.5 0.181E-08 57.5 0.117E-08 + 62.5 0.808E-09 67.5 0.596E-09 72.5 0.444E-09 77.5 0.350E-09 + 82.5 0.280E-09 87.5 0.229E-09 92.5 0.192E-09 97.5 0.163E-09 + 102.5 0.140E-09 107.5 0.120E-09 112.5 0.105E-09 117.5 0.929E-10 + 122.5 0.544E-11 127.5 0.418E-11 132.5 0.307E-11 137.5 0.219E-11 + 142.5 0.146E-11 147.5 0.943E-12 152.5 0.608E-12 157.5 0.374E-12 + 162.5 0.223E-12 167.5 0.137E-12 172.5 0.807E-13 177.5 0.387E-13 + 182.5 0.120E-13 187.5 0.000E+00 192.5 0.000E+00 197.5 0.000E+00 + 202.5 0.000E+00 207.5 0.886E-17 212.5 0.204E-17 217.5 0.000E+00 + 222.5 0.000E+00 227.5 0.000E+00 232.5 0.000E+00 237.5 0.000E+00 + 242.5 0.000E+00 247.5 0.000E+00 252.5 0.000E+00 257.5 0.000E+00 + 262.5 0.000E+00 267.5 0.000E+00 272.5 0.000E+00 277.5 0.000E+00 + 282.5 0.000E+00 287.5 0.000E+00 292.5 0.000E+00 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.70000E+02 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.149E-07 + 22.5 0.504E-08 27.5 0.321E-08 32.5 0.382E-08 37.5 0.453E-08 + 42.5 0.386E-08 47.5 0.247E-08 52.5 0.155E-08 57.5 0.102E-08 + 62.5 0.707E-09 67.5 0.517E-09 72.5 0.392E-09 77.5 0.309E-09 + 82.5 0.247E-09 87.5 0.203E-09 92.5 0.170E-09 97.5 0.145E-09 + 102.5 0.125E-09 107.5 0.107E-09 112.5 0.946E-10 117.5 0.833E-10 + 122.5 0.636E-11 127.5 0.493E-11 132.5 0.392E-11 137.5 0.310E-11 + 142.5 0.231E-11 147.5 0.170E-11 152.5 0.127E-11 157.5 0.915E-12 + 162.5 0.648E-12 167.5 0.442E-12 172.5 0.283E-12 177.5 0.162E-12 + 182.5 0.767E-13 187.5 0.262E-13 192.5 0.378E-14 197.5 0.183E-17 + 202.5 0.000E+00 207.5 0.000E+00 212.5 0.000E+00 217.5 0.000E+00 + 222.5 0.000E+00 227.5 0.000E+00 232.5 0.000E+00 237.5 0.000E+00 + 242.5 0.000E+00 247.5 0.000E+00 252.5 0.000E+00 257.5 0.000E+00 + 262.5 0.000E+00 267.5 0.000E+00 272.5 0.000E+00 277.5 0.000E+00 + 282.5 0.521E-18 287.5 0.375E-19 292.5 0.000E+00 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.90000E+02 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.170E-07 + 22.5 0.536E-08 27.5 0.299E-08 32.5 0.323E-08 37.5 0.370E-08 + 42.5 0.312E-08 47.5 0.202E-08 52.5 0.128E-08 57.5 0.852E-09 + 62.5 0.590E-09 67.5 0.434E-09 72.5 0.331E-09 77.5 0.260E-09 + 82.5 0.209E-09 87.5 0.172E-09 92.5 0.146E-09 97.5 0.123E-09 + 102.5 0.107E-09 107.5 0.914E-10 112.5 0.807E-10 117.5 0.710E-10 + 122.5 0.636E-11 127.5 0.518E-11 132.5 0.429E-11 137.5 0.351E-11 + 142.5 0.283E-11 147.5 0.222E-11 152.5 0.172E-11 157.5 0.128E-11 + 162.5 0.926E-12 167.5 0.682E-12 172.5 0.495E-12 177.5 0.342E-12 + 182.5 0.214E-12 187.5 0.113E-12 192.5 0.485E-13 197.5 0.126E-13 + 202.5 0.000E+00 207.5 0.000E+00 212.5 0.000E+00 217.5 0.591E-18 + 222.5 0.000E+00 227.5 0.000E+00 232.5 0.000E+00 237.5 0.000E+00 + 242.5 0.000E+00 247.5 0.000E+00 252.5 0.000E+00 257.5 0.000E+00 + 262.5 0.000E+00 267.5 0.000E+00 272.5 0.000E+00 277.5 0.000E+00 + 282.5 0.402E-18 287.5 0.291E-19 292.5 0.000E+00 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.11000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.168E-07 + 22.5 0.507E-08 27.5 0.257E-08 32.5 0.260E-08 37.5 0.287E-08 + 42.5 0.240E-08 47.5 0.157E-08 52.5 0.101E-08 57.5 0.666E-09 + 62.5 0.467E-09 67.5 0.346E-09 72.5 0.265E-09 77.5 0.208E-09 + 82.5 0.170E-09 87.5 0.140E-09 92.5 0.118E-09 97.5 0.101E-09 + 102.5 0.870E-10 107.5 0.755E-10 112.5 0.661E-10 117.5 0.583E-10 + 122.5 0.767E-11 127.5 0.642E-11 132.5 0.527E-11 137.5 0.434E-11 + 142.5 0.357E-11 147.5 0.289E-11 152.5 0.227E-11 157.5 0.177E-11 + 162.5 0.136E-11 167.5 0.104E-11 172.5 0.784E-12 177.5 0.564E-12 + 182.5 0.399E-12 187.5 0.274E-12 192.5 0.187E-12 197.5 0.127E-12 + 202.5 0.915E-13 207.5 0.727E-13 212.5 0.591E-13 217.5 0.474E-13 + 222.5 0.378E-13 227.5 0.304E-13 232.5 0.247E-13 237.5 0.198E-13 + 242.5 0.157E-13 247.5 0.120E-13 252.5 0.892E-14 257.5 0.631E-14 + 262.5 0.410E-14 267.5 0.225E-14 272.5 0.807E-15 277.5 0.920E-16 + 282.5 0.000E+00 287.5 0.000E+00 292.5 0.000E+00 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.13000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.150E-07 + 22.5 0.454E-08 27.5 0.214E-08 32.5 0.200E-08 37.5 0.215E-08 + 42.5 0.177E-08 47.5 0.117E-08 52.5 0.756E-09 57.5 0.502E-09 + 62.5 0.354E-09 67.5 0.264E-09 72.5 0.204E-09 77.5 0.161E-09 + 82.5 0.132E-09 87.5 0.110E-09 92.5 0.925E-10 97.5 0.790E-10 + 102.5 0.687E-10 107.5 0.600E-10 112.5 0.527E-10 117.5 0.463E-10 + 122.5 0.966E-11 127.5 0.824E-11 132.5 0.693E-11 137.5 0.574E-11 + 142.5 0.477E-11 147.5 0.391E-11 152.5 0.319E-11 157.5 0.259E-11 + 162.5 0.211E-11 167.5 0.168E-11 172.5 0.130E-11 177.5 0.994E-12 + 182.5 0.750E-12 187.5 0.561E-12 192.5 0.412E-12 197.5 0.298E-12 + 202.5 0.224E-12 207.5 0.182E-12 212.5 0.149E-12 217.5 0.121E-12 + 222.5 0.971E-13 227.5 0.773E-13 232.5 0.608E-13 237.5 0.476E-13 + 242.5 0.365E-13 247.5 0.276E-13 252.5 0.206E-13 257.5 0.145E-13 + 262.5 0.954E-14 267.5 0.510E-14 272.5 0.167E-14 277.5 0.164E-15 + 282.5 0.000E+00 287.5 0.000E+00 292.5 0.000E+00 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.15000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.122E-07 + 22.5 0.363E-08 27.5 0.162E-08 32.5 0.144E-08 37.5 0.153E-08 + 42.5 0.126E-08 47.5 0.825E-09 52.5 0.533E-09 57.5 0.364E-09 + 62.5 0.257E-09 67.5 0.192E-09 72.5 0.149E-09 77.5 0.120E-09 + 82.5 0.978E-10 87.5 0.825E-10 92.5 0.696E-10 97.5 0.598E-10 + 102.5 0.522E-10 107.5 0.458E-10 112.5 0.405E-10 117.5 0.352E-10 + 122.5 0.110E-10 127.5 0.954E-11 132.5 0.818E-11 137.5 0.699E-11 + 142.5 0.585E-11 147.5 0.484E-11 152.5 0.403E-11 157.5 0.335E-11 + 162.5 0.279E-11 167.5 0.227E-11 172.5 0.182E-11 177.5 0.145E-11 + 182.5 0.114E-11 187.5 0.886E-12 192.5 0.670E-12 197.5 0.495E-12 + 202.5 0.378E-12 207.5 0.310E-12 212.5 0.254E-12 217.5 0.208E-12 + 222.5 0.167E-12 227.5 0.133E-12 232.5 0.104E-12 237.5 0.801E-13 + 242.5 0.608E-13 247.5 0.459E-13 252.5 0.336E-13 257.5 0.234E-13 + 262.5 0.148E-13 267.5 0.773E-14 272.5 0.228E-14 277.5 0.130E-15 + 282.5 0.000E+00 287.5 0.642E-19 292.5 0.555E-18 297.5 0.108E-22 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.17000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.911E-08 + 22.5 0.258E-08 27.5 0.119E-08 32.5 0.104E-08 37.5 0.106E-08 + 42.5 0.860E-09 47.5 0.564E-09 52.5 0.363E-09 57.5 0.250E-09 + 62.5 0.179E-09 67.5 0.135E-09 72.5 0.106E-09 77.5 0.857E-10 + 82.5 0.706E-10 87.5 0.597E-10 92.5 0.502E-10 97.5 0.433E-10 + 102.5 0.380E-10 107.5 0.334E-10 112.5 0.294E-10 117.5 0.257E-10 + 122.5 0.111E-10 127.5 0.966E-11 132.5 0.829E-11 137.5 0.716E-11 + 142.5 0.614E-11 147.5 0.519E-11 152.5 0.438E-11 157.5 0.369E-11 + 162.5 0.311E-11 167.5 0.260E-11 172.5 0.214E-11 177.5 0.175E-11 + 182.5 0.143E-11 187.5 0.116E-11 192.5 0.920E-12 197.5 0.716E-12 + 202.5 0.574E-12 207.5 0.477E-12 212.5 0.397E-12 217.5 0.324E-12 + 222.5 0.262E-12 227.5 0.209E-12 232.5 0.165E-12 237.5 0.128E-12 + 242.5 0.983E-13 247.5 0.738E-13 252.5 0.533E-13 257.5 0.361E-13 + 262.5 0.224E-13 267.5 0.115E-13 272.5 0.355E-14 277.5 0.313E-15 + 282.5 0.354E-18 287.5 0.000E+00 292.5 0.114E-18 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.19000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.643E-08 + 22.5 0.178E-08 27.5 0.787E-09 32.5 0.682E-09 37.5 0.691E-09 + 42.5 0.568E-09 47.5 0.388E-09 52.5 0.257E-09 57.5 0.178E-09 + 62.5 0.131E-09 67.5 0.996E-10 72.5 0.786E-10 77.5 0.634E-10 + 82.5 0.529E-10 87.5 0.442E-10 92.5 0.372E-10 97.5 0.320E-10 + 102.5 0.280E-10 107.5 0.243E-10 112.5 0.213E-10 117.5 0.189E-10 + 122.5 0.116E-10 127.5 0.100E-10 132.5 0.869E-11 137.5 0.756E-11 + 142.5 0.648E-11 147.5 0.560E-11 152.5 0.485E-11 157.5 0.416E-11 + 162.5 0.352E-11 167.5 0.297E-11 172.5 0.247E-11 177.5 0.208E-11 + 182.5 0.173E-11 187.5 0.143E-11 192.5 0.116E-11 197.5 0.954E-12 + 202.5 0.795E-12 207.5 0.670E-12 212.5 0.563E-12 217.5 0.466E-12 + 222.5 0.383E-12 227.5 0.310E-12 232.5 0.251E-12 237.5 0.197E-12 + 242.5 0.151E-12 247.5 0.111E-12 252.5 0.807E-13 257.5 0.560E-13 + 262.5 0.364E-13 267.5 0.198E-13 272.5 0.738E-14 277.5 0.155E-14 + 282.5 0.100E-17 287.5 0.000E+00 292.5 0.206E-20 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.721E-18 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.21000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.431E-08 + 22.5 0.120E-08 27.5 0.504E-09 32.5 0.422E-09 37.5 0.422E-09 + 42.5 0.349E-09 47.5 0.243E-09 52.5 0.163E-09 57.5 0.115E-09 + 62.5 0.872E-10 67.5 0.676E-10 72.5 0.544E-10 77.5 0.448E-10 + 82.5 0.379E-10 87.5 0.318E-10 92.5 0.273E-10 97.5 0.237E-10 + 102.5 0.209E-10 107.5 0.180E-10 112.5 0.158E-10 117.5 0.141E-10 + 122.5 0.130E-10 127.5 0.113E-10 132.5 0.977E-11 137.5 0.841E-11 + 142.5 0.721E-11 147.5 0.625E-11 152.5 0.537E-11 157.5 0.458E-11 + 162.5 0.387E-11 167.5 0.328E-11 172.5 0.278E-11 177.5 0.234E-11 + 182.5 0.198E-11 187.5 0.166E-11 192.5 0.136E-11 197.5 0.113E-11 + 202.5 0.949E-12 207.5 0.812E-12 212.5 0.687E-12 217.5 0.579E-12 + 222.5 0.481E-12 227.5 0.397E-12 232.5 0.322E-12 237.5 0.257E-12 + 242.5 0.200E-12 247.5 0.152E-12 252.5 0.113E-12 257.5 0.807E-13 + 262.5 0.550E-13 267.5 0.338E-13 272.5 0.173E-13 277.5 0.807E-14 + 282.5 0.396E-14 287.5 0.197E-14 292.5 0.915E-15 297.5 0.189E-15 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.784E-18 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.23000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.283E-08 + 22.5 0.779E-09 27.5 0.323E-09 32.5 0.263E-09 37.5 0.256E-09 + 42.5 0.213E-09 47.5 0.151E-09 52.5 0.104E-09 57.5 0.785E-10 + 62.5 0.611E-10 67.5 0.487E-10 72.5 0.401E-10 77.5 0.337E-10 + 82.5 0.287E-10 87.5 0.246E-10 92.5 0.214E-10 97.5 0.185E-10 + 102.5 0.164E-10 107.5 0.143E-10 112.5 0.126E-10 117.5 0.111E-10 + 122.5 0.141E-10 127.5 0.122E-10 132.5 0.105E-10 137.5 0.909E-11 + 142.5 0.778E-11 147.5 0.665E-11 152.5 0.568E-11 157.5 0.489E-11 + 162.5 0.419E-11 167.5 0.360E-11 172.5 0.308E-11 177.5 0.262E-11 + 182.5 0.222E-11 187.5 0.189E-11 192.5 0.160E-11 197.5 0.133E-11 + 202.5 0.112E-11 207.5 0.966E-12 212.5 0.824E-12 217.5 0.699E-12 + 222.5 0.591E-12 227.5 0.493E-12 232.5 0.406E-12 237.5 0.331E-12 + 242.5 0.269E-12 247.5 0.215E-12 252.5 0.166E-12 257.5 0.124E-12 + 262.5 0.898E-13 267.5 0.614E-13 272.5 0.395E-13 277.5 0.245E-13 + 282.5 0.151E-13 287.5 0.971E-14 292.5 0.642E-14 297.5 0.378E-14 + 302.5 0.184E-14 307.5 0.841E-15 312.5 0.455E-15 317.5 0.231E-15 + 322.5 0.716E-16 327.5 0.449E-17 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.25000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.172E-08 + 22.5 0.472E-09 27.5 0.198E-09 32.5 0.158E-09 37.5 0.154E-09 + 42.5 0.129E-09 47.5 0.919E-10 52.5 0.656E-10 57.5 0.514E-10 + 62.5 0.410E-10 67.5 0.336E-10 72.5 0.284E-10 77.5 0.241E-10 + 82.5 0.208E-10 87.5 0.182E-10 92.5 0.159E-10 97.5 0.139E-10 + 102.5 0.123E-10 107.5 0.108E-10 112.5 0.961E-11 117.5 0.845E-11 + 122.5 0.136E-10 127.5 0.118E-10 132.5 0.104E-10 137.5 0.915E-11 + 142.5 0.795E-11 147.5 0.693E-11 152.5 0.608E-11 157.5 0.535E-11 + 162.5 0.474E-11 167.5 0.411E-11 172.5 0.354E-11 177.5 0.308E-11 + 182.5 0.268E-11 187.5 0.230E-11 192.5 0.197E-11 197.5 0.169E-11 + 202.5 0.145E-11 207.5 0.126E-11 212.5 0.108E-11 217.5 0.932E-12 + 222.5 0.801E-12 227.5 0.682E-12 232.5 0.574E-12 237.5 0.479E-12 + 242.5 0.396E-12 247.5 0.323E-12 252.5 0.260E-12 257.5 0.205E-12 + 262.5 0.158E-12 267.5 0.119E-12 272.5 0.863E-13 277.5 0.585E-13 + 282.5 0.375E-13 287.5 0.264E-13 292.5 0.202E-13 297.5 0.147E-13 + 302.5 0.102E-13 307.5 0.670E-14 312.5 0.393E-14 317.5 0.194E-14 + 322.5 0.591E-15 327.5 0.374E-16 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.129E-18 + 362.5 0.206E-18 367.5 0.454E-21 372.5 0.687E-21 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.27000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.984E-09 + 22.5 0.264E-09 27.5 0.111E-09 32.5 0.858E-10 37.5 0.854E-10 + 42.5 0.710E-10 47.5 0.520E-10 52.5 0.399E-10 57.5 0.315E-10 + 62.5 0.260E-10 67.5 0.220E-10 72.5 0.189E-10 77.5 0.164E-10 + 82.5 0.145E-10 87.5 0.128E-10 92.5 0.113E-10 97.5 0.994E-11 + 102.5 0.881E-11 107.5 0.786E-11 112.5 0.699E-11 117.5 0.618E-11 + 122.5 0.115E-10 127.5 0.102E-10 132.5 0.898E-11 137.5 0.790E-11 + 142.5 0.693E-11 147.5 0.614E-11 152.5 0.541E-11 157.5 0.476E-11 + 162.5 0.418E-11 167.5 0.369E-11 172.5 0.328E-11 177.5 0.289E-11 + 182.5 0.254E-11 187.5 0.221E-11 192.5 0.191E-11 197.5 0.166E-11 + 202.5 0.144E-11 207.5 0.126E-11 212.5 0.110E-11 217.5 0.954E-12 + 222.5 0.818E-12 227.5 0.699E-12 232.5 0.596E-12 237.5 0.508E-12 + 242.5 0.431E-12 247.5 0.361E-12 252.5 0.302E-12 257.5 0.247E-12 + 262.5 0.201E-12 267.5 0.159E-12 272.5 0.124E-12 277.5 0.937E-13 + 282.5 0.682E-13 287.5 0.480E-13 292.5 0.339E-13 297.5 0.249E-13 + 302.5 0.190E-13 307.5 0.149E-13 312.5 0.117E-13 317.5 0.846E-14 + 322.5 0.561E-14 327.5 0.334E-14 332.5 0.161E-14 337.5 0.415E-15 + 342.5 0.220E-16 347.5 0.750E-17 352.5 0.187E-17 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.29000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.529E-09 + 22.5 0.138E-09 27.5 0.596E-10 32.5 0.464E-10 37.5 0.469E-10 + 42.5 0.397E-10 47.5 0.298E-10 52.5 0.239E-10 57.5 0.194E-10 + 62.5 0.165E-10 67.5 0.145E-10 72.5 0.128E-10 77.5 0.114E-10 + 82.5 0.103E-10 87.5 0.934E-11 92.5 0.839E-11 97.5 0.750E-11 + 102.5 0.668E-11 107.5 0.603E-11 112.5 0.540E-11 117.5 0.484E-11 + 122.5 0.101E-10 127.5 0.903E-11 132.5 0.801E-11 137.5 0.710E-11 + 142.5 0.636E-11 147.5 0.568E-11 152.5 0.508E-11 157.5 0.453E-11 + 162.5 0.405E-11 167.5 0.362E-11 172.5 0.322E-11 177.5 0.283E-11 + 182.5 0.251E-11 187.5 0.222E-11 192.5 0.195E-11 197.5 0.172E-11 + 202.5 0.151E-11 207.5 0.133E-11 212.5 0.118E-11 217.5 0.105E-11 + 222.5 0.915E-12 227.5 0.795E-12 232.5 0.693E-12 237.5 0.591E-12 + 242.5 0.507E-12 247.5 0.431E-12 252.5 0.364E-12 257.5 0.307E-12 + 262.5 0.256E-12 267.5 0.213E-12 272.5 0.175E-12 277.5 0.143E-12 + 282.5 0.114E-12 287.5 0.898E-13 292.5 0.693E-13 297.5 0.532E-13 + 302.5 0.399E-13 307.5 0.296E-13 312.5 0.219E-13 317.5 0.161E-13 + 322.5 0.118E-13 327.5 0.863E-14 332.5 0.653E-14 337.5 0.512E-14 + 342.5 0.423E-14 347.5 0.366E-14 352.5 0.314E-14 357.5 0.245E-14 + 362.5 0.176E-14 367.5 0.108E-14 372.5 0.538E-15 377.5 0.193E-15 + 382.5 0.158E-16 387.5 0.000E+00 392.5 0.187E-16 397.5 0.366E-16 + 0.31000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.232E-09 + 22.5 0.580E-10 27.5 0.197E-10 32.5 0.180E-10 37.5 0.115E-10 + 42.5 0.152E-10 47.5 0.124E-10 52.5 0.763E-11 57.5 0.108E-10 + 62.5 0.975E-11 67.5 0.866E-11 72.5 0.806E-11 77.5 0.779E-11 + 82.5 0.692E-11 87.5 0.632E-11 92.5 0.605E-11 97.5 0.555E-11 + 102.5 0.502E-11 107.5 0.449E-11 112.5 0.423E-11 117.5 0.382E-11 + 122.5 0.886E-11 127.5 0.801E-11 132.5 0.721E-11 137.5 0.648E-11 + 142.5 0.585E-11 147.5 0.527E-11 152.5 0.474E-11 157.5 0.428E-11 + 162.5 0.385E-11 167.5 0.349E-11 172.5 0.314E-11 177.5 0.279E-11 + 182.5 0.249E-11 187.5 0.223E-11 192.5 0.199E-11 197.5 0.177E-11 + 202.5 0.157E-11 207.5 0.140E-11 212.5 0.125E-11 217.5 0.111E-11 + 222.5 0.983E-12 227.5 0.869E-12 232.5 0.761E-12 237.5 0.665E-12 + 242.5 0.579E-12 247.5 0.501E-12 252.5 0.431E-12 257.5 0.369E-12 + 262.5 0.314E-12 267.5 0.267E-12 272.5 0.225E-12 277.5 0.189E-12 + 282.5 0.157E-12 287.5 0.130E-12 292.5 0.106E-12 297.5 0.846E-13 + 302.5 0.676E-13 307.5 0.529E-13 312.5 0.413E-13 317.5 0.318E-13 + 322.5 0.242E-13 327.5 0.184E-13 332.5 0.143E-13 337.5 0.115E-13 + 342.5 0.943E-14 347.5 0.784E-14 352.5 0.636E-14 357.5 0.462E-14 + 362.5 0.308E-14 367.5 0.183E-14 372.5 0.949E-15 377.5 0.459E-15 + 382.5 0.208E-15 387.5 0.954E-16 392.5 0.482E-16 397.5 0.000E+00 + 0.33000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.574E-12 + 22.5 0.257E-11 27.5 0.574E-11 32.5 0.886E-11 37.5 0.114E-10 + 42.5 0.133E-10 47.5 0.145E-10 52.5 0.154E-10 57.5 0.160E-10 + 62.5 0.162E-10 67.5 0.162E-10 72.5 0.157E-10 77.5 0.151E-10 + 82.5 0.144E-10 87.5 0.136E-10 92.5 0.127E-10 97.5 0.118E-10 + 102.5 0.108E-10 107.5 0.994E-11 112.5 0.915E-11 117.5 0.841E-11 + 122.5 0.773E-11 127.5 0.710E-11 132.5 0.648E-11 137.5 0.591E-11 + 142.5 0.538E-11 147.5 0.491E-11 152.5 0.447E-11 157.5 0.406E-11 + 162.5 0.369E-11 167.5 0.336E-11 172.5 0.304E-11 177.5 0.277E-11 + 182.5 0.251E-11 187.5 0.226E-11 192.5 0.202E-11 197.5 0.182E-11 + 202.5 0.163E-11 207.5 0.146E-11 212.5 0.131E-11 217.5 0.117E-11 + 222.5 0.105E-11 227.5 0.926E-12 232.5 0.824E-12 237.5 0.733E-12 + 242.5 0.648E-12 247.5 0.568E-12 252.5 0.499E-12 257.5 0.435E-12 + 262.5 0.374E-12 267.5 0.323E-12 272.5 0.277E-12 277.5 0.239E-12 + 282.5 0.203E-12 287.5 0.173E-12 292.5 0.145E-12 297.5 0.121E-12 + 302.5 0.101E-12 307.5 0.829E-13 312.5 0.682E-13 317.5 0.551E-13 + 322.5 0.443E-13 327.5 0.353E-13 332.5 0.283E-13 337.5 0.229E-13 + 342.5 0.187E-13 347.5 0.152E-13 352.5 0.120E-13 357.5 0.903E-14 + 362.5 0.648E-14 367.5 0.462E-14 372.5 0.331E-14 377.5 0.244E-14 + 382.5 0.178E-14 387.5 0.120E-14 392.5 0.733E-15 397.5 0.383E-15 + 0.35000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.532E-12 + 22.5 0.187E-11 27.5 0.369E-11 32.5 0.559E-11 37.5 0.733E-11 + 42.5 0.880E-11 47.5 0.100E-10 52.5 0.109E-10 57.5 0.116E-10 + 62.5 0.120E-10 67.5 0.123E-10 72.5 0.123E-10 77.5 0.122E-10 + 82.5 0.118E-10 87.5 0.114E-10 92.5 0.108E-10 97.5 0.101E-10 + 102.5 0.943E-11 107.5 0.875E-11 112.5 0.812E-11 117.5 0.750E-11 + 122.5 0.699E-11 127.5 0.642E-11 132.5 0.591E-11 137.5 0.541E-11 + 142.5 0.498E-11 147.5 0.456E-11 152.5 0.418E-11 157.5 0.383E-11 + 162.5 0.351E-11 167.5 0.322E-11 172.5 0.294E-11 177.5 0.269E-11 + 182.5 0.245E-11 187.5 0.223E-11 192.5 0.203E-11 197.5 0.184E-11 + 202.5 0.167E-11 207.5 0.152E-11 212.5 0.137E-11 217.5 0.124E-11 + 222.5 0.111E-11 227.5 0.100E-11 232.5 0.898E-12 237.5 0.795E-12 + 242.5 0.710E-12 247.5 0.631E-12 252.5 0.562E-12 257.5 0.498E-12 + 262.5 0.439E-12 267.5 0.386E-12 272.5 0.337E-12 277.5 0.295E-12 + 282.5 0.256E-12 287.5 0.220E-12 292.5 0.189E-12 297.5 0.161E-12 + 302.5 0.137E-12 307.5 0.116E-12 312.5 0.994E-13 317.5 0.846E-13 + 322.5 0.710E-13 327.5 0.602E-13 332.5 0.503E-13 337.5 0.421E-13 + 342.5 0.352E-13 347.5 0.293E-13 352.5 0.243E-13 357.5 0.199E-13 + 362.5 0.162E-13 367.5 0.130E-13 372.5 0.102E-13 377.5 0.795E-14 + 382.5 0.602E-14 387.5 0.424E-14 392.5 0.279E-14 397.5 0.177E-14 + 0.37000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.442E-12 + 22.5 0.127E-11 27.5 0.251E-11 32.5 0.383E-11 37.5 0.507E-11 + 42.5 0.619E-11 47.5 0.716E-11 52.5 0.795E-11 57.5 0.858E-11 + 62.5 0.909E-11 67.5 0.949E-11 72.5 0.971E-11 77.5 0.977E-11 + 82.5 0.971E-11 87.5 0.949E-11 92.5 0.909E-11 97.5 0.858E-11 + 102.5 0.807E-11 107.5 0.756E-11 112.5 0.710E-11 117.5 0.665E-11 + 122.5 0.625E-11 127.5 0.585E-11 132.5 0.543E-11 137.5 0.504E-11 + 142.5 0.466E-11 147.5 0.430E-11 152.5 0.398E-11 157.5 0.368E-11 + 162.5 0.339E-11 167.5 0.313E-11 172.5 0.289E-11 177.5 0.266E-11 + 182.5 0.244E-11 187.5 0.224E-11 192.5 0.205E-11 197.5 0.187E-11 + 202.5 0.171E-11 207.5 0.156E-11 212.5 0.142E-11 217.5 0.129E-11 + 222.5 0.117E-11 227.5 0.106E-11 232.5 0.949E-12 237.5 0.852E-12 + 242.5 0.767E-12 247.5 0.682E-12 252.5 0.608E-12 257.5 0.543E-12 + 262.5 0.483E-12 267.5 0.428E-12 272.5 0.382E-12 277.5 0.339E-12 + 282.5 0.298E-12 287.5 0.261E-12 292.5 0.227E-12 297.5 0.198E-12 + 302.5 0.172E-12 307.5 0.150E-12 312.5 0.130E-12 317.5 0.113E-12 + 322.5 0.983E-13 327.5 0.852E-13 332.5 0.733E-13 337.5 0.631E-13 + 342.5 0.541E-13 347.5 0.464E-13 352.5 0.394E-13 357.5 0.333E-13 + 362.5 0.279E-13 367.5 0.233E-13 372.5 0.193E-13 377.5 0.157E-13 + 382.5 0.127E-13 387.5 0.994E-14 392.5 0.767E-14 397.5 0.579E-14 + 0.39000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.319E-12 + 22.5 0.909E-12 27.5 0.169E-11 32.5 0.254E-11 37.5 0.341E-11 + 42.5 0.424E-11 47.5 0.500E-11 52.5 0.565E-11 57.5 0.619E-11 + 62.5 0.670E-11 67.5 0.710E-11 72.5 0.744E-11 77.5 0.761E-11 + 82.5 0.767E-11 87.5 0.761E-11 92.5 0.744E-11 97.5 0.721E-11 + 102.5 0.687E-11 107.5 0.653E-11 112.5 0.619E-11 117.5 0.591E-11 + 122.5 0.557E-11 127.5 0.525E-11 132.5 0.494E-11 137.5 0.462E-11 + 142.5 0.433E-11 147.5 0.404E-11 152.5 0.377E-11 157.5 0.351E-11 + 162.5 0.327E-11 167.5 0.304E-11 172.5 0.283E-11 177.5 0.263E-11 + 182.5 0.243E-11 187.5 0.224E-11 192.5 0.206E-11 197.5 0.189E-11 + 202.5 0.173E-11 207.5 0.159E-11 212.5 0.147E-11 217.5 0.134E-11 + 222.5 0.123E-11 227.5 0.111E-11 232.5 0.101E-11 237.5 0.915E-12 + 242.5 0.824E-12 247.5 0.744E-12 252.5 0.665E-12 257.5 0.596E-12 + 262.5 0.532E-12 267.5 0.474E-12 272.5 0.427E-12 277.5 0.383E-12 + 282.5 0.341E-12 287.5 0.302E-12 292.5 0.268E-12 297.5 0.237E-12 + 302.5 0.209E-12 307.5 0.184E-12 312.5 0.162E-12 317.5 0.143E-12 + 322.5 0.126E-12 327.5 0.111E-12 332.5 0.971E-13 337.5 0.858E-13 + 342.5 0.750E-13 347.5 0.653E-13 352.5 0.567E-13 357.5 0.486E-13 + 362.5 0.410E-13 367.5 0.345E-13 372.5 0.291E-13 377.5 0.245E-13 + 382.5 0.205E-13 387.5 0.172E-13 392.5 0.140E-13 397.5 0.114E-13 + 0.41000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.206E-12 + 22.5 0.565E-12 27.5 0.107E-11 32.5 0.165E-11 37.5 0.224E-11 + 42.5 0.282E-11 47.5 0.337E-11 52.5 0.390E-11 57.5 0.440E-11 + 62.5 0.486E-11 67.5 0.524E-11 72.5 0.554E-11 77.5 0.579E-11 + 82.5 0.596E-11 87.5 0.602E-11 92.5 0.602E-11 97.5 0.596E-11 + 102.5 0.585E-11 107.5 0.568E-11 112.5 0.546E-11 117.5 0.523E-11 + 122.5 0.496E-11 127.5 0.470E-11 132.5 0.445E-11 137.5 0.422E-11 + 142.5 0.400E-11 147.5 0.378E-11 152.5 0.357E-11 157.5 0.337E-11 + 162.5 0.316E-11 167.5 0.298E-11 172.5 0.279E-11 177.5 0.261E-11 + 182.5 0.243E-11 187.5 0.226E-11 192.5 0.209E-11 197.5 0.193E-11 + 202.5 0.179E-11 207.5 0.165E-11 212.5 0.152E-11 217.5 0.140E-11 + 222.5 0.129E-11 227.5 0.118E-11 232.5 0.108E-11 237.5 0.988E-12 + 242.5 0.898E-12 247.5 0.818E-12 252.5 0.744E-12 257.5 0.670E-12 + 262.5 0.602E-12 267.5 0.542E-12 272.5 0.489E-12 277.5 0.440E-12 + 282.5 0.395E-12 287.5 0.356E-12 292.5 0.321E-12 297.5 0.288E-12 + 302.5 0.258E-12 307.5 0.231E-12 312.5 0.207E-12 317.5 0.183E-12 + 322.5 0.158E-12 327.5 0.137E-12 332.5 0.122E-12 337.5 0.108E-12 + 342.5 0.971E-13 347.5 0.869E-13 352.5 0.773E-13 357.5 0.676E-13 + 362.5 0.585E-13 367.5 0.503E-13 372.5 0.435E-13 377.5 0.375E-13 + 382.5 0.323E-13 387.5 0.277E-13 392.5 0.235E-13 397.5 0.198E-13 + 0.43000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.108E-12 + 22.5 0.285E-12 27.5 0.596E-12 32.5 0.983E-12 37.5 0.141E-11 + 42.5 0.184E-11 47.5 0.227E-11 52.5 0.268E-11 57.5 0.307E-11 + 62.5 0.344E-11 67.5 0.376E-11 72.5 0.404E-11 77.5 0.428E-11 + 82.5 0.448E-11 87.5 0.462E-11 92.5 0.472E-11 97.5 0.477E-11 + 102.5 0.478E-11 107.5 0.475E-11 112.5 0.467E-11 117.5 0.455E-11 + 122.5 0.441E-11 127.5 0.425E-11 132.5 0.408E-11 137.5 0.389E-11 + 142.5 0.371E-11 147.5 0.353E-11 152.5 0.336E-11 157.5 0.320E-11 + 162.5 0.304E-11 167.5 0.289E-11 172.5 0.273E-11 177.5 0.257E-11 + 182.5 0.241E-11 187.5 0.226E-11 192.5 0.211E-11 197.5 0.197E-11 + 202.5 0.183E-11 207.5 0.170E-11 212.5 0.158E-11 217.5 0.146E-11 + 222.5 0.135E-11 227.5 0.124E-11 232.5 0.114E-11 237.5 0.105E-11 + 242.5 0.960E-12 247.5 0.880E-12 252.5 0.801E-12 257.5 0.733E-12 + 262.5 0.665E-12 267.5 0.602E-12 272.5 0.545E-12 277.5 0.491E-12 + 282.5 0.443E-12 287.5 0.398E-12 292.5 0.360E-12 297.5 0.323E-12 + 302.5 0.291E-12 307.5 0.262E-12 312.5 0.236E-12 317.5 0.212E-12 + 322.5 0.190E-12 327.5 0.170E-12 332.5 0.152E-12 337.5 0.134E-12 + 342.5 0.118E-12 347.5 0.105E-12 352.5 0.943E-13 357.5 0.846E-13 + 362.5 0.756E-13 367.5 0.670E-13 372.5 0.591E-13 377.5 0.517E-13 + 382.5 0.450E-13 387.5 0.391E-13 392.5 0.340E-13 397.5 0.296E-13 + 0.45000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.208E-13 + 22.5 0.104E-12 27.5 0.307E-12 32.5 0.574E-12 37.5 0.880E-12 + 42.5 0.120E-11 47.5 0.152E-11 52.5 0.183E-11 57.5 0.214E-11 + 62.5 0.243E-11 67.5 0.270E-11 72.5 0.294E-11 77.5 0.316E-11 + 82.5 0.335E-11 87.5 0.350E-11 92.5 0.363E-11 97.5 0.372E-11 + 102.5 0.379E-11 107.5 0.383E-11 112.5 0.385E-11 117.5 0.385E-11 + 122.5 0.382E-11 127.5 0.376E-11 132.5 0.366E-11 137.5 0.353E-11 + 142.5 0.340E-11 147.5 0.326E-11 152.5 0.314E-11 157.5 0.301E-11 + 162.5 0.288E-11 167.5 0.275E-11 172.5 0.262E-11 177.5 0.249E-11 + 182.5 0.236E-11 187.5 0.223E-11 192.5 0.210E-11 197.5 0.197E-11 + 202.5 0.183E-11 207.5 0.172E-11 212.5 0.160E-11 217.5 0.149E-11 + 222.5 0.139E-11 227.5 0.129E-11 232.5 0.119E-11 237.5 0.110E-11 + 242.5 0.101E-11 247.5 0.926E-12 252.5 0.846E-12 257.5 0.773E-12 + 262.5 0.710E-12 267.5 0.648E-12 272.5 0.591E-12 277.5 0.533E-12 + 282.5 0.481E-12 287.5 0.436E-12 292.5 0.394E-12 297.5 0.355E-12 + 302.5 0.322E-12 307.5 0.291E-12 312.5 0.262E-12 317.5 0.237E-12 + 322.5 0.214E-12 327.5 0.193E-12 332.5 0.173E-12 337.5 0.156E-12 + 342.5 0.140E-12 347.5 0.126E-12 352.5 0.112E-12 357.5 0.101E-12 + 362.5 0.903E-13 367.5 0.807E-13 372.5 0.716E-13 377.5 0.631E-13 + 382.5 0.560E-13 387.5 0.494E-13 392.5 0.433E-13 397.5 0.377E-13 + 0.47000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.568E-13 27.5 0.177E-12 32.5 0.353E-12 37.5 0.558E-12 + 42.5 0.784E-12 47.5 0.102E-11 52.5 0.126E-11 57.5 0.149E-11 + 62.5 0.171E-11 67.5 0.193E-11 72.5 0.213E-11 77.5 0.232E-11 + 82.5 0.248E-11 87.5 0.262E-11 92.5 0.275E-11 97.5 0.285E-11 + 102.5 0.294E-11 107.5 0.302E-11 112.5 0.308E-11 117.5 0.312E-11 + 122.5 0.315E-11 127.5 0.315E-11 132.5 0.313E-11 137.5 0.308E-11 + 142.5 0.302E-11 147.5 0.295E-11 152.5 0.287E-11 157.5 0.277E-11 + 162.5 0.268E-11 167.5 0.257E-11 172.5 0.247E-11 177.5 0.237E-11 + 182.5 0.226E-11 187.5 0.215E-11 192.5 0.203E-11 197.5 0.192E-11 + 202.5 0.181E-11 207.5 0.170E-11 212.5 0.160E-11 217.5 0.150E-11 + 222.5 0.140E-11 227.5 0.131E-11 232.5 0.121E-11 237.5 0.112E-11 + 242.5 0.105E-11 247.5 0.971E-12 252.5 0.892E-12 257.5 0.824E-12 + 262.5 0.756E-12 267.5 0.687E-12 272.5 0.631E-12 277.5 0.574E-12 + 282.5 0.523E-12 287.5 0.475E-12 292.5 0.435E-12 297.5 0.397E-12 + 302.5 0.362E-12 307.5 0.328E-12 312.5 0.298E-12 317.5 0.270E-12 + 322.5 0.245E-12 327.5 0.222E-12 332.5 0.201E-12 337.5 0.182E-12 + 342.5 0.165E-12 347.5 0.150E-12 352.5 0.136E-12 357.5 0.123E-12 + 362.5 0.111E-12 367.5 0.994E-13 372.5 0.892E-13 377.5 0.801E-13 + 382.5 0.716E-13 387.5 0.642E-13 392.5 0.574E-13 397.5 0.506E-13 + 0.49000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.331E-14 + 22.5 0.245E-13 27.5 0.102E-12 32.5 0.219E-12 37.5 0.359E-12 + 42.5 0.516E-12 47.5 0.682E-12 52.5 0.858E-12 57.5 0.103E-11 + 62.5 0.120E-11 67.5 0.137E-11 72.5 0.153E-11 77.5 0.168E-11 + 82.5 0.181E-11 87.5 0.194E-11 92.5 0.206E-11 97.5 0.215E-11 + 102.5 0.224E-11 107.5 0.232E-11 112.5 0.239E-11 117.5 0.245E-11 + 122.5 0.251E-11 127.5 0.255E-11 132.5 0.258E-11 137.5 0.259E-11 + 142.5 0.259E-11 147.5 0.256E-11 152.5 0.252E-11 157.5 0.247E-11 + 162.5 0.240E-11 167.5 0.233E-11 172.5 0.225E-11 177.5 0.217E-11 + 182.5 0.208E-11 187.5 0.200E-11 192.5 0.191E-11 197.5 0.182E-11 + 202.5 0.173E-11 207.5 0.164E-11 212.5 0.156E-11 217.5 0.147E-11 + 222.5 0.137E-11 227.5 0.128E-11 232.5 0.120E-11 237.5 0.112E-11 + 242.5 0.105E-11 247.5 0.977E-12 252.5 0.903E-12 257.5 0.841E-12 + 262.5 0.778E-12 267.5 0.721E-12 272.5 0.665E-12 277.5 0.608E-12 + 282.5 0.554E-12 287.5 0.506E-12 292.5 0.462E-12 297.5 0.422E-12 + 302.5 0.387E-12 307.5 0.354E-12 312.5 0.324E-12 317.5 0.295E-12 + 322.5 0.269E-12 327.5 0.244E-12 332.5 0.222E-12 337.5 0.201E-12 + 342.5 0.183E-12 347.5 0.166E-12 352.5 0.152E-12 357.5 0.139E-12 + 362.5 0.126E-12 367.5 0.114E-12 372.5 0.103E-12 377.5 0.932E-13 + 382.5 0.846E-13 387.5 0.767E-13 392.5 0.693E-13 397.5 0.625E-13 + 0.51000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.778E-14 + 22.5 0.155E-13 27.5 0.670E-13 32.5 0.146E-12 37.5 0.245E-12 + 42.5 0.356E-12 47.5 0.472E-12 52.5 0.596E-12 57.5 0.721E-12 + 62.5 0.852E-12 67.5 0.977E-12 72.5 0.110E-11 77.5 0.121E-11 + 82.5 0.132E-11 87.5 0.143E-11 92.5 0.152E-11 97.5 0.160E-11 + 102.5 0.169E-11 107.5 0.176E-11 112.5 0.183E-11 117.5 0.190E-11 + 122.5 0.196E-11 127.5 0.201E-11 132.5 0.206E-11 137.5 0.208E-11 + 142.5 0.211E-11 147.5 0.212E-11 152.5 0.212E-11 157.5 0.211E-11 + 162.5 0.208E-11 167.5 0.205E-11 172.5 0.201E-11 177.5 0.195E-11 + 182.5 0.188E-11 187.5 0.181E-11 192.5 0.174E-11 197.5 0.168E-11 + 202.5 0.161E-11 207.5 0.153E-11 212.5 0.147E-11 217.5 0.140E-11 + 222.5 0.132E-11 227.5 0.125E-11 232.5 0.117E-11 237.5 0.110E-11 + 242.5 0.102E-11 247.5 0.954E-12 252.5 0.892E-12 257.5 0.841E-12 + 262.5 0.784E-12 267.5 0.727E-12 272.5 0.676E-12 277.5 0.625E-12 + 282.5 0.574E-12 287.5 0.529E-12 292.5 0.486E-12 297.5 0.445E-12 + 302.5 0.409E-12 307.5 0.377E-12 312.5 0.347E-12 317.5 0.319E-12 + 322.5 0.292E-12 327.5 0.267E-12 332.5 0.244E-12 337.5 0.222E-12 + 342.5 0.202E-12 347.5 0.184E-12 352.5 0.168E-12 357.5 0.154E-12 + 362.5 0.140E-12 367.5 0.128E-12 372.5 0.116E-12 377.5 0.105E-12 + 382.5 0.960E-13 387.5 0.875E-13 392.5 0.795E-13 397.5 0.721E-13 + 0.53000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.784E-14 + 22.5 0.126E-13 27.5 0.469E-13 32.5 0.994E-13 37.5 0.165E-12 + 42.5 0.243E-12 47.5 0.328E-12 52.5 0.415E-12 57.5 0.503E-12 + 62.5 0.596E-12 67.5 0.687E-12 72.5 0.778E-12 77.5 0.863E-12 + 82.5 0.949E-12 87.5 0.103E-11 92.5 0.110E-11 97.5 0.118E-11 + 102.5 0.125E-11 107.5 0.132E-11 112.5 0.138E-11 117.5 0.145E-11 + 122.5 0.151E-11 127.5 0.157E-11 132.5 0.161E-11 137.5 0.165E-11 + 142.5 0.169E-11 147.5 0.172E-11 152.5 0.174E-11 157.5 0.176E-11 + 162.5 0.177E-11 167.5 0.177E-11 172.5 0.176E-11 177.5 0.173E-11 + 182.5 0.169E-11 187.5 0.164E-11 192.5 0.159E-11 197.5 0.153E-11 + 202.5 0.147E-11 207.5 0.140E-11 212.5 0.135E-11 217.5 0.130E-11 + 222.5 0.124E-11 227.5 0.118E-11 232.5 0.111E-11 237.5 0.105E-11 + 242.5 0.988E-12 247.5 0.926E-12 252.5 0.869E-12 257.5 0.818E-12 + 262.5 0.761E-12 267.5 0.716E-12 272.5 0.670E-12 277.5 0.631E-12 + 282.5 0.591E-12 287.5 0.550E-12 292.5 0.508E-12 297.5 0.468E-12 + 302.5 0.429E-12 307.5 0.396E-12 312.5 0.366E-12 317.5 0.339E-12 + 322.5 0.314E-12 327.5 0.290E-12 332.5 0.266E-12 337.5 0.243E-12 + 342.5 0.222E-12 347.5 0.203E-12 352.5 0.186E-12 357.5 0.171E-12 + 362.5 0.156E-12 367.5 0.143E-12 372.5 0.131E-12 377.5 0.120E-12 + 382.5 0.111E-12 387.5 0.101E-12 392.5 0.926E-13 397.5 0.846E-13 + 0.55000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.566E-14 + 22.5 0.949E-14 27.5 0.331E-13 32.5 0.699E-13 37.5 0.116E-12 + 42.5 0.170E-12 47.5 0.231E-12 52.5 0.294E-12 57.5 0.358E-12 + 62.5 0.423E-12 67.5 0.489E-12 72.5 0.556E-12 77.5 0.619E-12 + 82.5 0.687E-12 87.5 0.750E-12 92.5 0.812E-12 97.5 0.875E-12 + 102.5 0.932E-12 107.5 0.988E-12 112.5 0.105E-11 117.5 0.111E-11 + 122.5 0.116E-11 127.5 0.121E-11 132.5 0.126E-11 137.5 0.130E-11 + 142.5 0.134E-11 147.5 0.137E-11 152.5 0.140E-11 157.5 0.143E-11 + 162.5 0.144E-11 167.5 0.146E-11 172.5 0.147E-11 177.5 0.147E-11 + 182.5 0.146E-11 187.5 0.143E-11 192.5 0.140E-11 197.5 0.136E-11 + 202.5 0.132E-11 207.5 0.127E-11 212.5 0.123E-11 217.5 0.119E-11 + 222.5 0.115E-11 227.5 0.110E-11 232.5 0.105E-11 237.5 0.994E-12 + 242.5 0.943E-12 247.5 0.892E-12 252.5 0.841E-12 257.5 0.790E-12 + 262.5 0.738E-12 267.5 0.699E-12 272.5 0.659E-12 277.5 0.619E-12 + 282.5 0.585E-12 287.5 0.542E-12 292.5 0.506E-12 297.5 0.468E-12 + 302.5 0.433E-12 307.5 0.401E-12 312.5 0.373E-12 317.5 0.347E-12 + 322.5 0.322E-12 327.5 0.297E-12 332.5 0.275E-12 337.5 0.253E-12 + 342.5 0.233E-12 347.5 0.214E-12 352.5 0.197E-12 357.5 0.181E-12 + 362.5 0.166E-12 367.5 0.153E-12 372.5 0.140E-12 377.5 0.129E-12 + 382.5 0.119E-12 387.5 0.109E-12 392.5 0.100E-12 397.5 0.909E-13 + 0.57000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.201E-14 + 22.5 0.602E-14 27.5 0.226E-13 32.5 0.490E-13 37.5 0.824E-13 + 42.5 0.120E-12 47.5 0.161E-12 52.5 0.205E-12 57.5 0.250E-12 + 62.5 0.295E-12 67.5 0.341E-12 72.5 0.389E-12 77.5 0.439E-12 + 82.5 0.487E-12 87.5 0.536E-12 92.5 0.585E-12 97.5 0.636E-12 + 102.5 0.682E-12 107.5 0.733E-12 112.5 0.778E-12 117.5 0.829E-12 + 122.5 0.875E-12 127.5 0.926E-12 132.5 0.960E-12 137.5 0.100E-11 + 142.5 0.104E-11 147.5 0.107E-11 152.5 0.111E-11 157.5 0.114E-11 + 162.5 0.116E-11 167.5 0.118E-11 172.5 0.120E-11 177.5 0.121E-11 + 182.5 0.122E-11 187.5 0.121E-11 192.5 0.119E-11 197.5 0.118E-11 + 202.5 0.116E-11 207.5 0.113E-11 212.5 0.110E-11 217.5 0.107E-11 + 222.5 0.104E-11 227.5 0.101E-11 232.5 0.966E-12 237.5 0.920E-12 + 242.5 0.880E-12 247.5 0.835E-12 252.5 0.795E-12 257.5 0.750E-12 + 262.5 0.710E-12 267.5 0.670E-12 272.5 0.636E-12 277.5 0.596E-12 + 282.5 0.562E-12 287.5 0.527E-12 292.5 0.495E-12 297.5 0.461E-12 + 302.5 0.430E-12 307.5 0.402E-12 312.5 0.375E-12 317.5 0.350E-12 + 322.5 0.326E-12 327.5 0.302E-12 332.5 0.281E-12 337.5 0.261E-12 + 342.5 0.242E-12 347.5 0.224E-12 352.5 0.207E-12 357.5 0.191E-12 + 362.5 0.177E-12 367.5 0.162E-12 372.5 0.150E-12 377.5 0.138E-12 + 382.5 0.128E-12 387.5 0.118E-12 392.5 0.108E-12 397.5 0.994E-13 + 0.59000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.369E-14 27.5 0.152E-13 32.5 0.342E-13 37.5 0.579E-13 + 42.5 0.841E-13 47.5 0.112E-12 52.5 0.141E-12 57.5 0.172E-12 + 62.5 0.203E-12 67.5 0.236E-12 72.5 0.269E-12 77.5 0.303E-12 + 82.5 0.339E-12 87.5 0.375E-12 92.5 0.414E-12 97.5 0.453E-12 + 102.5 0.493E-12 107.5 0.535E-12 112.5 0.574E-12 117.5 0.619E-12 + 122.5 0.653E-12 127.5 0.693E-12 132.5 0.733E-12 137.5 0.767E-12 + 142.5 0.801E-12 147.5 0.835E-12 152.5 0.863E-12 157.5 0.892E-12 + 162.5 0.915E-12 167.5 0.943E-12 172.5 0.960E-12 177.5 0.977E-12 + 182.5 0.994E-12 187.5 0.994E-12 192.5 0.100E-11 197.5 0.994E-12 + 202.5 0.994E-12 207.5 0.983E-12 212.5 0.971E-12 217.5 0.954E-12 + 222.5 0.932E-12 227.5 0.903E-12 232.5 0.875E-12 237.5 0.846E-12 + 242.5 0.807E-12 247.5 0.773E-12 252.5 0.738E-12 257.5 0.704E-12 + 262.5 0.676E-12 267.5 0.642E-12 272.5 0.608E-12 277.5 0.574E-12 + 282.5 0.543E-12 287.5 0.511E-12 292.5 0.481E-12 297.5 0.452E-12 + 302.5 0.425E-12 307.5 0.400E-12 312.5 0.376E-12 317.5 0.353E-12 + 322.5 0.329E-12 327.5 0.307E-12 332.5 0.286E-12 337.5 0.268E-12 + 342.5 0.250E-12 347.5 0.233E-12 352.5 0.216E-12 357.5 0.201E-12 + 362.5 0.186E-12 367.5 0.172E-12 372.5 0.159E-12 377.5 0.148E-12 + 382.5 0.137E-12 387.5 0.127E-12 392.5 0.118E-12 397.5 0.108E-12 + 0.61000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.249E-14 27.5 0.106E-13 32.5 0.239E-13 37.5 0.403E-13 + 42.5 0.585E-13 47.5 0.773E-13 52.5 0.966E-13 57.5 0.117E-12 + 62.5 0.137E-12 67.5 0.160E-12 72.5 0.182E-12 77.5 0.207E-12 + 82.5 0.232E-12 87.5 0.260E-12 92.5 0.289E-12 97.5 0.320E-12 + 102.5 0.353E-12 107.5 0.387E-12 112.5 0.420E-12 117.5 0.456E-12 + 122.5 0.490E-12 127.5 0.523E-12 132.5 0.555E-12 137.5 0.585E-12 + 142.5 0.614E-12 147.5 0.648E-12 152.5 0.670E-12 157.5 0.699E-12 + 162.5 0.721E-12 167.5 0.750E-12 172.5 0.773E-12 177.5 0.790E-12 + 182.5 0.807E-12 187.5 0.818E-12 192.5 0.824E-12 197.5 0.829E-12 + 202.5 0.835E-12 207.5 0.841E-12 212.5 0.841E-12 217.5 0.829E-12 + 222.5 0.824E-12 227.5 0.807E-12 232.5 0.790E-12 237.5 0.767E-12 + 242.5 0.738E-12 247.5 0.716E-12 252.5 0.687E-12 257.5 0.665E-12 + 262.5 0.636E-12 267.5 0.614E-12 272.5 0.585E-12 277.5 0.553E-12 + 282.5 0.524E-12 287.5 0.494E-12 292.5 0.468E-12 297.5 0.443E-12 + 302.5 0.420E-12 307.5 0.398E-12 312.5 0.376E-12 317.5 0.354E-12 + 322.5 0.332E-12 327.5 0.310E-12 332.5 0.291E-12 337.5 0.273E-12 + 342.5 0.256E-12 347.5 0.240E-12 352.5 0.225E-12 357.5 0.210E-12 + 362.5 0.195E-12 367.5 0.182E-12 372.5 0.169E-12 377.5 0.157E-12 + 382.5 0.147E-12 387.5 0.136E-12 392.5 0.127E-12 397.5 0.118E-12 + 0.63000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.186E-14 27.5 0.744E-14 32.5 0.166E-13 37.5 0.277E-13 + 42.5 0.398E-13 47.5 0.521E-13 52.5 0.653E-13 57.5 0.784E-13 + 62.5 0.926E-13 67.5 0.107E-12 72.5 0.123E-12 77.5 0.139E-12 + 82.5 0.158E-12 87.5 0.178E-12 92.5 0.200E-12 97.5 0.224E-12 + 102.5 0.249E-12 107.5 0.274E-12 112.5 0.302E-12 117.5 0.329E-12 + 122.5 0.357E-12 127.5 0.384E-12 132.5 0.411E-12 137.5 0.437E-12 + 142.5 0.465E-12 147.5 0.491E-12 152.5 0.516E-12 157.5 0.540E-12 + 162.5 0.564E-12 167.5 0.585E-12 172.5 0.608E-12 177.5 0.631E-12 + 182.5 0.642E-12 187.5 0.659E-12 192.5 0.670E-12 197.5 0.682E-12 + 202.5 0.687E-12 207.5 0.699E-12 212.5 0.704E-12 217.5 0.704E-12 + 222.5 0.704E-12 227.5 0.699E-12 232.5 0.687E-12 237.5 0.676E-12 + 242.5 0.659E-12 247.5 0.648E-12 252.5 0.631E-12 257.5 0.608E-12 + 262.5 0.596E-12 267.5 0.574E-12 272.5 0.552E-12 277.5 0.525E-12 + 282.5 0.500E-12 287.5 0.475E-12 292.5 0.452E-12 297.5 0.431E-12 + 302.5 0.410E-12 307.5 0.390E-12 312.5 0.371E-12 317.5 0.352E-12 + 322.5 0.331E-12 327.5 0.312E-12 332.5 0.294E-12 337.5 0.277E-12 + 342.5 0.260E-12 347.5 0.245E-12 352.5 0.231E-12 357.5 0.217E-12 + 362.5 0.203E-12 367.5 0.190E-12 372.5 0.177E-12 377.5 0.165E-12 + 382.5 0.155E-12 387.5 0.145E-12 392.5 0.135E-12 397.5 0.126E-12 + 0.65000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.146E-14 27.5 0.534E-14 32.5 0.114E-13 37.5 0.187E-13 + 42.5 0.267E-13 47.5 0.349E-13 52.5 0.435E-13 57.5 0.524E-13 + 62.5 0.619E-13 67.5 0.716E-13 72.5 0.824E-13 77.5 0.943E-13 + 82.5 0.107E-12 87.5 0.122E-12 92.5 0.137E-12 97.5 0.155E-12 + 102.5 0.172E-12 107.5 0.191E-12 112.5 0.212E-12 117.5 0.233E-12 + 122.5 0.254E-12 127.5 0.276E-12 132.5 0.297E-12 137.5 0.320E-12 + 142.5 0.343E-12 147.5 0.366E-12 152.5 0.387E-12 157.5 0.408E-12 + 162.5 0.429E-12 167.5 0.449E-12 172.5 0.469E-12 177.5 0.487E-12 + 182.5 0.503E-12 187.5 0.517E-12 192.5 0.529E-12 197.5 0.540E-12 + 202.5 0.553E-12 207.5 0.561E-12 212.5 0.568E-12 217.5 0.574E-12 + 222.5 0.585E-12 227.5 0.585E-12 232.5 0.579E-12 237.5 0.579E-12 + 242.5 0.574E-12 247.5 0.567E-12 252.5 0.558E-12 257.5 0.547E-12 + 262.5 0.536E-12 267.5 0.521E-12 272.5 0.506E-12 277.5 0.487E-12 + 282.5 0.468E-12 287.5 0.448E-12 292.5 0.429E-12 297.5 0.410E-12 + 302.5 0.393E-12 307.5 0.375E-12 312.5 0.359E-12 317.5 0.343E-12 + 322.5 0.325E-12 327.5 0.308E-12 332.5 0.291E-12 337.5 0.275E-12 + 342.5 0.260E-12 347.5 0.245E-12 352.5 0.232E-12 357.5 0.220E-12 + 362.5 0.207E-12 367.5 0.195E-12 372.5 0.183E-12 377.5 0.172E-12 + 382.5 0.161E-12 387.5 0.151E-12 392.5 0.142E-12 397.5 0.133E-12 + 0.67000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.103E-14 27.5 0.333E-14 32.5 0.704E-14 37.5 0.118E-13 + 42.5 0.170E-13 47.5 0.221E-13 52.5 0.273E-13 57.5 0.328E-13 + 62.5 0.387E-13 67.5 0.456E-13 72.5 0.530E-13 77.5 0.608E-13 + 82.5 0.693E-13 87.5 0.784E-13 92.5 0.892E-13 97.5 0.101E-12 + 102.5 0.114E-12 107.5 0.128E-12 112.5 0.144E-12 117.5 0.160E-12 + 122.5 0.176E-12 127.5 0.192E-12 132.5 0.208E-12 137.5 0.226E-12 + 142.5 0.245E-12 147.5 0.263E-12 152.5 0.281E-12 157.5 0.298E-12 + 162.5 0.315E-12 167.5 0.332E-12 172.5 0.349E-12 177.5 0.366E-12 + 182.5 0.380E-12 187.5 0.394E-12 192.5 0.406E-12 197.5 0.418E-12 + 202.5 0.429E-12 207.5 0.439E-12 212.5 0.448E-12 217.5 0.457E-12 + 222.5 0.465E-12 227.5 0.469E-12 232.5 0.472E-12 237.5 0.474E-12 + 242.5 0.475E-12 247.5 0.474E-12 252.5 0.471E-12 257.5 0.467E-12 + 262.5 0.461E-12 267.5 0.454E-12 272.5 0.445E-12 277.5 0.434E-12 + 282.5 0.421E-12 287.5 0.407E-12 292.5 0.393E-12 297.5 0.378E-12 + 302.5 0.364E-12 307.5 0.350E-12 312.5 0.337E-12 317.5 0.323E-12 + 322.5 0.309E-12 327.5 0.294E-12 332.5 0.280E-12 337.5 0.265E-12 + 342.5 0.251E-12 347.5 0.239E-12 352.5 0.227E-12 357.5 0.216E-12 + 362.5 0.205E-12 367.5 0.194E-12 372.5 0.182E-12 377.5 0.172E-12 + 382.5 0.162E-12 387.5 0.153E-12 392.5 0.144E-12 397.5 0.136E-12 + 0.69000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.105E-17 + 22.5 0.653E-15 27.5 0.185E-14 32.5 0.393E-14 37.5 0.670E-14 + 42.5 0.977E-14 47.5 0.129E-13 52.5 0.160E-13 57.5 0.192E-13 + 62.5 0.228E-13 67.5 0.274E-13 72.5 0.325E-13 77.5 0.379E-13 + 82.5 0.428E-13 87.5 0.483E-13 92.5 0.550E-13 97.5 0.631E-13 + 102.5 0.721E-13 107.5 0.824E-13 112.5 0.937E-13 117.5 0.105E-12 + 122.5 0.117E-12 127.5 0.129E-12 132.5 0.141E-12 137.5 0.155E-12 + 142.5 0.168E-12 147.5 0.181E-12 152.5 0.195E-12 157.5 0.209E-12 + 162.5 0.223E-12 167.5 0.237E-12 172.5 0.251E-12 177.5 0.265E-12 + 182.5 0.278E-12 187.5 0.290E-12 192.5 0.301E-12 197.5 0.312E-12 + 202.5 0.322E-12 207.5 0.332E-12 212.5 0.341E-12 217.5 0.350E-12 + 222.5 0.358E-12 227.5 0.365E-12 232.5 0.369E-12 237.5 0.373E-12 + 242.5 0.377E-12 247.5 0.379E-12 252.5 0.381E-12 257.5 0.381E-12 + 262.5 0.380E-12 267.5 0.379E-12 272.5 0.376E-12 277.5 0.371E-12 + 282.5 0.364E-12 287.5 0.356E-12 292.5 0.347E-12 297.5 0.337E-12 + 302.5 0.327E-12 307.5 0.317E-12 312.5 0.307E-12 317.5 0.296E-12 + 322.5 0.285E-12 327.5 0.273E-12 332.5 0.261E-12 337.5 0.249E-12 + 342.5 0.237E-12 347.5 0.227E-12 352.5 0.216E-12 357.5 0.207E-12 + 362.5 0.197E-12 367.5 0.187E-12 372.5 0.177E-12 377.5 0.168E-12 + 382.5 0.159E-12 387.5 0.151E-12 392.5 0.143E-12 397.5 0.135E-12 + 0.71000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.227E-18 + 22.5 0.497E-15 27.5 0.103E-14 32.5 0.205E-14 37.5 0.327E-14 + 42.5 0.478E-14 47.5 0.648E-14 52.5 0.824E-14 57.5 0.100E-13 + 62.5 0.122E-13 67.5 0.150E-13 72.5 0.184E-13 77.5 0.217E-13 + 82.5 0.249E-13 87.5 0.286E-13 92.5 0.330E-13 97.5 0.382E-13 + 102.5 0.436E-13 107.5 0.498E-13 112.5 0.568E-13 117.5 0.648E-13 + 122.5 0.727E-13 127.5 0.812E-13 132.5 0.903E-13 137.5 0.100E-12 + 142.5 0.110E-12 147.5 0.120E-12 152.5 0.131E-12 157.5 0.142E-12 + 162.5 0.153E-12 167.5 0.164E-12 172.5 0.175E-12 177.5 0.186E-12 + 182.5 0.197E-12 187.5 0.207E-12 192.5 0.216E-12 197.5 0.226E-12 + 202.5 0.235E-12 207.5 0.244E-12 212.5 0.253E-12 217.5 0.261E-12 + 222.5 0.269E-12 227.5 0.276E-12 232.5 0.281E-12 237.5 0.286E-12 + 242.5 0.290E-12 247.5 0.295E-12 252.5 0.298E-12 257.5 0.301E-12 + 262.5 0.303E-12 267.5 0.304E-12 272.5 0.306E-12 277.5 0.305E-12 + 282.5 0.303E-12 287.5 0.300E-12 292.5 0.296E-12 297.5 0.291E-12 + 302.5 0.285E-12 307.5 0.279E-12 312.5 0.273E-12 317.5 0.265E-12 + 322.5 0.255E-12 327.5 0.246E-12 332.5 0.237E-12 337.5 0.228E-12 + 342.5 0.219E-12 347.5 0.211E-12 352.5 0.202E-12 357.5 0.194E-12 + 362.5 0.186E-12 367.5 0.177E-12 372.5 0.168E-12 377.5 0.161E-12 + 382.5 0.154E-12 387.5 0.147E-12 392.5 0.139E-12 397.5 0.132E-12 + 0.73000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.337E-15 27.5 0.596E-15 32.5 0.105E-14 37.5 0.160E-14 + 42.5 0.224E-14 47.5 0.304E-14 52.5 0.394E-14 57.5 0.491E-14 + 62.5 0.619E-14 67.5 0.795E-14 72.5 0.101E-13 77.5 0.121E-13 + 82.5 0.143E-13 87.5 0.169E-13 92.5 0.201E-13 97.5 0.238E-13 + 102.5 0.276E-13 107.5 0.311E-13 112.5 0.348E-13 117.5 0.393E-13 + 122.5 0.445E-13 127.5 0.503E-13 132.5 0.568E-13 137.5 0.642E-13 + 142.5 0.721E-13 147.5 0.801E-13 152.5 0.880E-13 157.5 0.966E-13 + 162.5 0.105E-12 167.5 0.113E-12 172.5 0.122E-12 177.5 0.131E-12 + 182.5 0.139E-12 187.5 0.147E-12 192.5 0.155E-12 197.5 0.163E-12 + 202.5 0.171E-12 207.5 0.179E-12 212.5 0.187E-12 217.5 0.194E-12 + 222.5 0.202E-12 227.5 0.208E-12 232.5 0.214E-12 237.5 0.219E-12 + 242.5 0.224E-12 247.5 0.229E-12 252.5 0.233E-12 257.5 0.237E-12 + 262.5 0.240E-12 267.5 0.244E-12 272.5 0.246E-12 277.5 0.247E-12 + 282.5 0.248E-12 287.5 0.248E-12 292.5 0.247E-12 297.5 0.245E-12 + 302.5 0.243E-12 307.5 0.241E-12 312.5 0.237E-12 317.5 0.233E-12 + 322.5 0.227E-12 327.5 0.222E-12 332.5 0.215E-12 337.5 0.209E-12 + 342.5 0.202E-12 347.5 0.195E-12 352.5 0.189E-12 357.5 0.182E-12 + 362.5 0.176E-12 367.5 0.168E-12 372.5 0.161E-12 377.5 0.155E-12 + 382.5 0.148E-12 387.5 0.143E-12 392.5 0.136E-12 397.5 0.130E-12 + 0.75000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.197E-15 27.5 0.364E-15 32.5 0.528E-15 37.5 0.727E-15 + 42.5 0.103E-14 47.5 0.143E-14 52.5 0.187E-14 57.5 0.236E-14 + 62.5 0.316E-14 67.5 0.435E-14 72.5 0.574E-14 77.5 0.704E-14 + 82.5 0.841E-14 87.5 0.101E-13 92.5 0.123E-13 97.5 0.149E-13 + 102.5 0.176E-13 107.5 0.200E-13 112.5 0.223E-13 117.5 0.249E-13 + 122.5 0.283E-13 127.5 0.320E-13 132.5 0.365E-13 137.5 0.417E-13 + 142.5 0.473E-13 147.5 0.531E-13 152.5 0.591E-13 157.5 0.653E-13 + 162.5 0.716E-13 167.5 0.778E-13 172.5 0.841E-13 177.5 0.909E-13 + 182.5 0.977E-13 187.5 0.105E-12 192.5 0.111E-12 197.5 0.119E-12 + 202.5 0.125E-12 207.5 0.132E-12 212.5 0.138E-12 217.5 0.145E-12 + 222.5 0.151E-12 227.5 0.157E-12 232.5 0.162E-12 237.5 0.168E-12 + 242.5 0.173E-12 247.5 0.177E-12 252.5 0.182E-12 257.5 0.186E-12 + 262.5 0.190E-12 267.5 0.193E-12 272.5 0.197E-12 277.5 0.199E-12 + 282.5 0.201E-12 287.5 0.202E-12 292.5 0.203E-12 297.5 0.203E-12 + 302.5 0.204E-12 307.5 0.203E-12 312.5 0.203E-12 317.5 0.202E-12 + 322.5 0.199E-12 327.5 0.196E-12 332.5 0.193E-12 337.5 0.189E-12 + 342.5 0.184E-12 347.5 0.180E-12 352.5 0.175E-12 357.5 0.170E-12 + 362.5 0.165E-12 367.5 0.159E-12 372.5 0.153E-12 377.5 0.148E-12 + 382.5 0.142E-12 387.5 0.137E-12 392.5 0.132E-12 397.5 0.126E-12 + 0.77000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.801E-16 27.5 0.178E-15 32.5 0.232E-15 37.5 0.283E-15 + 42.5 0.410E-15 47.5 0.625E-15 52.5 0.875E-15 57.5 0.115E-14 + 62.5 0.159E-14 67.5 0.231E-14 72.5 0.318E-14 77.5 0.398E-14 + 82.5 0.485E-14 87.5 0.591E-14 92.5 0.733E-14 97.5 0.909E-14 + 102.5 0.110E-13 107.5 0.126E-13 112.5 0.142E-13 117.5 0.161E-13 + 122.5 0.186E-13 127.5 0.214E-13 132.5 0.241E-13 137.5 0.273E-13 + 142.5 0.308E-13 147.5 0.346E-13 152.5 0.389E-13 157.5 0.431E-13 + 162.5 0.477E-13 167.5 0.524E-13 172.5 0.574E-13 177.5 0.625E-13 + 182.5 0.682E-13 187.5 0.738E-13 192.5 0.790E-13 197.5 0.846E-13 + 202.5 0.903E-13 207.5 0.954E-13 212.5 0.101E-12 217.5 0.106E-12 + 222.5 0.112E-12 227.5 0.117E-12 232.5 0.122E-12 237.5 0.127E-12 + 242.5 0.131E-12 247.5 0.136E-12 252.5 0.140E-12 257.5 0.144E-12 + 262.5 0.148E-12 267.5 0.152E-12 272.5 0.155E-12 277.5 0.158E-12 + 282.5 0.160E-12 287.5 0.162E-12 292.5 0.164E-12 297.5 0.165E-12 + 302.5 0.167E-12 307.5 0.168E-12 312.5 0.169E-12 317.5 0.170E-12 + 322.5 0.169E-12 327.5 0.168E-12 332.5 0.166E-12 337.5 0.165E-12 + 342.5 0.163E-12 347.5 0.160E-12 352.5 0.158E-12 357.5 0.155E-12 + 362.5 0.151E-12 367.5 0.147E-12 372.5 0.143E-12 377.5 0.137E-12 + 382.5 0.133E-12 387.5 0.129E-12 392.5 0.125E-12 397.5 0.121E-12 + 0.79000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.189E-16 27.5 0.454E-16 32.5 0.579E-16 37.5 0.608E-16 + 42.5 0.841E-16 47.5 0.151E-15 52.5 0.245E-15 57.5 0.378E-15 + 62.5 0.653E-15 67.5 0.110E-14 72.5 0.158E-14 77.5 0.202E-14 + 82.5 0.251E-14 87.5 0.316E-14 92.5 0.404E-14 97.5 0.520E-14 + 102.5 0.642E-14 107.5 0.756E-14 112.5 0.875E-14 117.5 0.102E-13 + 122.5 0.120E-13 127.5 0.141E-13 132.5 0.160E-13 137.5 0.179E-13 + 142.5 0.199E-13 147.5 0.222E-13 152.5 0.248E-13 157.5 0.277E-13 + 162.5 0.309E-13 167.5 0.343E-13 172.5 0.381E-13 177.5 0.422E-13 + 182.5 0.465E-13 187.5 0.510E-13 192.5 0.549E-13 197.5 0.591E-13 + 202.5 0.636E-13 207.5 0.676E-13 212.5 0.721E-13 217.5 0.767E-13 + 222.5 0.812E-13 227.5 0.858E-13 232.5 0.898E-13 237.5 0.937E-13 + 242.5 0.977E-13 247.5 0.102E-12 252.5 0.106E-12 257.5 0.110E-12 + 262.5 0.114E-12 267.5 0.116E-12 272.5 0.120E-12 277.5 0.123E-12 + 282.5 0.126E-12 287.5 0.128E-12 292.5 0.130E-12 297.5 0.132E-12 + 302.5 0.134E-12 307.5 0.136E-12 312.5 0.137E-12 317.5 0.139E-12 + 322.5 0.139E-12 327.5 0.140E-12 332.5 0.140E-12 337.5 0.140E-12 + 342.5 0.139E-12 347.5 0.139E-12 352.5 0.138E-12 357.5 0.137E-12 + 362.5 0.135E-12 367.5 0.132E-12 372.5 0.129E-12 377.5 0.126E-12 + 382.5 0.122E-12 387.5 0.119E-12 392.5 0.116E-12 397.5 0.114E-12 diff --git a/data/evgen/nucl/spectral_functions/pke12_tot_genie_format.data b/data/evgen/nucl/spectral_functions/pke12_tot_genie_format.data new file mode 100644 index 000000000..b237e99df --- /dev/null +++ b/data/evgen/nucl/spectral_functions/pke12_tot_genie_format.data @@ -0,0 +1,841 @@ +80 40 +0.10000E+02 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.405E-08 + 22.5 0.254E-08 27.5 0.320E-08 32.5 0.484E-08 37.5 0.625E-08 + 42.5 0.546E-08 47.5 0.343E-08 52.5 0.217E-08 57.5 0.137E-08 + 62.5 0.928E-09 67.5 0.678E-09 72.5 0.499E-09 77.5 0.395E-09 + 82.5 0.313E-09 87.5 0.257E-09 92.5 0.215E-09 97.5 0.181E-09 + 102.5 0.153E-09 107.5 0.134E-09 112.5 0.116E-09 117.5 0.101E-09 + 122.5 0.446E-11 127.5 0.336E-11 132.5 0.252E-11 137.5 0.178E-11 + 142.5 0.111E-11 147.5 0.552E-12 152.5 0.172E-12 157.5 0.784E-13 + 162.5 0.710E-13 167.5 0.487E-13 172.5 0.261E-13 177.5 0.101E-13 + 182.5 0.631E-15 187.5 0.000E+00 192.5 0.000E+00 197.5 0.000E+00 + 202.5 0.000E+00 207.5 0.738E-17 212.5 0.169E-17 217.5 0.000E+00 + 222.5 0.000E+00 227.5 0.000E+00 232.5 0.000E+00 237.5 0.000E+00 + 242.5 0.000E+00 247.5 0.000E+00 252.5 0.000E+00 257.5 0.000E+00 + 262.5 0.000E+00 267.5 0.000E+00 272.5 0.000E+00 277.5 0.000E+00 + 282.5 0.000E+00 287.5 0.000E+00 292.5 0.000E+00 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.30000E+02 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.704E-08 + 22.5 0.329E-08 27.5 0.326E-08 32.5 0.469E-08 37.5 0.591E-08 + 42.5 0.511E-08 47.5 0.322E-08 52.5 0.202E-08 57.5 0.129E-08 + 62.5 0.882E-09 67.5 0.650E-09 72.5 0.480E-09 77.5 0.378E-09 + 82.5 0.302E-09 87.5 0.247E-09 92.5 0.206E-09 97.5 0.175E-09 + 102.5 0.149E-09 107.5 0.129E-09 112.5 0.111E-09 117.5 0.983E-10 + 122.5 0.394E-11 127.5 0.315E-11 132.5 0.221E-11 137.5 0.139E-11 + 142.5 0.807E-12 147.5 0.376E-12 152.5 0.738E-13 157.5 0.136E-14 + 162.5 0.476E-15 167.5 0.110E-15 172.5 0.591E-17 177.5 0.000E+00 + 182.5 0.000E+00 187.5 0.228E-14 192.5 0.266E-14 197.5 0.994E-15 + 202.5 0.113E-15 207.5 0.000E+00 212.5 0.000E+00 217.5 0.000E+00 + 222.5 0.000E+00 227.5 0.000E+00 232.5 0.000E+00 237.5 0.000E+00 + 242.5 0.000E+00 247.5 0.000E+00 252.5 0.000E+00 257.5 0.000E+00 + 262.5 0.000E+00 267.5 0.000E+00 272.5 0.000E+00 277.5 0.000E+00 + 282.5 0.000E+00 287.5 0.000E+00 292.5 0.000E+00 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.50000E+02 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.109E-07 + 22.5 0.416E-08 27.5 0.325E-08 32.5 0.435E-08 37.5 0.540E-08 + 42.5 0.464E-08 47.5 0.291E-08 52.5 0.181E-08 57.5 0.117E-08 + 62.5 0.808E-09 67.5 0.596E-09 72.5 0.444E-09 77.5 0.350E-09 + 82.5 0.280E-09 87.5 0.229E-09 92.5 0.192E-09 97.5 0.163E-09 + 102.5 0.140E-09 107.5 0.120E-09 112.5 0.105E-09 117.5 0.929E-10 + 122.5 0.544E-11 127.5 0.418E-11 132.5 0.307E-11 137.5 0.219E-11 + 142.5 0.146E-11 147.5 0.943E-12 152.5 0.608E-12 157.5 0.374E-12 + 162.5 0.223E-12 167.5 0.137E-12 172.5 0.807E-13 177.5 0.387E-13 + 182.5 0.120E-13 187.5 0.000E+00 192.5 0.000E+00 197.5 0.000E+00 + 202.5 0.000E+00 207.5 0.886E-17 212.5 0.204E-17 217.5 0.000E+00 + 222.5 0.000E+00 227.5 0.000E+00 232.5 0.000E+00 237.5 0.000E+00 + 242.5 0.000E+00 247.5 0.000E+00 252.5 0.000E+00 257.5 0.000E+00 + 262.5 0.000E+00 267.5 0.000E+00 272.5 0.000E+00 277.5 0.000E+00 + 282.5 0.000E+00 287.5 0.000E+00 292.5 0.000E+00 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.70000E+02 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.149E-07 + 22.5 0.504E-08 27.5 0.321E-08 32.5 0.382E-08 37.5 0.453E-08 + 42.5 0.386E-08 47.5 0.247E-08 52.5 0.155E-08 57.5 0.102E-08 + 62.5 0.707E-09 67.5 0.517E-09 72.5 0.392E-09 77.5 0.309E-09 + 82.5 0.247E-09 87.5 0.203E-09 92.5 0.170E-09 97.5 0.145E-09 + 102.5 0.125E-09 107.5 0.107E-09 112.5 0.946E-10 117.5 0.833E-10 + 122.5 0.636E-11 127.5 0.493E-11 132.5 0.392E-11 137.5 0.310E-11 + 142.5 0.231E-11 147.5 0.170E-11 152.5 0.127E-11 157.5 0.915E-12 + 162.5 0.648E-12 167.5 0.442E-12 172.5 0.283E-12 177.5 0.162E-12 + 182.5 0.767E-13 187.5 0.262E-13 192.5 0.378E-14 197.5 0.183E-17 + 202.5 0.000E+00 207.5 0.000E+00 212.5 0.000E+00 217.5 0.000E+00 + 222.5 0.000E+00 227.5 0.000E+00 232.5 0.000E+00 237.5 0.000E+00 + 242.5 0.000E+00 247.5 0.000E+00 252.5 0.000E+00 257.5 0.000E+00 + 262.5 0.000E+00 267.5 0.000E+00 272.5 0.000E+00 277.5 0.000E+00 + 282.5 0.521E-18 287.5 0.375E-19 292.5 0.000E+00 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.90000E+02 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.170E-07 + 22.5 0.536E-08 27.5 0.299E-08 32.5 0.323E-08 37.5 0.370E-08 + 42.5 0.312E-08 47.5 0.202E-08 52.5 0.128E-08 57.5 0.852E-09 + 62.5 0.590E-09 67.5 0.434E-09 72.5 0.331E-09 77.5 0.260E-09 + 82.5 0.209E-09 87.5 0.172E-09 92.5 0.146E-09 97.5 0.123E-09 + 102.5 0.107E-09 107.5 0.914E-10 112.5 0.807E-10 117.5 0.710E-10 + 122.5 0.636E-11 127.5 0.518E-11 132.5 0.429E-11 137.5 0.351E-11 + 142.5 0.283E-11 147.5 0.222E-11 152.5 0.172E-11 157.5 0.128E-11 + 162.5 0.926E-12 167.5 0.682E-12 172.5 0.495E-12 177.5 0.342E-12 + 182.5 0.214E-12 187.5 0.113E-12 192.5 0.485E-13 197.5 0.126E-13 + 202.5 0.000E+00 207.5 0.000E+00 212.5 0.000E+00 217.5 0.591E-18 + 222.5 0.000E+00 227.5 0.000E+00 232.5 0.000E+00 237.5 0.000E+00 + 242.5 0.000E+00 247.5 0.000E+00 252.5 0.000E+00 257.5 0.000E+00 + 262.5 0.000E+00 267.5 0.000E+00 272.5 0.000E+00 277.5 0.000E+00 + 282.5 0.402E-18 287.5 0.291E-19 292.5 0.000E+00 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.11000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.168E-07 + 22.5 0.507E-08 27.5 0.257E-08 32.5 0.260E-08 37.5 0.287E-08 + 42.5 0.240E-08 47.5 0.157E-08 52.5 0.101E-08 57.5 0.666E-09 + 62.5 0.467E-09 67.5 0.346E-09 72.5 0.265E-09 77.5 0.208E-09 + 82.5 0.170E-09 87.5 0.140E-09 92.5 0.118E-09 97.5 0.101E-09 + 102.5 0.870E-10 107.5 0.755E-10 112.5 0.661E-10 117.5 0.583E-10 + 122.5 0.767E-11 127.5 0.642E-11 132.5 0.527E-11 137.5 0.434E-11 + 142.5 0.357E-11 147.5 0.289E-11 152.5 0.227E-11 157.5 0.177E-11 + 162.5 0.136E-11 167.5 0.104E-11 172.5 0.784E-12 177.5 0.564E-12 + 182.5 0.399E-12 187.5 0.274E-12 192.5 0.187E-12 197.5 0.127E-12 + 202.5 0.915E-13 207.5 0.727E-13 212.5 0.591E-13 217.5 0.474E-13 + 222.5 0.378E-13 227.5 0.304E-13 232.5 0.247E-13 237.5 0.198E-13 + 242.5 0.157E-13 247.5 0.120E-13 252.5 0.892E-14 257.5 0.631E-14 + 262.5 0.410E-14 267.5 0.225E-14 272.5 0.807E-15 277.5 0.920E-16 + 282.5 0.000E+00 287.5 0.000E+00 292.5 0.000E+00 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.13000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.150E-07 + 22.5 0.454E-08 27.5 0.214E-08 32.5 0.200E-08 37.5 0.215E-08 + 42.5 0.177E-08 47.5 0.117E-08 52.5 0.756E-09 57.5 0.502E-09 + 62.5 0.354E-09 67.5 0.264E-09 72.5 0.204E-09 77.5 0.161E-09 + 82.5 0.132E-09 87.5 0.110E-09 92.5 0.925E-10 97.5 0.790E-10 + 102.5 0.687E-10 107.5 0.600E-10 112.5 0.527E-10 117.5 0.463E-10 + 122.5 0.966E-11 127.5 0.824E-11 132.5 0.693E-11 137.5 0.574E-11 + 142.5 0.477E-11 147.5 0.391E-11 152.5 0.319E-11 157.5 0.259E-11 + 162.5 0.211E-11 167.5 0.168E-11 172.5 0.130E-11 177.5 0.994E-12 + 182.5 0.750E-12 187.5 0.561E-12 192.5 0.412E-12 197.5 0.298E-12 + 202.5 0.224E-12 207.5 0.182E-12 212.5 0.149E-12 217.5 0.121E-12 + 222.5 0.971E-13 227.5 0.773E-13 232.5 0.608E-13 237.5 0.476E-13 + 242.5 0.365E-13 247.5 0.276E-13 252.5 0.206E-13 257.5 0.145E-13 + 262.5 0.954E-14 267.5 0.510E-14 272.5 0.167E-14 277.5 0.164E-15 + 282.5 0.000E+00 287.5 0.000E+00 292.5 0.000E+00 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.15000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.122E-07 + 22.5 0.363E-08 27.5 0.162E-08 32.5 0.144E-08 37.5 0.153E-08 + 42.5 0.126E-08 47.5 0.825E-09 52.5 0.533E-09 57.5 0.364E-09 + 62.5 0.257E-09 67.5 0.192E-09 72.5 0.149E-09 77.5 0.120E-09 + 82.5 0.978E-10 87.5 0.825E-10 92.5 0.696E-10 97.5 0.598E-10 + 102.5 0.522E-10 107.5 0.458E-10 112.5 0.405E-10 117.5 0.352E-10 + 122.5 0.110E-10 127.5 0.954E-11 132.5 0.818E-11 137.5 0.699E-11 + 142.5 0.585E-11 147.5 0.484E-11 152.5 0.403E-11 157.5 0.335E-11 + 162.5 0.279E-11 167.5 0.227E-11 172.5 0.182E-11 177.5 0.145E-11 + 182.5 0.114E-11 187.5 0.886E-12 192.5 0.670E-12 197.5 0.495E-12 + 202.5 0.378E-12 207.5 0.310E-12 212.5 0.254E-12 217.5 0.208E-12 + 222.5 0.167E-12 227.5 0.133E-12 232.5 0.104E-12 237.5 0.801E-13 + 242.5 0.608E-13 247.5 0.459E-13 252.5 0.336E-13 257.5 0.234E-13 + 262.5 0.148E-13 267.5 0.773E-14 272.5 0.228E-14 277.5 0.130E-15 + 282.5 0.000E+00 287.5 0.642E-19 292.5 0.555E-18 297.5 0.108E-22 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.17000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.911E-08 + 22.5 0.258E-08 27.5 0.119E-08 32.5 0.104E-08 37.5 0.106E-08 + 42.5 0.860E-09 47.5 0.564E-09 52.5 0.363E-09 57.5 0.250E-09 + 62.5 0.179E-09 67.5 0.135E-09 72.5 0.106E-09 77.5 0.857E-10 + 82.5 0.706E-10 87.5 0.597E-10 92.5 0.502E-10 97.5 0.433E-10 + 102.5 0.380E-10 107.5 0.334E-10 112.5 0.294E-10 117.5 0.257E-10 + 122.5 0.111E-10 127.5 0.966E-11 132.5 0.829E-11 137.5 0.716E-11 + 142.5 0.614E-11 147.5 0.519E-11 152.5 0.438E-11 157.5 0.369E-11 + 162.5 0.311E-11 167.5 0.260E-11 172.5 0.214E-11 177.5 0.175E-11 + 182.5 0.143E-11 187.5 0.116E-11 192.5 0.920E-12 197.5 0.716E-12 + 202.5 0.574E-12 207.5 0.477E-12 212.5 0.397E-12 217.5 0.324E-12 + 222.5 0.262E-12 227.5 0.209E-12 232.5 0.165E-12 237.5 0.128E-12 + 242.5 0.983E-13 247.5 0.738E-13 252.5 0.533E-13 257.5 0.361E-13 + 262.5 0.224E-13 267.5 0.115E-13 272.5 0.355E-14 277.5 0.313E-15 + 282.5 0.354E-18 287.5 0.000E+00 292.5 0.114E-18 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.19000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.643E-08 + 22.5 0.178E-08 27.5 0.787E-09 32.5 0.682E-09 37.5 0.691E-09 + 42.5 0.568E-09 47.5 0.388E-09 52.5 0.257E-09 57.5 0.178E-09 + 62.5 0.131E-09 67.5 0.996E-10 72.5 0.786E-10 77.5 0.634E-10 + 82.5 0.529E-10 87.5 0.442E-10 92.5 0.372E-10 97.5 0.320E-10 + 102.5 0.280E-10 107.5 0.243E-10 112.5 0.213E-10 117.5 0.189E-10 + 122.5 0.116E-10 127.5 0.100E-10 132.5 0.869E-11 137.5 0.756E-11 + 142.5 0.648E-11 147.5 0.560E-11 152.5 0.485E-11 157.5 0.416E-11 + 162.5 0.352E-11 167.5 0.297E-11 172.5 0.247E-11 177.5 0.208E-11 + 182.5 0.173E-11 187.5 0.143E-11 192.5 0.116E-11 197.5 0.954E-12 + 202.5 0.795E-12 207.5 0.670E-12 212.5 0.563E-12 217.5 0.466E-12 + 222.5 0.383E-12 227.5 0.310E-12 232.5 0.251E-12 237.5 0.197E-12 + 242.5 0.151E-12 247.5 0.111E-12 252.5 0.807E-13 257.5 0.560E-13 + 262.5 0.364E-13 267.5 0.198E-13 272.5 0.738E-14 277.5 0.155E-14 + 282.5 0.100E-17 287.5 0.000E+00 292.5 0.206E-20 297.5 0.000E+00 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.721E-18 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.21000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.431E-08 + 22.5 0.120E-08 27.5 0.504E-09 32.5 0.422E-09 37.5 0.422E-09 + 42.5 0.349E-09 47.5 0.243E-09 52.5 0.163E-09 57.5 0.115E-09 + 62.5 0.872E-10 67.5 0.676E-10 72.5 0.544E-10 77.5 0.448E-10 + 82.5 0.379E-10 87.5 0.318E-10 92.5 0.273E-10 97.5 0.237E-10 + 102.5 0.209E-10 107.5 0.180E-10 112.5 0.158E-10 117.5 0.141E-10 + 122.5 0.130E-10 127.5 0.113E-10 132.5 0.977E-11 137.5 0.841E-11 + 142.5 0.721E-11 147.5 0.625E-11 152.5 0.537E-11 157.5 0.458E-11 + 162.5 0.387E-11 167.5 0.328E-11 172.5 0.278E-11 177.5 0.234E-11 + 182.5 0.198E-11 187.5 0.166E-11 192.5 0.136E-11 197.5 0.113E-11 + 202.5 0.949E-12 207.5 0.812E-12 212.5 0.687E-12 217.5 0.579E-12 + 222.5 0.481E-12 227.5 0.397E-12 232.5 0.322E-12 237.5 0.257E-12 + 242.5 0.200E-12 247.5 0.152E-12 252.5 0.113E-12 257.5 0.807E-13 + 262.5 0.550E-13 267.5 0.338E-13 272.5 0.173E-13 277.5 0.807E-14 + 282.5 0.396E-14 287.5 0.197E-14 292.5 0.915E-15 297.5 0.189E-15 + 302.5 0.000E+00 307.5 0.000E+00 312.5 0.000E+00 317.5 0.000E+00 + 322.5 0.000E+00 327.5 0.000E+00 332.5 0.784E-18 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.23000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.283E-08 + 22.5 0.779E-09 27.5 0.323E-09 32.5 0.263E-09 37.5 0.256E-09 + 42.5 0.213E-09 47.5 0.151E-09 52.5 0.104E-09 57.5 0.785E-10 + 62.5 0.611E-10 67.5 0.487E-10 72.5 0.401E-10 77.5 0.337E-10 + 82.5 0.287E-10 87.5 0.246E-10 92.5 0.214E-10 97.5 0.185E-10 + 102.5 0.164E-10 107.5 0.143E-10 112.5 0.126E-10 117.5 0.111E-10 + 122.5 0.141E-10 127.5 0.122E-10 132.5 0.105E-10 137.5 0.909E-11 + 142.5 0.778E-11 147.5 0.665E-11 152.5 0.568E-11 157.5 0.489E-11 + 162.5 0.419E-11 167.5 0.360E-11 172.5 0.308E-11 177.5 0.262E-11 + 182.5 0.222E-11 187.5 0.189E-11 192.5 0.160E-11 197.5 0.133E-11 + 202.5 0.112E-11 207.5 0.966E-12 212.5 0.824E-12 217.5 0.699E-12 + 222.5 0.591E-12 227.5 0.493E-12 232.5 0.406E-12 237.5 0.331E-12 + 242.5 0.269E-12 247.5 0.215E-12 252.5 0.166E-12 257.5 0.124E-12 + 262.5 0.898E-13 267.5 0.614E-13 272.5 0.395E-13 277.5 0.245E-13 + 282.5 0.151E-13 287.5 0.971E-14 292.5 0.642E-14 297.5 0.378E-14 + 302.5 0.184E-14 307.5 0.841E-15 312.5 0.455E-15 317.5 0.231E-15 + 322.5 0.716E-16 327.5 0.449E-17 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.25000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.172E-08 + 22.5 0.472E-09 27.5 0.198E-09 32.5 0.158E-09 37.5 0.154E-09 + 42.5 0.129E-09 47.5 0.919E-10 52.5 0.656E-10 57.5 0.514E-10 + 62.5 0.410E-10 67.5 0.336E-10 72.5 0.284E-10 77.5 0.241E-10 + 82.5 0.208E-10 87.5 0.182E-10 92.5 0.159E-10 97.5 0.139E-10 + 102.5 0.123E-10 107.5 0.108E-10 112.5 0.961E-11 117.5 0.845E-11 + 122.5 0.136E-10 127.5 0.118E-10 132.5 0.104E-10 137.5 0.915E-11 + 142.5 0.795E-11 147.5 0.693E-11 152.5 0.608E-11 157.5 0.535E-11 + 162.5 0.474E-11 167.5 0.411E-11 172.5 0.354E-11 177.5 0.308E-11 + 182.5 0.268E-11 187.5 0.230E-11 192.5 0.197E-11 197.5 0.169E-11 + 202.5 0.145E-11 207.5 0.126E-11 212.5 0.108E-11 217.5 0.932E-12 + 222.5 0.801E-12 227.5 0.682E-12 232.5 0.574E-12 237.5 0.479E-12 + 242.5 0.396E-12 247.5 0.323E-12 252.5 0.260E-12 257.5 0.205E-12 + 262.5 0.158E-12 267.5 0.119E-12 272.5 0.863E-13 277.5 0.585E-13 + 282.5 0.375E-13 287.5 0.264E-13 292.5 0.202E-13 297.5 0.147E-13 + 302.5 0.102E-13 307.5 0.670E-14 312.5 0.393E-14 317.5 0.194E-14 + 322.5 0.591E-15 327.5 0.374E-16 332.5 0.000E+00 337.5 0.000E+00 + 342.5 0.000E+00 347.5 0.000E+00 352.5 0.000E+00 357.5 0.129E-18 + 362.5 0.206E-18 367.5 0.454E-21 372.5 0.687E-21 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.27000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.984E-09 + 22.5 0.264E-09 27.5 0.111E-09 32.5 0.858E-10 37.5 0.854E-10 + 42.5 0.710E-10 47.5 0.520E-10 52.5 0.399E-10 57.5 0.315E-10 + 62.5 0.260E-10 67.5 0.220E-10 72.5 0.189E-10 77.5 0.164E-10 + 82.5 0.145E-10 87.5 0.128E-10 92.5 0.113E-10 97.5 0.994E-11 + 102.5 0.881E-11 107.5 0.786E-11 112.5 0.699E-11 117.5 0.618E-11 + 122.5 0.115E-10 127.5 0.102E-10 132.5 0.898E-11 137.5 0.790E-11 + 142.5 0.693E-11 147.5 0.614E-11 152.5 0.541E-11 157.5 0.476E-11 + 162.5 0.418E-11 167.5 0.369E-11 172.5 0.328E-11 177.5 0.289E-11 + 182.5 0.254E-11 187.5 0.221E-11 192.5 0.191E-11 197.5 0.166E-11 + 202.5 0.144E-11 207.5 0.126E-11 212.5 0.110E-11 217.5 0.954E-12 + 222.5 0.818E-12 227.5 0.699E-12 232.5 0.596E-12 237.5 0.508E-12 + 242.5 0.431E-12 247.5 0.361E-12 252.5 0.302E-12 257.5 0.247E-12 + 262.5 0.201E-12 267.5 0.159E-12 272.5 0.124E-12 277.5 0.937E-13 + 282.5 0.682E-13 287.5 0.480E-13 292.5 0.339E-13 297.5 0.249E-13 + 302.5 0.190E-13 307.5 0.149E-13 312.5 0.117E-13 317.5 0.846E-14 + 322.5 0.561E-14 327.5 0.334E-14 332.5 0.161E-14 337.5 0.415E-15 + 342.5 0.220E-16 347.5 0.750E-17 352.5 0.187E-17 357.5 0.000E+00 + 362.5 0.000E+00 367.5 0.000E+00 372.5 0.000E+00 377.5 0.000E+00 + 382.5 0.000E+00 387.5 0.000E+00 392.5 0.000E+00 397.5 0.000E+00 + 0.29000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.529E-09 + 22.5 0.138E-09 27.5 0.596E-10 32.5 0.464E-10 37.5 0.469E-10 + 42.5 0.397E-10 47.5 0.298E-10 52.5 0.239E-10 57.5 0.194E-10 + 62.5 0.165E-10 67.5 0.145E-10 72.5 0.128E-10 77.5 0.114E-10 + 82.5 0.103E-10 87.5 0.934E-11 92.5 0.839E-11 97.5 0.750E-11 + 102.5 0.668E-11 107.5 0.603E-11 112.5 0.540E-11 117.5 0.484E-11 + 122.5 0.101E-10 127.5 0.903E-11 132.5 0.801E-11 137.5 0.710E-11 + 142.5 0.636E-11 147.5 0.568E-11 152.5 0.508E-11 157.5 0.453E-11 + 162.5 0.405E-11 167.5 0.362E-11 172.5 0.322E-11 177.5 0.283E-11 + 182.5 0.251E-11 187.5 0.222E-11 192.5 0.195E-11 197.5 0.172E-11 + 202.5 0.151E-11 207.5 0.133E-11 212.5 0.118E-11 217.5 0.105E-11 + 222.5 0.915E-12 227.5 0.795E-12 232.5 0.693E-12 237.5 0.591E-12 + 242.5 0.507E-12 247.5 0.431E-12 252.5 0.364E-12 257.5 0.307E-12 + 262.5 0.256E-12 267.5 0.213E-12 272.5 0.175E-12 277.5 0.143E-12 + 282.5 0.114E-12 287.5 0.898E-13 292.5 0.693E-13 297.5 0.532E-13 + 302.5 0.399E-13 307.5 0.296E-13 312.5 0.219E-13 317.5 0.161E-13 + 322.5 0.118E-13 327.5 0.863E-14 332.5 0.653E-14 337.5 0.512E-14 + 342.5 0.423E-14 347.5 0.366E-14 352.5 0.314E-14 357.5 0.245E-14 + 362.5 0.176E-14 367.5 0.108E-14 372.5 0.538E-15 377.5 0.193E-15 + 382.5 0.158E-16 387.5 0.000E+00 392.5 0.187E-16 397.5 0.366E-16 + 0.31000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.232E-09 + 22.5 0.580E-10 27.5 0.197E-10 32.5 0.180E-10 37.5 0.115E-10 + 42.5 0.152E-10 47.5 0.124E-10 52.5 0.763E-11 57.5 0.108E-10 + 62.5 0.975E-11 67.5 0.866E-11 72.5 0.806E-11 77.5 0.779E-11 + 82.5 0.692E-11 87.5 0.632E-11 92.5 0.605E-11 97.5 0.555E-11 + 102.5 0.502E-11 107.5 0.449E-11 112.5 0.423E-11 117.5 0.382E-11 + 122.5 0.886E-11 127.5 0.801E-11 132.5 0.721E-11 137.5 0.648E-11 + 142.5 0.585E-11 147.5 0.527E-11 152.5 0.474E-11 157.5 0.428E-11 + 162.5 0.385E-11 167.5 0.349E-11 172.5 0.314E-11 177.5 0.279E-11 + 182.5 0.249E-11 187.5 0.223E-11 192.5 0.199E-11 197.5 0.177E-11 + 202.5 0.157E-11 207.5 0.140E-11 212.5 0.125E-11 217.5 0.111E-11 + 222.5 0.983E-12 227.5 0.869E-12 232.5 0.761E-12 237.5 0.665E-12 + 242.5 0.579E-12 247.5 0.501E-12 252.5 0.431E-12 257.5 0.369E-12 + 262.5 0.314E-12 267.5 0.267E-12 272.5 0.225E-12 277.5 0.189E-12 + 282.5 0.157E-12 287.5 0.130E-12 292.5 0.106E-12 297.5 0.846E-13 + 302.5 0.676E-13 307.5 0.529E-13 312.5 0.413E-13 317.5 0.318E-13 + 322.5 0.242E-13 327.5 0.184E-13 332.5 0.143E-13 337.5 0.115E-13 + 342.5 0.943E-14 347.5 0.784E-14 352.5 0.636E-14 357.5 0.462E-14 + 362.5 0.308E-14 367.5 0.183E-14 372.5 0.949E-15 377.5 0.459E-15 + 382.5 0.208E-15 387.5 0.954E-16 392.5 0.482E-16 397.5 0.000E+00 + 0.33000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.574E-12 + 22.5 0.257E-11 27.5 0.574E-11 32.5 0.886E-11 37.5 0.114E-10 + 42.5 0.133E-10 47.5 0.145E-10 52.5 0.154E-10 57.5 0.160E-10 + 62.5 0.162E-10 67.5 0.162E-10 72.5 0.157E-10 77.5 0.151E-10 + 82.5 0.144E-10 87.5 0.136E-10 92.5 0.127E-10 97.5 0.118E-10 + 102.5 0.108E-10 107.5 0.994E-11 112.5 0.915E-11 117.5 0.841E-11 + 122.5 0.773E-11 127.5 0.710E-11 132.5 0.648E-11 137.5 0.591E-11 + 142.5 0.538E-11 147.5 0.491E-11 152.5 0.447E-11 157.5 0.406E-11 + 162.5 0.369E-11 167.5 0.336E-11 172.5 0.304E-11 177.5 0.277E-11 + 182.5 0.251E-11 187.5 0.226E-11 192.5 0.202E-11 197.5 0.182E-11 + 202.5 0.163E-11 207.5 0.146E-11 212.5 0.131E-11 217.5 0.117E-11 + 222.5 0.105E-11 227.5 0.926E-12 232.5 0.824E-12 237.5 0.733E-12 + 242.5 0.648E-12 247.5 0.568E-12 252.5 0.499E-12 257.5 0.435E-12 + 262.5 0.374E-12 267.5 0.323E-12 272.5 0.277E-12 277.5 0.239E-12 + 282.5 0.203E-12 287.5 0.173E-12 292.5 0.145E-12 297.5 0.121E-12 + 302.5 0.101E-12 307.5 0.829E-13 312.5 0.682E-13 317.5 0.551E-13 + 322.5 0.443E-13 327.5 0.353E-13 332.5 0.283E-13 337.5 0.229E-13 + 342.5 0.187E-13 347.5 0.152E-13 352.5 0.120E-13 357.5 0.903E-14 + 362.5 0.648E-14 367.5 0.462E-14 372.5 0.331E-14 377.5 0.244E-14 + 382.5 0.178E-14 387.5 0.120E-14 392.5 0.733E-15 397.5 0.383E-15 + 0.35000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.532E-12 + 22.5 0.187E-11 27.5 0.369E-11 32.5 0.559E-11 37.5 0.733E-11 + 42.5 0.880E-11 47.5 0.100E-10 52.5 0.109E-10 57.5 0.116E-10 + 62.5 0.120E-10 67.5 0.123E-10 72.5 0.123E-10 77.5 0.122E-10 + 82.5 0.118E-10 87.5 0.114E-10 92.5 0.108E-10 97.5 0.101E-10 + 102.5 0.943E-11 107.5 0.875E-11 112.5 0.812E-11 117.5 0.750E-11 + 122.5 0.699E-11 127.5 0.642E-11 132.5 0.591E-11 137.5 0.541E-11 + 142.5 0.498E-11 147.5 0.456E-11 152.5 0.418E-11 157.5 0.383E-11 + 162.5 0.351E-11 167.5 0.322E-11 172.5 0.294E-11 177.5 0.269E-11 + 182.5 0.245E-11 187.5 0.223E-11 192.5 0.203E-11 197.5 0.184E-11 + 202.5 0.167E-11 207.5 0.152E-11 212.5 0.137E-11 217.5 0.124E-11 + 222.5 0.111E-11 227.5 0.100E-11 232.5 0.898E-12 237.5 0.795E-12 + 242.5 0.710E-12 247.5 0.631E-12 252.5 0.562E-12 257.5 0.498E-12 + 262.5 0.439E-12 267.5 0.386E-12 272.5 0.337E-12 277.5 0.295E-12 + 282.5 0.256E-12 287.5 0.220E-12 292.5 0.189E-12 297.5 0.161E-12 + 302.5 0.137E-12 307.5 0.116E-12 312.5 0.994E-13 317.5 0.846E-13 + 322.5 0.710E-13 327.5 0.602E-13 332.5 0.503E-13 337.5 0.421E-13 + 342.5 0.352E-13 347.5 0.293E-13 352.5 0.243E-13 357.5 0.199E-13 + 362.5 0.162E-13 367.5 0.130E-13 372.5 0.102E-13 377.5 0.795E-14 + 382.5 0.602E-14 387.5 0.424E-14 392.5 0.279E-14 397.5 0.177E-14 + 0.37000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.442E-12 + 22.5 0.127E-11 27.5 0.251E-11 32.5 0.383E-11 37.5 0.507E-11 + 42.5 0.619E-11 47.5 0.716E-11 52.5 0.795E-11 57.5 0.858E-11 + 62.5 0.909E-11 67.5 0.949E-11 72.5 0.971E-11 77.5 0.977E-11 + 82.5 0.971E-11 87.5 0.949E-11 92.5 0.909E-11 97.5 0.858E-11 + 102.5 0.807E-11 107.5 0.756E-11 112.5 0.710E-11 117.5 0.665E-11 + 122.5 0.625E-11 127.5 0.585E-11 132.5 0.543E-11 137.5 0.504E-11 + 142.5 0.466E-11 147.5 0.430E-11 152.5 0.398E-11 157.5 0.368E-11 + 162.5 0.339E-11 167.5 0.313E-11 172.5 0.289E-11 177.5 0.266E-11 + 182.5 0.244E-11 187.5 0.224E-11 192.5 0.205E-11 197.5 0.187E-11 + 202.5 0.171E-11 207.5 0.156E-11 212.5 0.142E-11 217.5 0.129E-11 + 222.5 0.117E-11 227.5 0.106E-11 232.5 0.949E-12 237.5 0.852E-12 + 242.5 0.767E-12 247.5 0.682E-12 252.5 0.608E-12 257.5 0.543E-12 + 262.5 0.483E-12 267.5 0.428E-12 272.5 0.382E-12 277.5 0.339E-12 + 282.5 0.298E-12 287.5 0.261E-12 292.5 0.227E-12 297.5 0.198E-12 + 302.5 0.172E-12 307.5 0.150E-12 312.5 0.130E-12 317.5 0.113E-12 + 322.5 0.983E-13 327.5 0.852E-13 332.5 0.733E-13 337.5 0.631E-13 + 342.5 0.541E-13 347.5 0.464E-13 352.5 0.394E-13 357.5 0.333E-13 + 362.5 0.279E-13 367.5 0.233E-13 372.5 0.193E-13 377.5 0.157E-13 + 382.5 0.127E-13 387.5 0.994E-14 392.5 0.767E-14 397.5 0.579E-14 + 0.39000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.319E-12 + 22.5 0.909E-12 27.5 0.169E-11 32.5 0.254E-11 37.5 0.341E-11 + 42.5 0.424E-11 47.5 0.500E-11 52.5 0.565E-11 57.5 0.619E-11 + 62.5 0.670E-11 67.5 0.710E-11 72.5 0.744E-11 77.5 0.761E-11 + 82.5 0.767E-11 87.5 0.761E-11 92.5 0.744E-11 97.5 0.721E-11 + 102.5 0.687E-11 107.5 0.653E-11 112.5 0.619E-11 117.5 0.591E-11 + 122.5 0.557E-11 127.5 0.525E-11 132.5 0.494E-11 137.5 0.462E-11 + 142.5 0.433E-11 147.5 0.404E-11 152.5 0.377E-11 157.5 0.351E-11 + 162.5 0.327E-11 167.5 0.304E-11 172.5 0.283E-11 177.5 0.263E-11 + 182.5 0.243E-11 187.5 0.224E-11 192.5 0.206E-11 197.5 0.189E-11 + 202.5 0.173E-11 207.5 0.159E-11 212.5 0.147E-11 217.5 0.134E-11 + 222.5 0.123E-11 227.5 0.111E-11 232.5 0.101E-11 237.5 0.915E-12 + 242.5 0.824E-12 247.5 0.744E-12 252.5 0.665E-12 257.5 0.596E-12 + 262.5 0.532E-12 267.5 0.474E-12 272.5 0.427E-12 277.5 0.383E-12 + 282.5 0.341E-12 287.5 0.302E-12 292.5 0.268E-12 297.5 0.237E-12 + 302.5 0.209E-12 307.5 0.184E-12 312.5 0.162E-12 317.5 0.143E-12 + 322.5 0.126E-12 327.5 0.111E-12 332.5 0.971E-13 337.5 0.858E-13 + 342.5 0.750E-13 347.5 0.653E-13 352.5 0.567E-13 357.5 0.486E-13 + 362.5 0.410E-13 367.5 0.345E-13 372.5 0.291E-13 377.5 0.245E-13 + 382.5 0.205E-13 387.5 0.172E-13 392.5 0.140E-13 397.5 0.114E-13 + 0.41000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.206E-12 + 22.5 0.565E-12 27.5 0.107E-11 32.5 0.165E-11 37.5 0.224E-11 + 42.5 0.282E-11 47.5 0.337E-11 52.5 0.390E-11 57.5 0.440E-11 + 62.5 0.486E-11 67.5 0.524E-11 72.5 0.554E-11 77.5 0.579E-11 + 82.5 0.596E-11 87.5 0.602E-11 92.5 0.602E-11 97.5 0.596E-11 + 102.5 0.585E-11 107.5 0.568E-11 112.5 0.546E-11 117.5 0.523E-11 + 122.5 0.496E-11 127.5 0.470E-11 132.5 0.445E-11 137.5 0.422E-11 + 142.5 0.400E-11 147.5 0.378E-11 152.5 0.357E-11 157.5 0.337E-11 + 162.5 0.316E-11 167.5 0.298E-11 172.5 0.279E-11 177.5 0.261E-11 + 182.5 0.243E-11 187.5 0.226E-11 192.5 0.209E-11 197.5 0.193E-11 + 202.5 0.179E-11 207.5 0.165E-11 212.5 0.152E-11 217.5 0.140E-11 + 222.5 0.129E-11 227.5 0.118E-11 232.5 0.108E-11 237.5 0.988E-12 + 242.5 0.898E-12 247.5 0.818E-12 252.5 0.744E-12 257.5 0.670E-12 + 262.5 0.602E-12 267.5 0.542E-12 272.5 0.489E-12 277.5 0.440E-12 + 282.5 0.395E-12 287.5 0.356E-12 292.5 0.321E-12 297.5 0.288E-12 + 302.5 0.258E-12 307.5 0.231E-12 312.5 0.207E-12 317.5 0.183E-12 + 322.5 0.158E-12 327.5 0.137E-12 332.5 0.122E-12 337.5 0.108E-12 + 342.5 0.971E-13 347.5 0.869E-13 352.5 0.773E-13 357.5 0.676E-13 + 362.5 0.585E-13 367.5 0.503E-13 372.5 0.435E-13 377.5 0.375E-13 + 382.5 0.323E-13 387.5 0.277E-13 392.5 0.235E-13 397.5 0.198E-13 + 0.43000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.108E-12 + 22.5 0.285E-12 27.5 0.596E-12 32.5 0.983E-12 37.5 0.141E-11 + 42.5 0.184E-11 47.5 0.227E-11 52.5 0.268E-11 57.5 0.307E-11 + 62.5 0.344E-11 67.5 0.376E-11 72.5 0.404E-11 77.5 0.428E-11 + 82.5 0.448E-11 87.5 0.462E-11 92.5 0.472E-11 97.5 0.477E-11 + 102.5 0.478E-11 107.5 0.475E-11 112.5 0.467E-11 117.5 0.455E-11 + 122.5 0.441E-11 127.5 0.425E-11 132.5 0.408E-11 137.5 0.389E-11 + 142.5 0.371E-11 147.5 0.353E-11 152.5 0.336E-11 157.5 0.320E-11 + 162.5 0.304E-11 167.5 0.289E-11 172.5 0.273E-11 177.5 0.257E-11 + 182.5 0.241E-11 187.5 0.226E-11 192.5 0.211E-11 197.5 0.197E-11 + 202.5 0.183E-11 207.5 0.170E-11 212.5 0.158E-11 217.5 0.146E-11 + 222.5 0.135E-11 227.5 0.124E-11 232.5 0.114E-11 237.5 0.105E-11 + 242.5 0.960E-12 247.5 0.880E-12 252.5 0.801E-12 257.5 0.733E-12 + 262.5 0.665E-12 267.5 0.602E-12 272.5 0.545E-12 277.5 0.491E-12 + 282.5 0.443E-12 287.5 0.398E-12 292.5 0.360E-12 297.5 0.323E-12 + 302.5 0.291E-12 307.5 0.262E-12 312.5 0.236E-12 317.5 0.212E-12 + 322.5 0.190E-12 327.5 0.170E-12 332.5 0.152E-12 337.5 0.134E-12 + 342.5 0.118E-12 347.5 0.105E-12 352.5 0.943E-13 357.5 0.846E-13 + 362.5 0.756E-13 367.5 0.670E-13 372.5 0.591E-13 377.5 0.517E-13 + 382.5 0.450E-13 387.5 0.391E-13 392.5 0.340E-13 397.5 0.296E-13 + 0.45000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.208E-13 + 22.5 0.104E-12 27.5 0.307E-12 32.5 0.574E-12 37.5 0.880E-12 + 42.5 0.120E-11 47.5 0.152E-11 52.5 0.183E-11 57.5 0.214E-11 + 62.5 0.243E-11 67.5 0.270E-11 72.5 0.294E-11 77.5 0.316E-11 + 82.5 0.335E-11 87.5 0.350E-11 92.5 0.363E-11 97.5 0.372E-11 + 102.5 0.379E-11 107.5 0.383E-11 112.5 0.385E-11 117.5 0.385E-11 + 122.5 0.382E-11 127.5 0.376E-11 132.5 0.366E-11 137.5 0.353E-11 + 142.5 0.340E-11 147.5 0.326E-11 152.5 0.314E-11 157.5 0.301E-11 + 162.5 0.288E-11 167.5 0.275E-11 172.5 0.262E-11 177.5 0.249E-11 + 182.5 0.236E-11 187.5 0.223E-11 192.5 0.210E-11 197.5 0.197E-11 + 202.5 0.183E-11 207.5 0.172E-11 212.5 0.160E-11 217.5 0.149E-11 + 222.5 0.139E-11 227.5 0.129E-11 232.5 0.119E-11 237.5 0.110E-11 + 242.5 0.101E-11 247.5 0.926E-12 252.5 0.846E-12 257.5 0.773E-12 + 262.5 0.710E-12 267.5 0.648E-12 272.5 0.591E-12 277.5 0.533E-12 + 282.5 0.481E-12 287.5 0.436E-12 292.5 0.394E-12 297.5 0.355E-12 + 302.5 0.322E-12 307.5 0.291E-12 312.5 0.262E-12 317.5 0.237E-12 + 322.5 0.214E-12 327.5 0.193E-12 332.5 0.173E-12 337.5 0.156E-12 + 342.5 0.140E-12 347.5 0.126E-12 352.5 0.112E-12 357.5 0.101E-12 + 362.5 0.903E-13 367.5 0.807E-13 372.5 0.716E-13 377.5 0.631E-13 + 382.5 0.560E-13 387.5 0.494E-13 392.5 0.433E-13 397.5 0.377E-13 + 0.47000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.568E-13 27.5 0.177E-12 32.5 0.353E-12 37.5 0.558E-12 + 42.5 0.784E-12 47.5 0.102E-11 52.5 0.126E-11 57.5 0.149E-11 + 62.5 0.171E-11 67.5 0.193E-11 72.5 0.213E-11 77.5 0.232E-11 + 82.5 0.248E-11 87.5 0.262E-11 92.5 0.275E-11 97.5 0.285E-11 + 102.5 0.294E-11 107.5 0.302E-11 112.5 0.308E-11 117.5 0.312E-11 + 122.5 0.315E-11 127.5 0.315E-11 132.5 0.313E-11 137.5 0.308E-11 + 142.5 0.302E-11 147.5 0.295E-11 152.5 0.287E-11 157.5 0.277E-11 + 162.5 0.268E-11 167.5 0.257E-11 172.5 0.247E-11 177.5 0.237E-11 + 182.5 0.226E-11 187.5 0.215E-11 192.5 0.203E-11 197.5 0.192E-11 + 202.5 0.181E-11 207.5 0.170E-11 212.5 0.160E-11 217.5 0.150E-11 + 222.5 0.140E-11 227.5 0.131E-11 232.5 0.121E-11 237.5 0.112E-11 + 242.5 0.105E-11 247.5 0.971E-12 252.5 0.892E-12 257.5 0.824E-12 + 262.5 0.756E-12 267.5 0.687E-12 272.5 0.631E-12 277.5 0.574E-12 + 282.5 0.523E-12 287.5 0.475E-12 292.5 0.435E-12 297.5 0.397E-12 + 302.5 0.362E-12 307.5 0.328E-12 312.5 0.298E-12 317.5 0.270E-12 + 322.5 0.245E-12 327.5 0.222E-12 332.5 0.201E-12 337.5 0.182E-12 + 342.5 0.165E-12 347.5 0.150E-12 352.5 0.136E-12 357.5 0.123E-12 + 362.5 0.111E-12 367.5 0.994E-13 372.5 0.892E-13 377.5 0.801E-13 + 382.5 0.716E-13 387.5 0.642E-13 392.5 0.574E-13 397.5 0.506E-13 + 0.49000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.331E-14 + 22.5 0.245E-13 27.5 0.102E-12 32.5 0.219E-12 37.5 0.359E-12 + 42.5 0.516E-12 47.5 0.682E-12 52.5 0.858E-12 57.5 0.103E-11 + 62.5 0.120E-11 67.5 0.137E-11 72.5 0.153E-11 77.5 0.168E-11 + 82.5 0.181E-11 87.5 0.194E-11 92.5 0.206E-11 97.5 0.215E-11 + 102.5 0.224E-11 107.5 0.232E-11 112.5 0.239E-11 117.5 0.245E-11 + 122.5 0.251E-11 127.5 0.255E-11 132.5 0.258E-11 137.5 0.259E-11 + 142.5 0.259E-11 147.5 0.256E-11 152.5 0.252E-11 157.5 0.247E-11 + 162.5 0.240E-11 167.5 0.233E-11 172.5 0.225E-11 177.5 0.217E-11 + 182.5 0.208E-11 187.5 0.200E-11 192.5 0.191E-11 197.5 0.182E-11 + 202.5 0.173E-11 207.5 0.164E-11 212.5 0.156E-11 217.5 0.147E-11 + 222.5 0.137E-11 227.5 0.128E-11 232.5 0.120E-11 237.5 0.112E-11 + 242.5 0.105E-11 247.5 0.977E-12 252.5 0.903E-12 257.5 0.841E-12 + 262.5 0.778E-12 267.5 0.721E-12 272.5 0.665E-12 277.5 0.608E-12 + 282.5 0.554E-12 287.5 0.506E-12 292.5 0.462E-12 297.5 0.422E-12 + 302.5 0.387E-12 307.5 0.354E-12 312.5 0.324E-12 317.5 0.295E-12 + 322.5 0.269E-12 327.5 0.244E-12 332.5 0.222E-12 337.5 0.201E-12 + 342.5 0.183E-12 347.5 0.166E-12 352.5 0.152E-12 357.5 0.139E-12 + 362.5 0.126E-12 367.5 0.114E-12 372.5 0.103E-12 377.5 0.932E-13 + 382.5 0.846E-13 387.5 0.767E-13 392.5 0.693E-13 397.5 0.625E-13 + 0.51000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.778E-14 + 22.5 0.155E-13 27.5 0.670E-13 32.5 0.146E-12 37.5 0.245E-12 + 42.5 0.356E-12 47.5 0.472E-12 52.5 0.596E-12 57.5 0.721E-12 + 62.5 0.852E-12 67.5 0.977E-12 72.5 0.110E-11 77.5 0.121E-11 + 82.5 0.132E-11 87.5 0.143E-11 92.5 0.152E-11 97.5 0.160E-11 + 102.5 0.169E-11 107.5 0.176E-11 112.5 0.183E-11 117.5 0.190E-11 + 122.5 0.196E-11 127.5 0.201E-11 132.5 0.206E-11 137.5 0.208E-11 + 142.5 0.211E-11 147.5 0.212E-11 152.5 0.212E-11 157.5 0.211E-11 + 162.5 0.208E-11 167.5 0.205E-11 172.5 0.201E-11 177.5 0.195E-11 + 182.5 0.188E-11 187.5 0.181E-11 192.5 0.174E-11 197.5 0.168E-11 + 202.5 0.161E-11 207.5 0.153E-11 212.5 0.147E-11 217.5 0.140E-11 + 222.5 0.132E-11 227.5 0.125E-11 232.5 0.117E-11 237.5 0.110E-11 + 242.5 0.102E-11 247.5 0.954E-12 252.5 0.892E-12 257.5 0.841E-12 + 262.5 0.784E-12 267.5 0.727E-12 272.5 0.676E-12 277.5 0.625E-12 + 282.5 0.574E-12 287.5 0.529E-12 292.5 0.486E-12 297.5 0.445E-12 + 302.5 0.409E-12 307.5 0.377E-12 312.5 0.347E-12 317.5 0.319E-12 + 322.5 0.292E-12 327.5 0.267E-12 332.5 0.244E-12 337.5 0.222E-12 + 342.5 0.202E-12 347.5 0.184E-12 352.5 0.168E-12 357.5 0.154E-12 + 362.5 0.140E-12 367.5 0.128E-12 372.5 0.116E-12 377.5 0.105E-12 + 382.5 0.960E-13 387.5 0.875E-13 392.5 0.795E-13 397.5 0.721E-13 + 0.53000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.784E-14 + 22.5 0.126E-13 27.5 0.469E-13 32.5 0.994E-13 37.5 0.165E-12 + 42.5 0.243E-12 47.5 0.328E-12 52.5 0.415E-12 57.5 0.503E-12 + 62.5 0.596E-12 67.5 0.687E-12 72.5 0.778E-12 77.5 0.863E-12 + 82.5 0.949E-12 87.5 0.103E-11 92.5 0.110E-11 97.5 0.118E-11 + 102.5 0.125E-11 107.5 0.132E-11 112.5 0.138E-11 117.5 0.145E-11 + 122.5 0.151E-11 127.5 0.157E-11 132.5 0.161E-11 137.5 0.165E-11 + 142.5 0.169E-11 147.5 0.172E-11 152.5 0.174E-11 157.5 0.176E-11 + 162.5 0.177E-11 167.5 0.177E-11 172.5 0.176E-11 177.5 0.173E-11 + 182.5 0.169E-11 187.5 0.164E-11 192.5 0.159E-11 197.5 0.153E-11 + 202.5 0.147E-11 207.5 0.140E-11 212.5 0.135E-11 217.5 0.130E-11 + 222.5 0.124E-11 227.5 0.118E-11 232.5 0.111E-11 237.5 0.105E-11 + 242.5 0.988E-12 247.5 0.926E-12 252.5 0.869E-12 257.5 0.818E-12 + 262.5 0.761E-12 267.5 0.716E-12 272.5 0.670E-12 277.5 0.631E-12 + 282.5 0.591E-12 287.5 0.550E-12 292.5 0.508E-12 297.5 0.468E-12 + 302.5 0.429E-12 307.5 0.396E-12 312.5 0.366E-12 317.5 0.339E-12 + 322.5 0.314E-12 327.5 0.290E-12 332.5 0.266E-12 337.5 0.243E-12 + 342.5 0.222E-12 347.5 0.203E-12 352.5 0.186E-12 357.5 0.171E-12 + 362.5 0.156E-12 367.5 0.143E-12 372.5 0.131E-12 377.5 0.120E-12 + 382.5 0.111E-12 387.5 0.101E-12 392.5 0.926E-13 397.5 0.846E-13 + 0.55000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.566E-14 + 22.5 0.949E-14 27.5 0.331E-13 32.5 0.699E-13 37.5 0.116E-12 + 42.5 0.170E-12 47.5 0.231E-12 52.5 0.294E-12 57.5 0.358E-12 + 62.5 0.423E-12 67.5 0.489E-12 72.5 0.556E-12 77.5 0.619E-12 + 82.5 0.687E-12 87.5 0.750E-12 92.5 0.812E-12 97.5 0.875E-12 + 102.5 0.932E-12 107.5 0.988E-12 112.5 0.105E-11 117.5 0.111E-11 + 122.5 0.116E-11 127.5 0.121E-11 132.5 0.126E-11 137.5 0.130E-11 + 142.5 0.134E-11 147.5 0.137E-11 152.5 0.140E-11 157.5 0.143E-11 + 162.5 0.144E-11 167.5 0.146E-11 172.5 0.147E-11 177.5 0.147E-11 + 182.5 0.146E-11 187.5 0.143E-11 192.5 0.140E-11 197.5 0.136E-11 + 202.5 0.132E-11 207.5 0.127E-11 212.5 0.123E-11 217.5 0.119E-11 + 222.5 0.115E-11 227.5 0.110E-11 232.5 0.105E-11 237.5 0.994E-12 + 242.5 0.943E-12 247.5 0.892E-12 252.5 0.841E-12 257.5 0.790E-12 + 262.5 0.738E-12 267.5 0.699E-12 272.5 0.659E-12 277.5 0.619E-12 + 282.5 0.585E-12 287.5 0.542E-12 292.5 0.506E-12 297.5 0.468E-12 + 302.5 0.433E-12 307.5 0.401E-12 312.5 0.373E-12 317.5 0.347E-12 + 322.5 0.322E-12 327.5 0.297E-12 332.5 0.275E-12 337.5 0.253E-12 + 342.5 0.233E-12 347.5 0.214E-12 352.5 0.197E-12 357.5 0.181E-12 + 362.5 0.166E-12 367.5 0.153E-12 372.5 0.140E-12 377.5 0.129E-12 + 382.5 0.119E-12 387.5 0.109E-12 392.5 0.100E-12 397.5 0.909E-13 + 0.57000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.201E-14 + 22.5 0.602E-14 27.5 0.226E-13 32.5 0.490E-13 37.5 0.824E-13 + 42.5 0.120E-12 47.5 0.161E-12 52.5 0.205E-12 57.5 0.250E-12 + 62.5 0.295E-12 67.5 0.341E-12 72.5 0.389E-12 77.5 0.439E-12 + 82.5 0.487E-12 87.5 0.536E-12 92.5 0.585E-12 97.5 0.636E-12 + 102.5 0.682E-12 107.5 0.733E-12 112.5 0.778E-12 117.5 0.829E-12 + 122.5 0.875E-12 127.5 0.926E-12 132.5 0.960E-12 137.5 0.100E-11 + 142.5 0.104E-11 147.5 0.107E-11 152.5 0.111E-11 157.5 0.114E-11 + 162.5 0.116E-11 167.5 0.118E-11 172.5 0.120E-11 177.5 0.121E-11 + 182.5 0.122E-11 187.5 0.121E-11 192.5 0.119E-11 197.5 0.118E-11 + 202.5 0.116E-11 207.5 0.113E-11 212.5 0.110E-11 217.5 0.107E-11 + 222.5 0.104E-11 227.5 0.101E-11 232.5 0.966E-12 237.5 0.920E-12 + 242.5 0.880E-12 247.5 0.835E-12 252.5 0.795E-12 257.5 0.750E-12 + 262.5 0.710E-12 267.5 0.670E-12 272.5 0.636E-12 277.5 0.596E-12 + 282.5 0.562E-12 287.5 0.527E-12 292.5 0.495E-12 297.5 0.461E-12 + 302.5 0.430E-12 307.5 0.402E-12 312.5 0.375E-12 317.5 0.350E-12 + 322.5 0.326E-12 327.5 0.302E-12 332.5 0.281E-12 337.5 0.261E-12 + 342.5 0.242E-12 347.5 0.224E-12 352.5 0.207E-12 357.5 0.191E-12 + 362.5 0.177E-12 367.5 0.162E-12 372.5 0.150E-12 377.5 0.138E-12 + 382.5 0.128E-12 387.5 0.118E-12 392.5 0.108E-12 397.5 0.994E-13 + 0.59000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.369E-14 27.5 0.152E-13 32.5 0.342E-13 37.5 0.579E-13 + 42.5 0.841E-13 47.5 0.112E-12 52.5 0.141E-12 57.5 0.172E-12 + 62.5 0.203E-12 67.5 0.236E-12 72.5 0.269E-12 77.5 0.303E-12 + 82.5 0.339E-12 87.5 0.375E-12 92.5 0.414E-12 97.5 0.453E-12 + 102.5 0.493E-12 107.5 0.535E-12 112.5 0.574E-12 117.5 0.619E-12 + 122.5 0.653E-12 127.5 0.693E-12 132.5 0.733E-12 137.5 0.767E-12 + 142.5 0.801E-12 147.5 0.835E-12 152.5 0.863E-12 157.5 0.892E-12 + 162.5 0.915E-12 167.5 0.943E-12 172.5 0.960E-12 177.5 0.977E-12 + 182.5 0.994E-12 187.5 0.994E-12 192.5 0.100E-11 197.5 0.994E-12 + 202.5 0.994E-12 207.5 0.983E-12 212.5 0.971E-12 217.5 0.954E-12 + 222.5 0.932E-12 227.5 0.903E-12 232.5 0.875E-12 237.5 0.846E-12 + 242.5 0.807E-12 247.5 0.773E-12 252.5 0.738E-12 257.5 0.704E-12 + 262.5 0.676E-12 267.5 0.642E-12 272.5 0.608E-12 277.5 0.574E-12 + 282.5 0.543E-12 287.5 0.511E-12 292.5 0.481E-12 297.5 0.452E-12 + 302.5 0.425E-12 307.5 0.400E-12 312.5 0.376E-12 317.5 0.353E-12 + 322.5 0.329E-12 327.5 0.307E-12 332.5 0.286E-12 337.5 0.268E-12 + 342.5 0.250E-12 347.5 0.233E-12 352.5 0.216E-12 357.5 0.201E-12 + 362.5 0.186E-12 367.5 0.172E-12 372.5 0.159E-12 377.5 0.148E-12 + 382.5 0.137E-12 387.5 0.127E-12 392.5 0.118E-12 397.5 0.108E-12 + 0.61000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.249E-14 27.5 0.106E-13 32.5 0.239E-13 37.5 0.403E-13 + 42.5 0.585E-13 47.5 0.773E-13 52.5 0.966E-13 57.5 0.117E-12 + 62.5 0.137E-12 67.5 0.160E-12 72.5 0.182E-12 77.5 0.207E-12 + 82.5 0.232E-12 87.5 0.260E-12 92.5 0.289E-12 97.5 0.320E-12 + 102.5 0.353E-12 107.5 0.387E-12 112.5 0.420E-12 117.5 0.456E-12 + 122.5 0.490E-12 127.5 0.523E-12 132.5 0.555E-12 137.5 0.585E-12 + 142.5 0.614E-12 147.5 0.648E-12 152.5 0.670E-12 157.5 0.699E-12 + 162.5 0.721E-12 167.5 0.750E-12 172.5 0.773E-12 177.5 0.790E-12 + 182.5 0.807E-12 187.5 0.818E-12 192.5 0.824E-12 197.5 0.829E-12 + 202.5 0.835E-12 207.5 0.841E-12 212.5 0.841E-12 217.5 0.829E-12 + 222.5 0.824E-12 227.5 0.807E-12 232.5 0.790E-12 237.5 0.767E-12 + 242.5 0.738E-12 247.5 0.716E-12 252.5 0.687E-12 257.5 0.665E-12 + 262.5 0.636E-12 267.5 0.614E-12 272.5 0.585E-12 277.5 0.553E-12 + 282.5 0.524E-12 287.5 0.494E-12 292.5 0.468E-12 297.5 0.443E-12 + 302.5 0.420E-12 307.5 0.398E-12 312.5 0.376E-12 317.5 0.354E-12 + 322.5 0.332E-12 327.5 0.310E-12 332.5 0.291E-12 337.5 0.273E-12 + 342.5 0.256E-12 347.5 0.240E-12 352.5 0.225E-12 357.5 0.210E-12 + 362.5 0.195E-12 367.5 0.182E-12 372.5 0.169E-12 377.5 0.157E-12 + 382.5 0.147E-12 387.5 0.136E-12 392.5 0.127E-12 397.5 0.118E-12 + 0.63000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.186E-14 27.5 0.744E-14 32.5 0.166E-13 37.5 0.277E-13 + 42.5 0.398E-13 47.5 0.521E-13 52.5 0.653E-13 57.5 0.784E-13 + 62.5 0.926E-13 67.5 0.107E-12 72.5 0.123E-12 77.5 0.139E-12 + 82.5 0.158E-12 87.5 0.178E-12 92.5 0.200E-12 97.5 0.224E-12 + 102.5 0.249E-12 107.5 0.274E-12 112.5 0.302E-12 117.5 0.329E-12 + 122.5 0.357E-12 127.5 0.384E-12 132.5 0.411E-12 137.5 0.437E-12 + 142.5 0.465E-12 147.5 0.491E-12 152.5 0.516E-12 157.5 0.540E-12 + 162.5 0.564E-12 167.5 0.585E-12 172.5 0.608E-12 177.5 0.631E-12 + 182.5 0.642E-12 187.5 0.659E-12 192.5 0.670E-12 197.5 0.682E-12 + 202.5 0.687E-12 207.5 0.699E-12 212.5 0.704E-12 217.5 0.704E-12 + 222.5 0.704E-12 227.5 0.699E-12 232.5 0.687E-12 237.5 0.676E-12 + 242.5 0.659E-12 247.5 0.648E-12 252.5 0.631E-12 257.5 0.608E-12 + 262.5 0.596E-12 267.5 0.574E-12 272.5 0.552E-12 277.5 0.525E-12 + 282.5 0.500E-12 287.5 0.475E-12 292.5 0.452E-12 297.5 0.431E-12 + 302.5 0.410E-12 307.5 0.390E-12 312.5 0.371E-12 317.5 0.352E-12 + 322.5 0.331E-12 327.5 0.312E-12 332.5 0.294E-12 337.5 0.277E-12 + 342.5 0.260E-12 347.5 0.245E-12 352.5 0.231E-12 357.5 0.217E-12 + 362.5 0.203E-12 367.5 0.190E-12 372.5 0.177E-12 377.5 0.165E-12 + 382.5 0.155E-12 387.5 0.145E-12 392.5 0.135E-12 397.5 0.126E-12 + 0.65000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.146E-14 27.5 0.534E-14 32.5 0.114E-13 37.5 0.187E-13 + 42.5 0.267E-13 47.5 0.349E-13 52.5 0.435E-13 57.5 0.524E-13 + 62.5 0.619E-13 67.5 0.716E-13 72.5 0.824E-13 77.5 0.943E-13 + 82.5 0.107E-12 87.5 0.122E-12 92.5 0.137E-12 97.5 0.155E-12 + 102.5 0.172E-12 107.5 0.191E-12 112.5 0.212E-12 117.5 0.233E-12 + 122.5 0.254E-12 127.5 0.276E-12 132.5 0.297E-12 137.5 0.320E-12 + 142.5 0.343E-12 147.5 0.366E-12 152.5 0.387E-12 157.5 0.408E-12 + 162.5 0.429E-12 167.5 0.449E-12 172.5 0.469E-12 177.5 0.487E-12 + 182.5 0.503E-12 187.5 0.517E-12 192.5 0.529E-12 197.5 0.540E-12 + 202.5 0.553E-12 207.5 0.561E-12 212.5 0.568E-12 217.5 0.574E-12 + 222.5 0.585E-12 227.5 0.585E-12 232.5 0.579E-12 237.5 0.579E-12 + 242.5 0.574E-12 247.5 0.567E-12 252.5 0.558E-12 257.5 0.547E-12 + 262.5 0.536E-12 267.5 0.521E-12 272.5 0.506E-12 277.5 0.487E-12 + 282.5 0.468E-12 287.5 0.448E-12 292.5 0.429E-12 297.5 0.410E-12 + 302.5 0.393E-12 307.5 0.375E-12 312.5 0.359E-12 317.5 0.343E-12 + 322.5 0.325E-12 327.5 0.308E-12 332.5 0.291E-12 337.5 0.275E-12 + 342.5 0.260E-12 347.5 0.245E-12 352.5 0.232E-12 357.5 0.220E-12 + 362.5 0.207E-12 367.5 0.195E-12 372.5 0.183E-12 377.5 0.172E-12 + 382.5 0.161E-12 387.5 0.151E-12 392.5 0.142E-12 397.5 0.133E-12 + 0.67000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.103E-14 27.5 0.333E-14 32.5 0.704E-14 37.5 0.118E-13 + 42.5 0.170E-13 47.5 0.221E-13 52.5 0.273E-13 57.5 0.328E-13 + 62.5 0.387E-13 67.5 0.456E-13 72.5 0.530E-13 77.5 0.608E-13 + 82.5 0.693E-13 87.5 0.784E-13 92.5 0.892E-13 97.5 0.101E-12 + 102.5 0.114E-12 107.5 0.128E-12 112.5 0.144E-12 117.5 0.160E-12 + 122.5 0.176E-12 127.5 0.192E-12 132.5 0.208E-12 137.5 0.226E-12 + 142.5 0.245E-12 147.5 0.263E-12 152.5 0.281E-12 157.5 0.298E-12 + 162.5 0.315E-12 167.5 0.332E-12 172.5 0.349E-12 177.5 0.366E-12 + 182.5 0.380E-12 187.5 0.394E-12 192.5 0.406E-12 197.5 0.418E-12 + 202.5 0.429E-12 207.5 0.439E-12 212.5 0.448E-12 217.5 0.457E-12 + 222.5 0.465E-12 227.5 0.469E-12 232.5 0.472E-12 237.5 0.474E-12 + 242.5 0.475E-12 247.5 0.474E-12 252.5 0.471E-12 257.5 0.467E-12 + 262.5 0.461E-12 267.5 0.454E-12 272.5 0.445E-12 277.5 0.434E-12 + 282.5 0.421E-12 287.5 0.407E-12 292.5 0.393E-12 297.5 0.378E-12 + 302.5 0.364E-12 307.5 0.350E-12 312.5 0.337E-12 317.5 0.323E-12 + 322.5 0.309E-12 327.5 0.294E-12 332.5 0.280E-12 337.5 0.265E-12 + 342.5 0.251E-12 347.5 0.239E-12 352.5 0.227E-12 357.5 0.216E-12 + 362.5 0.205E-12 367.5 0.194E-12 372.5 0.182E-12 377.5 0.172E-12 + 382.5 0.162E-12 387.5 0.153E-12 392.5 0.144E-12 397.5 0.136E-12 + 0.69000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.105E-17 + 22.5 0.653E-15 27.5 0.185E-14 32.5 0.393E-14 37.5 0.670E-14 + 42.5 0.977E-14 47.5 0.129E-13 52.5 0.160E-13 57.5 0.192E-13 + 62.5 0.228E-13 67.5 0.274E-13 72.5 0.325E-13 77.5 0.379E-13 + 82.5 0.428E-13 87.5 0.483E-13 92.5 0.550E-13 97.5 0.631E-13 + 102.5 0.721E-13 107.5 0.824E-13 112.5 0.937E-13 117.5 0.105E-12 + 122.5 0.117E-12 127.5 0.129E-12 132.5 0.141E-12 137.5 0.155E-12 + 142.5 0.168E-12 147.5 0.181E-12 152.5 0.195E-12 157.5 0.209E-12 + 162.5 0.223E-12 167.5 0.237E-12 172.5 0.251E-12 177.5 0.265E-12 + 182.5 0.278E-12 187.5 0.290E-12 192.5 0.301E-12 197.5 0.312E-12 + 202.5 0.322E-12 207.5 0.332E-12 212.5 0.341E-12 217.5 0.350E-12 + 222.5 0.358E-12 227.5 0.365E-12 232.5 0.369E-12 237.5 0.373E-12 + 242.5 0.377E-12 247.5 0.379E-12 252.5 0.381E-12 257.5 0.381E-12 + 262.5 0.380E-12 267.5 0.379E-12 272.5 0.376E-12 277.5 0.371E-12 + 282.5 0.364E-12 287.5 0.356E-12 292.5 0.347E-12 297.5 0.337E-12 + 302.5 0.327E-12 307.5 0.317E-12 312.5 0.307E-12 317.5 0.296E-12 + 322.5 0.285E-12 327.5 0.273E-12 332.5 0.261E-12 337.5 0.249E-12 + 342.5 0.237E-12 347.5 0.227E-12 352.5 0.216E-12 357.5 0.207E-12 + 362.5 0.197E-12 367.5 0.187E-12 372.5 0.177E-12 377.5 0.168E-12 + 382.5 0.159E-12 387.5 0.151E-12 392.5 0.143E-12 397.5 0.135E-12 + 0.71000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.227E-18 + 22.5 0.497E-15 27.5 0.103E-14 32.5 0.205E-14 37.5 0.327E-14 + 42.5 0.478E-14 47.5 0.648E-14 52.5 0.824E-14 57.5 0.100E-13 + 62.5 0.122E-13 67.5 0.150E-13 72.5 0.184E-13 77.5 0.217E-13 + 82.5 0.249E-13 87.5 0.286E-13 92.5 0.330E-13 97.5 0.382E-13 + 102.5 0.436E-13 107.5 0.498E-13 112.5 0.568E-13 117.5 0.648E-13 + 122.5 0.727E-13 127.5 0.812E-13 132.5 0.903E-13 137.5 0.100E-12 + 142.5 0.110E-12 147.5 0.120E-12 152.5 0.131E-12 157.5 0.142E-12 + 162.5 0.153E-12 167.5 0.164E-12 172.5 0.175E-12 177.5 0.186E-12 + 182.5 0.197E-12 187.5 0.207E-12 192.5 0.216E-12 197.5 0.226E-12 + 202.5 0.235E-12 207.5 0.244E-12 212.5 0.253E-12 217.5 0.261E-12 + 222.5 0.269E-12 227.5 0.276E-12 232.5 0.281E-12 237.5 0.286E-12 + 242.5 0.290E-12 247.5 0.295E-12 252.5 0.298E-12 257.5 0.301E-12 + 262.5 0.303E-12 267.5 0.304E-12 272.5 0.306E-12 277.5 0.305E-12 + 282.5 0.303E-12 287.5 0.300E-12 292.5 0.296E-12 297.5 0.291E-12 + 302.5 0.285E-12 307.5 0.279E-12 312.5 0.273E-12 317.5 0.265E-12 + 322.5 0.255E-12 327.5 0.246E-12 332.5 0.237E-12 337.5 0.228E-12 + 342.5 0.219E-12 347.5 0.211E-12 352.5 0.202E-12 357.5 0.194E-12 + 362.5 0.186E-12 367.5 0.177E-12 372.5 0.168E-12 377.5 0.161E-12 + 382.5 0.154E-12 387.5 0.147E-12 392.5 0.139E-12 397.5 0.132E-12 + 0.73000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.337E-15 27.5 0.596E-15 32.5 0.105E-14 37.5 0.160E-14 + 42.5 0.224E-14 47.5 0.304E-14 52.5 0.394E-14 57.5 0.491E-14 + 62.5 0.619E-14 67.5 0.795E-14 72.5 0.101E-13 77.5 0.121E-13 + 82.5 0.143E-13 87.5 0.169E-13 92.5 0.201E-13 97.5 0.238E-13 + 102.5 0.276E-13 107.5 0.311E-13 112.5 0.348E-13 117.5 0.393E-13 + 122.5 0.445E-13 127.5 0.503E-13 132.5 0.568E-13 137.5 0.642E-13 + 142.5 0.721E-13 147.5 0.801E-13 152.5 0.880E-13 157.5 0.966E-13 + 162.5 0.105E-12 167.5 0.113E-12 172.5 0.122E-12 177.5 0.131E-12 + 182.5 0.139E-12 187.5 0.147E-12 192.5 0.155E-12 197.5 0.163E-12 + 202.5 0.171E-12 207.5 0.179E-12 212.5 0.187E-12 217.5 0.194E-12 + 222.5 0.202E-12 227.5 0.208E-12 232.5 0.214E-12 237.5 0.219E-12 + 242.5 0.224E-12 247.5 0.229E-12 252.5 0.233E-12 257.5 0.237E-12 + 262.5 0.240E-12 267.5 0.244E-12 272.5 0.246E-12 277.5 0.247E-12 + 282.5 0.248E-12 287.5 0.248E-12 292.5 0.247E-12 297.5 0.245E-12 + 302.5 0.243E-12 307.5 0.241E-12 312.5 0.237E-12 317.5 0.233E-12 + 322.5 0.227E-12 327.5 0.222E-12 332.5 0.215E-12 337.5 0.209E-12 + 342.5 0.202E-12 347.5 0.195E-12 352.5 0.189E-12 357.5 0.182E-12 + 362.5 0.176E-12 367.5 0.168E-12 372.5 0.161E-12 377.5 0.155E-12 + 382.5 0.148E-12 387.5 0.143E-12 392.5 0.136E-12 397.5 0.130E-12 + 0.75000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.197E-15 27.5 0.364E-15 32.5 0.528E-15 37.5 0.727E-15 + 42.5 0.103E-14 47.5 0.143E-14 52.5 0.187E-14 57.5 0.236E-14 + 62.5 0.316E-14 67.5 0.435E-14 72.5 0.574E-14 77.5 0.704E-14 + 82.5 0.841E-14 87.5 0.101E-13 92.5 0.123E-13 97.5 0.149E-13 + 102.5 0.176E-13 107.5 0.200E-13 112.5 0.223E-13 117.5 0.249E-13 + 122.5 0.283E-13 127.5 0.320E-13 132.5 0.365E-13 137.5 0.417E-13 + 142.5 0.473E-13 147.5 0.531E-13 152.5 0.591E-13 157.5 0.653E-13 + 162.5 0.716E-13 167.5 0.778E-13 172.5 0.841E-13 177.5 0.909E-13 + 182.5 0.977E-13 187.5 0.105E-12 192.5 0.111E-12 197.5 0.119E-12 + 202.5 0.125E-12 207.5 0.132E-12 212.5 0.138E-12 217.5 0.145E-12 + 222.5 0.151E-12 227.5 0.157E-12 232.5 0.162E-12 237.5 0.168E-12 + 242.5 0.173E-12 247.5 0.177E-12 252.5 0.182E-12 257.5 0.186E-12 + 262.5 0.190E-12 267.5 0.193E-12 272.5 0.197E-12 277.5 0.199E-12 + 282.5 0.201E-12 287.5 0.202E-12 292.5 0.203E-12 297.5 0.203E-12 + 302.5 0.204E-12 307.5 0.203E-12 312.5 0.203E-12 317.5 0.202E-12 + 322.5 0.199E-12 327.5 0.196E-12 332.5 0.193E-12 337.5 0.189E-12 + 342.5 0.184E-12 347.5 0.180E-12 352.5 0.175E-12 357.5 0.170E-12 + 362.5 0.165E-12 367.5 0.159E-12 372.5 0.153E-12 377.5 0.148E-12 + 382.5 0.142E-12 387.5 0.137E-12 392.5 0.132E-12 397.5 0.126E-12 + 0.77000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.801E-16 27.5 0.178E-15 32.5 0.232E-15 37.5 0.283E-15 + 42.5 0.410E-15 47.5 0.625E-15 52.5 0.875E-15 57.5 0.115E-14 + 62.5 0.159E-14 67.5 0.231E-14 72.5 0.318E-14 77.5 0.398E-14 + 82.5 0.485E-14 87.5 0.591E-14 92.5 0.733E-14 97.5 0.909E-14 + 102.5 0.110E-13 107.5 0.126E-13 112.5 0.142E-13 117.5 0.161E-13 + 122.5 0.186E-13 127.5 0.214E-13 132.5 0.241E-13 137.5 0.273E-13 + 142.5 0.308E-13 147.5 0.346E-13 152.5 0.389E-13 157.5 0.431E-13 + 162.5 0.477E-13 167.5 0.524E-13 172.5 0.574E-13 177.5 0.625E-13 + 182.5 0.682E-13 187.5 0.738E-13 192.5 0.790E-13 197.5 0.846E-13 + 202.5 0.903E-13 207.5 0.954E-13 212.5 0.101E-12 217.5 0.106E-12 + 222.5 0.112E-12 227.5 0.117E-12 232.5 0.122E-12 237.5 0.127E-12 + 242.5 0.131E-12 247.5 0.136E-12 252.5 0.140E-12 257.5 0.144E-12 + 262.5 0.148E-12 267.5 0.152E-12 272.5 0.155E-12 277.5 0.158E-12 + 282.5 0.160E-12 287.5 0.162E-12 292.5 0.164E-12 297.5 0.165E-12 + 302.5 0.167E-12 307.5 0.168E-12 312.5 0.169E-12 317.5 0.170E-12 + 322.5 0.169E-12 327.5 0.168E-12 332.5 0.166E-12 337.5 0.165E-12 + 342.5 0.163E-12 347.5 0.160E-12 352.5 0.158E-12 357.5 0.155E-12 + 362.5 0.151E-12 367.5 0.147E-12 372.5 0.143E-12 377.5 0.137E-12 + 382.5 0.133E-12 387.5 0.129E-12 392.5 0.125E-12 397.5 0.121E-12 + 0.79000E+03 + 2.5 0.000E+00 7.5 0.000E+00 12.5 0.000E+00 17.5 0.000E+00 + 22.5 0.189E-16 27.5 0.454E-16 32.5 0.579E-16 37.5 0.608E-16 + 42.5 0.841E-16 47.5 0.151E-15 52.5 0.245E-15 57.5 0.378E-15 + 62.5 0.653E-15 67.5 0.110E-14 72.5 0.158E-14 77.5 0.202E-14 + 82.5 0.251E-14 87.5 0.316E-14 92.5 0.404E-14 97.5 0.520E-14 + 102.5 0.642E-14 107.5 0.756E-14 112.5 0.875E-14 117.5 0.102E-13 + 122.5 0.120E-13 127.5 0.141E-13 132.5 0.160E-13 137.5 0.179E-13 + 142.5 0.199E-13 147.5 0.222E-13 152.5 0.248E-13 157.5 0.277E-13 + 162.5 0.309E-13 167.5 0.343E-13 172.5 0.381E-13 177.5 0.422E-13 + 182.5 0.465E-13 187.5 0.510E-13 192.5 0.549E-13 197.5 0.591E-13 + 202.5 0.636E-13 207.5 0.676E-13 212.5 0.721E-13 217.5 0.767E-13 + 222.5 0.812E-13 227.5 0.858E-13 232.5 0.898E-13 237.5 0.937E-13 + 242.5 0.977E-13 247.5 0.102E-12 252.5 0.106E-12 257.5 0.110E-12 + 262.5 0.114E-12 267.5 0.116E-12 272.5 0.120E-12 277.5 0.123E-12 + 282.5 0.126E-12 287.5 0.128E-12 292.5 0.130E-12 297.5 0.132E-12 + 302.5 0.134E-12 307.5 0.136E-12 312.5 0.137E-12 317.5 0.139E-12 + 322.5 0.139E-12 327.5 0.140E-12 332.5 0.140E-12 337.5 0.140E-12 + 342.5 0.139E-12 347.5 0.139E-12 352.5 0.138E-12 357.5 0.137E-12 + 362.5 0.135E-12 367.5 0.132E-12 372.5 0.129E-12 377.5 0.126E-12 + 382.5 0.122E-12 387.5 0.119E-12 392.5 0.116E-12 397.5 0.114E-12 diff --git a/src/Framework/Conventions/KinePhaseSpace.h b/src/Framework/Conventions/KinePhaseSpace.h index ffac5d380..09f6a60f6 100644 --- a/src/Framework/Conventions/KinePhaseSpace.h +++ b/src/Framework/Conventions/KinePhaseSpace.h @@ -68,7 +68,7 @@ typedef enum EKinePhaseSpace { // TODO: rename this value when the correct variables are identified kPSTAfE, kPSEgTlOgfE, - kPSDMELEvGen, // Equivalent to kPSQELEvGen for Dark Matter scattering + kPSDMELEvGen, // Equivalent to kPSQELEvGen for Dark Matter scattering kPSlog10xlog10Q2fE } KinePhaseSpace_t; diff --git a/src/Physics/Hadronization/AGKYLowW2019.h b/src/Physics/Hadronization/AGKYLowW2019.h index 06f2f6601..02e6695d4 100644 --- a/src/Physics/Hadronization/AGKYLowW2019.h +++ b/src/Physics/Hadronization/AGKYLowW2019.h @@ -34,7 +34,7 @@ \cpright Copyright (c) 2003-2020, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org - + */ //____________________________________________________________________________ @@ -46,7 +46,7 @@ #include "Framework/Interaction/Interaction.h" #include "Physics/Decay/Decayer.h" #include "Framework/EventGen/EventRecordVisitorI.h" - +#include "Framework/Interaction/Interaction.h" class TF1; diff --git a/src/Physics/NuclearState/FermiMover.cxx b/src/Physics/NuclearState/FermiMover.cxx index 7baff124c..e0495c138 100644 --- a/src/Physics/NuclearState/FermiMover.cxx +++ b/src/Physics/NuclearState/FermiMover.cxx @@ -2,7 +2,7 @@ /* Copyright (c) 2003-2020, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org - + Costas Andreopoulos University of Liverpool & STFC Rutherford Appleton Laboratory - October 08, 2004 @@ -159,28 +159,50 @@ void FermiMover::KickHitNucleon(GHepRecord * evrec) const // Do default Fermi Moving } else { if (!fKeepNuclOnMassShell) { - //-- compute A,Z for final state nucleus & get its PDG code - int nucleon_pdgc = nucleon->Pdg(); - bool is_p = pdg::IsProton(nucleon_pdgc); - int Z = (is_p) ? nucleus->Z()-1 : nucleus->Z(); - int A = nucleus->A() - 1; - - TParticlePDG * fnucleus = 0; - int ipdgc = pdg::IonPdgCode(A, Z); - fnucleus = PDGLibrary::Instance()->Find(ipdgc); - if(!fnucleus) { - LOG("FermiMover", pFATAL) - << "No particle with [A = " << A << ", Z = " << Z - << ", pdgc = " << ipdgc << "] in PDGLibrary!"; - exit(1); - } - //-- compute the energy of the struck (off the mass-shell) nucleus - - double Mf = fnucleus -> Mass(); // remnant nucleus mass - double Mi = nucleus -> Mass(); // initial nucleus mass - EN = Mi - TMath::Sqrt(pF2 + Mf*Mf); - } else { + if ( fNuclModel->ModelType(*tgt) == kNucmSpectralFunc ) { + // If we're using the SpectralFunc nuclear model, use it to determine a + // variable off-shell total energy for the initial hit nucleon + // See also the BindHitNucleon() function in + // Physics/QuasiElastic/XSection/QELUtils.cxx + double mNi = tgt->HitNucMass(); // On-shell initial hit nucleon mass + double Mi = tgt->Mass(); // Initial mass of the nuclear target + double Mf = std::sqrt( std::max(0., std::pow(Mi + w - mNi, 2) - p3.Mag2()) ); + // The (lab-frame) off-shell initial nucleon energy is the difference + // between the lab frame total energies of the initial and remnant nuclei + EN = Mi - std::sqrt( Mf*Mf + p3.Mag2() ); + } + else { + // Otherwise, assume that the spectator nuclear remnant is left in its + // ground state. + + // TODO: revisit this assumption, as was done for QELEventGenerator + // for the v3.0.4 release + + //-- compute A,Z for final state nucleus & get its PDG code + int nucleon_pdgc = nucleon->Pdg(); + bool is_p = pdg::IsProton(nucleon_pdgc); + int Z = (is_p) ? nucleus->Z()-1 : nucleus->Z(); + int A = nucleus->A() - 1; + + TParticlePDG * fnucleus = 0; + int ipdgc = pdg::IonPdgCode(A, Z); + fnucleus = PDGLibrary::Instance()->Find(ipdgc); + if(!fnucleus) { + LOG("FermiMover", pFATAL) + << "No particle with [A = " << A << ", Z = " << Z + << ", pdgc = " << ipdgc << "] in PDGLibrary!"; + exit(1); + } + //-- compute the energy of the struck (off the mass-shell) nucleus + + double Mf = fnucleus -> Mass(); // remnant nucleus mass + double Mi = nucleus -> Mass(); // initial nucleus mass + + EN = Mi - TMath::Sqrt(pF2 + Mf*Mf); + } + } + else { double MN = nucleon->Mass(); double MN2 = TMath::Power(MN,2); EN = TMath::Sqrt(MN2+pF2); diff --git a/src/Physics/NuclearState/SpectralFunc.cxx b/src/Physics/NuclearState/SpectralFunc.cxx index 67ef09abb..e586d0182 100644 --- a/src/Physics/NuclearState/SpectralFunc.cxx +++ b/src/Physics/NuclearState/SpectralFunc.cxx @@ -2,22 +2,27 @@ /* Copyright (c) 2003-2020, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org - + + Steven Gardiner + Fermi National Accelerator Laboratory Costas Andreopoulos - University of Liverpool & STFC Rutherford Appleton Laboratory + University of Liverpool & STFC Rutherford Appleton Laboratory For the class documentation see the corresponding header file. - - Important revisions after version 2.0.0 : - @ May 01, 2012 - CA - Pick spectral function data from $GENIE/data/evgen/nucl/spectral_functions */ //____________________________________________________________________________ -#include -#include -#include +#include +#include +#include + +#include "TF2.h" +#include "TGraph2D.h" +#include "TH2D.h" +#include "TNtupleD.h" +#include "TRandom.h" +#include "TSystem.h" #include "Framework/Conventions/Constants.h" #include "Framework/Conventions/Controls.h" @@ -27,186 +32,295 @@ #include "Framework/ParticleData/PDGCodes.h" #include "Framework/Numerical/RandomGen.h" +namespace { + + // TODO: Replace this with std::to_string when we switch to C++11 + std::string replace_with_std_to_string(int an_integer) { + std::ostringstream oss; + oss << an_integer; + return oss.str(); + } + +} + using namespace genie; using namespace genie::constants; using namespace genie::controls; //____________________________________________________________________________ -SpectralFunc::SpectralFunc() : -NuclearModelI("genie::SpectralFunc") +SpectralFunc::SpectralFunc() : NuclearModelI("genie::SpectralFunc") { - fSfFe56 = 0; - fSfC12 = 0; + } //____________________________________________________________________________ SpectralFunc::SpectralFunc(string config) : -NuclearModelI("genie::SpectralFunc", config) + NuclearModelI("genie::SpectralFunc", config) { - fSfFe56 = 0; - fSfC12 = 0; + } //____________________________________________________________________________ SpectralFunc::~SpectralFunc() { -//if (fSfFe56) delete fSfFe56; -//if (fSfC12 ) delete fSfC12; + // Delete the TH2D objects from the spectral function map + std::map::iterator begin = fSpectralFunctionMap.begin(); + std::map::iterator end = fSpectralFunctionMap.end(); + for (std::map::iterator iter = begin; iter != end; ++iter) { + TH2D* hist = iter->second; + if ( hist ) delete hist; + } } //____________________________________________________________________________ -bool SpectralFunc::GenerateNucleon(const Target & target) const +bool SpectralFunc::GenerateNucleon(const Target& target) const { - TGraph2D * sf = this->SelectSpectralFunction(target); + TH2D* sf = this->SelectSpectralFunction( target ); - if(!sf) { + if ( !sf ) { fCurrRemovalEnergy = 0.; - fCurrMomentum.SetXYZ(0.,0.,0.); + fCurrMomentum.SetXYZ(0., 0., 0.); return false; } - double kmin = sf->GetXmin(); // momentum range - double kmax = sf->GetXmax(); - double wmin = sf->GetYmin(); // removal energy range - double wmax = sf->GetYmax(); - double probmax = sf->GetZmax(); // maximum probability - probmax *= 1.1; - - double dk = kmax - kmin; - double dw = wmax - wmin; - - LOG("SpectralFunc", pINFO) << "Momentum range = [" << kmin << ", " << kmax << "]"; - LOG("SpectralFunc", pINFO) << "Rmv energy range = [" << wmin << ", " << wmax << "]"; - - RandomGen * rnd = RandomGen::Instance(); - - unsigned int niter = 0; - while(1) { - if(niter > kRjMaxIterations) { - LOG("SpectralFunc", pWARN) - << "Couldn't generate a hit nucleon after " << niter << " iterations"; - return false; - } - niter++; - - // random pair - double kc = kmin + dk * rnd->RndGen().Rndm(); - double wc = wmin + dw * rnd->RndGen().Rndm(); - LOG("SpectralFunc", pINFO) << "Trying p = " << kc << ", w = " << wc; - - // accept/reject - double prob = this->Prob(kc,wc, target); - double probg = probmax * rnd->RndGen().Rndm(); - bool accept = (probg < prob); - if(!accept) continue; - - LOG("SpectralFunc", pINFO) << "|p,nucleon| = " << kc; - LOG("SpectralFunc", pINFO) << "|w,nucleon| = " << wc; - - // generate momentum components - double costheta = -1. + 2. * rnd->RndGen().Rndm(); - double sintheta = TMath::Sqrt(1.-costheta*costheta); - double fi = 2 * kPi * rnd->RndGen().Rndm(); - double cosfi = TMath::Cos(fi); - double sinfi = TMath::Sin(fi); - - double kx = kc*sintheta*cosfi; - double ky = kc*sintheta*sinfi; - double kz = kc*costheta; - - // set generated values - fCurrRemovalEnergy = wc; - fCurrMomentum.SetXYZ(kx,ky,kz); - - return true; - } - return false; + double kmin = sf->GetXaxis()->GetXmin(); // momentum range + double kmax = sf->GetXaxis()->GetXmax(); + double wmin = sf->GetYaxis()->GetXmin(); // removal energy range + double wmax = sf->GetYaxis()->GetXmax(); + + LOG("SpectralFunc", pDEBUG) << "Momentum range = [" << kmin << ", " << kmax << "]"; + LOG("SpectralFunc", pDEBUG) << "Rmv energy range = [" << wmin << ", " << wmax << "]"; + + // Temporarily replace ROOT's gRandom RNG with GENIE's so that our call to + // TH2::GetRandom2() will use GENIE's random numbers + TRandom* old_gRandom = gRandom; + RandomGen* rnd = RandomGen::Instance(); + gRandom = &rnd->RndGen(); + + // Pick a random nucleon momentum and removal energy using the spectral + // function histogram + double kc = 0.; + double wc = 0.; + sf->GetRandom2( kc, wc ); + + // Restore ROOT's old gRandom now that we've had our fun + gRandom = old_gRandom; + + // Log our choices for the nucleon momentum and removal energy + LOG("SpectralFunc", pINFO) << "|p,nucleon| = " << kc; + LOG("SpectralFunc", pINFO) << "|w,nucleon| = " << wc; + + // Generate momentum components + double costheta = -1. + 2. * rnd->RndGen().Rndm(); + double sintheta = TMath::Sqrt(1.-costheta*costheta); + double fi = 2 * kPi * rnd->RndGen().Rndm(); + double cosfi = TMath::Cos(fi); + double sinfi = TMath::Sin(fi); + + double kx = kc * sintheta * cosfi; + double ky = kc * sintheta * sinfi; + double kz = kc * costheta; + + // set generated values + fCurrRemovalEnergy = wc; + fCurrMomentum.SetXYZ(kx,ky,kz); + + return true; } //____________________________________________________________________________ -double SpectralFunc::Prob( - double p, double w, const Target & target) const +double SpectralFunc::Prob(double p, double w, const Target & target) const { - TGraph2D * sf = this->SelectSpectralFunction(target); - if(!sf) return 0; + TH2D* sf = this->SelectSpectralFunction( target ); + if ( !sf ) return 0.; + + // TODO: check whether we should return the probability mass or density here. + // The previous implementation used the density. For now, we return the mass. + double prob_mass = 0.; + if ( w >= 0. ) { + // In the normal case, find the bin corresponding to (p, w) and return the + // probability based on that + int bin_num = sf->FindBin( p, w ); + prob_mass = sf->GetBinContent( bin_num ); + } + else { + // For w < 0 (e.g., w = -1 used by QELEventGenerator), ignore w and find + // the integrated probability of sampling from the appropriate p bin + TH1D* temp_p_hist = sf->ProjectionX("temp_p_proj_x", 1, + sf->GetXaxis()->GetNbins()); + + int p_bin_num = temp_p_hist->FindBin( p ); + prob_mass = temp_p_hist->GetBinContent( p_bin_num ); + delete temp_p_hist; + } + + return prob_mass; - return sf->Interpolate(p,w); + //int bx, by, bz; + //sf->GetBinXYZ( bin_num, bx, by, bz ); + + //double prob_density = prob_mass / sf->GetXaxis()->GetBinWidth( bx ) + // / sf->GetYaxis()->GetBinWidth( by ) + // / std::pow(sf->GetXaxis()->GetBinLowEdge( bx ), 2) + // / (4. * kPi); + + //return prob_density; } //____________________________________________________________________________ void SpectralFunc::Configure(const Registry & config) { - Algorithm::Configure(config); + Algorithm::Configure( config ); this->LoadConfig(); } //____________________________________________________________________________ void SpectralFunc::Configure(string param_set) { - Algorithm::Configure(param_set); + Algorithm::Configure( param_set ); this->LoadConfig(); } //____________________________________________________________________________ void SpectralFunc::LoadConfig(void) { + NuclearModelI::LoadConfig(); + + // Determine the folder that should be searched to find the spectral function + // data files + std::string data_path_type; + this->GetParamDef( "DataPathType", data_path_type, std::string("relative") ); + + std::string data_path; + this->GetParam( "DataPath", data_path ); + // Ensure that the path ends with '/', just in case + data_path += '/'; + + if ( data_path_type == "relative" ) { + std::string genie_path = gSystem->Getenv("GENIE"); + genie_path += '/'; + data_path = genie_path + data_path; + } - NuclearModelI::LoadConfig() ; - - LOG("SpectralFunc", pDEBUG) << "Loading Benhar et al. spectral functions"; + fDataPath = data_path; +} +//____________________________________________________________________________ +TH2D* SpectralFunc::SelectSpectralFunction(const Target& t) const +{ + // First check whether we've already built the requested spectral function + int target_pdg = t.Pdg(); + std::map::iterator my_iter = fSpectralFunctionMap.find( target_pdg ); + if ( my_iter != fSpectralFunctionMap.end() ) return my_iter->second; + + // If not, attempt to build it + std::string target_pdg_string = replace_with_std_to_string( target_pdg ); + RgKey sf_key( "SpectFuncTable@Pdg=" + target_pdg_string ); + std::string data_filename; + this->GetParamDef( sf_key, data_filename, std::string() ); + + if ( data_filename.empty() ) { + LOG("SpectralFunc", pERROR) << "** The spectral function for target " + << target_pdg << " isn't available"; + std::exit( 1 ); + } - string data_dir = - string(gSystem->Getenv("GENIE")) + - string("/data/evgen/nucl/spectral_functions/"); - string c12file = data_dir + "benhar-sf-12c.data"; - string fe56file = data_dir + "benhar-sf-56fe.data"; + // Prepend the data path to the file name + data_filename = fDataPath + data_filename; - TNtupleD sfdata_fe56("sfdata_fe56","","k:e:prob"); - TNtupleD sfdata_c12 ("sfdata_c12", "","k:e:prob"); + TH2D* sf_hist = this->LoadSFDataFile( data_filename, t.Z() ); - sfdata_fe56.ReadFile ( fe56file.c_str() ); - sfdata_c12. ReadFile ( c12file.c_str () ); + LOG("SpectralFunc", pNOTICE) << "Loaded spectral function data" + " for target with PDG code " << target_pdg << " from the file " + << data_filename; - LOG("SpectralFunc", pDEBUG) << "Loaded " << sfdata_fe56.GetEntries() << " Fe56 points"; - LOG("SpectralFunc", pDEBUG) << "Loaded " << sfdata_c12.GetEntries() << " C12 points"; + sf_hist->SetName( ("sf_" + target_pdg_string).c_str() ); - if (fSfFe56) delete fSfFe56; - if (fSfC12 ) delete fSfC12; + // Set the directory to NULL so that this histogram is never auto-deleted + // (the genie::SpectralFunc object will take ownership) + sf_hist->SetDirectory( NULL ); - fSfFe56 = this->Convert2Graph(sfdata_fe56); - fSfC12 = this->Convert2Graph(sfdata_c12); + // Store the new spectral function histogram for easy retrieval later + fSpectralFunctionMap[ target_pdg ] = sf_hist; - fSfFe56->SetName("sf_fe56"); - fSfC12 ->SetName("sf_c12"); + return sf_hist; } //____________________________________________________________________________ -TGraph2D * SpectralFunc::Convert2Graph(TNtupleD & sfdata) const +TH2D* SpectralFunc::LoadSFDataFile(const std::string& full_file_name, + int targetZ ) const { - int np = sfdata.GetEntries(); - TGraph2D * sfgraph = new TGraph2D(np); - - sfdata.Draw("k:e:prob","","GOFF"); - assert(np==sfdata.GetSelectedRows()); - double * k = sfdata.GetV1(); - double * e = sfdata.GetV2(); - double * p = sfdata.GetV3(); - - for(int i=0; iSetPoint(i, ki,ei,pi); - } - return sfgraph; -} -//____________________________________________________________________________ -TGraph2D * SpectralFunc::SelectSpectralFunction(const Target & t) const -{ - TGraph2D * sf = 0; - int pdgc = t.Pdg(); + int num_E_bins, num_p_bins; + double p_min, p_max, E_min, E_max; - if (pdgc == kPdgTgtC12) sf = fSfC12; - else if (pdgc == kPdgTgtFe56) sf = fSfFe56; - else { - LOG("SpectralFunc", pERROR) - << "** The spectral function for target " << pdgc << " isn't available"; + std::ifstream in_file( full_file_name ); + + // Check that the file exists and is readable + if ( !in_file.good() ) { + LOG("SpectralFunc", pERROR) << "Could not read spectral function table" + << " from the file " << full_file_name; + std::exit( 1 ); } - if(!sf) { - LOG("SpectralFunc", pERROR) << "** Null spectral function"; + + // TODO: add I/O error handling + + // Read the histogram bin boundary information from the + // spectral function data file header. Note that the current + // format requires equally-spaced bins. + in_file >> num_E_bins >> num_p_bins; + in_file >> E_min >> p_min; + in_file >> E_max >> p_max; + + // The input files use MeV while GENIE uses GeV, so make the + // change to GENIE units now. + E_min *= genie::units::MeV; + E_max *= genie::units::MeV; + + p_min *= genie::units::MeV; + p_max *= genie::units::MeV; + + // Build an empty histogram with the given bin boundaries + TH2D* sf_hist = new TH2D("temp_sf_hist", + "Spectral Function; nucleon momentum (GeV); removal energy (GeV)", + num_p_bins, p_min, p_max, num_E_bins, E_min, E_max); + + // Now set the contents of each bin using the body of the input data file. + // Note that the tabulated p and E values represent the bin centers. + for ( int ip = 0; ip < num_p_bins; ++ip ) { + + double p; + in_file >> p; + + // Convert from MeV to GeV + p *= genie::units::MeV; + + for ( int ie = 0; ie < num_E_bins; ++ie ) { + + double E, prob_density; + in_file >> E >> prob_density; + + // Convert from MeV to GeV + E *= genie::units::MeV; + + // Convert from MeV^(-4) to GeV^(-4) + prob_density *= std::pow( genie::units::MeV, -4 ); + + // Remove the normalization factor of Z from the values tabulated in the + // file + prob_density /= targetZ; + + // Convert bin contents from probability density to probability + // mass for easier sampling + TAxis* p_axis = sf_hist->GetXaxis(); + int p_idx = p_axis->FindBin( p ); + double p_bin_width = p_axis->GetBinWidth( p_idx ); + + TAxis* E_axis = sf_hist->GetYaxis(); + int E_idx = E_axis->FindBin( E ); + double E_bin_width = E_axis->GetBinWidth( E_idx ); + + // This expression assumes that the p^2 * prob_density can + // be treated as approximately constant over the bin of interest + double prob_mass = prob_density * std::pow(p, 2) * 4. * kPi + * p_bin_width * E_bin_width; + + sf_hist->SetBinContent( sf_hist->FindBin(p, E), prob_mass ); + LOG("SpectralFunc", pDEBUG) << "p = " << p << ", E = " << E << ", dens = " << prob_density + << ", mass = " << prob_mass << ", p_bin_width = " << p_bin_width << ", E_bin_width = " + << E_bin_width; + } } - return sf; + + return sf_hist; } -//____________________________________________________________________________ diff --git a/src/Physics/NuclearState/SpectralFunc.h b/src/Physics/NuclearState/SpectralFunc.h index c9a97176a..d9d912d3d 100644 --- a/src/Physics/NuclearState/SpectralFunc.h +++ b/src/Physics/NuclearState/SpectralFunc.h @@ -9,11 +9,14 @@ \author Costas Andreopoulos University of Liverpool & STFC Rutherford Appleton Laboratory + Steven Gardiner + Fermi National Accelerator Laboratory + \created May 07, 2004 \cpright Copyright (c) 2003-2020, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org - + */ //____________________________________________________________________________ @@ -21,10 +24,13 @@ #ifndef _SPECTRAL_FUNCTION_H_ #define _SPECTRAL_FUNCTION_H_ +#include + #include "Physics/NuclearState/NuclearModelI.h" -class TNtupleD; class TGraph2D; +class TH2D; +class TNtupleD; namespace genie { @@ -41,7 +47,7 @@ class SpectralFunc : public NuclearModelI { //-- implement the NuclearModelI interface bool GenerateNucleon (const Target & t) const; double Prob (double p, double w, const Target & t) const; - NuclearModel_t ModelType (const Target &) const + NuclearModel_t ModelType (const Target &) const { return kNucmSpectralFunc; } @@ -51,16 +57,27 @@ class SpectralFunc : public NuclearModelI { void Configure (const Registry & config); void Configure (string config); + TH2D* SelectSpectralFunction (const Target& target) const; + protected: void LoadConfig (void); + TGraph2D* Convert2Graph (TNtupleD& data) const; + TH2D* LoadSFDataFile( const std::string& full_file_name, int targetZ ) const; + + /// The path to the folder containing the spectral function data files + std::string fDataPath; + + /// Map storing cached spectral functions. Keys are nuclear PDG codes, + /// values are 2D histograms representing the probability distribution + mutable std::map fSpectralFunctionMap; -private: - - TGraph2D * Convert2Graph (TNtupleD & data) const; - TGraph2D * SelectSpectralFunction (const Target & target) const; + /// The number of nucleon momentum bins to use when making spectral function + /// histograms + int fNumXBins; - TGraph2D * fSfFe56; ///< Benhar's Fe56 SF - TGraph2D * fSfC12; ///< Benhar's C12 SF + /// The number of removal energy bins to use when making spectral function + /// histograms + int fNumYBins; }; } // genie namespace diff --git a/src/Physics/QuasiElastic/EventGen/QELEventGenerator.cxx b/src/Physics/QuasiElastic/EventGen/QELEventGenerator.cxx index 50c6e3faa..36f897592 100644 --- a/src/Physics/QuasiElastic/EventGen/QELEventGenerator.cxx +++ b/src/Physics/QuasiElastic/EventGen/QELEventGenerator.cxx @@ -3,6 +3,9 @@ Copyright (c) 2003-2020, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org + Significant revisions by Steven Gardiner + Fermi National Accelerator Laboratory + New QE event generator written by: Andy Furmanski Manchester @@ -189,7 +192,7 @@ void QELEventGenerator::ProcessEventRecord(GHepRecord * evrec) const // since we've already done that above LOG("QELEvent", pDEBUG) << "cth0 = " << costheta << ", phi0 = " << phi; double xsec = genie::utils::ComputeFullQELPXSec(interaction, fNuclModel, - fXSecModel, costheta, phi, fEb, fHitNucleonBindingMode, fMinAngleEM, false); + fXSecModel, costheta, phi, fEb, fHitNucleonBindingMode, false); // select/reject event this->AssertXSecLimits(interaction, xsec, xsec_max); @@ -394,8 +397,6 @@ void QELEventGenerator::LoadConfig(void) // an event weight? GetParamDef( "UniformOverPhaseSpace", fGenerateUniformly, false ) ; - GetParamDef( "SF-MinAngleEMscattering", fMinAngleEM, 0. ) ; - // Decide how to handle the binding energy of the initial state struck // nucleon std::string binding_mode; @@ -445,7 +446,7 @@ double QELEventGenerator::ComputeMaxXSec(const Interaction * in) const // BindHitNucleon() genie::utils::BindHitNucleon(*interaction, *fNuclModel, dummy_Eb, kOnShell); - // TODO: document this, won't work for spectral functions + // TODO: document this double dummy_w = -1.; double prob = fNuclModel->Prob(pNi_next, dummy_w, tgt, tgt.HitNucPosition()); @@ -487,7 +488,7 @@ double QELEventGenerator::ComputeMaxXSec(const Interaction * in) const double costh_increment = (costh_range_max-costh_range_min) / N_theta; double phi_increment = (phi_range_max-phi_range_min) / N_phi; // Now scan through centre-of-mass angles coarsely - for (int itheta = 0; itheta < N_theta; itheta++){ + for (int itheta = 0; itheta <= N_theta; itheta++) { double costh = costh_range_min + itheta * costh_increment; for (int iphi = 0; iphi < N_phi; iphi++) { // Scan around phi double phi = phi_range_min + iphi * phi_increment; @@ -496,7 +497,7 @@ double QELEventGenerator::ComputeMaxXSec(const Interaction * in) const // argument is false because we've already called // BindHitNucleon() above double xs = genie::utils::ComputeFullQELPXSec(interaction, - fNuclModel, fXSecModel, costh, phi, dummy_Eb, kOnShell, fMinAngleEM, false); + fNuclModel, fXSecModel, costh, phi, dummy_Eb, kOnShell, false); if (xs > this_nuc_xsec_max){ phi_at_xsec_max = phi; diff --git a/src/Physics/QuasiElastic/XSection/AhrensNCELPXSec.cxx b/src/Physics/QuasiElastic/XSection/AhrensNCELPXSec.cxx index 7bb3cedc1..85e5e9c34 100644 --- a/src/Physics/QuasiElastic/XSection/AhrensNCELPXSec.cxx +++ b/src/Physics/QuasiElastic/XSection/AhrensNCELPXSec.cxx @@ -4,7 +4,7 @@ For the full text of the license visit http://copyright.genie-mc.org Costas Andreopoulos - University of Liverpool & STFC Rutherford Appleton Laboratory + University of Liverpool & STFC Rutherford Appleton Laboratory */ //____________________________________________________________________________ diff --git a/src/Physics/QuasiElastic/XSection/AhrensNCELStrangeFF.cxx b/src/Physics/QuasiElastic/XSection/AhrensNCELStrangeFF.cxx new file mode 100644 index 000000000..7faf4e85a --- /dev/null +++ b/src/Physics/QuasiElastic/XSection/AhrensNCELStrangeFF.cxx @@ -0,0 +1,67 @@ + //____________________________________________________________________________ +/* + Copyright (c) 2003-2020, The GENIE Collaboration + For the full text of the license visit http://copyright.genie-mc.org + + Steven Gardiner + Fermi National Accelerator Laboratory +*/ +//____________________________________________________________________________ + +#include "Framework/ParticleData/PDGUtils.h" +#include "Physics/QuasiElastic/XSection/AhrensNCELStrangeFF.h" + +using namespace genie; + +//____________________________________________________________________________ +AhrensNCELStrangeFF::AhrensNCELStrangeFF() + : NCELStrangeFormFactorsModelI("genie::AhrensNCELStrangeFF") +{ + +} +//____________________________________________________________________________ +AhrensNCELStrangeFF::AhrensNCELStrangeFF(string config) + : NCELStrangeFormFactorsModelI("genie::AhrensNCELStrangeFF", config) +{ + +} +//____________________________________________________________________________ +AhrensNCELStrangeFF::~AhrensNCELStrangeFF() +{ + +} +//____________________________________________________________________________ +void AhrensNCELStrangeFF::Configure(const Registry& config) +{ + Algorithm::Configure( config ); + this->LoadConfig(); +} +//____________________________________________________________________________ +void AhrensNCELStrangeFF::Configure(string config) +{ + Algorithm::Configure( config ); + this->LoadConfig(); +} +//____________________________________________________________________________ +void AhrensNCELStrangeFF::LoadConfig(void) +{ + fAxFFModel = dynamic_cast< const AxialFormFactorModelI* >( + this->SubAlg("AxialFormFactorModel") ); + + assert( fAxFFModel ); + fAxFF.SetModel( fAxFFModel ); + + // TODO: document this (cite Ahrens paper) + GetParam( "EL-Axial-Eta", fEta ) ; +} + +double AhrensNCELStrangeFF::FAs(const Interaction* interaction) const +{ + // Compute FA-CC + fAxFF.Calculate( interaction ); + double FA_CC = fAxFF.FA(); + + // Compute the strange axial NC form factor + double FAs = -1. * fEta * FA_CC; + return FAs; +} diff --git a/src/Physics/QuasiElastic/XSection/AhrensNCELStrangeFF.h b/src/Physics/QuasiElastic/XSection/AhrensNCELStrangeFF.h new file mode 100644 index 000000000..86bac4f41 --- /dev/null +++ b/src/Physics/QuasiElastic/XSection/AhrensNCELStrangeFF.h @@ -0,0 +1,65 @@ +//____________________________________________________________________________ +/*! + +\class genie::AhrensNCELStrangeFF + +\brief Implements the NCELStrangeFormFactorsModelI interface. +\todo TODO: Cite Ahrens paper + +\author Steven Gardiner + Fermi National Accelerator Laboratory + +\created Feb 23, 2020 + +\cpright Copyright (c) 2003-2020, The GENIE Collaboration + For the full text of the license visit http://copyright.genie-mc.org +*/ +//____________________________________________________________________________ + +#ifndef _AHRENS_NCEL_STRANGE_FORM_FACTORS_I_H_ +#define _AHRENS_NCEL_STRANGE_FORM_FACTORS_I_H_ + +#include "Framework/Algorithm/Algorithm.h" +#include "Framework/Interaction/Interaction.h" + +#include "Physics/QuasiElastic/XSection/AxialFormFactor.h" +#include "Physics/QuasiElastic/XSection/AxialFormFactorModelI.h" +#include "Physics/QuasiElastic/XSection/NCELStrangeFormFactorsModelI.h" + +namespace genie { + +class AhrensNCELStrangeFF : public NCELStrangeFormFactorsModelI { + +public: + AhrensNCELStrangeFF(); + AhrensNCELStrangeFF( std::string config ); + virtual ~AhrensNCELStrangeFF(); + + // NCELStrangeFormFactorsModelI interface implementation + inline virtual double F1Vs (const Interaction* /*interaction*/) const + { return 0.; } + inline virtual double F2Vs (const Interaction* /*interaction*/) const + { return 0.; } + inline virtual double FPs (const Interaction* /*interaction*/) const + { return 0.; } + + virtual double FAs(const Interaction* interaction) const; + + // Overload the Algorithm::Configure() methods to load private data + // members from configuration options + virtual void Configure(const Registry & config); + virtual void Configure(string config); + + virtual void LoadConfig (void); + +protected: + + const AxialFormFactorModelI * fAxFFModel; + mutable AxialFormFactor fAxFF; + + double fEta; + +}; + +} // genie namespace +#endif // _AHRENS_NCEL_STRANGE_FORM_FACTORS_I_H_ diff --git a/src/Physics/QuasiElastic/XSection/BBA03ELFormFactorsModel.cxx b/src/Physics/QuasiElastic/XSection/BBA03ELFormFactorsModel.cxx index 12bb4e997..81df31c16 100644 --- a/src/Physics/QuasiElastic/XSection/BBA03ELFormFactorsModel.cxx +++ b/src/Physics/QuasiElastic/XSection/BBA03ELFormFactorsModel.cxx @@ -129,7 +129,7 @@ void BBA03ELFormFactorsModel::LoadConfig(void) GetParam( "BBA03-Q2Max", fQ2Max ) ; // vector mass - GetParam( "EL-Mv",fMv ) ; + GetParam( "QEL-Mv", fMv ) ; fMv2 = TMath::Power(fMv,2); // anomalous magnetic moments diff --git a/src/Physics/QuasiElastic/XSection/DipoleELFormFactorsModel.cxx b/src/Physics/QuasiElastic/XSection/DipoleELFormFactorsModel.cxx index 5c2ace484..32a09fc31 100644 --- a/src/Physics/QuasiElastic/XSection/DipoleELFormFactorsModel.cxx +++ b/src/Physics/QuasiElastic/XSection/DipoleELFormFactorsModel.cxx @@ -85,7 +85,7 @@ void DipoleELFormFactorsModel::Configure(string param_set) void DipoleELFormFactorsModel::LoadConfig(void) { // vector mass - GetParam( "EL-Mv", fMv ) ; + GetParam( "QEL-Mv", fMv ); fMv2 = TMath::Power(fMv,2); // anomalous magnetic moments diff --git a/src/Physics/QuasiElastic/XSection/FreeNucleonTensor.cxx b/src/Physics/QuasiElastic/XSection/FreeNucleonTensor.cxx new file mode 100644 index 000000000..6c341eaee --- /dev/null +++ b/src/Physics/QuasiElastic/XSection/FreeNucleonTensor.cxx @@ -0,0 +1,160 @@ +#include "Physics/QuasiElastic/XSection/FreeNucleonTensor.h" +#include "Physics/QuasiElastic/XSection/LeptonTensor.h" +#include "Physics/QuasiElastic/XSection/QELFormFactorsModelI.h" +#include "Framework/ParticleData/PDGCodes.h" +#include "Framework/ParticleData/PDGLibrary.h" +#include "Framework/ParticleData/PDGUtils.h" + +namespace { + + // Helper function that chooses the correct value of the nucleon mass + // given an input interaction type + double GetNucleonMass( genie::InteractionType_t type, int hit_nuc_pdg ) { + + // This variable stores the value of the nucleon mass that should be + // used when computing the free nucleon tensor. + double mN = 0.; + + genie::PDGLibrary* pdg_lib = genie::PDGLibrary::Instance(); + double neutron_mass = pdg_lib->Find( genie::kPdgNeutron )->Mass(); + double proton_mass = pdg_lib->Find( genie::kPdgNeutron )->Mass(); + + if ( type == genie::kIntWeakCC ) { + // For charged current interactions, the (on-shell) "nucleon mass" used in + // the matrix element of the nucleon current is the mean of the neutron and + // proton masses + mN = (neutron_mass + proton_mass) / 2.; + } + else { + // For kIntEM or kIntWeakNC, use the (on-shell) mass of the initial + // struck nucleon. + assert( genie::pdg::IsNucleon(hit_nuc_pdg) ); + if ( hit_nuc_pdg == genie::kPdgNeutron ) mN = neutron_mass; + else mN = proton_mass; + } + + return mN; + } + +} + +genie::FreeNucleonTensor::FreeNucleonTensor( + const genie::Interaction& interaction, + const genie::QELFormFactors& ff) +{ + // Set nucleon mass appropriately for the interaction type + genie::InteractionType_t type = interaction.ProcInfo().InteractionTypeId(); + int hit_nuc_pdg = interaction.InitState().Tgt().HitNucPdg(); + fNucleonMass = GetNucleonMass( type, hit_nuc_pdg ); + + // Compute form factors + fF1V = ff.F1V(); + fF2V = ff.xiF2V(); + fF3V = ff.F3V(); + fFA = ff.FA(); + fFP = ff.Fp(); + fF3A = ff.F3A(); + + // On-shell initial hit nucleon mass + double mNi = interaction.InitState().Tgt().HitNucMass(); + // Initial hit nucleon total energy (possibly off-shell) + double ENi = interaction.InitState().Tgt().HitNucP4().E(); + TVector3 p3Ni = interaction.InitState().Tgt().HitNucP4().Vect(); + double ENi_on_shell = std::sqrt( p3Ni.Mag2() + mNi*mNi ); + + // TODO: document. See eq. 3 in Phys. Rev. C 77, 044311 (2008). + double epsilon_B = ENi_on_shell - ENi; + + TLorentzVector* temp_probeP4 = interaction.InitState().GetProbeP4( kRfLab ); + TLorentzVector probeP4 = *temp_probeP4; + delete temp_probeP4; + + // Get fqTilde (lab frame). Assume that SetFSLeptonP4() has already been + // called to store the outgoing lepton's 4-momentum + const TLorentzVector& p4lep = interaction.Kine().FSLeptonP4(); + fqTilde = probeP4 - p4lep; + fqTilde.SetE( fqTilde.E() - epsilon_B ); + + // Initialize the on-shell initial nucleon 4-momentum + fPNiOnShell = TLorentzVector( p3Ni, ENi_on_shell ); +} + +genie::FreeNucleonTensor::FreeNucleonTensor(const TLorentzVector& pNi, + const TLorentzVector& q, double F1V, double F2V, double F3V, double FA, + double FP, double F3A, genie::InteractionType_t type, int hit_nuc_pdg) +{ + fNucleonMass = GetNucleonMass( type, hit_nuc_pdg ); + fPNiOnShell = pNi; + fqTilde = q; + + fF1V = F1V; + fF2V = F2V; + fF3V = F3V; + fFA = FA; + fFP = FP; + fF3A = F3A; +} + +std::complex genie::FreeNucleonTensor::operator()( + genie::TensorIndex_t mu, genie::TensorIndex_t nu) const +{ + double q2 = fqTilde.M2(); + double M2 = std::pow(fNucleonMass, 2); + double g_mu_nu = Metric(mu,nu); + std::complex imaginary_i(0., 1.); + + double p_mu = fPNiOnShell[mu]; + double p_nu = fPNiOnShell[nu]; + double q_mu = fqTilde[mu]; + double q_nu = fqTilde[nu]; + + std::complex result(0., 0.); + + // F1V squared term + result += std::pow(fF1V, 2) * (p_mu*q_nu + q_mu*p_nu + 2.*p_mu*p_nu + + 0.5*q2*g_mu_nu); + + // F2V squared term + result -= std::pow(fF2V, 2) * ( -0.5*q2*g_mu_nu + + 0.5*(1. + 0.25*q2/M2)*q_mu*q_nu + + (0.25*q2/M2)*(p_mu*q_nu + q_mu*p_nu + 2.*p_mu*p_nu) ); + + // FA squared term + result += std::pow(fFA, 2) * ( 2*M2*g_mu_nu * (0.25*q2/M2 - 1.) + + q_mu*p_nu + p_mu*q_nu + 2*p_mu*p_nu ); + + // FP squared term + result -= std::pow(fFP, 2) * 0.5*q2*q_mu*q_nu / M2; + + // F3V squared term + result += 2. * std::pow(fF3V, 2) * (1. - 0.25*q2/M2) * q_mu + * q_nu; + + // F3A squared term + result -= std::pow(fF3A, 2) * 0.5*q2/M2 * (2.*p_mu + q_mu) + * (2.*p_nu + q_nu); + + // F1V * F2V term + result += fF1V * fF2V * (q2 * g_mu_nu - q_mu * q_nu); + + // (F1V + F2V) * FA term + result -= 2.*imaginary_i * (fF1V + fF2V) * fFA + * this->LeviCivitaProduct(mu, nu, fPNiOnShell, fqTilde); + + // FA * FP term + result -= 2. * fFA * fFP * q_mu * q_nu; + + // Remaining terms (involving second-class currents) + result += (0.5*q2*fF2V*fF3V/M2 - q2*fF3A*fFP/M2 - 2.*fF3A*fFA + + 2.*fF1V*fF3V) * (p_mu*q_nu + q_mu*p_nu + q_mu*q_nu); + + // ** Overall factor ** + // Note that the expression I used to write this code (equation (A1) in the appendix of + // https://arxiv.org/pdf/1506.02355.pdf) is off by a factor of two from the definition of J^{\mu\nu} + // (see equation equation 9 therein) given earlier in the paper. We're using FreeNucleonTensor = J^{\mu\nu} + // as defined in equation 9, so the overall factor that should be used is 2, not 4. You can verify this + // yourself, e.g., try computing the Fp^2 term from the Dirac traces. + result *= 2.; + + return result; +} diff --git a/src/Physics/QuasiElastic/XSection/FreeNucleonTensor.h b/src/Physics/QuasiElastic/XSection/FreeNucleonTensor.h new file mode 100644 index 000000000..4c96ecaab --- /dev/null +++ b/src/Physics/QuasiElastic/XSection/FreeNucleonTensor.h @@ -0,0 +1,73 @@ +//____________________________________________________________________________ +/*! + +\class genie::FreeNucleonTensor + +\brief Computes the elements of the free nucleon tensor \f$A^{\mu\nu}\f$ + +\author Steven Gardiner + Fermi National Accelerator Laboratory + +\created January 17, 2019 + +\cpright Copyright (c) 2003-2019, The GENIE Collaboration + For the full text of the license visit http://copyright.genie-mc.org + or see $GENIE/LICENSE +*/ +//____________________________________________________________________________ + +#ifndef FREE_NUCLEON_TENSOR_H +#define FREE_NUCLEON_TENSOR_H + +// GENIE includes +#include "Framework/Interaction/Interaction.h" +#include "Framework/Interaction/InteractionType.h" +#include "Physics/QuasiElastic/XSection/QELFormFactors.h" +#include "Physics/QuasiElastic/XSection/Rank2LorentzTensorI.h" + +namespace genie { + +class FreeNucleonTensor : public Rank2LorentzTensorI { + +public: + + /// Constructor for typical uses + FreeNucleonTensor(const genie::Interaction& interaction, + const genie::QELFormFactors& ff); + + /// Constructor to facilitate testing + FreeNucleonTensor(const TLorentzVector& pNi, const TLorentzVector& q, + double F1V, double F2V, double F3V, double FA, double FP, double F3A, + InteractionType_t type, int hit_nuc_pdg); + + inline virtual ~FreeNucleonTensor() {} + + /// Retrieves a tensor element corresponding to the given indices + virtual std::complex operator()(TensorIndex_t mu, TensorIndex_t nu) + const /*override*/; + +protected: + + TLorentzVector fPNiOnShell; ///< Initial nucleon 4-momentum (forced on-shell) + + /// Momentum transfer 4-vector (corrected for binding energy effects + /// according to the de Forest prescription) + TLorentzVector fqTilde; + + double fNucleonMass; ///< Nucleon mass to use when computing tensor elements + + /// \name Form factors + // TODO: reference conventions! + /// @{ + double fF1V; + double fF2V; + double fF3V; + double fFA; + double fFP; + double fF3A; + /// @} + +}; // class FreeNucleonTensor + +} // genie namespace +#endif diff --git a/src/Physics/QuasiElastic/XSection/LeptonTensor.cxx b/src/Physics/QuasiElastic/XSection/LeptonTensor.cxx new file mode 100644 index 000000000..0dce6768a --- /dev/null +++ b/src/Physics/QuasiElastic/XSection/LeptonTensor.cxx @@ -0,0 +1,76 @@ +#include "Framework/Conventions/RefFrame.h" +#include "Framework/ParticleData/PDGLibrary.h" +#include "Framework/ParticleData/PDGUtils.h" +#include "Framework/Messenger/Messenger.h" +#include "Physics/QuasiElastic/XSection/FreeNucleonTensor.h" +#include "Physics/QuasiElastic/XSection/LeptonTensor.h" + +genie::LeptonTensor::LeptonTensor(const genie::Interaction& interaction) +{ + // Make copies of the initial and final lepton 4-momenta in the lab frame + TLorentzVector* temp_probeP4 = interaction.InitState() + .GetProbeP4( genie::kRfLab ); + fProbeP4 = *temp_probeP4; + delete temp_probeP4; + + fFSLepP4 = interaction.Kine().FSLeptonP4(); + + fInitialLeptonPDG = interaction.InitState().ProbePdg(); + fInteractionType = interaction.ProcInfo().InteractionTypeId(); + + // Initial lepton mass (needed for EM channel) + fMLep2 = std::pow(interaction.InitState().Probe()->Mass(), 2); +} + +genie::LeptonTensor::LeptonTensor(const TLorentzVector& p4Probe, + const TLorentzVector& p4Lep, int probe_pdg, InteractionType_t type) +{ + fProbeP4 = p4Probe; + fFSLepP4 = p4Lep; + + fInitialLeptonPDG = probe_pdg; + fInteractionType = type; + + genie::PDGLibrary* pdg_lib = genie::PDGLibrary::Instance(); + double probe_mass = pdg_lib->Find( probe_pdg )->Mass(); + fMLep2 = std::pow( probe_mass, 2 ); +} + +std::complex genie::LeptonTensor::operator()(genie::TensorIndex_t mu, + genie::TensorIndex_t nu) const +{ + double g_mu_nu = Metric(mu, nu); + double common_terms = fProbeP4[mu]*fFSLepP4[nu] + fProbeP4[nu]*fFSLepP4[mu] + - g_mu_nu*(fProbeP4 * fFSLepP4); + + std::complex result = 0.; + if ( fInteractionType == genie::kIntEM ) { + result = 2. * (fMLep2*g_mu_nu + common_terms); + } + else if ( fInteractionType == genie::kIntWeakCC + || fInteractionType == genie::kIntWeakNC ) + { + double sign = 1.; + if ( genie::pdg::IsAntiNeutrino(fInitialLeptonPDG) ) sign = -1.; + else if ( ! genie::pdg::IsNeutrino(fInitialLeptonPDG) ) { + LOG("LeptonTensor", pFATAL) << "Invalid probe PDG code " + << fInitialLeptonPDG << " encountered for a weak interaction"; + std::exit(1); + } + result = 8. * ( common_terms + sign*LeviCivitaProduct(mu, nu) ); + } + else { + LOG("LeptonTensor", pFATAL) << "Invalid interaction type " + << fInteractionType << " encountered by genie::LeptonTensor"; + std::exit(1); + } + + return result; +} + +std::complex genie::LeptonTensor::LeviCivitaProduct( + genie::TensorIndex_t mu, genie::TensorIndex_t nu) const +{ + return std::complex( 0., + Rank2LorentzTensorI::LeviCivitaProduct(mu, nu, fProbeP4, fFSLepP4) ); +} diff --git a/src/Physics/QuasiElastic/XSection/LeptonTensor.h b/src/Physics/QuasiElastic/XSection/LeptonTensor.h new file mode 100644 index 000000000..9a2b39d9c --- /dev/null +++ b/src/Physics/QuasiElastic/XSection/LeptonTensor.h @@ -0,0 +1,63 @@ +//____________________________________________________________________________ +/*! + +\class genie::LeptonTensor + +\brief Computes the elements of the lepton tensor \f$L_{\mu\nu}\f$ + +\author Steven Gardiner + Fermi National Accelerator Laboratory + +\created January 17, 2019 + +\cpright Copyright (c) 2003-2019, The GENIE Collaboration + For the full text of the license visit http://copyright.genie-mc.org + or see $GENIE/LICENSE +*/ +//____________________________________________________________________________ + +#ifndef LEPTON_TENSOR_H +#define LEPTON_TENSOR_H + +// GENIE includes +#include "Physics/QuasiElastic/XSection/Rank2LorentzTensorI.h" +#include "Framework/Interaction/Interaction.h" +#include "Framework/Interaction/InteractionType.h" + +namespace genie { + +class LeptonTensor : public Rank2LorentzTensorI { + +public: + + /// Constructor for typical uses + LeptonTensor(const genie::Interaction& interaction); + + /// Constructor to facilitate testing + LeptonTensor(const TLorentzVector& p4Probe, const TLorentzVector& p4Lep, + int probe_pdg, InteractionType_t type); + + inline virtual ~LeptonTensor() {} + + inline const TLorentzVector& GetProbeP4() const { return fProbeP4; } + inline const TLorentzVector& GetFSLeptonP4() const { return fFSLepP4; } + + virtual std::complex operator()(genie::TensorIndex_t mu, + genie::TensorIndex_t nu) const /*override*/; + +protected: + + std::complex LeviCivitaProduct(genie::TensorIndex_t mu, + genie::TensorIndex_t nu) const; + + TLorentzVector fProbeP4; ///< Initial lepton 4-momentum + TLorentzVector fFSLepP4; ///< Final lepton 4-momentum + int fInitialLeptonPDG; ///< PDG code for the initial lepton + /// Kind of interaction represented by this tensor (EM, CC, NC, etc.) + genie::InteractionType_t fInteractionType; + double fMLep2; ///< Square of the initial lepton mass + +}; // class LeptonTensor + +} // genie namespace +#endif diff --git a/src/Physics/QuasiElastic/XSection/LinkDef.h b/src/Physics/QuasiElastic/XSection/LinkDef.h index 05ffb8045..9a31794b6 100644 --- a/src/Physics/QuasiElastic/XSection/LinkDef.h +++ b/src/Physics/QuasiElastic/XSection/LinkDef.h @@ -21,6 +21,7 @@ #pragma link C++ class genie::LwlynSmithQELCCPXSec; #pragma link C++ class genie::LwlynSmithFFCC; #pragma link C++ class genie::LwlynSmithFFNC; +#pragma link C++ class genie::LwlynSmithFFEM; #pragma link C++ class genie::LwlynSmithFF; #pragma link C++ class genie::LwlynSmithFFDeltaS; #pragma link C++ class genie::AxialFormFactorModelI; @@ -40,6 +41,13 @@ #pragma link C++ class genie::QELXSec; #pragma link C++ class genie::NewQELXSec; +#pragma link C++ class genie::Rank2LorentzTensorI; +#pragma link C++ class genie::LeptonTensor; +#pragma link C++ class genie::FreeNucleonTensor; +#pragma link C++ class genie::UnifiedQELPXSec; + +#pragma link C++ class genie::NCELStrangeFormFactorsModelI; +#pragma link C++ class genie::AhrensNCELStrangeFF; // Wrappers for GSL/MathMore lib #pragma link C++ class genie::utils::gsl::d2Xsec_dQ2dv; diff --git a/src/Physics/QuasiElastic/XSection/LwlynSmithFFEM.cxx b/src/Physics/QuasiElastic/XSection/LwlynSmithFFEM.cxx new file mode 100644 index 000000000..299fe40ad --- /dev/null +++ b/src/Physics/QuasiElastic/XSection/LwlynSmithFFEM.cxx @@ -0,0 +1,54 @@ +//____________________________________________________________________________ +/* + Copyright (c) 2003-2019, The GENIE Collaboration + For the full text of the license visit http://copyright.genie-mc.org + or see $GENIE/LICENSE + + Author: Steven Gardiner + Fermi National Accelerator Laboratory + + For the class documentation see the corresponding header file. + + Important revisions after version 2.0.0 : +*/ +//____________________________________________________________________________ + +#include "Framework/Conventions/Constants.h" +#include "Framework/Messenger/Messenger.h" +#include "Framework/ParticleData/PDGUtils.h" +#include "Physics/QuasiElastic/XSection/LwlynSmithFFEM.h" + +using namespace genie; +using namespace genie::constants; + +//____________________________________________________________________________ +LwlynSmithFFEM::LwlynSmithFFEM() : +LwlynSmithFF("genie::LwlynSmithFFEM") +{ + +} +//____________________________________________________________________________ +LwlynSmithFFEM::LwlynSmithFFEM(string config) : +LwlynSmithFF("genie::LwlynSmithFFEM", config) +{ + +} +//____________________________________________________________________________ +LwlynSmithFFEM::~LwlynSmithFFEM() +{ + +} +//____________________________________________________________________________ +double LwlynSmithFFEM::F1V(const Interaction* interaction) const +{ + int hit_nuc_pdg = interaction->InitState().Tgt().HitNucPdg(); + if ( pdg::IsProton(hit_nuc_pdg) ) return LwlynSmithFF::F1P(interaction); + else return LwlynSmithFF::F1N(interaction); +} +//____________________________________________________________________________ +double LwlynSmithFFEM::xiF2V(const Interaction* interaction) const +{ + int hit_nuc_pdg = interaction->InitState().Tgt().HitNucPdg(); + if ( pdg::IsProton(hit_nuc_pdg) ) return LwlynSmithFF::F2P(interaction); + else return LwlynSmithFF::F2N(interaction); +} diff --git a/src/Physics/QuasiElastic/XSection/LwlynSmithFFEM.h b/src/Physics/QuasiElastic/XSection/LwlynSmithFFEM.h new file mode 100644 index 000000000..4e89f6e95 --- /dev/null +++ b/src/Physics/QuasiElastic/XSection/LwlynSmithFFEM.h @@ -0,0 +1,51 @@ +//____________________________________________________________________________ +/*! + +\class genie::LwlynSmithFFEM + +\brief Is a concrete implementation of the QELFormFactorsModelI: + Form Factors for Quasi Elastic EM eN scattering according to + Llewellyn-Smith model. + +\author Steven Gardiner + Fermi National Accelerator Laboratory + +\created March 25, 2019 + +\cpright Copyright (c) 2003-2019, The GENIE Collaboration + For the full text of the license visit http://copyright.genie-mc.org + or see $GENIE/LICENSE +*/ +//____________________________________________________________________________ + +#ifndef _LLEWELLYN_SMITH_EM_FORM_FACTOR_MODEL_H_ +#define _LLEWELLYN_SMITH_EM_FORM_FACTOR_MODEL_H_ + +#include "Physics/QuasiElastic/XSection/LwlynSmithFF.h" + +namespace genie { + +class LwlynSmithFFEM : public LwlynSmithFF { + +public: + LwlynSmithFFEM(); + LwlynSmithFFEM(string config); + virtual ~LwlynSmithFFEM(); + + // QELFormFactorModelI interface implementation + virtual double F1V (const Interaction * interaction) const /*override*/; + virtual double xiF2V (const Interaction * interaction) const /*override*/; + //virtual double F3V (const Interaction * interaction) const /*override*/; + + inline double FA(const Interaction* /*interaction*/) const /*override*/ + { return 0.; } + inline double Fp(const Interaction* /*interaction*/) const /*override*/ + { return 0.; } + //inline double F3A(const Interaction * interaction) const /*override*/ + //{ return 0.; } +}; + +} // genie namespace + +#endif + diff --git a/src/Physics/QuasiElastic/XSection/LwlynSmithFFNC.cxx b/src/Physics/QuasiElastic/XSection/LwlynSmithFFNC.cxx index 04f406cfa..e325b58f8 100644 --- a/src/Physics/QuasiElastic/XSection/LwlynSmithFFNC.cxx +++ b/src/Physics/QuasiElastic/XSection/LwlynSmithFFNC.cxx @@ -5,12 +5,16 @@ Costas Andreopoulos University of Liverpool & STFC Rutherford Appleton Laboratory + + Steven Gardiner + Fermi National Accelerator Laboratory */ //____________________________________________________________________________ -#include +#include "TMath.h" #include "Framework/Conventions/Constants.h" +#include "Framework/ParticleData/PDGUtils.h" #include "Physics/QuasiElastic/XSection/ELFormFactors.h" #include "Physics/QuasiElastic/XSection/ELFormFactorsModelI.h" #include "Physics/QuasiElastic/XSection/LwlynSmithFFNC.h" @@ -18,6 +22,19 @@ using namespace genie; using namespace genie::constants; +namespace { + + // Helper function that sets a sign based on the isospin of the hit nucleon. + // This function chooses + (-) for proton (neutron). + int nucleon_sign( const Interaction* interaction ) { + int sign = 1; + int hit_nuc_pdg = interaction->InitState().Tgt().HitNucPdg(); + if ( pdg::IsNeutron(hit_nuc_pdg) ) sign = -1; + return sign; + } + +} + //____________________________________________________________________________ LwlynSmithFFNC::LwlynSmithFFNC() : LwlynSmithFF("genie::LwlynSmithFFNC") @@ -36,62 +53,85 @@ LwlynSmithFFNC::~LwlynSmithFFNC() } //____________________________________________________________________________ -double LwlynSmithFFNC::F1V(const Interaction * interaction) const +void LwlynSmithFFNC::LoadConfig(void) +{ + // First configure the class members inherited from LwlynSmithFF normally + LwlynSmithFF::LoadConfig(); + + // Then configure the NC strange form factors model + fStrangeNCFFModel = dynamic_cast< const NCELStrangeFormFactorsModelI* >( + this->SubAlg("StrangeFormFactorsModel") ); + assert( fStrangeNCFFModel ); +} +//____________________________________________________________________________ +double LwlynSmithFFNC::F1V(const Interaction* interaction) const { - //-- calculate F1V-CC - double F1V_CC = LwlynSmithFF::F1V(interaction); + int sign = nucleon_sign( interaction ); - //-- calculate F1p (see hep-ph/0107261) - fELFF.Calculate(interaction); - double t = LwlynSmithFF::tau(interaction); - double F1p = fELFF.Gep() - t * fELFF.Gmp(); + // Calculate F1V-CC + double F1V_CC = LwlynSmithFF::F1V( interaction ); - //-- calculate F1V-NC - double F1V_NC = 0.5*F1V_CC - 2*fSin28w*F1p; + // Calculate F2V-EM + int hit_nuc_pdg = interaction->InitState().Tgt().HitNucPdg(); + double F1V_EM = 0.; + if ( pdg::IsNeutron(hit_nuc_pdg) ) F1V_EM = this->F1N( interaction ); + else F1V_EM = this->F1P( interaction ); + + // Calculate the strange NC form factor + double F1Vs = fStrangeNCFFModel->F1Vs( interaction ); + + double F1V_NC = sign*0.5*F1V_CC - 2.*fSin28w*F1V_EM - 0.5*F1Vs; return F1V_NC; } //____________________________________________________________________________ -double LwlynSmithFFNC::xiF2V(const Interaction * interaction) const +double LwlynSmithFFNC::xiF2V(const Interaction* interaction) const { - //-- calculate xiF2V_CC - double xiF2V_CC = LwlynSmithFF::xiF2V(interaction); + int sign = nucleon_sign( interaction ); + + // Calculate F2V_CC + double F2V_CC = LwlynSmithFF::xiF2V( interaction ); - //-- calculate F2p (see hep-ph/0107261) - fELFF.Calculate(interaction); - double F2p = (fELFF.Gmp() - fELFF.Gep()) / fMuP; + // Calculate F2V_EM + int hit_nuc_pdg = interaction->InitState().Tgt().HitNucPdg(); + double F2V_EM = 0.; + if ( pdg::IsNeutron(hit_nuc_pdg) ) F2V_EM = this->F2N( interaction ); + else F2V_EM = this->F2P( interaction ); - //-- calculate xiF2-NC - double xiF2V_NC = 0.5*xiF2V_CC - 2*fSin28w*(fMuP-1)*F2p; - return xiF2V_NC; + // Calculate the strange NC form factor + double F2Vs = fStrangeNCFFModel->F2Vs( interaction ); + + // Calculate F2V-NC + double F2V_NC = sign*0.5*F2V_CC - 2.*fSin28w*F2V_EM - 0.5*F2Vs; + return F2V_NC; } //____________________________________________________________________________ -double LwlynSmithFFNC::FA(const Interaction * interaction) const +double LwlynSmithFFNC::FA(const Interaction* interaction) const { - //-- calculate FA_CC(q2) - double FA_CC = LwlynSmithFF::FA(interaction); + int sign = nucleon_sign( interaction ); + + // Calculate FA_CC + double FA_CC = LwlynSmithFF::FA( interaction ); - //-- calculate & return FA_NC(q2) - double FA_NC = 0.5 * FA_CC; + // Calculate the strange NC form factor + double FAs = fStrangeNCFFModel->FAs( interaction ); + + // Calculate FA_NC + double FA_NC = sign*0.5*FA_CC - 0.5*FAs; return FA_NC; } //____________________________________________________________________________ double LwlynSmithFFNC::Fp(const Interaction * interaction) const { - //-- get the momentum transfer - const Kinematics & kine = interaction->Kine(); - double q2 = kine.q2(); - - //-- get struck nucleon mass & pion pass - const InitialState & init_state = interaction->InitState(); - double MN = init_state.Tgt().HitNucMass(); - double MN2 = TMath::Power(MN, 2); - double Mpi2 = TMath::Power(kPionMass, 2); - - //-- calculate FA - double fa = this->FA(interaction); - - //-- calculate and return Fp - double Fp_NC = 2*MN2*fa/(Mpi2-q2); - return Fp_NC; + int sign = nucleon_sign( interaction ); + + // Calculate FP_CC + double FP_CC = LwlynSmithFF::Fp( interaction ); + + // Calculate the strange NC form factor + double FPs = fStrangeNCFFModel->FPs( interaction ); + + // Calculate FP_NC + double FP_NC = sign*0.5*FP_CC - 0.5*FPs; + return FP_NC; } //____________________________________________________________________________ diff --git a/src/Physics/QuasiElastic/XSection/LwlynSmithFFNC.h b/src/Physics/QuasiElastic/XSection/LwlynSmithFFNC.h index 44a5e5c75..50b73a3e2 100644 --- a/src/Physics/QuasiElastic/XSection/LwlynSmithFFNC.h +++ b/src/Physics/QuasiElastic/XSection/LwlynSmithFFNC.h @@ -4,18 +4,18 @@ \class genie::LwlynSmithFFNC \brief Concrete implementation of the QELFormFactorsModelI : - Form Factors for Quasi Elastic NC vN scattering according to - Llewellyn-Smith model. - -\ref E.A.Paschos and J.Y.Yu, hep-ph/0107261 + Form Factors for Quasi Elastic NC vN scattering \author Costas Andreopoulos University of Liverpool & STFC Rutherford Appleton Laboratory + Steven Gardiner + Fermi National Accelerator Laboratory + \created May 03, 2004 \cpright Copyright (c) 2003-2020, The GENIE Collaboration - For the full text of the license visit http://copyright.genie-mc.org + For the full text of the license visit http://copyright.genie-mc.org */ //____________________________________________________________________________ @@ -23,6 +23,7 @@ #define _LLEWELLYN_SMITH_NC_FORM_FACTOR_MODEL_H_ #include "Physics/QuasiElastic/XSection/LwlynSmithFF.h" +#include "Physics/QuasiElastic/XSection/NCELStrangeFormFactorsModelI.h" namespace genie { @@ -38,6 +39,14 @@ class LwlynSmithFFNC : public LwlynSmithFF { double xiF2V (const Interaction * interaction) const; double FA (const Interaction * interaction) const; double Fp (const Interaction * interaction) const; + +protected: + + // Override LwlynSmithFF::LoadConfig() to also configure the + // strange NC form factors model + virtual void LoadConfig (void); + + const NCELStrangeFormFactorsModelI* fStrangeNCFFModel; }; } // genie namespace diff --git a/src/Physics/QuasiElastic/XSection/NCELStrangeFormFactorsModelI.cxx b/src/Physics/QuasiElastic/XSection/NCELStrangeFormFactorsModelI.cxx new file mode 100644 index 000000000..778458404 --- /dev/null +++ b/src/Physics/QuasiElastic/XSection/NCELStrangeFormFactorsModelI.cxx @@ -0,0 +1,37 @@ +//____________________________________________________________________________ +/* + Copyright (c) 2003-2020, The GENIE Collaboration + For the full text of the license visit http://copyright.genie-mc.org + + Steven Gardiner + Fermi National Accelerator Laboratory +*/ +//____________________________________________________________________________ + +#include "Physics/QuasiElastic/XSection/NCELStrangeFormFactorsModelI.h" + +using namespace genie; + +//____________________________________________________________________________ +NCELStrangeFormFactorsModelI::NCELStrangeFormFactorsModelI() : Algorithm() +{ + +} +//____________________________________________________________________________ +NCELStrangeFormFactorsModelI::NCELStrangeFormFactorsModelI(std::string name) + : Algorithm(name) +{ + +} +//____________________________________________________________________________ +NCELStrangeFormFactorsModelI::NCELStrangeFormFactorsModelI(std::string name, + std::string config) : Algorithm(name, config) +{ + +} +//____________________________________________________________________________ +NCELStrangeFormFactorsModelI::~NCELStrangeFormFactorsModelI() +{ + +} +//____________________________________________________________________________ diff --git a/src/Physics/QuasiElastic/XSection/NCELStrangeFormFactorsModelI.h b/src/Physics/QuasiElastic/XSection/NCELStrangeFormFactorsModelI.h new file mode 100644 index 000000000..bd71e2c1a --- /dev/null +++ b/src/Physics/QuasiElastic/XSection/NCELStrangeFormFactorsModelI.h @@ -0,0 +1,63 @@ +//____________________________________________________________________________ +/*! + +\class genie::NCELStrangeFormFactorsModelI + +\brief Pure abstract base class. Defines the NCELStrangeFormFactorsModelI + interface to be implemented by any algorithmic class computing + strange form factors for neutral current elastic scattering + +\author Steven Gardiner + Fermi National Accelerator Laboratory + +\created Feb 23, 2020 + +\cpright Copyright (c) 2003-2020, The GENIE Collaboration + For the full text of the license visit http://copyright.genie-mc.org +*/ +//____________________________________________________________________________ + +#ifndef _NCEL_STRANGE_FORM_FACTORS_MODEL_I_H_ +#define _NCEL_STRANGE_FORM_FACTORS_MODEL_I_H_ + +#include "Framework/Algorithm/Algorithm.h" +#include "Framework/Interaction/Interaction.h" + +namespace genie { + +class NCELStrangeFormFactorsModelI : public Algorithm { + +public: + virtual ~NCELStrangeFormFactorsModelI(); + + //! Compute the strange form factor F1Vs for the input interaction + virtual double F1Vs(const Interaction* interaction) const = 0; + + //! Compute the strange form factor F2Vs for the input interaction + virtual double F2Vs(const Interaction* interaction) const = 0; + + //! Compute the strange form factor FAs for the input interaction + virtual double FAs(const Interaction* interaction) const = 0; + + //! Compute the strange form factor FPs for the input interaction + virtual double FPs(const Interaction* interaction) const = 0; + + //! \name Second-class currents + //! @{ + //! Compute the strange form factor F3Vs for the input interaction + inline virtual double F3Vs(const Interaction* /*interaction*/) + const { return 0.; } + + //! Compute the strange form factor F3As for the input interaction + inline virtual double F3As(const Interaction* /*interaction*/) + const { return 0.; } + //! @} + +protected: + NCELStrangeFormFactorsModelI(); + NCELStrangeFormFactorsModelI( std::string name ); + NCELStrangeFormFactorsModelI( std::string name, std::string config ); +}; + +} // genie namespace +#endif // _NCEL_STRANGE_FORM_FACTORS_MODEL_I_H_ diff --git a/src/Physics/QuasiElastic/XSection/NewQELXSec.cxx b/src/Physics/QuasiElastic/XSection/NewQELXSec.cxx index 491cb7129..6347c7b00 100644 --- a/src/Physics/QuasiElastic/XSection/NewQELXSec.cxx +++ b/src/Physics/QuasiElastic/XSection/NewQELXSec.cxx @@ -75,7 +75,7 @@ double NewQELXSec::Integrate(const XSecAlgorithmI* model, const Interaction* in) } utils::gsl::FullQELdXSec* func = new utils::gsl::FullQELdXSec(model, - interaction, bind_mode, fMinAngleEM); + interaction, bind_mode); ROOT::Math::IntegrationMultiDim::Type ig_type = utils::gsl::IntegrationNDimTypeFromString( fGSLIntgType ); @@ -187,17 +187,12 @@ void NewQELXSec::LoadConfig(void) fVertexGenID = AlgId( vertexGenID ); GetParamDef( "NumNucleonThrows", fNumNucleonThrows, 5000 ); - - // TODO: This is a parameter that may also be specified in the XML - // configuration for QELEventGenerator. Avoid duplication here to ensure - // consistency. - GetParamDef( "SF-MinAngleEMscattering", fMinAngleEM, 0. ) ; } genie::utils::gsl::FullQELdXSec::FullQELdXSec(const XSecAlgorithmI* xsec_model, - const Interaction* interaction, QELEvGen_BindingMode_t binding_mode, double min_angle_EM) + const Interaction* interaction, QELEvGen_BindingMode_t binding_mode) : fXSecModel( xsec_model ), fInteraction( new Interaction(*interaction) ), - fHitNucleonBindingMode( binding_mode ), fMinAngleEM( min_angle_EM ) + fHitNucleonBindingMode( binding_mode ) { fNuclModel = dynamic_cast( fXSecModel->SubAlg("IntegralNuclearModel") ); assert( fNuclModel ); @@ -220,7 +215,7 @@ const Interaction& genie::utils::gsl::FullQELdXSec::GetInteraction() const ROOT::Math::IBaseFunctionMultiDim* genie::utils::gsl::FullQELdXSec::Clone(void) const { - return new FullQELdXSec(fXSecModel, fInteraction, fHitNucleonBindingMode, fMinAngleEM); + return new FullQELdXSec(fXSecModel, fInteraction, fHitNucleonBindingMode); } unsigned int genie::utils::gsl::FullQELdXSec::NDim(void) const @@ -247,7 +242,7 @@ double genie::utils::gsl::FullQELdXSec::DoEval(const double* xin) const // Compute the full differential cross section double xsec = genie::utils::ComputeFullQELPXSec(fInteraction, fNuclModel, - fXSecModel, cos_theta0, phi0, dummy_Eb, fHitNucleonBindingMode, fMinAngleEM, true); + fXSecModel, cos_theta0, phi0, dummy_Eb, fHitNucleonBindingMode, true); return xsec; } diff --git a/src/Physics/QuasiElastic/XSection/NewQELXSec.h b/src/Physics/QuasiElastic/XSection/NewQELXSec.h index 5192d5396..c86637e3b 100644 --- a/src/Physics/QuasiElastic/XSection/NewQELXSec.h +++ b/src/Physics/QuasiElastic/XSection/NewQELXSec.h @@ -38,7 +38,7 @@ namespace utils { { public: FullQELdXSec(const XSecAlgorithmI* xsec_model, const Interaction* interaction, - QELEvGen_BindingMode_t binding_mode, double min_angle_EM); + QELEvGen_BindingMode_t binding_mode); virtual ~FullQELdXSec(); // ROOT::Math::IBaseFunctionMultiDim interface @@ -54,7 +54,6 @@ namespace utils { const NuclearModelI* fNuclModel; Interaction* fInteraction; QELEvGen_BindingMode_t fHitNucleonBindingMode; - double fMinAngleEM; }; } // gsl namespace @@ -89,7 +88,6 @@ class NewQELXSec : public XSecIntegratorI { unsigned int fGSLMaxEval; AlgId fVertexGenID; int fNumNucleonThrows; - double fMinAngleEM; }; diff --git a/src/Physics/QuasiElastic/XSection/QELFormFactors.h b/src/Physics/QuasiElastic/XSection/QELFormFactors.h index cf11f4ed0..2a113c5c0 100644 --- a/src/Physics/QuasiElastic/XSection/QELFormFactors.h +++ b/src/Physics/QuasiElastic/XSection/QELFormFactors.h @@ -61,6 +61,12 @@ class QELFormFactors { //! Get the computed form factor Fp double Fp (void) const { return fFp; } + //! Get the computed form factor F3V + double F3V (void) const { return fF3V; } + + //! Get the computed form factor F3A + double F3A (void) const { return fF3A; } + //! Get the attached model const QELFormFactorsModelI * Model (void) const {return fModel;} @@ -79,6 +85,8 @@ class QELFormFactors { double fxiF2V; double fFA; double fFp; + double fF3V; + double fF3A; const QELFormFactorsModelI * fModel; }; diff --git a/src/Physics/QuasiElastic/XSection/QELFormFactorsModelI.h b/src/Physics/QuasiElastic/XSection/QELFormFactorsModelI.h index a4ba17527..ae6f35ef8 100644 --- a/src/Physics/QuasiElastic/XSection/QELFormFactorsModelI.h +++ b/src/Physics/QuasiElastic/XSection/QELFormFactorsModelI.h @@ -42,6 +42,17 @@ class QELFormFactorsModelI : public Algorithm { //! Compute the form factor Fp for the input interaction virtual double Fp (const Interaction * interaction) const = 0; + //! \name Second-class currents + //! @{ + //! Compute the form factor F3V for the input interaction + inline virtual double F3V(const Interaction* /*interaction*/) + const { return 0.; } + + //! Compute the form factor F3A for the input interaction + inline virtual double F3A(const Interaction* /*interaction*/) + const { return 0.; } + //! @} + protected: QELFormFactorsModelI(); QELFormFactorsModelI(string name); diff --git a/src/Physics/QuasiElastic/XSection/QELUtils.cxx b/src/Physics/QuasiElastic/XSection/QELUtils.cxx index 748a00d43..9234669d0 100644 --- a/src/Physics/QuasiElastic/XSection/QELUtils.cxx +++ b/src/Physics/QuasiElastic/XSection/QELUtils.cxx @@ -93,8 +93,7 @@ double genie::utils::EnergyDeltaFunctionSolutionQEL( double genie::utils::ComputeFullQELPXSec(genie::Interaction* interaction, const genie::NuclearModelI* nucl_model, const genie::XSecAlgorithmI* xsec_model, double cos_theta_0, double phi_0, double& Eb, - genie::QELEvGen_BindingMode_t hitNucleonBindingMode, double min_angle_EM, - bool bind_nucleon) + genie::QELEvGen_BindingMode_t hitNucleonBindingMode, bool bind_nucleon) { // If requested, set the initial hit nucleon 4-momentum to be off-shell // according to the binding mode specified in the function call @@ -103,6 +102,12 @@ double genie::utils::ComputeFullQELPXSec(genie::Interaction* interaction, hitNucleonBindingMode); } + // A very high-momentum bound nucleon (which is far off the mass shell) + // can have a momentum greater than its total energy. This leads to numerical + // issues (NaNs) since the invariant mass of the nucleon becomes imaginary. + // In such cases, just return zero to avoid trouble. + if ( interaction->InitState().Tgt().HitNucP4().M() <= 0. ) return 0.; + // Mass of the outgoing lepton double lepMass = interaction->FSPrimLepton()->Mass(); @@ -166,25 +171,20 @@ double genie::utils::ComputeFullQELPXSec(genie::Interaction* interaction, lepton.Boost(beta); outNucleon.Boost(beta); - // Check if event is at a low angle - if so return 0 and stop wasting time - if (180 * lepton.Theta() / genie::constants::kPi < min_angle_EM && interaction->ProcInfo().IsEM()) { - return 0; - } - TLorentzVector * nuP4 = interaction->InitState().GetProbeP4( genie::kRfLab ); TLorentzVector qP4 = *nuP4 - lepton; delete nuP4; double Q2 = -1 * qP4.Mag2(); - interaction->KinePtr()->SetFSLeptonP4( lepton ); - interaction->KinePtr()->SetHadSystP4( outNucleon ); - interaction->KinePtr()->SetQ2( Q2 ); - // Check the Q2 range. If we're outside of it, don't bother // with the rest of the calculation. Range1D_t Q2lim = interaction->PhaseSpace().Q2Lim(); if (Q2 < Q2lim.min || Q2 > Q2lim.max) return 0.; + interaction->KinePtr()->SetFSLeptonP4( lepton ); + interaction->KinePtr()->SetHadSystP4( outNucleon ); + interaction->KinePtr()->SetQ2( Q2 ); + // Compute the QE cross section for the current kinematics double xsec = xsec_model->XSec(interaction, genie::kPSQELEvGen); @@ -290,12 +290,21 @@ void genie::utils::BindHitNucleon(genie::Interaction& interaction, // model, then it implies a certain value for the final // nucleus mass if ( hitNucleonBindingMode == genie::kUseNuclearModel ) { - Eb = nucl_model.RemovalEnergy(); - // This equation is the definition that we assume - // here for the "removal energy" (Eb) returned by the - // nuclear model. It matches GENIE's convention for - // the Bodek/Ritchie Fermi gas model. - Mf = Mi + Eb - mNi; + if ( nucl_model.ModelType(*tgt) != kNucmSpectralFunc ) { + Eb = nucl_model.RemovalEnergy(); + // For all nuclear models except SpectralFunc, this equation is the + // definition that we assume for the "removal energy" (Eb). It matches + // GENIE's convention for the Bodek/Ritchie Fermi gas model. + Mf = Mi + Eb - mNi; + } + else { + // The SpectralFunc nuclear model returns a removal energy + // which includes the kinetic energy of the final-state nucleus. + // We account for this difference here. + double E = nucl_model.RemovalEnergy(); + Mf = std::sqrt( std::max(0., std::pow(Mi + E - mNi, 2) - p3Ni.Mag2()) ); + Eb = Mf + mNi - Mi; + } } // We can also assume that the final nucleus is in its // ground state. In this case, we can just look up its @@ -336,3 +345,134 @@ void genie::utils::BindHitNucleon(genie::Interaction& interaction, p4Ni->SetE( ENi ); } + +// Assumes that the probe 4-momentum and struck nucleon PDG code are already +// set in the input interaction. +// TODO: adjust to avoid assuming that the probe is traveling along the +z +// direction +double genie::utils::ComputeTestQELPXSec(genie::Interaction* interaction, + const genie::XSecAlgorithmI* xsec_model, double omega, double ctl, + double phiLep, double phiNi, double pNi, double Eremove) +{ + // Get the probe 4-momentum + TLorentzVector* tempProbeP4 = interaction->InitState().GetProbeP4( + genie::kRfLab ); + TLorentzVector nuP4 = *tempProbeP4; + delete tempProbeP4; + + // Prepare the outgoing lepton 4-momentum + double ml = interaction->FSPrimLepton()->Mass(); + + double Ev = nuP4.E(); + double El = Ev - omega; + double pl = std::sqrt( std::max(0., El*El - ml*ml) ); + if ( El < ml ) return 0.; + + double stl = std::sqrt( std::max(0., 1. - ctl*ctl) ); + TLorentzVector lP4( std::cos(phiLep)*stl*pl, + std::sin(phiLep)*stl*pl, ctl*pl, El ); + + // Get the 4-momentum transfer + TLorentzVector qP4 = nuP4 - lP4; + + // Get the cosine between the initial nucleon 3-momentum and the 3-momentum + // transfer + + // On-shell mass of initial struck nucleon + double mNi = interaction->InitState().Tgt().HitNucMass(); + // Off-shell total energy of initial struck nucleon + double ENi = mNi - Eremove; + + // Look up the (on-shell) mass of the final nucleon + double mNf = interaction->RecoilNucleon()->Mass(); + // Final nucleon total energy + double ENf = ENi + omega; + if ( ENf < mNf ) return 0.; + + // Final nucleon 3-momentum + double pNf = std::sqrt( std::max(0., ENf*ENf - mNf*mNf) ); + + // 3-momentum transfer + double qMag = qP4.Vect().Mag(); + + double pCos = ( pNf*pNf - pNi*pNi - qMag*qMag ) / ( 2.*pNi*qMag ); + if ( std::abs(pCos) > 1. ) return 0.; + + double pSin = std::sqrt( std::max(0., 1. - pCos*pCos) ); + + // Set up the initial struck nucleon 3-momentum in a frame where the + // 3-momentum transfer points along +z + TVector3 p3Ni( std::cos(phiNi)*pSin*pNi, std::sin(phiNi)*pSin*pNi, + pCos*pNi ); + + // Find the rotation angle needed to put the 3-momentum transfer along z + TVector3 zvec(0.0, 0.0, 1.0); + TVector3 q3Vec = qP4.Vect(); + TVector3 rot = ( q3Vec.Cross(zvec) ).Unit(); // Vector to rotate about + // Angle between the z direction and q + double angle = zvec.Angle( q3Vec ); + + // Handle the edge case where q3Vec is along -z, so the + // cross product above vanishes + if ( q3Vec.Perp() == 0. && q3Vec.Z() < 0. ) { + rot = TVector3(0., 1., 0.); + angle = genie::constants::kPi; + } + + // We want to rotate z to q3Vec instead of q3Vec to z, so + // make the rotation angle negative to account for this. + angle *= -1.; + + // Rotate if the rotation vector is not approximately zero + if ( rot.Mag() >= genie::controls::kASmallNum ) { + p3Ni.Rotate( angle, rot ); + } + + // Build the initial struck nucleon 4-momentum + TLorentzVector p4Ni( p3Ni, ENi ); + + // Use it and the 4-momentum transfer to get the final nucleon 4-momentum + TLorentzVector p4Nf = p4Ni + qP4; + + // Set the needed 4-momenta in the input interaction + interaction->InitState().TgtPtr()->SetHitNucP4( p4Ni ); + interaction->KinePtr()->SetFSLeptonP4( lP4 ); + interaction->KinePtr()->SetHadSystP4( p4Nf ); + + // A very high-momentum bound nucleon (which is far off the mass shell) + // can have a momentum greater than its total energy. This leads to numerical + // issues (NaNs) since the invariant mass of the nucleon becomes imaginary. + // In such cases, just return zero to avoid trouble. + if ( interaction->InitState().Tgt().HitNucP4().M() <= 0. ) return 0.; + + // Mandelstam s for the probe/hit nucleon system + double s = std::pow( interaction->InitState().CMEnergy(), 2 ); + + // Return a differential cross section of zero if we're below threshold + if ( std::sqrt(s) < ml + mNf ) return 0.; + + // Check that Q^2 is within the allowed range + double Q2 = -1 * qP4.Mag2(); + + // Check the Q2 range. If we're outside of it, don't bother + // with the rest of the calculation. + Range1D_t Q2lim = interaction->PhaseSpace().Q2Lim(); + if ( Q2 < Q2lim.min || Q2 > Q2lim.max ) return 0.; + + // Set Q^2 in the input interaction + interaction->KinePtr()->SetQ2( Q2 ); + + // Compute the QE cross section for the current kinematics + double xsec = xsec_model->XSec(interaction, genie::kPSQELEvGen); + + // Adjust some factors for the testing phase space (which differs from + // kPSQELEvGen) + double delta_sol = EnergyDeltaFunctionSolutionQEL( *interaction ); + + double factor = lP4.E() * lP4.P() * p4Nf.E() * p4Ni.P() + / ( qMag * delta_sol ); + + xsec *= factor; + + return xsec; +} diff --git a/src/Physics/QuasiElastic/XSection/QELUtils.h b/src/Physics/QuasiElastic/XSection/QELUtils.h index 7524ce6a5..bb2844bb7 100644 --- a/src/Physics/QuasiElastic/XSection/QELUtils.h +++ b/src/Physics/QuasiElastic/XSection/QELUtils.h @@ -51,13 +51,16 @@ namespace genie { double ComputeFullQELPXSec(Interaction* interaction, const NuclearModelI* nucl_model, const XSecAlgorithmI* xsec_model, double cos_theta_0, double phi_0, double& Eb, - QELEvGen_BindingMode_t hitNucleonBindingMode, double min_angle_EM = 0., - bool bind_nucleon = true); + QELEvGen_BindingMode_t hitNucleonBindingMode, bool bind_nucleon = true); double CosTheta0Max(const genie::Interaction& interaction); void BindHitNucleon(Interaction& interaction, const NuclearModelI& nucl_model, double& Eb, QELEvGen_BindingMode_t hitNucleonBindingMode); + + double ComputeTestQELPXSec(Interaction* interaction, + const XSecAlgorithmI* xsec_model, double omega, double ctl, + double phiLep, double phiNi, double pNi, double Eremove); } } diff --git a/src/Physics/QuasiElastic/XSection/Rank2LorentzTensorI.cxx b/src/Physics/QuasiElastic/XSection/Rank2LorentzTensorI.cxx new file mode 100644 index 000000000..a8481aad3 --- /dev/null +++ b/src/Physics/QuasiElastic/XSection/Rank2LorentzTensorI.cxx @@ -0,0 +1,64 @@ +#include "Physics/QuasiElastic/XSection/Rank2LorentzTensorI.h" + +std::complex genie::Rank2LorentzTensorI::Contract( + const genie::Rank2LorentzTensorI& other) const +{ + std::complex sum(0., 0.); + for (int m = 0; m < 4; ++m) { + for (int n = 0; n < 4; ++n) { + genie::TensorIndex_t mu = static_cast( m ); + genie::TensorIndex_t nu = static_cast( n ); + sum += this->operator()(mu, nu) * other(mu, nu) * this->Metric(mu, mu) + * this->Metric(nu, nu); + } + } + return sum; +} + +double genie::Rank2LorentzTensorI::LeviCivitaProduct(genie::TensorIndex_t mu, + genie::TensorIndex_t nu, const TLorentzVector& p1, const TLorentzVector& p2) + const +{ + if (mu == nu) return 0.; + + // This should really be a constexpr std::array once GENIE upgrades to C++11 + // TODO: is there a cleaner way to do this? + static const genie::TensorIndex_t indices[] + = { kTIdx_SpaceX, kTIdx_SpaceY, kTIdx_SpaceZ, kTIdx_Time }; + + bool set_alpha = false; + bool set_beta = false; + genie::TensorIndex_t alpha, beta; + for (int k = 0; k < 4; ++k) { + genie::TensorIndex_t index = indices[k]; + if (mu != index && nu != index) { + if ( !set_alpha ) { + alpha = index; + set_alpha = true; + } + else { + beta = index; + set_beta = true; + } + } + } + + if ( !(set_alpha && set_beta) ) { + // TODO: ERROR! + } + + // See http://www.cpluscode.org/p/physics-c.html + // TODO: check that this actually works and that epsilon(0,1,2,3) has the + // right sign! + int i = mu + 1; + int j = nu + 1; + int k = alpha + 1; + int l = beta + 1; + + int levi_civita_sign = (i - j) * (i - k) * (i - l) * (j - k) * (j - l) + * (k - l) / 12; + + double result = levi_civita_sign * (p1[alpha]*p2[beta] - p1[beta]*p2[alpha]); + + return result; +} diff --git a/src/Physics/QuasiElastic/XSection/Rank2LorentzTensorI.h b/src/Physics/QuasiElastic/XSection/Rank2LorentzTensorI.h new file mode 100644 index 000000000..6b70c6011 --- /dev/null +++ b/src/Physics/QuasiElastic/XSection/Rank2LorentzTensorI.h @@ -0,0 +1,126 @@ +//____________________________________________________________________________ +/*! + +\class genie::Rank2LorentzTensor + +\brief Abstract interface for an object that computes the elements of a rank + 2 Lorentz tensor \f$A^{\mu\nu}\f$. + +\author Steven Gardiner + Fermi National Accelerator Laboratory + +\created January 17, 2019 + +\cpright Copyright (c) 2003-2018, The GENIE Collaboration + For the full text of the license visit http://copyright.genie-mc.org + or see $GENIE/LICENSE +*/ +//____________________________________________________________________________ + +#ifndef RANK_2_LORENTZ_TENSORI_H +#define RANK_2_LORENTZ_TENSORI_H + +#include + +#include "TLorentzVector.h" + +namespace genie { + +// Order is chosen to match TLorentzVector convention +typedef enum ELorentzTensorIndices { + kTIdx_SpaceX = 0, + kTIdx_SpaceY = 1, + kTIdx_SpaceZ = 2, + kTIdx_Time = 3, + kTIdx_NumDimensions = 4 +} TensorIndex_t; + +class Rank2LorentzTensorI { + +public: + + inline virtual ~Rank2LorentzTensorI() {} + + /// \name Tensor elements + /// \brief Functions that return the elements of the tensor. + /// @{ + + /// Retrieves a tensor element corresponding to the given indices + virtual std::complex operator()(TensorIndex_t mu, TensorIndex_t nu) + const = 0; + + ///// The tensor element \f$A^{00}\f$ + //virtual std::complex tt() const = 0; + + ///// The tensor element \f$A^{0x}\f$ + //virtual std::complex tx() const = 0; + + ///// The tensor element \f$A^{0y}\f$ + //virtual std::complex ty() const = 0; + + ///// The tensor element \f$A^{0z}\f$ + //virtual std::complex tz() const = 0; + + ///// The tensor element \f$A^{x0} = (A^{0x})^*\f$ + //virtual std::complex xt() const = 0; + + ///// The tensor element \f$A^{xx}\f$ + //virtual std::complex xx() const = 0; + + ///// The tensor element \f$A^{xy}\f$ + //virtual std::complex xy() const = 0; + + ///// The tensor element \f$A^{xz}\f$ + //virtual std::complex xz() const = 0; + + ///// The tensor element \f$A^{y0} = (A^{0y})^*\f$ + //virtual std::complex yt() const = 0; + + ///// The tensor element \f$A^{yx} = (A^{xy})^*\f$ + //virtual std::complex yx() const = 0; + + ///// The tensor element \f$A^{yy}\f$ + //virtual std::complex yy() const = 0; + + ///// The tensor element \f$A^{yz}\f$ + //virtual std::complex yz() const = 0; + + ///// The tensor element \f$A^{z0} = (A^{0z})^*\f$ + //virtual std::complex zt() const = 0; + + ///// The tensor element \f$A^{zx} = (A^{xz})^*\f$ + //virtual std::complex zx() const = 0; + + ///// The tensor element \f$A^{zy} = (A^{yz})^*\f$ + //virtual std::complex zy() const = 0; + + ///// The tensor element \f$A^{zz}\f$ + //virtual std::complex zz() const = 0; + + /// @} + + /// \name Operations + /// @{ + virtual std::complex Contract(const Rank2LorentzTensorI& other) const; + inline std::complex operator*(const Rank2LorentzTensorI& other) const + { + return this->Contract( other ); + } + /// @} + + // Returns the corresponding element of the metric tensor + double Metric(TensorIndex_t mu, TensorIndex_t nu) const { + // TODO: deal with invalid enum values + if (mu != nu) return 0.; + else if (mu == kTIdx_Time) return 1.; + else return -1.; + } + + // TODO: document this + double LeviCivitaProduct(genie::TensorIndex_t mu, genie::TensorIndex_t nu, + const TLorentzVector& p1, const TLorentzVector& p2) const; + +}; // class Rank2LorentzTensorI + +} // genie namespace +#endif diff --git a/src/Physics/QuasiElastic/XSection/RosenbluthPXSec.cxx b/src/Physics/QuasiElastic/XSection/RosenbluthPXSec.cxx index 542a9d643..f23b5e8c1 100644 --- a/src/Physics/QuasiElastic/XSection/RosenbluthPXSec.cxx +++ b/src/Physics/QuasiElastic/XSection/RosenbluthPXSec.cxx @@ -100,8 +100,8 @@ double RosenbluthPXSec::XSec( double xsec = xsec_mott * (Ge2 + (tau/epsilon)*Gm2) / (1+tau); // Convert dsigma/dOmega --> dsigma/dQ2 - // xsec *= (kPi/(Ep*E)); // bug introduced in v3.0.6 - xsec *= (kPi/(Ep2)); // fixed before v3.2 + // See GENIE docDB #214 + xsec *= ( kPi / Ep2 ); // The algorithm computes dxsec/dQ2 // Check whether variable tranformation is needed diff --git a/src/Physics/QuasiElastic/XSection/UnifiedQELPXSec.cxx b/src/Physics/QuasiElastic/XSection/UnifiedQELPXSec.cxx new file mode 100644 index 000000000..9c8a5df38 --- /dev/null +++ b/src/Physics/QuasiElastic/XSection/UnifiedQELPXSec.cxx @@ -0,0 +1,431 @@ +//____________________________________________________________________________ +/* + Copyright (c) 2003-2019, The GENIE Collaboration + For the full text of the license visit http://copyright.genie-mc.org + or see $GENIE/LICENSE + + Author: Steven Gardiner + Fermi National Acclerator Laboratory + + For the class documentation see the corresponding header file. + +*/ +//____________________________________________________________________________ + +#include "TMath.h" +#include "TVector3.h" +#include "TLorentzVector.h" +#include "Math/IFunction.h" +#include "Math/Integrator.h" + +#include "Physics/QuasiElastic/XSection/UnifiedQELPXSec.h" +#include "Physics/XSectionIntegration/XSecIntegratorI.h" +#include "Physics/QuasiElastic/XSection/QELFormFactors.h" +#include "Physics/QuasiElastic/XSection/QELFormFactorsModelI.h" +#include "Physics/QuasiElastic/XSection/QELUtils.h" +#include "Framework/Conventions/Constants.h" +#include "Framework/Conventions/RefFrame.h" +#include "Framework/Conventions/KineVar.h" +#include "Framework/Conventions/Units.h" +#include "Framework/Messenger/Messenger.h" +#include "Framework/ParticleData/PDGCodes.h" +#include "Framework/ParticleData/PDGLibrary.h" +#include "Framework/ParticleData/PDGUtils.h" +#include "Framework/Utils/KineUtils.h" +#include "Framework/Utils/PrintUtils.h" +#include "Physics/NuclearState/NuclearModelI.h" +#include "Physics/NuclearState/NuclearUtils.h" + +using namespace genie; +using namespace genie::constants; +using namespace genie::controls; +using namespace genie::utils; + +//____________________________________________________________________________ +UnifiedQELPXSec::UnifiedQELPXSec() : +XSecAlgorithmI("genie::UnifiedQELPXSec") +{ + +} +//____________________________________________________________________________ +UnifiedQELPXSec::UnifiedQELPXSec(string config) : +XSecAlgorithmI("genie::UnifiedQELPXSec", config) +{ + +} +//____________________________________________________________________________ +UnifiedQELPXSec::~UnifiedQELPXSec() +{ + +} +//____________________________________________________________________________ +double UnifiedQELPXSec::XSec(const Interaction* interaction, + KinePhaseSpace_t kps) const +{ + if ( !this->ValidProcess(interaction) ) return 0.; + if ( !this->ValidKinematics(interaction) ) return 0.; + + if ( kps == kPSQ2fE ) return this->FreeNucXSec( interaction, kps ); + + // Get kinematics and init-state parameters + const Kinematics& kinematics = interaction->Kine(); + const InitialState& init_state = interaction->InitState(); + const Target& target = init_state.Tgt(); + + TLorentzVector* temp_probeP4 = init_state.GetProbeP4( kRfLab ); + TLorentzVector probeP4 = *temp_probeP4; + delete temp_probeP4; + double p_probe = probeP4.P(); + + const TLorentzVector& p4Ni = target.HitNucP4(); + double mNi = target.HitNucMass(); // on-shell initial hit nucleon mass + double pNi = p4Ni.P(); + double E_NiOnShell = std::sqrt(pNi*pNi + mNi*mNi); + TLorentzVector p4NiOnShell = TLorentzVector(p4Ni.Vect(), E_NiOnShell); + double epsilon_B = E_NiOnShell - p4Ni.E(); + + const TLorentzVector& lepP4 = kinematics.FSLeptonP4(); + double E_lep = lepP4.E(); + + const TLorentzVector& p4Nf = kinematics.HadSystP4(); + double E_Nf = p4Nf.E(); + + // Start xsec calculation with overall phase space factor and + // scaling factor from XML + double xsec = fXSecScale / (64.*kPi*kPi * p_probe * E_NiOnShell + * E_lep * E_Nf); + + // If we're dealing with a nuclear target, then apply Pauli blocking as + // needed + if ( target.IsNucleus() && !interaction->TestBit(kIAssumeFreeNucleon) ) { + double kF = fPauliBlocker->GetFermiMomentum(target, + interaction->RecoilNucleonPdg(), target.HitNucPosition()); + if ( p4Nf.P() < kF ) return 0.; + } + + // Scale cross section by the number of active nucleons + int hit_nuc_pdg = target.HitNucPdg(); + // Number of active nucleons in the target + int num_active = pdg::IsProton(hit_nuc_pdg) ? target.Z() : target.N(); + + xsec *= num_active; + + // Compute form factors using Q2tilde (the effective Q2 value after + // binding energy corrections) + TLorentzVector qP4 = probeP4 - lepP4; + TLorentzVector qTildeP4 = qP4; + qTildeP4.SetE( qP4.E() - epsilon_B ); + + double Q2 = -1. * qP4.M2(); + double Q2tilde = -1. * qTildeP4.M2(); + + // Make sure Q2 is physical + if ( Q2 <= 0. ) { + LOG("UnifiedQELPXSec", pWARN) << "Q2 <= 0, returning xsec = 0"; + return 0.; + } + + // Get the correct couplings and form factors model for the current + // interaction + double coupling_factor = 1.; + const genie::ProcessInfo& proc_info = interaction->ProcInfo(); + if ( proc_info.IsWeakCC() ) { + coupling_factor = kGF2 * fCos8c2 / 2.; + fFormFactors.SetModel( fCCFormFactorsModel ); + } + else if ( proc_info.IsWeakNC() ) { + coupling_factor = kGF2 / 2.; + fFormFactors.SetModel( fNCFormFactorsModel ); + } + else if ( proc_info.IsEM() ) { + // Lorentz-Heaviside natural units: e^4 = 16 * kPi^2 * kAem2 + coupling_factor = 16. * kPi * kPi * kAem2 / ( Q2*Q2 ); + fFormFactors.SetModel( fEMFormFactorsModel ); + } + else { + LOG("UnifiedQELPXSec", pERROR) << "Unrecognized process type encountered" + << " in genie::CBFSpecFuncQELPXSec::XSec()"; + return 0.; + } + + // Apply the coupling factor to the differential cross section + xsec *= coupling_factor; + + // For a bound hit nucleon, the corrected energy transfer qTilde0 needs to be + // positive to enforce energy conservation + if ( qTildeP4.E() <= 0. && interaction->InitState().Tgt().IsNucleus() + && !interaction->TestBit(kIAssumeFreeNucleon) ) return 0.; + + // Set Q2 to Q2tilde while computing form factors + interaction->KinePtr()->SetQ2( Q2tilde ); + + // Evaluate the form factors + fFormFactors.Calculate( interaction ); + + // Now that we've calculated them, store the true Q2 value + interaction->KinePtr()->SetQ2( Q2 ); + + // Compute the tensor contraction + LeptonTensor L_munu( *interaction ); + FreeNucleonTensor ATilde_munu( *interaction, fFormFactors ); + + std::complex contraction = L_munu * ATilde_munu; + + if ( std::abs(contraction.imag()) > kASmallNum ) { + LOG("UnifiedQELPXSec", pWARN) << "Tensor contraction has nonvanishing" + << " imaginary part!"; + } + + // Apply the tensor contraction to the cross section + xsec *= contraction.real(); + + // Multiply by the analytic solution of the energy-conserving delta function + // used by the kPSQELEvGen phase space. + xsec *= genie::utils::EnergyDeltaFunctionSolutionQEL( *interaction ); + + // Check whether variable tranformation is needed + if ( kps != kPSQELEvGen ) { + // Compute the appropriate Jacobian for transformation to the requested + // phase space + double J = utils::kinematics::Jacobian(interaction, kPSQELEvGen, kps); + xsec *= J; + } + + return xsec; +} +//____________________________________________________________________________ +double UnifiedQELPXSec::Integral(const Interaction* in) const +{ + // Intended for use with genie::NewQELXSec, which is smart + // enough to handle free nucleon vs. nuclear targets, different + // nuclear models, etc. + return fXSecIntegrator->Integrate(this, in); +} +//____________________________________________________________________________ +bool UnifiedQELPXSec::ValidProcess(const Interaction* interaction) const +{ + if ( interaction->TestBit(kISkipProcessChk) ) return true; + + const InitialState& init_state = interaction->InitState(); + const ProcessInfo& proc_info = interaction->ProcInfo(); + + if ( !proc_info.IsQuasiElastic() ) return false; + + if ( proc_info.IsEM() || proc_info.IsWeakNC() ) return true; + + // For weak CC interactions, check that the hit nucleon "works" + else if ( proc_info.IsWeakCC() ) { + int nucleon_pdg = init_state.Tgt().HitNucPdg(); + int probe_pdg = init_state.ProbePdg(); + + if ( pdg::IsNeutron(nucleon_pdg) && pdg::IsNeutrino(probe_pdg) ) { + return true; + } + else if ( pdg::IsProton(nucleon_pdg) && pdg::IsAntiNeutrino(probe_pdg) ) { + return true; + } + else return false; + } + + return false; +} +//____________________________________________________________________________ +void UnifiedQELPXSec::Configure(const Registry& config) +{ + Algorithm::Configure(config); + this->LoadConfig(); +} +//____________________________________________________________________________ +void UnifiedQELPXSec::Configure(std::string config) +{ + Algorithm::Configure(config); + this->LoadConfig(); +} +//____________________________________________________________________________ +void UnifiedQELPXSec::LoadConfig(void) +{ + double thc; + GetParam( "CabibboAngle", thc ) ; + fCos8c2 = TMath::Power(TMath::Cos(thc), 2); + + // cross section scaling factor + GetParam( "QEL-CC-XSecScale", fXSecScale ) ; + + // load QEL form factors models + fCCFormFactorsModel = dynamic_cast( + this->SubAlg("CCFormFactorsAlg") ); + assert( fCCFormFactorsModel ); + + fNCFormFactorsModel = dynamic_cast( + this->SubAlg("NCFormFactorsAlg") ); + assert( fNCFormFactorsModel ); + + fEMFormFactorsModel = dynamic_cast( + this->SubAlg("EMFormFactorsAlg") ); + assert( fEMFormFactorsModel ); + + // Attach CC model for now. This will be updated later. + fFormFactors.SetModel( fCCFormFactorsModel ); + + // load xsec integrator + fXSecIntegrator = dynamic_cast( + this->SubAlg("XSec-Integrator") ); + assert(fXSecIntegrator); + + // get nuclear model + fNuclModel = dynamic_cast( + this->SubAlg("IntegralNuclearModel") ); + assert(fNuclModel); + + // get the algorithm ID for the PauliBlocker + RgAlg pauliBlockID; + GetParamDef( "PauliBlockerAlg", pauliBlockID, + RgAlg("genie::PauliBlocker", "Default") ); + AlgId pbID = AlgId( pauliBlockID ); + + AlgFactory* algf = AlgFactory::Instance(); + fPauliBlocker = dynamic_cast( + algf->GetAlgorithm(pbID) ); + assert( fPauliBlocker ); +} +//____________________________________________________________________________ +double UnifiedQELPXSec::FreeNucXSec(const Interaction* interaction, + KinePhaseSpace_t kps) const +{ + // This cross section calculation works in the kPSQ2fE phase space + // and is intended for direct tests against other QEL cross section + // models using free nucleon targets. + + // Get kinematics and init-state parameters + const Kinematics& kinematics = interaction->Kine(); + const InitialState& init_state = interaction->InitState(); + const Target& target = init_state.Tgt(); + + // Work in the rest frame of the initial struck nucleon + TLorentzVector* temp_probeP4 = init_state.GetProbeP4( kRfHitNucRest ); + TLorentzVector probeP4 = *temp_probeP4; + delete temp_probeP4; + double E_probe = probeP4.E(); + double p_probe = probeP4.P(); + double m_probe2 = probeP4.M2(); + + // Check that we are above threshold for the reaction using Mandelstam s + double sqrt_s = init_state.CMEnergy(); + double ml = interaction->FSPrimLepton()->Mass(); + double W = interaction->RecoilNucleon()->Mass(); + if ( sqrt_s < W + ml ) return 0.; + + // Hit nucleon mass (may be off-shell) + double M = target.HitNucP4().M(); + // 4-momentum of initial hit nucleon in its rest frame + // TODO: think more about bound nucleons here + TLorentzVector p4Ni(0., 0., 0., M); + + // Use Q^2 to compute the full 4-momenta needed for the tensor contraction + double Q2 = kinematics.Q2(); + + // In the hit nucleon rest frame, we can compute the energy transfer easily + // from Q^2 + double q0 = ( Q2 + W*W - M*M ) / ( 2. * M ); + + // Final lepton total energy and momentum + double El = E_probe - q0; + double pl = std::sqrt( std::max(0., El*El - ml*ml) ); + + // Also compute the scattering cosine in the hit nucleon rest frame + // using Q^2 + double cos_theta_l = ( 2.*E_probe*El - Q2 - m_probe2 - ml*ml ) + / ( 2. * p_probe * pl ); + double theta_l = std::acos( cos_theta_l ); + + // The cross section is invariant with respect to the azimuthal angle + // of the outgoing lepton, so just pick zero for simplicity + double phi_l = 0.; + + // Build the final lepton 4-momentum and 4-momentum transfer + TLorentzVector p4l(0., 0., pl, El); + p4l.SetTheta( theta_l ); + p4l.SetPhi( phi_l ); + + TLorentzVector qP4 = probeP4 - p4l; + + // Start xsec calculation with overall phase space factor and + // scaling factor from XML + double xsec = fXSecScale / ( 64. * kPi * std::pow(M * p_probe, 2) ); + + // Get the correct couplings and form factors model for the current + // interaction + // TODO: reduce code duplication here + double coupling_factor = 1.; + const genie::ProcessInfo& proc_info = interaction->ProcInfo(); + if ( proc_info.IsWeakCC() ) { + coupling_factor = kGF2 * fCos8c2 / 2.; + fFormFactors.SetModel( fCCFormFactorsModel ); + } + else if ( proc_info.IsWeakNC() ) { + coupling_factor = kGF2 / 2.; + fFormFactors.SetModel( fNCFormFactorsModel ); + } + else if ( proc_info.IsEM() ) { + // Lorentz-Heaviside natural units: e^4 = 16 * kPi^2 * kAem2 + coupling_factor = 16. * kPi * kPi * kAem2 / ( Q2*Q2 ); + fFormFactors.SetModel( fEMFormFactorsModel ); + } + else { + LOG("UnifiedQELPXSec", pERROR) << "Unrecognized process type encountered" + << " in genie::CBFSpecFuncQELPXSec::XSec()"; + return 0.; + } + + // Apply the coupling factor to the differential cross section + xsec *= coupling_factor; + + // Evaluate the form factors + fFormFactors.Calculate( interaction ); + + // Compute the tensor contraction + InteractionType_t type = interaction->ProcInfo().InteractionTypeId(); + int hit_nuc_pdg = target.HitNucPdg(); + + LeptonTensor L_munu( probeP4, p4l, init_state.ProbePdg(), type ); + + FreeNucleonTensor ATilde_munu( p4Ni, qP4, fFormFactors.F1V(), + fFormFactors.xiF2V(), fFormFactors.F3V(), fFormFactors.FA(), + fFormFactors.Fp(), fFormFactors.F3A(), type, hit_nuc_pdg ); + + std::complex contraction = L_munu * ATilde_munu; + + if ( std::abs(contraction.imag()) > kASmallNum ) { + LOG("UnifiedQELPXSec", pWARN) << "Tensor contraction has nonvanishing" + << " imaginary part!"; + } + + // Apply the tensor contraction to the cross section + xsec *= contraction.real(); + + // Check whether variable transformation is needed + if ( kps != kPSQ2fE ) { + // Compute the appropriate Jacobian for transformation to the requested + // phase space + double J = utils::kinematics::Jacobian(interaction, kPSQ2fE, kps); + xsec *= J; + } + + // If requested return the free nucleon xsec even for input nuclear tgt + if ( interaction->TestBit(kIAssumeFreeNucleon) ) return xsec; + + // Compute nuclear suppression factor + // (R(Q2) is adapted from NeuGEN - see comments therein) + double R = nuclear::NuclQELXSecSuppression("Default", 0.5, interaction); + + // Number of scattering centers in the target + int NNucl = pdg::IsProton(hit_nuc_pdg) ? target.Z() : target.N(); + + LOG("UnifiedQELPXSec", pDEBUG) << "Nuclear suppression factor R(Q2) = " + << R << ", NNucl = " << NNucl; + + // Compute nuclear cross section + xsec *= ( R * NNucl ); + + return xsec; +} diff --git a/src/Physics/QuasiElastic/XSection/UnifiedQELPXSec.h b/src/Physics/QuasiElastic/XSection/UnifiedQELPXSec.h new file mode 100644 index 000000000..0170e907d --- /dev/null +++ b/src/Physics/QuasiElastic/XSection/UnifiedQELPXSec.h @@ -0,0 +1,78 @@ +//____________________________________________________________________________ +/*! + +\class genie::UnifiedQELPXSec + +\brief Computes quasielastic neutrino-nucleus differential cross sections + using a contraction of leptonic and hadronic tensors. Intended for + use with a spectral function nuclear model. + Is a concrete implementation of the XSecAlgorithmI interface. \n + +\author Steven Gardiner + Fermi National Acclerator Laboratory + +\created March 25, 2019 + +\cpright Copyright (c) 2003-2019, The GENIE Collaboration + For the full text of the license visit http://copyright.genie-mc.org + or see $GENIE/LICENSE +*/ +//____________________________________________________________________________ + +#ifndef _CBF_SPECTRAL_FUNC_CROSS_SECTION_H_ +#define _CBF_SPECTRAL_FUNC_CROSS_SECTION_H_ + +#include +#include + +#include "Math/IFunction.h" + +#include "Framework/EventGen/XSecAlgorithmI.h" +#include "Physics/QuasiElastic/XSection/LeptonTensor.h" +#include "Physics/QuasiElastic/XSection/FreeNucleonTensor.h" +#include "Physics/NuclearState/NuclearModelI.h" +#include "Physics/NuclearState/PauliBlocker.h" + +namespace genie { + +class QELFormFactorsModelI; +class QELFormFactors; +class XSecIntegratorI; + +class UnifiedQELPXSec : public XSecAlgorithmI { + +public: + + UnifiedQELPXSec(); + UnifiedQELPXSec(std::string config); + virtual ~UnifiedQELPXSec(); + + // XSecAlgorithmI interface implementation + double XSec (const Interaction* i, KinePhaseSpace_t k) const; + double Integral (const Interaction* i) const; + bool ValidProcess (const Interaction* i) const; + + // Override the Algorithm::Configure methods to load configuration + // data to private data members + void Configure (const Registry& config); + void Configure (std::string param_set); + +private: + void LoadConfig (void); + double FreeNucXSec(const Interaction* interaction, KinePhaseSpace_t kps) const; + + const QELFormFactorsModelI* fCCFormFactorsModel; + const QELFormFactorsModelI* fNCFormFactorsModel; + const QELFormFactorsModelI* fEMFormFactorsModel; + mutable QELFormFactors fFormFactors; + + const NuclearModelI* fNuclModel; + const PauliBlocker* fPauliBlocker; + const XSecIntegratorI* fXSecIntegrator; + double fCos8c2; ///< cos^2(cabibbo angle) + double fXSecScale; ///< external xsec scaling factor +}; + +} // genie namespace + +#endif