TABLE OF CONTENTS
- 1. /neutrinoSigma
- 1.1. neutrinoSigma/enu
- 1.2. neutrinoSigma/delta_enu
- 1.3. neutrinoSigma/Q2
- 1.4. neutrinoSigma/delta_Q2
- 1.5. neutrinoSigma/W
- 1.6. neutrinoSigma/delta_W
- 1.7. neutrinoSigma/costheta
- 1.8. neutrinoSigma/delta_costheta
- 1.9. neutrinoSigma/elepton
- 1.10. neutrinoSigma/delta_elepton
- 1.11. neutrinoSigma/eps
- 1.12. neutrinoSigma/MC_xmax
- 1.13. neutrinoSigma/integralPrecision
- 1.14. neutrinoSigma/integralPrecisionQE
- 1.15. neutrinoSigma/nl_integratedSigma
- 1.16. neutrinoSigma/nl_dSigmadCosThetadElepton
- 1.17. neutrinoSigma/nl_dSigmadQ2dElepton
- 1.18. neutrinoSigma/nl_dSigmadQ2
- 1.19. neutrinoSigma/nl_dSigmadW
- 1.20. neutrinoSigma/nl_dSigmadcostheta
- 1.21. neutrinoSigma/nl_dSigmadElepton
- 1.22. neutrinoSigma/nl_SigmaMC
- 1.23. neutrinoSigma/Xsec_SigmaMC
- 1.24. neutrinoSigma/SetXsecMC
- 1.25. neutrinoSigma/Xsec_SigmaMC_Q2
- 1.26. neutrinoSigma/Xsec_SigmaMC_W
- 1.27. neutrinoSigma/Xsec_integratedSigma
- 1.28. neutrinoSigma/Xsec_dSigmadCosThetadElepton
- 1.29. neutrinoSigma/Xsec_dSigmadQ2dElepton
- 1.30. neutrinoSigma/Xsec_dSigmadcostheta
- 1.31. neutrinoSigma/Xsec_dSigmadElepton
- 1.32. neutrinoSigma/Xsec_fixedGamma
- 1.33. neutrinoSigma/getCosthetaLimits
- 1.34. neutrinoSigma/getEleptonLimits
- 1.35. neutrinoSigma/getQ2Limits
- 1.36. neutrinoSigma/checkLimits
- 1.37. neutrinoSigma/get_sigma_namelist
/neutrinoSigma [ Modules ]
NAME
module neutrinoSigma
PURPOSE
This module bundles routines which are actually called by initNeutrino and represent some intermediate layer above neutrinoXsection
neutrinoSigma/enu [ Global module-variables ]
[ Top ] [ neutrinoSigma ] [ Global module-variables ]
SOURCE
real, save :: enu=-10.
PURPOSE
neutrino energy, read in by namelist
neutrinoSigma/delta_enu [ Global module-variables ]
[ Top ] [ neutrinoSigma ] [ Global module-variables ]
SOURCE
real, save :: delta_enu=-10.
PURPOSE
value by which the neutrino energy is increased
neutrinoSigma/Q2 [ Global module-variables ]
[ Top ] [ neutrinoSigma ] [ Global module-variables ]
SOURCE
real, save :: Q2=-10.
PURPOSE
momentum transfer squared
neutrinoSigma/delta_Q2 [ Global module-variables ]
[ Top ] [ neutrinoSigma ] [ Global module-variables ]
SOURCE
real, save :: delta_Q2=-10.
PURPOSE
value by which Q2 is increased
neutrinoSigma/W [ Global module-variables ]
[ Top ] [ neutrinoSigma ] [ Global module-variables ]
SOURCE
real, save :: W=-10.
PURPOSE
invariant mass defined as (p+q)^2
neutrinoSigma/delta_W [ Global module-variables ]
[ Top ] [ neutrinoSigma ] [ Global module-variables ]
SOURCE
real, save :: delta_W=-10.
PURPOSE
value by which W is increased
neutrinoSigma/costheta [ Global module-variables ]
[ Top ] [ neutrinoSigma ] [ Global module-variables ]
SOURCE
real, save :: costheta=-10.
PURPOSE
cosine of the angle between the neutrino (z-direction) and the outgoing lepton
neutrinoSigma/delta_costheta [ Global module-variables ]
[ Top ] [ neutrinoSigma ] [ Global module-variables ]
SOURCE
real, save :: delta_costheta=-10.
PURPOSE
value by which costheta is increased
neutrinoSigma/elepton [ Global module-variables ]
[ Top ] [ neutrinoSigma ] [ Global module-variables ]
SOURCE
real, save :: elepton=-10.
PURPOSE
energy of the outgoing lepton
neutrinoSigma/delta_elepton [ Global module-variables ]
[ Top ] [ neutrinoSigma ] [ Global module-variables ]
SOURCE
real, save :: delta_elepton=-10.
PURPOSE
value by which elepton is increased
neutrinoSigma/eps [ Global module-variables ]
[ Top ] [ neutrinoSigma ] [ Global module-variables ]
SOURCE
real, save :: eps=-10.
PURPOSE
polarisation in the case of EM interaction
neutrinoSigma/MC_xmax [ Global module-variables ]
[ Top ] [ neutrinoSigma ] [ Global module-variables ]
SOURCE
real,save :: MC_xmax = 2.0
PURPOSE
neutrinoSigma/integralPrecision [ Global module-variables ]
[ Top ] [ neutrinoSigma ] [ 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)
neutrinoSigma/integralPrecisionQE [ Global module-variables ]
[ Top ] [ neutrinoSigma ] [ 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)
neutrinoSigma/nl_integratedSigma [ Namelists ]
[ Top ] [ neutrinoSigma ] [ Namelists ]
NAME
NAMELIST /nl_integratedSigma/
PURPOSE
This Namelist is read in when nuXsectionmode=integratedsigma and includes:
neutrinoSigma/nl_dSigmadCosThetadElepton [ Namelists ]
[ Top ] [ neutrinoSigma ] [ Namelists ]
NAME
NAMELIST /nl_dSigmadCosThetadElepton/
PURPOSE
This Namelist is read in when nuXsectionmode=dSigmadCosThetadElepton and includes:
neutrinoSigma/nl_dSigmadQ2dElepton [ Namelists ]
[ Top ] [ neutrinoSigma ] [ Namelists ]
NAME
NAMELIST /nl_dSigmadQ2dElepton/
PURPOSE
This Namelist is read in when nuXsectionmode=dSigmadQ2dElepton and includes:
neutrinoSigma/nl_dSigmadQ2 [ Namelists ]
[ Top ] [ neutrinoSigma ] [ Namelists ]
NAME
NAMELIST /nl_dSigmadQ2/
PURPOSE
This Namelist is read in when nuXsectionmode=dSigmadQ2 and includes:
neutrinoSigma/nl_dSigmadW [ Namelists ]
[ Top ] [ neutrinoSigma ] [ Namelists ]
NAME
NAMELIST /nl_dSigmadW/
PURPOSE
This Namelist is read in when nuXsectionmode=dSigmadW and includes:
neutrinoSigma/nl_dSigmadcostheta [ Namelists ]
[ Top ] [ neutrinoSigma ] [ Namelists ]
NAME
NAMELIST /nl_dSigmadcostheta/
PURPOSE
This Namelist is read in when nuXsectionmode=dSigmadcostheta and includes:
neutrinoSigma/nl_dSigmadElepton [ Namelists ]
[ Top ] [ neutrinoSigma ] [ Namelists ]
NAME
NAMELIST /nl_dSigmadElepton/
PURPOSE
This Namelist is read in when nuXsectionmode=dSigmadElepton and includes:
neutrinoSigma/nl_SigmaMC [ Namelists ]
[ Top ] [ neutrinoSigma ] [ Namelists ]
NAME
NAMELIST /nl_SigmaMC/
PURPOSE
This Namelist is read in when nuXsectionmode=dSigmaMC and includes:
neutrinoSigma/Xsec_SigmaMC [ Subroutines ]
[ Top ] [ neutrinoSigma ] [ 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
- type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
- real :: raiseVal -- the actual value of the running variable (i.e. elepton, enu, costheta, ...)
- type(particle), dimension(:) :: OutPart -- FinalState particles
- real :: sig -- calculated cross section
neutrinoSigma/SetXsecMC [ Subroutines ]
[ Top ] [ neutrinoSigma ] [ Subroutines ]
NAME
subroutine SetXsecMC()
PURPOSE
set the values of the integration variables in the MC integration called from subroutine initNeutrino in file initNeutrino.f90
neutrinoSigma/Xsec_SigmaMC_Q2 [ Subroutines ]
[ Top ] [ neutrinoSigma ] [ Subroutines ]
NAME
subroutine Xsec_SigmaMC_Q2(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
- type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
- real :: raiseVal -- the actual value of the running variable (i.e. elepton, enu, costheta, ...)
- type(particle), dimension(:) :: OutPart -- FinalState particles
- real :: sig -- calculated cross section
neutrinoSigma/Xsec_SigmaMC_W [ Subroutines ]
[ Top ] [ neutrinoSigma ] [ Subroutines ]
NAME
subroutine Xsec_SigmaMC_W(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
- type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
- real :: raiseVal -- the actual value of the running variable (i.e. elepton, enu, costheta, ...)
- type(particle), dimension(:) :: OutPart -- FinalState particles
- real :: sig -- calculated cross section
neutrinoSigma/Xsec_integratedSigma [ Subroutines ]
[ Top ] [ neutrinoSigma ] [ 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
- type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
- real :: raiseVal -- the actual value of the running variable (i.e. elepton, enu, costheta, ...)
- type(particle), dimension(:) :: OutPart -- FinalState particles
- real :: sig -- calculated cross section
neutrinoSigma/Xsec_dSigmadCosThetadElepton [ Subroutines ]
[ Top ] [ neutrinoSigma ] [ 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
- type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
- real :: raiseVal -- the actual value of the running variable (i.e. elepton, enu, costheta, ...)
- type(particle), dimension(:) :: OutPart -- FinalState particles
- real :: sig -- calculated cross section
neutrinoSigma/Xsec_dSigmadQ2dElepton [ Subroutines ]
[ Top ] [ neutrinoSigma ] [ Subroutines ]
NAME
subroutine Xsec_dSigmadQ2dElepton(eNev,IP,raiseFlag,raiseVal,OutPart, sig,flux_enu)
PURPOSE
This subroutine calculates dSigmadQ2dElepton 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
- type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
- real :: raiseVal -- the actual value of the running variable (i.e. elepton, enu, costheta, ...)
- type(particle), dimension(:) :: OutPart -- FinalState particles
- real :: sig -- calculated cross section
neutrinoSigma/Xsec_dSigmadcostheta [ Subroutines ]
[ Top ] [ neutrinoSigma ] [ 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
- type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
- real :: raiseVal -- the actual value of the running variable (i.e. elepton, enu, costheta, ...)
- type(particle), dimension(:) :: OutPart -- FinalState particles
- real :: sig -- calculated cross section
neutrinoSigma/Xsec_dSigmadElepton [ Subroutines ]
[ Top ] [ neutrinoSigma ] [ 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
- type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
- real :: raiseVal -- the actual value of the running variable (i.e. elepton, enu, costheta, ...)
- type(particle), dimension(:) :: OutPart -- FinalState particles
- real :: sig -- calculated cross section
neutrinoSigma/Xsec_fixedGamma [ Subroutines ]
[ Top ] [ neutrinoSigma ] [ Subroutines ]
NAME
subroutine Xsec_fixedGamma(eNev,IP,raiseFlag,raiseVal,OutPart,sig,flux_enu)
PURPOSE
This subroutine calculates the cross section for EM setup given with fixed kinematics, read in from namelist 'HiPhoton
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
- type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
- real :: raiseVal -- the actual value of the running variable (i.e. elepton, enu, costheta, ...)
- type(particle), dimension(:) :: OutPart -- FinalState particles
- real :: sig -- calculated cross section
NOTES
raiseFlag, raiseVal, flux_enu make no sense here, so code stops if these are given.
Attention: with this mode, the cross section is divided by the flux, i.e.
sigma_T + epsilon sigma_L
is returned. The unit is \mu b !
neutrinoSigma/getCosthetaLimits [ Subroutines ]
[ Top ] [ neutrinoSigma ] [ Subroutines ]
NAME
subroutine getCosthetaLimits(costheta_min,costheta_max)
PURPOSE
This subroutine returns the limits in costheta.
OUTPUT
- real :: costheta_min
- real :: costheta_max
neutrinoSigma/getEleptonLimits [ Subroutines ]
[ Top ] [ neutrinoSigma ] [ Subroutines ]
NAME
subroutine getEleptonLimits(IP,eNev,elepton_min,elepton_max)
PURPOSE
This subroutine returns the limits in elepton depending on the neutrino energy.
INPUTS
- type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
- integer :: IP -- ID of outgoing hadron/process
OUTPUT
- real :: elepton_min
- real :: elepton_max
neutrinoSigma/getQ2Limits [ Subroutines ]
[ Top ] [ neutrinoSigma ] [ Subroutines ]
NAME
subroutine getQ2Limits(eNev,elepton,Q2_min,Q2_max)
PURPOSE
This subroutine returns the limits in Q2 depending on the neutrino energy and the energy of the outgoing lepton.
INPUTS
- type(electronNucleon_event) :: eNev -- the Lepton-Nucleon Event
- real :: elepton -- energy of outgoing lepton
OUTPUT
- real :: Q2_min
- real :: Q2_max
neutrinoSigma/checkLimits [ Functions ]
[ Top ] [ neutrinoSigma ] [ 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 checkQ2Limits=.false.
INPUTS
- real :: X_min,X_max,X
neutrinoSigma/get_sigma_namelist [ Subroutines ]
[ Top ] [ neutrinoSigma ] [ Subroutines ]
NAME
subroutine get_sigma_namelist(XsectionMode, Genu, Gelepton, Gcostheta)
PURPOSE
This function returns global parameters. It first checks, whether it has to read the jobcard. Please note, that all arguments are optional and the name has to be given explicitely.
INPUTS
- integer, optional :: XsectionMode
OUTPUT
- real,optional :: Genu
- real,optional :: Gcostheta,
- real,optional :: Gelepton