C...Zbb at a linear collider.
C-----------------------------------------------------------------
C...Preamble: declarations.
C...All real arithmetic in double precision.
IMPLICIT DOUBLE PRECISION(A-H, O-Z)
C...Three Pythia functions return integers, so need declaring.
INTEGER PYK,PYCHGE,PYCOMP
C...Parameter statement to help give large particle numbers
C...(left- and righthanded SUSY, excited fermions).
PARAMETER (KSUSY1=1000000,KSUSY2=2000000,KEXCIT=4000000)
C...Commonblocks.
C...The event record.
COMMON/PYJETS/N,NPAD,K(4000,5),P(4000,5),V(4000,5)
C...Parameters.
COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
C...Particle properties + some flavour parameters.
COMMON/PYDAT2/KCHG(500,4),PMAS(500,4),PARF(2000),VCKM(4,4)
C...Decay information.
c COMMON/PYDAT3/MDCY(500,3),MDME(4000,2),BRAT(4000),KFDP(4000,5)
COMMON/PYDAT3/MDCY(500,3),MDME(8000,2),BRAT(8000),KFDP(8000,5)
c COMMON/PYDAT4/CHAF(500,2)
C...Selection of hard scattering subprocesses.
COMMON/PYSUBS/MSEL,MSELPD,MSUB(500),KFIN(2,-40:40),CKIN(200)
C...Parameters.
COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
C...Supersymmetry parameters.
COMMON/PYMSSM/IMSS(0:99),RMSS(0:99)
C...Random Number Seed Values
COMMON/PYDATR/MRPY(6),RRPY(100)
include 'stdlun.inc'
include 'stdcm1.inc'
external stdxwinit,stdflpyxsec, stdxwrt
external lunhep, stdxend
integer nevt,ngood,istream,lok,ifl,i,k,iqq
C-----------------------------------------------------------------
c MRPY(1) = 189326783
write(6,'('' ran seed - '')')
read(5,*) mrpy(1)
write(6,*) ' mrpy(1) = ',mrpy(1)
read(5,*) iqq
write(6,*) ' iqq = ',iqq
C...First section: initialization.
MSEL=0
PESUM=1000D0
PZSUM=0D0
PQSUM=0D0
*
* Choose the process to be generated
* Here: Process 25 = f1f2 -> W+W-
* 22 = Z0 Z0
* 35 = Z0 e e
* 36 = W e nu
* Process 1 = f1f1 -> gamma*/Z0
*
c MSUB(1)=1
c select bbbar production
MSUB(1) = 1
mdme(174,1)=0
c d dbar
mdme(175,1)=0
c u ubar
mdme(176,1)=0
c s sbar
mdme(177,1)=0
c c cbar
mdme(178,1)=0
c b bbar
if (iqq.eq.5) mdme(178,1)=1
if (iqq.eq.4) mdme(177,1)=1
if (iqq.eq.3) mdme(176,1)=1
if (iqq.eq.3) mdme(175,1)=1
if (iqq.eq.3) mdme(174,1)=1
mdme(179,1)=0
c t tbae
mdme(182,1)=0
c e- e+
mdme(183,1)=0
c nu_e nu_ebar
mdme(184,1)=0
c mu- mu+
mdme(185,1)=0
c nu_mu nu_mubar
mdme(186,1)=0
c tau- tau+
mdme(187,1)=0
c nu_tau nu_taubar
PMAS(25,1)=125.
c ISR on
MSTP(11)=1
c FSR on
MSTP(71)=1
c turn off frag, decay & qcd
MSTP(111)=1
c protection against poor init
MSTP(121)=1
c scale factor for weights
PARP(121)=2.5
c best Coulomb correction
MSTP(40)=1
c lamda-LLa -> timelike showers
MSTP(3)=1
PARJ(21)=0.40000
PARJ(41)=0.11000
PARJ(42)=0.52000
PARJ(81)=0.25000
PARJ(82)=1.90000
MSTJ(11)=3
PARJ(54)=-0.03100
PARJ(55)=-0.00200
PARJ(1)=0.08500
PARJ(3)=0.45000
PARJ(4)=0.02500
PARJ(2)=0.31000
PARJ(11)=0.60000
PARJ(12)=0.40000
PARJ(13)=0.72000
PARJ(14)=0.43000
PARJ(15)=0.08000
PARJ(16)=0.08000
PARJ(17)=0.17000
c MSTP(3)=1
C...If interested only in cross sections and resonance decays:
C...switch off initial and final state radiation,
C...multiple interactions and hadronization.
C MSTP(61)=0
C MSTP(71)=0
C MSTP(81)=0
C MSTP(111)=0
C...Initialization
CALL PYINIT('CMS','e+','e-',250D0)
C...List resonance data: decay channels, widths etc.
CALL PYSTAT(2)
C...Histograms for mass distributions.
CALL PYBOOK(1,'top mass',100,0D0,1000D0)
C-----------------------------------------------------------------
c nevt = 500000
nevt = 10000
WRITE(6,*) "Now open stdHEP output file"
Call STDXWINIT('Z.stdhep','PYTHIA stdHEP output file',nevt,
1istream,lok)
WRITE(6,*) "Just opened stdHEP output file",istream,lok
Call STDFLPYXSEC(nevt)
Call STDXWRT(100,istream,lok)
C...Second section: event loop.
C...Loop over the number of events.
DO 200 IEV=1,nevt
IF(MOD(IEV,1000).EQ.0) WRITE(6,*)
& 'Now at event number',IEV
C...Event generation.
CALL PYEVNT
C...List first few events.
IF(IEV.LE.30) CALL PYLIST(1)
c CALL PYFILL(IH,P(I,5),1D0)
Call PYHEPC(1)
Call STDXWRT(1,istream,lok)
C...End of documentation and event loops.
150 CONTINUE
200 CONTINUE
C-----------------------------------------------------------------
C...Third section: produce output and end.
C...Cross section table.
CALL PYSTAT(1)
C...Histograms.
CALL PYHIST
C
C Close stdHEP output
C
Call STDFLPYXSEC(ngood)
Call STDXWRT(200,istream,lok)
Call STDXEND(istream)
END
|