]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ISAJET/code/evol03.F
Updated a bit with:
[u/mrichter/AliRoot.git] / ISAJET / code / evol03.F
CommitLineData
0795afa3 1#include "isajet/pilot.h"
2 SUBROUTINE EVOL03
3C----------------------------------------------------------------------
4C-
5C- Purpose and Methods :
6C- Setup for process 3 (DRELLYAN)
7C- Lorentz frames and perform initial and final QCD jet
8C- evolution in leading-log approximation.
9C-
10C- Created 13-AUG-1991 Frank E. Paige,Serban D. Protopopescu
11C-
12C----------------------------------------------------------------------
13#if defined(CERNLIB_IMPNONE)
14 IMPLICIT NONE
15#endif
16#include "isajet/primar.inc"
17#include "isajet/jetpar.inc"
18#include "isajet/pjets.inc"
19#include "isajet/jetset.inc"
20#include "isajet/jwork.inc"
21#include "isajet/jwork2.inc"
22#include "isajet/q1q2.inc"
23#include "isajet/frame.inc"
24#include "isajet/wcon.inc"
25 REAL EVOLMS,BP
26 INTEGER I,K,J,NJFINL
27C----------------------------------------------------------------------
28C
29C Add W momentum and recoil jets
30 N0JETS=NJSET+1
31 IF(.NOT.STDDY) THEN
32 DO 101 I=3,NJET
33 NJSET=NJSET+1
34 JORIG(NJSET)=JPACK*I
35 JTYPE(NJSET)=IDJETS(I)
36 JDCAY(NJSET)=0
37 DO 105 K=1,5
38105 PJSET(K,NJSET)=PJETS(K,I)
39 IFRAME(I)=1
40101 CONTINUE
41 NJSET=NJSET+1
42 N0W=NJSET
43 JORIG(NJSET)=0
44 JTYPE(NJSET)=IDENTW
45 JDCAY(NJSET)=(N0W+1)*JPACK+N0W+2
46 DO 120 K=1,5
47120 PJSET(K,NJSET)=QWJET(K)
48 ENDIF
49C
50C Add W decays
51 DO 110 I=1,2
52 NJSET=NJSET+1
53 JORIG(NJSET)=JPACK*I
54 JTYPE(NJSET)=IDJETS(I)
55 JDCAY(NJSET)=0
56 DO 115 K=1,5
57115 PJSET(K,NJSET)=PJETS(K,I)
58 IFRAME(I)=2
59 IF(STDDY) IFRAME(I)=1
60110 CONTINUE
61C
62C Set flags and maximum off-shell masses and generate
63C initial QCD parton shower.
64C
65 CALL ISTRAD(WFUDGE)
66C
67 IF(NJSET.LT.0) RETURN
68C
69C Final state evolution.
70C Define Lorentz frames and JMATCH pointers for jet evolution
71C and fragmentation.
72C
73 IF(STDDY) THEN
74 CALL IFRAMS(3,4,1,.FALSE.)
75 ELSE
76 CALL IFRAMS(N0W+1,N0W+2,2,.FALSE.)
77 CALL IFRAMS(N0JETS,N0W,1,.FALSE.)
78 ENDIF
79C
80C Set maximum off-shell masses and JDCAY flags.
81C
82 IF(STDDY) THEN
83 NJFINL=3
84 DO 310 J=3,4
85 IF(IABS(JTYPE(J)).LT.10) THEN
86 PJSET(5,J)=QMW
87 JDCAY(J)=-1
88 ENDIF
89310 CONTINUE
90 ELSE
91 NJFINL=N0JETS
92 DO 320 J=N0W+1,N0W+2
93 IF(IABS(JTYPE(J)).LT.10) THEN
94 PJSET(5,J)=QMW
95 JDCAY(J)=-1
96 ENDIF
97320 CONTINUE
98C Need fudge factor for DRELLYAN
99 DO 321 J=N0JETS,N0W
100 IF(IABS(JTYPE(J)).LT.10) THEN
101 PJSET(5,J)=EVOLMS(J,WFUDGE)
102 JDCAY(J)=-1
103 ENDIF
104321 CONTINUE
105 ENDIF
106C
107C Produce final-state QCD parton cascade
108C
109 CALL QCDJET(NJFINL)
110C
111C Reset FRAME using W momentum modified by evolution
112 IF(.NOT.STDDY) THEN
113 BP=0.
114 DO 400 K=1,3
115400 BP=BP+FRAME(K,1)*PJSET(K,N0W)
116 BP=BP/FRAME(5,1)
117 DO 410 K=1,3
118 FRAME(K,2)=PJSET(K,N0W)+FRAME(K,1)*PJSET(4,N0W)/FRAME(5,1)
119 $ +FRAME(K,1)*BP/(FRAME(4,1)+FRAME(5,1))
120410 CONTINUE
121 FRAME(4,2)=FRAME(4,1)*PJSET(4,N0W)/FRAME(5,1)+BP
122 ENDIF
123C
124 RETURN
125 END