version for
authormorsch <andreas.morsch@cern.ch>
Mon, 13 Oct 2014 11:52:30 +0000 (13:52 +0200)
committermorsch <andreas.morsch@cern.ch>
Mon, 13 Oct 2014 11:52:30 +0000 (13:52 +0200)
ALIROOT-5659
M. v. Leeuwen

PYTHIA6/pyevwt.f

index 7faa616..a3e0601 100644 (file)
@@ -1,6 +1,18 @@
+      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
@@ -17,43 +29,15 @@ C...Commonblocks.
       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*********************************************************************