TABLE OF CONTENTS
- 1. /initLowPhoton
- 1.1. initLowPhoton/pascalTwoPi
- 1.2. initLowPhoton/equalDistribution_twoPi
- 1.3. initLowPhoton/twoPi
- 1.4. initLowPhoton/vecMes
- 1.5. initLowPhoton/vecMes_Delta
- 1.6. initLowPhoton/resonances
- 1.7. initLowPhoton/singlePi
- 1.8. initLowPhoton/pi0Eta
- 1.9. initLowPhoton/pi0Eta=_factor_neutron
- 1.10. initLowPhoton/fritiof
- 1.11. initLowPhoton/includeResonance
- 1.12. initLowPhoton/onlyDelta
- 1.13. initLowPhoton/onlyDelta_not
- 1.14. initLowPhoton/debugFlag
- 1.15. initLowPhoton/energy_gamma
- 1.16. initLowPhoton/delta_energy
- 1.17. initLowPhoton/energy_weighting
- 1.18. initLowPhoton/noNucs_twoPi
- 1.19. initLowPhoton/realRun
- 1.20. initLowPhoton/nuclearTarget_corr
- 1.21. initLowPhoton/makeHist_mass_energy
- 1.22. initLowPhoton/useXsectionBoost
- 1.23. initLowPhoton/selectFrame
- 1.24. initLowPhoton/printXS
- 1.25. initLowPhoton/readInput
- 1.26. initLowPhoton/low_photo_induced
- 1.27. initLowPhoton/init_LowPhoton.log
- 1.28. initLowPhoton/energyWeight
- 1.29. initLowPhoton/initialize_lowPhoton
- 1.30. initLowPhoton/OmegaExcitFunc.dat
- 1.31. initLowPhoton/lowPhoton_XS.dat
- 1.32. initLowPhoton/lowPhoton_XS_res.dat
- 1.33. initLowPhoton/omegaProdInfo.dat
- 1.34. initLowPhoton/omegaProdDensity.dat
- 1.35. initLowPhoton/twoPiProduction
- 1.36. initLowPhoton/sigma_1pi_bg
- 1.37. initLowPhoton/transitionEvent
/initLowPhoton [ 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'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's 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 weighting 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
- ".true.": If the input is a nuclear targer, 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.
- 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
- ".true.": 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
- ".true.": 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:
- twoPi
- pi0eta
- pi0eta_factor_neutron
- pascalTwoPi
- noNucs_twoPi
- equalDistribution_twoPi
Resonance production:
Vector meson production:
- vecMes
- vecMes_Delta
- gammaN_VN_formation
- fritiof
Technical:
initLowPhoton/init_LowPhoton.log [ Output files ]
[ Top ] [ initLowPhoton ] [ Output files ]
NAME
file init_LowPhoton.log
PURPOSE
Logfile for the lowPhoton init
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'.
AUTHOR
Janus Weil
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.
AUTHOR
Oliver Buss
INPUTS
- type(particle), dimension(:,:),intent(inOut),target :: realParticles
- type(particle), dimension(:,:),intent(inOut) :: pertParticles
- logical, intent(in) :: raiseFlag -- If .true. then the photon energy is raised by delta_energy
- type(tNucleus), pointer :: targetNuc -- target Nucleus
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/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/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, egamma, sig2Pi,srtFree,betaToCalcFrame,finalState,successFlag)
PURPOSE
- Initializes 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 , intent(in) :: qnuk ! charge of nucleon
- real , intent(in) :: egamma ! energy of gamma
- real , dimension(0:3),intent(in) :: sig2pi ! Xsections for two-pi-production, according to gamma2pi
- real , dimension(0:3),intent(in) :: momNuk ! momentum of nucleon in incoming channel
- real, intent(in) :: srtFree ! SQRT(s) in vacuum prescription
- real, dimension(1:3) , intent(in) :: betaToCalcFrame ! velocity of calc frame in cm frame, necessary to boost from CM frame to calc-frame
- real,intent(in) :: sigtot ! total cross section, used to set perweight
RESULT
- logical, intent(out) :: successFlag ! whether event could be generated
- type(particle), dimension(1:3), intent(out) :: finalState ! final state particles
AUTHOR
Oliver Buss DATE 29/09/2005
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/transitionEvent [ Subroutines ]
[ Top ] [ initLowPhoton ] [ Subroutines ]
NAME
subroutine transitionEvent (nuc, outPart, W, XS, pcm, beta)
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)