Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001       subroutine uplogo
0002       implicit double precision(a-h, o-z)
0003         implicit integer(i-n)
0004 
0005         common/mixevnt/xbcsec(8),imix,imixtype
0006       common/pypars/mstp(200),parp(200),msti(200),pari(200)
0007       common/pydat1/mstu(200),paru(200),mstj(200),parj(200)
0008         double complex colmat,bundamp
0009       common/upcom/ecm,pmbc,pmb,pmc,fbcc,pmomup(5,8),
0010      &  colmat(10,64),bundamp(4),pmomzero(5,8)
0011         common/counter/ibcstate,nev
0012       common/subopen/subfactor,subenergy,isubonly
0013         common/confine/ptcut,etacut
0014       common/funtrans/nq2,npdfu
0015         common/usertran/ishower,idpp
0016       common/qqbar/iqqbar,iqcode
0017       common/coloct/ioctet
0018         common/octmatrix/coeoct
0019         common/outpdf/ioutpdf,ipdfnum
0020         common/wavezero/fbc
0021       character*8 alporder
0022         
0023         write(*,'(a)') 
0024      &  '......................................................'
0025         write(*,'(a)') 
0026      &  '......................................................'
0027         write(*,'(a)')
0028      &  '...........    BCVEGPY2.1 LINUX version ..............'
0029         write(*,'(a)') 
0030      &  '......................................................'
0031       write(3,'(a)') 
0032      &  '......................................................'
0033       write(3,'(a)') 
0034      &  '......................................................'
0035         write(3,'(a)') 
0036      &  '...........    BCVEGPY2.1 LINUX version ..............'
0037       write(3,'(a)') 
0038      &  '......................................................'
0039         write(*,'(a)') 
0040      &  '.... copyright (c)  c.h. chang  and x.g. wu  ..........'
0041       write(3,'(a)') 
0042      &  '.... copyright (c)  c.h. chang  and x.g. wu  ..........'
0043         write(*,'(a)') 
0044      &  '.... any question email to: wuxg@itp.ac.cn  ..........'
0045       write(3,'(a)') 
0046      &  '.... any question email to: wuxg@itp.ac.cn  ..........'
0047         write(*,'(a)') 
0048      &  '......................................................'
0049         write(*,'(a)') 
0050      &  '......................................................'
0051       write(3,'(a)') 
0052      &  '......................................................'
0053       write(3,'(a)') 
0054      &  '......................................................'
0055        write(*,*)
0056        write(3,*)
0057       write(*,'(a)')
0058      &  '******************************************************'
0059       write(3,'(a)')
0060      &  '******************************************************'
0061       write(*,'(a)')
0062      &  '**********        running information       **********'
0063       write(3,'(a)')
0064      &  '**********        running information       **********'
0065       write(*,'(a)')
0066      &  '******************************************************'
0067       write(3,'(a)')
0068      &  '******************************************************'
0069        write(*,*)
0070        write(3,*)
0071 
0072 c*****************************************************************

0073 
0074         write(*,'(a)') 
0075      &  '......................................................'
0076         write(*,'(a)')
0077      &  '.............. initial parameters ....................'
0078         write(*,'(a)') 
0079      &  '......................................................'
0080       write(3,'(a)') 
0081      &  '......................................................'
0082         write(3,'(a)') 
0083      &  '.............. initial parameters ....................'
0084       write(3,'(a)') 
0085      &  '......................................................'
0086 
0087       if(imix.eq.1) go to 111
0088       
0089       if(ibcstate.eq.3) then
0090         write(*,*)
0091           write(*,'(a)') 'get the result for bc in 1^p_1.'
0092           write(3,*)
0093           write(3,'(a)') 'get the result for bc in 1^p_1.'
0094         end if
0095 
0096       if(ibcstate.eq.4) then
0097         write(*,*)
0098           write(*,'(a)') 'get the result for bc in 3^p_0.'
0099           write(3,*)
0100           write(3,'(a)') 'get the result for bc in 3^p_0.'
0101         end if
0102 
0103       if(ibcstate.eq.5) then
0104         write(*,*)
0105           write(*,'(a)') 'get the result for bc in 3^p_1.'
0106           write(3,*)
0107           write(3,'(a)') 'get the result for bc in 3^p_1.'
0108         end if
0109 
0110       if(ibcstate.eq.6) then
0111         write(*,*)
0112           write(*,'(a)') 'get the result for bc in 3^p_2.'
0113           write(3,*)
0114           write(3,'(a)') 'get the result for bc in 3^p_2.'
0115         end if
0116 
0117         if (ibcstate.eq.1) then
0118           write(*,*)
0119           write(*,'(a)') 'get the result for bc in 1^s_0.'
0120           write(3,*)
0121           write(3,'(a)') 'get the result for bc in 1^s_0.'
0122         end if
0123 
0124         if (ibcstate.eq.2) then
0125           write(*,*)
0126           write(*,'(a)') 'get the result for bc in 3^s_1.'
0127           write(3,*)
0128           write(3,'(a)') 'get the result for bc in 3^s_1.'
0129         end if
0130 
0131       if(ioctet.eq.0) then
0132           write(*,'(a)') 'bc in color-singlet state.'
0133           write(3,'(a)') 'bc in color-singlet state.'
0134         end if
0135 
0136         if(ioctet.eq.1) then 
0137           write(*,'(a)') 'bc in color-octet state.'
0138           write(3,'(a)') 'bc in color-octet state.'
0139         end if
0140 
0141 111   continue
0142 
0143 c*************************************************

