TABLE OF CONTENTS
- 1. /nBodyPhaseSpace
- 1.1. nBodyPhaseSpace/momenta_in_nBodyPS
- 1.2. nBodyPhaseSpace/momenta_in_2BodyPS
- 1.3. nBodyPhaseSpace/momenta_in_3BodyPS
- 1.3.1. momenta_in_3BodyPS/ps3bo
- 1.4. nBodyPhaseSpace/momenta_in_3Body_BYK
- 1.5. nBodyPhaseSpace/momenta_in_4BodyPS
- 1.6. nBodyPhaseSpace/momenta_in_5BodyPS
- 1.7. nBodyPhaseSpace/momenta_in_6BodyPS
- 1.8. nBodyPhaseSpace/integrate_nBodyPS
/nBodyPhaseSpace [ Modules ]
NAME
module nBodyPhaseSpace
NOTES
Includes the routine integrate_nBodyPS needed for calculation of the n-body phase space volume (n=2,...,6) and also the routines momenta_in_nBodyPS, momenta_in_2BodyPS, ..., momenta_in_6BodyPS for the simulation of the particle momenta according to the n-body phase space.
nBodyPhaseSpace/momenta_in_nBodyPS [ Subroutines ]
[ Top ] [ nBodyPhaseSpace ] [ Subroutines ]
NAME
subroutine momenta_in_nBodyPS (srts, mass, pn)
PURPOSE
This subroutine determines momenta of outgoing particles according to n-body phase space (n=2,...,6). Vacuum prescription.
INPUTS
OUTPUT
- real, dimension(:,:) :: pn -- three-vectors of momenta (first index: momentum index, second index: particle)
NOTES
Subroutines momenta_in_2BodyPS, ... , momenta_in_6BodyPS can be also used directly instead.
nBodyPhaseSpace/momenta_in_2BodyPS [ Functions ]
[ Top ] [ nBodyPhaseSpace ] [ Functions ]
NAME
function momenta_in_2BodyPS (srts, mass) result (p2)
PURPOSE
This subroutine determines momenta of outgoing particles according to 2-body phase space. Vacuum prescription.
INPUTS
OUTPUT
- real, dimension(3,2) :: p2 -- 2 three-vectors of momenta (first index: momentum index, second index: particle)
NOTES
nBodyPhaseSpace/momenta_in_3BodyPS [ Functions ]
[ Top ] [ nBodyPhaseSpace ] [ Functions ]
NAME
function momenta_in_3BodyPS (srts, mass) result (p3)
PURPOSE
This subroutine determines momenta of outgoing particles according to 3-body phase space. Vacuum prescription!
INPUTS
OUTPUT
- real,dimension(3,3) :: p3 -- 3 three-vectors of momenta (first index: momentum index, second index: particle)
NOTES
Original name in old code: "bopsMom"
momenta_in_3BodyPS/ps3bo [ Subroutines ]
[ Top ] [ momenta_in_3BodyPS ] [ Subroutines ]
NAME
subroutine ps3bo(m1,m2,m3,srts,m12,m23max,m23min)
PURPOSE
This subroutine determines the boundaries m23max,m23min in a Dalitz plot for given srts and m12 (m12=m12**2) notation from Particle Data Book p.176
INPUTS
- real :: m1,m2,m3 -- masses of the three particles
- real :: srts -- sqrt(s) in the problem
- real :: m12 -- Mass of particles one and two
OUTPUT
- real :: m23max,m23min
nBodyPhaseSpace/momenta_in_3Body_BYK [ Functions ]
[ Top ] [ nBodyPhaseSpace ] [ Functions ]
NAME
function momenta_in_3Body_BYK (srts, pcm_in, mass) result (p3)
PURPOSE
Determine momenta of outgoing Baryon (1), Hyperon (2) and Kaon (3) in BB->BYK collisions using Kaon angular and momentum disitributions from: Yu-Ming Zheng et al., PRC 69 (2004) 034907.
INPUTS
- real :: srts -- sqrt(s) in the reaction
- real :: pcm_in(1:3) -- CM 3-momentum of one of the incoming particles
- real :: mass(1:3) -- Masses of the three particles
OUTPUT
- real,dimension(3,3) :: p3 -- 3 three-vectors of momenta (first index: momentum index, second index: particle)
NOTES
Original name in old code: "bykmom"
TODO
- 1) Use this routine not only for "N Y K", but also for "Delta Y K".
- 2) Take care of potentials.
nBodyPhaseSpace/momenta_in_4BodyPS [ Functions ]
[ Top ] [ nBodyPhaseSpace ] [ Functions ]
NAME
function momenta_in_4BodyPS (srts, mass) result (p4)
PURPOSE
This subroutine determines momenta of outgoing particles according to 4-body phase space. Vacuum prescription
INPUTS
OUTPUT
- real, dimension(3,4) :: p4 -- 4 three-vectors of momenta (first index: momentum index, second index: particle)
NOTES
Original name in old code: "bopsMom4"
nBodyPhaseSpace/momenta_in_5BodyPS [ Functions ]
[ Top ] [ nBodyPhaseSpace ] [ Functions ]
NAME
function momenta_in_5BodyPS (srts, mass) result (p5)
PURPOSE
This subroutine determines momenta of outgoing particles according to 5-body phase space. Vacuum prescription.
INPUTS
OUTPUT
- real, dimension(3,5) :: p5 -- 5 three-vectors of momenta (first index: momentum index, second index: particle)
NOTES
Uses the recursion formula for the phase space (see PDG-2002, p.269) in a similar way as in subroutine momenta_in_4BodyPS.
nBodyPhaseSpace/momenta_in_6BodyPS [ Functions ]
[ Top ] [ nBodyPhaseSpace ] [ Functions ]
NAME
function momenta_in_6BodyPS (srts, mass) result (p6)
PURPOSE
This subroutine determines momenta of outgoing particles according to 6-body phase space. Vacuum prescription.
INPUTS
OUTPUT
- real, dimension(3,6) :: p6 -- 6 three-vectors of momenta (first index: momentum index, second index: particle)
NOTES
Uses the recursion formula for the phase space (see PDG-2002, p.269) in a similar way as in subroutine momenta_in_4BodyPS.
nBodyPhaseSpace/integrate_nBodyPS [ Functions ]
[ Top ] [ nBodyPhaseSpace ] [ Functions ]
NAME
function integrate_nBodyPS (srts, mass) result (phi)
PURPOSE
Determine the phase space volume for n=2,...,6 outgoing particles (see definition in PDG-booklet-2002 p. 269) INPUT:
- real, intent(in) :: srts ! c.m. energy (GeV),
- real, intent(in), dimension(:) :: mass ! masses of outgoing particles (GeV)
- OUTPUT:
- real, intent(out) :: phi ! phase space volume (GeV**(2*n-4))
NOTES: n=2,...,20 for the case when flagKopylov=.true.