gibuu is hosted by Hepforge, IPPP Durham
GiBUU

TABLE OF CONTENTS


/singlePionProductionNHVlike [ Modules ]

[ Top ] [ Modules ]

NAME

module singlePionProductionNHVlike

PURPOSE

...


singlePionProductionNHVlike/debug_HNV [ Global module-variables ]

[ Top ] [ singlePionProductionNHVlike ] [ Global module-variables ]

SOURCE

  integer, parameter ::  debug_HNV=0

PURPOSE

level of input debug information for HNV 1-pion xsec 0 - no output, 1 - basic messages, 2 - more details


singlePionProductionNHVlike/integrate_over [ Global module-variables ]

[ Top ] [ singlePionProductionNHVlike ] [ Global module-variables ]

SOURCE

  integer, save ::  integrate_over=2      !1=costhetaPi , 2=Epi  3=over cosThetaPi_star_qz in CM frame

PURPOSE

possible values:

  • 1 = costhetaPi
  • 2 = Epi
  • 3 = over cosThetaPi_star_qz in CM frame

which 3-pl differential cross sectio to use for integration:

  • 1= dsigma/dcostheta/dElepton/dcosThetaPion was originally used and works for nuclei. disadvantage: for some cosThetaPion there are two solutions for Epi, this leads to fluctuations on the cross section
  • 2= dsigma/dcostheta/dElepton/dEPion has an advantage, that for a given pion energy there is only one solution for the angle between the resonance and pion momenta. so the integration is simpler and results should be smoother

NOTES

  • for 1 : the only option checked for nucleus
  • for 2 : code works better and faster, gives significantly smoother results below Delta peak. disadvantage: now for the free nucleon only, TO DO : nuclei


singlePionProductionNHVlike/nl_singlePionProductionNHVlike [ Namelists ]

[ Top ] [ singlePionProductionNHVlike ] [ Namelists ]

NAME

NAMELIST /nl_singlePionProductionNHVlike/

PURPOSE

This Namelist includes:

  • integrate_over !1=costhetaPi(must be for nuclei), 2=Epi, 3=over cosThetaPi_star_qz in CM frame


singlePionProductionNHVlike/Nieves1piN_elepton_ct_Epi [ Subroutines ]

[ Top ] [ singlePionProductionNHVlike ] [ Subroutines ]

NAME

subroutine Nieves1piN_elepton_ct_Epi(process_ID,k_in,k_out,p_in,position, charge_in, &

     & p_out,charge_out,p_pion_out,pion_charge_out,Epi,sig)

PURPOSE

This subroutine is called by Nieves1piN_elepton_ct, and does the actual calculation of the 4-fold differential x-sec dSigma/dcostheta dElepton.dcosThetaPion.dPhiPion It is only used in the case: include1pi=.true. and singlePiModel=0 (Nieves model for 1-pion x-sec)

INPUTS

integer :: process_ID -- CC, NC or EM real, dimension(0:3):: k_in -- momentum of incoming lepton real, dimension(0:3):: k_out -- momentum of outgoing lepton real, dimension(0:3):: p_in -- momentum of incoming hadron real, dimension(1:3):: position -- position of incoming hadron integer :: charge_in -- charge of incoming hadron integer :: charge_out -- charge of outgoing nucleon integer :: pion_charge_out -- charge of outgoing pion real :: Epi -- pion energy in lab frame

OUTPUT

real, dimension(0:3) :: p_out -- momentum of outgoing nucleon (directions) real, dimension(0:3) :: p_pion_out -- momentum of outgoing pion (directions generated randomly) real :: sig -- calculated cross section in 1/GeV^3

NOTES

This cross section has an advantage, because for a given pion energy there is only one solution for the angle between the resonance and pion momenta.


singlePionProductionNHVlike/Nieves1piN_elepton_ct_ctPi_PhiPi [ Subroutines ]

[ Top ] [ singlePionProductionNHVlike ] [ Subroutines ]

NAME

subroutine Nieves1piN_elepton_ct_ctPi_PhiPi(process_ID,k_in,k_out,p_in,position, charge_in, &

     & p_out,charge_out,p_pion_out,pion_charge_out,cosThetaPi,PhiPi,sig)

PURPOSE

This subroutine is called by Nieves1piN_elepton_ct, and does the actual calculation of the 4-fold differential x-sec dSigma/dcostheta dElepton.dcosThetaPion.dPhiPion It is only used in the case: include1pi=.true. and singlePiModel=0 (Nieves model for 1-pion x-sec)

INPUTS

integer :: process_ID -- CC, NC or EM real, dimension(0:3):: k_in -- momentum of incoming lepton real, dimension(0:3):: k_out -- momentum of outgoing lepton real, dimension(0:3):: p_in -- momentum of incoming hadron real, dimension(1:3):: position -- position of incoming hadron integer :: charge_in -- charge of incoming hadron integer :: charge_out -- charge of outgoing nucleon integer :: pion_charge_out -- charge of outgoing pion real :: cosThetaPi -- cos of the polar angle of the outgoing pion real :: PhiPi -- azimuthal angle of the outgoing pion

OUTPUT

real, dimension(0:3) :: p_out -- momentum of outgoing nucleon real, dimension(0:3) :: p_pion_out -- momentum of outgoing pion real :: sig -- calculated cross section in 1/GeV^3


singlePionProductionNHVlike/Nieves1piN_elepton_ct_ctPi [ Subroutines ]

[ Top ] [ singlePionProductionNHVlike ] [ Subroutines ]

NAME

subroutine Nieves1piN_elepton_ct_ctPi(process_ID,k_in,k_out,p_in,position, charge_in, &

     & p_out,charge_out,p_pion_out,pion_charge_out,cosThetaPi,sig)

PURPOSE

