]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HIJING/hijing1_36/attrad.F
Class for ROC description
[u/mrichter/AliRoot.git] / HIJING / hijing1_36 / attrad.F
CommitLineData
e74335a4 1* $Id$
2
3C
4C
5C
6C****************************************************************
7C conduct soft radiation according to dipole approxiamtion
8C****************************************************************
9 SUBROUTINE ATTRAD(IERROR)
10C
bc676b8e 11#define BLANKET_SAVE
e74335a4 12#include "hiparnt.inc"
13#include "hijdat.inc"
14#include "lujets_hijing.inc"
15 SAVE
16 IERROR=0
17
18C.....S INVARIANT MASS-SQUARED BETWEEN PARTONS I AND I+1......
19C.....SM IS THE LARGEST MASS-SQUARED....
20
2140 SM=0.
22 DO 30 I=1,N-1
23 S=2.*(P(I,4)*P(I+1,4)-P(I,1)*P(I+1,1)-P(I,2)*P(I+1,2)
24 & -P(I,3)*P(I+1,3))+P(I,5)**2+P(I+1,5)**2
25 IF(S.LT.0.) S=0.
26 WP=SQRT(S)-1.5*(P(I,5)+P(I+1,5))
27 IF(WP.GT.SM) THEN
28 PBT1=P(I,1)+P(I+1,1)
29 PBT2=P(I,2)+P(I+1,2)
30 PBT3=P(I,3)+P(I+1,3)
31 PBT4=P(I,4)+P(I+1,4)
32 BTT=(PBT1**2+PBT2**2+PBT3**2)/PBT4**2
33 IF(BTT.GE.1.0-1.0E-10) GO TO 30
34 IF((I.NE.1.OR.I.NE.N-1).AND.
35 & (K(I,2).NE.21.AND.K(I+1,2).NE.21)) GO TO 30
36 JL=I
37 SM=WP
38 ENDIF
3930 CONTINUE
40 S=(SM+1.5*(P(JL,5)+P(JL+1,5)))**2
41 IF(SM.LT.HIPR1(5)) GOTO 2
42
43C.....MAKE PLACE FOR ONE GLUON.....
44 IF(JL+1.EQ.N) GOTO 190
45 DO 160 J=N,JL+2,-1
46 K(J+1,1)=K(J,1)
47 K(J+1,2)=K(J,2)
48 DO 150 M=1,5
49150 P(J+1,M)=P(J,M)
50160 CONTINUE
51190 N=N+1
52
53C.....BOOST TO REST SYSTEM FOR PARTICLES JL AND JL+1.....
54 P1=P(JL,1)+P(JL+1,1)
55 P2=P(JL,2)+P(JL+1,2)
56 P3=P(JL,3)+P(JL+1,3)
57 P4=P(JL,4)+P(JL+1,4)
58 BEX=-P1/P4
59 BEY=-P2/P4
60 BEZ=-P3/P4
61 IMIN=JL
62 IMAX=JL+1
63 CALL ATROBO(0.,0.,BEX,BEY,BEZ,IMIN,IMAX,IERROR)
64 IF(IERROR.NE.0) RETURN
65C.....ROTATE TO Z-AXIS....
e89a9fd1 66 PABS=(P(JL,4)-P(JL,5))*(P(JL,4)+P(JL,5))
67 IF (PABS .GT. 0) THEN
68 CTH=P(JL,3)/SQRT(PABS)
69 ELSE
70 CTH=SIGN(1.,P(JL,3))
71 ENDIF
e74335a4 72 IF(ABS(CTH).GT.1.0) CTH=MAX(-1.,MIN(1.,CTH))
73 THETA=ACOS(CTH)
74 PHI=ULANGL_HIJING(P(JL,1),P(JL,2))
75 CALL ATROBO(0.,-PHI,0.,0.,0.,IMIN,IMAX,IERROR)
76 CALL ATROBO(-THETA,0.,0.,0.,0.,IMIN,IMAX,IERROR)
77
78C.....CREATE ONE GLUON AND ORIENTATE.....
79
801 CALL AR3JET(S,X1,X3,JL)
81 CALL ARORIE(S,X1,X3,JL)
82 IF(HIDAT(2).GT.0.0) THEN
83 PTG1=SQRT(P(JL,1)**2+P(JL,2)**2)
84 PTG2=SQRT(P(JL+1,1)**2+P(JL+1,2)**2)
85 PTG3=SQRT(P(JL+2,1)**2+P(JL+2,2)**2)
86 PTG=MAX(PTG1,PTG2,PTG3)
87 IF(PTG.GT.HIDAT(2)) THEN
88 FMFACT=EXP(-(PTG**2-HIDAT(2)**2)/HIPR1(2)**2)
89 IF(RLU_HIJING(0).GT.FMFACT) GO TO 1
90 ENDIF
91 ENDIF
92C.....ROTATE AND BOOST BACK.....
93 IMIN=JL
94 IMAX=JL+2
95 CALL ATROBO(THETA,PHI,-BEX,-BEY,-BEZ,IMIN,IMAX,IERROR)
96 IF(IERROR.NE.0) RETURN
97C.....ENUMERATE THE GLUONS.....
98 K(JL+2,1)=K(JL+1,1)
99 K(JL+2,2)=K(JL+1,2)
100 K(JL+2,3)=K(JL+1,3)
101 K(JL+2,4)=K(JL+1,4)
102 K(JL+2,5)=K(JL+1,5)
103 P(JL+2,5)=P(JL+1,5)
104 K(JL+1,1)=2
105 K(JL+1,2)=21
106 K(JL+1,3)=0
107 K(JL+1,4)=0
108 K(JL+1,5)=0
109 P(JL+1,5)=0.
110C----THETA FUNCTION DAMPING OF THE EMITTED GLUONS. FOR HADRON-HADRON.
111C----R0=VFR(2)
112C IF(VFR(2).GT.0.) THEN
113C PTG=SQRT(P(JL+1,1)**2+P(JL+1,2)**2)
114C PTGMAX=WSTRI/2.
115C DOPT=SQRT((4.*PAR(71)*VFR(2))/WSTRI)
116C PTOPT=(DOPT*WSTRI)/(2.*VFR(2))
117C IF(PTG.GT.PTOPT) IORDER=IORDER-1
118C IF(PTG.GT.PTOPT) GOTO 1
119C ENDIF
120C-----
121 IF(SM.GE.HIPR1(5)) GOTO 40
122
1232 K(1,1)=2
124 K(1,3)=0
125 K(1,4)=0
126 K(1,5)=0
127 K(N,1)=1
128 K(N,3)=0
129 K(N,4)=0
130 K(N,5)=0
131
132 RETURN
133 END