5 * Revision 1.2 1997/04/29 09:54:58 japost
6 * Re-dimensioning and filling common arrays to fix bug/error.
8 * More details can be found in this error report, which caused the changes:
10 * Date: Tue, 15 Apr 1997 19:03:49 +0200
14 * > From: Dieter Heck <heck@ik3.fzk.de>
15 * > To: SGIANI@cernvm.cern.ch
16 * > Subject: GHEISHA_ERROR
17 * > Date: Tuesday, April 08, 1997 2:09 PM
20 * > Dear Simone Giani,
22 * > again I have detected an error within one of the GHEISHA routines.
23 * > It is the routine GHETUN. This routine contains two arrays keeping the
24 * > strangenes numbers (SNUM) and baryon numbers (BNUM) of the particles to
25 * > be treated. Both arrays are dimensioned with 32, while in GHEISHA also
26 * > OMAGA(-) and ANTI-OMEAG(-) particles are admitted with particle codes 33
27 * > and 34. In case of treatment of omega particles, the array boundaries
28 * > are exceeded, which gives an error stop when running with the bounds
29 * > check option. To correct this error, the arrays must be dimensionend
30 * > with 34, and the DATA statements have to be filled with the
31 * > corresponding values:
33 * > DIMENSION RNDM(4),SNUM(34),BNUM(34),REDDEC(7)
34 * > DATA SNUM/9*0.,1.,0.,0.,-1.,4*0.,-1.,1.,-1.,-1.,-1.,1.,1.,1.,
35 * > $ -2.,-2.,2.,2.,3*0.,-3.,3./
36 * > DATA BNUM/13*0.,1.,-1.,1.,-1.,1.,-1.,1.,1.,1.,-1.,-1.,-1.,
37 * > $ 1.,1.,-1.,-1.,2.,3.,4.,1.,-1./
39 * > Hopefully this correction is helpful for the GHEISHA users.
45 * > =========================================================================
46 * > From: Dieter Heck, Institut fuer Kernphysik 3,
47 * > Forschungszentrum Karlsruhe, Postfach 3640, D-76021 Karlsruhe, Germany
48 * > Tel: (49) 7247-82-3777 Fax: (49) 7247-82-4075 e-mail: heck@ik3.fzk.de
49 * > =========================================================================
51 * Revision 1.1.1.1 1995/10/24 10:21:12 cernlib
55 #include "geant321/pilot.h"
56 *CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani
60 C** TUNING OF THE HIGH ENERGY COLLISION MODEL:
62 C** 1. AVOID THAT PI0 IS LEADING PARTICLE.
63 C** 2. SOME FINE-TUNING FOR THE NUMBER OF PRODUCED PROTONS AND
65 C** 3. INTRODUCE A FLAVOUR DEPENDENT CORRECTION FOR SINGLE PARTICLE
67 C** 4. FINE-TUNING OF LEADING PARTICLE SPECTRA AND MOMENTUM
70 #include "geant321/mxgkgh.inc"
71 #include "geant321/s_consts.inc"
72 #include "geant321/s_curpar.inc"
73 #include "geant321/s_result.inc"
74 #include "geant321/s_prntfl.inc"
75 #include "geant321/s_blank.inc"
78 DIMENSION RNDM(4),SNUM(34),BNUM(34),REDDEC(7)
79 DATA SNUM/9*0.,1.,0.,0.,-1.,4*0.,-1.,1.,-1.,-1.,-1.,1.,1.,1.,
80 $ -2.,-2.,2.,2.,3*0.,-3.,3./
81 DATA BNUM/13*0.,1.,-1.,1.,-1.,1.,-1.,1.,1.,1.,-1.,-1.,-1.,
82 $ 1.,1.,-1.,-1.,2.,3.,4.,1.,-1./
85 #if !defined(CERNLIB_SINGLE)
86 DOUBLE PRECISION AHMF,BHMF
100 IF(NT1.GT.MXGKPV-10) NT1=MXGKPV-10
104 IF(EK.LT.(25.+RNDM(1)*75.)) GOTO 15
106 C** IF PI0 IS THE HIGHEST MOMENTUM PARTICLE, INTERCHANGE IT WITH A
110 REDEN = -0.7 + 0.29*LOG10(EK)
111 REDAT = 1. - 0.4000*LOG10(ATNO2)
120 IF(RNDM(1).GT.(ATNO2/100.-0.28).AND.ABS(NCH).GT.0.5) THEN
122 IPHMF=IFIX(PV(8,I)+0.1)
129 IF(PPP.GT.PMAPIP) THEN
135 IF(PPP.GT.PMAPI0) THEN
141 IF(PPP.GT.PMAPIM) THEN
149 C** SOME ADDITIONAL TUNING OF THE NUMBER OF GREY TRACK PARTICLES
153 IPHMF=IFIX(PV(8,I)+0.1)
154 IF(IPHMF.EQ.14.OR.IPHMF.EQ.16.OR.IPHMF.GE.30) THEN
157 IF(RNDM(2).LT.REDEN.OR.RNDM(3).LT.REDAT) THEN
161 PV(4,I) = ABS(PV(5,I))
168 IF(MAXPI0.EQ.0) GOTO 10
169 IF(PMAPI0.LT.PMAX) GOTO 10
170 IF(RNDM(4).LT.PMAPI0/P) THEN
171 IF(NCH.GT.0.5.AND.MAXPIP.NE.0) THEN
173 PV(J,MX1)=PV(J,MAXPI0)
174 PV(J,MAXPI0)=PV(J,MAXPIP)
175 PV(J,MAXPIP)=PV(J,MX1)
178 IF(NCH.LT.-0.5.AND.MAXPIM.NE.0) THEN
180 PV(J,MX1)=PV(J,MAXPI0)
181 PV(J,MAXPI0)=PV(J,MAXPIM)
182 PV(J,MAXPIM)=PV(J,MX1)
189 C** CHECK TOTAL BARYON- NUMBER AND
190 C** SKIP ZERO MOMENTUM PARTICLES
192 BNTOT=-BNUM(IPART)-ATNO2
194 IPHMF=IFIX(PV(8,I)+0.1)
195 BNTOT=BNTOT+BNUM(IPHMF)
198 IF(ATNO2.LT.1.5) BNTOT=0.
200 IF(ATNO2.GT.(75.+RNDM(1)*25.)) BNTOT=0.
205 IF(PPP.GT.1.E-6) THEN
206 IPHMF=IFIX(PV(8,I)+0.1)
207 IF(BNTOT.GT.0.3) THEN
208 IF(IPHMF.EQ.14.OR.IPHMF.EQ.16.OR.IPHMF.GE.30) THEN
210 IF(RNDM(1).LT.0.5.AND.PPP.LT.1.2) GOTO 12
222 C** EXACT MOMENTUM CONSERVATION AND SOME CORRECTIONS FOR SINGLE
223 C** PARTICLE SPECTRA AT HIGH ENERGIES ONLY
229 PV(5,MX1) = ABS(AMAS)
240 WRITE(NEWBCD,2001) MX1,(PV(J,MX1),J=1,6)
241 WRITE(NEWBCD,2001) MX2,(PV(J,MX2),J=1,6)
247 CALL ADD(MX1,MX2,MX3)
248 CALL LOR(MX1,MX3,MX4)
249 CALL LOR(MX2,MX3,MX5)
254 IF(IPART.EQ.11.OR.IPART.EQ.12) THEN
257 IF(RNDM(1).LT.0.5) SNUM1=-1.
260 IPHMF=IFIX(PV(8,I)+0.1)
261 IF(IPHMF.LE.6.OR.IPHMF.GT.32) GOTO 19
263 IF(PPP.LT.1.E-3) GOTO 19
265 CALL ANG(MX4,MX6,COST,TETA)
267 IF(IPHMF.EQ.11.OR.IPHMF.EQ.12) THEN
270 IF(RNDM(1).LT.0.5) SNUM2=-1.
274 REDDEC(1)=ABS(HFMAS -ABS(PV(5,I)))
275 REDDEC(2)=ABS(NCH-PV(6,I))
276 REDDEC(3)=ABS(SNUM1 -SNUM2)
277 REDDEC(4)=ABS(BNUM(IPART)-BNUM(IPHMF))
280 REDDEC(1)=ABS(HFMAS -ABS(PV(5,I)))
281 REDDEC(2)=ABS(ZNO2/ATNO2-PV(6,I))
283 REDDEC(4)=ABS(1.-BNUM(IPHMF))
285 REDDEC(6)=REDDEC(1)+REDDEC(2)+REDDEC(3)+REDDEC(4)
287 IF(HFMAS.LT.0.2) THEN
288 SBQWGT=(SBQWGT-2.5)*0.10
289 IF(IPHMF.EQ.8) SBQWGT=0.15
290 ELSE IF (HFMAS.LT.0.6) THEN
291 SBQWGT=(SBQWGT-3.0)*0.10
293 SBQWGT=(SBQWGT-2.0)*0.10
294 IF(IPHMF.EQ.8) SBQWGT=0.15
297 IF(SBQWGT.GT.0. .AND. PPP.GT.1.E-6) THEN
299 PTHMF=PPP*SQRT(1.-COST*COST)
300 PLHMF=PLHMF*(1.-SBQWGT)
301 CALL CROSS3(MX4,MX6,MX8)
302 CALL CROSS3(MX8,MX4,MX8)
304 PV(1,MX7)=PV(1,MX4)*PLHMF/PPP
305 PV(2,MX7)=PV(2,MX4)*PLHMF/PPP
306 PV(3,MX7)=PV(3,MX4)*PLHMF/PPP
308 PV(1,MX8)=PV(1,MX8)*PTHMF/PPP
309 PV(2,MX8)=PV(2,MX8)*PTHMF/PPP
310 PV(3,MX8)=PV(3,MX8)*PTHMF/PPP
311 CALL ADD3(MX7,MX8,MX6)
315 PV(4,MX6)=DSQRT(AHMF**2+BHMF**2)
318 $ WRITE(NEWBCD,3001) I,(PV(J,I),J=1,8),SBQWGT
323 $ WRITE(NEWBCD,3001) I,(PV(J,I),J=1,8),SBQWGT
326 IF(IPHMF.EQ.8) GOTO 19
327 CALL SUB3(MXGKPV,I,MX8)
330 REDDEC(7)=REDDEC(5)*2./3. + REDDEC(6)/12.
331 REDDEC(7) = 1.-REDDEC(7)
332 IF(REDDEC(7) .LT. 0.) REDDEC(7) = 0.
333 GESPAR=GESPAR+REDDEC(7)
334 IF(REDDEC(6).LE.3.75) THEN
335 IF(REDDEC(7) .GT. REDPAR) THEN
341 $ WRITE(NEWBCD,2001) I,(PV(J,I),J=1,6),PV(8,I),REDDEC
343 19 CALL ADD3(MX9,I,MX9)
347 $ WRITE(NEWBCD,1001) LEDPAR,REDPAR,GESPAR
349 C** APPLY CORRECTION ON LEADING PARTICLE
354 1001 FORMAT(1H0,'SEARCH FOR LEADING PARTICLE, WEIGHT, TOTAL WEIGHT ',
356 2000 FORMAT(1H ,'MOMENTUM CONSERVATION AT HIGH ENERGIES: ')
357 2001 FORMAT(1H ,I3,2X,7F8.3/1H ,5X,7F8.3)
358 3001 FORMAT(1H ,I3,2X,5F8.3,F5.1,F8.3,F5.1,F8.3)