gibuu is hosted by Hepforge, IPPP Durham
GiBUU

TABLE OF CONTENTS


/baryonWidth [ Modules ]

[ Top ] [ Modules ]

NAME

module baryonWidth

PURPOSE

When this module is initialized then all information for the VACUUM width is once calculated for all 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 resonances in the vacuum by the subroutine "partialWidthBaryon, fullWidthBaryon"

USES

module baryonWidthVacuum


baryonWidth/readTable [ Global module-variables ]

[ Top ] [ baryonWidth ] [ Global module-variables ]

PURPOSE

There is a tabulation of the widths saved in buuinput which is used to initialize ('baryonWidthVacuum.dat.bz2'). If you don't want to use this pre-tabulated input, then you can set "readTable=.false". This is useful for runs on a cluster where you want to minimize input/output. Also it is necessary if the decay channels have been modified (cf. DecayChannels.dat).

SOURCE

  logical, save :: readTable = .true.

baryonWidth/writeTable [ Global module-variables ]

[ Top ] [ baryonWidth ] [ Global module-variables ]

PURPOSE

This flag determines whether we write out a new tabulation of the widths ('baryonWidthVacuum.dat.bz2'). It will only have an effects if readTable == .false. or reading of the tabulation file fails for some reason.

SOURCE

  logical, save :: writeTable = .false.

baryonWidth/partialWidthBaryon [ Subroutines ]

[ Top ] [ baryonWidth ] [ Subroutines ]

NAME

real function partialwidthBaryon(ID, mass, inWidth, mesonID, baryonID, mesonMass, baryonMass)

PURPOSE

This function calculates the mass-dependent partial width for a specific decay channel of a baryon resonance.

INPUTS

  • integer :: ID -- id of resonance
  • real :: mass -- p_mu p^mu = mass of the resonance (offshell)
  • logical :: inWidth -- .true. => in width(only important for channels with unstable particles), .false. => out width
  • integer :: mesonID, baryonID -- ID's of the decay products which one is interested in
  • real, optional :: mesonMass, baryonMass -- Possibility to define the masses of the incoming baryon and meson, needed in the case of the In-Width if one of them is off-shell. Otherwise not relevant.


baryonWidth/getPartialWidthBaryon [ Functions ]

[ Top ] [ baryonWidth ] [ Functions ]

NAME

real function getPartialWidthBaryon(ID, mass, i)

PURPOSE

This function calculates the mass-dependent partial width for the i--th decay channel of a baryon resonance.

INPUTS

  • integer, intent(in) :: ID ! id of resonance
  • real, intent(in) :: mass ! sqrt(p_mu p^mu) = mass of the resonance (offshell), w/o mean field
  • integer, intent(in) :: i ! number of the decay channel (i=1,...,nDecays) --- Don't mix with dID !!!


baryonWidth/FullWidthBaryon [ Functions ]

[ Top ] [ baryonWidth ] [ Functions ]

NAME

real function FullWidthBaryon(ID,mass)

PURPOSE

This function calculates the mass-dependent total decay width of a baryon resonance.

INPUTS

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

NOTES

We declare this function to be recursive, since there may be a cycle as

   FullWidthBaryon -> initWidth -> InitializeSpectralIntegral
   -> FullWidthBaryon


baryonWidth/decayWidthBaryon [ Functions ]

[ Top ] [ baryonWidth ] [ Functions ]

NAME

function decayWidthBaryon(ID, mass) result(decayWidth)

PURPOSE

This function returns the mass-dependent partial widths of all decay channels.

INPUTS

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

OUTPUT

  • real, dimension(1:nDecays)) :: decayWidth -- widths of all decay channels


baryonWidth/initWidth [ Subroutines ]

[ Top ] [ baryonWidth ] [ Subroutines ]

NAME

subroutine initWidth

PURPOSE

Stores the vacuum width of each baryon to the field "gammaField" Should be called only once.


baryonWidth/BaryonWidth_gammaN [ Functions ]

[ Top ] [ baryonWidth ] [ Functions ]

NAME

real function BaryonWidth_gammaN (ID, m_R, m, charge)

PURPOSE

This function calculates the decay width of a baryon resonance going into a nucleon and a gamma*, using the matrix elements from hadronTensor_ResProd.

INPUTS

  • integer :: ID -- ID of the baryon resonance
  • real :: m_R -- mass of the baryon resonance
  • real :: m -- invariant mass of the gamma* (dilepton)
  • integer :: charge -- charge of the Delta

OUTPUT

Width in GeV.


baryonWidth/readInput [ Subroutines ]

[ Top ] [ baryonWidth ] [ Subroutines ]

NAME

subroutine readInput

PURPOSE

Reads input in jobcard out of namelist "BaryonWidth".


baryonWidth/BaryonWidth [ Namelists ]

[ Top ] [ baryonWidth ] [ Namelists ]

NAME

NAMELIST /BaryonWidth/

PURPOSE

Includes the input switches:


baryonWidth/GetMaxQ [ Subroutines ]

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


baryonWidth/InitializeSpectralIntegral [ Subroutines ]

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