Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions config/HAIntranuke2018.xml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ DelRNucleon double Yes mult. factor for nucleon de-Broglie wavelength
<param type="bool" name="INUKE-DoCompoundNucleus"> true </param>
<param type="bool" name="INUKE-XsecNNCorr"> true </param>



<param type="double" name="HAINUKE-DelRPion"> 0.0 </param>
<param type="double" name="HAINUKE-DelRNucleon"> 0.0 </param>
Expand All @@ -74,7 +74,7 @@ DelRNucleon double Yes mult. factor for nucleon de-Broglie wavelength
<param type="double" name="FSI-Nucleon-FracAbsScale"> 1.000 </param>
<param type="double" name="FSI-Nucleon-FracPiProdScale"> 1.000 </param>
-->

</param_set>

</alg_conf>
7 changes: 5 additions & 2 deletions src/Physics/HadronTransport/HAIntranuke2018.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
/*
Copyright (c) 2003-2025, The GENIE Collaboration
For the full text of the license visit http://copyright.genie-mc.org


Author: Steve Dytman <dytman+@pitt.edu>, Pittsburgh Univ.
Aaron Meyer <asm58@pitt.edu>, Pittsburgh Univ.
Expand Down Expand Up @@ -781,7 +781,7 @@ void HAIntranuke2018::Inelastic(
GHepParticle s3(*p);

bool success = utils::intranuke2018::PionProduction(
ev,p,&s1,&s2,&s3,fRemnA,fRemnZ,fRemnP4, fDoFermi,fFermiFac,fFermiMomentum,fNuclmodel);
ev,p,&s1,&s2,&s3,fRemnA,fRemnZ,fRemnP4, fDoFermi,fFermiFac,fFermiMomentum,fNuclmodel,fPiProdThreeBodyBias);

if (success){
LOG ("HAIntranuke2018",pINFO) << " successful pion production fate";
Expand Down Expand Up @@ -1562,6 +1562,8 @@ void HAIntranuke2018::LoadConfig(void)
GetParamDef( "FSI-Nucleon-FracAbsScale", fNucleonFracAbsScale, 1.0 ) ;
GetParamDef( "FSI-Nucleon-FracPiProdScale", fNucleonFracPiProdScale, 1.0 ) ;

GetParamDef( "FSI-PiProd-ThreeBodyBias", fPiProdThreeBodyBias, 0.0 ) ;

// report
LOG("HAIntranuke2018", pINFO) << "Settings for INTRANUKE mode: " << INukeMode::AsString(kIMdHA);
LOG("HAIntranuke2018", pINFO) << "R0 = " << fR0 << " fermi";
Expand All @@ -1577,6 +1579,7 @@ void HAIntranuke2018::LoadConfig(void)
LOG("HAIntranuke2018", pINFO) << "DoFermi? = " << ((fDoFermi)?(true):(false));
LOG("HAIntranuke2018", pINFO) << "DoCmpndNuc? = " << ((fDoCompoundNucleus)?(true):(false));
LOG("HAIntranuke2018", pINFO) << "XsecNNCorr? = " << ((fXsecNNCorr)?(true):(false));
LOG("HAIntranuke2018", pINFO) << "PiProdBias = " << fPiProdThreeBodyBias;
}
//___________________________________________________________________________
/*
Expand Down
29 changes: 16 additions & 13 deletions src/Physics/HadronTransport/HAIntranuke2025.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
/*
Copyright (c) 2003-2025, The GENIE Collaboration
For the full text of the license visit http://copyright.genie-mc.org


Author: Steve Dytman <dytman+@pitt.edu>, Pittsburgh Univ.
Aaron Meyer <asm58@pitt.edu>, Pittsburgh Univ.
Expand All @@ -15,11 +15,11 @@

Important revisions after version 2.0.0 :
@ sep 2025 - Mohamed Ismail, SD
new class for hA2025. no changes from the 2018 class version, major changes made in INukeHadroData2025
for new hA pion splines Add data, use hN for high pion KE, use INCL for low energy. Use splines for channel
new class for hA2025. no changes from the 2018 class version, major changes made in INukeHadroData2025
for new hA pion splines Add data, use hN for high pion KE, use INCL for low energy. Use splines for channel
and total reac xs to improve accuracy. Also, smooth results to avoid discontinuities.


*/
//____________________________________________________________________________

