]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | |
2 | C********************************************************************* | |
3 | ||
4 | SUBROUTINE LUONIA(KFL,ECM) | |
5 | ||
6 | C...Purpose: to generate Upsilon and toponium decays into three | |
7 | C...gluons or two gluons and a photon. | |
8 | COMMON/LUJETS/N,K(4000,5),P(4000,5),V(4000,5) | |
9 | COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200) | |
10 | COMMON/LUDAT2/KCHG(500,3),PMAS(500,4),PARF(2000),VCKM(4,4) | |
11 | SAVE /LUJETS/,/LUDAT1/,/LUDAT2/ | |
12 | ||
13 | C...Printout. Check input parameters. | |
14 | IF(MSTU(12).GE.1) CALL LULIST(0) | |
15 | IF(KFL.LT.0.OR.KFL.GT.8) THEN | |
16 | CALL LUERRM(16,'(LUONIA:) called with unknown flavour code') | |
17 | IF(MSTU(21).GE.1) RETURN | |
18 | ENDIF | |
19 | IF(ECM.LT.PARJ(127)+2.02*PARF(101)) THEN | |
20 | CALL LUERRM(16,'(LUONIA:) called with too small CM energy') | |
21 | IF(MSTU(21).GE.1) RETURN | |
22 | ENDIF | |
23 | ||
24 | C...Initial e+e- and onium state (optional). | |
25 | NC=0 | |
26 | IF(MSTJ(115).GE.2) THEN | |
27 | NC=NC+2 | |
28 | CALL LU1ENT(NC-1,11,0.5*ECM,0.,0.) | |
29 | K(NC-1,1)=21 | |
30 | CALL LU1ENT(NC,-11,0.5*ECM,PARU(1),0.) | |
31 | K(NC,1)=21 | |
32 | ENDIF | |
33 | KFLC=IABS(KFL) | |
34 | IF(MSTJ(115).GE.3.AND.KFLC.GE.5) THEN | |
35 | NC=NC+1 | |
36 | KF=110*KFLC+3 | |
37 | MSTU10=MSTU(10) | |
38 | MSTU(10)=1 | |
39 | P(NC,5)=ECM | |
40 | CALL LU1ENT(NC,KF,ECM,0.,0.) | |
41 | K(NC,1)=21 | |
42 | K(NC,3)=1 | |
43 | MSTU(10)=MSTU10 | |
44 | ENDIF | |
45 | ||
46 | C...Choose x1 and x2 according to matrix element. | |
47 | NTRY=0 | |
48 | 100 X1=RLU(0) | |
49 | X2=RLU(0) | |
50 | X3=2.-X1-X2 | |
51 | IF(X3.GE.1..OR.((1.-X1)/(X2*X3))**2+((1.-X2)/(X1*X3))**2+ | |
52 | &((1.-X3)/(X1*X2))**2.LE.2.*RLU(0)) GOTO 100 | |
53 | NTRY=NTRY+1 | |
54 | NJET=3 | |
55 | IF(MSTJ(101).LE.4) CALL LU3ENT(NC+1,21,21,21,ECM,X1,X3) | |
56 | IF(MSTJ(101).GE.5) CALL LU3ENT(-(NC+1),21,21,21,ECM,X1,X3) | |
57 | ||
58 | C...Photon-gluon-gluon events. Small system modifications. Jet origin. | |
59 | MSTU(111)=MSTJ(108) | |
60 | IF(MSTJ(108).EQ.2.AND.(MSTJ(101).EQ.0.OR.MSTJ(101).EQ.1)) | |
61 | &MSTU(111)=1 | |
62 | PARU(112)=PARJ(121) | |
63 | IF(MSTU(111).EQ.2) PARU(112)=PARJ(122) | |
64 | QF=0. | |
65 | IF(KFLC.NE.0) QF=KCHG(KFLC,1)/3. | |
66 | RGAM=7.2*QF**2*PARU(101)/ULALPS(ECM**2) | |
67 | MK=0 | |
68 | ECMC=ECM | |
69 | IF(RLU(0).GT.RGAM/(1.+RGAM)) THEN | |
70 | IF(1.-MAX(X1,X2,X3).LE.MAX((PARJ(126)/ECM)**2,PARJ(125))) | |
71 | & NJET=2 | |
72 | IF(NJET.EQ.2.AND.MSTJ(101).LE.4) CALL LU2ENT(NC+1,21,21,ECM) | |
73 | IF(NJET.EQ.2.AND.MSTJ(101).GE.5) CALL LU2ENT(-(NC+1),21,21,ECM) | |
74 | ELSE | |
75 | MK=1 | |
76 | ECMC=SQRT(1.-X1)*ECM | |
77 | IF(ECMC.LT.2.*PARJ(127)) GOTO 100 | |
78 | K(NC+1,1)=1 | |
79 | K(NC+1,2)=22 | |
80 | K(NC+1,4)=0 | |
81 | K(NC+1,5)=0 | |
82 | IF(MSTJ(101).GE.5) K(NC+2,4)=MSTU(5)*(NC+3) | |
83 | IF(MSTJ(101).GE.5) K(NC+2,5)=MSTU(5)*(NC+3) | |
84 | IF(MSTJ(101).GE.5) K(NC+3,4)=MSTU(5)*(NC+2) | |
85 | IF(MSTJ(101).GE.5) K(NC+3,5)=MSTU(5)*(NC+2) | |
86 | NJET=2 | |
87 | IF(ECMC.LT.4.*PARJ(127)) THEN | |
88 | MSTU10=MSTU(10) | |
89 | MSTU(10)=1 | |
90 | P(NC+2,5)=ECMC | |
91 | CALL LU1ENT(NC+2,83,0.5*(X2+X3)*ECM,PARU(1),0.) | |
92 | MSTU(10)=MSTU10 | |
93 | NJET=0 | |
94 | ENDIF | |
95 | ENDIF | |
96 | DO 110 IP=NC+1,N | |
97 | K(IP,3)=K(IP,3)+(MSTJ(115)/2)+(KFLC/5)*(MSTJ(115)/3)*(NC-1) | |
98 | 110 CONTINUE | |
99 | ||
100 | C...Differential cross-sections. Upper limit for cross-section. | |
101 | IF(MSTJ(106).EQ.1) THEN | |
102 | SQ2=SQRT(2.) | |
103 | HF1=1.-PARJ(131)*PARJ(132) | |
104 | HF3=PARJ(133)**2 | |
105 | CT13=(X1*X3-2.*X1-2.*X3+2.)/(X1*X3) | |
106 | ST13=SQRT(1.-CT13**2) | |
107 | SIGL=0.5*X3**2*((1.-X2)**2+(1.-X3)**2)*ST13**2 | |
108 | SIGU=(X1*(1.-X1))**2+(X2*(1.-X2))**2+(X3*(1.-X3))**2-SIGL | |
109 | SIGT=0.5*SIGL | |
110 | SIGI=(SIGL*CT13/ST13+0.5*X1*X3*(1.-X2)**2*ST13)/SQ2 | |
111 | SIGMAX=(2.*HF1+HF3)*ABS(SIGU)+2.*(HF1+HF3)*ABS(SIGL)+2.*(HF1+ | |
112 | & 2.*HF3)*ABS(SIGT)+2.*SQ2*(HF1+2.*HF3)*ABS(SIGI) | |
113 | ||
114 | C...Angular orientation of event. | |
115 | 120 CHI=PARU(2)*RLU(0) | |
116 | CTHE=2.*RLU(0)-1. | |
117 | PHI=PARU(2)*RLU(0) | |
118 | CCHI=COS(CHI) | |
119 | SCHI=SIN(CHI) | |
120 | C2CHI=COS(2.*CHI) | |
121 | S2CHI=SIN(2.*CHI) | |
122 | THE=ACOS(CTHE) | |
123 | STHE=SIN(THE) | |
124 | C2PHI=COS(2.*(PHI-PARJ(134))) | |
125 | S2PHI=SIN(2.*(PHI-PARJ(134))) | |
126 | SIG=((1.+CTHE**2)*HF1+STHE**2*C2PHI*HF3)*SIGU+2.*(STHE**2*HF1- | |
127 | & STHE**2*C2PHI*HF3)*SIGL+2.*(STHE**2*C2CHI*HF1+((1.+CTHE**2)* | |
128 | & C2CHI*C2PHI-2.*CTHE*S2CHI*S2PHI)*HF3)*SIGT-2.*SQ2*(2.*STHE*CTHE* | |
129 | & CCHI*HF1-2.*STHE*(CTHE*CCHI*C2PHI-SCHI*S2PHI)*HF3)*SIGI | |
130 | IF(SIG.LT.SIGMAX*RLU(0)) GOTO 120 | |
131 | CALL LUDBRB(NC+1,N,0.,CHI,0D0,0D0,0D0) | |
132 | CALL LUDBRB(NC+1,N,THE,PHI,0D0,0D0,0D0) | |
133 | ENDIF | |
134 | ||
135 | C...Generate parton shower. Rearrange along strings and check. | |
136 | IF(MSTJ(101).GE.5.AND.NJET.GE.2) THEN | |
137 | CALL LUSHOW(NC+MK+1,-NJET,ECMC) | |
138 | MSTJ14=MSTJ(14) | |
139 | IF(MSTJ(105).EQ.-1) MSTJ(14)=-1 | |
140 | IF(MSTJ(105).GE.0) MSTU(28)=0 | |
141 | CALL LUPREP(0) | |
142 | MSTJ(14)=MSTJ14 | |
143 | IF(MSTJ(105).GE.0.AND.MSTU(28).NE.0) GOTO 100 | |
144 | ENDIF | |
145 | ||
146 | C...Generate fragmentation. Information for LUTABU: | |
147 | IF(MSTJ(105).EQ.1) CALL LUEXEC | |
148 | MSTU(161)=110*KFLC+3 | |
149 | MSTU(162)=0 | |
150 | ||
151 | RETURN | |
152 | END |