-
+ SUBROUTINE SETPOWWGHT(POWER)
+ IMPLICIT DOUBLE PRECISION(A-H, O-Z)
+ COMMON/PYWGHT/WGHTPOW
+ SAVE /PYWGHT/
+C.. Divide power by 2 because we get p_T^2 from the Pythia
+ WGHTPOW = POWER/2.D0
+ RETURN
+ END
+
C...PYEVWT
-C...Dummy routine, which the user can replace in order to multiply the
+C...Implementation routine for event weighting
+C...Uses a pt-hard based weighting with w ~ (p_T,hard/p0)^n
+C...Where n can be set using a common block variable
+C...p0 = 5 GeV/c
+C...Multiplies the
C...standard PYTHIA differential cross-section by a process- and
C...kinematics-dependent factor WTXS. For MSTP(142)=1 this corresponds
C...to generation of weighted events, with weight 1/WTXS, while for
COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
COMMON/PYINT1/MINT(400),VINT(400)
COMMON/PYINT2/ISET(500),KFPR(500,2),COEF(500,20),ICOL(40,4,2)
- SAVE /PYDAT1/,/PYINT1/,/PYINT2/
-
-C...Set default weight for WTXS.
- WTXS=1D0
-
-C...Read out subprocess number.
- ISUB=MINT(1)
- ISTSB=ISET(ISUB)
-
-C...Read out tau, y*, cos(theta), tau' (where defined, else =0).
- TAU=VINT(21)
- YST=VINT(22)
- CTH=0D0
- IF(ISTSB.EQ.2.OR.ISTSB.EQ.4) CTH=VINT(23)
- TAUP=0D0
- IF(ISTSB.GE.3.AND.ISTSB.LE.5) TAUP=VINT(26)
-
-C...Read out x_1, x_2, x_F, shat, that, uhat, p_T^2.
- X1=VINT(41)
- X2=VINT(42)
- XF=X1-X2
- SHAT=VINT(44)
- THAT=VINT(45)
- UHAT=VINT(46)
+ COMMON/PYWGHT/WGHTPOW
+ SAVE /PYDAT1/,/PYINT1/,/PYINT2/,/PYWGHT/
+ DATA P02 /25.D0/
+
PT2=VINT(48)
-C...Modifications by user to be put here.
-
-C...Stop program if this routine is ever called.
-C...You should not copy these lines to your own routine.
- WRITE(MSTU(11),5000)
- IF(PYR(0).LT.10D0) STOP
-
-C...Format for error printout.
- 5000 FORMAT(1X,'Error: you did not link your PYEVWT routine ',
- &'correctly.'/1X,'Dummy routine in PYTHIA file called instead.'/
- &1X,'Execution stopped!')
+ WTXS=(PT2/P02)**WGHTPOW
RETURN
END
+
+C*********************************************************************