Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:13:36

0001 
0002 c********************************************************************

0003 
0004 c...helicity amplitude of the bound state part: \bar{b}+c->bc.

0005       subroutine bundhelicity(ibc)
0006       implicit double precision (a-h,o-z)
0007         implicit integer (i-n)
0008         double complex colmat,bundamp,polsppup
0009         common/upcom/ecm,pmbc,pmb,pmc,fbcc,pmomup(5,8),
0010      &  colmat(10,64),bundamp(4),pmomzero(5,8)
0011       common/pol/polar(4,3)
0012 c...for color-octet production.

0013       common/coloct/ioctet
0014         common/octmatrix/coeoct
0015 
0016 c...wavezero is the value of the wave function at origin.

0017       wavezero=dsqrt(pmbc*fbcc**2/12.0d0)
0018 
0019 c...color-octet matrixment.

0020         if(ioctet.eq.1) then
0021           wavezero=coeoct*wavezero
0022         end if
0023 
0024 c...bundamp(1)->++, bundamp(2)->--, bundamp(3)->+-, bundamp(4)->-+.

0025 c...b_c in 1s0 state and not get the combined results for bc and bc*

0026       if(ibc.eq.1) then
0027           bundamp(1)=dcmplx(-wavezero*dsqrt(pmbc)/(2*dsqrt(pmb*pmc)))
0028           bundamp(2)=dcmplx(+wavezero*dsqrt(pmbc)/(2*dsqrt(pmb*pmc)))
0029           bundamp(3)=dcmplx(0.0d0)
0030           bundamp(4)=dcmplx(0.0d0)
0031         end if
0032 
0033 c...the expression of polarization vectors depend on the gauge choice.

0034 c...one way of constructing polarization vector of 3s1 state: all

0035 c...satisfies: polar(i)**2=-1, polar(i).polar(j)=0 (i.ne.j),

0036 c...polar(i).pmomup(3)=0; in addition, we choose: polar(1,1)=0.0d0

0037 c...polar(2,1)=0.0d0, and polar(1,3)=0.0d0.

0038       if(ibc.eq.2) then
0039          polar(1,1)=0.0d0
0040          polar(2,1)=0.0d0
0041          polar(3,1)=pmomup(4,3)/dsqrt(pmomup(4,3)**2-pmomup(3,3)**2)
0042          polar(4,1)=pmomup(3,3)/dsqrt(pmomup(4,3)**2-pmomup(3,3)**2)
0043 
0044        if(pmomup(3,3).lt.0.0d0) then
0045           polar(1,2)=-dsqrt(pmomup(4,3)**2-pmomup(2,3)**2-pmomup(3,3)**2)
0046      &     /pmomup(5,3)
0047           polar(2,2)=-pmomup(1,3)*pmomup(2,3)/dsqrt(pmomup(4,3)**2
0048      &    -pmomup(2,3)**2-pmomup(3,3)**2)/pmomup(5,3)
0049           polar(3,2)=-pmomup(1,3)*pmomup(3,3)/dsqrt(pmomup(4,3)**2
0050      &    -pmomup(2,3)**2-pmomup(3,3)**2)/pmomup(5,3)
0051           polar(4,2)=-pmomup(1,3)*pmomup(4,3)/dsqrt(pmomup(4,3)**2
0052      &    -pmomup(2,3)**2-pmomup(3,3)**2)/pmomup(5,3)
0053          else
0054           polar(1,2)=dsqrt(pmomup(4,3)**2-pmomup(2,3)**2-pmomup(3,3)**2)
0055      &     /pmomup(5,3)
0056           polar(2,2)=pmomup(1,3)*pmomup(2,3)/dsqrt(pmomup(4,3)**2
0057      &    -pmomup(2,3)**2-pmomup(3,3)**2)/pmomup(5,3)
0058           polar(3,2)=pmomup(1,3)*pmomup(3,3)/dsqrt(pmomup(4,3)**2
0059      &    -pmomup(2,3)**2-pmomup(3,3)**2)/pmomup(5,3)
0060           polar(4,2)=pmomup(1,3)*pmomup(4,3)/dsqrt(pmomup(4,3)**2
0061      &    -pmomup(2,3)**2-pmomup(3,3)**2)/pmomup(5,3)
0062          end if
0063 
0064          polar(1,3)=0.0d0
0065          polar(2,3)=dsqrt(pmomup(4,3)**2-pmomup(3,3)**2)
0066      &   /dsqrt(pmomup(4,3)**2-pmomup(2,3)**2-pmomup(3,3)**2)
0067          polar(3,3)=pmomup(2,3)*pmomup(3,3)/dsqrt(pmomup(4,3)**2-
0068      &    pmomup(3,3)**2)/dsqrt(pmomup(4,3)**2-pmomup(2,3)**2
0069      &    -pmomup(3,3)**2)
0070          polar(4,3)=pmomup(2,3)*pmomup(4,3)/dsqrt(pmomup(4,3)**2-
0071      &    pmomup(3,3)**2)/dsqrt(pmomup(4,3)**2-pmomup(2,3)**2
0072      &    -pmomup(3,3)**2)
0073 
0074 c...four bound state matrix elements of 3s1.

0075          bundamp(1)=dcmplx(0.0d0)
0076          do i=1,3
0077           bundamp(1)=bundamp(1)+wavezero*dsqrt(pmbc)/(2*dsqrt(pmb*pmc))
0078      &  *pmbc*(polar(4,i)*pmomup(4,8)-polar(1,i)*pmomup(1,8)-
0079      &    polar(2,i)*pmomup(2,8)-polar(3,i)*pmomup(3,8))/dotup(3,8)
0080          end do
0081          bundamp(2)=dconjg(bundamp(1))
0082        bundamp(3)=dcmplx(0.0d0)
0083          do i=1,3
0084         bundamp(3)=bundamp(3)+wavezero*dsqrt(pmbc)/(2*dsqrt(pmb*pmc))
0085      &  *polsppup(i)/(2*dotup(3,8))
0086        end do
0087          bundamp(4)=-dconjg(bundamp(3))
0088         
0089         end if
0090       
0091         return
0092         end
0093