From 1d319207bfa0c01298450096304a86f852332482 Mon Sep 17 00:00:00 2001 From: morsch Date: Mon, 13 Oct 2014 13:52:30 +0200 Subject: [PATCH] version for ALIROOT-5659 M. v. Leeuwen --- PYTHIA6/pyevwt.f | 58 ++++++++++++++++++------------------------------ 1 file changed, 21 insertions(+), 37 deletions(-) diff --git a/PYTHIA6/pyevwt.f b/PYTHIA6/pyevwt.f index 7faa6162263..a3e0601e180 100644 --- a/PYTHIA6/pyevwt.f +++ b/PYTHIA6/pyevwt.f @@ -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********************************************************************* -- 2.43.0