Subroutines and variables in Pompyt
User routines
- pomini.f -- SUBROUTINE POMINI(BEAM1,BEAM2,PBEAM1,PBEAM2) Initialize MC generation procedure. BEAM1,BEAM2 -- incomming particles PBEAM1,PBEAM2 -- momenta of incomming particles
- pompyt.f -- SUBROUTINE POMPYT Generate an event
- pomend.f -- SUBROUTINE POMEND Print a summary of the simulation.
Matrix element, parton shower and hadronisation
Done with Pythia and Jetset.
Kinematics
- pomlim.f -- SUBROUTINE POMLIM
To calculate effective limits for the diffractive variables. - pomkin.f -- SUBROUTINE POMKIN(DX1,DX2,DY1,DY2,IFLAG)
Diffractive kinematics: For two input variables (DX1,DX2) calculate two others (DY1,DY2).
IFLAG=1 -- DX1=Sqrt(Sepom) and DX2=T ---> DY1=xF and DY2=Pt**2.
IFLAG=2 -- DX1=xF and DX2=T ---> DY1=Sepom and DY2=Pt**2.
IFLAG=3 -- DX1=Sqrt(Sepom) and DX2=Pt ---> DY1=xF and DY2=T.
IFLAG=4 -- DX1=xF and DX2=Pt ---> DY1=Sepom and DY2=T.
IFLAG=5 -- DX1=xF and DX2=Sqrt(Sepom) ---> DY1=Pt**2 and DY2=T.
IFLAG=6 -- DX1=Pt and DX2=T ---> DY1=xF and DY2=Sepom. - dpomli.f -- FUNCTION DPOMLI(DX,IFLAG)
Some constraint on diffractive variables.
IFLAG=1 -- T[min]=T(xF[max]).
IFLAG=2 -- T[min]=T(Sep[min]).
IFLAG=3 -- T[max]=T(Sep[max]).
IFLAG=4 -- Sep[max]=Sep(T[min]).
IFLAG=5 -- T[min]=T(Pt[min]).
IFLAG=6 -- Pt[max]=Pt(T[max]).
IFLAG=7 -- xF[max]=xF(Pt[min]).
IFLAG=8 -- Pt[max]=Pt(xF[max]). - pomtlo.f -- FUNCTION POMTLO(XXO)
Lower limit of T, fixed Xpom/Xf. - pomtup.f -- FUNCTION POMTUP(XXO)
Upper limit of T, fixed Xpom/Xf.
Flux factors
- pomflx.f -- SUBROUTINE POMFLX(ICASE)
Pomeron flux facor.
ICASE=0 -- integrate flux factor
ICASE!=0 -- Choose xp and t according to flux. Kinematics found in COMMON/POMIN3/ - pomedl.f -- SUBROUTINE POMEDL(ERRT,ERRF,FDLINT)
Pomeron flux factor in the Donnachie-Landshof model. - pomfdl.f -- FUNCTION POMFDL(DDXP,DDT)
DL flux factor. - pomfdt.f -- FUNCTION POMFDT(DDT)
DL flux factor, fixed xp - pomeft.f -- FUNCTION POMEFT(DDT)
To evaluate F(T) form factor. - pomft2.f -- SUBROUTINE POMFT2(DTL,DTU,DA,DB,DC,DD,T0)
Integral of |F(t)|**2 between DTL and DTU, used for pomeron flux factor. - pomreg.f -- FUNCTION POMREG(DDT)
To evaluate pomeron trajectory (positive T). - pomfd3.f -- FUNCTION POMFD3(DDXP,DDT)
Delta flux factor - pomfd2.f -- FUNCTION POMFD2(DDT)
Delta flux factor, fixed xf - pomfd1.f -- FUNCTION POMFD1(DDXP)
Delta flux factor, fixed t - pomfp3.f -- FUNCTION POMFP3(DDXX,DDT)
Pion flux factor - pomfp2.f -- FUNCTION POMFP2(DDT)
- Pion flux factor, fixed xf/xp
- pomfp1.f -- Pion flux factor, fixed t
- pomfl1.f -- SUBROUTINE POMFL1(ICASE)
Pion flux factor for N --> pi N'. - pomfl2.f -- SUBROUTINE POMFL2(ICASE)
Pion flux factor for N --> pi Delta.
Parton densities
- pystfu.f -- SUBROUTINE PYSTFU(KF,X,Q2,XPQ)
Taken from Pythia. Parton densities for pomeron, pion, proton etc.
KF -- KF code for particle (Pomeron=29, Pion= 211)
X,Q2 -- Kinematics
XPQ(-6,6) -- Parton density at X,Q2 - pompdf.f -- SUBROUTINE POMPDF(X,Q2,XPPO)
Parton densities of the pomeron. Called from PYSTFU.
X,Q2 -- Kinematics
XPPO(-6,6) -- Parton density at X,Q2 - parton.f -- Gehrman-Sterling parton densities for the pomeron.
- subroutine gsinit Initiate grid.
- subroutine pomp1(z,q2,sing,glue,f2li,f2c,f2t)
Get the PDF for GS model I. - subroutine pomp2(z,q2,sing,glue,f2lir,f2cr,f2lid,f2cd,f2t)
Get the PDF for GS model II. - subroutine rdarry(z,q2,aux,mflag)
The grid. - real*8 function dsing(z,q2)
- real*8 function dcharm(z,q2)
Internal programs
- pomove.f -- SUBROUTINE POMOVE(NSTART,NSHIFT)
Shift line numbers NSTART to N in event record NSHIFT lines forward, keeping line pointer information intact. - pomtim.f -- SUBROUTINE POMTIM(TIME)
Interface to routine giving cpu-time since job started. Nice, but not necessary information. Can be called by user.
Common blocks
- pomdat.f -- Block data with default values for parameters.
- COMMON/POMPAR/MPOM(20),PARPOM(40)
Contains input switches and parameters to control physics models and performance of the program. Overwriting default values should be made before calling POMINI. - MPOM(1) -- choice of flux factor $f(x,t)$ for exchanged object
- MPOM(2) -- choice of parametrization for the pomeron parton density functions
- MPOM(3) -- choice to generate complete events or only diffractive variables.
- MPOM(4) -- status of scattered beam particle (emitting the pomeron/pion) in the event record.
- MPOM(5) -- use of event weight in {\sc Pythia}, through MSTP(173)=MPOM(5) regulating use of PARP(173).
- PARPOM(1) -- pomeron-proton total cross-section = 2.3 mb
- PARPOM(2) -- power $p$ in $1/x_{\Pma}^p$ dependence =1
- PARPOM(3),PARPOM(4),PARPOM(5) -- coefficients $a_1,a_2,a_3$ in exponential $t$-dependence used for MPOM(1)=1
- PARPOM(6),PARPOM(7),PARPOM(8) -- exponential slopes $b_1,b_2,b_3$ in exponential $t$-dependence used for MPOM(1)=1;
- PARPOM(9) -- overall normalization $C$ for the pomeron flux factor in eq.~(\ref{MIXFLUX}) used for MPOM(1)=2.
- PARPOM(10) --
- PARPOM(11) --
- PARPOM(12) --
- PARPOM(13) --
- PARPOM(14) --
- PARPOM(15) --
- PARPOM(16) --
- PARPOM(17) --
- PARPOM(18) --
- PARPOM(19) --
- PARPOM(20) --
- PARPOM(21) --
- PARPOM(22) --
- PARPOM(23) --
- PARPOM(24) --
- PARPOM(25) --
- PARPOM(26) --
- PARPOM(27) --
- PARPOM(28) --
- PARPOM(29) --
- PARPOM(30) --
- PARPOM(31) --
- PARPOM(32) --
- PARPOM(33) --
- PARPOM(34) --
- PARPOM(35) --
- PARPOM(36) --
- PARPOM(37) --
- PARPOM(38) --
- PARPOM(39) --
- PARPOM(40) --
- COMMON/POMCUT/UCUT(20),GCUT(20)
For the user to set limits (UCUT) on the diffractive variables - UCUT(1),UCUT(2) -- lower, upper limit of $x_F$
- UCUT(3),UCUT(4) -- lower, upper limit of $M_X$
- UCUT(5),UCUT(6) -- lower, upper limit of $t$
- UCUT(7),UCUT(8) -- lower, upper limit of lab fram $p_{\perp}$
To store effective limits (GCUT) for the generation. - GCUT(1),GCUT(2) -- effective lower, upper limit of $x_F$
- GCUT(3),GCUT(4) -- effective lower, upper limit of $M_X$
- GCUT(5),GCUT(6) -- effective lower, upper limit of $t$
- GCUT(7),GCUT(8) -- effective lower, upper limit of $p_{\perp}$
- GCUT(9),GCUT(10) -- effective lower, upper limit of $W_{had}$, calculated
- COMMON/POMEVT/KIN(4,5),PIN(4,5),ROOTS,XMASS,XF,XPOM,T,PT,WHAD
Give access to information about the latest generated event. - KIN(4,5),PIN(4,5) --
Information on incoming beam particles (I=1,2), scattered beam particle (I=3) and exchanged pomeron (pion) (I=4) with notation as for the K- and P-arrays in LUJETS. - ROOTS -- $\sqrt{s}$, i.e. overall cms energy of user-defined beam particles.
- XMASS -- $M_X$, i.e. cms energy of pomeron-particle system. XF -- $x_F$, i.e. momentum fraction of quasi-elastically scattered beam hadron.
- XPOM -- $x_{\Pma}=1-x_F$, i.e. momentum fraction of exchanged pomeron (pion).
- T -- $t=(p_i-p_f)^2$, i.e. squared diffractive momentum transfer (equals mass squared of exchanged pomeron/pion).
- PT -- $p_\bot$ of quasi-elastically scattered hadron (and exchanged pomeron/pion) in lab frame.
- WHAD -- invariant mass of the hadronic final state (i.e. excluding the scattered lepton in lepton-nucleon scattering).
- COMMON/POMSIG/NEVT,SIGTOT
Gives overall number of events and cross-section. - NEVT -- number of (accepted) events generated.
- SIGTOT -- total cross-section for the generated event sample (updated for each event), normally equal to PARI(1) in {\sc Pythia} (but see MPOM(5)). The subprocess cross-sections XSEC(ISUB,3) in {\sc Pythia} can also be used.
- COMMON/POMIN1/NTRY,FLUXI,CPUTIM(3)
- NTRY -- number of calls to PYEVNT.
- FLUXI -- integral of pomeron flux factor, used for normalisation of cross-section
- CPUTIM(3) -- cpu time at start, end of initialization and after latest generated event.
- COMMON/POMIN2/DCOEF(10),DPIN(4,5)
Effective coefficients for handling the flux factor - DCOEF(1) --
- DCOEF(2) --
- DCOEF(3) --
- DCOEF(4) --
- DCOEF(5) --
- DCOEF(6) --
- DCOEF(7) --
- DCOEF(8) --
- DCOEF(9) --
- DCOEF(10) --
- DPIN(4,5) -- four-momenta of the incoming particles in double precision, cf. PIN in POMEVT.
- COMMON/POMIN3/DMASS,DXF,DT,DPT,DROOTS,DXFL,DXFU,DXML,DXMU,DTL, &
DTU,DPTL,DPTU,DXPL,DXPU,DXXL,DXXU
Double precision variables mainly for internal use. - DMASS -- diffractive variable $M_X$
- DXF -- diffractive variable $x_F$,
- DT -- diffractive variable $t$
- DPT -- diffractive variable $p_\bot$
- DROOTS - overall cms energy $\sqrt{s}$ of user-defined beam particles.
- DXFL -- effective lower limit of $x_F$.
- DXFU -- effective upper limit of $x_F$.
- DXML -- effective lower limit of $M_X$
- DXMU -- effective upper limit of $M_X$
- DTL -- effective lower limit of $t$.
- DTU -- effective upper limit of $t$.
- DPTL -- effective lower limit of $p_{\perp}$.
- DPTU -- effective upper limit of $p_{\perp}$.
- DXPL -- effective lower limit of $x_{\Pma}$($x_{\pi}$).
- DXPU -- effective upper limit of $x_{\Pma}$($x_{\pi}$).
- DXXL -- internally used lower limit of $x_{\Pma}$($x_{\pi}$).
- DXXU -- internally used upper limit of $x_{\Pma}$($x_{\pi}$).
- COMMON/POMIN4/WH(4),GENVAR(20)
to calculate internally $W_{had}$. - WH(1) --
- WH(2) --
- WH(3) --
- WH(4) --
To store the current min and max of diffractive variables and of the mass of the resulting hadronic final state. - GENVAR(1) --
- GENVAR(2) --
- GENVAR(3) --
- GENVAR(4) --
- GENVAR(5) --
- GENVAR(6) --
- GENVAR(7) --
- GENVAR(8) --
- GENVAR(9) --
- GENVAR(10) --
- GENVAR(11) --
- GENVAR(12) --
- GENVAR(13) --
- GENVAR(14) --
- GENVAR(15) --
- GENVAR(16) --
- GENVAR(17) --
- GENVAR(18) --
- GENVAR(19) --
- GENVAR(20) --
- COMMON/POMIN5/NREJ1
To store number of rejections. - NREJ1 --
- COMMON/POMLIS/CHFRAM,CHBEAM,CHTARG,CHEXCH,CHSCAT CHARACTER*8 CHFRAM,CHBEAM,CHTARG,CHEXCH,CHSCAT
- CHFRAM -- frame in which to generate events.
- CHBEAM -- beam particle.
- CHTARG -- target particle.
- CHEXCH -- exchanged particle.
CHSCAT -- quasi-elastically scattered hadron.
Integration
- gadap.f --
- gadap2.f --
- gadapf.f --