0144 
0145         if(imix.eq.1) then
0146          write(*,*)
0147          write(3,*)
0148          write(*,'(a)') 'get the mixing results for gluon-gluon fusion.'
0149          write(3,'(a)') 'get the mixing results for gluon-gluon fusion.'
0150          if(imixtype.eq.1) then
0151           write(*,'(a)') 
0152      &  'states to be mixed: 1s0,3s1,1p1,3p0,3p1,3p2,(1s0)_8,(3s1)_8'
0153           write(3,'(a)')
0154      &  'states to be mixed: 1s0,3s1,1p1,3p0,3p1,3p2,(1s0)_8,(3s1)_8'
0155          end if
0156          if(imixtype.eq.2) then
0157           write(*,'(a)') 'states to be mixed: color-singlet 1s0,3s1'
0158           write(3,'(a)') 'states to be mixed: color-singlet 1s0,3s1'
0159          end if
0160          if(imixtype.eq.3) then
0161           write(*,'(a)') 
0162      &    'states to be mixed: 1p1,3p0,3p1,3p2,(1s0)_8,(3s1)_8'
0163           write(3,'(a)') 
0164      &    'states to be mixed: 1p1,3p0,3p1,3p2,(1s0)_8,(3s1)_8'
0165          end if
0166         end if
0167 
0168 c*************************************************

0169 
0170         if(npdfu.eq.1) then
0171           write(3,41)'generate evnts', nev,'teva energy(gev)',ecm
0172           write(*,41)'generate evnts', nev,'teva energy(gev)',ecm
0173         else    !npdfu=2
0174           write(3,41) 'generate evnts', nev,'lhc energy(gev)',ecm
0175           write(*,41) 'generate evnts', nev,'lhc energy(gev)',ecm
0176         end if
0177 
0178       write(*,'(a)') '*************************************************'
0179       write(3,'(a)') '*************************************************'
0180 
0181       if(iqqbar.eq.0) then
0182          write(*,'(a)')'*   using subprocess: g+g->bc+b+\bar{c}       *'
0183          write(3,'(a)')'*   using subprocess: g+g->bc+b+\bar{c}       *'
0184         else
0185          if(iqcode.eq.1) then
0186           if(ioutpdf.eq.1) then
0187 c...for outer pdf, code for u is 1 , d is 2 and s is 3.

0188            write(*,'(a)')'*   using subprocess: u+~u->bc+b+\bar{c}   *'
0189            write(3,'(a)')'*   using subprocess: u+~u->bc+b+\bar{c}   *'
0190           end if
0191 c...in pythia, code for d is 1, u is 2 and s is 3.

0192           if(ioutpdf.eq.0) then
0193            write(*,'(a)')'*   using subprocess: d+~d->bc+b+\bar{c}   *'
0194            write(3,'(a)')'*   using subprocess: d+~d->bc+b+\bar{c}   *'
0195           end if
0196        end if
0197          if(iqcode.eq.2) then
0198 c...for outer pdf, code for u is 1, d is 2 and s is 3.

0199           if(ioutpdf.eq.1) then
0200            write(*,'(a)')'*   using subprocess: d+~d->bc+b+\bar{c}   *'
0201            write(3,'(a)')'*   using subprocess: d+~d->bc+b+\bar{c}   *'
0202         end if
0203 c...in pythia, code for d is 1, u is 2 and s is 3.

