gibuu is hosted by Hepforge, IPPP Durham
GiBUU

TABLE OF CONTENTS


/PyVP [ Modules ]

[ Top ] [ Modules ]

NAME

module PyVP

PURPOSE

[Py]thia and [V]irtual [P]hotons: some routines for gamma* p with PYTHIA 6.x

NOTES

  • KG, 12.12.07: The lines concerning fT and eps marked with "!######" should be checked and be consistent with the definitions in initHiLepton.f90
  • This was originally PyVP.F, 18.10.2001...25.4.2005, and is now rewritten in F90
  • during the rewrite in favour of Type(electronNucleon_event) many of its functionality has been moved somewhere or was obsolete


PyVP/SetPYTHIAthresh [ Subroutines ]

[ Top ] [ PyVP ] [ Subroutines ]

NAME

subroutine SetPYTHIAthresh(thresh)

PURPOSE

Set the value of module variable PYTHIAthresh

NOTES

cf. also eventGenerator_eN_HiEnergy/PYTHIAthresh


PyVP/getPYTHIAthresh [ Functions ]

[ Top ] [ PyVP ] [ Functions ]

NAME

real function GetPYTHIAthresh()

PURPOSE

return the value of module variable PYTHIAthresh

NOTES

cf. also eventGenerator_eN_HiEnergy/PYTHIAthresh


PyVP/InitPythia [ Subroutines ]

[ Top ] [ PyVP ] [ Subroutines ]

NAME

subroutine InitPythia(eNev,DoFrag,Print1,DoDifr)

PURPOSE

STEP (4) of the initialization: Initialize Pythia

Some default parameters and CKIN-parameters are set and PYINIT will be called.

After calling this function, you are able to call PYEVNT without any additional initialisation (everything else should have been done already by calling InitPythiaCalc etc.)

INPUTS

  • type(electronNucleon_event):: eNev -- the electron nucleon event
  • logical :: DoFrag -- ???
  • integer :: Print1 -- ???
  • logical :: DoDifr -- ???

NOTES

  • BEWARE: the cuts on the PYTHIA-values x and Q2 cannot be exact.


PyVP/CollectXS_process [ Subroutines ]

[ Top ] [ PyVP ] [ Subroutines ]

NAME

subroutine CollectXS_process(N,iXS,XS, file)

PURPOSE

Collect the cross sections for single processes

The array XS will be filled with the cross sections of the processes listed in iXS. N is the maximal number of listable processes (as input), but also the number of processes as output. If file!=0 also output is written to file.

(adapted from PYSTAT)

INPUTS

  • integer :: N -- ???
  • integer :: iXS(*) -- ???
  • integer :: file -- if >0, output is written to specific file

OUTPUT

  • real :: XS(*) -- ???


PyVP/CollectXS_class [ Subroutines ]

[ Top ] [ PyVP ] [ Subroutines ]

NAME

subroutine CollectXS_class(XS, file)

PURPOSE

Collect the cross sections for classes

The array XS will be filled with the cross sections of VMD, direct, anomalous, DIS. If file!=0 also output is written to file.

This routine returns

   \sigma^*(y,Q^2) = \sigma_T(y,Q^2) + \epsilon * \sigma_L(y,Q^2)

given by

   d\sigma/dy dQ^2 = flux^T \sigma^*(y,Q^2)

with

   flux^T = \alpha/(2 \pi) ( (1+(1-y)^2)/y 1/Q^2 - 2 m_e^ y/Q^4 )

as given in [Friberg:2000ra,eq.(2.1)ff]

return values are given im mb.

(adapted from PYSTAT)

INPUTS

  • integer :: file -- if >0, output is written to specific file

OUTPUT

  • see above

NOTES

The original XS reported by PYTHIA is dsigma/dx dQ2 (x not Bjorken-x!), since the MC variables are x and Q2. We transform this to dsigma/dy dQ2 by multiplying with the Jacobian. We divide by the flux as used by PYTHIA. This results in some sigma^(gamma*)(y,Q2), which differs from the usual definition of sigma_T + eps * sigma_L=dsigma/dE'dOmega / flux by the Jacobian (dy dQ2)<->(dE'dOmega).

The cross section is calculated with Hand convention.


PyVP/ScaleVMD [ Subroutines ]

[ Top ] [ PyVP ] [ Subroutines ]

NAME

subroutine ScaleVMD(xVMD)

PURPOSE

Scale the VMD coupling constants: f_V^2/4pi -> f_V^2/4pi / x

INPUTS

  • real :: xVMD(4) -- ???

OUTPUT

  • ...


PyVP/MarkLepton [ Subroutines ]

[ Top ] [ PyVP ] [ Subroutines ]

NAME

subroutine MarkLepton

PURPOSE

Mark lepton in PYTHIA output as "DOCUMENTATION LINE" This ensures, that the initial electron will be removed by PYEDIT