TABLE OF CONTENTS
- 1. /initLowElectron
- 1.1. initLowElectron/runType
- 1.2. initLowElectron/inputType
- 1.3. initLowElectron/theta_lf
- 1.4. initLowElectron/phi_lf
- 1.5. initLowElectron/QSquared
- 1.6. initLowElectron/energy_li
- 1.7. initLowElectron/energy_lf
- 1.8. initLowElectron/delta_energy_lf
- 1.9. initLowElectron/W_min
- 1.10. initLowElectron/W_max
- 1.11. initLowElectron/energy_lf_min
- 1.12. initLowElectron/energy_lf_max
- 1.13. initLowElectron/Do_QE
- 1.14. initLowElectron/minMass_QE
- 1.15. initLowElectron/Do_1Pi
- 1.16. initLowElectron/Do_2Pi
- 1.17. initLowElectron/Do_DIS
- 1.18. initLowElectron/Do_2p2hQE
- 1.19. initLowElectron/Do_2p2hDelta
- 1.20. initLowElectron/Do_Res
- 1.21. initLowElectron/useRes
- 1.22. initLowElectron/onlyDelta
- 1.23. initLowElectron/nuclearTarget_corr
- 1.24. initLowElectron/minEnergy_1pi
- 1.25. initLowElectron/low_Ele_incXsection
- 1.26. initLowElectron/init_lowElectron
- 1.27. initLowElectron/initLowElectron_protocol.log
- 1.28. initLowElectron/originXS.dat
- 1.29. initLowElectron/le_get_energy_lf
- 1.30. initLowElectron/le_get_energy_li
- 1.31. initLowElectron/le_get_theta_lf
- 1.32. initLowElectron/initInput
- 1.33. initLowElectron/LowElectron
- 1.34. initLowElectron/resetFirstEvent
- 1.35. initLowElectron/getFirstEvent
- 1.36. initLowElectron/le_get_FirstEventRange
- 1.37. initLowElectron/le_get_QSquared
- 1.38. initLowElectron/writeOriginXS
/initLowElectron [ Modules ]
NAME
module initLowElectron
PURPOSE
This module includes a initilization routine for low energetic electron induced events (Resonance region)
INPUTS
The Namelist "LowElectron" in the Jobcard.
initLowElectron/runType [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
integer, save :: runType=1
PURPOSE
- 1: we make runs at some fixed angle defined by initLowElectron/theta_lf.
- 2: we make runs at some fixed QSquared defined by initLowElectron/QSquared
initLowElectron/inputType [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
integer, save :: inputType=1
PURPOSE
Decides which set of variables is used to determine the final electron energy energy_lf and the step size delta_energy_lf:
- 1: we use directly energy_lf and delta_energy_lf as input
- 2: we use W_min and W_max as input. For this we assume the nucleon to be at rest to calculate energy_lf out of W.
- 3: we use energy_lf_min and energy_lf_max as input.
initLowElectron/theta_lf [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
real,save :: theta_lf=10.
PURPOSE
Theta scattering angle of outgoing electron with respect to the incoming one.
Only relevant of runType=1.
initLowElectron/phi_lf [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
real,save :: phi_lf=-10.
PURPOSE
Phi scattering angle of outgoing electron with respect to the incoming one. If less than 0, then we do a Monte-Carlo-Integration over phi!
initLowElectron/QSquared [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
real,save :: QSquared=0.5
PURPOSE
QSquared of virtual photon.
Only relevant of runType=2.
initLowElectron/energy_li [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
real,save :: energy_li=1.2
PURPOSE
Energy of incoming electron in GeV.
initLowElectron/energy_lf [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
real,save :: energy_lf=0.8
PURPOSE
Energy of final state electron in GeV.
Only used if inputType=1
initLowElectron/delta_energy_lf [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
real,save :: delta_energy_lf=0.8
PURPOSE
delta(Energy) of final state electron in GeV for energy scans.
Only used if inputType=1
initLowElectron/W_min [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
real,save :: W_min=0.9
PURPOSE
Minimal W at the hadronic vertex assuming a resting nucleon
Only used if inputType=2
initLowElectron/W_max [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
real,save :: W_max=1.9
PURPOSE
Maximal W at the hadronic vertex assuming a resting nucleon
Only used if inputType=2
initLowElectron/energy_lf_min [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
real,save :: energy_lf_min=0.1
PURPOSE
Minimal energy_lf
Only used if inputType=3
initLowElectron/energy_lf_max [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
real,save :: energy_lf_max=0.1
PURPOSE
Maximal energy_lf
Only used if inputType=3
initLowElectron/Do_QE [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
logical,save :: Do_QE=.true.
PURPOSE
Switch for including or excluding Quasi-Elastic (QE) processes
initLowElectron/minMass_QE [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
real,save :: minMass_QE=0.3
PURPOSE
Minimal mass of a nucleon in QE event. Prevents super-luminous nucleons when embedded in a Skyrme potential.
initLowElectron/Do_1Pi [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
logical,save :: Do_1Pi=.true.
PURPOSE
Switch for including or excluding direct Single pion production processes. If resonances are included (Do_Res=.true.), then only the background part is included.
initLowElectron/Do_2Pi [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
logical,save :: Do_2Pi=.true.
PURPOSE
Switch for including or excluding direct Double pion production processes. If resonances are included (Do_Res=.true.), then only the background part is included.
initLowElectron/Do_DIS [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
logical,save :: Do_DIS=.true.
PURPOSE
Switch for including or excluding deeply inelastic scattering (DIS) events
Only relevant for W > 1.4-1.5 GeV.
initLowElectron/Do_2p2hQE [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
logical,save :: Do_2p2hQE=.false.
PURPOSE
Switch for including or excluding event according gamma* N1 N2 -> N1' N2'
initLowElectron/Do_2p2hDelta [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
logical,save :: Do_2p2hDelta=.false.
PURPOSE
Switch for including or excluding event according gamma* N1 N2 -> N' Delta
initLowElectron/Do_Res [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
logical,save :: Do_Res=.true.
PURPOSE
Switch for including or excluding resonance production processes
initLowElectron/useRes [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
logical,save,dimension(2:nres+1) :: useRes=.true.
PURPOSE
Switch for including/excluding specific resonances
initLowElectron/onlyDelta [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
logical,save :: onlyDelta=.false.
PURPOSE
Switch for including only delta resonance
initLowElectron/nuclearTarget_corr [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
logical , save :: nuclearTarget_corr=.true.
PURPOSE
- If the input is a nuclear targer, then the target nucleus is at rest and we calculate the cross section for nuclear target: use flux with respect to the nucleus.
- Use .false. only for debugging.
initLowElectron/minEnergy_1pi [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
real, save :: minEnergy_1pi=0.16
PURPOSE
Minimal q_0 such that pion production processes are considered.
initLowElectron/low_Ele_incXsection [ Global module-variables ]
[ Top ] [ initLowElectron ] [ Global module-variables ]
SOURCE
real, save :: low_Ele_incXsection = 0
PURPOSE
Collects at event generagtion the inclusive cross section for each run, which can then be easily processed by analysis routines
initLowElectron/init_lowElectron [ Subroutines ]
[ Top ] [ initLowElectron ] [ Subroutines ]
NAME
subroutine init_lowElectron(realParticles,pertParticles,raiseEnergy,targetNuc)
PURPOSE
Initializes e^- A events.
INPUTS
- logical :: raiseEnergy -- if true than we increase energy_lf by delta_energy_lf
- type(particle), dimension(:,:) :: realParticles -- real particle vector
- type(particle), dimension(:,:) :: pertParticles -- perturbative particle vector
- type(tNucleus), pointer :: targetNuc -- target Nucleus
OUPTUT * type(particle), dimension(:,:) :: pertParticles -- perturbative particle vector
initLowElectron/initLowElectron_protocol.log [ Output files ]
[ Top ] [ initLowElectron ] [ Output files ]
NAME
file initLowElectron_protocol.log
PURPOSE
Logs the kinematics being used in the electron nucleus initialization
initLowElectron/originXS.dat [ Output files ]
[ Top ] [ initLowElectron ] [ Output files ]
NAME
file originXS.dat
PURPOSE
cross section seperated according origin, see Electron_origin.f90
given vales are 1/A d\sigma/dE´d\Omega given in mb/sr GeV
initLowElectron/le_get_energy_lf [ Functions ]
[ Top ] [ initLowElectron ] [ Functions ]
NAME
real function le_get_energy_lf()
PURPOSE
Returns energy_lf
initLowElectron/le_get_energy_li [ Functions ]
[ Top ] [ initLowElectron ] [ Functions ]
NAME
real function le_get_energy_li()
PURPOSE
Returns energy_li
initLowElectron/le_get_theta_lf [ Functions ]
[ Top ] [ initLowElectron ] [ Functions ]
NAME
real function le_get_theta_lf()
PURPOSE
Returns theta_lf
initLowElectron/initInput [ Subroutines ]
[ Top ] [ initLowElectron ] [ Subroutines ]
NAME
subroutine initInput
PURPOSE
Reads in job card and checks the settings of the input parameters.
initLowElectron/LowElectron [ Namelists ]
[ Top ] [ initLowElectron ] [ Namelists ]
NAME
NAMELIST /LowElectron/
PURPOSE
This Namelist includes:
- runType
- inputType
- theta_lf
- phi_lf
- energy_li
- energy_lf
- energy_lf_min
- energy_lf_max
- delta_energy_lf
- W_min
- W_max
- QSquared
- Do_QE
- Do_1Pi
- Do_Res
- Do_2Pi
- Do_DIS
- Do_2p2hQE
- Do_2p2hDelta
- minMass_QE
- minEnergy_1pi
- onlyDelta
- nuclearTarget_corr
NOTES
For runType=1 (fixed angle):
- real,save :: theta_lf
For runType=2 (fixed Qsquared):
- real,save :: QSquared
For inputType=1 (energy_lf as input, fixed step size):
- real,save :: energy_li
- real,save :: energy_lf
- real,save :: delta_energy_lf
- real,save :: W_min
- real,save :: W_max
- real,save :: delta_energy_lf
For inputType=3 (Energy_lf as input, step size according to number of runs):
- real,save :: energy_lf_min
- real,save :: energy_lf_max
For Quasi-elastic scattering:
For Pion production:
For Resonance excitations:
For 2Pi background:
For DIS events:
For 2p2h excitations:
Technical issues:
initLowElectron/resetFirstEvent [ Subroutines ]
[ Top ] [ initLowElectron ] [ Subroutines ]
NAME
subroutine resetFirstEvent
PURPOSE
Resets the firstEvent counter to zero when starting a new run.
initLowElectron/getFirstEvent [ Functions ]
[ Top ] [ initLowElectron ] [ Functions ]
NAME
integer function getFirstEvent()
PURPOSE
Each event gets another entry in %firstEvent. This function is used to set firstEvent.
initLowElectron/le_get_FirstEventRange [ Functions ]
[ Top ] [ initLowElectron ] [ Functions ]
NAME
function le_get_FirstEventRange()
PURPOSE
Each event gets another entry in %firstEvent. This entry is an integer value between 1 and number of events. This function returns the upper and lower limits of the range of %firstEvent.
OUTPUT
integer, dimension (1:2) :: getFirstEventRange
initLowElectron/le_get_QSquared [ Functions ]
[ Top ] [ initLowElectron ] [ Functions ]
NAME
real function le_get_Qsquared()
PURPOSE
Return the Q^2 value of the electron
OUTPUT
real :: le_get_QSquared()
initLowElectron/writeOriginXS [ Subroutines ]
[ Top ] [ initLowElectron ] [ Subroutines ]
NAME
subroutine writeOriginXS
PURPOSE
write line to file 'originXS.dat'