TABLE OF CONTENTS
- 1. /winkelVerteilung
- 1.1. winkelVerteilung/deltaPWave
- 1.2. winkelVerteilung/rho_pipi_nonIsotropic
- 1.3. winkelVerteilung/pionNucleon_backward
- 1.4. winkelVerteilung/pionNucleon_backward_exponent
- 1.5. winkelVerteilung/pionNucleon_backward_coeff
- 1.6. winkelVerteilung/NNisotropic
- 1.7. winkelVerteilung/iParam_gammaNVN
- 1.8. winkelVerteilung/NN_NR_noniso
- 1.9. winkelVerteilung/debug
- 1.10. winkelVerteilung/readInput
- 1.11. winkelVerteilung/angular_distribution
- 1.12. winkelVerteilung/winkel
- 1.13. winkelVerteilung/pscatt_Delta_PWave
- 1.14. winkelVerteilung/pscatt_VN_VX
- 1.15. winkelVerteilung/pscatt_gammaN_VN
- 1.16. winkelVerteilung/pscatt_piN_piN_backward
- 1.17. winkelVerteilung/pscatt_BarBar
- 1.18. winkelVerteilung/dsigdt_NRes
- 1.19. winkelVerteilung/pscatt_Rho_pipi_Distribution
/winkelVerteilung [ Modules ]
NAME
module winkelVerteilung
PURPOSE
Incorporates the functions used for angular distributions.
winkelVerteilung/deltaPWave [ Global module-variables ]
[ Top ] [ winkelVerteilung ] [ Global module-variables ]
SOURCE
logical, save :: deltaPWave=.true.
PURPOSE
Switch for P-Wave decay of delta in pion nucleon Only relevant for deltas which are produced in pion-nucleon collisions. -> see also master_2body Values:
- .false.= isotropic in CM-Frame
- .true. = 1+3*cos(theta)**2 in CM Frame (theta is angle of producing pion to outgoing pion)
winkelVerteilung/rho_pipi_nonIsotropic [ Global module-variables ]
[ Top ] [ winkelVerteilung ] [ Global module-variables ]
SOURCE
logical, save :: rho_pipi_nonIsotropic=.true.
PURPOSE
Switch for non-isotropic rho -> pi pi decay:
- .false.= isotropic in CM-Frame
- .true. = non-isotropic
winkelVerteilung/pionNucleon_backward [ Global module-variables ]
[ Top ] [ winkelVerteilung ] [ Global module-variables ]
SOURCE
logical, save :: pionNucleon_backward=.true.
PURPOSE
Switch for backward peaked pion nucleon cross section:
- .true.= use backward peaked distribution
- .false.= isotropic
winkelVerteilung/pionNucleon_backward_exponent [ Global module-variables ]
[ Top ] [ winkelVerteilung ] [ Global module-variables ]
SOURCE
real, save :: pionNucleon_backward_exponent=26.5
PURPOSE
Exponent for backward peaked pion nucleon cross section. Distribution=(coeff-cos(theta))**exponent*(pole-sqrt(s)/pole) Only used if pionNucleon_backward=.true. .
winkelVerteilung/pionNucleon_backward_coeff [ Global module-variables ]
[ Top ] [ winkelVerteilung ] [ Global module-variables ]
SOURCE
real, save :: pionNucleon_backward_coeff=1.9
PURPOSE
Exponent for backward peaked pion nucleon cross section. Distribution=(coeff-cos(theta))**exponent*(pole-sqrt(s)/pole) Only used if pionNucleon_backward=.true. .
winkelVerteilung/NNisotropic [ Global module-variables ]
[ Top ] [ winkelVerteilung ] [ Global module-variables ]
SOURCE
logical, save :: NNisotropic=.false.
PURPOSE
if .true.: set isotropic nucleon-nucleon elastic cross section
winkelVerteilung/iParam_gammaNVN [ Global module-variables ]
[ Top ] [ winkelVerteilung ] [ Global module-variables ]
SOURCE
integer, save :: iParam_gammaNVN = 3
PURPOSE
for gamma N -> V N events, this parameter is given to the routine vecmesa and selects there, how dsigma/dt is calculated. Only if iParam_gammaNVN >= 0 the default value of that routine is overwritten.
Possible values:
- 0: 'old' parametrisation for gammaN->VN (cf. Effenberger PhD): dsigma/dt ~ exp(Bt). Slope paremeter B according ABBHHM collab, PR 175, 1669 (1968).
- 1: Pythia parametrisation: Slope parameter B=2*b_p+2*b_V+4*s**eps-4.2
- 2: 'Donnachie, Landshoff' Select t according dsig/dt as given by VecMesWinkel/dsigdt, not by a given slope parameter
- 3: as 1, but for rho and W<~6GeV slope parameter adjusted according CLAS experimental data [Morrow et al, EPJ A39, 5 (2009)]
- 4: Muehlich PhD, Appendix E
- 5: Rho0 Toy Init
- 6: Rho0 Toy Init: Fit to PYTHIA-VMD
- 7: Flat (not exp.)
cf. VecMesWinkel/vecmesa for a detailed description.
winkelVerteilung/NN_NR_noniso [ Global module-variables ]
[ Top ] [ winkelVerteilung ] [ Global module-variables ]
SOURCE
logical, save :: NN_NR_noniso = .false.
PURPOSE
If .true., use non-isotropic angular distr. for NN -> NR, according to dsigma/dt = b/t**a.
winkelVerteilung/debug [ Global module-variables ]
[ Top ] [ winkelVerteilung ] [ Global module-variables ]
SOURCE
logical, parameter:: debug=.false.
PURPOSE
Switch for debug information
winkelVerteilung/readInput [ Subroutines ]
[ Top ] [ winkelVerteilung ] [ Subroutines ]
NAME
subroutine readInput
PURPOSE
Reads input in jobcard from namelist "angular_distribution"
winkelVerteilung/angular_distribution [ Namelists ]
[ Top ] [ winkelVerteilung ] [ Namelists ]
NAME
NAMELIST angular_distribution
PURPOSE
Includes the switches:
- deltaPWave
- pionNucleon_backward
- pionNucleon_backward_exponent
- pionNucleon_backward_coeff
- rho_pipi_nonIsotropic
- NNisotropic
- iParam_gammaNVN
- NN_NR_noniso
winkelVerteilung/winkel [ Functions ]
[ Top ] [ winkelVerteilung ] [ Functions ]
NAME
function winkel (teilchenIn, teilchenOut, srts, betaToCM, mediumAtCollision, successflag) result (pscatt)
PURPOSE
This subroutine determines the scattering angle for two particles in the final state. For 2->2 and 1->2 processes.
INPUTS
- type(particle) :: teilchenIn(1:2) -- Initial state particles, If teilchenIn(2)%ID=0 then it's just a decay of teilchenIn(1)
- type(particle) :: teilchenOut(1:2) -- Final state particles (only their Id's,antiflags,charges and masses are needed here)
- real :: srts -- SQRT(s) in vacuum
- real, dimension(1:3) :: betaToCM -- Center of mass velocity in calc. frame
- type(medium) :: MediumAtCollision -- medium information
OUTPUT
- real, dimension(1:3):: pscatt -- unit vector in the direction of the outgoing particle teilchenOut(1) in the CM frame
- logical :: successflag -- .true. is routine was successful
winkelVerteilung/pscatt_Delta_PWave [ Functions ]
[ Top ] [ winkelVerteilung ] [ Functions ]
NAME
function pscatt_Delta_PWave (teilchen, srts) result (pScatt)
PURPOSE
This routine determines the outgoing unit vector in the cm-frame for a meson out of p-wave Delta resonance decay. The angle should be distributed according to f(theta)=(3*cos^2(theta)+1)*(pionNucleon_Backward_coeff-cost)**(pionNucleon_Backward_exponent*(pole-srts)/pole)
INPUTS
OUTPUT
- real, dimension(1:3) :: pScatt --- Scattering vector in cm-frame
winkelVerteilung/pscatt_VN_VX [ Functions ]
[ Top ] [ winkelVerteilung ] [ Functions ]
NAME
function pscatt_VN_VX (teilchenIn, id3, id4, mass3, mass4, srts, mediumAtCollision, successflag) result (pscatt)
PURPOSE
This routine determines a random unit vector for an outgoing vector meson in a V N-> V X colllision. (X stands for N or Delta)
INPUTS
- type(particle) :: teilchenIn(1:2) --- incoming particles
- real, :: srts --- sqrt(s)
- integer :: id3, id4 --- ID of outgoing particles
- real :: mass3, mass4 --- mass of outgoing particle
OUTPUT
- real, dimension(1:3) :: pscatt --- unit vector in outgoing baryon direction in CM frame
NOTES
The given vector is the vector of particle given by id3, mass3. This is normally a baryon (we are normally treating B+M -> B+M collisions).
winkelVerteilung/pscatt_gammaN_VN [ Functions ]
[ Top ] [ winkelVerteilung ] [ Functions ]
NAME
function pscatt_gammaN_VN (teilchenIn, id3, id4, mass3, mass4, srts, mediumAtCollision) result (pscatt)
PURPOSE
This routine determines a random unit vector for an outgoing vector meson in a gamma N -> V N colllision. (V is a vector meson: rho, omega, phi, J/psi)
INPUTS
- type(particle) :: teilchenIn(1:2) --- incoming photon and nucleon
- real, :: srts --- sqrt(s)
- integer :: id3, id4 --- ID of outgoing particles
- real :: mass3, mass4 --- mass of outgoing particle
OUTPUT
- real, dimension(1:3) :: pscatt --- unit vector in outgoing baryon direction in CM frame
NOTES
The given vector is the vector of particle given by id3, mass3.
winkelVerteilung/pscatt_piN_piN_backward [ Functions ]
[ Top ] [ winkelVerteilung ] [ Functions ]
NAME
function pscatt_piN_piN_backward (teilchenIn, srts) result (pscatt)
PURPOSE
Determines a random unit vector for an outgoing pion in a piN->piN colllision.
Backward peaked pion nucleon cross section (e.g. nucl-ex 0403040), valid for sqrt(s)<1.35 GeV
INPUTS
OUTPUT
- real, dimension(1:3) :: pscatt --- unit vector in outgoing pion
direction in CM frame
winkelVerteilung/pscatt_BarBar [ Functions ]
[ Top ] [ winkelVerteilung ] [ Functions ]
NAME
function pscatt_BarBar (teilchenIn, teilchenOut, srts, betaToCM, successflag) result(pscatt)
PURPOSE
This subroutine determines the scattering angle for baryon-baryon scattering processes. Especially for NN<-> NN, NN<->NDelta, Nbar N -> LambdaBar Lambda ...
INPUTS
- type(particle) :: teilchenIn(1:2) --- Initial state particles
- type(particle) :: teilchenOut(1:2) --- Final state particles (only their Id's,antiflags,charges and masses are needed here)
- real :: srts --- SQRT(s) in vacuum
- real, dimension(1:3) :: betaToCM --- Center of mass velocity in calc. frame
OUTPUT
- real, dimension(1:3) :: pscatt --- unit vector pscatt in the direction of the outgoing teilchen3 in the CM frame
winkelVerteilung/dsigdt_NRes [ Functions ]
[ Top ] [ winkelVerteilung ] [ Functions ]
NAME
function dsigdt_NRes (srts, mRes) result (cost)
PURPOSE
This routine implements a non-isotropic angular distribution for resonance production (N N -> N R), according to dsigma/dt = b/t**a.
Here b is a normalization constant, and the parameter a is taken from a fit to HADES data by A. Dybczak (private communication).
Reference: G. Agakishiev et al., Eur.Phys.J. A50 (2014) 82,
http://inspirehep.net/record/1285514
INPUTS
- real, intent(in) :: srts --- energy in CM frame, sqrt(s)
- real, intent(in) :: mRes --- mass of outgoing resonance
OUTPUT
- real :: cost --- cos(theta_cm), cosine of polar angle in CM frame
winkelVerteilung/pscatt_Rho_pipi_Distribution [ Functions ]
[ Top ] [ winkelVerteilung ] [ Functions ]
NAME
function pscatt_Rho_pipi_Distribution (Part) result (pscatt)
PURPOSE
This routine determines the outgoing unit vector in the cm-frame for the pi pi final-state out of decay of a diffractive rho0.
The angle should be distributed according to:
sin(theta)**2+2*eps*R*cos(theta)**2
in the rest frame of ther rho0, where the z-axis is defined by the negative recoil momentum of the nucleon (helicity frame).
INPUTS
- type(particle) :: Part --- incoming rho meson
OUTPUT
- real, dimension(1:3) :: pscatt --- Scattering vector in cm-frame
NOTES
If initialized via HiLepton: