]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HIJING/hipyset1_35/pymaxi_hijing.F
Updates on Lambda_c decays (S. Masciocchi)
[u/mrichter/AliRoot.git] / HIJING / hipyset1_35 / pymaxi_hijing.F
CommitLineData
e74335a4 1* $Id$
2
3C*********************************************************************
4
5 SUBROUTINE PYMAXI_HIJING
6
7C...Finds optimal set of coefficients for kinematical variable selection
8C...and the maximum of the part of the differential cross-section used
9C...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
26C...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
49C...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
75C...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
91C...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
102C...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
116C...Find limits and select tau, y*, cos(theta-hat) and tau' values,
117C...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
143C...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
165C...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
186C...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
202C...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
218C...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
230C...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
257C...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
268C...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
282C...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
303C...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
328C...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
342C...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
362C...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
400C...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
422C...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
437C...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
452C...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