gibuu is hosted by Hepforge, IPPP Durham
GiBUU

TABLE OF CONTENTS


/neutrinoXsection [ Modules ]

[ Top ] [ Modules ]

NAME

module neutrinoXsection

PURPOSE

This module calculates various neutrino cross sections, depending on the choice of the user:

  • integrated or differential or double differential cross sections (according to the value of nuXsectionmode, the corresponding subroutines are called in the neutrino init file)
  • EM, CC or NC (according to the value of process_ID given as input to the corresponding subroutines)
  • muon, electron or tau flavor (according to the value of flavor_ID given as input to the corresponding subroutines)


neutrinoXsection/debugflag [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  logical, save :: debugflag=.false.

PURPOSE

to switch on/off debug information


neutrinoXsection/nuclear_phasespace [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  logical, save ::  nuclear_phasespace=.true.

PURPOSE

to change between different phasespace factors. (change only for debugging purposes):

  • .false. = 1/SP(k_in,p_in) i.e. phasespace factor for each nucleon
  • .true. = 1/k_in(0)*p_in(0) i.e. global phasespace factor for the nucleus


neutrinoXsection/singlePiModel [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  integer, save :: singlePiModel=1

PURPOSE

to change between different models for the pion nucleon cross section:

  • 0 = pi N according to Nieves et al (hep-ph/0701149)
  • 1 = MAID-like model


neutrinoXsection/integralPrecision [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  integer, save ::  integralPrecision=3

PURPOSE

precision for the Gauss integration (reduce it for nuXsectionMode.eq.0 (sigma) to e.g. 2)


neutrinoXsection/integralPrecisionQE [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  integer, save ::  integralPrecisionQE=500

PURPOSE

precision for the Gauss integration over the QE peak (reduce it for nuXsectionMode.eq.0 (sigma) to e.g. 300)


neutrinoXsection/enu [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real, save :: enu=-10.

PURPOSE

neutrino energy, read in by namelist


neutrinoXsection/delta_enu [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real, save :: delta_enu=-10.

PURPOSE

value by which the neutrino energy is increased


neutrinoXsection/Qs [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real, save :: Qs=-10.

PURPOSE

momentum transfer squared


neutrinoXsection/delta_Qs [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real, save :: delta_Qs=-10.

PURPOSE

value by which Qs is increased


neutrinoXsection/W [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real, save :: W=-10.

PURPOSE

invariant mass defined as (p+q)^2


neutrinoXsection/delta_W [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real, save :: delta_W=-10.

PURPOSE

value by which W is increased


neutrinoXsection/costheta [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real, save :: costheta=-10.

PURPOSE

cosine of the angle between the neutrino (z-direction) and the outgoing lepton


neutrinoXsection/delta_costheta [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real, save :: delta_costheta=-10.

PURPOSE

value by which costheta is increased


neutrinoXsection/elepton [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real, save :: elepton=-10.

PURPOSE

energy of the outgoing lepton


neutrinoXsection/delta_elepton [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real, save :: delta_elepton=-10.

PURPOSE

value by which elepton is increased


neutrinoXsection/invariantMassCut [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real, save :: invariantMassCut=100.

PURPOSE

cut events with invariant Mass above this value (in GeV); cut pion production from Delta and DIS on Wrec = Sqrt[M^2 + 2*M*nu - Q^2]


neutrinoXsection/invariantMassCut_BG [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real, save :: invariantMassCut_BG=100.

PURPOSE

cut MAID-like background events with invariantMass_BG above this value (in GeV); cut 1pi BG on Wrec = Sqrt[M^2 + 2*M*nu - Q^2]


neutrinoXsection/DISmassless [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  logical, save :: DISmassless = .false.

PURPOSE

Flag whether the PYTHIA calculation for the DIS process is done with massless or massive (Mquark~300MeV) quarks and diquarks.


neutrinoXsection/DIScutW1 [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real, save :: DIScutW1 = 1.6

PURPOSE


neutrinoXsection/DIScutW2 [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real, save :: DIScutW2 = 1.65

PURPOSE


neutrinoXsection/REScutW1 [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real, save :: REScutW1 = 2.00

PURPOSE


neutrinoXsection/REScutW2 [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real, save :: REScutW2 = 2.05

PURPOSE


neutrinoXsection/MC_xmax [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  real,save :: MC_xmax = 2.0

PURPOSE


neutrinoXsection/DISformfakEM [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  integer,save :: DISformfakEM = 2

PURPOSE

Introduce an additional form factor for the DIS cross section, when processed via a photon:

  • 0: no form factor
  • 1: Q^2/(m_\rho^2+Q^2)
  • 2: Q^4/(m_\rho^2+Q^2)^2

In case of electron induced events, we need choise 2 in order to be compatible with Pythia's electron machinery.


neutrinoXsection/DISformfakNCCC [ Global module-variables ]

[ Top ] [ neutrinoXsection ] [ Global module-variables ]

SOURCE

  integer,save :: DISformfakNCCC = 1

PURPOSE

Introduce an additional form factor for the DIS cross section, when processed via W or Z boson:

  • 0: no form factor
  • 1: Q^2/(m_\rho^2+Q^2)
  • 2: Q^4/(m_\rho^2+Q^2)^2

In case of electron induced events, we need choise 2 in order to be compatible with Pythia's electron machinery.


neutrinoXsection/readinput [ Subroutines ]

[ Top ] [ neutrinoXsection ] [ Subroutines ]

NAME

subroutine readinput(nuXsectionmode)

PURPOSE

This subroutine reads input out of jobcard. Namelist 'nl_neutrinoxsection' is read in always. All other namelist are read depending on the value of nuXsectionmode. If a nuXsectionmode for a particular experiment is chosen, with inherent flux integration, the parameter enu must be set to some dummy, but reasonable value > 0


neutrinoXsection/nl_neutrinoxsection [ Namelists ]

[ Top ] [ neutrinoXsection ] [ Namelists ]

NAME

NAMELIST /nl_neutrinoxsection/

PURPOSE

This Namelist includes:


neutrinoXsection/nl_integratedSigma [ Namelists ]

[ Top ] [ neutrinoXsection ] [ Namelists ]

NAME

NAMELIST /nl_integratedSigma/

PURPOSE

This Namelist is read in when nuXsectionmode=integratedsigma and includes:


neutrinoXsection/nl_dSigmadCosThetadElepton [ Namelists ]

[ Top ] [ neutrinoXsection ] [ Namelists ]

NAME

NAMELIST /nl_dSigmadCosThetadElepton/

PURPOSE

This Namelist is read in when nuXsectionmode=dSigmadCosThetadElepton and includes:


neutrinoXsection/nl_dSigmadQsdElepton [ Namelists ]

[ Top ] [ neutrinoXsection ] [ Namelists ]

NAME

NAMELIST /nl_dSigmadQsdElepton/

PURPOSE

This Namelist is read in when nuXsectionmode=dSigmadQsdElepton and includes:


neutrinoXsection/nl_dSigmadQs [ Namelists ]

[ Top ] [ neutrinoXsection ] [ Namelists ]

NAME

NAMELIST /nl_dSigmadQs/

PURPOSE

This Namelist is read in when nuXsectionmode=dSigmadQs and includes:


neutrinoXsection/nl_dSigmadW [ Namelists ]

[ Top ] [ neutrinoXsection ] [ Namelists ]

NAME

NAMELIST /nl_dSigmadW/

PURPOSE

This Namelist is read in when nuXsectionmode=dSigmadW and includes:


neutrinoXsection/nl_dSigmadcostheta [ Namelists ]

[ Top ] [ neutrinoXsection ] [ Namelists ]

NAME

NAMELIST /nl_dSigmadcostheta/

PURPOSE

This Namelist is read in when nuXsectionmode=dSigmadcostheta and includes:


neutrinoXsection/nl_dSigmadElepton [ Namelists ]

[ Top ] [ neutrinoXsection ] [ Namelists ]

NAME

NAMELIST /nl_dSigmadElepton/

PURPOSE

This Namelist is read in when nuXsectionmode=dSigmadElepton and includes:


neutrinoXsection/nl_SigmaMC [ Namelists ]

[ Top ] [ neutrinoXsection ] [ Namelists ]

NAME

NAMELIST /nl_SigmaMC/

PURPOSE

This Namelist is read in when nuXsectionmode=dSigmaMC and includes:


neutrinoXsection/Xsec_SigmaMC [ Subroutines ]

[ Top ] [ neutrinoXsection ] [ Subroutines ]

NAME

subroutine Xsec_SigmaMC(eNev,IP,raiseFlag,raiseVal,OutPart,sig,flux_enu)

PURPOSE

This subroutine calculates the integrated cross section depending on the input variables. It applies a MC integration technique.

INPUTS

  • type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
  • integer :: IP -- ID of outgoing hadron/process
  • logical :: raiseFlag -- shall energy etc. be increased?
  • real, optional :: flux_enu -- if present, use this value as neutrino energy (used for experiments)

OUTPUT


neutrinoXsection/SetXsecMC [ Subroutines ]

[ Top ] [ neutrinoXsection ] [ Subroutines ]

NAME

subroutine SetXsecMC()

PURPOSE

set the values of the integration variables in the MC integration called from subroutine initNeutrino in file initNeutrino.f90


neutrinoXsection/Xsec_integratedSigma [ Subroutines ]

[ Top ] [ neutrinoXsection ] [ Subroutines ]

NAME

subroutine Xsec_integratedSigma(eNev,IP,raiseFlag,raiseVal,OutPart,sig, flux_enu)

PURPOSE

This subroutine calculates the integrated cross section depending on the input variables:

INPUTS

  • type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
  • integer :: IP -- ID of outgoing hadron/process
  • logical :: raiseFlag -- shall energy etc. be increased?
  • real, optional :: flux_enu -- if present, use this value as neutrino energy (used for experiments)

OUTPUT


neutrinoXsection/Xsec_dSigmadCosThetadElepton [ Subroutines ]

[ Top ] [ neutrinoXsection ] [ Subroutines ]

NAME

subroutine Xsec_dSigmadCosThetadElepton(eNev,IP,raiseFlag,raiseVal, OutPart,sig,flux_enu)

PURPOSE

This subroutine calculates dSigmadCosThetadElepton depending on the input variables:

INPUTS

  • type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
  • integer :: IP -- ID of outgoing hadron/process
  • logical :: raiseFlag -- shall energy etc. be increased?
  • real, optional :: flux_enu -- if present, use this value as neutrino energy (used for experiments)

OUTPUT


neutrinoXsection/Xsec_dSigmadQsdElepton [ Subroutines ]

[ Top ] [ neutrinoXsection ] [ Subroutines ]

NAME

subroutine Xsec_dSigmadQsdElepton(eNev,IP,raiseFlag,raiseVal,OutPart, sig,flux_enu)

PURPOSE

This subroutine calculates dSigmadQsdElepton depending on the input variables:

INPUTS

  • type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
  • integer :: IP -- ID of outgoing hadron/process
  • logical :: raiseFlag -- shall energy etc. be increased?
  • real, optional :: flux_enu -- if present, use this value as neutrino energy (used for experiments)

OUTPUT


neutrinoXsection/Xsec_dSigmadcostheta [ Subroutines ]

[ Top ] [ neutrinoXsection ] [ Subroutines ]

NAME

subroutine Xsec_dSigmadcostheta(eNev,IP,raiseFlag,raiseVal,OutPart,sig, flux_enu)

PURPOSE

This subroutine calculates dSigmadcostheta depending on the input variables:

INPUTS

  • type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
  • integer :: IP -- ID of outgoing hadron/process
  • logical :: raiseFlag -- shall energy etc. be increased?
  • real, optional :: flux_enu -- if present, use this value as neutrino energy (used for experiments)

OUTPUT


neutrinoXsection/Xsec_dSigmadElepton [ Subroutines ]

[ Top ] [ neutrinoXsection ] [ Subroutines ]

NAME

subroutine Xsec_dSigmadElepton(eNev,IP,raiseFlag,raiseVal,OutPart,sig, flux_enu)

PURPOSE

This subroutine calculates dSigmadElepton depending on the input variables:

INPUTS

  • type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
  • integer :: IP -- ID of outgoing hadron/process
  • logical :: raiseFlag -- shall energy etc. be increased?
  • real, optional :: flux_enu -- if present, use this value as neutrino energy (used for experiments)

OUTPUT


neutrinoXsection/XsecdCosthetadElepton [ Subroutines ]

[ Top ] [ neutrinoXsection ] [ Subroutines ]

NAME

subroutine XsecdCosthetadElepton(eNev,IP,OutPart,sig)

PURPOSE

This subroutine is the basic subroutine, which does all the job of calculating the cross section dSigma/dCost dElepton and generating a corresponding final state particle vector.

This routine is called by all routines called "Xsec_...".

INPUTS

OUTPUT

NOTES

For the outgoing particles OutPart, the following entries have to be set afterwards:

  • OutPart%firstEvent
  • OutPart%event(1:2)
  • OutPart%perturbative
  • OutPart%velocity
  • OutPart%offshellparameter
  • OutPart%perweight

All the other values are set in this routine.

Returned cross section is in 10^-38 cm^2/GeV, except for EM, where the units are nb/GeV


neutrinoXsection/SetHadronCharge [ Functions ]

[ Top ] [ neutrinoXsection ] [ Functions ]

NAME

logical function SetHadronCharge(eNev,IP,Q_R,Q_pi)

PURPOSE

This function sets the charge of the outgoing hadrons depending on the reaction process. If successful, SetHadronCharge=.true., if not (when the reaction is not possible) SetHadronCharge=.false.

INPUTS

OUTPUT

  • integer :: Q_R -- charge of outgoing baryon
  • integer :: Q_pi -- charge of outgoing pion
  • function value -- indicates possible failures


neutrinoXsection/getCosthetaLimits [ Subroutines ]

[ Top ] [ neutrinoXsection ] [ Subroutines ]

NAME

subroutine getCosthetaLimits(costheta_min,costheta_max)

PURPOSE

This subroutine returns the limits in costheta.

OUTPUT

  • real :: costheta_min
  • real :: costheta_max


neutrinoXsection/getEleptonLimits [ Subroutines ]

[ Top ] [ neutrinoXsection ] [ Subroutines ]

NAME

subroutine getEleptonLimits(IP,eNev,elepton_min,elepton_max)

PURPOSE

This subroutine returns the limits in elepton depending on the neutrino energy.

INPUTS

OUTPUT

  • real :: elepton_min
  • real :: elepton_max


neutrinoXsection/getQsLimits [ Subroutines ]

[ Top ] [ neutrinoXsection ] [ Subroutines ]

NAME

subroutine getQsLimits(eNev,elepton,Qs_min,Qs_max)

PURPOSE

This subroutine returns the limits in Qs depending on the neutrino energy and the energy of the outgoing lepton.

INPUTS

OUTPUT

  • real :: Qs_min
  • real :: Qs_max


neutrinoXsection/checkLimits [ Functions ]

[ Top ] [ neutrinoXsection ] [ Functions ]

NAME

logical function checkLimits(X_min,X_max,X)

PURPOSE

This function checks whether X is out of bounds. If not, checkLimits=.true., if yes checkQsLimits=.false.

INPUTS

  • real :: X_min,X_max,X


neutrinoXsection/get_xsection_namelist [ Subroutines ]

[ Top ] [ neutrinoXsection ] [ Subroutines ]

NAME

subroutine get_xsection_namelist

PURPOSE

This subroutine returns variables that are set in the according xsection namlist.

OUTPUT

  • logical,optional :: Gdebugflag,Gnuclear_phasespace
  • integer,optional :: GsinglePiModel,GintegralPrecision,GintegralPrecisionQE
  • real,optional :: Genu, Gdelta_enu, GQs,Gdelta_Qs, Gcostheta, Gdelta_costheta, Gdelta_elepton, GinvariantMasscut