]>
Commit | Line | Data |
---|---|---|
e74335a4 | 1 | * $Id$ |
2 | ||
3 | C********************************************************************* | |
4 | ||
5 | SUBROUTINE PYMAXI_HIJING | |
6 | ||
7 | C...Finds optimal set of coefficients for kinematical variable selection | |
8 | C...and the maximum of the part of the differential cross-section used | |
9 | C...in the event weighting. | |
10 | #include "ludat1_hijing.inc" | |
11 | #include "ludat2_hijing.inc" | |
12 | #include "pysubs_hijing.inc" | |
13 | #include "pypars_hijing.inc" | |
14 | #include "pyint1_hijing.inc" | |
15 | #include "pyint2_hijing.inc" | |
16 | #include "pyint3_hijing.inc" | |
17 | #include "pyint4_hijing.inc" | |
18 | #include "pyint5_hijing.inc" | |
19 | #include "pyint6_hijing.inc" | |
20 | CHARACTER CVAR(4)*4 | |
21 | DIMENSION NPTS(4),MVARPT(200,4),VINTPT(200,30),SIGSPT(200), | |
22 | &NAREL(6),WTREL(6),WTMAT(6,6),COEFU(6),IACCMX(4),SIGSMX(4), | |
23 | &SIGSSM(3) | |
24 | DATA CVAR/'tau ','tau''','y* ','cth '/ | |
25 | ||
26 | C...Select subprocess to study: skip cases not applicable. | |
27 | VINT(143)=1. | |
28 | VINT(144)=1. | |
29 | XSEC(0,1)=0. | |
30 | DO 350 ISUB=1,200 | |
31 | IF(ISUB.GE.91.AND.ISUB.LE.95) THEN | |
32 | XSEC(ISUB,1)=VINT(ISUB+11) | |
33 | IF(MSUB(ISUB).NE.1) GOTO 350 | |
34 | GOTO 340 | |
35 | ELSEIF(ISUB.EQ.96) THEN | |
36 | IF(MINT(43).NE.4) GOTO 350 | |
37 | IF(MSUB(95).NE.1.AND.MSTP(81).LE.0.AND.MSTP(131).LE.0) GOTO 350 | |
38 | ELSEIF(ISUB.EQ.11.OR.ISUB.EQ.12.OR.ISUB.EQ.13.OR.ISUB.EQ.28.OR. | |
39 | &ISUB.EQ.53.OR.ISUB.EQ.68) THEN | |
40 | IF(MSUB(ISUB).NE.1.OR.MSUB(95).EQ.1) GOTO 350 | |
41 | ELSE | |
42 | IF(MSUB(ISUB).NE.1) GOTO 350 | |
43 | ENDIF | |
44 | MINT(1)=ISUB | |
45 | ISTSB=ISET(ISUB) | |
46 | IF(ISUB.EQ.96) ISTSB=2 | |
47 | IF(MSTP(122).GE.2) WRITE(MSTU(11),1000) ISUB | |
48 | ||
49 | C...Find resonances (explicit or implicit in cross-section). | |
50 | MINT(72)=0 | |
51 | KFR1=0 | |
52 | IF(ISTSB.EQ.1.OR.ISTSB.EQ.3) THEN | |
53 | KFR1=KFPR(ISUB,1) | |
54 | ELSEIF(ISUB.GE.71.AND.ISUB.LE.77) THEN | |
55 | KFR1=25 | |
56 | ENDIF | |
57 | IF(KFR1.NE.0) THEN | |
58 | TAUR1=PMAS(KFR1,1)**2/VINT(2) | |
59 | GAMR1=PMAS(KFR1,1)*PMAS(KFR1,2)/VINT(2) | |
60 | MINT(72)=1 | |
61 | MINT(73)=KFR1 | |
62 | VINT(73)=TAUR1 | |
63 | VINT(74)=GAMR1 | |
64 | ENDIF | |
65 | IF(ISUB.EQ.141) THEN | |
66 | KFR2=23 | |
67 | TAUR2=PMAS(KFR2,1)**2/VINT(2) | |
68 | GAMR2=PMAS(KFR2,1)*PMAS(KFR2,2)/VINT(2) | |
69 | MINT(72)=2 | |
70 | MINT(74)=KFR2 | |
71 | VINT(75)=TAUR2 | |
72 | VINT(76)=GAMR2 | |
73 | ENDIF | |
74 | ||
75 | C...Find product masses and minimum pT of process. | |
76 | SQM3=0. | |
77 | SQM4=0. | |
78 | MINT(71)=0 | |
79 | VINT(71)=CKIN(3) | |
80 | IF(ISTSB.EQ.2.OR.ISTSB.EQ.4) THEN | |
81 | IF(KFPR(ISUB,1).NE.0) SQM3=PMAS(KFPR(ISUB,1),1)**2 | |
82 | IF(KFPR(ISUB,2).NE.0) SQM4=PMAS(KFPR(ISUB,2),1)**2 | |
83 | IF(MIN(SQM3,SQM4).LT.CKIN(6)**2) MINT(71)=1 | |
84 | IF(MINT(71).EQ.1) VINT(71)=MAX(CKIN(3),CKIN(5)) | |
85 | IF(ISUB.EQ.96.AND.MSTP(82).LE.1) VINT(71)=PARP(81) | |
86 | IF(ISUB.EQ.96.AND.MSTP(82).GE.2) VINT(71)=0.08*PARP(82) | |
87 | ENDIF | |
88 | VINT(63)=SQM3 | |
89 | VINT(64)=SQM4 | |
90 | ||
91 | C...Number of points for each variable: tau, tau', y*, cos(theta-hat). | |
92 | NPTS(1)=2+2*MINT(72) | |
93 | IF(MINT(43).EQ.1.AND.(ISTSB.EQ.1.OR.ISTSB.EQ.2)) NPTS(1)=1 | |
94 | NPTS(2)=1 | |
95 | IF(MINT(43).GE.2.AND.(ISTSB.EQ.3.OR.ISTSB.EQ.4)) NPTS(2)=2 | |
96 | NPTS(3)=1 | |
97 | IF(MINT(43).EQ.4) NPTS(3)=3 | |
98 | NPTS(4)=1 | |
99 | IF(ISTSB.EQ.2.OR.ISTSB.EQ.4) NPTS(4)=5 | |
100 | NTRY=NPTS(1)*NPTS(2)*NPTS(3)*NPTS(4) | |
101 | ||
102 | C...Reset coefficients of cross-section weighting. | |
103 | DO 100 J=1,20 | |
104 | 100 COEF(ISUB,J)=0. | |
105 | COEF(ISUB,1)=1. | |
106 | COEF(ISUB,7)=0.5 | |
107 | COEF(ISUB,8)=0.5 | |
108 | COEF(ISUB,10)=1. | |
109 | COEF(ISUB,15)=1. | |
110 | MCTH=0 | |
111 | MTAUP=0 | |
112 | CTH=0. | |
113 | TAUP=0. | |
114 | SIGSAM=0. | |
115 | ||
116 | C...Find limits and select tau, y*, cos(theta-hat) and tau' values, | |
117 | C...in grid of phase space points. | |
118 | CALL PYKLIM_HIJING(1) | |
119 | NACC=0 | |
120 | DO 120 ITRY=1,NTRY | |
121 | IF(MOD(ITRY-1,NPTS(2)*NPTS(3)*NPTS(4)).EQ.0) THEN | |
122 | MTAU=1+(ITRY-1)/(NPTS(2)*NPTS(3)*NPTS(4)) | |
123 | CALL PYKMAP_HIJING(1,MTAU,0.5) | |
124 | IF(ISTSB.EQ.3.OR.ISTSB.EQ.4) CALL PYKLIM_HIJING(4) | |
125 | ENDIF | |
126 | IF((ISTSB.EQ.3.OR.ISTSB.EQ.4).AND.MOD(ITRY-1,NPTS(3)*NPTS(4)). | |
127 | &EQ.0) THEN | |
128 | MTAUP=1+MOD((ITRY-1)/(NPTS(3)*NPTS(4)),NPTS(2)) | |
129 | CALL PYKMAP_HIJING(4,MTAUP,0.5) | |
130 | ENDIF | |
131 | IF(MOD(ITRY-1,NPTS(3)*NPTS(4)).EQ.0) CALL PYKLIM_HIJING(2) | |
132 | IF(MOD(ITRY-1,NPTS(4)).EQ.0) THEN | |
133 | MYST=1+MOD((ITRY-1)/NPTS(4),NPTS(3)) | |
134 | CALL PYKMAP_HIJING(2,MYST,0.5) | |
135 | CALL PYKLIM_HIJING(3) | |
136 | ENDIF | |
137 | IF(ISTSB.EQ.2.OR.ISTSB.EQ.4) THEN | |
138 | MCTH=1+MOD(ITRY-1,NPTS(4)) | |
139 | CALL PYKMAP_HIJING(3,MCTH,0.5) | |
140 | ENDIF | |
141 | IF(ISUB.EQ.96) VINT(25)=VINT(21)*(1.-VINT(23)**2) | |
142 | ||
143 | C...Calculate and store cross-section. | |
144 | MINT(51)=0 | |
145 | CALL PYKLIM_HIJING(0) | |
146 | IF(MINT(51).EQ.1) GOTO 120 | |
147 | NACC=NACC+1 | |
148 | MVARPT(NACC,1)=MTAU | |
149 | MVARPT(NACC,2)=MTAUP | |
150 | MVARPT(NACC,3)=MYST | |
151 | MVARPT(NACC,4)=MCTH | |
152 | DO 110 J=1,30 | |
153 | 110 VINTPT(NACC,J)=VINT(10+J) | |
154 | CALL PYSIGH_HIJING(NCHN,SIGS) | |
155 | SIGSPT(NACC)=SIGS | |
156 | IF(SIGS.GT.SIGSAM) SIGSAM=SIGS | |
157 | IF(MSTP(122).GE.2) WRITE(MSTU(11),1100) MTAU,MTAUP,MYST,MCTH, | |
158 | &VINT(21),VINT(22),VINT(23),VINT(26),SIGS | |
159 | 120 CONTINUE | |
160 | IF(SIGSAM.EQ.0.) THEN | |
161 | WRITE(MSTU(11),1200) ISUB | |
162 | STOP | |
163 | ENDIF | |
164 | ||
165 | C...Calculate integrals in tau and y* over maximal phase space limits. | |
166 | TAUMIN=VINT(11) | |
167 | TAUMAX=VINT(31) | |
168 | ATAU1=LOG(TAUMAX/TAUMIN) | |
169 | ATAU2=(TAUMAX-TAUMIN)/(TAUMAX*TAUMIN) | |
170 | IF(NPTS(1).GE.3) THEN | |
171 | ATAU3=LOG(TAUMAX/TAUMIN*(TAUMIN+TAUR1)/(TAUMAX+TAUR1))/TAUR1 | |
172 | ATAU4=(ATAN((TAUMAX-TAUR1)/GAMR1)-ATAN((TAUMIN-TAUR1)/GAMR1))/ | |
173 | & GAMR1 | |
174 | ENDIF | |
175 | IF(NPTS(1).GE.5) THEN | |
176 | ATAU5=LOG(TAUMAX/TAUMIN*(TAUMIN+TAUR2)/(TAUMAX+TAUR2))/TAUR2 | |
177 | ATAU6=(ATAN((TAUMAX-TAUR2)/GAMR2)-ATAN((TAUMIN-TAUR2)/GAMR2))/ | |
178 | & GAMR2 | |
179 | ENDIF | |
180 | YSTMIN=0.5*LOG(TAUMIN) | |
181 | YSTMAX=-YSTMIN | |
182 | AYST0=YSTMAX-YSTMIN | |
183 | AYST1=0.5*(YSTMAX-YSTMIN)**2 | |
184 | AYST3=2.*(ATAN(EXP(YSTMAX))-ATAN(EXP(YSTMIN))) | |
185 | ||
186 | C...Reset. Sum up cross-sections in points calculated. | |
187 | DO 230 IVAR=1,4 | |
188 | IF(NPTS(IVAR).EQ.1) GOTO 230 | |
189 | IF(ISUB.EQ.96.AND.IVAR.EQ.4) GOTO 230 | |
190 | NBIN=NPTS(IVAR) | |
191 | DO 130 J1=1,NBIN | |
192 | NAREL(J1)=0 | |
193 | WTREL(J1)=0. | |
194 | COEFU(J1)=0. | |
195 | DO 130 J2=1,NBIN | |
196 | 130 WTMAT(J1,J2)=0. | |
197 | DO 140 IACC=1,NACC | |
198 | IBIN=MVARPT(IACC,IVAR) | |
199 | NAREL(IBIN)=NAREL(IBIN)+1 | |
200 | WTREL(IBIN)=WTREL(IBIN)+SIGSPT(IACC) | |
201 | ||
202 | C...Sum up tau cross-section pieces in points used. | |
203 | IF(IVAR.EQ.1) THEN | |
204 | TAU=VINTPT(IACC,11) | |
205 | WTMAT(IBIN,1)=WTMAT(IBIN,1)+1. | |
206 | WTMAT(IBIN,2)=WTMAT(IBIN,2)+(ATAU1/ATAU2)/TAU | |
207 | IF(NBIN.GE.3) THEN | |
208 | WTMAT(IBIN,3)=WTMAT(IBIN,3)+(ATAU1/ATAU3)/(TAU+TAUR1) | |
209 | WTMAT(IBIN,4)=WTMAT(IBIN,4)+(ATAU1/ATAU4)*TAU/ | |
210 | & ((TAU-TAUR1)**2+GAMR1**2) | |
211 | ENDIF | |
212 | IF(NBIN.GE.5) THEN | |
213 | WTMAT(IBIN,5)=WTMAT(IBIN,5)+(ATAU1/ATAU5)/(TAU+TAUR2) | |
214 | WTMAT(IBIN,6)=WTMAT(IBIN,6)+(ATAU1/ATAU6)*TAU/ | |
215 | & ((TAU-TAUR2)**2+GAMR2**2) | |
216 | ENDIF | |
217 | ||
218 | C...Sum up tau' cross-section pieces in points used. | |
219 | ELSEIF(IVAR.EQ.2) THEN | |
220 | TAU=VINTPT(IACC,11) | |
221 | TAUP=VINTPT(IACC,16) | |
222 | TAUPMN=VINTPT(IACC,6) | |
223 | TAUPMX=VINTPT(IACC,26) | |
224 | ATAUP1=LOG(TAUPMX/TAUPMN) | |
225 | ATAUP2=((1.-TAU/TAUPMX)**4-(1.-TAU/TAUPMN)**4)/(4.*TAU) | |
226 | WTMAT(IBIN,1)=WTMAT(IBIN,1)+1. | |
227 | WTMAT(IBIN,2)=WTMAT(IBIN,2)+(ATAUP1/ATAUP2)*(1.-TAU/TAUP)**3/ | |
228 | & TAUP | |
229 | ||
230 | C...Sum up y* and cos(theta-hat) cross-section pieces in points used. | |
231 | ELSEIF(IVAR.EQ.3) THEN | |
232 | YST=VINTPT(IACC,12) | |
233 | WTMAT(IBIN,1)=WTMAT(IBIN,1)+(AYST0/AYST1)*(YST-YSTMIN) | |
234 | WTMAT(IBIN,2)=WTMAT(IBIN,2)+(AYST0/AYST1)*(YSTMAX-YST) | |
235 | WTMAT(IBIN,3)=WTMAT(IBIN,3)+(AYST0/AYST3)/COSH(YST) | |
236 | ELSE | |
237 | RM34=2.*SQM3*SQM4/(VINTPT(IACC,11)*VINT(2))**2 | |
238 | RSQM=1.+RM34 | |
239 | CTHMAX=SQRT(1.-4.*VINT(71)**2/(TAUMAX*VINT(2))) | |
240 | CTHMIN=-CTHMAX | |
241 | IF(CTHMAX.GT.0.9999) RM34=MAX(RM34,2.*VINT(71)**2/ | |
242 | & (TAUMAX*VINT(2))) | |
243 | ACTH1=CTHMAX-CTHMIN | |
244 | ACTH2=LOG(MAX(RM34,RSQM-CTHMIN)/MAX(RM34,RSQM-CTHMAX)) | |
245 | ACTH3=LOG(MAX(RM34,RSQM+CTHMAX)/MAX(RM34,RSQM+CTHMIN)) | |
246 | ACTH4=1./MAX(RM34,RSQM-CTHMAX)-1./MAX(RM34,RSQM-CTHMIN) | |
247 | ACTH5=1./MAX(RM34,RSQM+CTHMIN)-1./MAX(RM34,RSQM+CTHMAX) | |
248 | CTH=VINTPT(IACC,13) | |
249 | WTMAT(IBIN,1)=WTMAT(IBIN,1)+1. | |
250 | WTMAT(IBIN,2)=WTMAT(IBIN,2)+(ACTH1/ACTH2)/MAX(RM34,RSQM-CTH) | |
251 | WTMAT(IBIN,3)=WTMAT(IBIN,3)+(ACTH1/ACTH3)/MAX(RM34,RSQM+CTH) | |
252 | WTMAT(IBIN,4)=WTMAT(IBIN,4)+(ACTH1/ACTH4)/MAX(RM34,RSQM-CTH)**2 | |
253 | WTMAT(IBIN,5)=WTMAT(IBIN,5)+(ACTH1/ACTH5)/MAX(RM34,RSQM+CTH)**2 | |
254 | ENDIF | |
255 | 140 CONTINUE | |
256 | ||
257 | C...Check that equation system solvable; else trivial way out. | |
258 | IF(MSTP(122).GE.2) WRITE(MSTU(11),1300) CVAR(IVAR) | |
259 | MSOLV=1 | |
260 | DO 150 IBIN=1,NBIN | |
261 | IF(MSTP(122).GE.2) WRITE(MSTU(11),1400) (WTMAT(IBIN,IRED), | |
262 | &IRED=1,NBIN),WTREL(IBIN) | |
263 | 150 IF(NAREL(IBIN).EQ.0) MSOLV=0 | |
264 | IF(MSOLV.EQ.0) THEN | |
265 | DO 160 IBIN=1,NBIN | |
266 | 160 COEFU(IBIN)=1. | |
267 | ||
268 | C...Solve to find relative importance of cross-section pieces. | |
269 | ELSE | |
270 | DO 170 IRED=1,NBIN-1 | |
271 | DO 170 IBIN=IRED+1,NBIN | |
272 | RQT=WTMAT(IBIN,IRED)/WTMAT(IRED,IRED) | |
273 | WTREL(IBIN)=WTREL(IBIN)-RQT*WTREL(IRED) | |
274 | DO 170 ICOE=IRED,NBIN | |
275 | 170 WTMAT(IBIN,ICOE)=WTMAT(IBIN,ICOE)-RQT*WTMAT(IRED,ICOE) | |
276 | DO 190 IRED=NBIN,1,-1 | |
277 | DO 180 ICOE=IRED+1,NBIN | |
278 | 180 WTREL(IRED)=WTREL(IRED)-WTMAT(IRED,ICOE)*COEFU(ICOE) | |
279 | 190 COEFU(IRED)=WTREL(IRED)/WTMAT(IRED,IRED) | |
280 | ENDIF | |
281 | ||
282 | C...Normalize coefficients, with piece shared democratically. | |
283 | COEFSU=0. | |
284 | DO 200 IBIN=1,NBIN | |
285 | COEFU(IBIN)=MAX(0.,COEFU(IBIN)) | |
286 | 200 COEFSU=COEFSU+COEFU(IBIN) | |
287 | IF(IVAR.EQ.1) IOFF=0 | |
288 | IF(IVAR.EQ.2) IOFF=14 | |
289 | IF(IVAR.EQ.3) IOFF=6 | |
290 | IF(IVAR.EQ.4) IOFF=9 | |
291 | IF(COEFSU.GT.0.) THEN | |
292 | DO 210 IBIN=1,NBIN | |
293 | 210 COEF(ISUB,IOFF+IBIN)=PARP(121)/NBIN+(1.-PARP(121))*COEFU(IBIN)/ | |
294 | & COEFSU | |
295 | ELSE | |
296 | DO 220 IBIN=1,NBIN | |
297 | 220 COEF(ISUB,IOFF+IBIN)=1./NBIN | |
298 | ENDIF | |
299 | IF(MSTP(122).GE.2) WRITE(MSTU(11),1500) CVAR(IVAR), | |
300 | &(COEF(ISUB,IOFF+IBIN),IBIN=1,NBIN) | |
301 | 230 CONTINUE | |
302 | ||
303 | C...Find two most promising maxima among points previously determined. | |
304 | DO 240 J=1,4 | |
305 | IACCMX(J)=0 | |
306 | 240 SIGSMX(J)=0. | |
307 | NMAX=0 | |
308 | DO 290 IACC=1,NACC | |
309 | DO 250 J=1,30 | |
310 | 250 VINT(10+J)=VINTPT(IACC,J) | |
311 | CALL PYSIGH_HIJING(NCHN,SIGS) | |
312 | IEQ=0 | |
313 | DO 260 IMV=1,NMAX | |
314 | 260 IF(ABS(SIGS-SIGSMX(IMV)).LT.1E-4*(SIGS+SIGSMX(IMV))) IEQ=IMV | |
315 | IF(IEQ.EQ.0) THEN | |
316 | DO 270 IMV=NMAX,1,-1 | |
317 | IIN=IMV+1 | |
318 | IF(SIGS.LE.SIGSMX(IMV)) GOTO 280 | |
319 | IACCMX(IMV+1)=IACCMX(IMV) | |
320 | 270 SIGSMX(IMV+1)=SIGSMX(IMV) | |
321 | IIN=1 | |
322 | 280 IACCMX(IIN)=IACC | |
323 | SIGSMX(IIN)=SIGS | |
324 | IF(NMAX.LE.1) NMAX=NMAX+1 | |
325 | ENDIF | |
326 | 290 CONTINUE | |
327 | ||
328 | C...Read out starting position for search. | |
329 | IF(MSTP(122).GE.2) WRITE(MSTU(11),1600) | |
330 | SIGSAM=SIGSMX(1) | |
331 | DO 330 IMAX=1,NMAX | |
332 | IACC=IACCMX(IMAX) | |
333 | MTAU=MVARPT(IACC,1) | |
334 | MTAUP=MVARPT(IACC,2) | |
335 | MYST=MVARPT(IACC,3) | |
336 | MCTH=MVARPT(IACC,4) | |
337 | VTAU=0.5 | |
338 | VYST=0.5 | |
339 | VCTH=0.5 | |
340 | VTAUP=0.5 | |
341 | ||
342 | C...Starting point and step size in parameter space. | |
343 | DO 320 IRPT=1,2 | |
344 | DO 310 IVAR=1,4 | |
345 | IF(NPTS(IVAR).EQ.1) GOTO 310 | |
346 | IF(IVAR.EQ.1) VVAR=VTAU | |
347 | IF(IVAR.EQ.2) VVAR=VTAUP | |
348 | IF(IVAR.EQ.3) VVAR=VYST | |
349 | IF(IVAR.EQ.4) VVAR=VCTH | |
350 | IF(IVAR.EQ.1) MVAR=MTAU | |
351 | IF(IVAR.EQ.2) MVAR=MTAUP | |
352 | IF(IVAR.EQ.3) MVAR=MYST | |
353 | IF(IVAR.EQ.4) MVAR=MCTH | |
354 | IF(IRPT.EQ.1) VDEL=0.1 | |
355 | IF(IRPT.EQ.2) VDEL=MAX(0.01,MIN(0.05,VVAR-0.02,0.98-VVAR)) | |
356 | IF(IRPT.EQ.1) VMAR=0.02 | |
357 | IF(IRPT.EQ.2) VMAR=0.002 | |
358 | IMOV0=1 | |
359 | IF(IRPT.EQ.1.AND.IVAR.EQ.1) IMOV0=0 | |
360 | DO 300 IMOV=IMOV0,8 | |
361 | ||
362 | C...Define new point in parameter space. | |
363 | IF(IMOV.EQ.0) THEN | |
364 | INEW=2 | |
365 | VNEW=VVAR | |
366 | ELSEIF(IMOV.EQ.1) THEN | |
367 | INEW=3 | |
368 | VNEW=VVAR+VDEL | |
369 | ELSEIF(IMOV.EQ.2) THEN | |
370 | INEW=1 | |
371 | VNEW=VVAR-VDEL | |
372 | ELSEIF(SIGSSM(3).GE.MAX(SIGSSM(1),SIGSSM(2)).AND. | |
373 | &VVAR+2.*VDEL.LT.1.-VMAR) THEN | |
374 | VVAR=VVAR+VDEL | |
375 | SIGSSM(1)=SIGSSM(2) | |
376 | SIGSSM(2)=SIGSSM(3) | |
377 | INEW=3 | |
378 | VNEW=VVAR+VDEL | |
379 | ELSEIF(SIGSSM(1).GE.MAX(SIGSSM(2),SIGSSM(3)).AND. | |
380 | &VVAR-2.*VDEL.GT.VMAR) THEN | |
381 | VVAR=VVAR-VDEL | |
382 | SIGSSM(3)=SIGSSM(2) | |
383 | SIGSSM(2)=SIGSSM(1) | |
384 | INEW=1 | |
385 | VNEW=VVAR-VDEL | |
386 | ELSEIF(SIGSSM(3).GE.SIGSSM(1)) THEN | |
387 | VDEL=0.5*VDEL | |
388 | VVAR=VVAR+VDEL | |
389 | SIGSSM(1)=SIGSSM(2) | |
390 | INEW=2 | |
391 | VNEW=VVAR | |
392 | ELSE | |
393 | VDEL=0.5*VDEL | |
394 | VVAR=VVAR-VDEL | |
395 | SIGSSM(3)=SIGSSM(2) | |
396 | INEW=2 | |
397 | VNEW=VVAR | |
398 | ENDIF | |
399 | ||
400 | C...Convert to relevant variables and find derived new limits. | |
401 | IF(IVAR.EQ.1) THEN | |
402 | VTAU=VNEW | |
403 | CALL PYKMAP_HIJING(1,MTAU,VTAU) | |
404 | IF(ISTSB.EQ.3.OR.ISTSB.EQ.4) CALL PYKLIM_HIJING(4) | |
405 | ENDIF | |
406 | IF(IVAR.LE.2.AND.(ISTSB.EQ.3.OR.ISTSB.EQ.4)) THEN | |
407 | IF(IVAR.EQ.2) VTAUP=VNEW | |
408 | CALL PYKMAP_HIJING(4,MTAUP,VTAUP) | |
409 | ENDIF | |
410 | IF(IVAR.LE.2) CALL PYKLIM_HIJING(2) | |
411 | IF(IVAR.LE.3) THEN | |
412 | IF(IVAR.EQ.3) VYST=VNEW | |
413 | CALL PYKMAP_HIJING(2,MYST,VYST) | |
414 | CALL PYKLIM_HIJING(3) | |
415 | ENDIF | |
416 | IF(ISTSB.EQ.2.OR.ISTSB.EQ.4) THEN | |
417 | IF(IVAR.EQ.4) VCTH=VNEW | |
418 | CALL PYKMAP_HIJING(3,MCTH,VCTH) | |
419 | ENDIF | |
420 | IF(ISUB.EQ.96) VINT(25)=VINT(21)*(1.-VINT(23)**2) | |
421 | ||
422 | C...Evaluate cross-section. Save new maximum. Final maximum. | |
423 | CALL PYSIGH_HIJING(NCHN,SIGS) | |
424 | SIGSSM(INEW)=SIGS | |
425 | IF(SIGS.GT.SIGSAM) SIGSAM=SIGS | |
426 | IF(MSTP(122).GE.2) WRITE(MSTU(11),1700) IMAX,IVAR,MVAR,IMOV, | |
427 | &VNEW,VINT(21),VINT(22),VINT(23),VINT(26),SIGS | |
428 | 300 CONTINUE | |
429 | 310 CONTINUE | |
430 | 320 CONTINUE | |
431 | IF(IMAX.EQ.1) SIGS11=SIGSAM | |
432 | 330 CONTINUE | |
433 | XSEC(ISUB,1)=1.05*SIGSAM | |
434 | 340 IF(ISUB.NE.96) XSEC(0,1)=XSEC(0,1)+XSEC(ISUB,1) | |
435 | 350 CONTINUE | |
436 | ||
437 | C...Print summary table. | |
438 | IF(MSTP(122).GE.1) THEN | |
439 | WRITE(MSTU(11),1800) | |
440 | WRITE(MSTU(11),1900) | |
441 | DO 360 ISUB=1,200 | |
442 | IF(MSUB(ISUB).NE.1.AND.ISUB.NE.96) GOTO 360 | |
443 | IF(ISUB.EQ.96.AND.MINT(43).NE.4) GOTO 360 | |
444 | IF(ISUB.EQ.96.AND.MSUB(95).NE.1.AND.MSTP(81).LE.0) GOTO 360 | |
445 | IF(MSUB(95).EQ.1.AND.(ISUB.EQ.11.OR.ISUB.EQ.12.OR.ISUB.EQ.13.OR. | |
446 | & ISUB.EQ.28.OR.ISUB.EQ.53.OR.ISUB.EQ.68)) GOTO 360 | |
447 | WRITE(MSTU(11),2000) ISUB,PROC(ISUB),XSEC(ISUB,1) | |
448 | 360 CONTINUE | |
449 | WRITE(MSTU(11),2100) | |
450 | ENDIF | |
451 | ||
452 | C...Format statements for maximization results. | |
453 | 1000 FORMAT(/1X,'Coefficient optimization and maximum search for ', | |
454 | &'subprocess no',I4/1X,'Coefficient modes tau',10X,'y*',9X, | |
455 | &'cth',9X,'tau''',7X,'sigma') | |
456 | 1100 FORMAT(1X,4I4,F12.8,F12.6,F12.7,F12.8,1P,E12.4) | |
457 | 1200 FORMAT(1X,'Error: requested subprocess ',I3,' has vanishing ', | |
458 | &'cross-section.'/1X,'Execution stopped!') | |
459 | 1300 FORMAT(1X,'Coefficients of equation system to be solved for ',A4) | |
460 | 1400 FORMAT(1X,1P,7E11.3) | |
461 | 1500 FORMAT(1X,'Result for ',A4,':',6F9.4) | |
462 | 1600 FORMAT(1X,'Maximum search for given coefficients'/2X,'MAX VAR ', | |
463 | &'MOD MOV VNEW',7X,'tau',7X,'y*',8X,'cth',7X,'tau''',7X,'sigma') | |
464 | 1700 FORMAT(1X,4I4,F8.4,F11.7,F9.3,F11.6,F11.7,1P,E12.4) | |
465 | 1800 FORMAT(/1X,8('*'),1X,'PYMAXI_HIJING: summary of differential ', | |
466 | &'cross-section maximum search',1X,8('*')) | |
467 | 1900 FORMAT(/11X,58('=')/11X,'I',38X,'I',17X,'I'/11X,'I ISUB ', | |
468 | &'Subprocess name',15X,'I Maximum value I'/11X,'I',38X,'I', | |
469 | &17X,'I'/11X,58('=')/11X,'I',38X,'I',17X,'I') | |
470 | 2000 FORMAT(11X,'I',2X,I3,3X,A28,2X,'I',2X,1P,E12.4,3X,'I') | |
471 | 2100 FORMAT(11X,'I',38X,'I',17X,'I'/11X,58('=')) | |
472 | ||
473 | RETURN | |
474 | END |