Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pystbh.f
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file pystbh.f
1 
2 C*********************************************************************
3 
4 C...PYSTBH (and auxiliaries)
5 C.. Evaluates the matrix elements for t + b + H production.
6 
7  SUBROUTINE pystbh(WTTBH)
8 
9 C...DOUBLE PRECISION AND INTEGER DECLARATIONS
10  IMPLICIT DOUBLE PRECISION(a-h, o-z)
11  IMPLICIT INTEGER(i-n)
12  INTEGER pyk,pychge,pycomp
13 
14 C...COMMONBLOCKS
15  common/pydat1/mstu(200),paru(200),mstj(200),parj(200)
16  common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
17  common/pypars/mstp(200),parp(200),msti(200),pari(200)
18  common/pyint1/mint(400),vint(400)
19  common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
20  common/pyint3/xsfx(2,-40:40),isig(1000,3),sigh(1000)
21  common/pyint4/mwid(500),wids(500,5)
22  common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
23  common/pymssm/imss(0:99),rmss(0:99)
24  common/pysgcm/isub,isubsv,mmin1,mmax1,mmin2,mmax2,mmina,mmaxa,
25  &kfac(2,-40:40),comfac,fack,faca,sh,th,uh,sh2,th2,uh2,sqm3,sqm4,
26  &shr,sqpth,taup,be34,cth,x(2),sqmz,sqmw,gmmz,gmmw,
27  &aem,as,xw,xw1,xwc,xwv,poll,polr,polll,polrr
28  common/pyctbh/ alpha,alphas,sw2,mw2,tanb,vtb,v,a
29  DOUBLE PRECISION mw2
30  SAVE /pydat1/,/pydat2/,/pypars/,/pyint1/,/pyint2/,/pyint3/,
31  &/pyint4/,/pysubs/,/pymssm/,/pysgcm/,/pyctbh/
32 
33 C...LOCAL ARRAYS AND COMPLEX VARIABLES
34  dimension qq(4,2),pp(4,3)
35  DATA qq/8*0d0/
36 
37  wttbh=0d0
38 
39 C...KINEMATIC PARAMETERS.
40  shpr=sqrt(vint(26))*vint(1)
41  ph=sqrt(vint(21))*vint(1)
42  sph=ph**2
43 
44 C...SET UP OUTGOING KINEMATICS: 1=T, 2=TBAR, 3=H.
45  DO 100 i=1,2
46  pt=sqrt(max(0d0,vint(197+5*i)))
47  pp(1,i)=pt*cos(vint(198+5*i))
48  pp(2,i)=pt*sin(vint(198+5*i))
49  100 CONTINUE
50  pp(1,3)=-pp(1,1)-pp(1,2)
51  pp(2,3)=-pp(2,1)-pp(2,2)
52  pms1=vint(201)**2+pp(1,1)**2+pp(2,1)**2
53  pms2=vint(206)**2+pp(1,2)**2+pp(2,2)**2
54  pms3=sph+pp(1,3)**2+pp(2,3)**2
55  pmt3=sqrt(pms3)
56  pp(3,3)=pmt3*sinh(vint(211))
57  pp(4,3)=pmt3*cosh(vint(211))
58  pms12=(shpr-pp(4,3))**2-pp(3,3)**2
59  pp(3,1)=(-pp(3,3)*(pms12+pms1-pms2)+
60  &vint(213)*(shpr-pp(4,3))*vint(220))/(2d0*pms12)
61  pp(3,2)=-pp(3,1)-pp(3,3)
62  pp(4,1)=sqrt(pms1+pp(3,1)**2)
63  pp(4,2)=sqrt(pms2+pp(3,2)**2)
64 
65 C...CM SYSTEM, INGOING QUARKS/GLUONS
66  qq(3,1) = shpr/2.d0
67  qq(4,1) = qq(3,1)
68  qq(3,2) = -qq(3,1)
69  qq(4,2) = qq(4,1)
70 
71 C...PARAMETERS FOR AMPLITUDE METHOD
72  alpha = aem
73  alphas = as
74  sw2 = paru(102)
75  mw2 = pmas(24,1)**2
76  tanb = paru(141)
77  vtb = vckm(3,3)
78  rmb=pymrun(5,vint(52))
79 
80  isub=mint(1)
81 
82  IF (isub.EQ.401) THEN
83  CALL pytbhg(qq(1,1),qq(1,2),pp(1,1),pp(1,2),pp(1,3),
84  & vint(201),vint(206),rmb,vint(43),wttbh)
85  ELSE IF (isub.EQ.402) THEN
86  CALL pytbhq(qq(1,1),qq(1,2),pp(1,1),pp(1,2),pp(1,3),
87  & vint(201),vint(206),rmb,vint(43),wttbh)
88  END IF
89 
90  RETURN
91  END