gibuu is hosted by Hepforge, IPPP Durham
GiBUU

TABLE OF CONTENTS


/mesonWidth [ Modules ]

[ Top ] [ 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

MesonWidthVacuum


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

  • integer :: ID -- ID of resonance
  • real :: mass -- sqrt(p_mu p^mu) = mass of the resonance (offshell)

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

  • real :: MinMass -- minimal mass value
  • real :: MaxMass -- maximal mass value

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