Back to home page

Project CMSSW displayed by LXR

 
 

    


Warning, /GeneratorInterface/ReggeGribovPartonMCInterface/src/epos.incems is written in an unsupported language. File is not indexed.

0001 
0002       parameter (mmrye=4,mmryk=1)   !memory saving factor
0003 
0004       parameter (kollmx=45000/mmrye,npommx=150)
0005       parameter (mamx=210/mmryk,ngrmx=1,ntymi=0,ntymx=2)
0006       parameter (nflavems=4)
0007 
0008 !----------------------------------------------------------------------
0009 ! POMERON
0010 !----------------------------------------------------------------------
0011 
0012       double precision om1int,om1intc
0013      *        ,atilde,btildep,btildepp
0014       common/comega/om1int(kollmx),om1intc(kollmx)
0015       common/comtilde/atilde(ntymi:ntymx,kollmx)
0016      *,btildep(ntymi:ntymx,kollmx),btildepp(ntymi:ntymx,kollmx)
0017      *,ntymin
0018 
0019 !----------------------------------------------------------------------
0020 ! POMERON CONFIGURATION
0021 !----------------------------------------------------------------------
0022 
0023       common/col/koll,iproj(kollmx),itarg(kollmx),coord(4,kollmx)
0024       common/col1/kremn(mamx,mamx,2),lremn(mamx,2)
0025       dimension kproj(mamx,mamx),ktarg(mamx,mamx)
0026      *,lproj(mamx),ltarg(mamx)
0027       equivalence (kproj(1,1),kremn(1,1,1)),(ktarg(1,1),kremn(1,1,2))
0028       equivalence (lproj(1),lremn(1,1)),(ltarg(1),lremn(1,2))
0029       double precision gammaV
0030       common/col6/kproj3(mamx,mamx),ktarg3(mamx,mamx)
0031      *,lproj3(mamx),ltarg3(mamx)
0032      *,epsilongp(kollmx,0:1),epsilongt(kollmx,0:1)
0033      *,epsilongs(kollmx,0:1),gammaV(kollmx)
0034      *,epsilongf(kollmx),epsilongb(kollmx)
0035       common/col4/bk(kollmx),bhpr(npommx,kollmx),bkx(kollmx)
0036      *,bky(kollmx)
0037       double precision PomInck,xxnuc,xzcutpar
0038       common/col7/zparremn(kollmx,2),PomInck(kollmx),xzcutpar(kollmx)
0039      *,xxnuc(mamx,2,kollmx),npnuc(mamx,2,kollmx)
0040      *,irnuc(mamx,2,kollmx),knucnt(2,kollmx)
0041       real zparpro(kollmx),zpartar(kollmx)
0042       equivalence (zparpro(1),zparremn(1,1)),(zpartar(1),zparremn(1,2))
0043 
0044 !----------------------------------------------------------------------
0045 ! koll: number of relevant pairs
0046 ! iproj(k): projectile index for k-th pair
0047 ! itarg(k): target index for k-th pair
0048 ! lproj(ip): number of pairs linked to projectile ip
0049 ! kproj(ip,l): corresponding pair index of the l-th pair
0050 ! ltarg(it): number of pairs linked to target it
0051 ! ktarg(it,l): corresponding pair index of the l-th pair
0052 ! bk(k): b value of the k-th pair (=sqrt(bx**2.+by**2.)) 
0053 ! bkx(k): bx value of the k-th pair
0054 ! bky(k): by value of the k-th pair
0055 ! lproj3(ip): number of pairs linked to projectile ip (no diffraction) 
0056 ! kproj3(ip,l): corresponding pair index of the l-th pair (no diffraction)
0057 ! ltarg3(it): number of pairs linked to target it (no diffraction)
0058 ! ktarg3(it,l): corresponding pair index of the l-th pair (no diffraction)
0059 !----------------------------------------------------------------------
0060 
0061       common/cems3/nprt(kollmx),npr(0:3,kollmx)
0062       common/cems4/nprmx(kollmx)
0063 
0064 !----------------------------------------------------------------------
0065 ! nprt(k):     number of pomerons of collision k
0066 ! npr(id,k):   number of pomerons of type id of collision k
0067 !                   (id: 0=zero, 1=soft, 2=reggeon, 3=hard)
0068 ! nprmx(k):    maximum number of pomerons of collision k
0069 !----------------------------------------------------------------------
0070 
0071       common/cems2/itpr(kollmx),idpr(npommx,kollmx),ivpr(npommx,kollmx)
0072      *,idfpr(npommx,kollmx)
0073      *,nvpr(npommx,kollmx),nbkpr(npommx,kollmx)
0074       
0075 !----------------------------------------------------------------------
0076 ! itpr(k):     interaction type of collision k  
0077 !                       (0=nothing, 1=inelastic, 2=diffractive)   
0078 ! idpr(n,k):   type of pomeron (n,k)
0079 !                       (0=zero, 1=soft, 2=reggeon, 3=hard)   
0080 ! ivpr(n,k):   status of pomeron (n,k)   (0=virtual, 1=real, 2=backup)
0081 ! nbkpr(n,k):  position of the backup pomeron
0082 ! nvpr(n,k):   position of the pomeron for this backup pomeron
0083 ! idfpr(n,k):  link of pomeron (n,k) (0=no, 1=pro&tar, 2=pro, 3=tar)
0084 !              idfpr=-1 means backup pomeron
0085 !----------------------------------------------------------------------
0086 
0087       double precision xpr,ypr,xppr,xmpr,xpprbor,xmprbor
0088       common/cems1/xpr(npommx,kollmx),ypr(npommx,kollmx)
0089       common/cems1c/xppr(npommx,kollmx),xmpr(npommx,kollmx)
0090       common/cems1d/xpprbor(npommx,kollmx),xmprbor(npommx,kollmx)
0091       common/cems1e/nemispr(2,npommx,kollmx),ptprboo(2,npommx,kollmx)
0092      
0093 !----------------------------------------------------------------------
0094 ! xpr(n,k):     x=x+x- of pomeron (n,k)
0095 ! ypr(n,k):     rapidity of pomeron (n,k) 
0096 ! xpprbor(n,k): x+ of in Born parton of pomeron (n,k)
0097 ! xmprbor(n,k): x- of in Born parton of pomeron (n,k)
0098 ! nemispr(i,n,k): number of up (i=1) and down (i=2) emissions
0099 !----------------------------------------------------------------------
0100 
0101       double precision xp1pr,xp2pr,xm1pr,xm2pr,xxp1pr,xyp1pr  
0102      *                ,xxp2pr,xyp2pr,xxm1pr,xym1pr,xxm2pr,xym2pr 
0103        common/cems7/xp1pr(npommx,kollmx),xp2pr(npommx,kollmx)
0104      *            ,xm1pr(npommx,kollmx),xm2pr(npommx,kollmx)
0105      *            ,idp1pr(npommx,kollmx),idp2pr(npommx,kollmx)
0106      *            ,idm1pr(npommx,kollmx),idm2pr(npommx,kollmx)
0107       common/cems8/xxp1pr(npommx,kollmx),xyp1pr(npommx,kollmx)
0108      *            ,xxp2pr(npommx,kollmx),xyp2pr(npommx,kollmx)
0109      *            ,xxm1pr(npommx,kollmx),xym1pr(npommx,kollmx)
0110      *            ,xxm2pr(npommx,kollmx),xym2pr(npommx,kollmx)
0111      
0112 !----------------------------------------------------------------------
0113 ! xp1pr(n,k):  x of string end p1                               p1    p2
0114 ! xp2pr(n,k):  x of string end p2                                \    / 
0115 ! xm1pr(n,k):  x of string end m1                                 \  /
0116 ! xm2pr(n,k):  x of string end m2                                  \/
0117 ! idp1pr(n,k): id of string end p1 ( 0=0            )              /\
0118 ! idp2pr(n,k): id of string end p2 ( 1=s    2=v     )             /  \
0119 ! idm1pr(n,k): id of string end m1 ( 4=ss*2 5=ss    )            /    \
0120 ! idm2pr(n,k): id of string end m2 ( 8=f            )           m1    m2
0121 ! xxp1pr(n,k),xyp1pr(n,k): px,py of string end p1
0122 ! xxp2pr(n,k),xyp2pr(n,k): px,py of string end p2
0123 ! xxm1pr(n,k),xym1pr(n,k): px,py of string end m1
0124 ! xxm2pr(n,k),xym2pr(n,k): px,py of string end m2    
0125 !----------------------------------------------------------------------
0126      
0127       double precision xme
0128       common/cems11/xme(mamx)
0129      
0130 !----------------------------------------------------------------------
0131 ! xme(j):  x- exchange for nucleon j    
0132 !----------------------------------------------------------------------
0133 
0134       common/cems22/idhpr(npommx,kollmx),idrpr(npommx,kollmx)
0135      *             ,idsppr(npommx,kollmx),idstpr(npommx,kollmx)
0136      
0137 !----------------------------------------------------------------------
0138 ! idhpr(n,k):  flav hard Pom (n,k)  (0=gg,1=qg,2=gq,3=qq) 
0139 ! idrpr(n,k):  flav Regg (n,k) (0=ss,1=0va0,2=v00a,3=0as0,4=s00a,5=0sv0,6=v00s)
0140 ! idsppr(n,k): flav soft P (n,k) (proj) (0=ss,1=vs,2=sa,3=va,4=dd,5=svv,6=aas)
0141 ! idstpr(n,k): flav soft P (n,k) (targ) (0=ss,1=vs,2=sa,3=va,4=dd,5=svv,6=aas)
0142 !----------------------------------------------------------------------
0143 
0144 
0145 !----------------------------------------------------------------------
0146 ! REMNANT CONFIGURATION 
0147 !----------------------------------------------------------------------
0148       common/remn4/jcpval(nflavems,2,mamx),jctval(nflavems,2,mamx)
0149       common/remn3/jcpref(nflavems,2,mamx),jctref(nflavems,2,mamx)
0150       common/remn2/zzremn(mamx,2)
0151       common/remn/icremn(2,mamx,2)
0152       dimension icproj(2,mamx),ictarg(2,mamx)     
0153       double precision xpp,xmp,xpt,xmt,xxp,xyp,xxt,xyt
0154       double precision xpz,xmz,xxz,xyz
0155       common/cemsr/xpz(mamx,2),xmz(mamx,2)
0156      *            ,xxz(mamx,2),xyz(mamx,2)
0157      *            ,idz(mamx,2),ivz(mamx,2)
0158      *            ,isz(mamx,2),iaz(mamx,2)
0159       dimension xpp(mamx),xmp(mamx),xpt(mamx),xmt(mamx)
0160      *         ,xxp(mamx),xyp(mamx),xxt(mamx),xyt(mamx)
0161      *         ,idp(mamx),ivp(mamx),ivt(mamx),idt(mamx)
0162      *         ,isp(mamx),iap(mamx),ist(mamx),iat(mamx)
0163 
0164       equivalence (icproj(1,1),icremn(1,1,1))
0165      *           ,(ictarg(1,1),icremn(1,1,2))
0166       equivalence (xpp(1),xpz(1,1)),(xmt(1),xpz(1,2))
0167      *           ,(xmp(1),xmz(1,1)),(xpt(1),xmz(1,2))
0168      *           ,(xxp(1),xxz(1,1)),(xxt(1),xxz(1,2))
0169      *           ,(xyp(1),xyz(1,1)),(xyt(1),xyz(1,2))
0170      *           ,(idp(1),idz(1,1)),(idt(1),idz(1,2))
0171      *           ,(ivp(1),ivz(1,1)),(ivt(1),ivz(1,2))
0172      *           ,(isp(1),isz(1,1)),(ist(1),isz(1,2))
0173      *           ,(iap(1),iaz(1,1)),(iat(1),iaz(1,2))
0174      
0175 !----------------------------------------------------------------------
0176 ! xpp(ip),xmp(ip),xpt(it),xmt(it): x+,x- of projectile ip / target it
0177 ! xxp(ip),xyp(ip),xxt(it),xyt(it): px,py of projectile ip / target it
0178 ! idp(ip),idt(it): diquark counter 
0179 ! ivp(ip),ivt(it): valenve quark counter
0180 ! isp(ip),ist(it): sea quark counter
0181 ! iap(ip),iat(it): anti valence quark counter
0182 !----------------------------------------------------------------------
0183      
0184       double precision xpmn,xtmn,xpmx,xtmx,xppmx,xptmx,xmpmx,xmtmx 
0185      *                 ,xppmn ,xptmn,xmpmn,xmtmn,xpos,xtos     
0186       double precision xzmn,xzmx,xpzmx,xmzmx 
0187      *                 ,xpzmn ,xmzmn,xzos     
0188       common/cemsr1/xzmn(mamx,2),xzmx(mamx,2)
0189      *             ,xpzmx(mamx,2)
0190      *             ,xmzmx(mamx,2)
0191      *             ,xpzmn(mamx,2)
0192      *             ,xmzmn(mamx,2)
0193      *             ,xzos(mamx,2)   
0194       dimension  xpmn(mamx),xtmn(mamx),xpmx(mamx),xtmx(mamx)
0195      *          ,xppmx(mamx),xptmx(mamx)
0196      *          ,xmpmx(mamx),xmtmx(mamx)
0197      *          ,xppmn(mamx),xptmn(mamx)
0198      *          ,xmpmn(mamx),xmtmn(mamx)
0199      *          ,xpos(mamx),xtos(mamx)    
0200 
0201       equivalence ( xpmn(1), xzmn(1,1)),( xtmn(1), xzmn(1,2))
0202      *           ,( xpmx(1), xzmx(1,1)),( xtmx(1), xzmx(1,2))
0203      *           ,(xppmx(1),xpzmx(1,1)),(xptmx(1),xpzmx(1,2))
0204      *           ,(xmpmx(1),xmzmx(1,1)),(xmtmx(1),xmzmx(1,2))
0205      *           ,(xppmn(1),xpzmn(1,1)),(xptmn(1),xpzmn(1,2))
0206      *           ,(xmpmn(1),xmzmn(1,1)),(xmtmn(1),xmzmn(1,2))
0207      *           ,( xpos(1), xzos(1,1)),( xtos(1), xzos(1,2))
0208      
0209 !----------------------------------------------------------------------
0210 ! xpmn(ip),xtmn(it),xpmx(ip),xtmx(it):      x proj/targ minimum/maximum
0211 ! xppmx(ip),xptmx(it),xmpmx(ip),xmtmx(it):  x+/x- proj/targ maximum
0212 ! xppmn(ip),xptmn(it),xmpmn(ip),xmtmn(it):  x+/x- proj/targ minimum
0213 ! xpos(ip),xtos(it): x value for on shell condition proj/targ
0214 !----------------------------------------------------------------------
0215       
0216       common/cemsr3/kolp(mamx),kolt(mamx),npp(mamx),npt(mamx)
0217       common/cemsr4/iez(mamx,2),ifz(mamx,2)
0218       dimension iep(mamx),iet(mamx),ifp(mamx),ift(mamx) 
0219       equivalence (iep(1),iez(1,1)),(iet(1),iez(1,2))
0220      *           ,(ifp(1),ifz(1,1)),(ift(1),ifz(1,2))
0221       
0222 !----------------------------------------------------------------------
0223 ! kolp(ip),kolt(it): number of cut Pomerons of proj ip / targ it
0224 ! iep(ip),iet(it):   excitation type of proj ip / targ it 
0225 !                       (0=none,1=inelastic,2=diffractive)
0226 ! ifp(ip),ift(it):   remnant flip flag proj/targ (0=no,1=yes)
0227 ! if3dp(ip), if3dp(it): triple pomeron diffraction (if 1)
0228 !----------------------------------------------------------------------
0229 
0230 
0231 !----------------------------------------------------------------------
0232 ! transfer from emsini
0233 !----------------------------------------------------------------------
0234 
0235       double precision amzmn,ampmn,amtmn,ammn,amemn,amemx,amprmn,xis
0236      &,delxi,ddelx,r3pompi,r3pommi,r3pompi3,r3pommi3
0237       parameter (ntypmx=19)
0238       common/cems12/ammn(0:ntypmx),amprmn(0:ntypmx)
0239       common/cemsr6/amzmn(0:1,2),amemn(0:1,0:6),amemx(0:2)
0240       dimension ampmn(0:1),amtmn(0:1)
0241       equivalence (ampmn(0),amzmn(0,1)), (amtmn(0),amzmn(0,2))  
0242       common/cemsr13/xis,delxi,ddelx,r3pompi,r3pommi
0243      &,r3pompi3,r3pommi3,ucfpro,ucftar
0244 
0245 !----------------------------------------------------------------------
0246 ! STORAGE
0247 !----------------------------------------------------------------------
0248      
0249       double precision 
0250      *xxpr,xxpr0,yx,yx0,xxppr,xxmpr,xxppr0,xxmpr0
0251      *,xmtx,xmtx0,xmtlx,xmtlx0
0252      *,xppx,xppx0,xpplx,xpplx0
0253      *,xppst,xmpst,xposst,xpest,xppstx0,xmpstx0,xppstx,xmpstx
0254      *,xmtst,xptst,xtosst,xmest,xmtstx0,xptstx0,xmtstx,xptstx
0255       dimension nprx(0:3),nprx0(0:3),iepst(mamx),ietst(mamx)
0256      *,xppst(mamx),xmpst(mamx),xposst(mamx),xpest(mamx)
0257      *,xmtst(mamx),xptst(mamx),xtosst(mamx),xmest(mamx)
0258 
0259      
0260       common/emsstore/
0261      *xxpr,xxpr0,yx,yx0,xxppr,xxmpr,xxppr0,xxmpr0
0262      *,xmtx,xmtx0,xmtlx,xmtlx0
0263      *,xppx,xppx0,xpplx,xpplx0
0264      *,itx,itx0,idx,idx0,iepst,ietst
0265      *,npplx0,nptlx0,npplx,nptlx
0266      *,nppx,nppx0,nptx,nptx0,nprx,nprx0,nprtx,nprtx0
0267      *,xppst,xmpst,xposst,xpest,xppstx0,xmpstx0,xppstx,xmpstx
0268      *,xmtst,xptst,xtosst,xmest,xmtstx0,xptstx0,xmtstx,xptstx
0269 
0270 
0271 !----------------------------------------------------------------------
0272 ! utilities
0273 !----------------------------------------------------------------------
0274      
0275       double precision facto,fctrl
0276       common/factori/facto(0:npommx),fctrl(0:npommx),nfctrl
0277 
0278 
0279 
0280 
0281