Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001       subroutine uppyfact(idwtup,generate,ievntdis)
0002       implicit double precision(a-h, o-z)
0003         implicit integer(i-n)
0004 
0005       common/pypars/mstp(200),parp(200),msti(200),pari(200)
0006         common/ptpass/ptmin,ptmax,crossmax,etamin,etamax,
0007      &  smin,smax,ymin,ymax,psetamin,psetamax
0008         common/histcol/inx
0009       common/extraz/zfactor,zmin,zmax
0010       common/totcross/appcross
0011       common/counter/ibcstate,nev
0012       
0013         logical generate
0014 
0015 c...if not to generate the normalized event number distribution, then 

0016 c...gets the value of the differential cross-sec of different 

0017 c...parameters (the unit will be changed from mb to nb).

0018         if(idwtup.eq.1.and.generate) then
0019 c...the unit of pari(2) is mb.

0020           if(ievntdis.eq.0) then
0021            call pyfact(1,1.0d+6*pari(2)*inx/(ptmax-ptmin))
0022          call pyfact(2,1.0d+6*pari(2)*inx/(etamax-etamin))
0023            call pyfact(3,1.0d+6*pari(2)*inx/(smax-smin))
0024            call pyfact(4,1.0d+6*pari(2)*inx/(ymax-ymin))
0025            call pyfact(5,1.0d+6*pari(2)*inx/(psetamax-psetamin))
0026            call pyfact(6,1.0d+6*pari(2)*inx/(zmax-zmin))
0027            call pyfact(11,1.0d+6*pari(2)*inx/(etamax-etamin))
0028          call pyfact(12,1.0d+6*pari(2)*inx/(etamax-etamin))
0029            call pyfact(13,1.0d+6*pari(2)*inx/(etamax-etamin))
0030            call pyfact(14,1.0d+6*pari(2)*inx/(etamax-etamin))
0031            call pyfact(15,1.0d+6*pari(2)*inx/(etamax-etamin))
0032            call pyfact(21,1.0d+6*pari(2)*inx/(ptmax-ptmin))
0033          call pyfact(22,1.0d+6*pari(2)*inx/(ptmax-ptmin))
0034            call pyfact(23,1.0d+6*pari(2)*inx/(ptmax-ptmin))
0035            call pyfact(24,1.0d+6*pari(2)*inx/(ptmax-ptmin))
0036            call pyfact(25,1.0d+6*pari(2)*inx/(ptmax-ptmin))
0037            call pyfact(31,1.0d+6*pari(2)*inx/(smax-smin))
0038          call pyfact(32,1.0d+6*pari(2)*inx/(smax-smin))
0039            call pyfact(33,1.0d+6*pari(2)*inx/(smax-smin))
0040            call pyfact(34,1.0d+6*pari(2)*inx/(smax-smin))
0041            call pyfact(35,1.0d+6*pari(2)*inx/(smax-smin))
0042            call pyfact(41,1.0d+6*pari(2)*inx/(smax-smin))
0043          call pyfact(42,1.0d+6*pari(2)*inx/(smax-smin))
0044            call pyfact(43,1.0d+6*pari(2)*inx/(smax-smin))
0045            call pyfact(44,1.0d+6*pari(2)*inx/(smax-smin))
0046            call pyfact(45,1.0d+6*pari(2)*inx/(smax-smin))
0047          call pyfact(52,1.0d+6*pari(2)*inx/(ptmax-ptmin))
0048            call pyfact(53,1.0d+6*pari(2)*inx/(ptmax-ptmin))
0049            call pyfact(54,1.0d+6*pari(2)*inx/(ptmax-ptmin))
0050            call pyfact(55,1.0d+6*pari(2)*inx/(ptmax-ptmin))
0051           end if
0052         else
0053           if(ievntdis.eq.0) then
0054            call pyfact(1,1.0d-3)
0055          call pyfact(2,1.0d-3)
0056            call pyfact(3,1.0d-3)
0057            call pyfact(4,1.0d-3)
0058            call pyfact(5,1.0d-3)
0059            call pyfact(6,1.0d-3)
0060            call pyfact(11,1.0d-3)
0061          call pyfact(12,1.0d-3)
0062            call pyfact(13,1.0d-3)
0063            call pyfact(14,1.0d-3)
0064            call pyfact(15,1.0d-3)
0065            call pyfact(21,1.0d-3)
0066          call pyfact(22,1.0d-3)
0067            call pyfact(23,1.0d-3)
0068            call pyfact(24,1.0d-3)
0069            call pyfact(25,1.0d-3)
0070            call pyfact(31,1.0d-3)
0071          call pyfact(32,1.0d-3)
0072            call pyfact(33,1.0d-3)
0073            call pyfact(34,1.0d-3)
0074            call pyfact(35,1.0d-3)
0075            call pyfact(41,1.0d-3)
0076          call pyfact(42,1.0d-3)
0077            call pyfact(43,1.0d-3)
0078            call pyfact(44,1.0d-3)
0079            call pyfact(45,1.0d-3)
0080          call pyfact(52,1.0d-3)
0081            call pyfact(53,1.0d-3)
0082            call pyfact(54,1.0d-3)
0083            call pyfact(55,1.0d-3)
0084           end if
0085           if(ievntdis.eq.1) then
0086            call pyfact(1,1.0d0/(1.0d+3*appcross)*nev)
0087          call pyfact(2,1.0d0/(1.0d+3*appcross)*nev)
0088            call pyfact(3,1.0d0/(1.0d+3*appcross)*nev)
0089            call pyfact(4,1.0d0/(1.0d+3*appcross)*nev)
0090            call pyfact(5,1.0d0/(1.0d+3*appcross)*nev)
0091            call pyfact(6,1.0d0/(1.0d+3*appcross)*nev)
0092            call pyfact(11,1.0d0/(1.0d+3*appcross)*nev)
0093          call pyfact(12,1.0d0/(1.0d+3*appcross)*nev)
0094            call pyfact(13,1.0d0/(1.0d+3*appcross)*nev)
0095            call pyfact(14,1.0d0/(1.0d+3*appcross)*nev)
0096            call pyfact(15,1.0d0/(1.0d+3*appcross)*nev)
0097            call pyfact(21,1.0d0/(1.0d+3*appcross)*nev)
0098          call pyfact(22,1.0d0/(1.0d+3*appcross)*nev)
0099            call pyfact(23,1.0d0/(1.0d+3*appcross)*nev)
0100            call pyfact(24,1.0d0/(1.0d+3*appcross)*nev)
0101            call pyfact(25,1.0d0/(1.0d+3*appcross)*nev)
0102            call pyfact(31,1.0d0/(1.0d+3*appcross)*nev)
0103          call pyfact(32,1.0d0/(1.0d+3*appcross)*nev)
0104            call pyfact(33,1.0d0/(1.0d+3*appcross)*nev)
0105            call pyfact(34,1.0d0/(1.0d+3*appcross)*nev)
0106            call pyfact(35,1.0d0/(1.0d+3*appcross)*nev)
0107            call pyfact(41,1.0d0/(1.0d+3*appcross)*nev)
0108          call pyfact(42,1.0d0/(1.0d+3*appcross)*nev)
0109            call pyfact(43,1.0d0/(1.0d+3*appcross)*nev)
0110            call pyfact(44,1.0d0/(1.0d+3*appcross)*nev)
0111            call pyfact(45,1.0d0/(1.0d+3*appcross)*nev)
0112          call pyfact(52,1.0d0/(1.0d+3*appcross)*nev)
0113            call pyfact(53,1.0d0/(1.0d+3*appcross)*nev)
0114            call pyfact(54,1.0d0/(1.0d+3*appcross)*nev)
0115            call pyfact(55,1.0d0/(1.0d+3*appcross)*nev)
0116           end if
0117         end if
0118 
0119         end