TABLE OF CONTENTS
- 1. /initNeutrino
- 1.1. initNeutrino/process_ID
- 1.2. initNeutrino/flavor_ID
- 1.3. initNeutrino/nuXsectionMode
- 1.4. initNeutrino/nuExp
- 1.5. initNeutrino/Enu_upper_cut
- 1.6. initNeutrino/Enu_lower_cut
- 1.7. initNeutrino/debugFlag
- 1.8. initNeutrino/includeQE
- 1.9. initNeutrino/includeDELTA
- 1.10. initNeutrino/includeRES
- 1.11. initNeutrino/include1pi
- 1.12. initNeutrino/include2pi
- 1.13. initNeutrino/includeDIS
- 1.14. initNeutrino/include2p2hQE
- 1.15. initNeutrino/include2p2hDelta
- 1.16. initNeutrino/realRun
- 1.17. initNeutrino/sigmacut
- 1.18. initNeutrino/readInput
- 1.19. initNeutrino/neutrino_induced
- 1.20. initNeutrino/init_neutrino
- 1.20.1. init_neutrino/DoInit
- 1.20.2. init_neutrino/DoWrite
- 1.21. initNeutrino/neutrino.NuQ2planeXS.ZZZ.dat
- 1.22. initNeutrino/neutrino.Q2NuplaneXS.ZZZ.dat
- 1.23. initNeutrino/neutrino.EprimeCostplaneXS.ZZZ.dat
- 1.24. initNeutrino/neutrino.XYplaneXS.ZZZ.dat
- 1.25. initNeutrino/neutrino.NuXS.ZZZ.dat
- 1.26. initNeutrino/neutrino.Q2XS.ZZZ.dat
- 1.27. initNeutrino/neutrino.XXS.ZZZ.dat
- 1.28. initNeutrino/neutrino.WfreeXS.ZZZ.dat
- 1.29. initNeutrino/neutrino_absorption_cross_section.dat
- 1.30. initNeutrino/neutrino_absorption_cross_section_ALL.dat
- 1.31. initNeutrino/neutrino_absorption_cross_section_QE.dat
- 1.32. initNeutrino/neutrino_absorption_cross_section_Delta.dat
- 1.33. initNeutrino/neutrino_absorption_cross_section_highRES.dat
- 1.34. initNeutrino/neutrino_absorption_cross_section_1pi.dat
- 1.35. initNeutrino/neutrino_absorption_cross_section_DIS.dat
- 1.36. initNeutrino/neutrino_absorption_cross_section_numbers.dat
- 1.37. initNeutrino/get_init_namelist
- 1.38. initNeutrino/get_runtime_vars
/initNeutrino [ Modules ]
NAME
module initNeutrino
! PURPOSEsXsectionMode This module is the main module for neutrino-induced reactions. It handles the calculation of various neutrino cross sections, depending on the choice of the user for each entry in the particle vector and finally, it sets the produced output in the pertubativeVector.
initNeutrino/process_ID [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
integer, save :: process_ID=2
PURPOSE
Determine the process (cf. module leptonicID):
- 1 = EM
- 2 = CC
- 3 = NC
- -1 = antiEM
- -2 = antiCC
- -3 = antiNC
initNeutrino/flavor_ID [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
integer, save :: flavor_ID=2
PURPOSE
Determine the lepton flavor:
- 1 = electron
- 2 = muon
- 3 = tau
initNeutrino/nuXsectionMode [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
integer, save :: nuXsectionMode=0
PURPOSE
To choose which kind of Xsection is calculated:
- 0 = integratedSigma: required input: enu
- 1 = dSigmadCosThetadElepton: required input: enu, costheta, elepton
- 2 = dSigmadQsdElepton: required input: enu, Qs, elepton
- 3 = dSigmadQs: required input: enu, Qs
- 4 = dSigmadCosTheta: required input: enu, costheta
- 5 = dSigmadElepton: required input: enu, elepton
- 6 = dSigmaMC: required input: enu
- 7 = dSigmadW: required input: enu, W
calculation for specific experiments taking into account the flux (choose your favorite experiment with flag nuExp):
- 10 = EXP_dSigmadEnu
- 11 = EXP_dSigmadCosThetadElepton
- 12 = EXP_dSigmadQsdElepton
- 13 = EXP_dSigmadQs
- 14 = EXP_dSigmadCosTheta
- 15 = EXP_dSigmadElepton
- 16 = EXP_dSigmaMC
- 17 = EXP_dSigmadW
initNeutrino/nuExp [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
integer, save :: nuExp=0
PURPOSE
- 0 = no specific experiment
- 1 = MiniBooNE neutrino flux (in neutrino mode = positive polarity)
- 2 = ANL
- 3 = K2K
- 4 = BNL
- 5 = MiniBooNE antienutrino flux (in antineutrino mode = negative polarity)
- 6 = MINOS muon-neutrino in neutrino mode
- 7 = MINOS muon-antineutrino in neutrino mode
- 8 = NOVA neutrino (medium energy NuMI, 14 mrad off-axis)
- 9 = T2K neutrino off-axix 2.5 degrees ( at ND280 detector )
- 10 = uniform distribution from Eflux_min to Eflux_max (see namelist nl_neutrino_energyFlux in the module expNeutrinoFluxes)
- 11 = MINOS muon-neutrino in antineutrino mode
- 12 = MINOS muon-antineutrino in antineutrino mode
- 13 = MINERvA muon neutrino
- 14 = MINERvA muon antineutrino
- 15 = LBNE neutrino
- 16 = LBNE antineutrino
initNeutrino/Enu_upper_cut [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
real, save :: Enu_upper_cut=200.
PURPOSE
cut events with neutrino energy above Enu_upper_cut for ANL experiment, for example, Enu_upper_cut=1.5 for ppi0 and npi+ final state, but 5.98 for ppi+
initNeutrino/Enu_lower_cut [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
real, save :: Enu_lower_cut=0.
PURPOSE
cut events with neutrino energy below Enu_lower_cut for ANL experiment, for example, Enu_lower_cut=0.5 some analysis of the ppi+
initNeutrino/debugFlag [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
logical, save :: debugFlag=.false.
PURPOSE
To switch on debugging information
initNeutrino/includeQE [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
logical, save :: includeQE=.true.
PURPOSE
include QE scattering
initNeutrino/includeDELTA [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
logical, save :: includeDELTA=.true.
PURPOSE
include Delta excitation
initNeutrino/includeRES [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
logical, save :: includeRES=.true.
PURPOSE
include excitation of higher resonances
initNeutrino/include1pi [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
logical, save :: include1pi=.false.
PURPOSE
include one-pion cross section see neutrinoXsection.f90 for details: there one might choose between different models and also whether it is taken as background or as total cross section
initNeutrino/include2pi [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
logical, save :: include2pi=.false.
PURPOSE
include 2 pion background channel
initNeutrino/includeDIS [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
logical, save :: includeDIS=.false.
PURPOSE
include DIS contribution
initNeutrino/include2p2hQE [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
logical, save :: include2p2hQE=.false.
PURPOSE
include 2p2h QE contribution
initNeutrino/include2p2hDelta [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
logical, save :: include2p2hDelta=.false.
PURPOSE
include 2p2h Delta contribution
initNeutrino/realRun [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
logical, save :: realRun=.false.
PURPOSE
Do not initialize the final state particles as perturbative particles but as real ones.
initNeutrino/sigmacut [ Global module-variables ]
[ Top ] [ initNeutrino ] [ Global module-variables ]
SOURCE
real, save :: sigmacut=10e-4
PURPOSE
...
initNeutrino/readInput [ Subroutines ]
[ Top ] [ initNeutrino ] [ Subroutines ]
NAME
subroutine readInput
PURPOSE
This subroutine reads input out of jobcard from namelist 'neutrino_induced'.
initNeutrino/neutrino_induced [ Namelists ]
[ Top ] [ initNeutrino ] [ Namelists ]
NAME
NAMELIST /neutrino_induced/
PURPOSE
This Namelist includes:
- process_ID
- flavor_ID
- nuXsectionMode
- nuExp
- debugFlag
- includeQE
- includeDELTA
- includeRES
- include1pi
- include2pi
- includeDIS
- include2p2hQE
- include2p2hDelta
- sigmacut
- realRun
initNeutrino/init_neutrino [ Subroutines ]
[ Top ] [ initNeutrino ] [ Subroutines ]
NAME
subroutine init_neutrino(realParticles,pertParticles,raiseFlagIn, num_runs_sameEnergy,targetNuc)
PURPOSE
This subroutine initializes a neutrino event on each nucleon in the realparticles vector (given to the routine). The resulting particles are set into the pertParticles vector. The reaction process is determined by the values read in by 'readInput':
The user might also choose which contributions should be included (QE, DELTA and/or higher resonances) and whether the calculation should be done for a specific experiment.
INPUTS
- type(particle), dimension(:,:) :: realParticles
- integer :: num_runs_sameEnergy
- logical :: raiseFlagIn -- if .true. then the energy etc is raised by raiseValue
- type(tnucleus), pointer :: targetNuc
OUTPUT
- type(particle), dimension(:,:) :: pertParticles
initNeutrino/neutrino.NuQ2planeXS.ZZZ.dat [ Output files ]
[ Top ] [ initNeutrino ] [ Output files ]
NAME
file neutrino.NuQ2planeXS.ZZZ.dat, ZZZ=000 - 008
PURPOSE
This files provides absorption cross section in the nu(transferred energy)-Q^2 plane. Format is suitable as input to gnuplots "splot" command
The units are 10^{-38} cm^2/GeV^3 for process_ID=CC, NC and 10^{-33} cm^2/GeV^3 for EM
ZZZ = ...:
- 000: sum over all channels
- 001: QE cross section
- 002: Delta
- 003: highRES
- 004: 1pi
- 005: DIS
- 006: 2p2h QE
- 007: 2p2h Delta
- 008: 2pi background
Columns:
- #1: nu (transfered energy), GeV
- #2: Q^2, GeV^2
- #3: cross section
- #4: number of entries that lead to cross section
- #5: should be ignored
initNeutrino/neutrino.Q2NuplaneXS.ZZZ.dat [ Output files ]
[ Top ] [ initNeutrino ] [ Output files ]
NAME
file neutrino.Q2NuplaneXS.ZZZ.dat
PURPOSE
Nearly the same as neutrino.NuQ2planeXS.ZZZ.dat, but:
- #1: Q^2, GeV^2
- #2: nu, GeV
initNeutrino/neutrino.EprimeCostplaneXS.ZZZ.dat [ Output files ]
[ Top ] [ initNeutrino ] [ Output files ]
NAME
file neutrino.EprimeCostplaneXS.ZZZ.dat, ZZZ=000 - 008
PURPOSE
This files provides absorption cross section in the Eprime(energy of the outgoing lepton)-costheta(cos of the angle between the incoming and outgoing leptons) plane. Format is suitable as input to gnuplots "splot" command
The units are 10^{-38} cm^2/GeV for process_ID=CC, NC and 10^{-33} cm^2/GeV for EM
ZZZ is the origin (the first interaction vertex) of the event:
- 000: sum over all origins
- 001: QE cross section
- 002: Delta
- 003: highRES
- 004: 1pi
- 005: DIS
- 006: 2p2h QE
- 007: 2p2h Delta
- 008: 2pi background
Columns:
- #1: Eprime (energy of the outgoing lepton), GeV
- #2: costheta(cos of the angle between the incoming and outgoing leptons)
- #3: cross section
- #4: number of entries that lead to cross section
- #5: should be ignored
initNeutrino/neutrino.XYplaneXS.ZZZ.dat [ Output files ]
[ Top ] [ initNeutrino ] [ Output files ]
NAME
file neutrino.XYplaneXS.ZZZ.dat ZZZ=000 - 008 is the origin (the first interaction vertex) of the event:
(see description in neutrino.EprimeCostplaneXS.ZZZ.dat)
PURPOSE
This files provides absorption cross section in the x_{Bjorken}-y(=nu/Enu) plane. Format is suitable as input to gnuplots "splot" command
The units are 10^{-38} cm^2 for process_ID=CC, NC and 10^{-33} cm^2 for EM
Columns:
- #1: x_Bjorken
- #2: y (=nu/Enu)
- #3: cross section
- #4: number of entries that lead to cross section
- #5: should be ignored
initNeutrino/neutrino.NuXS.ZZZ.dat [ Output files ]
[ Top ] [ initNeutrino ] [ Output files ]
NAME
file neutrino.NuXS.ZZZ.dat ZZZ=000 - 008 is the origin (the first interaction vertex) of the event:
(see description in neutrino.EprimeCostplaneXS.ZZZ.dat)
PURPOSE
This files provides absorption cross section versus nu(=transfered energy) Format is suitable as input to gnuplots "splot" command
The units are 10^{-38} cm^2/GeV for process_ID=CC, NC and 10^{-33} cm^2/GeV for EM
Columns:
- #1: nu (transfered energy), GeV
- #2: cross section
- #3: number of entries that lead to cross section
- #4: should be ignored
initNeutrino/neutrino.Q2XS.ZZZ.dat [ Output files ]
[ Top ] [ initNeutrino ] [ Output files ]
NAME
file neutrino.NuQ2.ZZZ.dat
PURPOSE
Similar to neutrino.NuXS.ZZZ.dat, but versus Q2
Coulmns:
- #1: Q2 , GeV^2
initNeutrino/neutrino.XXS.ZZZ.dat [ Output files ]
[ Top ] [ initNeutrino ] [ Output files ]
NAME
file neutrino.XXS.ZZZ.dat
PURPOSE
Similar to neutrino.NuXS.ZZZ.dat, but versus x_Bjorken
Columns:
- #1: x_Bjorken
initNeutrino/neutrino.WfreeXS.ZZZ.dat [ Output files ]
[ Top ] [ initNeutrino ] [ Output files ]
NAME
file neutrino.WfreeXS.ZZZ.dat
PURPOSE
Similar to neutrino.NuXS.ZZZ.dat, but versus Wfree=qsrt(mN^2+2*mN*nu-Q2) , where mN=0.938 GeV = nucleon mass (see constants.f90)
Columns:
- #1: Wfree , GeV^2
init_neutrino/DoInit [ Subroutines ]
[ Top ] [ init_neutrino ] [ Subroutines ]
NAME
subroutine DoInit
PURPOSE
Doing the actual initialzation steps
initNeutrino/neutrino_absorption_cross_section.dat [ Output files ]
[ Top ] [ initNeutrino ] [ Output files ]
NAME
file neutrino_absorption_cross_section.dat
PURPOSE
The file is produced in the runs with eventtype=5=neutrino .
The file shows the absorption cross section for lepton ( neutrino or charged lepton) scattering for the sum of all channels which were set to TRUE in the namelist "neutrino_induced" ( QE+Delta+highRES+1pi+DIS if includeQE, includeDELTA, includeRES, include1pi, includeDIS were TRUE)
For process_ID=CC and NC the units 10^{-38} cm^2 for integrated xsec (10^{-38)cm^2/GeV for dsigma/dElepton, 10^{-38)cm^2/GeV^2 for dsigma/dQ^2, and so on) For process_ID=EM the units are nanobars=10^{-33}cm^2
Columns:
- #1: variable which was raised (e.g. Q^2 for nuXsectionMode=3=dSigmadQs mode, Elepton for nuXsectionMode=2=dSigmadQsdElepton and so on)
- #2: cross section
initNeutrino/neutrino_absorption_cross_section_ALL.dat [ Output files ]
[ Top ] [ initNeutrino ] [ Output files ]
NAME
file neutrino_absorption_cross_section_ALL.dat
PURPOSE
More detailed information than in neutrino_absorption_cross_section.dat:
Columns:
- #1: variable which was raised (the same as neutrino_absorption_cross_section.dat) (e.g. Q^2 for nuXsectionMode=3=dSigmadQs mode, Elepton for nuXsectionMode=2=dSigmadQsdElepton )
- #2: cross section, sum over all channels (the same as neutrino_absorption_cross_section.dat)
- #3: cross section for QE events (the same as column 2 in neutrino_absorption_cross_section_QE.dat)
- #4: cross section for DELTA events (the same as column 2 in neutrino_absorption_cross_section_Delta.dat)
- #5: cross section for hihgRES events (the same as column 2 in neutrino_absorption_cross_section_highRES.dat)
- #6: cross section for 1pi events (the same as column2+column3 in neutrino_absorption_cross_section_1pi.dat)
- #7: cross section for DIS events (the same as column 2 in neutrino_absorption_cross_section_DIS.dat)
- #8: cross section for 2p2h QE events
- #9: cross section for 2p2h Delta events
- #10: cross section for 2 pion background events
initNeutrino/neutrino_absorption_cross_section_QE.dat [ Output files ]
[ Top ] [ initNeutrino ] [ Output files ]
NAME
file neutrino_absorption_cross_section_QE.dat
PURPOSE
The same structure as neutrino_absorption_cross_section.dat, but only for QE events (=the first interaction act was quasielastic or elastis scattering)
initNeutrino/neutrino_absorption_cross_section_Delta.dat [ Output files ]
[ Top ] [ initNeutrino ] [ Output files ]
NAME
file neutrino_absorption_cross_section_Delta.dat
PURPOSE
The same structure as neutrino_absorption_cross_section.dat, but only for Delta production events (=the first interaction was production of the Delta resonance)
initNeutrino/neutrino_absorption_cross_section_highRES.dat [ Output files ]
[ Top ] [ initNeutrino ] [ Output files ]
NAME
file neutrino_absorption_cross_section_highRES.dat
PURPOSE
The same structure as neutrino_absorption_cross_section.dat, but only for highRES production events (=the first interaction was production of any resonance beyond Delta)
initNeutrino/neutrino_absorption_cross_section_1pi.dat [ Output files ]
[ Top ] [ initNeutrino ] [ Output files ]
NAME
file neutrino_absorption_cross_section_1pi.dat
PURPOSE
Nearly the same structure as neutrino_absorption_cross_section.dat, but only for nonresonant 1-pion production events (=the first interaction was production of 1-pion final state)
Columns:
- #2: cross section for the channel with neutron in the final state ("final" here is "after the first interaction act", that is before final state interactions, e.g. nu n \to mu- n pi^0)
- #3: cross section for the channel with proton in the final state, e.g. nu n \to mu- p pi^-)
initNeutrino/neutrino_absorption_cross_section_DIS.dat [ Output files ]
[ Top ] [ initNeutrino ] [ Output files ]
NAME
file neutrino_absorption_cross_section_DIS.dat
PURPOSE
The same structure as neutrino_absorption_cross_section.dat, but only for DIS production events (=the first interaction was DIS)
initNeutrino/neutrino_absorption_cross_section_numbers.dat [ Output files ]
[ Top ] [ initNeutrino ] [ Output files ]
NAME
file neutrino_absorption_cross_section_numbers.dat
PURPOSE
Shows the number of test particles which interacted (here we mean the first interaction) via various channels
Columns:
- #1: variable which was raised (the same as neutrino_absorption_cross_section.dat) (e.g. Q^2 for nuXsectionMode=3=dSigmadQs mode, Elepton for nuXsectionMode=2=dSigmadQsdElepton )
- #2: QE channel
- #3: Delta production
- #4: P_{11}(1440) production
- #5: S_{11}(1535) production
- #6: D_{13}(1520) production
- #7: neutron and pi+ in the final state
- #8: proton and pi0 in the final state
- #9: number of test particles that underwent any kind of interaction
- #10: number of test particles (= number of tries)
init_neutrino/DoWrite [ Subroutines ]
[ Top ] [ init_neutrino ] [ Subroutines ]
NAME
subroutine DoWrite
PURPOSE
Doing the write out of most data
initNeutrino/get_init_namelist [ Subroutines ]
[ Top ] [ initNeutrino ] [ Subroutines ]
NAME
subroutine get_init_namelist(process_ID, flavor_ID, nuXsectionMode, nuExp, debugflag, includeQE, includeDELTA, includeRES, include1pi, realRun)
PURPOSE
This subroutine returns any entry of the neutrino init namelist.
OUTPUT
- logical, optional :: debugflag,includeQE,includeDELTA, includeRES,include1pi,realRun
- integer, optional :: process_ID,flavor_ID,nuXsectionMode,nuExp
initNeutrino/get_runtime_vars [ Subroutines ]
[ Top ] [ initNeutrino ] [ Subroutines ]
NAME
subroutine get_runtime_vars(sigabsArrFinal,sigabsArr)
PURPOSE
This subroutine returns variables that are changed with every init.
OUTPUT
- real,dimension(0:max_finalstate_ID),optional :: sigabsArrFinal, sigabsArr