]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ISAJET/code/evol07.F
correct deletion of tree
[u/mrichter/AliRoot.git] / ISAJET / code / evol07.F
CommitLineData
0795afa3 1#include "isajet/pilot.h"
2 SUBROUTINE EVOL07
3C----------------------------------------------------------------------
4C-
5C- Purpose and Methods :
6C- Setup for process 7 (HIGGS)
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/pinits.inc"
20#include "isajet/jetset.inc"
21#include "isajet/jwork.inc"
22#include "isajet/jwork2.inc"
23#include "isajet/frame.inc"
24 REAL EVOLMS,BP
25 INTEGER I,K,J,NJSAVE,NJFINL,JTRUE
26 DOUBLE PRECISION DPASS(5),DSUM(5)
27 INTEGER IDABS1,IDABS2
28C----------------------------------------------------------------------
29C
30C Copy momenta from /PJETS/ to /JETSET/
31 N0JETS=NJSET+1
32 CALL IPJSET
33C
34C Add extra momenta for WPAIR
35 IDABS1=IABS(IDJETS(1))
36 IDABS2=IABS(IDJETS(2))
37 IF(IDABS1.EQ.80.OR.IDABS1.EQ.90.OR.IDABS2.EQ.80.OR.
38 $IDABS2.EQ.90) THEN
39 N0PAIR=NJSET+1
40 DO 130 J=1,NPAIR
41 NJSET=NJSET+1
42 JORIG(NJSET)=JPACK*JPAIR(J)
43 JTYPE(NJSET)=IDPAIR(J)
44 JDCAY(NJSET)=0
45 DO 135 K=1,5
46135 PJSET(K,NJSET)=PPAIR(K,J)
47130 CONTINUE
48 DO 140 J=1,NPAIR,2
49 JET=JPAIR(J)
50 JTRUE=N0PAIR+J-1
51 JDCAY(N0JETS+JET-1)=JTRUE*JPACK+JTRUE+1
52140 CONTINUE
53 ENDIF
54 NJSAVE=NJSET
55C
56C Set flags and maximum off-shell masses and generate
57C initial QCD parton shower.
58C
59 IF(IABS(IDINIT(1)).LT.80) THEN
60 CALL ISTRAD(1.0)
61 IF(NJSET.LT.0) RETURN
62C
63C
64C Special initial state evolution for W-W fusion.
65 ELSE
66 CALL HEVOLV
67 IF(NJSET.LT.0) RETURN
68 DO 141 J=1,NJSET
69141 JMATCH(J)=0
70 DO 142 JET=1,2
71 J=NJSET+1-2*JET
72 PJSET(5,J)=-PJSET(5,JET)
73142 JDCAY(J)=-2
74 CALL QCDINI(NJSET-3,NJSET-1)
75 IF(NJSET.LT.0) RETURN
76 ENDIF
77C
78C
79C Final state evolution.
80C Define Lorentz frames and JMATCH pointers for jet evolution
81C and fragmentation.
82C
83 DO 200 I=3,NJSAVE,2
84 JMATCH(I)=I+1
85 JMATCH(I+1)=I
86200 CONTINUE
87 IF(NPAIR.EQ.0) THEN
88 CALL DBLVEC(PJSET(1,N0JETS),DSUM)
89 CALL DBLVEC(PJSET(1,N0JETS+1),DPASS)
90 DO 231 K=1,4
91231 DSUM(K)=DSUM(K)+DPASS(K)
92 DSUM(5)=DSQRT(DSUM(4)**2-DSUM(1)**2-DSUM(2)**2-DSUM(3)**2)
93 DO 232 K=1,5
94 FRAME(K,1)=DSUM(K)
95 FRAME(K,2)=FRAME(K,1)
96232 CONTINUE
97 ELSE
98 DO 233 I=1,2
99 DO 234 K=1,5
100 FRAME(K,I)=PJSET(K,N0JETS+I-1)
101234 CONTINUE
102 IFRAME(I)=I
103233 CONTINUE
104 ENDIF
105C
106C Set up and generate final state QCD parton shower.
107C Boost PJSET with -FRAME.
108C
109 DO 240 J=1,NJSAVE
110 JET=JORIG(J)/JPACK
111 IF(JET.EQ.0) JET=3
112 IF(JET.GT.10) GO TO 240
113C Do this boost in double precision for 32-bit machines
114 CALL DBOOST(-1,FRAME(1,JET),PJSET(1,J))
115240 CONTINUE
116C
117C Set maximum off-shell masses and JDCAY flags.
118C
119 IF(NPAIR.EQ.0) THEN
120 NJFINL=N0JETS
121 DO 340 J=N0JETS,NJSAVE
122 IF(IABS(JTYPE(J)).LT.10) THEN
123 PJSET(5,J)=EVOLMS(J,1.0)
124 JDCAY(J)=-1
125 ENDIF
126340 CONTINUE
127 ELSE
128 NJFINL=N0PAIR
129 DO 341 J=1,NPAIR
130 IF(IABS(JTYPE(N0PAIR+J-1)).LT.10) THEN
131 PJSET(5,N0PAIR+J-1)=PJETS(5,JPAIR(J))
132 JDCAY(N0PAIR+J-1)=-1
133 ENDIF
134341 CONTINUE
135 ENDIF
136C
137C Produce final-state QCD parton cascade
138C
139 CALL QCDJET(NJFINL)
140C
141 RETURN
142 END