TABLE OF CONTENTS
- 1. /mesonWidth
- 1.1. mesonWidth/partialWidthMeson
- 1.2. mesonWidth/FullWidthMeson
- 1.3. mesonWidth/initWidth
- 1.4. mesonWidth/cleanUp
- 1.5. mesonWidth/decayWidthMeson
- 1.6. mesonWidth/GetMinMaxMass
- 1.7. mesonWidth/GetMaxQ
- 1.8. mesonWidth/InitializeSpectralIntegral
- 1.9. mesonWidth/calcSpectralIntegral
- 1.10. mesonWidth/GetSpectralIntegral
/mesonWidth [ Modules ]
NAME
module mesonWidth
PURPOSE
When this module is initialized then all information for the VACUUM width is once calculated for all meson resonances and then stored into the field gammaField, which is of type gammaFieldType. This is done by initWidth. Afterwards this field is used to return full and partial width of the meson resonances in the vacuum by the subroutine "partialWidthMeson, fullWidthMeson"
USES
mesonWidth/partialWidthMeson [ Functions ]
[ Top ] [ mesonWidth ] [ Functions ]
NAME
function partialWidthMeson (ID, mass, IDout1, IDout2, IDout3, iQ1, iQ2, iQ3)
PURPOSE
This function calculates the partial width (energy dependent) of all meson resonances.
INPUTS
- integer :: ID -- ID of resonance
- real :: mass -- sqrt(p_mu p^mu) = mass of the resonance (offshell)
- integer :: IDout1, IDout2 -- IDs of decay products (selecting channel of interest)
- integer, OPTIONAL :: IDout3 -- ID of third decay product
- integer, OPTIONAL :: iQ1, iQ2, iQ3 -- Charges of decay products (only relevant for 3-body decays)
mesonWidth/FullWidthMeson [ Functions ]
[ Top ] [ mesonWidth ] [ Functions ]
NAME
real function FullWidthMeson(ID,mass)
PURPOSE
This function calculates the full width (energy dependent) of all meson resonances.
INPUTS
NOTES
We declare this function to be recursive, since there may be a cycle as
FullWidthMeson -> initWidth -> InitializeSpectralIntegral -> FullWidthMeson
mesonWidth/initWidth [ Subroutines ]
[ Top ] [ mesonWidth ] [ Subroutines ]
NAME
subroutine initWidth
PURPOSE
Stores the vacuum width of each meson to the field "gammaField". Should be called only once.
mesonWidth/cleanUp [ Subroutines ]
[ Top ] [ mesonWidth ] [ Subroutines ]
PURPOSE
Deallocate all fields
mesonWidth/decayWidthMeson [ Functions ]
[ Top ] [ mesonWidth ] [ Functions ]
NAME
function decayWidthMeson (ID, mass, ch) result(decayWidth)
PURPOSE
This function returns the partial out width (energy dependent) for all decay channels.
INPUTS
- integer :: ID -- ID of resonance
- real :: mass -- baremass of the resonance (offshell)
- integer :: ch -- charge of the resonance
OUTPUT
- real, dimension(nDecays) :: decayWidth -- widths
NOTES
The D* resonances are treated explicitly since they are the only resonances which have decay ratios which depend on the charge of the resonance.
mesonWidth/GetMinMaxMass [ Subroutines ]
[ Top ] [ mesonWidth ] [ Subroutines ]
NAME
subroutine GetMinMaxMass(ID,MinMass,MaxMass,InMedium)
PURPOSE
return values of minimal and maximal mass according the mass tabulation
INPUTS
- integer :: ID -- ID of particle
- logical :: InMedium -- Flag to override minimal mass of vector mesons
OUTPUT
NOTES
This returns the minimal mass as stored as default value. For in-medium vector mesons, the minimal mass is reduced to zero.
The maximal mass is given by the size of the array times the bin width. All masses are restricted by an upper bound (=3 GeV).
mesonWidth/GetMaxQ [ Subroutines ]
[ Top ] [ mesonWidth ] [ Subroutines ]
NAME
subroutine GetMaxQ(ID,mass0,gamma0,gammaDelta,BinM,BinMaxQ)
PURPOSE
Calculate the maximal values of the Q weight for bins according BinM
INPUTS
- integer :: ID -- ID of resonance
- real :: mass0 -- pole mass
- real :: gamma0 -- width at pole mass
- real :: gammaDelta -- additional width to be added during calculations
- real, dimension(:) :: BinM -- array with boundaries for M binning
OUTPUT
- real, dimension(:) :: BinMaxQ -- the maximal Q values for each bin.
NOTES
- The size of BinMaxQ has to be at least the size of BinM minus 1.
- It first calculates Q at the boundaries, then it iterates over the tabulated width values in order to take into account, that the Q value may be larger inbetween the boundaries.
- if the Q value is maximal at the upper bound, we store its value as -Q.
mesonWidth/InitializeSpectralIntegral [ Subroutines ]
[ Top ] [ mesonWidth ] [ Subroutines ]
NAME
subroutine InitializeSpectralIntegral(massMax)
PURPOSE
Calculates the integral over the spectral functions and stores the values. Prints a warning message, if the difference to unity is too large.
mesonWidth/calcSpectralIntegral [ Functions ]
[ Top ] [ mesonWidth ] [ Functions ]
NAME
real function calcSpectralIntegral(id,massMax)
PURPOSE
calculate the integral of the spectral function over the mass
mesonWidth/GetSpectralIntegral [ Functions ]
[ Top ] [ mesonWidth ] [ Functions ]
NAME
real function GetSpectralIntegral(id)
PURPOSE
return the value of the integral of the spectral function over the mass