gibuu is hosted by Hepforge, IPPP Durham
GiBUU

TABLE OF CONTENTS


/initLowPhoton [ Modules ]

[ Top ] [ Modules ]

NAME

module initLowPhoton

PURPOSE

Includes initialization of photon induced events at low energies.

NOTES

due to negative weights of some contributions, the total cross section and the sum of cross sections (absolut value) has to be distinguished.


initLowPhoton/pascalTwoPi [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical, save :: pascalTwoPi=.true.

PURPOSE

To switch on Pascal Muehlich's event generator for the gamma N -> N pi pi reaction:

  • .true. : Pascal's prescription
  • .false. : phase space


initLowPhoton/equalDistribution_twoPi [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical, save :: equalDistribution_twoPi=.false.

PURPOSE

All two pion production channels are populated with the same probability. This enhances the production of pi^0 pi0 pairs. Here, one has been careful to set perweight in a careful manner.


initLowPhoton/twoPi [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical, save :: twoPi = .true.

PURPOSE

Switch for the direct 2pi production (gamma N -> N pi pi). If resonances=.true., then it is only a background, else the full cross section. Only works up to sqrt(s) = 2.1 GeV and is set to zero above.


initLowPhoton/vecMes [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical, save :: vecMes(1:3) = .false.

PURPOSE

Switch for the production of neutral vector mesons: gamma N -> V N (1=rho^0,2=omega,3=phi)


initLowPhoton/vecMes_Delta [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical, save :: vecMes_Delta(1:3) = .false.

PURPOSE

Switch for the production of neutral vector mesons: gamma N -> V Delta (1=rho^0,2=omega,3=phi)


initLowPhoton/resonances [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical, save :: resonances = .false.

PURPOSE

Switch for including or excluding resonance production processes.


initLowPhoton/singlePi [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical, save :: singlePi = .false.

PURPOSE

Switch for including direct single pion production. If resonances=.true. then it's only a background, else the full cross section. Only works up to sqrt(s) = 2.0 GeV and is set to zero above.


initLowPhoton/pi0Eta [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical, save :: pi0Eta = .false.

PURPOSE

Switch for including direct pi^0 eta production. Only works up to sqrt(s) = 2.5 GeV and is set to zero above.


initLowPhoton/pi0Eta_factor_neutron [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  real, save :: pi0eta_factor_neutron=1.

PURPOSE

Scaling the gamma n->n pi^0 eta cross section. We assume

    sigma(gamma n->n pi^0 eta)
    = pi0eta_factor_neutron * sigma(gamma p->p pi^0 eta)


initLowPhoton/fritiof [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical, save :: fritiof = .false.

PURPOSE

Switch for including FRITIOF events, cf. 'transitionEvent'. Will not give any contributions below sqrt(s) = 1.7 GeV.


initLowPhoton/includeResonance [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical,save,dimension(1:100) :: includeResonance=.true.

PURPOSE

Switch for including/excluding specific resonances, e.g. includeResonance(21)=.false. excludes the D33(1700).


initLowPhoton/onlyDelta [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical,save  :: onlyDelta=.false.

PURPOSE

Switch for including only the Delta resonance.


initLowPhoton/onlyDelta_not [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical,save  :: onlyDelta_not=.false.

PURPOSE

Switch for excluding only the Delta resonance.


initLowPhoton/debugFlag [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical, save :: debugFlag=.false.

PURPOSE

To switch on debugging information.


initLowPhoton/energy_gamma [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  real, save :: energy_gamma = 0.

PURPOSE

Energy of incoming photon in nucleus rest frame (in GeV).


initLowPhoton/delta_energy [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  real, save :: delta_energy=0.

PURPOSE

Increase of energy for energy scans.


initLowPhoton/energy_weighting [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  integer, save :: energy_weighting = 0

PURPOSE

Determines the relative weight of different photon energies in energy scans Possible values:

  • 0 = flat distribution (all energies are weighted equal)
  • 1 = exponential distr. (energies are weighted ~ 1/E)


initLowPhoton/noNucs_twoPi [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical, save :: noNucs_twoPi=.false.

PURPOSE

Do not propagate the nucleons which are produced in a 2Pi event.


initLowPhoton/realRun [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical, save :: realRun=.false.

PURPOSE

Do not initialize the final state particles as perturbative particles but as real ones.


initLowPhoton/nuclearTarget_corr [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical , save :: nuclearTarget_corr=.true.

PURPOSE

If the input is a nuclear target, then the target nucleus is assumed to be at rest and we calculate the cross section for a nuclear target. Therefore, we use the flux factor with respect to the nucleus.

NOTES

  • Use ".false." only for debugging.


initLowPhoton/makeHist_mass_energy [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical, save :: makeHist_mass_energy=.false.

PURPOSE

Protocol the bare mass and the absolute momentum of excited resonances

Output is written to files named

   "Mass_and_energy_resID_'resID'_'energy of photon'_MeV.dat"


initLowPhoton/useXsectionBoost [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical, save ::  useXsectionBoost=.true.

PURPOSE

boost Xsections from nucleon rest frame to lab frame (where necessary)

NOTES

  • Up to now only implemented for 2pi, not necessary for single pi and resonances
  • Check vecMes production !!!!


initLowPhoton/selectFrame [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  integer, save :: selectFrame = 1

PURPOSE

Select the frame in which 'sqrt(s)_free' is calulated: 1 = CM frame (default) 2 = LAB frame

In the chosen frame, one removes the 0th component of the potential from the nucleon momentum. Then this modified momentum is used to calculate sqrt(s)_free.


initLowPhoton/printXS [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical, save :: printXS = .false.

PURPOSE

Write out the photoproduction cross sections to files "lowPhoton_XS.dat" and "lowPhoton_XS_res.dat".


initLowPhoton/scale1535 [ Global module-variables ]

[ Top ] [ initLowPhoton ] [ Global module-variables ]

SOURCE

  logical, save :: scale1535 = .true.

PURPOSE

Flag whether to rescale the helicity amplitudes of the N*(1535) to get the eta photopruduction right


initLowPhoton/readInput [ Subroutines ]

[ Top ] [ initLowPhoton ] [ Subroutines ]

NAME

subroutine readInput

PURPOSE

Reads input out of jobcard. Namelist 'low_photo_induced'.


initLowPhoton/low_photo_induced [ Namelists ]

[ Top ] [ initLowPhoton ] [ Namelists ]

NAME

NAMELIST low_photo_induced

PURPOSE

Includes input parameters

Kinematical parameters:

Single Pion production:

Two pion production:

Resonance production:

Vector meson production:

Technical:


initLowPhoton/init_LowPhoton.log [ Output files ]

[ Top ] [ initLowPhoton ] [ Output files ]

NAME

file init_LowPhoton.log

PURPOSE

Logfile for the lowPhoton init


initLowPhoton/cleanUp [ Subroutines ]

[ Top ] [ initLowPhoton ] [ Subroutines ]

NAME

subroutine cleanUp

PURPOSE

cleanup allocated array and histograms


initLowPhoton/getResonances [ Functions ]

[ Top ] [ initLowPhoton ] [ Functions ]

NAME

logical function getResonances()

PURPOSE

return variable 'resonances'


initLowPhoton/getSinglePi [ Functions ]

[ Top ] [ initLowPhoton ] [ Functions ]

NAME

logical function getSinglePi()

PURPOSE

return variable 'singlePi'


initLowPhoton/getPi0eta [ Functions ]

[ Top ] [ initLowPhoton ] [ Functions ]

NAME

logical function getPi0eta()

PURPOSE

return variable 'pi0eta'


initLowPhoton/getTwoPi [ Functions ]

[ Top ] [ initLowPhoton ] [ Functions ]

NAME

logical function getTwoPi()

PURPOSE

return variable 'twopi'


initLowPhoton/getVecMes [ Functions ]

[ Top ] [ initLowPhoton ] [ Functions ]

NAME

logical function getVecMes()

PURPOSE

return logical 'or' of vecMes() and vecMes_Delta()


initLowPhoton/lowPhotonInit_getRealRun [ Functions ]

[ Top ] [ initLowPhoton ] [ Functions ]

NAME

logical function lowPhotonInit_getRealRun()

PURPOSE

return variable 'realRun'


initLowPhoton/getEnergyGamma [ Functions ]

[ Top ] [ initLowPhoton ] [ Functions ]

NAME

real function getEnergyGamma()

PURPOSE

return variable 'energy_gamma'


initLowPhoton/getDeltaEnergy [ Functions ]

[ Top ] [ initLowPhoton ] [ Functions ]

NAME

real function getDeltaEnergy()

PURPOSE

return variable 'delta_energy'


initLowPhoton/energyWeight [ Subroutines ]

[ Top ] [ initLowPhoton ] [ Subroutines ]

NAME

real function energyWeight(E)

PURPOSE

Computes a weighting factor which depends on the photon energy. Currently this weighting can be flat or exponential, cf. 'energy_weighting'.

INPUTS

  • real, intent(in) :: E -- the current photon energy

NOTES

All weighting functions implemented here should be normalized to the same value, i.e. doing a summation over all energies should yield a value of num_Energies, like in the flat case.


initLowPhoton/initialize_lowPhoton [ Subroutines ]

[ Top ] [ initLowPhoton ] [ Subroutines ]

NAME

subroutine initialize_lowPhoton(realParticles, pertParticles, raiseFlag, targetNuc)

PURPOSE

  • Initializes a photon event on each nucleon in the realparticles vector.
  • The resulting particles are set into the pertParticles vector.
  • The assigned perweight is given for each single event by sigma_Total/(number of ensembles)/(number of nucleons per ensemble).
  • Pauli blocking is accounted for.

INPUTS

OUTPUT

NOTES

  • For the 1Pi Background, we allow for negative perweights. Henceforth, the Monte-Carlo sampling is done according to sum ( abs (cross sections) ). Then the perweight for a special channel "i" is given by sig(i)/abs(sig(i)) * sum ( abs (cross sections) ).
  • cross sections in [\mu b].


initLowPhoton/OmegaExcitFunc.dat [ Output files ]

[ Top ] [ initLowPhoton ] [ Output files ]

NAME

file OmegaExcitFunc.dat

PURPOSE

Contains the omega excitation function, i.e. the energy-dependent inclusive omega photo-production cross section. In contrast to OmegaExcitFunc_pi0gamma.dat, this does not include FSI effects.


initLowPhoton/printOutXS [ Subroutines ]

[ Top ] [ initLowPhoton ] [ Subroutines ]

NAME

subroutine printOutXS

PURPOSE

...


initLowPhoton/lowPhoton_XS.dat [ Output files ]

[ Top ] [ initLowPhoton ] [ Output files ]

NAME

file lowPhoton_XS.dat

PURPOSE

Contains various photoproduction cross sections per nucleon (without FSI).

PURPOSE

Columns:

  * 1    : E_gamma [Gev]
  * 2    : sqrt(s) [GeV]
  * 3    : total cross section [microbarn/A]
  * 4    : sum of all resonances
  * 5-7  : exclusive pi-, pi0, pi+
  * 8-11 : 2pi
  * 12-20: vector mesons
  * 21   : pi0 eta
  * 22   : Fritiof


initLowPhoton/lowPhoton_XS_res.dat [ Output files ]

[ Top ] [ initLowPhoton ] [ Output files ]

NAME

file lowPhoton_XS_res.dat

PURPOSE

Contains the resonance photoproduction cross sections per nucleon (without FSI).

PURPOSE

Columns:

  * 1 : E_gamma [Gev]
  * 2 : sqrt(s) [GeV]
  * 3-63: resonance cross sections [microbarn/A]


initLowPhoton/saveCoordinate [ Subroutines ]

[ Top ] [ initLowPhoton ] [ Subroutines ]

NAME

subroutine saveCoordinate(firstEventNumber,pos)

PURPOSE

Used to save production coordinates of particles

INPUTS


initLowPhoton/getCoordinate [ Subroutines ]

[ Top ] [ initLowPhoton ] [ Subroutines ]

NAME

subroutine getCoordinate(firstEventNumber,pos)

PURPOSE

Used to return production coordinates of particles

INPUTS

OUTPUT

  • real, dimension(1:3) :: pos -- position


initLowPhoton/omegaProdInfo [ Subroutines ]

[ Top ] [ initLowPhoton ] [ Subroutines ]

NAME

subroutine omegaProdInfo(part, med)

PURPOSE

...


initLowPhoton/omegaProdInfo.dat [ Output files ]

[ Top ] [ initLowPhoton ] [ Output files ]

NAME

file omegaProdInfo.dat

PURPOSE

This file contains informations about omega mesons at production time (event number, perweight, 4-momentum, position, density at production point, etc).


initLowPhoton/omegaProdDensity.dat [ Output files ]

[ Top ] [ initLowPhoton ] [ Output files ]

NAME

file omegaProdDensity.dat

PURPOSE

This file contains a histogram of the density at the production point of omega mesons.


initLowPhoton/twoPiProduction [ Subroutines ]

[ Top ] [ initLowPhoton ] [ Subroutines ]

NAME

subroutine twoPiProduction(qnuk, momNuk, posNuk, egamma, sig2Pi, sumAbsSig, srtFree, betaToCalcFrame, mediumAtPosition, finalState, successFlag)

PURPOSE

Initialize a photon nucleon -> nucleon pion pion event.

The resulting particles are returned via the field "finalState".

The assigned perweight is given for each single event by

   sigma_Total/(number of ensembles)/(number of nucleons per ensemble).

INPUTS

  • integer :: qnuk -- charge of nucleon
  • real :: egamma -- energy of gamma
  • real, dimension(0:3) :: sig2pi -- Xsections for two-pi-production, according to gamma2pi
  • real, dimension(0:3) :: momNuk -- momentum of nucleon in incoming channel
  • real, dimension(1:3) :: posNuk -- position of nucleon in incoming channel
  • real :: srtFree -- sqrt(s) in vacuum prescription
  • real, dimension(1:3) :: betaToCalcFrame -- velocity of calc frame in cm frame, necessary to boost from CM frame to calc-frame
  • real :: sumAbsSig -- total cross section, used to set perweight

OUTPUT

  • logical :: successFlag -- whether event could be generated
  • type(particle), dimension(1:3) :: finalState -- final state particles


initLowPhoton/binSrts [ Subroutines ]

[ Top ] [ initLowPhoton ] [ Subroutines ]

NAME

subroutine binSrts(srts,srtsFree,PrintFlag)

PURPOSE

store (and print) srts for statistical purposes


initLowPhoton/sigma_1pi_bg [ Functions ]

[ Top ] [ initLowPhoton ] [ Functions ]

NAME

function sigma_1pi_bg(targetNuc,phi_pi,theta_pi,q,k_pi,pf_pi) result(sigma)

PURPOSE

  • Evaluated bg cross section for gamma N -> N pion events.
  • The cross section is the difference of the total pion production cross section in the vacuum and the resonance contributions in the vacuum.
  • The final state momenta are evaluated in the medium

INPUTS

  • type(particle) :: targetNuc -- real particles
  • real :: phi, theta
  • real, dimension(0:3) :: q

OUTPUT

  • real, dimension(-1:1) :: sigma
  • real, dimension(-1:1,0:3) :: k, pf


initLowPhoton/vecmesProduction [ Subroutines ]

[ Top ] [ initLowPhoton ] [ Subroutines ]

NAME

subroutine vecmesProduction(nuc, gamma, sigVM, sumAbsSig, srts, srtFree, betaCM, mediumAtPosition, fState, flag)

PURPOSE

photon-induced vector meson production on a nucleon (only neutral vector mesons)

INPUTS

  • type(particle) :: nuc,gamma -- incoming nucleon, photon
  • real :: sigVM(0:8) -- cross section for different channels
  • real :: sumAbsSig -- total cross section
  • real :: srts -- sqrt(s)
  • real :: srtFree -- sqrt(s) in vacuum
  • real :: betaCM(3) -- beta for boost from CM to Lab frame
  • type(medium) :: mediumAtPosition

OUTPUT

  • type(particle) :: fState(2) -- final state particles
  • logical :: flag


initLowPhoton/transitionEvent [ Subroutines ]

[ Top ] [ initLowPhoton ] [ Subroutines ]

NAME

subroutine transitionEvent(nuc, flagOk, outPart, W, XS, pcm, beta, nout)

PURPOSE

This routine creates inclusive FRITIOF events above E_gamma ~ 1.4 GeV, excluding the exclusive channels N+V and Delta+V, which are treated separately.

It is mainly used for inclusive production of vector mesons, such as V+N+pi, V+N+2pi, V+Delta+pi, V+Delta+2pi, etc.

Cf. Muehlich, Falter, Mosel: Inclusive omega photoproduction off nuclei Eur. Phys. J. A 20, 499-508 (2004)

INPUTS

  • type(particle) :: nuc -- incoming nucleon
  • real :: W
  • real, dimension(0:3) :: pcm
  • real, dimension(1:3) :: beta
  • real, dimension(0:4) :: XS -- zero component is total XS

OUTPUT

  • logical :: flagOk
  • type(particle),dimension(:) :: outPart -- outgoing particles
  • integer :: nOut

NOTES

  • The channel pi N is forbidden for W < 2GeV, if singlePi or resonances are switched on
  • The channel pi pi N is forbidden for W < 2.1 GeV, if twoPi or resonances are switched on
  • The channels V N and V Delta are forbidden
  • if pi0eta, then for W<2.5, the explicit channel N pi0 eta is forbidden and replaced by other possibilities. On the other hand, the final state Delta eta is untouched. This could be improved.
  • the channel N eta is untouched, but much larger what experimental data in the resonance region shows