TABLE OF CONTENTS
- 1. /lepton2p2h
- 1.1. lepton2p2h/ME_Version
- 1.2. lepton2p2h/ME_Norm_QE
- 1.3. lepton2p2h/ME_Norm_Delta
- 1.4. lepton2p2h/ME_Mass_QE
- 1.5. lepton2p2h/ME_Mass_Delta
- 1.6. lepton2p2h/readInput
- 1.7. lepton2p2h/Lepton2p2h
- 1.8. lepton2p2h/lepton2p2h_SelectN2
- 1.9. lepton2p2h/lepton2p2h_XS
- 1.9.1. lepton2p2h_XS/ME_Monopole
- 1.9.2. lepton2p2h_XS/ME_Monopole_transverse
- 1.9.3. lepton2p2h_XS/ME_Dipole
- 1.9.4. lepton2p2h_XS/ME_Dipole_transverse
- 1.9.5. lepton2p2h_XS/ME_von_qz2_transverse
- 1.9.6. lepton2p2h_XS/ME_Bosted_transverse
- 1.10. lepton2p2h/lepton2p2h_FinalState
- 1.11. lepton2p2h/lepton2p2h_DoQE
- 1.12. lepton2p2h/lepton2p2h_DoDelta
/lepton2p2h [ Modules ]
NAME
module lepton2p2h
PURPOSE
Do all the internals for 2p2h scattering:
EM:
- ell N1 N2 --> ell' N1' N2' == gamma* N1 N2 --> N1' N2'
- ell N1 N2 --> ell' N Delta == gamma* N1 N2 --> N Delta
NC:
CC:
- nu N1 N2 --> ell- N1' N2' (sum of hadronic charges increases by +1)
- nu N1 N2 --> ell- N Delta ( -- " -- )
antiEM, antiNC and antiCC are the same as EM, NC, CC.
lepton2p2h/ME_Version [ Global module-variables ]
[ Top ] [ lepton2p2h ] [ Global module-variables ]
PURPOSE
indicate the type of matrix element parametrisation
SOURCE
integer, save :: ME_Version = 8 ! ! possible values: ! * 1: Monopole parametrisation (cf. const*ME_Norm_XX/(1+ Q^2/ME_Mass_XX^2)^2 ) ! const for CC fitted to MiniBooNE is 3.5e-6 ! * 2: Monopole parameterization in transverse part only ! const for CC fitted to MiniBooNE is 1e-4 ! * 3: Monopole with suppressed low Q2 ( ME_Norm_XX*Q2/(1+ Q^2/ME_Mass_XX^2)^2 ) ! * 4: const ME_Norm_XX ! const for CC fitted to MiniBooNE is 1.8e-6 ! * 5: const with transverse part only ! * 6: fall with W ! * 7: as 4 and decreasing with Enu ! * 8: as 5 and decreasing with Enu ! * 9: exponential fall with Q2 ! * 10: transverse, exponential fall with Q2 ! * 11: ! * 12: "Dipole transverse" transverse, fall with Q2 as 4-th power ! * 13: transverse, fall with Enu ! * 14: transverse, fall with qz^2 ! * 15: like Bosted arXiV:1203.2262 and transverse
lepton2p2h/ME_Norm_QE [ Global module-variables ]
[ Top ] [ lepton2p2h ] [ Global module-variables ]
PURPOSE
Parametrisation of matrix element, parameter no. 1,
for (EM,CC,NC)
SOURCE
real,dimension(1:3), save :: ME_Norm_QE = (/1.0, 1.0, 1.0/)
NOTES
The value == 1 is a dummy value
lepton2p2h/ME_Norm_Delta [ Global module-variables ]
[ Top ] [ lepton2p2h ] [ Global module-variables ]
PURPOSE
Parametrisation of matrix element, parameter no. 1,
for (EM,CC,NC)
SOURCE
real,dimension(1:3), save :: ME_Norm_Delta = (/1.0, 1.0, 1.0/)
NOTES
The value == 1 is a dummy value
lepton2p2h/ME_Mass_QE [ Global module-variables ]
[ Top ] [ lepton2p2h ] [ Global module-variables ]
PURPOSE
Parametrisation of matrix element, parameter no. 2
for (EM,CC,NC)
SOURCE
real,dimension(1:3), save :: ME_Mass_QE = (/1.0, 1.0, 1.0/)
NOTES
The value == 1 is a dummy value
lepton2p2h/ME_Mass_Delta [ Global module-variables ]
[ Top ] [ lepton2p2h ] [ Global module-variables ]
PURPOSE
Parametrisation of matrix element, parameter no. 2
for (EM,CC,NC)
SOURCE
real,dimension(1:3), save :: ME_Mass_Delta = (/1.0, 1.0, 1.0/)
NOTES
The value == 1 is a dummy value
lepton2p2h/readInput [ Subroutines ]
[ Top ] [ lepton2p2h ] [ Subroutines ]
NAME
subroutine readInput
lepton2p2h/Lepton2p2h [ Namelists ]
[ Top ] [ lepton2p2h ] [ Namelists ]
NAME
NAMELIST /Lepton2p2h/
PURPOSE
Includes parameters for QE events:
lepton2p2h/lepton2p2h_SelectN2 [ Subroutines ]
[ Top ] [ lepton2p2h ] [ Subroutines ]
NAME
subroutine lepton2p2h_SelectN2(eN)
PURPOSE
Finds the second nucleon for the 2p2h collision
INPUTS
- type(electronNucleon_event) :: eN -- electron-Nucleon event info
OUTPUT
- type(electronNucleon_event) :: eN -- a second nucleon is added
NOTES
- The seond particle is generated analytically, not by selecting a testparticle from the real particle vector.
- This is at a very basic level. You may add more sophisticated features as eq. two-particle correlatione etc.
- A threshold check Wfree>(2*mN+1MeV) is performed
lepton2p2h/lepton2p2h_XS [ Functions ]
[ Top ] [ lepton2p2h ] [ Functions ]
NAME
real function lepton2p2h_XS(eN,outPart,DoQE)
PURPOSE
calculate the electron induced 2p2h-QE cross section
INPUTS
- type(electronNucleon_event) :: eN -- electron-Nucleon event info
- type(particle),dimension(:) :: OutPart -- the outgoing particles
- logical :: DoQE -- .true. for NN final state, .false. for N Delta
OUTPUT
- the function value
NOTES
- One has to give a realistic parametrization of the matrix element
- If one randomly selects the position of the second particle, one has to respect this in the XS calculation (and maybe not to multiply it with the density at the position)
lepton2p2h_XS/ME_Monopole [ Functions ]
[ Top ] [ lepton2p2h_XS ] [ Functions ]
NAME
real function ME_Monopole(eN)
PURPOSE
calculate the matrix element according the monopole parametrisation of the "form factor" so that the ME falls down as dipole
lepton2p2h_XS/ME_Monopole_transverse [ Functions ]
[ Top ] [ lepton2p2h_XS ] [ Functions ]
NAME
real function ME_dipole_transverse(eN)
PURPOSE
calculate the 2p2h matrix element according to W_1(g_munu -q_um q_nu /Q2) * L^munu so that the contribution is only to the transverse part
NOTES
You have full access to all incoming and outgoing particles:
- eN%lepton_in -- incoming lepton
- eN%nucleon -- incoming nucleon 1
- eN%nucleon2 -- incoming nucleon 2
exchanged boson:
- eN%boson -- exchanged boson
even without considering the final state particles, you know the kind of process via 'eN%idProcess', which may take the values EM,NC,CC and also antiEM,antiNC,antiCC
lepton2p2h_XS/ME_Dipole [ Functions ]
[ Top ] [ lepton2p2h_XS ] [ Functions ]
NAME
real function ME_Dipole(eN)
PURPOSE
calculate the 2p2h matrix element according the dipole parametrisation
lepton2p2h_XS/ME_Dipole_transverse [ Functions ]
[ Top ] [ lepton2p2h_XS ] [ Functions ]
NAME
real function ME_Dipole_transverse(eN)
PURPOSE
calculate the 2p2h matrix element according to W_1(g_munu -q_um q_nu /Q2) * L^munu so that the contribution is only to the transverse part
NOTES
You have full access to all incoming and outgoing particles:
- eN%lepton_in -- incoming lepton
- eN%nucleon -- incoming nucleon 1
- eN%nucleon2 -- incoming nucleon 2
exchanged boson:
- eN%boson -- exchanged boson
even without considering the final state particles, you know the kind of process via 'eN%idProcess', which may take the values EM,NC,CC and also antiEM,antiNC,antiCC
lepton2p2h_XS/ME_von_qz2_transverse [ Functions ]
[ Top ] [ lepton2p2h_XS ] [ Functions ]
NAME
real function ME_von_qz2_transverse(eN)
PURPOSE
calculate the 2p2h matrix element according to W_1(g_munu -q_um q_nu /Q2) * L^munu so that the contribution is only to the transverse part
NOTES
You have full access to all incoming and outgoing particles:
- eN%lepton_in -- incoming lepton
- eN%nucleon -- incoming nucleon 1
- eN%nucleon2 -- incoming nucleon 2
exchanged boson:
- eN%boson -- exchanged boson
even without considering the final state particles, you know the kind of process via 'eN%idProcess', which may take the values EM,NC,CC and also antiEM,antiNC,antiCC
lepton2p2h_XS/ME_Bosted_transverse [ Functions ]
[ Top ] [ lepton2p2h_XS ] [ Functions ]
NAME
real function ME_Bosted_transverse(eN)
PURPOSE
calculate the 2p2h matrix element according to W_1(g_munu -q_um q_nu /Q2) * L^munu so that the contribution is only to the transverse part W1 is taken from Bosted, Mamyan arXiv:1303.2262
NOTES
You have full access to all incoming and outgoing particles:
- eN%lepton_in -- incoming lepton
- eN%nucleon -- incoming nucleon 1
- eN%nucleon2 -- incoming nucleon 2
exchanged boson:
- eN%boson -- exchanged boson
even without considering the final state particles, you know the kind of process via 'eN%idProcess', which may take the values EM,NC,CC and also antiEM,antiNC,antiCC
lepton2p2h/lepton2p2h_FinalState [ Subroutines ]
[ Top ] [ lepton2p2h ] [ Subroutines ]
NAME
subroutine lepton2p2h_FinalState(eN,outPart,DoQE,flagOK)
PURPOSE
Generate the final state of the electron 2p2h event
lepton2p2h/lepton2p2h_DoQE [ Subroutines ]
[ Top ] [ lepton2p2h ] [ Subroutines ]
NAME
subroutine lepton2p2h_DoQE(eN,outPart,XS)
PURPOSE
Do all the electron induced 2p2h-QE scattering gamma* N1 N2 -> N1' N2'
INPUTS
- type(electronNucleon_event) :: eN -- electron-Nucleon event info
OUTPUT
- type(particle), dimension(:) :: OutPart -- the two produced nucleons
- real :: XS -- the cross section
lepton2p2h/lepton2p2h_DoDelta [ Subroutines ]
[ Top ] [ lepton2p2h ] [ Subroutines ]
NAME
subroutine lepton2p2h_DoDelta(eN,outPart,XS)
PURPOSE
Do all the electron induced 2p2h-QE scattering gamma* N1 N2 -> N Delta
INPUTS
- type(electronNucleon_event) :: eN -- electron-Nucleon event info
OUTPUT