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.


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/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,x)

PURPOSE

Used to save production coordinates of particles

INPUTS


initLowPhoton/getCoordinate [ Subroutines ]

[ Top ] [ initLowPhoton ] [ Subroutines ]

NAME

subroutine getCoordinate(firstEventNumber,x)

PURPOSE

Used to return production coordinates of particles

INPUTS

OUTPUT


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, sigtot, 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 :: sigtot -- 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

...


initLowPhoton/sigma_1pi_bg [ Subroutines ]

[ Top ] [ initLowPhoton ] [ Subroutines ]

NAME

subroutine sigma_1pi_bg(targetNuc,phi_pi,theta_pi,q,k_pi,pf_pi)

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


initLowPhoton/vecmesProduction [ Subroutines ]

[ Top ] [ initLowPhoton ] [ Subroutines ]

NAME

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

PURPOSE

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


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)