0204           if(ioutpdf.eq.0) then
0205            write(*,'(a)')'*   using subprocess: u+~u->bc+b+\bar{c}   *'
0206            write(3,'(a)')'*   using subprocess: u+~u->bc+b+\bar{c}   *'
0207         end if
0208          end if
0209          if(iqcode.eq.3) then
0210           write(*,'(a)')'*   using subprocess: s+~s->bc+b+\bar{c}   *'
0211           write(3,'(a)')'*   using subprocess: s+~s->bc+b+\bar{c}   *'
0212        end if
0213         end if
0214 
0215       write(*,'(a)') '*************************************************'
0216       write(3,'(a)') '*************************************************'
0217         
0218         if(imix.eq.0) then
0219          if(ibcstate.lt.3) then
0220            write(3,32) pmbc,pmb,pmc,fbc
0221            write(*,32) pmbc,pmb,pmc,fbc
0222          else
0223            write(3,33) pmbc,pmb,pmc,fbc
0224            write(*,33) pmbc,pmb,pmc,fbc
0225          end if
0226         else
0227          write(3,31) pmbc,pmb,pmc
0228          write(*,31) pmbc,pmb,pmc
0229          write(*,'(a)') 'R(0)=1.241 and R1(0)=0.44833'
0230          write(3,'(a)') 'R(0)=1.241 and R1(0)=0.44833'
0231         end if
0232 
0233         if(isubonly.eq.0) then
0234          if(mstu(111).eq.0) alporder='const'
0235          if(mstu(111).eq.1) alporder='lo'
0236          if(mstu(111).eq.2) alporder='nlo'
0237          write(*,'(a,i2,3x,a,a)')'q2 type=',nq2, 'alph order=',alporder
0238        write(3,'(a,i2,3x,a,a)')'q2 type=',nq2, 'alph order=',alporder
0239          if(ioutpdf.eq.0) then
0240           write(*,'(a)') 'the innter pdfs which are from pythia'
0241           write(3,'(a)') 'the innter pdfs which are from pythia'
0242 c...you may add some more from pythia manual book.

0243           if(mstp(51).eq.1) then
0244             write(*,'(a)')'pdf: cteq 3l'
0245             write(3,'(a)')'pdf: cteq 3l'
0246           end if
0247           if(mstp(51).eq.2) then
0248             write(*,'(a)')'pdf: cteq 3m'
0249             write(3,'(a)')'pdf: cteq 3m'
0250           end if
0251           if(mstp(51).eq.7) then
0252             write(*,'(a)')'pdf: cteq 5l'
0253             write(3,'(a)')'pdf: cteq 5l'
0254           end if
0255           if(mstp(51).eq.8) then
0256             write(*,'(a)')'pdf: cteq 5m1'
0257             write(3,'(a)')'pdf: cteq 5m1'
0258           end if
0259           if(mstp(51).eq.13) then
0260             write(*,'(a)')'pdf: ehlq set 2'
0261             write(3,'(a)')'pdf: ehlq set 2'
0262           end if
0263          end if
0264          if(ioutpdf.eq.1) then
0265        write(*,'(a)') 'the new version of outer pdfs which are from www'
0266        write(3,'(a)') 'the new version of outer pdfs which are from www'
0267            if(ipdfnum.eq.100) then
0268              write(*,'(a)')'pdf: grv98lo; alph in lo'
0269                  write(3,'(a)')'pdf: grv98lo; alph in lo'
0270            end if
0271            if(ipdfnum.eq.200) then
0272              write(*,'(a)')'pdf: mstr2001lo; alph in lo'
0273                  write(3,'(a)')'pdf: mstr2001lo; alph in lo'
0274            end if
0275            if(ipdfnum.eq.300) then
0276              write(*,'(a)')'pdf: cteq6l1; alph in lo'
0277                  write(3,'(a)')'pdf: cteq6l1; alph in lo'
0278            end if
0279          end if
0280         end if
0281 
0282         if(isubonly.eq.1) then
0283           write(*,'(a)') 'alpha_s take constant value: 0.20'
0284         end if
0285 
0286       write(*,'(a,i3)') 'using pythia idwtup=',idpp
0287         write(3,'(a,i3)') 'using pythia idwtup=',idpp
0288 
0289         write(*,'(a,g10.4,a)') 'ptcut=',ptcut,'gev'
0290         write(3,'(a,g10.4,a)') 'ptcut=',ptcut,'gev'
0291 
0292         if(etacut.gt.1.0d+5) then
0293            write(*,'(a)') 'no rapidity cut'
0294            write(3,'(a)') 'no rapidity cut'
0295         else
0296            write(*,'(a,g10.4)') 'rapidity cut=',etacut
0297            write(3,'(a,g10.4)') 'rapidity cut=',etacut
0298         end if
0299 
0300        write(*,'(a)') '------------------------------------'
0301        write(3,'(a)') '------------------------------------'
0302 
0303 31    format('m_{bc}=',g11.5,'m_{b}=',g11.5,'m_{c}=',g11.5)
0304 32    format('m_{bc}=',g11.5,'m_{b}=',g11.5,'m_{c}=',g11.5,
0305      &       'R(0)=',g11.5)
0306 33    format('m_{bc}=',g11.5,'m_{b}=',g11.5,'m_{c}=',g11.5,
0307      &       'R1(0)=',g11.5)
0308 
0309 41    format(a,1x,i9,';',3x,a,g11.3,1x)
0310 
0311         end