This subroutine is called by Nieves1piN_elepton_ct does the calculation of the 3-pl differential x-sec dSigma/dcostheta dElepton.dcosThetaPion It is only used in the case: include1pi=.true. and singlePiModel=0 (Nieves model for 1-pion x-sec)

INPUTS

integer :: process_ID -- CC, NC or EM real, dimension(0:3):: k_in -- momentum of incoming lepton real, dimension(0:3):: k_out -- momentum of outgoing lepton real, dimension(0:3):: p_in -- momentum of incoming hadron real, dimension(1:3):: position -- position of incoming hadron integer :: charge_in -- charge of incoming hadron integer :: charge_out -- charge of outgoing nucleon integer :: pion_charge_out -- charge of outgoing pion real :: cosThetaPi -- cos of the polar angle of the outgoing pion

OUTPUT

real, dimension(0:3) :: p_out -- momentum of outgoing nucleon real, dimension(0:3) :: p_pion_out -- momentum of outgoing pioninclude_W_dist=.false. real :: sig -- calculated cross section in 1/GeV^3


singlePionProductionNHVlike/Nieves1piN_elepton_ct_ctPi_star [ Subroutines ]

[ Top ] [ singlePionProductionNHVlike ] [ Subroutines ]

NAME

subroutine Nieves1piN_elepton_ct_ctPi_star(process_ID,k_in,k_out,p_in,position, charge_in, &

     & p_out,charge_out_star,p_pion_out_star,pion_charge_out,cosThetaPi_star_qz,sig)

PURPOSE

calculates 3-fold differential cross section dsigma/d E' dcostheta_lepton d costheta_pion_star for pion angle in the CM frame with respect to the z-axis defined by the photon 3-momentum

Advantage: nothing should depend on the azimuthal angle of pion, so integration is pure 2*pi

                 (without assumption of 1-point Monte-Carlo integration)

It is only used in the case: include1pi=.true. and singlePiModel=0 (Nieves model for 1-pion x-sec)

Useful for CM pion-angle distribution and comparison with electroproduction data like Egiyan PRC 73

INPUTS

integer :: process_ID -- CC, NC or EM real, dimension(0:3):: k_in -- momentum of incoming lepton real, dimension(0:3):: k_out -- momentum of outgoing lepton real, dimension(0:3):: p_in -- momentum of incoming hadron real, dimension(1:3):: position -- position of incoming hadron integer :: charge_in -- charge of incoming hadron integer :: charge_out -- charge of outgoing nucleon integer :: pion_charge_out -- charge of outgoing pion real :: cosThetaPi_star -- angle of the outgoing pion with respect to 3-momentum of q in the CM frame

OUTPUT

real, dimension(0:3) :: p_out_star_qz -- momentum of outgoing nucleon in the CM frame real, dimension(0:3) :: p_pion_star_qz -- momentum of outgoing pion in the CM frame real :: sig -- calculated cross section in 1/GeV^3


singlePionProductionNHVlike/Nieves1piN_elepton_ct [ Subroutines ]

[ Top ] [ singlePionProductionNHVlike ] [ Subroutines ]

NAME

subroutine Nieves1piN_elepton_ct(process_ID,k_in,k_out,firstTime,p_in,position, charge_in, &

     & p_out,charge_out,p_pion_out,pion_charge_out,sig)

PURPOSE

This subroutine is called by XsecdCosthetadElepton, and does the calculation of the 2-bl differential x-sec dSigma/dcostheta dElepton. It is only used in the case: include1pi=.true. and singlePiModel=0 (Nieves model for 1-pion x-sec)

INPUTS

integer :: process_ID -- CC, NC or EM real, dimension(0:3):: k_in -- momentum of incoming lepton real, dimension(0:3):: k_out -- momentum of outgoing lepton logical, :: firstTime -- if true than lepton variables are calculated only once real, dimension(0:3):: p_in -- momentum of incoming hadron real, dimension(1:3):: position -- position of incoming hadron integer :: charge_in -- charge of incoming hadron integer :: charge_out -- charge of outgoing nucleon integer :: pion_charge_out -- charge of outgoing pion

OUTPUT

real, dimension(0:3) :: p_out -- momentum of outgoing nucleon, angles being generated randomly real, dimension(0:3) :: p_pion_out -- momentum of outgoing pion, angles being generated randomly real :: sig -- calculated cross section in 1/GeV^3


singlePionProductionNHVlike/Nieves_MaEl_1pi [ Functions ]

[ Top ] [ singlePionProductionNHVlike ] [ Functions ]

NAME

complex function Nieves_MaEl_1pi(process_ID, k_in, k_out, p_in, position, charge_in, p_out, charge_out, ppi_out, pion_charge_out)

PURPOSE

This function is called by Nieves1piN_elepton_ct_ctPi, and does the actual calculation of the matrix element of 1-pion production according to the Hernandez-Nieves-Valverde model. It is only used in the case: include1pi=.true. and singlePiModel=0 (Nieves model for 1-pion x-sec)

INPUTS

integer :: process_ID -- CC, NC or EM real, dimension(0:3):: k_in -- momentum of incoming lepton real, dimension(0:3):: k_out -- momentum of outgoing lepton real, dimension(0:3):: p_in -- momentum of incoming hadron real, dimension(1:3):: position -- position of incoming hadron integer :: charge_in -- charge of incoming hadron real, dimension(0:3):: p_out -- momentum of outgoing nucleon integer :: charge_out -- charge of outgoing nucleon real, dimension(0:3):: ppi_out -- momentum of outgoing pion integer :: pion_charge_out -- charge of outgoing pion

OUTPUT

Matrix element as a complex variable. Matrix element is real by definition, so at the end of the function the spetial warning is given if the imaginary part exceeds 10^{-6}