Expand Down Expand Up @@ -242,8 +242,8 @@ INukeFateHA_t HAIntranuke2025::HadronFateHA(const GHepParticle * p) const
if (pdgc==kPdgPiP || pdgc==kPdgPiM) frac_abs *= fChPionFracAbsScale;
if (pdgc==kPdgPi0) frac_abs *= fNeutralPionFracAbsScale;
frac_piprod *= fPionFracPiProdScale;


// Flag to enable or disable π0/π+ ratio corrections
bool apply_pi0_ratio_correction = true;

Expand All @@ -261,7 +261,7 @@ INukeFateHA_t HAIntranuke2025::HadronFateHA(const GHepParticle * p) const
double ratio_piprod = 0.0004402 * ke_ratio + 0.47418;

// Apply the corrections only if kinetic energy is below 1000 MeV

frac_cex *= ratio_cex;
frac_abs *= ratio_abs;
frac_inel *= ratio_inel;
Expand All @@ -270,11 +270,11 @@ INukeFateHA_t HAIntranuke2025::HadronFateHA(const GHepParticle * p) const
if (ke > 400.0) {
frac_piprod *= ratio_piprod;
}

}




double frac_rescale = 1./(frac_cex + frac_inel + frac_abs + frac_piprod);

Expand Down Expand Up @@ -793,7 +793,7 @@ void HAIntranuke2025::Inelastic(
GHepParticle s3(*p);

bool success = utils::intranuke2025::PionProduction(
ev,p,&s1,&s2,&s3,fRemnA,fRemnZ,fRemnP4, fDoFermi,fFermiFac,fFermiMomentum,fNuclmodel);
ev,p,&s1,&s2,&s3,fRemnA,fRemnZ,fRemnP4, fDoFermi,fFermiFac,fFermiMomentum,fNuclmodel,fPiProdThreeBodyBias);

if (success){
LOG ("HAIntranuke2025",pINFO) << " successful pion production fate";
Expand Down Expand Up @@ -1131,10 +1131,10 @@ void HAIntranuke2025::Inelastic(

if ( pdg::IsNeutronOrProton (pdgc) ) //nucleon probe
{
// work done in 2011 by Meyer and Dytman. Make fits to hN simulation output for p and n.
// work done in 2011 by Meyer and Dytman. Make fits to hN simulation output for p and n.
ns = -TMath::Log(rnd->RndFsi().Rndm())/gam_ns; // exponential random variable
}
if ( pdg::IsKaon (pdgc) ) //charged kaon probe - either 2 or 3 nucleons to stay simple.
if ( pdg::IsKaon (pdgc) ) //charged kaon probe - either 2 or 3 nucleons to stay simple.
// No data available, use hN simulation (sd)
{
ns = (rnd->RndFsi().Rndm()<0.5?2:3);
Expand Down Expand Up @@ -1579,6 +1579,8 @@ void HAIntranuke2025::LoadConfig(void)
GetParamDef( "FSI-Nucleon-FracAbsScale", fNucleonFracAbsScale, 1.0 ) ;
GetParamDef( "FSI-Nucleon-FracPiProdScale", fNucleonFracPiProdScale, 1.0 ) ;

GetParamDef( "FSI-PiProd-ThreeBodyBias", fPiProdThreeBodyBias, 0.0 );

// report
LOG("HAIntranuke2025", pINFO) << "Settings for INTRANUKE mode: " << INukeMode::AsString(kIMdHA);
LOG("HAIntranuke2025", pINFO) << "R0 = " << fR0 << " fermi";
Expand All @@ -1594,6 +1596,7 @@ void HAIntranuke2025::LoadConfig(void)
LOG("HAIntranuke2025", pINFO) << "DoFermi? = " << ((fDoFermi)?(true):(false));
LOG("HAIntranuke2025", pINFO) << "DoCmpndNuc? = " << ((fDoCompoundNucleus)?(true):(false));
LOG("HAIntranuke2025", pINFO) << "XsecNNCorr? = " << ((fXsecNNCorr)?(true):(false));
LOG("HAIntranuke2025", pINFO) << "PiProdBias = " << fPiProdThreeBodyBias;
}
//___________________________________________________________________________
/*
Expand Down
Loading