]>
Commit | Line | Data |
---|---|---|
0119ef9a | 1 | c....................art1f.f |
2 | ************************************** | |
3 | * | |
4 | * PROGRAM ART1.0 | |
5 | * | |
6 | * A relativistic transport (ART) model for heavy-ion collisions | |
7 | * | |
8 | * sp/01/04/2002 | |
9 | * calculates K+K- from phi decay, dimuons from phi decay | |
10 | * has finite baryon density & possibilites of varying Kaon | |
11 | * in-medium mass in phiproduction-annhilation channel only. | |
12 | * | |
13 | * | |
14 | * RELEASING DATE: JAN., 1997 | |
15 | *************************************** | |
16 | * | |
17 | * Bao-An Li & Che Ming Ko | |
18 | * Cyclotron Institute, Texas A&M University. | |
19 | * Phone: (409) 845-1411 | |
20 | * e-mail: Bali@comp.tamu.edu & Ko@comp.tamu.edu | |
21 | * http://wwwcyc.tamu.edu/~bali | |
22 | *************************************** | |
23 | * Speical notice on the limitation of the code: | |
24 | * | |
25 | * (1) ART is a hadronic transport model | |
26 | * | |
27 | * (2) E_beam/A <= 15 GeV | |
28 | * | |
29 | * (3) The mass of the colliding system is limited by the dimensions of arrays | |
30 | * which can be extended purposely. Presently the dimensions are large enough | |
31 | * for running Au+Au at 15 GeV/A. | |
32 | * | |
33 | * (4) The production and absorption of antiparticles (e.g., ki-, anti-nucleons, | |
34 | * etc) are not fully included in this version of the model. They, however, | |
35 | * have essentially no effect on the reaction dynamics and observables | |
36 | * related to nucleons, pions and kaons (K+) at and below AGS energies. | |
37 | * | |
38 | * (5) Bose enhancement for mesons and Pauli blocking for fermions are | |
39 | * turned off. | |
40 | * | |
41 | ********************************* | |
42 | * | |
43 | * USEFUL REFERENCES ON PHYSICS AND NUMERICS OF NUCLEAR TRANSPORT MODELS: | |
44 | * G.F. BERTSCH AND DAS GUPTA, PHYS. REP. 160 (1988) 189. | |
45 | * B.A. LI AND W. BAUER, PHYS. REV. C44 (1991) 450. | |
46 | * B.A. LI, W. BAUER AND G.F. BERTSCH, PHYS. REV. C44 (1991) 2095. | |
47 | * P. DANIELEWICZ AND G.F. BERTSCH, NUCL. PHYS. A533 (1991) 712. | |
48 | * | |
49 | * MAIN REFERENCES ON THIS VERSION OF ART MODEL: | |
50 | * B.A. LI AND C.M. KO, PHYS. REV. C52 (1995) 2037; | |
51 | * NUCL. PHYS. A601 (1996) 457. | |
52 | * | |
53 | ********************************** | |
54 | ********************************** | |
55 | * VARIABLES IN INPUT-SECTION: * | |
56 | * * | |
57 | * 1) TARGET-RELATED QUANTITIES * | |
58 | * MASSTA, ZTA - TARGET MASS IN AMU, TARGET CHARGE (INTEGER) * | |
59 | * * | |
60 | * 2) PROJECTILE-RELATED QUANTITIES * | |
61 | * MASSPR, ZPR - PROJECTILE MASS IN AMU, PROJ. CHARGE(INTEGER) * | |
62 | * ELAB - BEAM ENERGY IN [MEV/NUCLEON] (REAL) * | |
63 | * ZEROPT - DISPLACEMENT OF THE SYSTEM IN Z-DIREC. [FM](REAL) * | |
64 | * B - IMPACT PARAMETER [FM] (REAL) * | |
65 | * * | |
66 | * 3) PROGRAM-CONTROL PARAMETERS * | |
67 | * ISEED - SEED FOR RANDOM NUMBER GENERATOR (INTEGER) * | |
68 | * DT - TIME-STEP-SIZE [FM/C] (REAL) * | |
69 | * NTMAX - TOTAL NUMBER OF TIMESTEPS (INTEGER) * | |
70 | * ICOLL - (= 1 -> MEAN FIELD ONLY, * | |
71 | * - =-1 -> CACADE ONLY, ELSE FULL ART) (INTEGER) * | |
72 | * NUM - NUMBER OF TESTPARTICLES PER NUCLEON (INTEGER) * | |
73 | * INSYS - (=0 -> LAB-SYSTEM, ELSE C.M. SYSTEM) (INTEGER) * | |
74 | * IPOT - 1 -> SIGMA=2; 2 -> SIGMA=4/3; 3 -> SIGMA=7/6 * | |
75 | * IN MEAN FIELD POTENTIAL (INTEGER) * | |
76 | * MODE - (=1 -> interpolation for pauli-blocking, * | |
77 | * =2 -> local lookup, other -> unblocked)(integer) * | |
78 | * DX,DY,DZ - widths of cell for paulat in coor. sp. [fm](real) * | |
79 | * DPX,DPY,DPZ-widths of cell for paulat in mom. sp.[GeV/c](real) * | |
80 | * IAVOID - (=1 -> AVOID FIRST COLL. WITHIN SAME NUCL. * | |
81 | * =0 -> ALLOW THEM) (INTEGER) * | |
82 | * IMOMEN - FLAG FOR CHOICE OF INITIAL MOMENTUM DISTRIBUTION * | |
83 | * (=1 -> WOODS-SAXON DENSITY AND LOCAL THOMAS-FERMI * | |
84 | * =2 -> NUCLEAR MATTER DEN. AND LOCAL THOMAS-FERMI * | |
85 | * =3 -> COHERENT BOOST IN Z-DIRECTION) (INTEGER) * | |
86 | * 4) CONTROL-PRINTOUT OPTIONS * | |
87 | * NFREQ - NUMBER OF TIMSTEPS AFTER WHICH PRINTOUT * | |
88 | * IS REQUIRED OR ON-LINE ANALYSIS IS PERFORMED * | |
89 | * ICFLOW =1 PERFORM ON-LINE FLOW ANALYSIS EVERY NFREQ STEPS * | |
90 | * ICRHO =1 PRINT OUT THE BARYON,PION AND ENERGY MATRIX IN * | |
91 | * THE REACTION PLANE EVERY NFREQ TIME-STEPS * | |
92 | * 5) | |
93 | * CYCBOX - ne.0 => cyclic boundary conditions;boxsize CYCBOX * | |
94 | * | |
95 | ********************************** | |
96 | * Lables of particles used in this code * | |
97 | ********************************** | |
98 | * | |
99 | * LB(I) IS USED TO LABEL PARTICLE'S CHARGE STATE | |
100 | * | |
101 | * LB(I) = | |
102 | clin-11/07/00: | |
103 | * -30 K*- | |
104 | clin-8/29/00 | |
105 | * -13 anti-N*(+1)(1535),s_11 | |
106 | * -12 anti-N*0(1535),s_11 | |
107 | * -11 anti-N*(+1)(1440),p_11 | |
108 | * -10 anti-N*0(1440), p_11 | |
109 | * -9 anti-DELTA+2 | |
110 | * -8 anti-DELTA+1 | |
111 | * -7 anti-DELTA0 | |
112 | * -6 anti-DELTA-1 | |
113 | clin-8/29/00-end | |
114 | ||
115 | cbali2/7/99 | |
116 | * -2 antineutron | |
117 | * -1 antiproton | |
118 | cbali2/7/99 end | |
119 | * 0 eta | |
120 | * 1 PROTON | |
121 | * 2 NUETRON | |
122 | * 3 PION- | |
123 | * 4 PION0 | |
124 | * 5 PION+ | |
125 | * 6 DELTA-1 | |
126 | * 7 DELTA0 | |
127 | * 8 DELTA+1 | |
128 | * 9 DELTA+2 | |
129 | * 10 N*0(1440), p_11 | |
130 | * 11 N*(+1)(1440),p_11 | |
131 | * 12 N*0(1535),s_11 | |
132 | * 13 N*(+1)(1535),s_11 | |
133 | * 14 LAMBDA | |
134 | * 15 sigma-, since we used isospin averaged xsection for | |
135 | * 16 sigma0 sigma associated K+ production, sigma0 and | |
136 | * 17 sigma+ sigma+ are counted as sigma- | |
137 | * 21 kaon- | |
138 | * 23 KAON+ | |
139 | * 24 kaon0 | |
140 | * 25 rho- | |
141 | * 26 rho0 | |
142 | * 27 rho+ | |
143 | * 28 omega meson | |
144 | * 29 phi | |
145 | clin-11/07/00: | |
146 | * 30 K*+ | |
147 | * sp01/03/01 | |
148 | * -14 LAMBDA(bar) | |
149 | * -15 sigma-(bar) | |
150 | * -16 sigma0(bar) | |
151 | * -17 sigma+(bar) | |
152 | * 31 eta-prime | |
153 | * 40 cascade- | |
154 | * -40 cascade-(bar) | |
155 | * 41 cascade0 | |
156 | * -41 cascade0(bar) | |
157 | * 45 Omega baryon | |
158 | * -45 Omega baryon(bar) | |
159 | * sp01/03/01 end | |
160 | clin-5/2008: | |
161 | * 42 Deuteron (same in ampt.dat) | |
162 | * -42 anti-Deuteron (same in ampt.dat) | |
163 | c | |
164 | * ++ ------- SEE BAO-AN LI'S NOTE BOOK | |
165 | ********************************** | |
166 | cbz11/16/98 | |
167 | c PROGRAM ART | |
168 | SUBROUTINE ARTMN | |
169 | cbz11/16/98end | |
170 | ********************************** | |
171 | * PARAMETERS: * | |
172 | * MAXPAR - MAXIMUM NUMBER OF PARTICLES PROGRAM CAN HANDLE * | |
173 | * MAXP - MAXIMUM NUMBER OF CREATED MESONS PROGRAM CAN HANDLE * | |
174 | * MAXR - MAXIMUM NUMBER OF EVENTS AT EACH IMPACT PARAMETER * | |
175 | * MAXX - NUMBER OF MESHPOINTS IN X AND Y DIRECTION = 2 MAXX + 1 * | |
176 | * MAXZ - NUMBER OF MESHPOINTS IN Z DIRECTION = 2 MAXZ + 1 * | |
177 | * AMU - 1 ATOMIC MASS UNIT "GEV/C**2" * | |
178 | * MX,MY,MZ - MESH SIZES IN COORDINATE SPACE [FM] FOR PAULI LATTICE * | |
179 | * MPX,MPY,MPZ- MESH SIZES IN MOMENTUM SPACE [GEV/C] FOR PAULI LATTICE * | |
180 | *---------------------------------------------------------------------- * | |
181 | clin PARAMETER (maxpar=200000,MAXR=50,AMU= 0.9383, | |
182 | PARAMETER (MAXSTR=150001,MAXR=1,AMU= 0.9383, | |
183 | 1 AKA=0.498,etaM=0.5475) | |
184 | PARAMETER (MAXX = 20, MAXZ = 24) | |
185 | PARAMETER (ISUM = 1001, IGAM = 1100) | |
186 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
187 | clin PARAMETER (MAXP = 14000) | |
188 | *----------------------------------------------------------------------* | |
189 | INTEGER OUTPAR, zta,zpr | |
190 | COMMON /AA/ R(3,MAXSTR) | |
191 | cc SAVE /AA/ | |
192 | COMMON /BB/ P(3,MAXSTR) | |
193 | cc SAVE /BB/ | |
194 | COMMON /CC/ E(MAXSTR) | |
195 | cc SAVE /CC/ | |
196 | COMMON /DD/ RHO(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
197 | & RHOP(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
198 | & RHON(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ) | |
199 | cc SAVE /DD/ | |
200 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
201 | cc SAVE /EE/ | |
202 | COMMON /HH/ PROPER(MAXSTR) | |
203 | cc SAVE /HH/ | |
204 | common /ff/f(-mx:mx,-my:my,-mz:mz,-mpx:mpx,-mpy:mpy,-mpz:mpzp) | |
205 | cc SAVE /ff/ | |
206 | common /gg/ dx,dy,dz,dpx,dpy,dpz | |
207 | cc SAVE /gg/ | |
208 | COMMON /INPUT/ NSTAR,NDIRCT,DIR | |
209 | cc SAVE /INPUT/ | |
210 | COMMON /PP/ PRHO(-20:20,-24:24) | |
211 | COMMON /QQ/ PHRHO(-MAXZ:MAXZ,-24:24) | |
212 | COMMON /RR/ MASSR(0:MAXR) | |
213 | cc SAVE /RR/ | |
214 | common /ss/ inout(20) | |
215 | cc SAVE /ss/ | |
216 | common /zz/ zta,zpr | |
217 | cc SAVE /zz/ | |
218 | COMMON /RUN/ NUM | |
219 | cc SAVE /RUN/ | |
220 | clin-4/2008: | |
221 | c COMMON /KKK/ TKAON(7),EKAON(7,0:200) | |
222 | COMMON /KKK/ TKAON(7),EKAON(7,0:2000) | |
223 | cc SAVE /KKK/ | |
224 | COMMON /KAON/ AK(3,50,36),SPECK(50,36,7),MF | |
225 | cc SAVE /KAON/ | |
226 | COMMON/TABLE/ xarray(0:1000),earray(0:1000) | |
227 | cc SAVE /TABLE/ | |
228 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
229 | cc SAVE /input1/ | |
230 | COMMON /DDpi/ piRHO(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ) | |
231 | cc SAVE /DDpi/ | |
232 | common /tt/ PEL(-maxx:maxx,-maxx:maxx,-maxz:maxz) | |
233 | &,rxy(-maxx:maxx,-maxx:maxx,-maxz:maxz) | |
234 | cc SAVE /tt/ | |
235 | clin-4/2008: | |
236 | c DIMENSION TEMP(3,MAXSTR),SKAON(7),SEKAON(7,0:200) | |
237 | DIMENSION TEMP(3,MAXSTR),SKAON(7),SEKAON(7,0:2000) | |
238 | cbz12/2/98 | |
239 | COMMON /INPUT2/ ILAB, MANYB, NTMAX, ICOLL, INSYS, IPOT, MODE, | |
240 | & IMOMEN, NFREQ, ICFLOW, ICRHO, ICOU, KPOTEN, KMUL | |
241 | cc SAVE /INPUT2/ | |
242 | COMMON /INPUT3/ PLAB, ELAB, ZEROPT, B0, BI, BM, DENCUT, CYCBOX | |
243 | cc SAVE /INPUT3/ | |
244 | cbz12/2/98end | |
245 | cbz11/16/98 | |
246 | COMMON /ARPRNT/ ARPAR1(100), IAPAR2(50), ARINT1(100), IAINT2(50) | |
247 | cc SAVE /ARPRNT/ | |
248 | ||
249 | c.....note in the below, since a common block in ART is called EE, | |
250 | c.....the variable EE in /ARPRC/is changed to PEAR. | |
251 | clin-9/29/03 changed name in order to distinguish from /prec2/ | |
252 | c COMMON /ARPRC/ ITYPAR(MAXSTR), | |
253 | c & GXAR(MAXSTR), GYAR(MAXSTR), GZAR(MAXSTR), FTAR(MAXSTR), | |
254 | c & PXAR(MAXSTR), PYAR(MAXSTR), PZAR(MAXSTR), PEAR(MAXSTR), | |
255 | c & XMAR(MAXSTR) | |
256 | cc SAVE /ARPRC/ | |
257 | clin-9/29/03-end | |
258 | COMMON /ARERCP/PRO1(MAXSTR, MAXR) | |
259 | cc SAVE /ARERCP/ | |
260 | COMMON /ARERC1/MULTI1(MAXR) | |
261 | cc SAVE /ARERC1/ | |
262 | COMMON /ARPRC1/ITYP1(MAXSTR, MAXR), | |
263 | & GX1(MAXSTR, MAXR), GY1(MAXSTR, MAXR), GZ1(MAXSTR, MAXR), | |
264 | & FT1(MAXSTR, MAXR), | |
265 | & PX1(MAXSTR, MAXR), PY1(MAXSTR, MAXR), PZ1(MAXSTR, MAXR), | |
266 | & EE1(MAXSTR, MAXR), XM1(MAXSTR, MAXR) | |
267 | cc SAVE /ARPRC1/ | |
268 | c | |
269 | DIMENSION NPI(MAXR) | |
270 | DIMENSION RT(3, MAXSTR, MAXR), PT(3, MAXSTR, MAXR) | |
271 | & , ET(MAXSTR, MAXR), LT(MAXSTR, MAXR), PROT(MAXSTR, MAXR) | |
272 | ||
273 | EXTERNAL IARFLV, INVFLV | |
274 | cbz11/16/98end | |
275 | common /lastt/itimeh,bimp | |
276 | cc SAVE /lastt/ | |
277 | common/snn/efrm,npart1,npart2 | |
278 | cc SAVE /snn/ | |
279 | COMMON/hbt/lblast(MAXSTR),xlast(4,MAXSTR),plast(4,MAXSTR),nlast | |
280 | cc SAVE /hbt/ | |
281 | common/resdcy/NSAV,iksdcy | |
282 | cc SAVE /resdcy/ | |
283 | COMMON/RNDF77/NSEED | |
284 | cc SAVE /RNDF77/ | |
285 | COMMON/FTMAX/ftsv(MAXSTR),ftsvt(MAXSTR, MAXR) | |
286 | COMMON /dpert/dpertt(MAXSTR,MAXR),dpertp(MAXSTR),dplast(MAXSTR), | |
287 | 1 dpdcy(MAXSTR),dpdpi(MAXSTR,MAXR),dpt(MAXSTR, MAXR), | |
288 | 2 dpp1(MAXSTR,MAXR),dppion(MAXSTR,MAXR) | |
289 | COMMON/HPARNT/HIPR1(100),IHPR2(50),HINT1(100),IHNT2(50) | |
290 | clin-4/2008 zet() expanded to avoid out-of-bound errors: | |
291 | real zet(-45:45) | |
292 | SAVE | |
293 | data zet / | |
294 | 4 1.,0.,0.,0.,0., | |
295 | 3 1.,0.,0.,0.,0.,0.,0.,0.,0.,0., | |
296 | 2 -1.,0.,0.,0.,0.,0.,0.,0.,0.,0., | |
297 | 1 0.,0.,0.,-1.,0.,1.,0.,-1.,0.,-1., | |
298 | s 0.,-2.,-1.,0.,1.,0.,0.,0.,0.,-1., | |
299 | e 0., | |
300 | s 1.,0.,-1.,0.,1.,-1.,0.,1.,2.,0., | |
301 | 1 1.,0.,1.,0.,-1.,0.,1.,0.,0.,0., | |
302 | 2 -1.,0.,1.,0.,-1.,0.,1.,0.,0.,1., | |
303 | 3 0.,0.,0.,0.,0.,0.,0.,0.,0.,-1., | |
304 | 4 0.,0.,0.,0.,-1./ | |
305 | ||
306 | nlast=0 | |
307 | do 1002 i=1,MAXSTR | |
308 | ftsv(i)=0. | |
309 | do 1101 irun=1,maxr | |
310 | ftsvt(i,irun)=0. | |
311 | 1101 continue | |
312 | lblast(i)=999 | |
313 | do 1001 j=1,4 | |
314 | clin-4/2008 bugs pointed out by Vander Molen & Westfall: | |
315 | c xlast(i,j)=0. | |
316 | c plast(i,j)=0. | |
317 | xlast(j,i)=0. | |
318 | plast(j,i)=0. | |
319 | 1001 continue | |
320 | 1002 continue | |
321 | ||
322 | *-------------------------------------------------------------------* | |
323 | * Input information about the reaction system and contral parameters* | |
324 | *-------------------------------------------------------------------* | |
325 | * input section starts here * | |
326 | *-------------------------------------------------------------------* | |
327 | ||
328 | cbz12/2/98 | |
329 | c.....input section is moved to subroutine ARTSET | |
330 | cbz12/2/98end | |
331 | ||
332 | *-----------------------------------------------------------------------* | |
333 | * input section ends here * | |
334 | *-----------------------------------------------------------------------* | |
335 | * read in the table for gengrating the transverse momentum | |
336 | * IN THE NN-->DDP PROCESS | |
337 | call tablem | |
338 | * several control parameters, keep them fixed in this code. | |
339 | ikaon=1 | |
340 | nstar=1 | |
341 | ndirct=0 | |
342 | dir=0.02 | |
343 | asy=0.032 | |
344 | ESBIN=0.04 | |
345 | MF=36 | |
346 | *----------------------------------------------------------------------* | |
347 | c CALL FRONT(12,MASSTA,MASSPR,ELAB) | |
348 | *----------------------------------------------------------------------* | |
349 | RADTA = 1.124 * FLOAT(MASSTA)**(1./3.) | |
350 | RADPR = 1.124 * FLOAT(MASSPR)**(1./3.) | |
351 | ZDIST = RADTA + RADPR | |
352 | c if ( cycbox.ne.0 ) zdist=0 | |
353 | BMAX = RADTA + RADPR | |
354 | MASS = MASSTA + MASSPR | |
355 | NTOTAL = NUM * MASS | |
356 | * | |
357 | IF (NTOTAL .GT. MAXSTR) THEN | |
358 | WRITE(12,'(//10X,''**** FATAL ERROR: TOO MANY TEST PART. ****'// | |
359 | & ' '')') | |
360 | STOP | |
361 | END IF | |
362 | * | |
363 | *----------------------------------------------------------------------- | |
364 | * RELATIVISTIC KINEMATICS | |
365 | * | |
366 | * 1) LABSYSTEM | |
367 | * | |
368 | ETA = FLOAT(MASSTA) * AMU | |
369 | PZTA = 0.0 | |
370 | BETATA = 0.0 | |
371 | GAMMTA = 1.0 | |
372 | * | |
373 | EPR = FLOAT(MASSPR) * (AMU + 0.001 * ELAB) | |
374 | PZPR = SQRT( EPR**2 - (AMU * FLOAT(MASSPR))**2 ) | |
375 | BETAPR = PZPR / EPR | |
376 | GAMMPR = 1.0 / SQRT( 1.0 - BETAPR**2 ) | |
377 | * | |
378 | * BETAC AND GAMMAC OF THE C.M. OBSERVED IN THE LAB. FRAME | |
379 | BETAC=(PZPR+PZTA)/(EPR+ETA) | |
380 | GAMMC=1.0 / SQRT(1.-BETAC**2) | |
381 | * | |
382 | c WRITE(12,'(/10x,''**** KINEMATICAL PARAMETERS ****''/)') | |
383 | c WRITE(12,'(10x,''1) LAB-FRAME: TARGET PROJECTILE'')') | |
384 | c WRITE(12,'(10x,'' ETOTAL "GEV" '',2F11.4)') ETA, EPR | |
385 | c WRITE(12,'(10x,'' P "GEV/C" '',2F11.4)') PZTA, PZPR | |
386 | c WRITE(12,'(10x,'' BETA '',2F11.4)') BETATA, BETAPR | |
387 | c WRITE(12,'(10x,'' GAMMA '',2F11.4)') GAMMTA, GAMMPR | |
388 | IF (INSYS .NE. 0) THEN | |
389 | * | |
390 | * 2) C.M. SYSTEM | |
391 | * | |
392 | S = (EPR+ETA)**2 - PZPR**2 | |
393 | xx1=4.*alog(float(massta)) | |
394 | xx2=4.*alog(float(masspr)) | |
395 | xx1=exp(xx1) | |
396 | xx2=exp(xx2) | |
397 | PSQARE = (S**2 + (xx1+ xx2) * AMU**4 | |
398 | & - 2.0 * S * AMU**2 * FLOAT(MASSTA**2 + MASSPR**2) | |
399 | & - 2.0 * FLOAT(MASSTA**2 * MASSPR**2) * AMU**4) | |
400 | & / (4.0 * S) | |
401 | * | |
402 | ETA = SQRT ( PSQARE + (FLOAT(MASSTA) * AMU)**2 ) | |
403 | PZTA = - SQRT(PSQARE) | |
404 | BETATA = PZTA / ETA | |
405 | GAMMTA = 1.0 / SQRT( 1.0 - BETATA**2 ) | |
406 | * | |
407 | EPR = SQRT ( PSQARE + (FLOAT(MASSPR) * AMU)**2 ) | |
408 | PZPR = SQRT(PSQARE) | |
409 | BETAPR = PZPR/ EPR | |
410 | GAMMPR = 1.0 / SQRT( 1.0 - BETAPR**2 ) | |
411 | * | |
412 | c WRITE(12,'(10x,''2) C.M.-FRAME: '')') | |
413 | c WRITE(12,'(10x,'' ETOTAL "GEV" '',2F11.4)') ETA, EPR | |
414 | c WRITE(12,'(10x,'' P "GEV/C" '',2F11.4)') PZTA, PZPR | |
415 | c WRITE(12,'(10x,'' BETA '',2F11.4)') BETATA, BETAPR | |
416 | c WRITE(12,'(10x,'' GAMMA '',2F11.4)') GAMMTA, GAMMPR | |
417 | c WRITE(12,'(10x,''S "GEV**2" '',F11.4)') S | |
418 | c WRITE(12,'(10x,''PSQARE "GEV/C"2 '',E14.3)') PSQARE | |
419 | c WRITE(12,'(/10x,''*** CALCULATION DONE IN CM-FRAME ***''/)') | |
420 | ELSE | |
421 | c WRITE(12,'(/10x,''*** CALCULATION DONE IN LAB-FRAME ***''/)') | |
422 | END IF | |
423 | * MOMENTUM PER PARTICLE | |
424 | PZTA = PZTA / FLOAT(MASSTA) | |
425 | PZPR = PZPR / FLOAT(MASSPR) | |
426 | * total initial energy in the N-N cms frame | |
427 | ECMS0=ETA+EPR | |
428 | *----------------------------------------------------------------------- | |
429 | * | |
430 | * Start loop over many runs of different impact parameters | |
431 | * IF MANYB=1, RUN AT A FIXED IMPACT PARAMETER B0, OTHERWISE GENERATE | |
432 | * MINIMUM BIAS EVENTS WITHIN THE IMPACT PARAMETER RANGE OF B_MIN AND B_MAX | |
433 | DO 50000 IMANY=1,MANYB | |
434 | *------------------------------------------------------------------------ | |
435 | * Initialize the impact parameter B | |
436 | if (manyb. gt.1) then | |
437 | 111 BX=1.0-2.0*RANART(NSEED) | |
438 | BY=1.0-2.0*RANART(NSEED) | |
439 | B2=BX*BX+BY*BY | |
440 | IF(B2.GT.1.0) GO TO 111 | |
441 | B=SQRT(B2)*(BM-BI)+BI | |
442 | ELSE | |
443 | B=B0 | |
444 | ENDIF | |
445 | c WRITE(12,'(///10X,''RUN NUMBER:'',I6)') IMANY | |
446 | c WRITE(12,'(//10X,''IMPACT PARAMETER B FOR THIS RUN:'', | |
447 | c & F9.3,'' FM''/10X,49(''*'')/)') B | |
448 | * | |
449 | *----------------------------------------------------------------------- | |
450 | * INITIALIZATION | |
451 | *1 INITIALIZATION IN ISOSPIN SPACE FOR BOTH THE PROJECTILE AND TARGET | |
452 | call coulin(masspr,massta,NUM) | |
453 | *2 INITIALIZATION IN PHASE SPACE FOR THE TARGET | |
454 | CALL INIT(1 ,MASSTA ,NUM ,RADTA, | |
455 | & B/2. ,ZEROPT+ZDIST/2. ,PZTA, | |
456 | & GAMMTA ,ISEED ,MASS ,IMOMEN) | |
457 | *3.1 INITIALIZATION IN PHASE SPACE FOR THE PROJECTILE | |
458 | CALL INIT(1+MASSTA,MASS ,NUM ,RADPR, | |
459 | & -B/2. ,ZEROPT-ZDIST/2. ,PZPR, | |
460 | & GAMMPR ,ISEED ,MASS ,IMOMEN) | |
461 | *3.2 OUTPAR IS THE NO. OF ESCAPED PARTICLES | |
462 | OUTPAR = 0 | |
463 | *3.3 INITIALIZATION FOR THE NO. OF PARTICLES IN EACH SAMPLE | |
464 | * THIS IS NEEDED DUE TO THE FACT THAT PIONS CAN BE PRODUCED OR ABSORBED | |
465 | MASSR(0)=0 | |
466 | DO 1003 IR =1,NUM | |
467 | MASSR(IR)=MASS | |
468 | 1003 CONTINUE | |
469 | *3.4 INITIALIZation FOR THE KAON SPECTRUM | |
470 | * CALL KSPEC0(BETAC,GAMMC) | |
471 | * calculate the local baryon density matrix | |
472 | CALL DENS(IPOT,MASS,NUM,OUTPAR) | |
473 | * | |
474 | *----------------------------------------------------------------------- | |
475 | * CONTROL PRINTOUT OF INITIAL CONFIGURATION | |
476 | * | |
477 | * WRITE(12,'(''********** INITIAL CONFIGURATION **********''/)') | |
478 | * | |
479 | c print out the INITIAL density matrix in the reaction plane | |
480 | c do ix=-10,10 | |
481 | c do iz=-10,10 | |
482 | c write(1053,992)ix,iz,rho(ix,0,iz)/0.168 | |
483 | c end do | |
484 | c end do | |
485 | *----------------------------------------------------------------------- | |
486 | * CALCULATE MOMENTA FOR T = 0.5 * DT | |
487 | * (TO OBTAIN 2ND DEGREE ACCURACY!) | |
488 | * "Reference: J. AICHELIN ET AL., PHYS. REV. C31, 1730 (1985)" | |
489 | * | |
490 | IF (ICOLL .NE. -1) THEN | |
491 | DO 700 I = 1,NTOTAL | |
492 | IX = NINT( R(1,I) ) | |
493 | IY = NINT( R(2,I) ) | |
494 | IZ = NINT( R(3,I) ) | |
495 | clin-4/2008 check bounds: | |
496 | IF(IX.GE.MAXX.OR.IY.GE.MAXX.OR.IZ.GE.MAXZ | |
497 | 1 .OR.IX.LE.-MAXX.OR.IY.LE.-MAXX.OR.IZ.LE.-MAXZ) goto 700 | |
498 | CALL GRADU(IPOT,IX,IY,IZ,GRADX,GRADY,GRADZ) | |
499 | P(1,I) = P(1,I) - (0.5 * DT) * GRADX | |
500 | P(2,I) = P(2,I) - (0.5 * DT) * GRADY | |
501 | P(3,I) = P(3,I) - (0.5 * DT) * GRADZ | |
502 | 700 CONTINUE | |
503 | END IF | |
504 | *----------------------------------------------------------------------- | |
505 | *----------------------------------------------------------------------- | |
506 | *4 INITIALIZATION OF TIME-LOOP VARIABLES | |
507 | *4.1 COLLISION NUMBER COUNTERS | |
508 | clin 51 RCNNE = 0 | |
509 | RCNNE = 0 | |
510 | RDD = 0 | |
511 | RPP = 0 | |
512 | rppk = 0 | |
513 | RPN = 0 | |
514 | rpd = 0 | |
515 | RKN = 0 | |
516 | RNNK = 0 | |
517 | RDDK = 0 | |
518 | RNDK = 0 | |
519 | RCNND = 0 | |
520 | RCNDN = 0 | |
521 | RCOLL = 0 | |
522 | RBLOC = 0 | |
523 | RDIRT = 0 | |
524 | RDECAY = 0 | |
525 | RRES = 0 | |
526 | *4.11 KAON PRODUCTION PROBABILITY COUNTER FOR PERTURBATIVE CALCULATIONS ONLY | |
527 | DO 1005 KKK=1,5 | |
528 | SKAON(KKK) = 0 | |
529 | DO 1004 IS=1,2000 | |
530 | SEKAON(KKK,IS)=0 | |
531 | 1004 CONTINUE | |
532 | 1005 CONTINUE | |
533 | *4.12 anti-proton and anti-kaon counters | |
534 | pr0=0. | |
535 | pr1=0. | |
536 | ska0=0. | |
537 | ska1=0. | |
538 | * ============== LOOP OVER ALL TIME STEPS ================ * | |
539 | * STARTS HERE * | |
540 | * ======================================================== * | |
541 | cbz11/16/98 | |
542 | IF (IAPAR2(1) .NE. 1) THEN | |
543 | DO 1016 I = 1, MAXSTR | |
544 | DO 1015 J = 1, 3 | |
545 | R(J, I) = 0. | |
546 | P(J, I) = 0. | |
547 | 1015 CONTINUE | |
548 | E(I) = 0. | |
549 | LB(I) = 0 | |
550 | cbz3/25/00 | |
551 | ID(I)=0 | |
552 | c sp 12/19/00 | |
553 | PROPER(I) = 1. | |
554 | 1016 CONTINUE | |
555 | MASS = 0 | |
556 | cbz12/22/98 | |
557 | c MASSR(1) = 0 | |
558 | c NP = 0 | |
559 | c NPI = 1 | |
560 | NP = 0 | |
561 | DO 1017 J = 1, NUM | |
562 | MASSR(J) = 0 | |
563 | NPI(J) = 1 | |
564 | 1017 CONTINUE | |
565 | DO 1019 I = 1, MAXR | |
566 | DO 1018 J = 1, MAXSTR | |
567 | RT(1, J, I) = 0. | |
568 | RT(2, J, I) = 0. | |
569 | RT(3, J, I) = 0. | |
570 | PT(1, J, I) = 0. | |
571 | PT(2, J, I) = 0. | |
572 | PT(3, J, I) = 0. | |
573 | ET(J, I) = 0. | |
574 | LT(J, I) = 0 | |
575 | c sp 12/19/00 | |
576 | PROT(J, I) = 1. | |
577 | 1018 CONTINUE | |
578 | 1019 CONTINUE | |
579 | cbz12/22/98end | |
580 | END IF | |
581 | cbz11/16/98end | |
582 | ||
583 | DO 10000 NT = 1,NTMAX | |
584 | ||
585 | *TEMPORARY PARTICLE COUNTERS | |
586 | *4.2 PION COUNTERS : LP1,LP2 AND LP3 ARE THE NO. OF P+,P0 AND P- | |
587 | LP1=0 | |
588 | LP2=0 | |
589 | LP3=0 | |
590 | *4.3 DELTA COUNTERS : LD1,LD2,LD3 AND LD4 ARE THE NO. OF D++,D+,D0 AND D- | |
591 | LD1=0 | |
592 | LD2=0 | |
593 | LD3=0 | |
594 | LD4=0 | |
595 | *4.4 N*(1440) COUNTERS : LN1 AND LN2 ARE THE NO. OF N*+ AND N*0 | |
596 | LN1=0 | |
597 | LN2=0 | |
598 | *4.5 N*(1535) counters | |
599 | LN5=0 | |
600 | *4.6 ETA COUNTERS | |
601 | LE=0 | |
602 | *4.7 KAON COUNTERS | |
603 | LKAON=0 | |
604 | ||
605 | clin-11/09/00: | |
606 | * KAON* COUNTERS | |
607 | LKAONS=0 | |
608 | ||
609 | *----------------------------------------------------------------------- | |
610 | IF (ICOLL .NE. 1) THEN | |
611 | * STUDYING BINARY COLLISIONS AMONG PARTICLES DURING THIS TIME INTERVAL * | |
612 | clin-10/25/02 get rid of argument usage mismatch in relcol(.nt.): | |
613 | numnt=nt | |
614 | CALL RELCOL(LCOLL,LBLOC,LCNNE,LDD,LPP,lppk, | |
615 | & LPN,lpd,LRHO,LOMEGA,LKN,LNNK,LDDK,LNDK,LCNND, | |
616 | & LCNDN,LDIRT,LDECAY,LRES,LDOU,LDDRHO,LNNRHO, | |
617 | & LNNOM,numnt,ntmax,sp,akaon,sk) | |
618 | c & LNNOM,NT,ntmax,sp,akaon,sk) | |
619 | clin-10/25/02-end | |
620 | *----------------------------------------------------------------------- | |
621 | ||
622 | c dilepton production from Dalitz decay | |
623 | c of pi0 at final time | |
624 | * if(nt .eq. ntmax) call dalitz_pi(nt,ntmax) | |
625 | * * | |
626 | ********************************** | |
627 | * Lables of collision channels * | |
628 | ********************************** | |
629 | * LCOLL - NUMBER OF COLLISIONS (INTEGER,OUTPUT) * | |
630 | * LBLOC - NUMBER OF PULI-BLOCKED COLLISIONS (INTEGER,OUTPUT) * | |
631 | * LCNNE - NUMBER OF ELASTIC COLLISION (INTEGER,OUTPUT) * | |
632 | * LCNND - NUMBER OF N+N->N+DELTA REACTION (INTEGER,OUTPUT) * | |
633 | * LCNDN - NUMBER OF N+DELTA->N+N REACTION (INTEGER,OUTPUT) * | |
634 | * LDD - NUMBER OF RESONANCE+RESONANCE COLLISIONS | |
635 | * LPP - NUMBER OF PION+PION elastic COLIISIONS | |
636 | * lppk - number of pion(RHO,OMEGA)+pion(RHO,OMEGA) | |
637 | * -->K+K- collisions | |
638 | * LPN - NUMBER OF PION+N-->KAON+X | |
639 | * lpd - number of pion+n-->delta+pion | |
640 | * lrho - number of pion+n-->Delta+rho | |
641 | * lomega - number of pion+n-->Delta+omega | |
642 | * LKN - NUMBER OF KAON RESCATTERINGS | |
643 | * LNNK - NUMBER OF bb-->kAON PROCESS | |
644 | * LDDK - NUMBER OF DD-->KAON PROCESS | |
645 | * LNDK - NUMBER OF ND-->KAON PROCESS | |
646 | *********************************** | |
647 | * TIME-INTEGRATED COLLISIONS NUMBERS OF VARIOUS PROCESSES | |
648 | RCOLL = RCOLL + FLOAT(LCOLL)/num | |
649 | RBLOC = RBLOC + FLOAT(LBLOC)/num | |
650 | RCNNE = RCNNE + FLOAT(LCNNE)/num | |
651 | RDD = RDD + FLOAT(LDD)/num | |
652 | RPP = RPP + FLOAT(LPP)/NUM | |
653 | rppk =rppk + float(lppk)/num | |
654 | RPN = RPN + FLOAT(LPN)/NUM | |
655 | rpd =rpd + float(lpd)/num | |
656 | RKN = RKN + FLOAT(LKN)/NUM | |
657 | RNNK =RNNK + FLOAT(LNNK)/NUM | |
658 | RDDK =RDDK + FLOAT(LDDK)/NUM | |
659 | RNDK =RNDK + FLOAT(LNDK)/NUM | |
660 | RCNND = RCNND + FLOAT(LCNND)/num | |
661 | RCNDN = RCNDN + FLOAT(LCNDN)/num | |
662 | RDIRT = RDIRT + FLOAT(LDIRT)/num | |
663 | RDECAY= RDECAY+ FLOAT(LDECAY)/num | |
664 | RRES = RRES + FLOAT(LRES)/num | |
665 | * AVERAGE RATES OF VARIOUS COLLISIONS IN THE CURRENT TIME STEP | |
666 | ADIRT=LDIRT/DT/num | |
667 | ACOLL=(LCOLL-LBLOC)/DT/num | |
668 | ACNND=LCNND/DT/num | |
669 | ACNDN=LCNDN/DT/num | |
670 | ADECAY=LDECAY/DT/num | |
671 | ARES=LRES/DT/num | |
672 | ADOU=LDOU/DT/NUM | |
673 | ADDRHO=LDDRHO/DT/NUM | |
674 | ANNRHO=LNNRHO/DT/NUM | |
675 | ANNOM=LNNOM/DT/NUM | |
676 | ADD=LDD/DT/num | |
677 | APP=LPP/DT/num | |
678 | appk=lppk/dt/num | |
679 | APN=LPN/DT/num | |
680 | apd=lpd/dt/num | |
681 | arh=lrho/dt/num | |
682 | aom=lomega/dt/num | |
683 | AKN=LKN/DT/num | |
684 | ANNK=LNNK/DT/num | |
685 | ADDK=LDDK/DT/num | |
686 | ANDK=LNDK/DT/num | |
687 | * PRINT OUT THE VARIOUS COLLISION RATES | |
688 | * (1)N-N COLLISIONS | |
689 | c WRITE(1010,9991)NT*DT,ACNND,ADOU,ADIRT,ADDRHO,ANNRHO+ANNOM | |
690 | c9991 FORMAT(6(E10.3,2X)) | |
691 | * (2)PION-N COLLISIONS | |
692 | c WRITE(1011,'(5(E10.3,2X))')NT*DT,apd,ARH,AOM,APN | |
693 | * (3)KAON PRODUCTION CHANNELS | |
694 | c WRITE(1012,9993)NT*DT,ANNK,ADDK,ANDK,APN,Appk | |
695 | * (4)D(N*)+D(N*) COLLISION | |
696 | c WRITE(1013,'(4(E10.3,2X))')NT*DT,ADDK,ADD,ADD+ADDK | |
697 | * (5)MESON+MESON | |
698 | c WRITE(1014,'(4(E10.3,2X))')NT*DT,APPK,APP,APP+APPK | |
699 | * (6)DECAY AND RESONANCE | |
700 | c WRITE(1016,'(3(E10.3,2X))')NT*DT,ARES,ADECAY | |
701 | * (7)N+D(N*) | |
702 | c WRITE(1017,'(4(E10.3,2X))')NT*DT,ACNDN,ANDK,ACNDN+ANDK | |
703 | c9992 FORMAT(5(E10.3,2X)) | |
704 | c9993 FORMAT(6(E10.3,2X)) | |
705 | * PRINT OUT TIME-INTEGRATED COLLISION INFORMATION | |
706 | cbz12/28/98 | |
707 | c write(1018,'(5(e10.3,2x),/, 4(e10.3,2x))') | |
708 | c & RCNNE,RCNND,RCNDN,RDIRT,rpd, | |
709 | c & RDECAY,RRES,RDD,RPP | |
710 | c write(1018,'(6(e10.3,2x),/, 5(e10.3,2x))') | |
711 | c & NT*DT,RCNNE,RCNND,RCNDN,RDIRT,rpd, | |
712 | c & NT*DT,RDECAY,RRES,RDD,RPP | |
713 | cbz12/18/98end | |
714 | * PRINT OUT TIME-INTEGRATED KAON MULTIPLICITIES FROM DIFFERENT CHANNELS | |
715 | c WRITE(1019,'(7(E10.3,2X))')NT*DT,RNNK,RDDK,RNDK,RPN,Rppk, | |
716 | c & RNNK+RDDK+RNDK+RPN+Rppk | |
717 | * * | |
718 | ||
719 | END IF | |
720 | * | |
721 | * UPDATE BARYON DENSITY | |
722 | * | |
723 | CALL DENS(IPOT,MASS,NUM,OUTPAR) | |
724 | * | |
725 | * UPDATE POSITIONS FOR ALL THE PARTICLES PRESENT AT THIS TIME | |
726 | * | |
727 | sumene=0 | |
728 | ISO=0 | |
729 | DO 201 MRUN=1,NUM | |
730 | ISO=ISO+MASSR(MRUN-1) | |
731 | DO 201 I0=1,MASSR(MRUN) | |
732 | I =I0+ISO | |
733 | ETOTAL = SQRT( E(I)**2 + P(1,I)**2 + P(2,I)**2 +P(3,I)**2 ) | |
734 | sumene=sumene+etotal | |
735 | C for kaons, if there is a potential | |
736 | C CALCULATE THE ENERGY OF THE KAON ACCORDING TO THE IMPULSE APPROXIMATION | |
737 | C REFERENCE: B.A. LI AND C.M. KO, PHYS. REV. C 54 (1996) 3283. | |
738 | if(kpoten.ne.0.and.lb(i).eq.23)then | |
739 | den=0. | |
740 | IX = NINT( R(1,I) ) | |
741 | IY = NINT( R(2,I) ) | |
742 | IZ = NINT( R(3,I) ) | |
743 | clin-4/2008: | |
744 | c IF (ABS(IX) .LT. MAXX .AND. ABS(IY) .LT. MAXX .AND. | |
745 | c & ABS(IZ) .LT. MAXZ) den=rho(ix,iy,iz) | |
746 | IF(IX.LT.MAXX.AND.IY.LT.MAXX.AND.IZ.LT.MAXZ | |
747 | 1 .AND.IX.GT.-MAXX.AND.IY.GT.-MAXX.AND.IZ.GT.-MAXZ) | |
748 | 2 den=rho(ix,iy,iz) | |
749 | c ecor=0.1973**2*0.255*kmul*4*3.14159*(1.+0.4396/0.938) | |
750 | c etotal=sqrt(etotal**2+ecor*den) | |
751 | c** G.Q Li potential form with n_s = n_b and pot(n_0)=29 MeV, m^*=m | |
752 | c GeV^2 fm^3 | |
753 | akg = 0.1727 | |
754 | c GeV fm^3 | |
755 | bkg = 0.333 | |
756 | rnsg = den | |
757 | ecor = - akg*rnsg + (bkg*den)**2 | |
758 | etotal = sqrt(etotal**2 + ecor) | |
759 | endif | |
760 | c | |
761 | if(kpoten.ne.0.and.lb(i).eq.21)then | |
762 | den=0. | |
763 | IX = NINT( R(1,I) ) | |
764 | IY = NINT( R(2,I) ) | |
765 | IZ = NINT( R(3,I) ) | |
766 | clin-4/2008: | |
767 | c IF (ABS(IX) .LT. MAXX .AND. ABS(IY) .LT. MAXX .AND. | |
768 | c & ABS(IZ) .LT. MAXZ) den=rho(ix,iy,iz) | |
769 | IF(IX.LT.MAXX.AND.IY.LT.MAXX.AND.IZ.LT.MAXZ | |
770 | 1 .AND.IX.GT.-MAXX.AND.IY.GT.-MAXX.AND.IZ.GT.-MAXZ) | |
771 | 2 den=rho(ix,iy,iz) | |
772 | c* for song potential no effect on position | |
773 | c** G.Q Li potential form with n_s = n_b and pot(n_0)=29 MeV, m^*=m | |
774 | c GeV^2 fm^3 | |
775 | akg = 0.1727 | |
776 | c GeV fm^3 | |
777 | bkg = 0.333 | |
778 | rnsg = den | |
779 | ecor = - akg*rnsg + (bkg*den)**2 | |
780 | etotal = sqrt(etotal**2 + ecor) | |
781 | endif | |
782 | c | |
783 | C UPDATE POSITIONS | |
784 | R(1,I) = R(1,I) + DT*P(1,I)/ETOTAL | |
785 | R(2,I) = R(2,I) + DT*P(2,I)/ETOTAL | |
786 | R(3,I) = R(3,I) + DT*P(3,I)/ETOTAL | |
787 | c use cyclic boundary conitions | |
788 | if ( cycbox.ne.0 ) then | |
789 | if ( r(1,i).gt. cycbox/2 ) r(1,i)=r(1,i)-cycbox | |
790 | if ( r(1,i).le.-cycbox/2 ) r(1,i)=r(1,i)+cycbox | |
791 | if ( r(2,i).gt. cycbox/2 ) r(2,i)=r(2,i)-cycbox | |
792 | if ( r(2,i).le.-cycbox/2 ) r(2,i)=r(2,i)+cycbox | |
793 | if ( r(3,i).gt. cycbox/2 ) r(3,i)=r(3,i)-cycbox | |
794 | if ( r(3,i).le.-cycbox/2 ) r(3,i)=r(3,i)+cycbox | |
795 | end if | |
796 | * UPDATE THE DELTA, N* AND PION COUNTERS | |
797 | LB1=LB(I) | |
798 | * 1. FOR DELTA++ | |
799 | IF(LB1.EQ.9)LD1=LD1+1 | |
800 | * 2. FOR DELTA+ | |
801 | IF(LB1.EQ.8)LD2=LD2+1 | |
802 | * 3. FOR DELTA0 | |
803 | IF(LB1.EQ.7)LD3=LD3+1 | |
804 | * 4. FOR DELTA- | |
805 | IF(LB1.EQ.6)LD4=LD4+1 | |
806 | * 5. FOR N*+(1440) | |
807 | IF(LB1.EQ.11)LN1=LN1+1 | |
808 | * 6. FOR N*0(1440) | |
809 | IF(LB1.EQ.10)LN2=LN2+1 | |
810 | * 6.1 FOR N*(1535) | |
811 | IF((LB1.EQ.13).OR.(LB1.EQ.12))LN5=LN5+1 | |
812 | * 6.2 FOR ETA | |
813 | IF(LB1.EQ.0)LE=LE+1 | |
814 | * 6.3 FOR KAONS | |
815 | IF(LB1.EQ.23)LKAON=LKAON+1 | |
816 | clin-11/09/00: FOR KAON* | |
817 | IF(LB1.EQ.30)LKAONS=LKAONS+1 | |
818 | ||
819 | * UPDATE PION COUNTER | |
820 | * 7. FOR PION+ | |
821 | IF(LB1.EQ.5)LP1=LP1+1 | |
822 | * 8. FOR PION0 | |
823 | IF(LB1.EQ.4)LP2=LP2+1 | |
824 | * 9. FOR PION- | |
825 | IF(LB1.EQ.3)LP3=LP3+1 | |
826 | 201 CONTINUE | |
827 | LP=LP1+LP2+LP3 | |
828 | LD=LD1+LD2+LD3+LD4 | |
829 | LN=LN1+LN2 | |
830 | ALP=FLOAT(LP)/FLOAT(NUM) | |
831 | ALD=FLOAT(LD)/FLOAT(NUM) | |
832 | ALN=FLOAT(LN)/FLOAT(NUM) | |
833 | ALN5=FLOAT(LN5)/FLOAT(NUM) | |
834 | ATOTAL=ALP+ALD+ALN+0.5*ALN5 | |
835 | ALE=FLOAT(LE)/FLOAT(NUM) | |
836 | ALKAON=FLOAT(LKAON)/FLOAT(NUM) | |
837 | * UPDATE MOMENTUM DUE TO COULOMB INTERACTION | |
838 | if (icou .eq. 1) then | |
839 | * with Coulomb interaction | |
840 | iso=0 | |
841 | do 1026 irun = 1,num | |
842 | iso=iso+massr(irun-1) | |
843 | do 1021 il = 1,massr(irun) | |
844 | temp(1,il) = 0. | |
845 | temp(2,il) = 0. | |
846 | temp(3,il) = 0. | |
847 | 1021 continue | |
848 | do 1023 il = 1, massr(irun) | |
849 | i=iso+il | |
850 | if (zet(lb(i)).ne.0) then | |
851 | do 1022 jl = 1,il-1 | |
852 | j=iso+jl | |
853 | if (zet(lb(j)).ne.0) then | |
854 | ddx=r(1,i)-r(1,j) | |
855 | ddy=r(2,i)-r(2,j) | |
856 | ddz=r(3,i)-r(3,j) | |
857 | rdiff = sqrt(ddx**2+ddy**2+ddz**2) | |
858 | if (rdiff .le. 1.) rdiff = 1. | |
859 | grp=zet(lb(i))*zet(lb(j))/rdiff**3 | |
860 | ddx=ddx*grp | |
861 | ddy=ddy*grp | |
862 | ddz=ddz*grp | |
863 | temp(1,il)=temp(1,il)+ddx | |
864 | temp(2,il)=temp(2,il)+ddy | |
865 | temp(3,il)=temp(3,il)+ddz | |
866 | temp(1,jl)=temp(1,jl)-ddx | |
867 | temp(2,jl)=temp(2,jl)-ddy | |
868 | temp(3,jl)=temp(3,jl)-ddz | |
869 | end if | |
870 | 1022 continue | |
871 | end if | |
872 | 1023 continue | |
873 | do 1025 il = 1,massr(irun) | |
874 | i= iso+il | |
875 | if (zet(lb(i)).ne.0) then | |
876 | do 1024 idir = 1,3 | |
877 | p(idir,i) = p(idir,i) + temp(idir,il) | |
878 | & * dt * 0.00144 | |
879 | 1024 continue | |
880 | end if | |
881 | 1025 continue | |
882 | 1026 continue | |
883 | end if | |
884 | * In the following, we shall: | |
885 | * (1) UPDATE MOMENTA DUE TO THE MEAN FIELD FOR BARYONS AND KAONS, | |
886 | * (2) calculate the thermalization, temperature in a sphere of | |
887 | * radius 2.0 fm AROUND THE CM | |
888 | * (3) AND CALCULATE THE NUMBER OF PARTICLES IN THE HIGH DENSITY REGION | |
889 | spt=0 | |
890 | spz=0 | |
891 | ncen=0 | |
892 | ekin=0 | |
893 | NLOST = 0 | |
894 | MEAN=0 | |
895 | nquark=0 | |
896 | nbaryn=0 | |
897 | csp06/18/01 | |
898 | rads = 2. | |
899 | zras = 0.1 | |
900 | denst = 0. | |
901 | edenst = 0. | |
902 | csp06/18/01 end | |
903 | DO 6000 IRUN = 1,NUM | |
904 | MEAN=MEAN+MASSR(IRUN-1) | |
905 | DO 5800 J = 1,MASSR(irun) | |
906 | I=J+MEAN | |
907 | c | |
908 | csp06/18/01 | |
909 | radut = sqrt(r(1,i)**2+r(2,i)**2) | |
910 | if( radut .le. rads )then | |
911 | if( abs(r(3,i)) .le. zras*nt*dt )then | |
912 | c vols = 3.14159*radut**2*abs(r(3,i)) ! cylinder pi*r^2*l | |
913 | c cylinder pi*r^2*l | |
914 | vols = 3.14159*rads**2*zras | |
915 | engs=sqrt(p(1,i)**2+p(2,i)**2+p(3,i)**2+e(i)**2) | |
916 | gammas=1. | |
917 | if(e(i).ne.0.)gammas=engs/e(i) | |
918 | c rho | |
919 | denst = denst + 1./gammas/vols | |
920 | c energy density | |
921 | edenst = edenst + engs/gammas/gammas/vols | |
922 | endif | |
923 | endif | |
924 | csp06/18/01 end | |
925 | c | |
926 | drr=sqrt(r(1,i)**2+r(2,i)**2+r(3,i)**2) | |
927 | if(drr.le.2.0)then | |
928 | spt=spt+p(1,i)**2+p(2,i)**2 | |
929 | spz=spz+p(3,i)**2 | |
930 | ncen=ncen+1 | |
931 | ekin=ekin+sqrt(p(1,i)**2+p(2,i)**2+p(3,i)**2+e(i)**2)-e(i) | |
932 | endif | |
933 | IX = NINT( R(1,I) ) | |
934 | IY = NINT( R(2,I) ) | |
935 | IZ = NINT( R(3,I) ) | |
936 | C calculate the No. of particles in the high density region | |
937 | clin-4/2008: | |
938 | c IF (ABS(IX) .LT. MAXX .AND. ABS(IY) .LT. MAXX .AND. | |
939 | c & ABS(IZ) .LT. MAXZ) THEN | |
940 | IF(IX.LT.MAXX.AND.IY.LT.MAXX.AND.IZ.LT.MAXZ | |
941 | 1 .AND.IX.GT.-MAXX.AND.IY.GT.-MAXX.AND.IZ.GT.-MAXZ) THEN | |
942 | if(rho(ix,iy,iz)/0.168.gt.dencut)go to 5800 | |
943 | if((rho(ix,iy,iz)/0.168.gt.5.).and.(e(i).gt.0.9)) | |
944 | & nbaryn=nbaryn+1 | |
945 | if(pel(ix,iy,iz).gt.2.0)nquark=nquark+1 | |
946 | endif | |
947 | c* | |
948 | c If there is a kaon potential, propogating kaons | |
949 | if(kpoten.ne.0.and.lb(i).eq.23)then | |
950 | den=0. | |
951 | clin-4/2008: | |
952 | c IF (ABS(IX) .LT. MAXX .AND. ABS(IY) .LT. MAXX .AND. | |
953 | c & ABS(IZ) .LT. MAXZ)then | |
954 | IF(IX.LT.MAXX.AND.IY.LT.MAXX.AND.IZ.LT.MAXZ | |
955 | 1 .AND.IX.GT.-MAXX.AND.IY.GT.-MAXX.AND.IZ.GT.-MAXZ) THEN | |
956 | den=rho(ix,iy,iz) | |
957 | c ecor=0.1973**2*0.255*kmul*4*3.14159*(1.+0.4396/0.938) | |
958 | c etotal=sqrt(P(1,i)**2+p(2,I)**2+p(3,i)**2+e(i)**2+ecor*den) | |
959 | c** for G.Q Li potential form with n_s = n_b and pot(n_0)=29 MeV | |
960 | c !! GeV^2 fm^3 | |
961 | akg = 0.1727 | |
962 | c !! GeV fm^3 | |
963 | bkg = 0.333 | |
964 | rnsg = den | |
965 | ecor = - akg*rnsg + (bkg*den)**2 | |
966 | etotal = sqrt(P(1,i)**2+p(2,I)**2+p(3,i)**2+e(i)**2 + ecor) | |
967 | ecor = - akg + 2.*bkg**2*den + 2.*bkg*etotal | |
968 | c** G.Q. Li potential (END) | |
969 | CALL GRADUK(IX,IY,IZ,GRADXk,GRADYk,GRADZk) | |
970 | P(1,I) = P(1,I) - DT * GRADXk*ecor/(2.*etotal) | |
971 | P(2,I) = P(2,I) - DT * GRADYk*ecor/(2.*etotal) | |
972 | P(3,I) = P(3,I) - DT * GRADZk*ecor/(2.*etotal) | |
973 | endif | |
974 | endif | |
975 | c | |
976 | if(kpoten.ne.0.and.lb(i).eq.21)then | |
977 | den=0. | |
978 | clin-4/2008: | |
979 | c IF (ABS(IX) .LT. MAXX .AND. ABS(IY) .LT. MAXX .AND. | |
980 | c & ABS(IZ) .LT. MAXZ)then | |
981 | IF(IX.LT.MAXX.AND.IY.LT.MAXX.AND.IZ.LT.MAXZ | |
982 | 1 .AND.IX.GT.-MAXX.AND.IY.GT.-MAXX.AND.IZ.GT.-MAXZ) THEN | |
983 | den=rho(ix,iy,iz) | |
984 | CALL GRADUK(IX,IY,IZ,GRADXk,GRADYk,GRADZk) | |
985 | c P(1,I) = P(1,I) - DT * GRADXk*(-0.12/0.168) !! song potential | |
986 | c P(2,I) = P(2,I) - DT * GRADYk*(-0.12/0.168) | |
987 | c P(3,I) = P(3,I) - DT * GRADZk*(-0.12/0.168) | |
988 | c** for G.Q Li potential form with n_s = n_b and pot(n_0)=29 MeV | |
989 | c !! GeV^2 fm^3 | |
990 | akg = 0.1727 | |
991 | c !! GeV fm^3 | |
992 | bkg = 0.333 | |
993 | rnsg = den | |
994 | ecor = - akg*rnsg + (bkg*den)**2 | |
995 | etotal = sqrt(P(1,i)**2+p(2,I)**2+p(3,i)**2+e(i)**2 + ecor) | |
996 | ecor = - akg + 2.*bkg**2*den - 2.*bkg*etotal | |
997 | P(1,I) = P(1,I) - DT * GRADXk*ecor/(2.*etotal) | |
998 | P(2,I) = P(2,I) - DT * GRADYk*ecor/(2.*etotal) | |
999 | P(3,I) = P(3,I) - DT * GRADZk*ecor/(2.*etotal) | |
1000 | c** G.Q. Li potential (END) | |
1001 | endif | |
1002 | endif | |
1003 | c | |
1004 | c for other mesons, there is no potential | |
1005 | if(j.gt.mass)go to 5800 | |
1006 | c with mean field interaction for baryons (open endif below) !!sp05 | |
1007 | ** if( (iabs(lb(i)).eq.1.or.iabs(lb(i)).eq.2) .or. | |
1008 | ** & (iabs(lb(i)).ge.6.and.iabs(lb(i)).le.17) .or. | |
1009 | ** & iabs(lb(i)).eq.40.or.iabs(lb(i)).eq.41 )then | |
1010 | IF (ICOLL .NE. -1) THEN | |
1011 | * check if the baryon has run off the lattice | |
1012 | * IX0=NINT(R(1,I)/DX) | |
1013 | * IY0=NINT(R(2,I)/DY) | |
1014 | * IZ0=NINT(R(3,I)/DZ) | |
1015 | * IPX0=NINT(P(1,I)/DPX) | |
1016 | * IPY0=NINT(P(2,I)/DPY) | |
1017 | * IPZ0=NINT(P(3,I)/DPZ) | |
1018 | * if ( (abs(ix0).gt.mx) .or. (abs(iy0).gt.my) .or. (abs(iz0).gt.mz) | |
1019 | * & .or. (abs(ipx0).gt.mpx) .or. (abs(ipy0) | |
1020 | * & .or. (ipz0.lt.-mpz) .or. (ipz0.gt.mpzp)) NLOST=NLOST+1 | |
1021 | clin-4/2008: | |
1022 | c IF (ABS(IX) .LT. MAXX .AND. ABS(IY) .LT. MAXX .AND. | |
1023 | c & ABS(IZ) .LT. MAXZ ) THEN | |
1024 | IF(IX.LT.MAXX.AND.IY.LT.MAXX.AND.IZ.LT.MAXZ | |
1025 | 1 .AND.IX.GT.-MAXX.AND.IY.GT.-MAXX.AND.IZ.GT.-MAXZ) THEN | |
1026 | CALL GRADU(IPOT,IX,IY,IZ,GRADX,GRADY,GRADZ) | |
1027 | TZ=0. | |
1028 | GRADXN=0 | |
1029 | GRADYN=0 | |
1030 | GRADZN=0 | |
1031 | GRADXP=0 | |
1032 | GRADYP=0 | |
1033 | GRADZP=0 | |
1034 | IF(ICOU.EQ.1)THEN | |
1035 | CALL GRADUP(IX,IY,IZ,GRADXP,GRADYP,GRADZP) | |
1036 | CALL GRADUN(IX,IY,IZ,GRADXN,GRADYN,GRADZN) | |
1037 | IF(ZET(LB(I)).NE.0)TZ=-1 | |
1038 | IF(ZET(LB(I)).EQ.0)TZ= 1 | |
1039 | END IF | |
1040 | if(iabs(lb(i)).ge.14.and.iabs(lb(i)).le.17)then | |
1041 | facl = 2./3. | |
1042 | elseif(iabs(lb(i)).eq.40.or.iabs(lb(i)).eq.41)then | |
1043 | facl = 1./3. | |
1044 | else | |
1045 | facl = 1. | |
1046 | endif | |
1047 | P(1,I) = P(1,I) - facl*DT * (GRADX+asy*(GRADXN-GRADXP)*TZ) | |
1048 | P(2,I) = P(2,I) - facl*DT * (GRADY+asy*(GRADYN-GRADYP)*TZ) | |
1049 | P(3,I) = P(3,I) - facl*DT * (GRADZ+asy*(GRADZN-GRADZP)*TZ) | |
1050 | end if | |
1051 | ENDIF | |
1052 | ** endif !!sp05 | |
1053 | 5800 CONTINUE | |
1054 | 6000 CONTINUE | |
1055 | c print out the average no. of particles in regions where the local | |
1056 | c baryon density is higher than 5*rho0 | |
1057 | c write(1072,'(e10.3,2x,e10.3)')nt*dt,float(nbaryn)/float(num) | |
1058 | C print out the average no. of particles in regions where the local | |
1059 | c energy density is higher than 2 GeV/fm^3. | |
1060 | c write(1073,'(e10.3,2x,e10.3)')nt*dt,float(nquark)/float(num) | |
1061 | c print out the no. of particles that have run off the lattice | |
1062 | * IF (NLOST .NE. 0 .AND. (NT/NFREQ)*NFREQ .EQ. NT) THEN | |
1063 | * WRITE(12,'(5X,''***'',I7,'' TESTPARTICLES LOST AFTER '', | |
1064 | * & ''TIME STEP NUMBER'',I4)') NLOST, NT | |
1065 | * END IF | |
1066 | * | |
1067 | * update phase space density | |
1068 | * call platin(mode,mass,num,dx,dy,dz,dpx,dpy,dpz,fnorm) | |
1069 | * | |
1070 | * CONTROL-PRINTOUT OF CONFIGURATION (IF REQUIRED) | |
1071 | * | |
1072 | * if (inout(5) .eq. 2) CALL ENERGY(NT,IPOT,NUM,MASS,EMIN,EMAX) | |
1073 | * | |
1074 | * | |
1075 | * print out central baryon density as a function of time | |
1076 | CDEN=RHO(0,0,0)/0.168 | |
1077 | cc WRITE(1002,990)FLOAT(NT)*DT,CDEN | |
1078 | c WRITE(1002,1990)FLOAT(NT)*DT,CDEN,denst/real(num) | |
1079 | * print out the central energy density as a function of time | |
1080 | cc WRITE(1003,990)FLOAT(NT)*DT,PEL(0,0,0) | |
1081 | c WRITE(1003,1990)FLOAT(NT)*DT,PEL(0,0,0),edenst/real(num) | |
1082 | * print out the no. of pion-like particles as a function of time | |
1083 | c WRITE(1004,9999)FLOAT(NT)*DT,ALD,ALN,ALP,ALN5, | |
1084 | c & ALD+ALN+ALP+0.5*ALN5 | |
1085 | * print out the no. of eta-like particles as a function of time | |
1086 | c WRITE(1005,991)FLOAT(NT)*DT,ALN5,ALE,ALE+0.5*ALN5 | |
1087 | c990 FORMAT(E10.3,2X,E10.3) | |
1088 | c1990 FORMAT(E10.3,2X,E10.3,2X,E10.3) | |
1089 | c991 FORMAT(E10.3,2X,E10.3,2X,E10.3,2X,E10.3) | |
1090 | c9999 FORMAT(e10.3,2X,e10.3,2X,E10.3,2X,E10.3,2X, | |
1091 | c 1 E10.3,2X,E10.3) | |
1092 | C THE FOLLOWING OUTPUTS CAN BE TURNED ON/OFF by setting icflow and icrho=0 | |
1093 | c print out the baryon and meson density matrix in the reaction plane | |
1094 | IF ((NT/NFREQ)*NFREQ .EQ. NT ) THEN | |
1095 | if(icflow.eq.1)call flow(nt) | |
1096 | cbz11/18/98 | |
1097 | c if(icrho.ne.1)go to 10000 | |
1098 | c if (icrho .eq. 1) then | |
1099 | cbz11/18/98end | |
1100 | c do ix=-10,10 | |
1101 | c do iz=-10,10 | |
1102 | c write(1053,992)ix,iz,rho(ix,0,iz)/0.168 | |
1103 | c write(1054,992)ix,iz,pirho(ix,0,iz)/0.168 | |
1104 | c write(1055,992)ix,iz,pel(ix,0,iz) | |
1105 | c end do | |
1106 | c end do | |
1107 | cbz11/18/98 | |
1108 | c end if | |
1109 | cbz11/18/98end | |
1110 | c992 format(i3,i3,e11.4) | |
1111 | endif | |
1112 | c print out the ENERGY density matrix in the reaction plane | |
1113 | C CHECK LOCAL MOMENTUM EQUILIBRIUM IN EACH CELL, | |
1114 | C AND PERFORM ON-LINE FLOW ANALYSIS AT A FREQUENCY OF NFREQ | |
1115 | c IF ((NT/NFREQ)*NFREQ .EQ. NT ) THEN | |
1116 | c call flow(nt) | |
1117 | c call equ(ipot,mass,num,outpar) | |
1118 | c do ix=-10,10 | |
1119 | c do iz=-10,10 | |
1120 | c write(1055,992)ix,iz,pel(ix,0,iz) | |
1121 | c write(1056,992)ix,iz,rxy(ix,0,iz) | |
1122 | c end do | |
1123 | c end do | |
1124 | c endif | |
1125 | C calculate the volume of high BARYON AND ENERGY density | |
1126 | C matter as a function of time | |
1127 | c vbrho=0. | |
1128 | c verho=0. | |
1129 | c do ix=-20,20 | |
1130 | c do iy=-20,20 | |
1131 | c do iz=-20,20 | |
1132 | c if(rho(ix,iy,iz)/0.168.gt.5.)vbrho=vbrho+1. | |
1133 | c if(pel(ix,iy,iz).gt.2.)verho=verho+1. | |
1134 | c end do | |
1135 | c end do | |
1136 | c end do | |
1137 | c write(1081,993)dt*nt,vbrho | |
1138 | c write(1082,993)dt*nt,verho | |
1139 | c993 format(e11.4,2x,e11.4) | |
1140 | *----------------------------------------------------------------------- | |
1141 | cbz11/16/98 | |
1142 | c.....for read-in initial conditions produce particles from read-in | |
1143 | c.....common block. | |
1144 | c.....note that this part is only for cascade with number of test particles | |
1145 | c.....NUM = 1. | |
1146 | IF (IAPAR2(1) .NE. 1) THEN | |
1147 | CT = NT * DT | |
1148 | cbz12/22/98 | |
1149 | c NP = MASSR(1) | |
1150 | c DO WHILE (FTAR(NPI) .GT. CT - DT .AND. FTAR(NPI) .LE. CT) | |
1151 | c NP = NP + 1 | |
1152 | c R(1, NP) = GXAR(NPI) + PXAR(NPI) / PEAR(NPI) * (CT - FTAR(NPI)) | |
1153 | c R(2, NP) = GYAR(NPI) + PYAR(NPI) / PEAR(NPI) * (CT - FTAR(NPI)) | |
1154 | c R(3, NP) = GZAR(NPI) + PZAR(NPI) / PEAR(NPI) * (CT - FTAR(NPI)) | |
1155 | c P(1, NP) = PXAR(NPI) | |
1156 | c P(2, NP) = PYAR(NPI) | |
1157 | c P(3, NP) = PZAR(NPI) | |
1158 | c E(NP) = XMAR(NPI) | |
1159 | c LB(NP) = IARFLV(ITYPAR(NPI)) | |
1160 | c NPI = NPI + 1 | |
1161 | c END DO | |
1162 | c MASSR(1) = NP | |
1163 | IA = 0 | |
1164 | DO 1028 IRUN = 1, NUM | |
1165 | DO 1027 IC = 1, MASSR(IRUN) | |
1166 | IE = IA + IC | |
1167 | RT(1, IC, IRUN) = R(1, IE) | |
1168 | RT(2, IC, IRUN) = R(2, IE) | |
1169 | RT(3, IC, IRUN) = R(3, IE) | |
1170 | PT(1, IC, IRUN) = P(1, IE) | |
1171 | PT(2, IC, IRUN) = P(2, IE) | |
1172 | PT(3, IC, IRUN) = P(3, IE) | |
1173 | ET(IC, IRUN) = E(IE) | |
1174 | LT(IC, IRUN) = LB(IE) | |
1175 | c !! sp 12/19/00 | |
1176 | PROT(IC, IRUN) = PROPER(IE) | |
1177 | clin-5/2008: | |
1178 | dpertt(IC, IRUN)=dpertp(IE) | |
1179 | 1027 CONTINUE | |
1180 | NP = MASSR(IRUN) | |
1181 | NP1 = NPI(IRUN) | |
1182 | ||
1183 | cbz10/05/99 | |
1184 | c DO WHILE (FT1(NP1, IRUN) .GT. CT - DT .AND. | |
1185 | c & FT1(NP1, IRUN) .LE. CT) | |
1186 | cbz10/06/99 | |
1187 | c DO WHILE (NPI(IRUN).LE.MULTI1(IRUN).AND. | |
1188 | cbz10/06/99 end | |
1189 | clin-11/13/00 finally read in all unformed particles and do the decays in ART: | |
1190 | c DO WHILE (NP1.LE.MULTI1(IRUN).AND. | |
1191 | c & FT1(NP1, IRUN) .GT. CT - DT .AND. | |
1192 | c & FT1(NP1, IRUN) .LE. CT) | |
1193 | c | |
1194 | ctlong = ct | |
1195 | if(nt .eq. (ntmax-1))then | |
1196 | ctlong = 1.E30 | |
1197 | elseif(nt .eq. ntmax)then | |
1198 | go to 1111 | |
1199 | endif | |
1200 | DO WHILE (NP1.LE.MULTI1(IRUN).AND. | |
1201 | & FT1(NP1, IRUN) .GT. (CT - DT) .AND. | |
1202 | & FT1(NP1, IRUN) .LE. ctlong) | |
1203 | NP = NP + 1 | |
1204 | UDT = (CT - FT1(NP1, IRUN)) / EE1(NP1, IRUN) | |
1205 | clin-10/28/03 since all unformed hadrons at time ct are read in at nt=ntmax-1, | |
1206 | c their positions should not be propagated to time ct: | |
1207 | if(nt.eq.(ntmax-1)) then | |
1208 | ftsvt(NP,IRUN)=FT1(NP1, IRUN) | |
1209 | if(FT1(NP1, IRUN).gt.ct) UDT=0. | |
1210 | endif | |
1211 | RT(1, NP, IRUN) = GX1(NP1, IRUN) + | |
1212 | & PX1(NP1, IRUN) * UDT | |
1213 | RT(2, NP, IRUN) = GY1(NP1, IRUN) + | |
1214 | & PY1(NP1, IRUN) * UDT | |
1215 | RT(3, NP, IRUN) = GZ1(NP1, IRUN) + | |
1216 | & PZ1(NP1, IRUN) * UDT | |
1217 | PT(1, NP, IRUN) = PX1(NP1, IRUN) | |
1218 | PT(2, NP, IRUN) = PY1(NP1, IRUN) | |
1219 | PT(3, NP, IRUN) = PZ1(NP1, IRUN) | |
1220 | ET(NP, IRUN) = XM1(NP1, IRUN) | |
1221 | LT(NP, IRUN) = IARFLV(ITYP1(NP1, IRUN)) | |
1222 | clin-5/2008: | |
1223 | dpertt(NP,IRUN)=dpp1(NP1,IRUN) | |
1224 | clin-4/30/03 ctest off | |
1225 | c record initial phi,K*,Lambda(1520) resonances formed during the timestep: | |
1226 | c if(LT(NP, IRUN).eq.29.or.iabs(LT(NP, IRUN)).eq.30) | |
1227 | c 1 write(17,112) 'formed',LT(NP, IRUN),PX1(NP1, IRUN), | |
1228 | c 2 PY1(NP1, IRUN),PZ1(NP1, IRUN),XM1(NP1, IRUN),nt | |
1229 | c 112 format(a10,1x,I4,4(1x,f9.3),1x,I4) | |
1230 | c | |
1231 | NP1 = NP1 + 1 | |
1232 | c !! sp 12/19/00 | |
1233 | PROT(NP, IRUN) = 1. | |
1234 | END DO | |
1235 | * | |
1236 | 1111 continue | |
1237 | NPI(IRUN) = NP1 | |
1238 | IA = IA + MASSR(IRUN) | |
1239 | MASSR(IRUN) = NP | |
1240 | 1028 CONTINUE | |
1241 | IA = 0 | |
1242 | DO 1030 IRUN = 1, NUM | |
1243 | IA = IA + MASSR(IRUN - 1) | |
1244 | DO 1029 IC = 1, MASSR(IRUN) | |
1245 | IE = IA + IC | |
1246 | R(1, IE) = RT(1, IC, IRUN) | |
1247 | R(2, IE) = RT(2, IC, IRUN) | |
1248 | R(3, IE) = RT(3, IC, IRUN) | |
1249 | P(1, IE) = PT(1, IC, IRUN) | |
1250 | P(2, IE) = PT(2, IC, IRUN) | |
1251 | P(3, IE) = PT(3, IC, IRUN) | |
1252 | E(IE) = ET(IC, IRUN) | |
1253 | LB(IE) = LT(IC, IRUN) | |
1254 | c !! sp 12/19/00 | |
1255 | PROPER(IE) = PROT(IC, IRUN) | |
1256 | if(nt.eq.(ntmax-1)) ftsv(IE)=ftsvt(IC,IRUN) | |
1257 | clin-5/2008: | |
1258 | dpertp(IE)=dpertt(IC, IRUN) | |
1259 | 1029 CONTINUE | |
1260 | clin-3/2009 Moved here to better take care of freezeout spacetime: | |
1261 | call hbtout(MASSR(IRUN),nt,ntmax) | |
1262 | 1030 CONTINUE | |
1263 | cbz12/22/98end | |
1264 | END IF | |
1265 | cbz11/16/98end | |
1266 | ||
1267 | clin-5/2009 ctest off: | |
1268 | c call flowh(ct) | |
1269 | ||
1270 | 10000 continue | |
1271 | ||
1272 | * * | |
1273 | * ============== END OF TIME STEP LOOP ================ * | |
1274 | ||
1275 | ************************************ | |
1276 | * WRITE OUT particle's MOMENTA ,and/OR COORDINATES , | |
1277 | * label and/or their local baryon density in the final state | |
1278 | iss=0 | |
1279 | do 1032 lrun=1,num | |
1280 | iss=iss+massr(lrun-1) | |
1281 | do 1031 l0=1,massr(lrun) | |
1282 | ipart=iss+l0 | |
1283 | 1031 continue | |
1284 | 1032 continue | |
1285 | ||
1286 | cbz11/16/98 | |
1287 | IF (IAPAR2(1) .NE. 1) THEN | |
1288 | cbz12/22/98 | |
1289 | c NSH = MASSR(1) - NPI + 1 | |
1290 | c IAINT2(1) = IAINT2(1) + NSH | |
1291 | c.....to shift the unformed particles to the end of the common block | |
1292 | c IF (NSH .GT. 0) THEN | |
1293 | c IB = IAINT2(1) | |
1294 | c IE = MASSR(1) + 1 | |
1295 | c II = -1 | |
1296 | c ELSE IF (NSH .LT. 0) THEN | |
1297 | c IB = MASSR(1) + 1 | |
1298 | c IE = IAINT2(1) | |
1299 | c II = 1 | |
1300 | c END IF | |
1301 | c IF (NSH .NE. 0) THEN | |
1302 | c DO I = IB, IE, II | |
1303 | c J = I - NSH | |
1304 | c ITYPAR(I) = ITYPAR(J) | |
1305 | c GXAR(I) = GXAR(J) | |
1306 | c GYAR(I) = GYAR(J) | |
1307 | c GZAR(I) = GZAR(J) | |
1308 | c FTAR(I) = FTAR(J) | |
1309 | c PXAR(I) = PXAR(J) | |
1310 | c PYAR(I) = PYAR(J) | |
1311 | c PZAR(I) = PZAR(J) | |
1312 | c PEAR(I) = PEAR(J) | |
1313 | c XMAR(I) = XMAR(J) | |
1314 | c END DO | |
1315 | c END IF | |
1316 | ||
1317 | c.....to copy ART particle info to COMMON /ARPRC/ | |
1318 | c DO I = 1, MASSR(1) | |
1319 | c ITYPAR(I) = INVFLV(LB(I)) | |
1320 | c GXAR(I) = R(1, I) | |
1321 | c GYAR(I) = R(2, I) | |
1322 | c GZAR(I) = R(3, I) | |
1323 | c FTAR(I) = CT | |
1324 | c PXAR(I) = P(1, I) | |
1325 | c PYAR(I) = P(2, I) | |
1326 | c PZAR(I) = P(3, I) | |
1327 | c XMAR(I) = E(I) | |
1328 | c PEAR(I) = SQRT(PXAR(I) ** 2 + PYAR(I) ** 2 + PZAR(I) ** 2 | |
1329 | c & + XMAR(I) ** 2) | |
1330 | c END DO | |
1331 | IA = 0 | |
1332 | DO 1035 IRUN = 1, NUM | |
1333 | IA = IA + MASSR(IRUN - 1) | |
1334 | NP1 = NPI(IRUN) | |
1335 | NSH = MASSR(IRUN) - NP1 + 1 | |
1336 | MULTI1(IRUN) = MULTI1(IRUN) + NSH | |
1337 | c.....to shift the unformed particles to the end of the common block | |
1338 | IF (NSH .GT. 0) THEN | |
1339 | IB = MULTI1(IRUN) | |
1340 | IE = MASSR(IRUN) + 1 | |
1341 | II = -1 | |
1342 | ELSE IF (NSH .LT. 0) THEN | |
1343 | IB = MASSR(IRUN) + 1 | |
1344 | IE = MULTI1(IRUN) | |
1345 | II = 1 | |
1346 | END IF | |
1347 | IF (NSH .NE. 0) THEN | |
1348 | DO 1033 I = IB, IE, II | |
1349 | J = I - NSH | |
1350 | ITYP1(I, IRUN) = ITYP1(J, IRUN) | |
1351 | GX1(I, IRUN) = GX1(J, IRUN) | |
1352 | GY1(I, IRUN) = GY1(J, IRUN) | |
1353 | GZ1(I, IRUN) = GZ1(J, IRUN) | |
1354 | FT1(I, IRUN) = FT1(J, IRUN) | |
1355 | PX1(I, IRUN) = PX1(J, IRUN) | |
1356 | PY1(I, IRUN) = PY1(J, IRUN) | |
1357 | PZ1(I, IRUN) = PZ1(J, IRUN) | |
1358 | EE1(I, IRUN) = EE1(J, IRUN) | |
1359 | XM1(I, IRUN) = XM1(J, IRUN) | |
1360 | c !! sp 12/19/00 | |
1361 | PRO1(I, IRUN) = PRO1(J, IRUN) | |
1362 | clin-5/2008: | |
1363 | dpp1(I,IRUN)=dpp1(J,IRUN) | |
1364 | 1033 CONTINUE | |
1365 | END IF | |
1366 | ||
1367 | c.....to copy ART particle info to COMMON /ARPRC1/ | |
1368 | DO 1034 I = 1, MASSR(IRUN) | |
1369 | IB = IA + I | |
1370 | ITYP1(I, IRUN) = INVFLV(LB(IB)) | |
1371 | GX1(I, IRUN) = R(1, IB) | |
1372 | GY1(I, IRUN) = R(2, IB) | |
1373 | GZ1(I, IRUN) = R(3, IB) | |
1374 | clin-10/28/03: | |
1375 | c since all unformed hadrons at time ct are read in at nt=ntmax-1, | |
1376 | c their formation time ft1 should be kept to determine their freezeout(x,t): | |
1377 | c FT1(I, IRUN) = CT | |
1378 | if(FT1(I, IRUN).lt.CT) FT1(I, IRUN) = CT | |
1379 | PX1(I, IRUN) = P(1, IB) | |
1380 | PY1(I, IRUN) = P(2, IB) | |
1381 | PZ1(I, IRUN) = P(3, IB) | |
1382 | XM1(I, IRUN) = E(IB) | |
1383 | EE1(I, IRUN) = SQRT(PX1(I, IRUN) ** 2 + | |
1384 | & PY1(I, IRUN) ** 2 + | |
1385 | & PZ1(I, IRUN) ** 2 + | |
1386 | & XM1(I, IRUN) ** 2) | |
1387 | c !! sp 12/19/00 | |
1388 | PRO1(I, IRUN) = PROPER(IB) | |
1389 | 1034 CONTINUE | |
1390 | 1035 CONTINUE | |
1391 | cbz12/22/98end | |
1392 | END IF | |
1393 | cbz11/16/98end | |
1394 | c | |
1395 | ********************************** | |
1396 | * * | |
1397 | * ======= END OF MANY LOOPS OVER IMPACT PARAMETERS ========== * | |
1398 | * * | |
1399 | ********************************** | |
1400 | 50000 CONTINUE | |
1401 | * | |
1402 | *----------------------------------------------------------------------- | |
1403 | * ==== ART COMPLETED ==== | |
1404 | *----------------------------------------------------------------------- | |
1405 | cbz11/16/98 | |
1406 | c STOP | |
1407 | RETURN | |
1408 | cbz11/16/98end | |
1409 | END | |
1410 | ********************************** | |
1411 | subroutine coulin(masspr,massta,NUM) | |
1412 | * * | |
1413 | * purpose: initialization of array zet() and lb() for all runs * | |
1414 | * lb(i) = 1 => proton * | |
1415 | * lb(i) = 2 => neutron * | |
1416 | ********************************** | |
1417 | integer zta,zpr | |
1418 | PARAMETER (MAXSTR=150001) | |
1419 | common /EE/ ID(MAXSTR),LB(MAXSTR) | |
1420 | cc SAVE /EE/ | |
1421 | COMMON /ZZ/ ZTA,ZPR | |
1422 | cc SAVE /zz/ | |
1423 | SAVE | |
1424 | MASS=MASSTA+MASSPR | |
1425 | DO 500 IRUN=1,NUM | |
1426 | do 100 i = 1+(IRUN-1)*MASS,zta+(IRUN-1)*MASS | |
1427 | LB(i) = 1 | |
1428 | 100 continue | |
1429 | do 200 i = zta+1+(IRUN-1)*MASS,massta+(IRUN-1)*MASS | |
1430 | LB(i) = 2 | |
1431 | 200 continue | |
1432 | do 300 i = massta+1+(IRUN-1)*MASS,massta+zpr+(IRUN-1)*MASS | |
1433 | LB(i) = 1 | |
1434 | 300 continue | |
1435 | do 400 i = massta+zpr+1+(IRUN-1)*MASS, | |
1436 | 1 massta+masspr+(IRUN-1)*MASS | |
1437 | LB(i) = 2 | |
1438 | 400 continue | |
1439 | 500 CONTINUE | |
1440 | return | |
1441 | end | |
1442 | ********************************** | |
1443 | * * | |
1444 | SUBROUTINE RELCOL(LCOLL,LBLOC,LCNNE,LDD,LPP,lppk, | |
1445 | &LPN,lpd,lrho,lomega,LKN,LNNK,LDDK,LNDK,LCNND,LCNDN, | |
1446 | &LDIRT,LDECAY,LRES,LDOU,LDDRHO,LNNRHO,LNNOM, | |
1447 | &NT,ntmax,sp,akaon,sk) | |
1448 | * * | |
1449 | * PURPOSE: CHECK CONDITIONS AND CALCULATE THE KINEMATICS * | |
1450 | * FOR BINARY COLLISIONS AMONG PARTICLES * | |
1451 | * - RELATIVISTIC FORMULA USED * | |
1452 | * * | |
1453 | * REFERENCES: HAGEDORN, RELATIVISTIC KINEMATICS (1963) * | |
1454 | * * | |
1455 | * VARIABLES: * | |
1456 | * MASSPR - NUMBER OF NUCLEONS IN PROJECTILE (INTEGER,INPUT) * | |
1457 | * MASSTA - NUMBER OF NUCLEONS IN TARGET (INTEGER,INPUT) * | |
1458 | * NUM - NUMBER OF TESTPARTICLES PER NUCLEON(INTEGER,INPUT) * | |
1459 | * ISEED - SEED FOR RANDOM NUMBER GENERATOR (INTEGER,INPUT) * | |
1460 | * IAVOID - (= 1 => AVOID FIRST CLLISIONS WITHIN THE SAME * | |
1461 | * NUCLEUS, ELSE ALL COLLISIONS) (INTEGER,INPUT) * | |
1462 | * DELTAR - MAXIMUM SPATIAL DISTANCE FOR WHICH A COLLISION * | |
1463 | * STILL CAN OCCUR (REAL,INPUT) * | |
1464 | * DT - TIME STEP SIZE (REAL,INPUT) * | |
1465 | * LCOLL - NUMBER OF COLLISIONS (INTEGER,OUTPUT) * | |
1466 | * LBLOC - NUMBER OF PULI-BLOCKED COLLISIONS (INTEGER,OUTPUT) * | |
1467 | * LCNNE - NUMBER OF ELASTIC COLLISION (INTEGER,OUTPUT) * | |
1468 | * LCNND - NUMBER OF N+N->N+DELTA REACTION (INTEGER,OUTPUT) * | |
1469 | * LCNDN - NUMBER OF N+DELTA->N+N REACTION (INTEGER,OUTPUT) * | |
1470 | * LDD - NUMBER OF RESONANCE+RESONANCE COLLISIONS | |
1471 | * LPP - NUMBER OF PION+PION elastic COLIISIONS | |
1472 | * lppk - number of pion(RHO,OMEGA)+pion(RHO,OMEGA) | |
1473 | * -->K+K- collisions | |
1474 | * LPN - NUMBER OF PION+N-->KAON+X | |
1475 | * lpd - number of pion+n-->delta+pion | |
1476 | * lrho - number of pion+n-->Delta+rho | |
1477 | * lomega - number of pion+n-->Delta+omega | |
1478 | * LKN - NUMBER OF KAON RESCATTERINGS | |
1479 | * LNNK - NUMBER OF bb-->kAON PROCESS | |
1480 | * LDDK - NUMBER OF DD-->KAON PROCESS | |
1481 | * LNDK - NUMBER OF ND-->KAON PROCESS | |
1482 | * LB(I) IS USED TO LABEL PARTICLE'S CHARGE STATE | |
1483 | * LB(I) = | |
1484 | cbali2/7/99 | |
1485 | * -45 Omega baryon(bar) | |
1486 | * -41 cascade0(bar) | |
1487 | * -40 cascade-(bar) | |
1488 | clin-11/07/00: | |
1489 | * -30 K*- | |
1490 | * -17 sigma+(bar) | |
1491 | * -16 sigma0(bar) | |
1492 | * -15 sigma-(bar) | |
1493 | * -14 LAMBDA(bar) | |
1494 | clin-8/29/00 | |
1495 | * -13 anti-N*(+1)(1535),s_11 | |
1496 | * -12 anti-N*0(1535),s_11 | |
1497 | * -11 anti-N*(+1)(1440),p_11 | |
1498 | * -10 anti-N*0(1440), p_11 | |
1499 | * -9 anti-DELTA+2 | |
1500 | * -8 anti-DELTA+1 | |
1501 | * -7 anti-DELTA0 | |
1502 | * -6 anti-DELTA-1 | |
1503 | * | |
1504 | * -2 antineutron | |
1505 | * -1 antiproton | |
1506 | cbali2/7/99end | |
1507 | * 0 eta | |
1508 | * 1 PROTON | |
1509 | * 2 NUETRON | |
1510 | * 3 PION- | |
1511 | * 4 PION0 | |
1512 | * 5 PION+ | |
1513 | * 6 DELTA-1 | |
1514 | * 7 DELTA0 | |
1515 | * 8 DELTA+1 | |
1516 | * 9 DELTA+2 | |
1517 | * 10 N*0(1440), p_11 | |
1518 | * 11 N*(+1)(1440),p_11 | |
1519 | * 12 N*0(1535),s_11 | |
1520 | * 13 N*(+1)(1535),s_11 | |
1521 | * 14 LAMBDA | |
1522 | * 15 sigma- | |
1523 | * 16 sigma0 | |
1524 | * 17 sigma+ | |
1525 | * 21 kaon- | |
1526 | clin-2/23/03 22 Kaon0Long (converted at the last timestep) | |
1527 | * 23 KAON+ | |
1528 | * 24 Kaon0short (converted at the last timestep then decay) | |
1529 | * 25 rho- | |
1530 | * 26 rho0 | |
1531 | * 27 rho+ | |
1532 | * 28 omega meson | |
1533 | * 29 phi | |
1534 | * 30 K*+ | |
1535 | * sp01/03/01 | |
1536 | * 31 eta-prime | |
1537 | * 40 cascade- | |
1538 | * 41 cascade0 | |
1539 | * 45 Omega baryon | |
1540 | * sp01/03/01 end | |
1541 | * | |
1542 | * ++ ------- SEE NOTE BOOK | |
1543 | * NSTAR=1 INCLUDING N* RESORANCE | |
1544 | * ELSE DELTA RESORANCE ONLY | |
1545 | * NDIRCT=1 INCLUDING DIRECT PROCESS,ELSE NOT | |
1546 | * DIR - PERCENTAGE OF DIRECT PION PRODUCTION PROCESS | |
1547 | ********************************** | |
1548 | PARAMETER (MAXSTR=150001,MAXR=1,PI=3.1415926) | |
1549 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
1550 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974,aks=0.895) | |
1551 | PARAMETER (AA1=1.26,APHI=1.02,AP1=0.13496) | |
1552 | parameter (maxx=20,maxz=24) | |
1553 | parameter (rrkk=0.6,prkk=0.3,srhoks=5.,ESBIN=0.04) | |
1554 | DIMENSION MASSRN(0:MAXR),RT(3,MAXSTR),PT(3,MAXSTR),ET(MAXSTR) | |
1555 | DIMENSION LT(MAXSTR), PROT(MAXSTR) | |
1556 | COMMON /AA/ R(3,MAXSTR) | |
1557 | cc SAVE /AA/ | |
1558 | COMMON /BB/ P(3,MAXSTR) | |
1559 | cc SAVE /BB/ | |
1560 | COMMON /CC/ E(MAXSTR) | |
1561 | cc SAVE /CC/ | |
1562 | COMMON /DD/ RHO(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
1563 | & RHOP(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
1564 | & RHON(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ) | |
1565 | cc SAVE /DD/ | |
1566 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
1567 | cc SAVE /EE/ | |
1568 | COMMON /HH/ PROPER(MAXSTR) | |
1569 | cc SAVE /HH/ | |
1570 | common /ff/f(-mx:mx,-my:my,-mz:mz,-mpx:mpx,-mpy:mpy,-mpz:mpzp) | |
1571 | cc SAVE /ff/ | |
1572 | common /gg/ dx,dy,dz,dpx,dpy,dpz | |
1573 | cc SAVE /gg/ | |
1574 | COMMON /INPUT/ NSTAR,NDIRCT,DIR | |
1575 | cc SAVE /INPUT/ | |
1576 | COMMON /NN/NNN | |
1577 | cc SAVE /NN/ | |
1578 | COMMON /RR/ MASSR(0:MAXR) | |
1579 | cc SAVE /RR/ | |
1580 | common /ss/ inout(20) | |
1581 | cc SAVE /ss/ | |
1582 | COMMON /BG/BETAX,BETAY,BETAZ,GAMMA | |
1583 | cc SAVE /BG/ | |
1584 | COMMON /RUN/NUM | |
1585 | cc SAVE /RUN/ | |
1586 | COMMON /PA/RPION(3,MAXSTR,MAXR) | |
1587 | cc SAVE /PA/ | |
1588 | COMMON /PB/PPION(3,MAXSTR,MAXR) | |
1589 | cc SAVE /PB/ | |
1590 | COMMON /PC/EPION(MAXSTR,MAXR) | |
1591 | cc SAVE /PC/ | |
1592 | COMMON /PD/LPION(MAXSTR,MAXR) | |
1593 | cc SAVE /PD/ | |
1594 | COMMON /PE/PROPI(MAXSTR,MAXR) | |
1595 | cc SAVE /PE/ | |
1596 | COMMON /KKK/TKAON(7),EKAON(7,0:2000) | |
1597 | cc SAVE /KKK/ | |
1598 | COMMON /KAON/ AK(3,50,36),SPECK(50,36,7),MF | |
1599 | cc SAVE /KAON/ | |
1600 | COMMON/TABLE/ xarray(0:1000),earray(0:1000) | |
1601 | cc SAVE /TABLE/ | |
1602 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
1603 | cc SAVE /input1/ | |
1604 | common/leadng/lb1,px1,py1,pz1,em1,e1,xfnl,yfnl,zfnl,tfnl, | |
1605 | 1 px1n,py1n,pz1n,dp1n | |
1606 | cc SAVE /leadng/ | |
1607 | COMMON/tdecay/tfdcy(MAXSTR),tfdpi(MAXSTR,MAXR),tft(MAXSTR) | |
1608 | cc SAVE /tdecay/ | |
1609 | common /lastt/itimeh,bimp | |
1610 | cc SAVE /lastt/ | |
1611 | c | |
1612 | COMMON/ppbmas/niso(15),nstate,ppbm(15,2),thresh(15),weight(15) | |
1613 | cc SAVE /ppbmas/ | |
1614 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
1615 | cc SAVE /ppb1/ | |
1616 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
1617 | cc SAVE /ppmm/ | |
1618 | COMMON/hbt/lblast(MAXSTR),xlast(4,MAXSTR),plast(4,MAXSTR),nlast | |
1619 | cc SAVE /hbt/ | |
1620 | common/resdcy/NSAV,iksdcy | |
1621 | cc SAVE /resdcy/ | |
1622 | COMMON/RNDF77/NSEED | |
1623 | cc SAVE /RNDF77/ | |
1624 | COMMON/FTMAX/ftsv(MAXSTR),ftsvt(MAXSTR, MAXR) | |
1625 | dimension ftpisv(MAXSTR,MAXR),fttemp(MAXSTR) | |
1626 | common /dpi/em2,lb2 | |
1627 | common/phidcy/iphidcy,pttrig,ntrig,maxmiss | |
1628 | clin-5/2008: | |
1629 | DIMENSION dptemp(MAXSTR) | |
1630 | common /para8/ idpert,npertd,idxsec | |
1631 | COMMON /dpert/dpertt(MAXSTR,MAXR),dpertp(MAXSTR),dplast(MAXSTR), | |
1632 | 1 dpdcy(MAXSTR),dpdpi(MAXSTR,MAXR),dpt(MAXSTR, MAXR), | |
1633 | 2 dpp1(MAXSTR,MAXR),dppion(MAXSTR,MAXR) | |
1634 | c | |
1635 | real zet(-45:45) | |
1636 | SAVE | |
1637 | data zet / | |
1638 | 4 1.,0.,0.,0.,0., | |
1639 | 3 1.,0.,0.,0.,0.,0.,0.,0.,0.,0., | |
1640 | 2 -1.,0.,0.,0.,0.,0.,0.,0.,0.,0., | |
1641 | 1 0.,0.,0.,-1.,0.,1.,0.,-1.,0.,-1., | |
1642 | s 0.,-2.,-1.,0.,1.,0.,0.,0.,0.,-1., | |
1643 | e 0., | |
1644 | s 1.,0.,-1.,0.,1.,-1.,0.,1.,2.,0., | |
1645 | 1 1.,0.,1.,0.,-1.,0.,1.,0.,0.,0., | |
1646 | 2 -1.,0.,1.,0.,-1.,0.,1.,0.,0.,1., | |
1647 | 3 0.,0.,0.,0.,0.,0.,0.,0.,0.,-1., | |
1648 | 4 0.,0.,0.,0.,-1./ | |
1649 | ||
1650 | clin-2/19/03 initialize n and nsav for resonance decay at each timestep | |
1651 | c in order to prevent integer overflow: | |
1652 | call inidcy | |
1653 | ||
1654 | c OFF skip ART collisions to reproduce HJ: | |
1655 | cc if(nt.ne.ntmax) return | |
1656 | ||
1657 | clin-11/07/00 rrkk is assumed to be 0.6mb(default) for mm->KKbar | |
1658 | c with m=rho or omega, estimated from Ko's paper: | |
1659 | c rrkk=0.6 | |
1660 | c prkk: cross section of pi (rho or omega) -> K* Kbar (AND) K*bar K: | |
1661 | c prkk=0.3 | |
1662 | c cross section in mb for (rho or omega) K* -> pi K: | |
1663 | c srhoks=5. | |
1664 | clin-11/07/00-end | |
1665 | c ESBIN=0.04 | |
1666 | RESONA=5. | |
1667 | *----------------------------------------------------------------------- | |
1668 | * INITIALIZATION OF COUNTING VARIABLES | |
1669 | NODELT=0 | |
1670 | SUMSRT =0. | |
1671 | LCOLL = 0 | |
1672 | LBLOC = 0 | |
1673 | LCNNE = 0 | |
1674 | LDD = 0 | |
1675 | LPP = 0 | |
1676 | lpd = 0 | |
1677 | lpdr=0 | |
1678 | lrho = 0 | |
1679 | lrhor=0 | |
1680 | lomega=0 | |
1681 | lomgar=0 | |
1682 | LPN = 0 | |
1683 | LKN = 0 | |
1684 | LNNK = 0 | |
1685 | LDDK = 0 | |
1686 | LNDK = 0 | |
1687 | lppk =0 | |
1688 | LCNND = 0 | |
1689 | LCNDN = 0 | |
1690 | LDIRT = 0 | |
1691 | LDECAY = 0 | |
1692 | LRES = 0 | |
1693 | Ldou = 0 | |
1694 | LDDRHO = 0 | |
1695 | LNNRHO = 0 | |
1696 | LNNOM = 0 | |
1697 | MSUM = 0 | |
1698 | MASSRN(0)=0 | |
1699 | * COM: MSUM IS USED TO COUNT THE TOTAL NO. OF PARTICLES | |
1700 | * IN PREVIOUS IRUN-1 RUNS | |
1701 | * KAON COUNTERS | |
1702 | DO 1002 IL=1,5 | |
1703 | TKAON(IL)=0 | |
1704 | DO 1001 IS=1,2000 | |
1705 | EKAON(IL,IS)=0 | |
1706 | 1001 CONTINUE | |
1707 | 1002 CONTINUE | |
1708 | c sp 12/19/00 | |
1709 | DO 1004 i =1,NUM | |
1710 | DO 1003 j =1,MAXSTR | |
1711 | PROPI(j,i) = 1. | |
1712 | 1003 CONTINUE | |
1713 | 1004 CONTINUE | |
1714 | ||
1715 | do 1102 i=1,maxstr | |
1716 | fttemp(i)=0. | |
1717 | do 1101 irun=1,maxr | |
1718 | ftpisv(i,irun)=0. | |
1719 | 1101 continue | |
1720 | 1102 continue | |
1721 | ||
1722 | c sp 12/19/00 end | |
1723 | sp=0 | |
1724 | * antikaon counters | |
1725 | akaon=0 | |
1726 | sk=0 | |
1727 | *----------------------------------------------------------------------- | |
1728 | * LOOP OVER ALL PARALLEL RUNS | |
1729 | cbz11/17/98 | |
1730 | c MASS=MASSPR+MASSTA | |
1731 | MASS = 0 | |
1732 | cbz11/17/98end | |
1733 | DO 1000 IRUN = 1,NUM | |
1734 | NNN=0 | |
1735 | MSUM=MSUM+MASSR(IRUN-1) | |
1736 | * LOOP OVER ALL PSEUDOPARTICLES 1 IN THE SAME RUN | |
1737 | J10=2 | |
1738 | IF(NT.EQ.NTMAX)J10=1 | |
1739 | c | |
1740 | ctest off skips the check of energy conservation after each timestep: | |
1741 | c enetot=0. | |
1742 | c do ip=1,MASSR(IRUN) | |
1743 | c if(e(ip).ne.0.or.lb(ip).eq.10022) enetot=enetot | |
1744 | c 1 +sqrt(p(1,ip)**2+p(2,ip)**2+p(3,ip)**2+e(ip)**2) | |
1745 | c enddo | |
1746 | c write(91,*) 'A:',nt,enetot,massr(irun),bimp | |
1747 | ||
1748 | DO 800 J1 = J10,MASSR(IRUN) | |
1749 | I1 = J1 + MSUM | |
1750 | * E(I)=0 are for pions having been absorbed or photons which do not enter here: | |
1751 | IF(E(I1).EQ.0.)GO TO 800 | |
1752 | ||
1753 | c To include anti-(Delta,N*1440 and N*1535): | |
1754 | c IF ((LB(I1) .LT. -13 .OR. LB(I1) .GT. 28) | |
1755 | c 1 .and.iabs(LB(I1)) .ne. 30 ) GOTO 800 | |
1756 | IF (LB(I1) .LT. -45 .OR. LB(I1) .GT. 45) GOTO 800 | |
1757 | X1 = R(1,I1) | |
1758 | Y1 = R(2,I1) | |
1759 | Z1 = R(3,I1) | |
1760 | PX1 = P(1,I1) | |
1761 | PY1 = P(2,I1) | |
1762 | PZ1 = P(3,I1) | |
1763 | EM1 = E(I1) | |
1764 | am1= em1 | |
1765 | E1 = SQRT( EM1**2 + PX1**2 + PY1**2 + PZ1**2 ) | |
1766 | ID1 = ID(I1) | |
1767 | LB1 = LB(I1) | |
1768 | ||
1769 | c generate k0short and k0long from K+ and K- at the last timestep: | |
1770 | if(nt.eq.ntmax.and.(lb1.eq.21.or.lb1.eq.23)) then | |
1771 | pk0=RANART(NSEED) | |
1772 | if(pk0.lt.0.25) then | |
1773 | LB(I1)=22 | |
1774 | elseif(pk0.lt.0.50) then | |
1775 | LB(I1)=24 | |
1776 | endif | |
1777 | LB1=LB(I1) | |
1778 | endif | |
1779 | ||
1780 | clin-8/07/02 these particles don't decay strongly, so skip decay routines: | |
1781 | c IF( (lb1.ge.-2.and.lb1.le.5) .OR. lb1.eq.31 .OR. | |
1782 | c & (iabs(lb1).ge.14.and.iabs(lb1).le.24) .OR. | |
1783 | c & (iabs(lb1).ge.40.and.iabs(lb1).le.45) .or. | |
1784 | c & lb1.eq.31)GO TO 1 | |
1785 | c only decay K0short when iksdcy=1: | |
1786 | if(lb1.eq.0.or.lb1.eq.25.or.lb1.eq.26.or.lb1.eq.27 | |
1787 | & .or.lb1.eq.28.or.lb1.eq.29.or.iabs(lb1).eq.30 | |
1788 | & .or.(iabs(lb1).ge.6.and.iabs(lb1).le.13) | |
1789 | & .or.(iksdcy.eq.1.and.lb1.eq.24) | |
1790 | & .or.iabs(lb1).eq.16) then | |
1791 | continue | |
1792 | else | |
1793 | goto 1 | |
1794 | endif | |
1795 | * IF I1 IS A RESONANCE, CHECK WHETHER IT DECAYS DURING THIS TIME STEP | |
1796 | IF(lb1.ge.25.and.lb1.le.27) then | |
1797 | wid=0.151 | |
1798 | ELSEIF(lb1.eq.28) then | |
1799 | wid=0.00841 | |
1800 | ELSEIF(lb1.eq.29) then | |
1801 | wid=0.00443 | |
1802 | ELSEIF(iabs(LB1).eq.30) then | |
1803 | WID=0.051 | |
1804 | ELSEIF(lb1.eq.0) then | |
1805 | wid=1.18e-6 | |
1806 | c to give K0short ct0=2.676cm: | |
1807 | ELSEIF(iksdcy.eq.1.and.lb1.eq.24) then | |
1808 | wid=7.36e-15 | |
1809 | clin-4/29/03 add Sigma0 decay to Lambda, ct0=2.22E-11m: | |
1810 | ELSEIF(iabs(lb1).eq.16) then | |
1811 | wid=8.87e-6 | |
1812 | csp-07/25/01 test a1 resonance: | |
1813 | cc ELSEIF(LB1.EQ.32) then | |
1814 | cc WID=0.40 | |
1815 | ELSEIF(LB1.EQ.32) then | |
1816 | call WIDA1(EM1,rhomp,WID,iseed) | |
1817 | ELSEIF(iabs(LB1).ge.6.and.iabs(LB1).le.9) then | |
1818 | WID=WIDTH(EM1) | |
1819 | ELSEIF((iabs(LB1).EQ.10).OR.(iabs(LB1).EQ.11)) then | |
1820 | WID=W1440(EM1) | |
1821 | ELSEIF((iabs(LB1).EQ.12).OR.(iabs(LB1).EQ.13)) then | |
1822 | WID=W1535(EM1) | |
1823 | ENDIF | |
1824 | ||
1825 | * if it is the last time step, FORCE all resonance to strong-decay | |
1826 | * and go out of the loop | |
1827 | if(nt.eq.ntmax)then | |
1828 | pdecay=1.1 | |
1829 | clin-5b/2008 forbid phi decay at the end of hadronic cascade: | |
1830 | if(iphidcy.eq.0.and.iabs(LB1).eq.29) pdecay=0. | |
05cdcf94 | 1831 | cpchrist forbid K* decay at the end of hadronic cascade: |
1832 | if(ikstardcy.eq.0.and.iabs(LB1).eq.30) pdecay=0. | |
0119ef9a | 1833 | else |
1834 | T0=0.19733/WID | |
1835 | GFACTR=E1/EM1 | |
1836 | T0=T0*GFACTR | |
1837 | IF(T0.GT.0.)THEN | |
1838 | PDECAY=1.-EXP(-DT/T0) | |
1839 | ELSE | |
1840 | PDECAY=0. | |
1841 | ENDIF | |
1842 | endif | |
1843 | XDECAY=RANART(NSEED) | |
1844 | ||
1845 | cc dilepton production from rho0, omega, phi decay | |
1846 | cc if(lb1.eq.26 .or. lb1.eq.28 .or. lb1.eq.29) | |
1847 | cc & call dec_ceres(nt,ntmax,irun,i1) | |
1848 | cc | |
1849 | IF(XDECAY.LT.PDECAY) THEN | |
1850 | clin-10/25/02 get rid of argument usage mismatch in rhocay(): | |
1851 | idecay=irun | |
1852 | tfnl=nt*dt | |
1853 | clin-10/28/03 keep formation time of hadrons unformed at nt=ntmax-1: | |
1854 | if(nt.eq.ntmax.and.ftsv(i1).gt.((ntmax-1)*dt)) | |
1855 | 1 tfnl=ftsv(i1) | |
1856 | xfnl=x1 | |
1857 | yfnl=y1 | |
1858 | zfnl=z1 | |
1859 | * use PYTHIA to perform decays of eta,rho,omega,phi,K*,(K0s) and Delta: | |
1860 | if(lb1.eq.0.or.lb1.eq.25.or.lb1.eq.26.or.lb1.eq.27 | |
1861 | & .or.lb1.eq.28.or.lb1.eq.29.or.iabs(lb1).eq.30 | |
1862 | & .or.(iabs(lb1).ge.6.and.iabs(lb1).le.9) | |
1863 | & .or.(iksdcy.eq.1.and.lb1.eq.24) | |
1864 | & .or.iabs(lb1).eq.16) then | |
1865 | c previous rho decay performed in rhodecay(): | |
1866 | c nnn=nnn+1 | |
1867 | c call rhodecay(idecay,i1,nnn,iseed) | |
1868 | c | |
1869 | ctest off record decays of phi,K*,Lambda(1520) resonances: | |
1870 | c if(lb1.eq.29.or.iabs(lb1).eq.30) | |
1871 | c 1 write(18,112) 'decay',lb1,px1,py1,pz1,am1,nt | |
1872 | call resdec(i1,nt,nnn,wid,idecay) | |
1873 | p(1,i1)=px1n | |
1874 | p(2,i1)=py1n | |
1875 | p(3,i1)=pz1n | |
1876 | clin-5/2008: | |
1877 | dpertp(i1)=dp1n | |
1878 | c add decay time to freezeout positions & time at the last timestep: | |
1879 | if(nt.eq.ntmax) then | |
1880 | R(1,i1)=xfnl | |
1881 | R(2,i1)=yfnl | |
1882 | R(3,i1)=zfnl | |
1883 | tfdcy(i1)=tfnl | |
1884 | endif | |
1885 | c | |
1886 | * decay number for baryon resonance or L/S decay | |
1887 | if(iabs(lb1).ge.6.and.iabs(lb1).le.9) then | |
1888 | LDECAY=LDECAY+1 | |
1889 | endif | |
1890 | ||
1891 | * for a1 decay | |
1892 | c elseif(lb1.eq.32)then | |
1893 | c NNN=NNN+1 | |
1894 | c call a1decay(idecay,i1,nnn,iseed,rhomp) | |
1895 | ||
1896 | * FOR N*(1440) | |
1897 | elseif(iabs(LB1).EQ.10.OR.iabs(LB1).EQ.11) THEN | |
1898 | NNN=NNN+1 | |
1899 | LDECAY=LDECAY+1 | |
1900 | PNSTAR=1. | |
1901 | IF(E(I1).GT.1.22)PNSTAR=0.6 | |
1902 | IF(RANART(NSEED).LE.PNSTAR)THEN | |
1903 | * (1) DECAY TO SINGLE PION+NUCLEON | |
3006c44b | 1904 | CALL DECAYA(idecay,I1,NNN,ISEED,wid,nt) |
0119ef9a | 1905 | ELSE |
1906 | * (2) DECAY TO TWO PIONS + NUCLEON | |
1907 | CALL DECAY2(idecay,I1,NNN,ISEED,wid,nt) | |
1908 | NNN=NNN+1 | |
1909 | ENDIF | |
1910 | c for N*(1535) decay | |
1911 | elseif(iabs(LB1).eq.12.or.iabs(LB1).eq.13) then | |
1912 | NNN=NNN+1 | |
3006c44b | 1913 | CALL DECAYA(idecay,I1,NNN,ISEED,wid,nt) |
0119ef9a | 1914 | LDECAY=LDECAY+1 |
1915 | endif | |
1916 | c | |
1917 | *COM: AT HIGH ENERGIES WE USE VERY SHORT TIME STEPS, | |
1918 | * IN ORDER TO TAKE INTO ACCOUNT THE FINITE FORMATIOM TIME, WE | |
1919 | * DO NOT ALLOW PARTICLES FROM THE DECAY OF RESONANCE TO INTERACT | |
1920 | * WITH OTHERS IN THE SAME TIME STEP. CHANGE 9000 TO REVERSE THIS | |
1921 | * ASSUMPTION. EFFECTS OF THIS ASSUMPTION CAN BE STUDIED BY CHANGING | |
1922 | * THE STATEMENT OF 9000. See notebook for discussions on effects of | |
1923 | * changing statement 9000. | |
1924 | c | |
1925 | c kaons from K* decay are converted to k0short (and k0long), | |
1926 | c phi decay may produce rho, K0S or eta, N*(1535) decay may produce eta, | |
1927 | c and these decay daughters need to decay again if at the last timestep: | |
1928 | c (note: these daughters have been assigned to lb(i1) only, not to lpion) | |
1929 | c if(nt.eq.ntmax.and.(lb1.eq.29.or.iabs(lb1).eq.30 | |
1930 | c 1 .iabs(lb1).eq.12.or.iabs(lb1).eq.13)) then | |
1931 | if(nt.eq.ntmax) then | |
1932 | if(lb(i1).eq.25.or.lb(i1).eq.26.or.lb(i1).eq.27) then | |
1933 | wid=0.151 | |
1934 | elseif(lb(i1).eq.0) then | |
1935 | wid=1.18e-6 | |
1936 | elseif(lb(i1).eq.24.and.iksdcy.eq.1) then | |
1937 | wid=7.36e-17 | |
1938 | else | |
1939 | goto 9000 | |
1940 | endif | |
1941 | LB1=LB(I1) | |
1942 | PX1=P(1,I1) | |
1943 | PY1=P(2,I1) | |
1944 | PZ1=P(3,I1) | |
1945 | EM1=E(I1) | |
1946 | E1=SQRT(EM1**2+PX1**2+PY1**2+PZ1**2) | |
1947 | call resdec(i1,nt,nnn,wid,idecay) | |
1948 | p(1,i1)=px1n | |
1949 | p(2,i1)=py1n | |
1950 | p(3,i1)=pz1n | |
1951 | R(1,i1)=xfnl | |
1952 | R(2,i1)=yfnl | |
1953 | R(3,i1)=zfnl | |
1954 | tfdcy(i1)=tfnl | |
1955 | clin-5/2008: | |
1956 | dpertp(i1)=dp1n | |
1957 | endif | |
1958 | ||
1959 | * negelecting the Pauli blocking at high energies | |
1960 | 9000 go to 800 | |
1961 | ENDIF | |
1962 | * LOOP OVER ALL PSEUDOPARTICLES 2 IN THE SAME RUN | |
1963 | * SAVE ALL THE COORDINATES FOR POSSIBLE CHANGE IN THE FOLLOWING COLLISION | |
1964 | 1 if(nt.eq.ntmax)go to 800 | |
1965 | X1 = R(1,I1) | |
1966 | Y1 = R(2,I1) | |
1967 | Z1 = R(3,I1) | |
1968 | c | |
1969 | DO 600 J2 = 1,J1-1 | |
1970 | I2 = J2 + MSUM | |
1971 | * IF I2 IS A MESON BEING ABSORBED, THEN GO OUT OF THE LOOP | |
1972 | IF(E(I2).EQ.0.) GO TO 600 | |
1973 | clin-5/2008 in case the first particle is already destroyed: | |
1974 | IF(E(I1).EQ.0.) GO TO 800 | |
1975 | IF (LB(I2) .LT. -45 .OR. LB(I2) .GT. 45) GOTO 600 | |
1976 | clin-7/26/03 improve speed | |
1977 | X2=R(1,I2) | |
1978 | Y2=R(2,I2) | |
1979 | Z2=R(3,I2) | |
1980 | dr0max=5. | |
1981 | clin-9/2008 deuteron+nucleon elastic cross sections could reach ~2810mb: | |
1982 | ilb1=iabs(LB(I1)) | |
1983 | ilb2=iabs(LB(I2)) | |
1984 | IF(ilb1.EQ.42.or.ilb2.EQ.42) THEN | |
1985 | if((ILB1.GE.1.AND.ILB1.LE.2) | |
1986 | 1 .or.(ILB1.GE.6.AND.ILB1.LE.13) | |
1987 | 2 .or.(ILB2.GE.1.AND.ILB2.LE.2) | |
1988 | 3 .or.(ILB2.GE.6.AND.ILB2.LE.13)) then | |
1989 | if((lb(i1)*lb(i2)).gt.0) dr0max=10. | |
1990 | endif | |
1991 | ENDIF | |
1992 | c | |
1993 | if(((X1-X2)**2+(Y1-Y2)**2+(Z1-Z2)**2).GT.dr0max**2) | |
1994 | 1 GO TO 600 | |
1995 | IF (ID(I1)*ID(I2).EQ.IAVOID) GOTO 400 | |
1996 | ID1=ID(I1) | |
1997 | ID2 = ID(I2) | |
1998 | c | |
1999 | ix1= nint(x1/dx) | |
2000 | iy1= nint(y1/dy) | |
2001 | iz1= nint(z1/dz) | |
2002 | PX1=P(1,I1) | |
2003 | PY1=P(2,I1) | |
2004 | PZ1=P(3,I1) | |
2005 | EM1=E(I1) | |
2006 | AM1=EM1 | |
2007 | LB1=LB(I1) | |
2008 | E1=SQRT(EM1**2+PX1**2+PY1**2+PZ1**2) | |
2009 | IPX1=NINT(PX1/DPX) | |
2010 | IPY1=NINT(PY1/DPY) | |
2011 | IPZ1=NINT(PZ1/DPZ) | |
2012 | LB2 = LB(I2) | |
2013 | PX2 = P(1,I2) | |
2014 | PY2 = P(2,I2) | |
2015 | PZ2 = P(3,I2) | |
2016 | EM2=E(I2) | |
2017 | AM2=EM2 | |
2018 | lb1i=lb(i1) | |
2019 | lb2i=lb(i2) | |
2020 | px1i=P(1,I1) | |
2021 | py1i=P(2,I1) | |
2022 | pz1i=P(3,I1) | |
2023 | em1i=E(I1) | |
2024 | px2i=P(1,I2) | |
2025 | py2i=P(2,I2) | |
2026 | pz2i=P(3,I2) | |
2027 | em2i=E(I2) | |
2028 | clin-2/26/03 ctest off check energy conservation after each binary search: | |
2029 | eini=SQRT(E(I1)**2+P(1,I1)**2+P(2,I1)**2+P(3,I1)**2) | |
2030 | 1 +SQRT(E(I2)**2+P(1,I2)**2+P(2,I2)**2+P(3,I2)**2) | |
2031 | pxini=P(1,I1)+P(1,I2) | |
2032 | pyini=P(2,I1)+P(2,I2) | |
2033 | pzini=P(3,I1)+P(3,I2) | |
2034 | nnnini=nnn | |
2035 | c | |
2036 | clin-4/30/03 initialize value: | |
2037 | iblock=0 | |
2038 | c | |
2039 | * TO SAVE COMPUTING TIME we do the following | |
2040 | * (1) make a ROUGH estimate to see whether particle i2 will collide with | |
2041 | * particle I1, and (2) skip the particle pairs for which collisions are | |
2042 | * not modeled in the code. | |
2043 | * FOR MESON-BARYON AND MESON-MESON COLLISIONS, we use a maximum | |
2044 | * interaction distance DELTR0=2.6 | |
2045 | * for ppbar production from meson (pi rho omega) interactions: | |
2046 | c | |
2047 | DELTR0=3. | |
2048 | if( (iabs(lb1).ge.14.and.iabs(lb1).le.17) .or. | |
2049 | & (iabs(lb1).ge.30.and.iabs(lb1).le.45) ) DELTR0=5.0 | |
2050 | if( (iabs(lb2).ge.14.and.iabs(lb2).le.17) .or. | |
2051 | & (iabs(lb2).ge.30.and.iabs(lb2).le.45) ) DELTR0=5.0 | |
2052 | ||
2053 | if(lb1.eq.28.and.lb2.eq.28) DELTR0=4.84 | |
2054 | clin-10/08/00 to include pi pi -> rho rho: | |
2055 | if((lb1.ge.3.and.lb1.le.5).and.(lb2.ge.3.and.lb2.le.5)) then | |
2056 | E2=SQRT(EM2**2+PX2**2+PY2**2+PZ2**2) | |
2057 | spipi=(e1+e2)**2-(px1+px2)**2-(py1+py2)**2-(pz1+pz2)**2 | |
2058 | if(spipi.ge.(4*0.77**2)) DELTR0=3.5 | |
2059 | endif | |
2060 | ||
2061 | c khyperon | |
2062 | IF (LB1.EQ.23 .AND. (LB2.GE.14.AND.LB2.LE.17)) GOTO 3699 | |
2063 | IF (LB2.EQ.23 .AND. (LB1.GE.14.AND.LB1.LE.17)) GOTO 3699 | |
2064 | ||
2065 | * K(K*) + Kbar(K*bar) scattering including | |
2066 | * K(K*) + Kbar(K*bar) --> phi + pi(rho,omega) and pi pi(rho,omega) | |
2067 | if(lb1.eq.21.and.lb2.eq.23)go to 3699 | |
2068 | if(lb2.eq.21.and.lb1.eq.23)go to 3699 | |
2069 | if(lb1.eq.30.and.lb2.eq.21)go to 3699 | |
2070 | if(lb2.eq.30.and.lb1.eq.21)go to 3699 | |
2071 | if(lb1.eq.-30.and.lb2.eq.23)go to 3699 | |
2072 | if(lb2.eq.-30.and.lb1.eq.23)go to 3699 | |
2073 | if(lb1.eq.-30.and.lb2.eq.30)go to 3699 | |
2074 | if(lb2.eq.-30.and.lb1.eq.30)go to 3699 | |
2075 | c | |
2076 | clin-12/15/00 | |
2077 | c kaon+rho(omega,eta) collisions: | |
2078 | if(lb1.eq.21.or.lb1.eq.23) then | |
2079 | if(lb2.eq.0.or.(lb2.ge.25.and.lb2.le.28)) then | |
2080 | go to 3699 | |
2081 | endif | |
2082 | elseif(lb2.eq.21.or.lb2.eq.23) then | |
2083 | if(lb1.eq.0.or.(lb1.ge.25.and.lb1.le.28)) then | |
2084 | goto 3699 | |
2085 | endif | |
2086 | endif | |
2087 | ||
2088 | clin-8/14/02 K* (pi, rho, omega, eta) collisions: | |
2089 | if(iabs(lb1).eq.30 .and. | |
2090 | 1 (lb2.eq.0.or.(lb2.ge.25.and.lb2.le.28) | |
2091 | 2 .or.(lb2.ge.3.and.lb2.le.5))) then | |
2092 | go to 3699 | |
2093 | elseif(iabs(lb2).eq.30 .and. | |
2094 | 1 (lb1.eq.0.or.(lb1.ge.25.and.lb1.le.28) | |
2095 | 2 .or.(lb1.ge.3.and.lb1.le.5))) then | |
2096 | goto 3699 | |
2097 | clin-8/14/02-end | |
2098 | c K*/K*-bar + baryon/antibaryon collisions: | |
2099 | elseif( iabs(lb1).eq.30 .and. | |
2100 | 1 (iabs(lb2).eq.1.or.iabs(lb2).eq.2.or. | |
2101 | 2 (iabs(lb2).ge.6.and.iabs(lb2).le.13)) )then | |
2102 | go to 3699 | |
2103 | endif | |
2104 | if( iabs(lb2).eq.30 .and. | |
2105 | 1 (iabs(lb1).eq.1.or.iabs(lb1).eq.2.or. | |
2106 | 2 (iabs(lb1).ge.6.and.iabs(lb1).le.13)) )then | |
2107 | go to 3699 | |
2108 | endif | |
2109 | * K^+ baryons and antibaryons: | |
2110 | c** K+ + B-bar --> La(Si)-bar + pi | |
2111 | * K^- and antibaryons, note K^- and baryons are included in newka(): | |
2112 | * note that we fail to satisfy charge conjugation for these cross sections: | |
2113 | if((lb1.eq.23.or.lb1.eq.21).and. | |
2114 | 1 (iabs(lb2).eq.1.or.iabs(lb2).eq.2.or. | |
2115 | 2 (iabs(lb2).ge.6.and.iabs(lb2).le.13))) then | |
2116 | go to 3699 | |
2117 | elseif((lb2.eq.23.or.lb2.eq.21).and. | |
2118 | 1 (iabs(lb1).eq.1.or.iabs(lb1).eq.2.or. | |
2119 | 2 (iabs(lb1).ge.6.and.iabs(lb1).le.13))) then | |
2120 | go to 3699 | |
2121 | endif | |
2122 | * | |
2123 | * For anti-nucleons annihilations: | |
2124 | * Assumptions: | |
2125 | * (1) for collisions involving a p_bar or n_bar, | |
2126 | * we allow only collisions between a p_bar and a baryon or a baryon | |
2127 | * resonance (as well as a n_bar and a baryon or a baryon resonance), | |
2128 | * we skip all other reactions involving a p_bar or n_bar, | |
2129 | * such as collisions between p_bar (n_bar) and mesons, | |
2130 | * and collisions between two p_bar's (n_bar's). | |
2131 | * (2) we introduce a new parameter rppmax: the maximum interaction | |
2132 | * distance to make the quick collision check,rppmax=3.57 fm | |
2133 | * corresponding to a cutoff of annihilation xsection= 400mb which is | |
2134 | * also used consistently in the actual annihilation xsection to be | |
2135 | * used in the following as given in the subroutine xppbar(srt) | |
2136 | rppmax=3.57 | |
2137 | * anti-baryon on baryons | |
2138 | if((lb1.eq.-1.or.lb1.eq.-2.or.(lb1.ge.-13.and.lb1.le.-6)) | |
2139 | 1 .and.(lb2.eq.1.or.lb2.eq.2.or.(lb2.ge.6.and.lb2.le.13))) then | |
2140 | DELTR0 = RPPMAX | |
2141 | GOTO 2699 | |
2142 | else if((lb2.eq.-1.or.lb2.eq.-2.or.(lb2.ge.-13.and.lb2.le.-6)) | |
2143 | 1 .and.(lb1.eq.1.or.lb1.eq.2.or.(lb1.ge.6.and.lb1.le.13))) then | |
2144 | DELTR0 = RPPMAX | |
2145 | GOTO 2699 | |
2146 | END IF | |
2147 | ||
2148 | c* ((anti) lambda, cascade, omega should not be rejected) | |
2149 | if( (iabs(lb1).ge.14.and.iabs(lb1).le.17) .or. | |
2150 | & (iabs(lb2).ge.14.and.iabs(lb2).le.17) )go to 3699 | |
2151 | c | |
2152 | clin-9/2008 maximum sigma~2810mb for deuteron+nucleon elastic collisions: | |
2153 | IF (iabs(LB1).EQ.42.or.iabs(LB2).EQ.42) THEN | |
2154 | ilb1=iabs(LB1) | |
2155 | ilb2=iabs(LB2) | |
2156 | if((ILB1.GE.1.AND.ILB1.LE.2) | |
2157 | 1 .or.(ILB1.GE.6.AND.ILB1.LE.13) | |
2158 | 2 .or.(ILB2.GE.1.AND.ILB2.LE.2) | |
2159 | 3 .or.(ILB2.GE.6.AND.ILB2.LE.13)) then | |
2160 | if((lb1*lb2).gt.0) deltr0=9.5 | |
2161 | endif | |
2162 | ENDIF | |
2163 | c | |
2164 | if( (iabs(lb1).ge.40.and.iabs(lb1).le.45) .or. | |
2165 | & (iabs(lb2).ge.40.and.iabs(lb2).le.45) )go to 3699 | |
2166 | c | |
2167 | c* phi channel --> elastic + inelastic scatt. | |
2168 | IF( (lb1.eq.29 .and.((lb2.ge.1.and.lb2.le.13).or. | |
2169 | & (lb2.ge.21.and.lb2.le.28).or.iabs(lb2).eq.30)) .OR. | |
2170 | & (lb2.eq.29 .and.((lb1.ge.1.and.lb1.le.13).or. | |
2171 | & (lb1.ge.21.and.lb1.le.28).or.iabs(lb1).eq.30)) )THEN | |
2172 | DELTR0=3.0 | |
2173 | go to 3699 | |
2174 | endif | |
2175 | c | |
2176 | c La/Si, Cas, Om (bar)-meson elastic colln | |
2177 | * pion vs. La & Ca (bar) coll. are treated in resp. subroutines | |
2178 | ||
2179 | * SKIP all other K* RESCATTERINGS | |
2180 | If(iabs(lb1).eq.30.or.iabs(lb2).eq.30) go to 400 | |
2181 | * SKIP KAON(+) RESCATTERINGS WITH particles other than pions and baryons | |
2182 | If(lb1.eq.23.and.(lb2.lt.1.or.lb2.gt.17))go to 400 | |
2183 | If(lb2.eq.23.and.(lb1.lt.1.or.lb1.gt.17))go to 400 | |
2184 | c | |
2185 | c anti-baryon proccess: B-bar+M, N-bar+R-bar, N-bar+N-bar, R-bar+R-bar | |
2186 | c R = (D,N*) | |
2187 | if( ((lb1.le.-1.and.lb1.ge.-13) | |
2188 | & .and.(lb2.eq.0.or.(lb2.ge.3.and.lb2.le.5) | |
2189 | & .or.(lb2.ge.25.and.lb2.le.28))) | |
2190 | & .OR.((lb2.le.-1.and.lb2.ge.-13) | |
2191 | & .and.(lb1.eq.0.or.(lb1.ge.3.and.lb1.le.5) | |
2192 | & .or.(lb1.ge.25.and.lb1.le.28))) ) then | |
2193 | elseIF( ((LB1.eq.-1.or.lb1.eq.-2). | |
2194 | & and.(LB2.LT.-5.and.lb2.ge.-13)) | |
2195 | & .OR. ((LB2.eq.-1.or.lb2.eq.-2). | |
2196 | & and.(LB1.LT.-5.and.lb1.ge.-13)) )then | |
2197 | elseIF((LB1.eq.-1.or.lb1.eq.-2) | |
2198 | & .AND.(LB2.eq.-1.or.lb2.eq.-2))then | |
2199 | elseIF((LB1.LT.-5.and.lb1.ge.-13).AND. | |
2200 | & (LB2.LT.-5.and.lb2.ge.-13)) then | |
2201 | c elseif((lb1.lt.0).or.(lb2.lt.0)) then | |
2202 | c go to 400 | |
2203 | endif | |
2204 | ||
2205 | 2699 CONTINUE | |
2206 | * for baryon-baryon collisions | |
2207 | IF (LB1 .EQ. 1 .OR. LB1 .EQ. 2 .OR. (LB1 .GE. 6 .AND. | |
2208 | & LB1 .LE. 17)) THEN | |
2209 | IF (LB2 .EQ. 1 .OR. LB2 .EQ. 2 .OR. (LB2 .GE. 6 .AND. | |
2210 | & LB2 .LE. 17)) THEN | |
2211 | DELTR0 = 2. | |
2212 | END IF | |
2213 | END IF | |
2214 | c | |
2215 | 3699 RSQARE = (X1-X2)**2 + (Y1-Y2)**2 + (Z1-Z2)**2 | |
2216 | IF (RSQARE .GT. DELTR0**2) GO TO 400 | |
2217 | *NOW PARTICLES ARE CLOSE ENOUGH TO EACH OTHER ! | |
2218 | * KEEP ALL COORDINATES FOR POSSIBLE PHASE SPACE CHANGE | |
2219 | ix2 = nint(x2/dx) | |
2220 | iy2 = nint(y2/dy) | |
2221 | iz2 = nint(z2/dz) | |
2222 | ipx2 = nint(px2/dpx) | |
2223 | ipy2 = nint(py2/dpy) | |
2224 | ipz2 = nint(pz2/dpz) | |
2225 | * FIND MOMENTA OF PARTICLES IN THE CMS OF THE TWO COLLIDING PARTICLES | |
2226 | * AND THE CMS ENERGY SRT | |
2227 | CALL CMS(I1,I2,PCX,PCY,PCZ,SRT) | |
2228 | clin-7/26/03 improve speed | |
2229 | drmax=dr0max | |
2230 | call distc0(drmax,deltr0,DT, | |
2231 | 1 Ifirst,PCX,PCY,PCZ, | |
2232 | 2 x1,y1,z1,px1,py1,pz1,em1,x2,y2,z2,px2,py2,pz2,em2) | |
2233 | if(Ifirst.eq.-1) goto 400 | |
2234 | ||
2235 | ISS=NINT(SRT/ESBIN) | |
2236 | clin-4/2008 use last bin if ISS is out of EKAON's upper bound of 2000: | |
afe6642c | 2237 | if(ISS.lt.0) GOTO 400 |
0119ef9a | 2238 | if(ISS.gt.2000) ISS=2000 |
2239 | *Sort collisions | |
2240 | c | |
2241 | clin-8/2008 Deuteron+Meson->B+B; | |
2242 | c meson=(pi,rho,omega,eta), B=(n,p,Delta,N*1440,N*1535): | |
2243 | IF (iabs(LB1).EQ.42.or.iabs(LB2).EQ.42) THEN | |
2244 | ilb1=iabs(LB1) | |
2245 | ilb2=iabs(LB2) | |
2246 | if(LB1.eq.0.or.(LB1.GE.3.AND.LB1.LE.5) | |
2247 | 1 .or.(LB1.GE.25.AND.LB1.LE.28) | |
2248 | 2 .or. | |
2249 | 3 LB2.eq.0.or.(LB2.GE.3.AND.LB2.LE.5) | |
2250 | 4 .or.(LB2.GE.25.AND.LB2.LE.28)) then | |
2251 | GOTO 505 | |
2252 | clin-9/2008 Deuteron+Baryon or antiDeuteron+antiBaryon elastic collisions: | |
2253 | elseif(((ILB1.GE.1.AND.ILB1.LE.2) | |
2254 | 1 .or.(ILB1.GE.6.AND.ILB1.LE.13) | |
2255 | 2 .or.(ILB2.GE.1.AND.ILB2.LE.2) | |
2256 | 3 .or.(ILB2.GE.6.AND.ILB2.LE.13)) | |
2257 | 4 .and.(lb1*lb2).gt.0) then | |
2258 | GOTO 506 | |
2259 | else | |
2260 | GOTO 400 | |
2261 | endif | |
2262 | ENDIF | |
2263 | c | |
2264 | * K+ + (N,N*,D)-bar --> L/S-bar + pi | |
2265 | if( ((lb1.eq.23.or.lb1.eq.30).and. | |
2266 | & (lb2.eq.-1.or.lb2.eq.-2.or.(lb2.ge.-13.and.lb2.le.-6))) | |
2267 | & .OR.((lb2.eq.23.or.lb2.eq.30).and. | |
2268 | & (lb1.eq.-1.or.lb1.eq.-2.or.(lb1.ge.-13.and.lb1.le.-6))) ) | |
2269 | & then | |
2270 | bmass=0.938 | |
2271 | if(srt.le.(bmass+aka)) then | |
2272 | pkaon=0. | |
2273 | else | |
2274 | pkaon=sqrt(((srt**2-(aka**2+bmass**2)) | |
2275 | 1 /2./bmass)**2-aka**2) | |
2276 | endif | |
2277 | clin-10/31/02 cross sections are isospin-averaged, same as those in newka | |
2278 | c for K- + (N,N*,D) --> L/S + pi: | |
2279 | sigela = 0.5 * (AKPEL(PKAON) + AKNEL(PKAON)) | |
2280 | SIGSGM = 1.5 * AKPSGM(PKAON) + AKNSGM(PKAON) | |
2281 | SIG = sigela + SIGSGM + AKPLAM(PKAON) | |
2282 | if(sig.gt.1.e-7) then | |
2283 | c ! K+ + N-bar reactions | |
2284 | icase=3 | |
2285 | brel=sigela/sig | |
2286 | brsgm=sigsgm/sig | |
2287 | brsig = sig | |
2288 | nchrg = 1 | |
2289 | go to 3555 | |
2290 | endif | |
2291 | go to 400 | |
2292 | endif | |
2293 | c | |
2294 | c | |
2295 | c meson + hyperon-bar -> K+ + N-bar | |
2296 | if(((lb1.ge.-17.and.lb1.le.-14).and.(lb2.ge.3.and.lb2.le.5)) | |
2297 | & .OR.((lb2.ge.-17.and.lb2.le.-14) | |
2298 | & .and.(lb1.ge.3.and.lb1.le.5)))then | |
2299 | nchrg=-100 | |
2300 | ||
2301 | C* first classify the reactions due to total charge. | |
2302 | if((lb1.eq.-15.and.(lb2.eq.5.or.lb2.eq.27)).OR. | |
2303 | & (lb2.eq.-15.and.(lb1.eq.5.or.lb1.eq.27))) then | |
2304 | nchrg=-2 | |
2305 | c ! D-(bar) | |
2306 | bmass=1.232 | |
2307 | go to 110 | |
2308 | endif | |
2309 | if( (lb1.eq.-15.and.(lb2.eq.0.or.lb2.eq.4.or.lb2.eq.26.or. | |
2310 | & lb2.eq.28)).OR.(lb2.eq.-15.and.(lb1.eq.0.or. | |
2311 | & lb1.eq.4.or.lb1.eq.26.or.lb1.eq.28)).OR. | |
2312 | & ((lb1.eq.-14.or.lb1.eq.-16).and.(lb2.eq.5.or.lb2.eq.27)).OR. | |
2313 | & ((lb2.eq.-14.or.lb2.eq.-16).and.(lb1.eq.5.or.lb1.eq.27)) )then | |
2314 | nchrg=-1 | |
2315 | c ! n-bar | |
2316 | bmass=0.938 | |
2317 | go to 110 | |
2318 | endif | |
2319 | if( (lb1.eq.-15.and.(lb2.eq.3.or.lb2.eq.25)).OR. | |
2320 | & (lb2.eq.-15.and.(lb1.eq.3.or.lb1.eq.25)).OR. | |
2321 | & (lb1.eq.-17.and.(lb2.eq.5.or.lb2.eq.27)).OR. | |
2322 | & (lb2.eq.-17.and.(lb1.eq.5.or.lb1.eq.27)).OR. | |
2323 | & ((lb1.eq.-14.or.lb1.eq.-16).and.(lb2.eq.0.or.lb2.eq.4 | |
2324 | & .or.lb2.eq.26.or.lb2.eq.28)).OR. | |
2325 | & ((lb2.eq.-14.or.lb2.eq.-16).and.(lb1.eq.0.or.lb1.eq.4 | |
2326 | & .or.lb1.eq.26.or.lb1.eq.28)) )then | |
2327 | nchrg=0 | |
2328 | c ! p-bar | |
2329 | bmass=0.938 | |
2330 | go to 110 | |
2331 | endif | |
2332 | if( (lb1.eq.-17.and.(lb2.eq.0.or.lb2.eq.4.or.lb2.eq.26.or. | |
2333 | & lb2.eq.28)).OR.(lb2.eq.-17.and.(lb1.eq.0.or. | |
2334 | & lb1.eq.4.or.lb1.eq.26.or.lb1.eq.28)).OR. | |
2335 | & ((lb1.eq.-14.or.lb1.eq.-16).and.(lb2.eq.3.or.lb2.eq.25)).OR. | |
2336 | & ((lb2.eq.-14.or.lb2.eq.-16).and.(lb1.eq.3.or.lb1.eq.25)))then | |
2337 | nchrg=1 | |
2338 | c ! D++(bar) | |
2339 | bmass=1.232 | |
2340 | endif | |
2341 | c | |
2342 | c 110 if(nchrg.ne.-100.and.srt.ge.(aka+bmass))then !! for elastic | |
2343 | 110 sig = 0. | |
2344 | c !! for elastic | |
2345 | if(nchrg.ne.-100.and.srt.ge.(aka+bmass))then | |
2346 | cc110 if(nchrg.eq.-100.or.srt.lt.(aka+bmass)) go to 400 | |
2347 | c ! PI + La(Si)-bar => K+ + N-bar reactions | |
2348 | icase=4 | |
2349 | cc pkaon=sqrt(((srt**2-(aka**2+bmass**2))/2./bmass)**2-aka**2) | |
2350 | pkaon=sqrt(((srt**2-(aka**2+0.938**2))/2./0.938)**2-aka**2) | |
2351 | c ! lambda-bar + Pi | |
2352 | if(lb1.eq.-14.or.lb2.eq.-14) then | |
2353 | if(nchrg.ge.0) sigma0=akPlam(pkaon) | |
2354 | if(nchrg.lt.0) sigma0=akNlam(pkaon) | |
2355 | c ! sigma-bar + pi | |
2356 | else | |
2357 | c !K-p or K-D++ | |
2358 | if(nchrg.ge.0) sigma0=akPsgm(pkaon) | |
2359 | c !K-n or K-D- | |
2360 | if(nchrg.lt.0) sigma0=akNsgm(pkaon) | |
2361 | SIGMA0 = 1.5 * AKPSGM(PKAON) + AKNSGM(PKAON) | |
2362 | endif | |
2363 | sig=(srt**2-(aka+bmass)**2)*(srt**2-(aka-bmass)**2)/ | |
2364 | & (srt**2-(em1+em2)**2)/(srt**2-(em1-em2)**2)*sigma0 | |
2365 | c ! K0barD++, K-D- | |
2366 | if(nchrg.eq.-2.or.nchrg.eq.2) sig=2.*sig | |
2367 | C* the factor 2 comes from spin of delta, which is 3/2 | |
2368 | C* detailed balance. copy from Page 423 of N.P. A614 1997 | |
2369 | IF (LB1 .EQ. -14 .OR. LB2 .EQ. -14) THEN | |
2370 | SIG = 4.0 / 3.0 * SIG | |
2371 | ELSE IF (NCHRG .EQ. -2 .OR. NCHRG .EQ. 2) THEN | |
2372 | SIG = 8.0 / 9.0 * SIG | |
2373 | ELSE | |
2374 | SIG = 4.0 / 9.0 * SIG | |
2375 | END IF | |
2376 | cc brel=0. | |
2377 | cc brsgm=0. | |
2378 | cc brsig = sig | |
2379 | cc if(sig.lt.1.e-7) go to 400 | |
2380 | *- | |
2381 | endif | |
2382 | c ! PI + La(Si)-bar => elastic included | |
2383 | icase=4 | |
2384 | sigela = 10. | |
2385 | sig = sig + sigela | |
2386 | brel= sigela/sig | |
2387 | brsgm=0. | |
2388 | brsig = sig | |
2389 | *- | |
2390 | go to 3555 | |
2391 | endif | |
2392 | ||
2393 | ** MULTISTRANGE PARTICLE (Cas,Omega -bar) PRODUCTION - (NON)PERTURBATIVE | |
2394 | ||
2395 | * K-/K*0bar + La/Si --> cascade + pi/eta | |
2396 | if( ((lb1.eq.21.or.lb1.eq.-30).and.(lb2.ge.14.and.lb2.le.17)).OR. | |
2397 | & ((lb2.eq.21.or.lb2.eq.-30).and.(lb1.ge.14.and.lb1.le.17)) )then | |
2398 | kp = 0 | |
2399 | go to 3455 | |
2400 | endif | |
2401 | c K+/K*0 + La/Si(bar) --> cascade-bar + pi/eta | |
2402 | if( ((lb1.eq.23.or.lb1.eq.30).and.(lb2.le.-14.and.lb2.ge.-17)).OR. | |
2403 | & ((lb2.eq.23.or.lb2.eq.30).and.(lb1.le.-14.and.lb1.ge.-17)) )then | |
2404 | kp = 1 | |
2405 | go to 3455 | |
2406 | endif | |
2407 | * K-/K*0bar + cascade --> omega + pi | |
2408 | if( ((lb1.eq.21.or.lb1.eq.-30).and.(lb2.eq.40.or.lb2.eq.41)).OR. | |
2409 | & ((lb2.eq.21.or.lb2.eq.-30).and.(lb1.eq.40.or.lb1.eq.41)) )then | |
2410 | kp = 0 | |
2411 | go to 3455 | |
2412 | endif | |
2413 | * K+/K*0 + cascade-bar --> omega-bar + pi | |
2414 | if( ((lb1.eq.23.or.lb1.eq.30).and.(lb2.eq.-40.or.lb2.eq.-41)).OR. | |
2415 | & ((lb2.eq.23.or.lb2.eq.30).and.(lb1.eq.-40.or.lb1.eq.-41)) )then | |
2416 | kp = 1 | |
2417 | go to 3455 | |
2418 | endif | |
2419 | * Omega + Omega --> Di-Omega + photon(eta) | |
2420 | cc if( lb1.eq.45.and.lb2.eq.45 ) go to 3455 | |
2421 | ||
2422 | c annhilation of cascade(bar), omega(bar) | |
2423 | kp = 3 | |
2424 | * K- + L/S <-- cascade(bar) + pi/eta | |
2425 | if( (((lb1.ge.3.and.lb1.le.5).or.lb1.eq.0) | |
2426 | & .and.(iabs(lb2).eq.40.or.iabs(lb2).eq.41)) | |
2427 | & .OR. (((lb2.ge.3.and.lb2.le.5).or.lb2.eq.0) | |
2428 | & .and.(iabs(lb1).eq.40.or.iabs(lb1).eq.41)) )go to 3455 | |
2429 | * K- + cascade(bar) <-- omega(bar) + pi | |
2430 | * if( (lb1.eq.0.and.iabs(lb2).eq.45) | |
2431 | * & .OR. (lb2.eq.0.and.iabs(lb1).eq.45) )go to 3455 | |
2432 | if( ((lb1.ge.3.and.lb1.le.5).and.iabs(lb2).eq.45) | |
2433 | & .OR.((lb2.ge.3.and.lb2.le.5).and.iabs(lb1).eq.45) )go to 3455 | |
2434 | c | |
2435 | ||
2436 | *** MULTISTRANGE PARTICLE PRODUCTION (END) | |
2437 | ||
2438 | c* K+ + La(Si) --> Meson + B | |
2439 | IF (LB1.EQ.23 .AND. (LB2.GE.14.AND.LB2.LE.17)) GOTO 5699 | |
2440 | IF (LB2.EQ.23 .AND. (LB1.GE.14.AND.LB1.LE.17)) GOTO 5699 | |
2441 | c* K- + La(Si)-bar --> Meson + B-bar | |
2442 | IF (LB1.EQ.21 .AND. (LB2.GE.-17.AND.LB2.LE.-14)) GOTO 5699 | |
2443 | IF (LB2.EQ.21 .AND. (LB1.GE.-17.AND.LB1.LE.-14)) GOTO 5699 | |
2444 | ||
2445 | c La/Si-bar + B --> pi + K+ | |
2446 | IF( (((LB1.eq.1.or.LB1.eq.2).or.(LB1.ge.6.and.LB1.le.13)) | |
2447 | & .AND.(LB2.GE.-17.AND.LB2.LE.-14)) .OR. | |
2448 | & (((LB2.eq.1.or.LB2.eq.2).or.(LB2.ge.6.and.LB2.le.13)) | |
2449 | & .AND.(LB1.GE.-17.AND.LB1.LE.-14)) )go to 5999 | |
2450 | c La/Si + B-bar --> pi + K- | |
2451 | IF( (((LB1.eq.-1.or.LB1.eq.-2).or.(LB1.le.-6.and.LB1.ge.-13)) | |
2452 | & .AND.(LB2.GE.14.AND.LB2.LE.17)) .OR. | |
2453 | & (((LB2.eq.-1.or.LB2.eq.-2).or.(LB2.le.-6.and.LB2.ge.-13)) | |
2454 | & .AND.(LB1.GE.14.AND.LB1.LE.17)) )go to 5999 | |
2455 | * | |
2456 | * | |
2457 | * K(K*) + Kbar(K*bar) --> phi + pi(rho,omega), M + M (M=pi,rho,omega,eta) | |
2458 | if(lb1.eq.21.and.lb2.eq.23) go to 8699 | |
2459 | if(lb2.eq.21.and.lb1.eq.23) go to 8699 | |
2460 | if(lb1.eq.30.and.lb2.eq.21) go to 8699 | |
2461 | if(lb2.eq.30.and.lb1.eq.21) go to 8699 | |
2462 | if(lb1.eq.-30.and.lb2.eq.23) go to 8699 | |
2463 | if(lb2.eq.-30.and.lb1.eq.23) go to 8699 | |
2464 | if(lb1.eq.-30.and.lb2.eq.30) go to 8699 | |
2465 | if(lb2.eq.-30.and.lb1.eq.30) go to 8699 | |
2466 | c* (K,K*)-bar + rho(omega) --> phi +(K,K*)-bar, piK and elastic | |
2467 | IF( ((lb1.eq.23.or.lb1.eq.21.or.iabs(lb1).eq.30) .and. | |
2468 | & (lb2.ge.25.and.lb2.le.28)) .OR. | |
2469 | & ((lb2.eq.23.or.lb2.eq.21.or.iabs(lb2).eq.30) .and. | |
2470 | & (lb1.ge.25.and.lb1.le.28)) ) go to 8799 | |
2471 | c | |
2472 | c* K*(-bar) + pi --> phi + (K,K*)-bar | |
2473 | IF( (iabs(lb1).eq.30.and.(lb2.ge.3.and.lb2.le.5)) .OR. | |
2474 | & (iabs(lb2).eq.30.and.(lb1.ge.3.and.lb1.le.5)) )go to 8799 | |
2475 | * | |
2476 | c | |
2477 | c* phi + N --> pi+N(D), rho+N(D), K+ +La | |
2478 | c* phi + D --> pi+N(D), rho+N(D) | |
2479 | IF( (lb1.eq.29 .and.(lb2.eq.1.or.lb2.eq.2.or. | |
2480 | & (lb2.ge.6.and.lb2.le.9))) .OR. | |
2481 | & (lb2.eq.29 .and.(lb1.eq.1.or.lb1.eq.2.or. | |
2482 | & (lb1.ge.6.and.lb1.le.9))) )go to 7222 | |
2483 | c | |
2484 | c* phi + (pi,rho,ome,K,K*-bar) --> K+K, K+K*, K*+K*, (pi,rho,omega)+(K,K*-bar) | |
2485 | IF( (lb1.eq.29 .and.((lb2.ge.3.and.lb2.le.5).or. | |
2486 | & (lb2.ge.21.and.lb2.le.28).or.iabs(lb2).eq.30)) .OR. | |
2487 | & (lb2.eq.29 .and.((lb1.ge.3.and.lb1.le.5).or. | |
2488 | & (lb1.ge.21.and.lb1.le.28).or.iabs(lb1).eq.30)) )THEN | |
2489 | go to 7444 | |
2490 | endif | |
2491 | * | |
2492 | c | |
2493 | * La/Si, Cas, Om (bar)-(rho,omega,phi) elastic colln | |
2494 | * pion vs. La, Ca, Omega-(bar) elastic coll. treated in resp. subroutines | |
2495 | if( ((iabs(lb1).ge.14.and.iabs(lb1).le.17).or.iabs(lb1).ge.40) | |
2496 | & .and.((lb2.ge.25.and.lb2.le.29).or.lb2.eq.0) )go to 888 | |
2497 | if( ((iabs(lb2).ge.14.and.iabs(lb2).le.17).or.iabs(lb2).ge.40) | |
2498 | & .and.((lb1.ge.25.and.lb1.le.29).or.lb1.eq.0) )go to 888 | |
2499 | c | |
2500 | c K+/K* (N,R) OR K-/K*- (N,R)-bar elastic scatt | |
2501 | if( ((lb1.eq.23.or.lb1.eq.30).and.(lb2.eq.1.or.lb2.eq.2.or. | |
2502 | & (lb2.ge.6.and.lb2.le.13))) .OR. | |
2503 | & ((lb2.eq.23.or.lb2.eq.30).and.(lb1.eq.1.or.lb1.eq.2.or. | |
2504 | & (lb1.ge.6.and.lb1.le.13))) ) go to 888 | |
2505 | if( ((lb1.eq.21.or.lb1.eq.-30).and.(lb2.eq.-1.or.lb2.eq.-2.or. | |
2506 | & (lb2.ge.-13.and.lb2.le.-6))) .OR. | |
2507 | & ((lb2.eq.21.or.lb2.eq.-30).and.(lb1.eq.-1.or.lb1.eq.-2.or. | |
2508 | & (lb1.ge.-13.and.lb1.le.-6))) ) go to 888 | |
2509 | c | |
2510 | * L/S-baryon elastic collision | |
2511 | If( ((lb1.ge.14.and.lb1.le.17).and.(lb2.ge.6.and.lb2.le.13)) | |
2512 | & .OR.((lb2.ge.14.and.lb2.le.17).and.(lb1.ge.6.and.lb1.le.13)) ) | |
2513 | & go to 7799 | |
2514 | If(((lb1.le.-14.and.lb1.ge.-17).and.(lb2.le.-6.and.lb2.ge.-13)) | |
2515 | &.OR.((lb2.le.-14.and.lb2.ge.-17).and.(lb1.le.-6.and.lb1.ge.-13))) | |
2516 | & go to 7799 | |
2517 | c | |
2518 | c skip other collns with perturbative particles or hyperon-bar | |
2519 | if( iabs(lb1).ge.40 .or. iabs(lb2).ge.40 | |
2520 | & .or. (lb1.le.-14.and.lb1.ge.-17) | |
2521 | & .or. (lb2.le.-14.and.lb2.ge.-17) )go to 400 | |
2522 | c | |
2523 | c | |
2524 | * anti-baryon on baryon resonaces | |
2525 | if((lb1.eq.-1.or.lb1.eq.-2.or.(lb1.ge.-13.and.lb1.le.-6)) | |
2526 | 1 .and.(lb2.eq.1.or.lb2.eq.2.or.(lb2.ge.6.and.lb2.le.13))) then | |
2527 | GOTO 2799 | |
2528 | else if((lb2.eq.-1.or.lb2.eq.-2.or.(lb2.ge.-13.and.lb2.le.-6)) | |
2529 | 1 .and.(lb1.eq.1.or.lb1.eq.2.or.(lb1.ge.6.and.lb1.le.13))) then | |
2530 | GOTO 2799 | |
2531 | END IF | |
2532 | c | |
2533 | clin-10/25/02 get rid of argument usage mismatch in newka(): | |
2534 | inewka=irun | |
2535 | c call newka(icase,irun,iseed,dt,nt, | |
2536 | clin-5/01/03 set iblock value in art1f.f, necessary for resonance studies: | |
2537 | c call newka(icase,inewka,iseed,dt,nt, | |
2538 | c & ictrl,i1,i2,srt,pcx,pcy,pcz) | |
2539 | call newka(icase,inewka,iseed,dt,nt, | |
2540 | & ictrl,i1,i2,srt,pcx,pcy,pcz,iblock) | |
2541 | ||
2542 | clin-10/25/02-end | |
2543 | IF (ICTRL .EQ. 1) GOTO 400 | |
2544 | c | |
2545 | * SEPARATE NUCLEON+NUCLEON( BARYON RESONANCE+ BARYON RESONANCE ELASTIC | |
2546 | * COLLISION), BARYON RESONANCE+NUCLEON AND BARYON-PION | |
2547 | * COLLISIONS INTO THREE PARTS TO CHECK IF THEY ARE GOING TO SCATTER, | |
2548 | * WE only allow L/S to COLLIDE elastically with a nucleon and meson | |
2549 | if((iabs(lb1).ge.14.and.iabs(lb1).le.17). | |
2550 | & or.(iabs(lb2).ge.14.and.iabs(lb2).le.17))go to 400 | |
2551 | * IF PION+PION COLLISIONS GO TO 777 | |
2552 | * if pion+eta, eta+eta to create kaons go to 777 | |
2553 | IF((lb1.ge.3.and.lb1.le.5).and.(lb2.ge.3.and.lb2.le.5))GO TO 777 | |
2554 | if(lb1.eq.0.and.(lb2.ge.3.and.lb2.le.5)) go to 777 | |
2555 | if(lb2.eq.0.and.(lb1.ge.3.and.lb1.le.5)) go to 777 | |
2556 | if(lb1.eq.0.and.lb2.eq.0)go to 777 | |
2557 | * we assume that rho and omega behave the same way as pions in | |
2558 | * kaon production | |
2559 | * (1) rho(omega)+rho(omega) | |
2560 | if( (lb1.ge.25.and.lb1.le.28).and. | |
2561 | & (lb2.ge.25.and.lb2.le.28) )goto 777 | |
2562 | * (2) rho(omega)+pion | |
2563 | If((lb1.ge.25.and.lb1.le.28).and.(lb2.ge.3.and.lb2.le.5))go to 777 | |
2564 | If((lb2.ge.25.and.lb2.le.28).and.(lb1.ge.3.and.lb1.le.5))go to 777 | |
2565 | * (3) rho(omega)+eta | |
2566 | if((lb1.ge.25.and.lb1.le.28).and.lb2.eq.0)go to 777 | |
2567 | if((lb2.ge.25.and.lb2.le.28).and.lb1.eq.0)go to 777 | |
2568 | c | |
2569 | * if kaon+pion collisions go to 889 | |
2570 | if((lb1.eq.23.or.lb1.eq.21).and.(lb2.ge.3.and.lb2.le.5))go to 889 | |
2571 | if((lb2.eq.23.or.lb2.eq.21).and.(lb1.ge.3.and.lb1.le.5))go to 889 | |
2572 | c | |
2573 | clin-2/06/03 skip all other (K K* Kbar K*bar) channels: | |
2574 | * SKIP all other K and K* RESCATTERINGS | |
2575 | If(iabs(lb1).eq.30.or.iabs(lb2).eq.30) go to 400 | |
2576 | If(lb1.eq.21.or.lb2.eq.21) go to 400 | |
2577 | If(lb1.eq.23.or.lb2.eq.23) go to 400 | |
2578 | c | |
2579 | * IF PION+baryon COLLISION GO TO 3 | |
2580 | IF( (LB1.ge.3.and.LB1.le.5) .and. | |
2581 | & (iabs(LB2).eq.1.or.iabs(LB2).eq.2.or. | |
2582 | & (iabs(LB2).ge.6.and.iabs(LB2).le.13)) )GO TO 3 | |
2583 | IF( (LB2.ge.3.and.LB2.le.5) .and. | |
2584 | & (iabs(LB1).eq.1.or.iabs(LB1).eq.2.or. | |
2585 | & (iabs(LB1).ge.6.and.iabs(LB1).le.13)) )GO TO 3 | |
2586 | c | |
2587 | * IF rho(omega)+NUCLEON (baryon resonance) COLLISION GO TO 33 | |
2588 | IF( (LB1.ge.25.and.LB1.le.28) .and. | |
2589 | & (iabs(LB2).eq.1.or.iabs(LB2).eq.2.or. | |
2590 | & (iabs(LB2).ge.6.and.iabs(LB2).le.13)) )GO TO 33 | |
2591 | IF( (LB2.ge.25.and.LB2.le.28) .and. | |
2592 | & (iabs(LB1).eq.1.or.iabs(LB1).eq.2.or. | |
2593 | & (iabs(LB1).ge.6.and.iabs(LB1).le.13)) )GO TO 33 | |
2594 | c | |
2595 | * IF ETA+NUCLEON (baryon resonance) COLLISIONS GO TO 547 | |
2596 | IF( LB1.eq.0 .and. | |
2597 | & (iabs(LB2).eq.1.or.iabs(LB2).eq.2.or. | |
2598 | & (iabs(LB2).ge.6.and.iabs(LB2).le.13)) )GO TO 547 | |
2599 | IF( LB2.eq.0 .and. | |
2600 | & (iabs(LB1).eq.1.or.iabs(LB1).eq.2.or. | |
2601 | & (iabs(LB1).ge.6.and.iabs(LB1).le.13)) )GO TO 547 | |
2602 | c | |
2603 | * IF NUCLEON+BARYON RESONANCE COLLISION GO TO 44 | |
2604 | IF((LB1.eq.1.or.lb1.eq.2). | |
2605 | & AND.(LB2.GT.5.and.lb2.le.13))GOTO 44 | |
2606 | IF((LB2.eq.1.or.lb2.eq.2). | |
2607 | & AND.(LB1.GT.5.and.lb1.le.13))GOTO 44 | |
2608 | IF((LB1.eq.-1.or.lb1.eq.-2). | |
2609 | & AND.(LB2.LT.-5.and.lb2.ge.-13))GOTO 44 | |
2610 | IF((LB2.eq.-1.or.lb2.eq.-2). | |
2611 | & AND.(LB1.LT.-5.and.lb1.ge.-13))GOTO 44 | |
2612 | c | |
2613 | * IF NUCLEON+NUCLEON COLLISION GO TO 4 | |
2614 | IF((LB1.eq.1.or.lb1.eq.2).AND.(LB2.eq.1.or.lb2.eq.2))GOTO 4 | |
2615 | IF((LB1.eq.-1.or.lb1.eq.-2).AND.(LB2.eq.-1.or.lb2.eq.-2))GOTO 4 | |
2616 | c | |
2617 | * IF BARYON RESONANCE+BARYON RESONANCE COLLISION GO TO 444 | |
2618 | IF((LB1.GT.5.and.lb1.le.13).AND. | |
2619 | & (LB2.GT.5.and.lb2.le.13)) GOTO 444 | |
2620 | IF((LB1.LT.-5.and.lb1.ge.-13).AND. | |
2621 | & (LB2.LT.-5.and.lb2.ge.-13)) GOTO 444 | |
2622 | c | |
2623 | * if L/S+L/S or L/s+nucleon go to 400 | |
2624 | * otherwise, develop a model for their collisions | |
2625 | if((lb1.lt.3).and.(lb2.ge.14.and.lb2.le.17))goto 400 | |
2626 | if((lb2.lt.3).and.(lb1.ge.14.and.lb1.le.17))goto 400 | |
2627 | if((lb1.ge.14.and.lb1.le.17).and. | |
2628 | & (lb2.ge.14.and.lb2.le.17))goto 400 | |
2629 | c | |
2630 | * otherwise, go out of the loop | |
2631 | go to 400 | |
2632 | * | |
2633 | * | |
2634 | 547 IF(LB1*LB2.EQ.0)THEN | |
2635 | * (1) FOR ETA+NUCLEON SYSTEM, we allow both elastic collision, | |
2636 | * i.e. N*(1535) formation and kaon production | |
2637 | * the total kaon production cross section is | |
2638 | * ASSUMED to be THE SAME AS PION+NUCLEON COLLISIONS | |
2639 | * (2) for eta+baryon resonance we only allow kaon production | |
2640 | ece=(em1+em2+0.02)**2 | |
2641 | xkaon0=0. | |
2642 | if(srt.ge.1.63.AND.SRT.LE.1.7)xkaon0=pnlka(srt) | |
2643 | IF(SRT.GT.1.7)XKAON0=PNLKA(SRT)+pnska(srt) | |
2644 | cbz3/7/99 neutralk | |
2645 | XKAON0 = 2.0 * XKAON0 | |
2646 | cbz3/7/99 neutralk end | |
2647 | ||
2648 | * Here we negelect eta+n inelastic collisions other than the | |
2649 | * kaon production, therefore the total inelastic cross section | |
2650 | * xkaon equals to the xkaon0 (kaon production cross section) | |
2651 | xkaon=xkaon0 | |
2652 | * note here the xkaon is in unit of fm**2 | |
2653 | XETA=XN1535(I1,I2,0) | |
2654 | If((iabs(LB(I1)).ge.6.and.iabs(LB(I1)).le.13).or. | |
2655 | & (iabs(LB(I2)).ge.6.and.iabs(LB(I2)).le.13)) xeta=0. | |
2656 | IF((XETA+xkaon).LE.1.e-06)GO TO 400 | |
2657 | DSE=SQRT((XETA+XKAON)/PI) | |
2658 | DELTRE=DSE+0.1 | |
2659 | px1cm=pcx | |
2660 | py1cm=pcy | |
2661 | pz1cm=pcz | |
2662 | * CHECK IF N*(1535) resonance CAN BE FORMED | |
2663 | CALL DISTCE(I1,I2,DELTRE,DSE,DT,ECE,SRT,IC, | |
2664 | 1 PCX,PCY,PCZ) | |
2665 | IF(IC.EQ.-1) GO TO 400 | |
2666 | ekaon(4,iss)=ekaon(4,iss)+1 | |
2667 | IF(XKAON0/(XKAON+XETA).GT.RANART(NSEED))then | |
2668 | * kaon production, USE CREN TO CALCULATE THE MOMENTUM OF L/S K+ | |
2669 | CALL CREN(PX1CM,PY1CM,PZ1CM,SRT,I1,I2,IBLOCK) | |
2670 | * kaon production | |
2671 | IF(IBLOCK.EQ.7) then | |
2672 | LPN=LPN+1 | |
2673 | elseIF(IBLOCK.EQ.-7) then | |
2674 | endif | |
2675 | c | |
2676 | em1=e(i1) | |
2677 | em2=e(i2) | |
2678 | GO TO 440 | |
2679 | endif | |
2680 | * N*(1535) FORMATION | |
2681 | resona=1. | |
2682 | GO TO 98 | |
2683 | ENDIF | |
2684 | *IF PION+NUCLEON (baryon resonance) COLLISION THEN | |
2685 | 3 CONTINUE | |
2686 | px1cm=pcx | |
2687 | py1cm=pcy | |
2688 | pz1cm=pcz | |
2689 | * the total kaon production cross section for pion+baryon (resonance) is | |
2690 | * assumed to be the same as in pion+nucleon | |
2691 | xkaon0=0. | |
2692 | if(srt.ge.1.63.AND.SRT.LE.1.7)xkaon0=pnlka(srt) | |
2693 | IF(SRT.GT.1.7)XKAON0=PNLKA(SRT)+pnska(srt) | |
2694 | XKAON0 = 2.0 * XKAON0 | |
2695 | c | |
2696 | c sp11/21/01 phi production: pi +N(D) -> phi + N(D) | |
2697 | Xphi = 0. | |
2698 | if( ( ((lb1.ge.1.and.lb1.le.2).or. | |
2699 | & (lb1.ge.6.and.lb1.le.9)) | |
2700 | & .OR.((lb2.ge.1.and.lb2.le.2).or. | |
2701 | & (lb2.ge.6.and.lb2.le.9)) ) | |
2702 | & .AND. srt.gt.1.958) | |
2703 | & call pibphi(srt,lb1,lb2,em1,em2,Xphi,xphin) | |
2704 | c !! in fm^2 above | |
2705 | ||
2706 | * if a pion collide with a baryon resonance, | |
2707 | * we only allow kaon production AND the reabsorption | |
2708 | * processes: Delta+pion-->N+pion, N*+pion-->N+pion | |
2709 | * Later put in pion+baryon resonance elastic | |
2710 | * cross through forming higher resonances implicitly. | |
2711 | c If(em1.gt.1.or.em2.gt.1.)go to 31 | |
2712 | If((iabs(LB(I1)).ge.6.and.iabs(LB(I1)).le.13).or. | |
2713 | & (iabs(LB(I2)).ge.6.and.iabs(LB(I2)).le.13)) go to 31 | |
2714 | * For pion+nucleon collisions: | |
2715 | * using the experimental pion+nucleon inelastic cross section, we assume it | |
2716 | * is exhausted by the Delta+pion, Delta+rho and Delta+omega production | |
2717 | * and kaon production. In the following we first check whether | |
2718 | * inelastic pion+n collision can happen or not, then determine in | |
2719 | * crpn whether it is through pion production or through kaon production | |
2720 | * note that the xkaon0 is the kaon production cross section | |
2721 | * Note in particular that: | |
2722 | * xkaon in the following is the total pion+nucleon inelastic cross section | |
2723 | * note here the xkaon is in unit of fm**2, xnpi is also in unit of fm**2 | |
2724 | * FOR PION+NUCLEON SYSTEM, THE MINIMUM S IS 1.2056 the minimum srt for | |
2725 | * elastic scattering, and it is 1.60 for pion production, 1.63 for LAMBDA+kaon | |
2726 | * production and 1.7 FOR SIGMA+KAON | |
2727 | * (EC = PION MASS+NUCLEON MASS+20MEV)**2 | |
2728 | EC=(em1+em2+0.02)**2 | |
2729 | xkaon=0. | |
2730 | if(srt.gt.1.23)xkaon=(pionpp(srt)+PIPP1(SRT))/2. | |
2731 | * pion+nucleon elastic cross section is divided into two parts: | |
2732 | * (1) forming D(1232)+N*(1440) +N*(1535) | |
2733 | * (2) cross sections forming higher resonances are calculated as | |
2734 | * the difference between the total elastic and (1), this part is | |
2735 | * treated as direct process since we do not explicitLY include | |
2736 | * higher resonances. | |
2737 | * the following is the resonance formation cross sections. | |
2738 | *1. PION(+)+PROTON-->DELTA++,PION(-)+NEUTRON-->DELTA(-) | |
2739 | IF( (LB1*LB2.EQ.5.OR.((LB1*LB2.EQ.6).AND. | |
2740 | & (LB1.EQ.3.OR.LB2.EQ.3))) | |
2741 | & .OR. (LB1*LB2.EQ.-3.OR.((LB1*LB2.EQ.-10).AND. | |
2742 | & (LB1.EQ.5.OR.LB2.EQ.5))) )then | |
2743 | XMAX=190. | |
2744 | xmaxn=0 | |
2745 | xmaxn1=0 | |
2746 | xdirct=dirct1(srt) | |
2747 | go to 678 | |
2748 | endif | |
2749 | *2. PION(-)+PROTON-->DELTA0,PION(+)+NEUTRON-->DELTA+ | |
2750 | * or N*(+)(1440) or N*(+)(1535) | |
2751 | * note the factor 2/3 is from the isospin consideration and | |
2752 | * the factor 0.6 or 0.5 is the branching ratio for the resonance to decay | |
2753 | * into pion+nucleon | |
2754 | IF( (LB1*LB2.EQ.3.OR.((LB1*LB2.EQ.10).AND. | |
2755 | & (LB1.EQ.5.OR.LB2.EQ.5))) | |
2756 | & .OR. (LB1*LB2.EQ.-5.OR.((LB1*LB2.EQ.-6).AND. | |
2757 | & (LB1.EQ.3.OR.LB2.EQ.3))) )then | |
2758 | XMAX=27. | |
2759 | xmaxn=2./3.*25.*0.6 | |
2760 | xmaxn1=2./3.*40.*0.5 | |
2761 | xdirct=dirct2(srt) | |
2762 | go to 678 | |
2763 | endif | |
2764 | *3. PION0+PROTON-->DELTA+,PION0+NEUTRON-->DELTA0, or N*(0)(1440) or N*(0)(1535) | |
2765 | IF((LB1.EQ.4.OR.LB2.EQ.4).AND. | |
2766 | & (iabs(LB1*LB2).EQ.4.OR.iabs(LB1*LB2).EQ.8))then | |
2767 | XMAX=50. | |
2768 | xmaxn=1./3.*25*0.6 | |
2769 | xmaxn1=1/3.*40.*0.5 | |
2770 | xdirct=dirct3(srt) | |
2771 | go to 678 | |
2772 | endif | |
2773 | 678 xnpin1=0 | |
2774 | xnpin=0 | |
2775 | XNPID=XNPI(I1,I2,1,XMAX) | |
2776 | if(xmaxn1.ne.0)xnpin1=XNPI(i1,i2,2,XMAXN1) | |
2777 | if(xmaxn.ne.0)XNPIN=XNPI(I1,I2,0,XMAXN) | |
2778 | * the following | |
2779 | xres=xnpid+xnpin+xnpin1 | |
2780 | xnelas=xres+xdirct | |
2781 | icheck=1 | |
2782 | go to 34 | |
2783 | * For pion + baryon resonance the reabsorption | |
2784 | * cross section is calculated from the detailed balance | |
2785 | * using reab(i1,i2,srt,ictrl), ictrl=1, 2 and 3 | |
2786 | * for pion, rho and omega + baryon resonance | |
2787 | 31 ec=(em1+em2+0.02)**2 | |
2788 | xreab=reab(i1,i2,srt,1) | |
2789 | ||
2790 | clin-12/02/00 to satisfy detailed balance, forbid N* absorptions: | |
2791 | if((iabs(lb1).ge.10.and.iabs(lb1).le.13) | |
2792 | 1 .or.(iabs(lb2).ge.10.and.iabs(lb2).le.13)) XREAB = 0. | |
2793 | ||
2794 | xkaon=xkaon0+xreab | |
2795 | * a constant of 10 mb IS USED FOR PION + N* RESONANCE, | |
2796 | IF((iabs(LB1).GT.9.AND.iabs(LB1).LE.13) .OR. | |
2797 | & (iabs(LB2).GT.9.AND.iabs(LB2).LE.13))THEN | |
2798 | Xnelas=1.0 | |
2799 | ELSE | |
2800 | XNELAS=DPION(EM1,EM2,LB1,LB2,SRT) | |
2801 | ENDIF | |
2802 | icheck=2 | |
2803 | 34 IF((Xnelas+xkaon+Xphi).LE.0.000001)GO TO 400 | |
2804 | DS=SQRT((Xnelas+xkaon+Xphi)/PI) | |
2805 | csp09/20/01 | |
2806 | c totcr = xnelas+xkaon | |
2807 | c if(srt .gt. 3.5)totcr = max1(totcr,3.) | |
2808 | c DS=SQRT(totcr/PI) | |
2809 | csp09/20/01 end | |
2810 | ||
2811 | deltar=ds+0.1 | |
2812 | CALL DISTCE(I1,I2,DELTAR,DS,DT,EC,SRT,IC, | |
2813 | 1 PCX,PCY,PCZ) | |
2814 | IF(IC.EQ.-1) GO TO 400 | |
2815 | ekaon(4,iss)=ekaon(4,iss)+1 | |
2816 | c*** | |
2817 | * check what kind of collision has happened | |
2818 | * (1) pion+baryon resonance | |
2819 | * if direct elastic process | |
2820 | if(icheck.eq.2)then | |
2821 | c !!sp11/21/01 | |
2822 | if(xnelas/(xnelas+xkaon+Xphi).ge.RANART(NSEED))then | |
2823 | c call Crdir(PX1CM,PY1CM,PZ1CM,SRT,I1,I2) | |
2824 | call Crdir(PX1CM,PY1CM,PZ1CM,SRT,I1,I2,IBLOCK) | |
2825 | go to 440 | |
2826 | else | |
2827 | * for inelastic process, go to 96 to check | |
2828 | * kaon production and pion reabsorption : pion+D(N*)-->pion+N | |
2829 | go to 96 | |
2830 | endif | |
2831 | endif | |
2832 | *(2) pion+n | |
2833 | * CHECK IF inELASTIC COLLISION IS POSSIBLE FOR PION+N COLLISIONS | |
2834 | clin-8/17/00 typo corrected, many other occurences: | |
2835 | c IF(XKAON/(XKAON+Xnelas).GT.RANART(NSEED))GO TO 95 | |
2836 | IF((XKAON+Xphi)/(XKAON+Xphi+Xnelas).GT.RANART(NSEED))GO TO 95 | |
2837 | ||
2838 | * direct process | |
2839 | if(xdirct/xnelas.ge.RANART(NSEED))then | |
2840 | c call Crdir(PX1CM,PY1CM,PZ1CM,SRT,I1,I2) | |
2841 | call Crdir(PX1CM,PY1CM,PZ1CM,SRT,I1,I2,IBLOCK) | |
2842 | go to 440 | |
2843 | endif | |
2844 | * now resonance formation or direct process (higher resonances) | |
2845 | IF( (LB1*LB2.EQ.5.OR.((LB1*LB2.EQ.6).AND. | |
2846 | & (LB1.EQ.3.OR.LB2.EQ.3))) | |
2847 | & .OR. (LB1*LB2.EQ.-3.OR.((LB1*LB2.EQ.-10).AND. | |
2848 | & (LB1.EQ.5.OR.LB2.EQ.5))) )then | |
2849 | c | |
2850 | * ONLY DELTA RESONANCE IS POSSIBLE, go to 99 | |
2851 | GO TO 99 | |
2852 | else | |
2853 | * NOW BOTH DELTA AND N* RESORANCE ARE POSSIBLE | |
2854 | * DETERMINE THE RESORANT STATE BY USING THE MONTRE CARLO METHOD | |
2855 | XX=(XNPIN+xnpin1)/xres | |
2856 | IF(RANART(NSEED).LT.XX)THEN | |
2857 | * N* RESONANCE IS SELECTED | |
2858 | * decide N*(1440) or N*(1535) formation | |
2859 | xx0=xnpin/(xnpin+xnpin1) | |
2860 | if(RANART(NSEED).lt.xx0)then | |
2861 | RESONA=0. | |
2862 | * N*(1440) formation | |
2863 | GO TO 97 | |
2864 | else | |
2865 | * N*(1535) formation | |
2866 | resona=1. | |
2867 | GO TO 98 | |
2868 | endif | |
2869 | ELSE | |
2870 | * DELTA RESONANCE IS SELECTED | |
2871 | GO TO 99 | |
2872 | ENDIF | |
2873 | ENDIF | |
2874 | 97 CONTINUE | |
2875 | IF(RESONA.EQ.0.)THEN | |
2876 | *N*(1440) IS PRODUCED,WE DETERMINE THE CHARGE STATE OF THE PRODUCED N* | |
2877 | I=I1 | |
2878 | IF(EM1.LT.0.6)I=I2 | |
2879 | * (0.1) n+pion(+)-->N*(+) | |
2880 | IF( (LB1*LB2.EQ.10.AND.(LB1.EQ.5.OR.LB2.EQ.5)) | |
2881 | & .OR.(LB1*LB2.EQ.-6.AND.(LB1.EQ.3.OR.LB2.EQ.3)) )THEN | |
2882 | LB(I)=11 | |
2883 | go to 303 | |
2884 | ENDIF | |
2885 | * (0.2) p+pion(0)-->N*(+) | |
2886 | c IF(LB(I1)*LB(I2).EQ.4.AND.(LB(I1).EQ.1.OR.LB(I2).EQ.1))THEN | |
2887 | IF(iabs(LB(I1)*LB(I2)).EQ.4.AND. | |
2888 | & (LB(I1).EQ.4.OR.LB(I2).EQ.4))THEN | |
2889 | LB(I)=11 | |
2890 | go to 303 | |
2891 | ENDIF | |
2892 | * (0.3) n+pion(0)-->N*(0) | |
2893 | c IF(LB(I1)*LB(I2).EQ.8.AND.(LB(I1).EQ.2.OR.LB(I2).EQ.2))THEN | |
2894 | IF(iabs(LB(I1)*LB(I2)).EQ.8.AND. | |
2895 | & (LB(I1).EQ.4.OR.LB(I2).EQ.4))THEN | |
2896 | LB(I)=10 | |
2897 | go to 303 | |
2898 | ENDIF | |
2899 | * (0.4) p+pion(-)-->N*(0) | |
2900 | c IF(LB(I1)*LB(I2).EQ.3)THEN | |
2901 | IF( (LB(I1)*LB(I2).EQ.3) | |
2902 | & .OR.(LB(I1)*LB(I2).EQ.-5) )THEN | |
2903 | LB(I)=10 | |
2904 | ENDIF | |
2905 | 303 CALL DRESON(I1,I2) | |
2906 | if(LB1.lt.0.or.LB2.lt.0) LB(I)=-LB(I) | |
2907 | lres=lres+1 | |
2908 | GO TO 101 | |
2909 | *COM: GO TO 101 TO CHANGE THE PHASE SPACE DENSITY OF THE NUCLEON | |
2910 | ENDIF | |
2911 | 98 IF(RESONA.EQ.1.)THEN | |
2912 | *N*(1535) IS PRODUCED, WE DETERMINE THE CHARGE STATE OF THE PRODUCED N* | |
2913 | I=I1 | |
2914 | IF(EM1.LT.0.6)I=I2 | |
2915 | * note: this condition applies to both eta and pion | |
2916 | * (0.1) n+pion(+)-->N*(+) | |
2917 | c IF(LB1*LB2.EQ.10.AND.(LB1.EQ.2.OR.LB2.EQ.2))THEN | |
2918 | IF( (LB1*LB2.EQ.10.AND.(LB1.EQ.5.OR.LB2.EQ.5)) | |
2919 | & .OR.(LB1*LB2.EQ.-6.AND.(LB1.EQ.3.OR.LB2.EQ.3)) )THEN | |
2920 | LB(I)=13 | |
2921 | go to 304 | |
2922 | ENDIF | |
2923 | * (0.2) p+pion(0)-->N*(+) | |
2924 | c IF(LB(I1)*LB(I2).EQ.4.AND.(LB(I1).EQ.1.OR.LB(I2).EQ.1))THEN | |
2925 | IF(iabs(LB(I1)*LB(I2)).EQ.4.AND. | |
2926 | & (LB(I1).EQ.4.OR.LB(I2).EQ.4))THEN | |
2927 | LB(I)=13 | |
2928 | go to 304 | |
2929 | ENDIF | |
2930 | * (0.3) n+pion(0)-->N*(0) | |
2931 | c IF(LB(I1)*LB(I2).EQ.8.AND.(LB(I1).EQ.2.OR.LB(I2).EQ.2))THEN | |
2932 | IF(iabs(LB(I1)*LB(I2)).EQ.8.AND. | |
2933 | & (LB(I1).EQ.4.OR.LB(I2).EQ.4))THEN | |
2934 | LB(I)=12 | |
2935 | go to 304 | |
2936 | ENDIF | |
2937 | * (0.4) p+pion(-)-->N*(0) | |
2938 | c IF(LB(I1)*LB(I2).EQ.3)THEN | |
2939 | IF( (LB(I1)*LB(I2).EQ.3) | |
2940 | & .OR.(LB(I1)*LB(I2).EQ.-5) )THEN | |
2941 | LB(I)=12 | |
2942 | go to 304 | |
2943 | endif | |
2944 | * (0.5) p+eta-->N*(+)(1535),n+eta-->N*(0)(1535) | |
2945 | if(lb(i1)*lb(i2).eq.0)then | |
2946 | c if((lb(i1).eq.1).or.(lb(i2).eq.1))then | |
2947 | if(iabs(lb(i1)).eq.1.or.iabs(lb(i2)).eq.1)then | |
2948 | LB(I)=13 | |
2949 | go to 304 | |
2950 | ELSE | |
2951 | LB(I)=12 | |
2952 | ENDIF | |
2953 | endif | |
2954 | 304 CALL DRESON(I1,I2) | |
2955 | if(LB1.lt.0.or.LB2.lt.0) LB(I)=-LB(I) | |
2956 | lres=lres+1 | |
2957 | GO TO 101 | |
2958 | *COM: GO TO 101 TO CHANGE THE PHASE SPACE DENSITY OF THE NUCLEON | |
2959 | ENDIF | |
2960 | *DELTA IS PRODUCED,IN THE FOLLOWING WE DETERMINE THE | |
2961 | *CHARGE STATE OF THE PRODUCED DELTA | |
2962 | 99 LRES=LRES+1 | |
2963 | I=I1 | |
2964 | IF(EM1.LE.0.6)I=I2 | |
2965 | * (1) p+pion(+)-->DELTA(++) | |
2966 | c IF(LB(I1)*LB(I2).EQ.5)THEN | |
2967 | IF( (LB(I1)*LB(I2).EQ.5) | |
2968 | & .OR.(LB(I1)*LB(I2).EQ.-3) )THEN | |
2969 | LB(I)=9 | |
2970 | go to 305 | |
2971 | ENDIF | |
2972 | * (2) p+pion(0)-->delta(+) | |
2973 | c IF(LB(I1)*LB(I2).EQ.4.AND.(LB(I1).EQ.1.OR.LB(I2).EQ.1))then | |
2974 | IF(iabs(LB(I1)*LB(I2)).EQ.4.AND.(LB(I1).EQ.4.OR.LB(I2).EQ.4))then | |
2975 | LB(I)=8 | |
2976 | go to 305 | |
2977 | ENDIF | |
2978 | * (3) n+pion(+)-->delta(+) | |
2979 | c IF(LB(I1)*LB(I2).EQ.10.AND.(LB(I1).EQ.2.OR.LB(I2).EQ.2))THEN | |
2980 | IF( (LB(I1)*LB(I2).EQ.10.AND.(LB(I1).EQ.5.OR.LB(I2).EQ.5)) | |
2981 | & .OR.(LB(I1)*LB(I2).EQ.-6.AND.(LB(I1).EQ.3.OR.LB(I2).EQ.3)) )THEN | |
2982 | LB(I)=8 | |
2983 | go to 305 | |
2984 | ENDIF | |
2985 | * (4) n+pion(0)-->delta(0) | |
2986 | c IF(LB(I1)*LB(I2).EQ.8.AND.(LB(I1).EQ.2.OR.LB(I2).EQ.2))THEN | |
2987 | IF(iabs(LB(I1)*LB(I2)).EQ.8.AND.(LB(I1).EQ.4.OR.LB(I2).EQ.4))THEN | |
2988 | LB(I)=7 | |
2989 | go to 305 | |
2990 | ENDIF | |
2991 | * (5) p+pion(-)-->delta(0) | |
2992 | c IF(LB(I1)*LB(I2).EQ.3)THEN | |
2993 | IF( (LB(I1)*LB(I2).EQ.3) | |
2994 | & .OR.(LB(I1)*LB(I2).EQ.-5) )THEN | |
2995 | LB(I)=7 | |
2996 | go to 305 | |
2997 | ENDIF | |
2998 | * (6) n+pion(-)-->delta(-) | |
2999 | c IF(LB(I1)*LB(I2).EQ.6.AND.(LB(I1).EQ.2.OR.LB(I2).EQ.2))THEN | |
3000 | IF( (LB(I1)*LB(I2).EQ.6.AND.(LB(I1).EQ.3.OR.LB(I2).EQ.3)) | |
3001 | & .OR.(LB(I1)*LB(I2).EQ.-10.AND.(LB(I1).EQ.5.OR.LB(I2).EQ.5)) )THEN | |
3002 | LB(I)=6 | |
3003 | ENDIF | |
3004 | 305 CALL DRESON(I1,I2) | |
3005 | if(LB1.lt.0.or.LB2.lt.0) LB(I)=-LB(I) | |
3006 | GO TO 101 | |
3007 | ||
3008 | csp-11/08/01 K* | |
3009 | * FOR kaON+pion COLLISIONS, form K* (bar) or | |
3010 | c La/Si-bar + N <-- pi + K+ | |
3011 | c La/Si + N-bar <-- pi + K- | |
3012 | c phi + K <-- pi + K | |
3013 | clin (rho,omega) + K* <-- pi + K | |
3014 | 889 CONTINUE | |
3015 | PX1CM=PCX | |
3016 | PY1CM=PCY | |
3017 | PZ1CM=PCZ | |
3018 | EC=(em1+em2+0.02)**2 | |
3019 | * the cross section is from C.M. Ko, PRC 23, 2760 (1981). | |
3020 | spika=60./(1.+4.*(srt-0.895)**2/(0.05)**2) | |
3021 | c | |
3022 | cc if(lb(i1).eq.23.or.lb(i2).eq.23)then !! block K- + pi->La + B-bar | |
3023 | ||
3024 | call Crkpla(PX1CM,PY1CM,PZ1CM,EC,SRT,spika, | |
3025 | & emm1,emm2,lbp1,lbp2,I1,I2,icase,srhoks) | |
3026 | cc | |
3027 | c* only K* or K*bar formation | |
3028 | c else | |
3029 | c DSkn=SQRT(spika/PI/10.) | |
3030 | c dsknr=dskn+0.1 | |
3031 | c CALL DISTCE(I1,I2,dsknr,DSkn,DT,EC,SRT,IC, | |
3032 | c 1 PX1CM,PY1CM,PZ1CM) | |
3033 | c IF(IC.EQ.-1) GO TO 400 | |
3034 | c icase = 1 | |
3035 | c endif | |
3036 | c | |
3037 | if(icase .eq. 0) then | |
3038 | iblock=0 | |
3039 | go to 400 | |
3040 | endif | |
3041 | ||
3042 | if(icase .eq. 1)then | |
3043 | call KSRESO(I1,I2) | |
3044 | clin-4/30/03 give non-zero iblock for resonance selections: | |
3045 | iblock = 171 | |
3046 | ctest off for resonance (phi, K*) studies: | |
3047 | c if(iabs(lb(i1)).eq.30) then | |
3048 | c write(17,112) 'ks',lb(i1),p(1,i1),p(2,i1),p(3,i1),e(i1),nt | |
3049 | c elseif(iabs(lb(i2)).eq.30) then | |
3050 | c write(17,112) 'ks',lb(i2),p(1,i2),p(2,i2),p(3,i2),e(i2),nt | |
3051 | c endif | |
3052 | c | |
3053 | lres=lres+1 | |
3054 | go to 101 | |
3055 | elseif(icase .eq. 2)then | |
3056 | iblock = 71 | |
3057 | c | |
3058 | * La/Si (bar) formation | |
3059 | ||
3060 | elseif(iabs(icase).eq.5)then | |
3061 | iblock = 88 | |
3062 | ||
3063 | else | |
3064 | * | |
3065 | * phi formation | |
3066 | iblock = 222 | |
3067 | endif | |
3068 | LB(I1) = lbp1 | |
3069 | LB(I2) = lbp2 | |
3070 | E(I1) = emm1 | |
3071 | E(I2) = emm2 | |
3072 | em1=e(i1) | |
3073 | em2=e(i2) | |
3074 | ntag = 0 | |
3075 | go to 440 | |
3076 | c | |
3077 | 33 continue | |
3078 | em1=e(i1) | |
3079 | em2=e(i2) | |
3080 | * (1) if rho or omega collide with a nucleon we allow both elastic | |
3081 | * scattering and kaon production to happen if collision conditions | |
3082 | * are satisfied. | |
3083 | * (2) if rho or omega collide with a baryon resonance we allow | |
3084 | * kaon production, pion reabsorption: rho(omega)+D(N*)-->pion+N | |
3085 | * and NO elastic scattering to happen | |
3086 | xelstc=0 | |
3087 | if((lb1.ge.25.and.lb1.le.28).and. | |
3088 | & (iabs(lb2).eq.1.or.iabs(lb2).eq.2)) | |
3089 | & xelstc=ERHON(EM1,EM2,LB1,LB2,SRT) | |
3090 | if((lb2.ge.25.and.lb2.le.28).and. | |
3091 | & (iabs(lb1).eq.1.or.iabs(lb1).eq.2)) | |
3092 | & xelstc=ERHON(EM1,EM2,LB1,LB2,SRT) | |
3093 | ec=(em1+em2+0.02)**2 | |
3094 | * the kaon production cross section is | |
3095 | xkaon0=0 | |
3096 | if(srt.ge.1.63.AND.SRT.LE.1.7)xkaon0=pnlka(srt) | |
3097 | IF(SRT.GT.1.7)XKAON0=PNLKA(SRT)+pnska(srt) | |
3098 | if(xkaon0.lt.0)xkaon0=0 | |
3099 | ||
3100 | cbz3/7/99 neutralk | |
3101 | XKAON0 = 2.0 * XKAON0 | |
3102 | cbz3/7/99 neutralk end | |
3103 | ||
3104 | * the total inelastic cross section for rho(omega)+N is | |
3105 | xkaon=xkaon0 | |
3106 | ichann=0 | |
3107 | * the total inelastic cross section for rho (omega)+D(N*) is | |
3108 | * xkaon=xkaon0+reab(**) | |
3109 | ||
3110 | c sp11/21/01 phi production: rho + N(D) -> phi + N(D) | |
3111 | Xphi = 0. | |
3112 | if( ( (((lb1.ge.1.and.lb1.le.2).or. | |
3113 | & (lb1.ge.6.and.lb1.le.9)) | |
3114 | & .and.(lb2.ge.25.and.lb2.le.27)) | |
3115 | & .OR.(((lb2.ge.1.and.lb2.le.2).or. | |
3116 | & (lb2.ge.6.and.lb2.le.9)) | |
3117 | & .and.(lb1.ge.25.and.lb1.le.27)) ).AND. srt.gt.1.958) | |
3118 | & call pibphi(srt,lb1,lb2,em1,em2,Xphi,xphin) | |
3119 | c !! in fm^2 above | |
3120 | c | |
3121 | if((iabs(lb1).ge.6.and.lb2.ge.25).or. | |
3122 | & (lb1.ge.25.and.iabs(lb2).ge.6))then | |
3123 | ichann=1 | |
3124 | ictrl=2 | |
3125 | if(lb1.eq.28.or.lb2.eq.28)ictrl=3 | |
3126 | xreab=reab(i1,i2,srt,ictrl) | |
3127 | ||
3128 | clin-12/02/00 to satisfy detailed balance, forbid N* absorptions: | |
3129 | if((iabs(lb1).ge.10.and.iabs(lb1).le.13) | |
3130 | 1 .or.(iabs(lb2).ge.10.and.iabs(lb2).le.13)) XREAB = 0. | |
3131 | ||
3132 | if(xreab.lt.0)xreab=1.E-06 | |
3133 | xkaon=xkaon0+xreab | |
3134 | XELSTC=1.0 | |
3135 | endif | |
3136 | DS=SQRT((XKAON+Xphi+xelstc)/PI) | |
3137 | c | |
3138 | csp09/20/01 | |
3139 | c totcr = xelstc+xkaon | |
3140 | c if(srt .gt. 3.5)totcr = max1(totcr,3.) | |
3141 | c DS=SQRT(totcr/PI) | |
3142 | csp09/20/01 end | |
3143 | c | |
3144 | DELTAR=DS+0.1 | |
3145 | px1cm=pcx | |
3146 | py1cm=pcy | |
3147 | pz1cm=pcz | |
3148 | * CHECK IF the collision can happen | |
3149 | CALL DISTCE(I1,I2,DELTAR,DS,DT,EC,SRT,IC, | |
3150 | 1 PCX,PCY,PCZ) | |
3151 | IF(IC.EQ.-1) GO TO 400 | |
3152 | ekaon(4,iss)=ekaon(4,iss)+1 | |
3153 | c* | |
3154 | * NOW rho(omega)+N or D(N*) COLLISION IS POSSIBLE | |
3155 | * (1) check elastic collision | |
3156 | if(xelstc/(xelstc+xkaon+Xphi).gt.RANART(NSEED))then | |
3157 | c call crdir(px1CM,py1CM,pz1CM,srt,I1,i2) | |
3158 | call crdir(px1CM,py1CM,pz1CM,srt,I1,i2,IBLOCK) | |
3159 | go to 440 | |
3160 | endif | |
3161 | * (2) check pion absorption or kaon production | |
3162 | CALL CRRD(PX1CM,PY1CM,PZ1CM,SRT,I1,I2, | |
3163 | 1 IBLOCK,xkaon0,xkaon,Xphi,xphin) | |
3164 | ||
3165 | * kaon production | |
3166 | csp05/16/01 | |
3167 | IF(IBLOCK.EQ.7) then | |
3168 | LPN=LPN+1 | |
3169 | elseIF(IBLOCK.EQ.-7) then | |
3170 | endif | |
3171 | csp05/16/01 end | |
3172 | * rho obsorption | |
3173 | if(iblock.eq.81) lrhor=lrhor+1 | |
3174 | * omega obsorption | |
3175 | if(iblock.eq.82) lomgar=lomgar+1 | |
3176 | em1=e(i1) | |
3177 | em2=e(i2) | |
3178 | GO TO 440 | |
3179 | * for pion+n now using the subroutine crpn to change | |
3180 | * the particle label and set the new momentum of L/S+K final state | |
3181 | 95 continue | |
3182 | * NOW PION+N INELASTIC COLLISION IS POSSIBLE | |
3183 | * check pion production or kaon production | |
3184 | CALL CRPN(PX1CM,PY1CM,PZ1CM,SRT,I1,I2, | |
3185 | 1 IBLOCK,xkaon0,xkaon,Xphi,xphin) | |
3186 | ||
3187 | * kaon production | |
3188 | csp05/16/01 | |
3189 | IF(IBLOCK.EQ.7) then | |
3190 | LPN=LPN+1 | |
3191 | elseIF(IBLOCK.EQ.-7) then | |
3192 | endif | |
3193 | csp05/16/01 end | |
3194 | * pion production | |
3195 | if(iblock.eq.77) lpd=lpd+1 | |
3196 | * rho production | |
3197 | if(iblock.eq.78) lrho=lrho+1 | |
3198 | * omega production | |
3199 | if(iblock.eq.79) lomega=lomega+1 | |
3200 | em1=e(i1) | |
3201 | em2=e(i2) | |
3202 | GO TO 440 | |
3203 | * for pion+D(N*) now using the subroutine crpd to | |
3204 | * (1) check kaon production or pion reabsorption | |
3205 | * (2) change the particle label and set the new | |
3206 | * momentum of L/S+K final state | |
3207 | 96 continue | |
3208 | CALL CRPD(PX1CM,PY1CM,PZ1CM,SRT,I1,I2, | |
3209 | 1 IBLOCK,xkaon0,xkaon,Xphi,xphin) | |
3210 | ||
3211 | * kaon production | |
3212 | csp05/16/01 | |
3213 | IF(IBLOCK.EQ.7) then | |
3214 | LPN=LPN+1 | |
3215 | elseIF(IBLOCK.EQ.-7) then | |
3216 | endif | |
3217 | csp05/16/01 end | |
3218 | * pion obserption | |
3219 | if(iblock.eq.80) lpdr=lpdr+1 | |
3220 | em1=e(i1) | |
3221 | em2=e(i2) | |
3222 | GO TO 440 | |
3223 | * CALCULATE KAON PRODUCTION PROBABILITY FROM PION + N COLLISIONS | |
3224 | C IF(SRT.GT.1.615)THEN | |
3225 | C CALL PKAON(SRT,XXp,PK) | |
3226 | C TKAON(7)=TKAON(7)+PK | |
3227 | C EKAON(7,ISS)=EKAON(7,ISS)+1 | |
3228 | c CALL KSPEC1(SRT,PK) | |
3229 | C call LK(3,srt,iseed,pk) | |
3230 | C ENDIF | |
3231 | * negelecting the pauli blocking at high energies | |
3232 | ||
3233 | 101 continue | |
3234 | IF(E(I2).EQ.0.)GO TO 600 | |
3235 | IF(E(I1).EQ.0.)GO TO 800 | |
3236 | * IF NUCLEON+BARYON RESONANCE COLLISIONS | |
3237 | 44 CONTINUE | |
3238 | * CALCULATE THE TOTAL CROSS SECTION OF NUCLEON+ BARYON RESONANCE COLLISION | |
3239 | * WE ASSUME THAT THE ELASTIC CROSS SECTION IS THE SAME AS NUCLEON+NUCLEON | |
3240 | * COM: WE USE THE PARAMETERISATION BY CUGNON FOR LOW ENERGIES | |
3241 | * AND THE PARAMETERIZATIONS FROM CERN DATA BOOK FOR HIGHER | |
3242 | * ENERGIES. THE CUTOFF FOR THE TOTAL CROSS SECTION IS 55 MB | |
3243 | cutoff=em1+em2+0.02 | |
3244 | IF(SRT.LE.CUTOFF)GO TO 400 | |
3245 | IF(SRT.GT.2.245)THEN | |
3246 | SIGNN=PP2(SRT) | |
3247 | ELSE | |
3248 | SIGNN = 35.0 / (1. + (SRT - CUTOFF) * 100.0) + 20.0 | |
3249 | ENDIF | |
3250 | call XND(pcx,pcy,pcz,srt,I1,I2,xinel, | |
3251 | & sigk,xsk1,xsk2,xsk3,xsk4,xsk5) | |
3252 | sig=signn+xinel | |
3253 | * For nucleon+baryon resonance collision, the minimum cms**2 energy is | |
3254 | EC=(EM1+EM2+0.02)**2 | |
3255 | * CHECK THE DISTENCE BETWEEN THE TWO PARTICLES | |
3256 | PX1CM=PCX | |
3257 | PY1CM=PCY | |
3258 | PZ1CM=PCZ | |
3259 | ||
3260 | clin-6/2008 Deuteron production: | |
3261 | ianti=0 | |
3262 | if(lb(i1).lt.0 .and. lb(i2).lt.0) ianti=1 | |
3263 | call sbbdm(srt,sdprod,ianti,lbm,xmm,pfinal) | |
3264 | sig=sig+sdprod | |
3265 | clin-6/2008 perturbative treatment of deuterons: | |
3266 | ipdflag=0 | |
3267 | if(idpert.eq.1) then | |
3268 | ipert1=1 | |
3269 | sigr0=sig | |
3270 | dspert=sqrt(sigr0/pi/10.) | |
3271 | dsrpert=dspert+0.1 | |
3272 | CALL DISTCE(I1,I2,dsrpert,dspert,DT,EC,SRT,IC, | |
3273 | 1 PX1CM,PY1CM,PZ1CM) | |
3274 | IF(IC.EQ.-1) GO TO 363 | |
3275 | signn0=0. | |
3276 | CALL CRND(IRUN,PX1CM,PY1CM,PZ1CM,SRT,I1,I2, | |
3277 | & IBLOCK,SIGNN0,SIGr0,sigk,xsk1,xsk2,xsk3,xsk4,xsk5,NT,ipert1) | |
3278 | c & IBLOCK,SIGNN,SIG,sigk,xsk1,xsk2,xsk3,xsk4,xsk5) | |
3279 | ipdflag=1 | |
3280 | 363 continue | |
3281 | ipert1=0 | |
3282 | endif | |
3283 | if(idpert.eq.2) ipert1=1 | |
3284 | c | |
3285 | DS=SQRT(SIG/(10.*PI)) | |
3286 | DELTAR=DS+0.1 | |
3287 | CALL DISTCE(I1,I2,DELTAR,DS,DT,EC,SRT,IC, | |
3288 | 1 PX1CM,PY1CM,PZ1CM) | |
3289 | c IF(IC.EQ.-1)GO TO 400 | |
3290 | IF(IC.EQ.-1) then | |
3291 | if(ipdflag.eq.1) iblock=501 | |
3292 | GO TO 400 | |
3293 | endif | |
3294 | ||
afe6642c | 3295 | c print *,"ISS (3294) is ",iss |
0119ef9a | 3296 | ekaon(3,iss)=ekaon(3,iss)+1 |
3297 | * CALCULATE KAON PRODUCTION PROBABILITY FROM NUCLEON + BARYON RESONANCE | |
3298 | * COLLISIONS | |
3299 | go to 361 | |
3300 | ||
3301 | * CHECK WHAT KIND OF COLLISION HAS HAPPENED | |
3302 | 361 continue | |
3303 | CALL CRND(IRUN,PX1CM,PY1CM,PZ1CM,SRT,I1,I2, | |
3304 | & IBLOCK,SIGNN,SIG,sigk,xsk1,xsk2,xsk3,xsk4,xsk5,NT,ipert1) | |
3305 | c & IBLOCK,SIGNN,SIG,sigk,xsk1,xsk2,xsk3,xsk4,xsk5) | |
3306 | IF(iblock.eq.0.and.ipdflag.eq.1) iblock=501 | |
3307 | IF(IBLOCK.EQ.11)THEN | |
3308 | LNDK=LNDK+1 | |
3309 | GO TO 400 | |
3310 | c elseIF(IBLOCK.EQ.-11) then | |
3311 | elseIF(IBLOCK.EQ.-11.or.iblock.eq.501) then | |
3312 | GO TO 400 | |
3313 | ENDIF | |
3314 | if(iblock .eq. 222)then | |
3315 | c !! sp12/17/01 | |
3316 | GO TO 400 | |
3317 | ENDIF | |
3318 | em1=e(i1) | |
3319 | em2=e(i2) | |
3320 | GO TO 440 | |
3321 | * IF NUCLEON+NUCLEON OR BARYON RESONANCE+BARYON RESONANCE COLLISIONS | |
3322 | 4 CONTINUE | |
3323 | * PREPARE THE EALSTIC CROSS SECTION FOR BARYON+BARYON COLLISIONS | |
3324 | * COM: WE USE THE PARAMETERISATION BY CUGNON FOR SRT LEQ 2.0 GEV | |
3325 | * AND THE PARAMETERIZATIONS FROM CERN DATA BOOK FOR HIGHER | |
3326 | * ENERGIES. THE CUTOFF FOR THE TOTAL CROSS SECTION IS 55 MB | |
3327 | * WITH LOW-ENERGY-CUTOFF | |
3328 | CUTOFF=em1+em2+0.14 | |
3329 | * AT HIGH ENERGIES THE ISOSPIN DEPENDENCE IS NEGLIGIBLE | |
3330 | * THE TOTAL CROSS SECTION IS TAKEN AS THAT OF THE PP | |
3331 | * ABOVE E_KIN=800 MEV, WE USE THE ISOSPIN INDEPENDNET XSECTION | |
3332 | IF(SRT.GT.2.245)THEN | |
3333 | SIG=ppt(srt) | |
3334 | SIGNN=SIG-PP1(SRT) | |
3335 | ELSE | |
3336 | * AT LOW ENERGIES THE ISOSPIN DEPENDENCE FOR NN COLLISION IS STRONG | |
3337 | SIG=XPP(SRT) | |
3338 | IF(ZET(LB(I1))*ZET(LB(I2)).LE.0)SIG=XNP(SRT) | |
3339 | IF(ZET(LB(I1))*ZET(LB(I2)).GT.0)SIG=XPP(SRT) | |
3340 | IF(ZET(LB(I1)).EQ.0. | |
3341 | & AND.ZET(LB(I2)).EQ.0)SIG=XPP(SRT) | |
3342 | if((lb(i1).eq.-1.and.lb(i2).eq.-2) .or. | |
3343 | & (lb(i2).eq.-1.and.lb(i1).eq.-2))sig=xnp(srt) | |
3344 | * WITH LOW-ENERGY-CUTOFF | |
3345 | IF (SRT .LT. 1.897) THEN | |
3346 | SIGNN = SIG | |
3347 | ELSE | |
3348 | SIGNN = 35.0 / (1. + (SRT - 1.897) * 100.0) + 20.0 | |
3349 | ENDIF | |
3350 | ENDIF | |
3351 | PX1CM=PCX | |
3352 | PY1CM=PCY | |
3353 | PZ1CM=PCZ | |
3354 | clin-5/2008 Deuteron production cross sections were not included | |
3355 | c in the previous parameterized inelastic cross section of NN collisions | |
3356 | c (SIGinel=SIG-SIGNN), so they are added here: | |
3357 | ianti=0 | |
3358 | if(lb(i1).lt.0 .and. lb(i2).lt.0) ianti=1 | |
3359 | call sbbdm(srt,sdprod,ianti,lbm,xmm,pfinal) | |
3360 | sig=sig+sdprod | |
3361 | c | |
3362 | clin-5/2008 perturbative treatment of deuterons: | |
3363 | ipdflag=0 | |
3364 | if(idpert.eq.1) then | |
3365 | c For idpert=1: ipert1=1 means we will first treat deuteron perturbatively, | |
3366 | c then we set ipert1=0 to treat regular NN or NbarNbar collisions including | |
3367 | c the regular deuteron productions. | |
3368 | c ipdflag=1 means perturbative deuterons are produced here: | |
3369 | ipert1=1 | |
3370 | EC=2.012**2 | |
3371 | c Use the same cross section for NN/NNBAR collisions | |
3372 | c to trigger perturbative production | |
3373 | sigr0=sig | |
3374 | c One can also trigger with X*sbbdm() so the weight will not be too small; | |
3375 | c but make sure to limit the maximum trigger Xsec: | |
3376 | c sigr0=sdprod*25. | |
3377 | c if(sigr0.ge.100.) sigr0=100. | |
3378 | dspert=sqrt(sigr0/pi/10.) | |
3379 | dsrpert=dspert+0.1 | |
3380 | CALL DISTCE(I1,I2,dsrpert,dspert,DT,EC,SRT,IC, | |
3381 | 1 PX1CM,PY1CM,PZ1CM) | |
3382 | IF(IC.EQ.-1) GO TO 365 | |
3383 | signn0=0. | |
3384 | CALL CRNN(IRUN,PX1CM,PY1CM,PZ1CM,SRT,I1,I2,IBLOCK, | |
3385 | 1 NTAG,signn0,sigr0,NT,ipert1) | |
3386 | ipdflag=1 | |
3387 | 365 continue | |
3388 | ipert1=0 | |
3389 | endif | |
3390 | if(idpert.eq.2) ipert1=1 | |
3391 | c | |
3392 | clin-5/2008 in case perturbative deuterons are produced for idpert=1: | |
3393 | c IF(SIGNN.LE.0)GO TO 400 | |
3394 | IF(SIGNN.LE.0) then | |
3395 | if(ipdflag.eq.1) iblock=501 | |
3396 | GO TO 400 | |
3397 | endif | |
3398 | c | |
3399 | EC=3.59709 | |
3400 | ds=sqrt(sig/pi/10.) | |
3401 | dsr=ds+0.1 | |
3402 | IF((E(I1).GE.1.).AND.(e(I2).GE.1.))EC=4.75 | |
3403 | CALL DISTCE(I1,I2,dsr,ds,DT,EC,SRT,IC, | |
3404 | 1 PX1CM,PY1CM,PZ1CM) | |
3405 | clin-5/2008 in case perturbative deuterons are produced above: | |
3406 | c IF(IC.EQ.-1) GO TO 400 | |
3407 | IF(IC.EQ.-1) then | |
3408 | if(ipdflag.eq.1) iblock=501 | |
3409 | GO TO 400 | |
3410 | endif | |
3411 | c | |
3412 | * CALCULATE KAON PRODUCTION PROBABILITY FROM NUCLEON+NUCLEON OR | |
3413 | * RESONANCE+RESONANCE COLLISIONS | |
3414 | go to 362 | |
3415 | ||
3416 | C CHECK WHAT KIND OF COLLISION HAS HAPPENED | |
3417 | 362 ekaon(1,iss)=ekaon(1,iss)+1 | |
3418 | CALL CRNN(IRUN,PX1CM,PY1CM,PZ1CM,SRT,I1,I2,IBLOCK, | |
3419 | 1 NTAG,SIGNN,SIG,NT,ipert1) | |
3420 | clin-5/2008 give iblock # in case pert deuterons are produced for idpert=1: | |
3421 | IF(iblock.eq.0.and.ipdflag.eq.1) iblock=501 | |
3422 | clin-5/2008 add iblock # for deuteron formation: | |
3423 | c IF(IBLOCK.EQ.4.OR.IBLOCK.Eq.9.or.iblock.ge.44.OR.IBLOCK.EQ.-9 | |
3424 | c & .or.iblock.eq.222)THEN | |
3425 | IF(IBLOCK.EQ.4.OR.IBLOCK.Eq.9.or.iblock.ge.44.OR.IBLOCK.EQ.-9 | |
3426 | & .or.iblock.eq.222.or.iblock.eq.501)THEN | |
3427 | c | |
3428 | c !! sp12/17/01 above | |
3429 | * momentum of the three particles in the final state have been calculated | |
3430 | * in the crnn, go out of the loop | |
3431 | LCOLL=LCOLL+1 | |
3432 | if(iblock.eq.4)then | |
3433 | LDIRT=LDIRT+1 | |
3434 | elseif(iblock.eq.44)then | |
3435 | LDdrho=LDdrho+1 | |
3436 | elseif(iblock.eq.45)then | |
3437 | Lnnrho=Lnnrho+1 | |
3438 | elseif(iblock.eq.46)then | |
3439 | Lnnom=Lnnom+1 | |
3440 | elseif(iblock .eq. 222)then | |
3441 | elseIF(IBLOCK.EQ.9) then | |
3442 | LNNK=LNNK+1 | |
3443 | elseIF(IBLOCK.EQ.-9) then | |
3444 | endif | |
3445 | GO TO 400 | |
3446 | ENDIF | |
3447 | ||
3448 | em1=e(i1) | |
3449 | em2=e(i2) | |
3450 | GO TO 440 | |
3451 | clin-8/2008 B+B->Deuteron+Meson over | |
3452 | c | |
3453 | clin-8/2008 Deuteron+Meson->B+B collisions: | |
3454 | 505 continue | |
3455 | ianti=0 | |
3456 | if(lb(i1).lt.0 .or. lb(i2).lt.0) ianti=1 | |
3457 | call sdmbb(SRT,sdm,ianti) | |
3458 | PX1CM=PCX | |
3459 | PY1CM=PCY | |
3460 | PZ1CM=PCZ | |
3461 | c minimum srt**2, note a 2.012GeV lower cutoff is used in N+N->Deuteron+pi: | |
3462 | EC=2.012**2 | |
3463 | ds=sqrt(sdm/31.4) | |
3464 | dsr=ds+0.1 | |
3465 | CALL DISTCE(I1,I2,dsr,ds,DT,EC,SRT,IC,PX1CM,PY1CM,PZ1CM) | |
3466 | IF(IC.EQ.-1) GO TO 400 | |
3467 | CALL crdmbb(PX1CM,PY1CM,PZ1CM,SRT,I1,I2,IBLOCK, | |
3468 | 1 NTAG,sdm,NT,ianti) | |
3469 | LCOLL=LCOLL+1 | |
3470 | GO TO 400 | |
3471 | clin-8/2008 Deuteron+Meson->B+B collisions over | |
3472 | c | |
3473 | clin-9/2008 Deuteron+Baryon elastic collisions: | |
3474 | 506 continue | |
3475 | ianti=0 | |
3476 | if(lb(i1).lt.0 .or. lb(i2).lt.0) ianti=1 | |
3477 | call sdbelastic(SRT,sdb) | |
3478 | PX1CM=PCX | |
3479 | PY1CM=PCY | |
3480 | PZ1CM=PCZ | |
3481 | c minimum srt**2, note a 2.012GeV lower cutoff is used in N+N->Deuteron+pi: | |
3482 | EC=2.012**2 | |
3483 | ds=sqrt(sdb/31.4) | |
3484 | dsr=ds+0.1 | |
3485 | CALL DISTCE(I1,I2,dsr,ds,DT,EC,SRT,IC,PX1CM,PY1CM,PZ1CM) | |
3486 | IF(IC.EQ.-1) GO TO 400 | |
3487 | CALL crdbel(PX1CM,PY1CM,PZ1CM,SRT,I1,I2,IBLOCK, | |
3488 | 1 NTAG,sdb,NT,ianti) | |
3489 | LCOLL=LCOLL+1 | |
3490 | GO TO 400 | |
3491 | clin-9/2008 Deuteron+Baryon elastic collisions over | |
3492 | c | |
3493 | * IF BARYON RESONANCE+BARYON RESONANCE COLLISIONS | |
3494 | 444 CONTINUE | |
3495 | * PREPARE THE EALSTIC CROSS SECTION FOR BARYON+BARYON COLLISIONS | |
3496 | CUTOFF=em1+em2+0.02 | |
3497 | * AT HIGH ENERGIES THE ISOSPIN DEPENDENCE IS NEGLIGIBLE | |
3498 | * THE TOTAL CROSS SECTION IS TAKEN AS THAT OF THE PP | |
3499 | IF(SRT.LE.CUTOFF)GO TO 400 | |
3500 | IF(SRT.GT.2.245)THEN | |
3501 | SIGNN=PP2(SRT) | |
3502 | ELSE | |
3503 | SIGNN = 35.0 / (1. + (SRT - CUTOFF) * 100.0) + 20.0 | |
3504 | ENDIF | |
3505 | IF(SIGNN.LE.0)GO TO 400 | |
3506 | CALL XDDIN(PCX,PCY,PCZ,SRT,I1,I2, | |
3507 | &XINEL,SIGK,XSK1,XSK2,XSK3,XSK4,XSK5) | |
3508 | SIG=SIGNN+XINEL | |
3509 | EC=(EM1+EM2+0.02)**2 | |
3510 | PX1CM=PCX | |
3511 | PY1CM=PCY | |
3512 | PZ1CM=PCZ | |
3513 | ||
3514 | clin-6/2008 Deuteron production: | |
3515 | ianti=0 | |
3516 | if(lb(i1).lt.0 .and. lb(i2).lt.0) ianti=1 | |
3517 | call sbbdm(srt,sdprod,ianti,lbm,xmm,pfinal) | |
3518 | sig=sig+sdprod | |
3519 | clin-6/2008 perturbative treatment of deuterons: | |
3520 | ipdflag=0 | |
3521 | if(idpert.eq.1) then | |
3522 | ipert1=1 | |
3523 | sigr0=sig | |
3524 | dspert=sqrt(sigr0/pi/10.) | |
3525 | dsrpert=dspert+0.1 | |
3526 | CALL DISTCE(I1,I2,dsrpert,dspert,DT,EC,SRT,IC, | |
3527 | 1 PX1CM,PY1CM,PZ1CM) | |
3528 | IF(IC.EQ.-1) GO TO 367 | |
3529 | signn0=0. | |
3530 | CALL CRDD(IRUN,PX1CM,PY1CM,PZ1CM,SRT,I1,I2, | |
3531 | 1 IBLOCK,NTAG,SIGNN0,SIGr0,NT,ipert1) | |
3532 | c 1 IBLOCK,NTAG,SIGNN,SIG) | |
3533 | ipdflag=1 | |
3534 | 367 continue | |
3535 | ipert1=0 | |
3536 | endif | |
3537 | if(idpert.eq.2) ipert1=1 | |
3538 | c | |
3539 | ds=sqrt(sig/31.4) | |
3540 | dsr=ds+0.1 | |
3541 | CALL DISTCE(I1,I2,dsr,ds,DT,EC,SRT,IC, | |
3542 | 1 PX1CM,PY1CM,PZ1CM) | |
3543 | c IF(IC.EQ.-1) GO TO 400 | |
3544 | IF(IC.EQ.-1) then | |
3545 | if(ipdflag.eq.1) iblock=501 | |
3546 | GO TO 400 | |
3547 | endif | |
3548 | ||
3549 | * CALCULATE KAON PRODUCTION PROBABILITY FROM NUCLEON+NUCLEON OR | |
3550 | * RESONANCE+RESONANCE COLLISIONS | |
3551 | go to 364 | |
3552 | ||
3553 | C CHECK WHAT KIND OF COLLISION HAS HAPPENED | |
3554 | 364 ekaon(2,iss)=ekaon(2,iss)+1 | |
3555 | * for resonance+resonance | |
3556 | clin-6/2008: | |
3557 | CALL CRDD(IRUN,PX1CM,PY1CM,PZ1CM,SRT,I1,I2, | |
3558 | 1 IBLOCK,NTAG,SIGNN,SIG,NT,ipert1) | |
3559 | c 1 IBLOCK,NTAG,SIGNN,SIG) | |
3560 | IF(iblock.eq.0.and.ipdflag.eq.1) iblock=501 | |
3561 | c | |
3562 | IF(iabs(IBLOCK).EQ.10)THEN | |
3563 | * momentum of the three particles in the final state have been calculated | |
3564 | * in the crnn, go out of the loop | |
3565 | LCOLL=LCOLL+1 | |
3566 | IF(IBLOCK.EQ.10)THEN | |
3567 | LDDK=LDDK+1 | |
3568 | elseIF(IBLOCK.EQ.-10) then | |
3569 | endif | |
3570 | GO TO 400 | |
3571 | ENDIF | |
3572 | clin-6/2008 | |
3573 | c if(iblock .eq. 222)then | |
3574 | if(iblock .eq. 222.or.iblock.eq.501)then | |
3575 | c !! sp12/17/01 | |
3576 | GO TO 400 | |
3577 | ENDIF | |
3578 | em1=e(i1) | |
3579 | em2=e(i2) | |
3580 | GO TO 440 | |
3581 | * FOR PION+PION,pion+eta, eta+eta and rho(omega)+pion(rho,omega) or eta | |
3582 | 777 CONTINUE | |
3583 | PX1CM=PCX | |
3584 | PY1CM=PCY | |
3585 | PZ1CM=PCZ | |
3586 | * energy thresh for collisions | |
3587 | ec0=em1+em2+0.02 | |
3588 | IF(SRT.LE.ec0)GO TO 400 | |
3589 | ec=(em1+em2+0.02)**2 | |
3590 | * we negelect the elastic collision between mesons except that betwen | |
3591 | * two pions because of the lack of information about these collisions | |
3592 | * However, we do let them to collide inelastically to produce kaons | |
3593 | clin-8/15/02 ppel=1.e-09 | |
3594 | ppel=20. | |
3595 | ipp=1 | |
3596 | if(lb1.lt.3.or.lb1.gt.5.or.lb2.lt.3.or.lb2.gt.5)go to 778 | |
3597 | CALL PPXS(LB1,LB2,SRT,PPSIG,spprho,IPP) | |
3598 | ppel=ppsig | |
3599 | 778 ppink=pipik(srt) | |
3600 | ||
3601 | * pi+eta and eta+eta are assumed to be the same as pipik( for pi+pi -> K+K-) | |
3602 | * estimated from Ko's paper: | |
3603 | ppink = 2.0 * ppink | |
3604 | if(lb1.ge.25.and.lb2.ge.25) ppink=rrkk | |
3605 | ||
3606 | clin-2/13/03 include omega the same as rho, eta the same as pi: | |
3607 | c if(((lb1.ge.3.and.lb1.le.5).and.(lb2.ge.25.and.lb2.le.27)) | |
3608 | c 1 .or.((lb2.ge.3.and.lb2.le.5).and.(lb1.ge.25.and.lb1.le.27))) | |
3609 | if( ( (lb1.eq.0.or.(lb1.ge.3.and.lb1.le.5)) | |
3610 | 1 .and.(lb2.ge.25.and.lb2.le.28)) | |
3611 | 2 .or. ( (lb2.eq.0.or.(lb2.ge.3.and.lb2.le.5)) | |
3612 | 3 .and.(lb1.ge.25.and.lb1.le.28))) then | |
3613 | ppink=0. | |
3614 | if(srt.ge.(aka+aks)) ppink = prkk | |
3615 | endif | |
3616 | ||
3617 | c pi pi <-> rho rho: | |
3618 | call spprr(lb1,lb2,srt) | |
3619 | clin-4/03/02 pi pi <-> eta eta: | |
3620 | call sppee(lb1,lb2,srt) | |
3621 | clin-4/03/02 pi pi <-> pi eta: | |
3622 | call spppe(lb1,lb2,srt) | |
3623 | clin-4/03/02 rho pi <-> rho eta: | |
3624 | call srpre(lb1,lb2,srt) | |
3625 | clin-4/03/02 omega pi <-> omega eta: | |
3626 | call sopoe(lb1,lb2,srt) | |
3627 | clin-4/03/02 rho rho <-> eta eta: | |
3628 | call srree(lb1,lb2,srt) | |
3629 | ||
3630 | ppinnb=0. | |
3631 | if(srt.gt.thresh(1)) then | |
3632 | call getnst(srt) | |
3633 | if(lb1.ge.3.and.lb1.le.5.and.lb2.ge.3.and.lb2.le.5) then | |
3634 | ppinnb=ppbbar(srt) | |
3635 | elseif((lb1.ge.3.and.lb1.le.5.and.lb2.ge.25.and.lb2.le.27) | |
3636 | 1 .or.(lb2.ge.3.and.lb2.le.5.and.lb1.ge.25.and.lb1.le.27)) then | |
3637 | ppinnb=prbbar(srt) | |
3638 | elseif(lb1.ge.25.and.lb1.le.27 | |
3639 | 1 .and.lb2.ge.25.and.lb2.le.27) then | |
3640 | ppinnb=rrbbar(srt) | |
3641 | elseif((lb1.ge.3.and.lb1.le.5.and.lb2.eq.28) | |
3642 | 1 .or.(lb2.ge.3.and.lb2.le.5.and.lb1.eq.28)) then | |
3643 | ppinnb=pobbar(srt) | |
3644 | elseif((lb1.ge.25.and.lb1.le.27.and.lb2.eq.28) | |
3645 | 1 .or.(lb2.ge.25.and.lb2.le.27.and.lb1.eq.28)) then | |
3646 | ppinnb=robbar(srt) | |
3647 | elseif(lb1.eq.28.and.lb2.eq.28) then | |
3648 | ppinnb=oobbar(srt) | |
3649 | else | |
3650 | if(lb1.ne.0.and.lb2.ne.0) | |
3651 | 1 write(6,*) 'missed MM lb1,lb2=',lb1,lb2 | |
3652 | endif | |
3653 | endif | |
3654 | ppin=ppink+ppinnb+pprr+ppee+pppe+rpre+xopoe+rree | |
3655 | ||
3656 | * check if a collision can happen | |
3657 | if((ppel+ppin).le.0.01)go to 400 | |
3658 | DSPP=SQRT((ppel+ppin)/31.4) | |
3659 | dsppr=dspp+0.1 | |
3660 | CALL DISTCE(I1,I2,dsppr,DSPP,DT,EC,SRT,IC, | |
3661 | 1 PX1CM,PY1CM,PZ1CM) | |
3662 | IF(IC.EQ.-1) GO TO 400 | |
3663 | if(ppel.eq.0)go to 400 | |
3664 | * the collision can happen | |
3665 | * check what kind collision has happened | |
afe6642c | 3666 | c print *,"ISS (3665) is ",iss |
0119ef9a | 3667 | ekaon(5,iss)=ekaon(5,iss)+1 |
3668 | CALL CRPP(PX1CM,PY1CM,PZ1CM,SRT,I1,I2, | |
3669 | 1 IBLOCK,ppel,ppin,spprho,ipp) | |
3670 | ||
3671 | * rho formation, go to 400 | |
3672 | c if(iblock.eq.666)go to 600 | |
3673 | if(iblock.eq.666)go to 555 | |
3674 | if(iblock.eq.6)LPP=LPP+1 | |
3675 | if(iblock.eq.66)then | |
3676 | LPPk=LPPk+1 | |
3677 | elseif(iblock.eq.366)then | |
3678 | LPPk=LPPk+1 | |
3679 | elseif(iblock.eq.367)then | |
3680 | LPPk=LPPk+1 | |
3681 | endif | |
3682 | em1=e(i1) | |
3683 | em2=e(i2) | |
3684 | go to 440 | |
3685 | ||
3686 | * In this block we treat annihilations of | |
3687 | clin-9/28/00* an anti-nucleon and a baryon or baryon resonance | |
3688 | * an anti-baryon and a baryon (including resonances) | |
3689 | 2799 CONTINUE | |
3690 | PX1CM=PCX | |
3691 | PY1CM=PCY | |
3692 | PZ1CM=PCZ | |
3693 | EC=(em1+em2+0.02)**2 | |
3694 | clin assume the same cross section (as a function of sqrt s) as for PPbar: | |
3695 | ||
3696 | clin-ctest annih maximum | |
3697 | c DSppb=SQRT(amin1(xppbar(srt),30.)/PI/10.) | |
3698 | DSppb=SQRT(xppbar(srt)/PI/10.) | |
3699 | dsppbr=dsppb+0.1 | |
3700 | CALL DISTCE(I1,I2,dsppbr,DSppb,DT,EC,SRT,IC, | |
3701 | 1 PX1CM,PY1CM,PZ1CM) | |
3702 | IF(IC.EQ.-1) GO TO 400 | |
3703 | CALL Crppba(PX1CM,PY1CM,PZ1CM,SRT,I1,I2, | |
3704 | 1 IBLOCK) | |
3705 | em1=e(i1) | |
3706 | em2=e(i2) | |
3707 | go to 440 | |
3708 | c | |
3709 | 3555 PX1CM=PCX | |
3710 | PY1CM=PCY | |
3711 | PZ1CM=PCZ | |
3712 | EC=(em1+em2+0.02)**2 | |
3713 | DSkk=SQRT(SIG/PI/10.) | |
3714 | dskk0=dskk+0.1 | |
3715 | CALL DISTCE(I1,I2,dskk0,DSkk,DT,EC,SRT,IC, | |
3716 | 1 PX1CM,PY1CM,PZ1CM) | |
3717 | IF(IC.EQ.-1) GO TO 400 | |
3718 | CALL Crlaba(PX1CM,PY1CM,PZ1CM,SRT,brel,brsgm, | |
3719 | & I1,I2,nt,IBLOCK,nchrg,icase) | |
3720 | em1=e(i1) | |
3721 | em2=e(i2) | |
3722 | go to 440 | |
3723 | * | |
3724 | c perturbative production of cascade and omega | |
3725 | 3455 PX1CM=PCX | |
3726 | PY1CM=PCY | |
3727 | PZ1CM=PCZ | |
3728 | call pertur(PX1CM,PY1CM,PZ1CM,SRT,IRUN,I1,I2,nt,kp,icontp) | |
3729 | if(icontp .eq. 0)then | |
3730 | c inelastic collisions: | |
3731 | em1 = e(i1) | |
3732 | em2 = e(i2) | |
3733 | iblock = 727 | |
3734 | go to 440 | |
3735 | endif | |
3736 | c elastic collisions: | |
3737 | if (e(i1) .eq. 0.) go to 800 | |
3738 | if (e(i2) .eq. 0.) go to 600 | |
3739 | go to 400 | |
3740 | * | |
3741 | c* phi + N --> pi+N(D), N(D,N*)+N(D,N*), K+ +La | |
3742 | c* phi + D --> pi+N(D) | |
3743 | 7222 CONTINUE | |
3744 | PX1CM=PCX | |
3745 | PY1CM=PCY | |
3746 | PZ1CM=PCZ | |
3747 | EC=(em1+em2+0.02)**2 | |
3748 | CALL XphiB(LB1, LB2, EM1, EM2, SRT, | |
3749 | & XSK1, XSK2, XSK3, XSK4, XSK5, SIGP) | |
3750 | DSkk=SQRT(SIGP/PI/10.) | |
3751 | dskk0=dskk+0.1 | |
3752 | CALL DISTCE(I1,I2,dskk0,DSkk,DT,EC,SRT,IC, | |
3753 | 1 PX1CM,PY1CM,PZ1CM) | |
3754 | IF(IC.EQ.-1) GO TO 400 | |
3755 | CALL CRPHIB(PX1CM,PY1CM,PZ1CM,SRT,I1,I2, | |
3756 | & XSK1, XSK2, XSK3, XSK4, XSK5, SIGP, IBLOCK) | |
3757 | em1=e(i1) | |
3758 | em2=e(i2) | |
3759 | go to 440 | |
3760 | * | |
3761 | c* phi + M --> K+ + K* ..... | |
3762 | 7444 CONTINUE | |
3763 | PX1CM=PCX | |
3764 | PY1CM=PCY | |
3765 | PZ1CM=PCZ | |
3766 | EC=(em1+em2+0.02)**2 | |
3767 | CALL PHIMES(I1, I2, SRT, XSK1, XSK2, XSK3, XSK4, XSK5, | |
3768 | 1 XSK6, XSK7, SIGPHI) | |
3769 | DSkk=SQRT(SIGPHI/PI/10.) | |
3770 | dskk0=dskk+0.1 | |
3771 | CALL DISTCE(I1,I2,dskk0,DSkk,DT,EC,SRT,IC, | |
3772 | 1 PX1CM,PY1CM,PZ1CM) | |
3773 | IF(IC.EQ.-1) GO TO 400 | |
3774 | c*--- | |
3775 | PZRT = p(3,i1)+p(3,i2) | |
3776 | ER1 = sqrt( p(1,i1)**2+p(2,i1)**2+p(3,i1)**2+E(i1)**2 ) | |
3777 | ER2 = sqrt( p(1,i2)**2+p(2,i2)**2+p(3,i2)**2+E(i2)**2 ) | |
3778 | ERT = ER1+ER2 | |
3779 | yy = 0.5*log( (ERT+PZRT)/(ERT-PZRT) ) | |
3780 | c*------ | |
3781 | CALL CRPHIM(PX1CM,PY1CM,PZ1CM,SRT,I1,I2, | |
3782 | & XSK1, XSK2, XSK3, XSK4, XSK5, XSK6, SIGPHI, IKKG, IKKL, IBLOCK) | |
3783 | em1=e(i1) | |
3784 | em2=e(i2) | |
3785 | go to 440 | |
3786 | c | |
3787 | c lambda-N elastic xsection, Li & Ko, PRC 54(1996)1897. | |
3788 | 7799 CONTINUE | |
3789 | PX1CM=PCX | |
3790 | PY1CM=PCY | |
3791 | PZ1CM=PCZ | |
3792 | EC=(em1+em2+0.02)**2 | |
3793 | call lambar(i1,i2,srt,siglab) | |
3794 | DShn=SQRT(siglab/PI/10.) | |
3795 | dshnr=dshn+0.1 | |
3796 | CALL DISTCE(I1,I2,dshnr,DShn,DT,EC,SRT,IC, | |
3797 | 1 PX1CM,PY1CM,PZ1CM) | |
3798 | IF(IC.EQ.-1) GO TO 400 | |
3799 | CALL Crhb(PX1CM,PY1CM,PZ1CM,SRT,I1,I2,IBLOCK) | |
3800 | em1=e(i1) | |
3801 | em2=e(i2) | |
3802 | go to 440 | |
3803 | c | |
3804 | c* K+ + La(Si) --> Meson + B | |
3805 | c* K- + La(Si)-bar --> Meson + B-bar | |
3806 | 5699 CONTINUE | |
3807 | PX1CM=PCX | |
3808 | PY1CM=PCY | |
3809 | PZ1CM=PCZ | |
3810 | EC=(em1+em2+0.02)**2 | |
3811 | CALL XKHYPE(I1, I2, SRT, XKY1, XKY2, XKY3, XKY4, XKY5, | |
3812 | & XKY6, XKY7, XKY8, XKY9, XKY10, XKY11, XKY12, XKY13, | |
3813 | & XKY14, XKY15, XKY16, XKY17, SIGK) | |
3814 | DSkk=SQRT(sigk/PI) | |
3815 | dskk0=dskk+0.1 | |
3816 | CALL DISTCE(I1,I2,dskk0,DSkk,DT,EC,SRT,IC, | |
3817 | 1 PX1CM,PY1CM,PZ1CM) | |
3818 | IF(IC.EQ.-1) GO TO 400 | |
3819 | c | |
3820 | if(lb(i1).eq.23 .or. lb(i2).eq.23)then | |
3821 | IKMP = 1 | |
3822 | else | |
3823 | IKMP = -1 | |
3824 | endif | |
3825 | CALL Crkhyp(PX1CM,PY1CM,PZ1CM,SRT,I1,I2, | |
3826 | & XKY1, XKY2, XKY3, XKY4, XKY5, | |
3827 | & XKY6, XKY7, XKY8, XKY9, XKY10, XKY11, XKY12, XKY13, | |
3828 | & XKY14, XKY15, XKY16, XKY17, SIGK, IKMP, | |
3829 | 1 IBLOCK) | |
3830 | em1=e(i1) | |
3831 | em2=e(i2) | |
3832 | go to 440 | |
3833 | c khyperon end | |
3834 | * | |
3835 | csp11/03/01 La/Si-bar + N --> pi + K+ | |
3836 | c La/Si + N-bar --> pi + K- | |
3837 | 5999 CONTINUE | |
3838 | PX1CM=PCX | |
3839 | PY1CM=PCY | |
3840 | PZ1CM=PCZ | |
3841 | EC=(em1+em2+0.02)**2 | |
3842 | sigkp = 15. | |
3843 | c if((lb1.ge.14.and.lb1.le.17) | |
3844 | c & .or.(lb2.ge.14.and.lb2.le.17))sigkp=10. | |
3845 | DSkk=SQRT(SIGKP/PI/10.) | |
3846 | dskk0=dskk+0.1 | |
3847 | CALL DISTCE(I1,I2,dskk0,DSkk,DT,EC,SRT,IC, | |
3848 | 1 PX1CM,PY1CM,PZ1CM) | |
3849 | IF(IC.EQ.-1) GO TO 400 | |
3850 | c | |
3851 | CALL CRLAN(PX1CM,PY1CM,PZ1CM,SRT,I1,I2,IBLOCK) | |
3852 | em1=e(i1) | |
3853 | em2=e(i2) | |
3854 | go to 440 | |
3855 | c | |
3856 | c* | |
3857 | * K(K*) + K(K*) --> phi + pi(rho,omega) | |
3858 | 8699 CONTINUE | |
3859 | PX1CM=PCX | |
3860 | PY1CM=PCY | |
3861 | PZ1CM=PCZ | |
3862 | EC=(em1+em2+0.02)**2 | |
3863 | * CALL CROSSKKPHI(PX1CM,PY1CM,PZ1CM,SRT,I1,I2,IBLOCK) used for KK*->phi+rho | |
3864 | ||
3865 | CALL Crkphi(PX1CM,PY1CM,PZ1CM,EC,SRT,IBLOCK, | |
3866 | & emm1,emm2,lbp1,lbp2,I1,I2,ikk,icase,rrkk,prkk) | |
3867 | if(icase .eq. 0) then | |
3868 | iblock=0 | |
3869 | go to 400 | |
3870 | endif | |
3871 | ||
3872 | c*--- | |
3873 | if(lbp1.eq.29.or.lbp2.eq.29) then | |
3874 | PZRT = p(3,i1)+p(3,i2) | |
3875 | ER1 = sqrt( p(1,i1)**2+p(2,i1)**2+p(3,i1)**2+E(i1)**2 ) | |
3876 | ER2 = sqrt( p(1,i2)**2+p(2,i2)**2+p(3,i2)**2+E(i2)**2 ) | |
3877 | ERT = ER1+ER2 | |
3878 | yy = 0.5*log( (ERT+PZRT)/(ERT-PZRT) ) | |
3879 | c*------ | |
3880 | iblock = 222 | |
3881 | ntag = 0 | |
3882 | endif | |
3883 | ||
3884 | LB(I1) = lbp1 | |
3885 | LB(I2) = lbp2 | |
3886 | E(I1) = emm1 | |
3887 | E(I2) = emm2 | |
3888 | em1=e(i1) | |
3889 | em2=e(i2) | |
3890 | go to 440 | |
3891 | c* | |
3892 | * rho(omega) + K(K*) --> phi + K(K*) | |
3893 | 8799 CONTINUE | |
3894 | PX1CM=PCX | |
3895 | PY1CM=PCY | |
3896 | PZ1CM=PCZ | |
3897 | EC=(em1+em2+0.02)**2 | |
3898 | * CALL CROSSKKPHI(PX1CM,PY1CM,PZ1CM,SRT,I1,I2,IBLOCK) used for KK*->phi+rho | |
3899 | CALL Crksph(PX1CM,PY1CM,PZ1CM,EC,SRT, | |
3900 | & emm1,emm2,lbp1,lbp2,I1,I2,ikkg,ikkl,iblock,icase,srhoks) | |
3901 | if(icase .eq. 0) then | |
3902 | iblock=0 | |
3903 | go to 400 | |
3904 | endif | |
3905 | c | |
3906 | if(lbp1.eq.29.or.lbp2.eq.20) then | |
3907 | c*--- | |
3908 | PZRT = p(3,i1)+p(3,i2) | |
3909 | ER1 = sqrt( p(1,i1)**2+p(2,i1)**2+p(3,i1)**2+E(i1)**2 ) | |
3910 | ER2 = sqrt( p(1,i2)**2+p(2,i2)**2+p(3,i2)**2+E(i2)**2 ) | |
3911 | ERT = ER1+ER2 | |
3912 | yy = 0.5*log( (ERT+PZRT)/(ERT-PZRT) ) | |
3913 | endif | |
3914 | ||
3915 | LB(I1) = lbp1 | |
3916 | LB(I2) = lbp2 | |
3917 | E(I1) = emm1 | |
3918 | E(I2) = emm2 | |
3919 | em1=e(i1) | |
3920 | em2=e(i2) | |
3921 | go to 440 | |
3922 | ||
3923 | * for kaon+baryon scattering, using a constant xsection of 10 mb. | |
3924 | 888 CONTINUE | |
3925 | PX1CM=PCX | |
3926 | PY1CM=PCY | |
3927 | PZ1CM=PCZ | |
3928 | EC=(em1+em2+0.02)**2 | |
3929 | sig = 10. | |
3930 | if(iabs(lb1).eq.14.or.iabs(lb2).eq.14 .or. | |
3931 | & iabs(lb1).eq.30.or.iabs(lb2).eq.30)sig=20. | |
3932 | if(lb1.eq.29.or.lb2.eq.29)sig=5.0 | |
3933 | ||
3934 | DSkn=SQRT(sig/PI/10.) | |
3935 | dsknr=dskn+0.1 | |
3936 | CALL DISTCE(I1,I2,dsknr,DSkn,DT,EC,SRT,IC, | |
3937 | 1 PX1CM,PY1CM,PZ1CM) | |
3938 | IF(IC.EQ.-1) GO TO 400 | |
3939 | CALL Crkn(PX1CM,PY1CM,PZ1CM,SRT,I1,I2, | |
3940 | 1 IBLOCK) | |
3941 | em1=e(i1) | |
3942 | em2=e(i2) | |
3943 | go to 440 | |
3944 | *** | |
3945 | ||
3946 | 440 CONTINUE | |
3947 | * IBLOCK = 0 ; NOTHING HAS HAPPENED | |
3948 | * IBLOCK = 1 ; ELASTIC N-N COLLISION | |
3949 | * IBLOCK = 2 ; N + N -> N + DELTA | |
3950 | * IBLOCK = 3 ; N + DELTA -> N + N | |
3951 | * IBLOCK = 4 ; N + N -> d + d + PION,DIRECT PROCESS | |
3952 | * IBLOCK = 5 ; D(N*)+D(N*) COLLISIONS | |
3953 | * IBLOCK = 6 ; PION+PION COLLISIONS | |
3954 | * iblock = 7 ; pion+nucleon-->l/s+kaon | |
3955 | * iblock =77; pion+nucleon-->delta+pion | |
3956 | * iblock = 8 ; kaon+baryon rescattering | |
3957 | * IBLOCK = 9 ; NN-->KAON+X | |
3958 | * IBLOCK = 10; DD-->KAON+X | |
3959 | * IBLOCK = 11; ND-->KAON+X | |
3960 | cbali2/1/99 | |
3961 | * | |
3962 | * iblock - 1902 annihilation-->pion(+)+pion(-) (2 pion) | |
3963 | * iblock - 1903 annihilation-->pion(+)+rho(-) (3 pion) | |
3964 | * iblock - 1904 annihilation-->rho(+)+rho(-) (4 pion) | |
3965 | * iblock - 1905 annihilation-->rho(0)+omega (5 pion) | |
3966 | * iblock - 1906 annihilation-->omega+omega (6 pion) | |
3967 | cbali3/5/99 | |
3968 | * iblock - 1907 K+K- to pi+pi- | |
3969 | cbali3/5/99 end | |
3970 | cbz3/9/99 khyperon | |
3971 | * iblock - 1908 K+Y -> piN | |
3972 | cbz3/9/99 khyperon end | |
3973 | cbali2/1/99end | |
3974 | ||
3975 | clin-9/28/00 Processes: m(pi rho omega)+m(pi rho omega) | |
3976 | c to anti-(p n D N*1 N*2)+(p n D N*1 N*2): | |
3977 | * iblock - 1801 mm -->pbar p | |
3978 | * iblock - 18021 mm -->pbar n | |
3979 | * iblock - 18022 mm -->nbar p | |
3980 | * iblock - 1803 mm -->nbar n | |
3981 | * iblock - 18041 mm -->pbar Delta | |
3982 | * iblock - 18042 mm -->anti-Delta p | |
3983 | * iblock - 18051 mm -->nbar Delta | |
3984 | * iblock - 18052 mm -->anti-Delta n | |
3985 | * iblock - 18061 mm -->pbar N*(1400) | |
3986 | * iblock - 18062 mm -->anti-N*(1400) p | |
3987 | * iblock - 18071 mm -->nbar N*(1400) | |
3988 | * iblock - 18072 mm -->anti-N*(1400) n | |
3989 | * iblock - 1808 mm -->anti-Delta Delta | |
3990 | * iblock - 18091 mm -->pbar N*(1535) | |
3991 | * iblock - 18092 mm -->anti-N*(1535) p | |
3992 | * iblock - 18101 mm -->nbar N*(1535) | |
3993 | * iblock - 18102 mm -->anti-N*(1535) n | |
3994 | * iblock - 18111 mm -->anti-Delta N*(1440) | |
3995 | * iblock - 18112 mm -->anti-N*(1440) Delta | |
3996 | * iblock - 18121 mm -->anti-Delta N*(1535) | |
3997 | * iblock - 18122 mm -->anti-N*(1535) Delta | |
3998 | * iblock - 1813 mm -->anti-N*(1440) N*(1440) | |
3999 | * iblock - 18141 mm -->anti-N*(1440) N*(1535) | |
4000 | * iblock - 18142 mm -->anti-N*(1535) N*(1440) | |
4001 | * iblock - 1815 mm -->anti-N*(1535) N*(1535) | |
4002 | clin-9/28/00-end | |
4003 | ||
4004 | clin-10/08/00 Processes: pi pi <-> rho rho | |
4005 | * iblock - 1850 pi pi -> rho rho | |
4006 | * iblock - 1851 rho rho -> pi pi | |
4007 | clin-10/08/00-end | |
4008 | ||
4009 | clin-08/14/02 Processes: pi pi <-> eta eta | |
4010 | * iblock - 1860 pi pi -> eta eta | |
4011 | * iblock - 1861 eta eta -> pi pi | |
4012 | * Processes: pi pi <-> pi eta | |
4013 | * iblock - 1870 pi pi -> pi eta | |
4014 | * iblock - 1871 pi eta -> pi pi | |
4015 | * Processes: rho pi <-> rho eta | |
4016 | * iblock - 1880 pi pi -> pi eta | |
4017 | * iblock - 1881 pi eta -> pi pi | |
4018 | * Processes: omega pi <-> omega eta | |
4019 | * iblock - 1890 pi pi -> pi eta | |
4020 | * iblock - 1891 pi eta -> pi pi | |
4021 | * Processes: rho rho <-> eta eta | |
4022 | * iblock - 1895 rho rho -> eta eta | |
4023 | * iblock - 1896 eta eta -> rho rho | |
4024 | clin-08/14/02-end | |
4025 | ||
4026 | clin-11/07/00 Processes: | |
4027 | * iblock - 366 pi rho -> K* Kbar or K*bar K | |
4028 | * iblock - 466 pi rho <- K* Kbar or K*bar K | |
4029 | ||
4030 | clin-9/2008 Deuteron: | |
4031 | * iblock - 501 B+B -> Deuteron+Meson | |
4032 | * iblock - 502 Deuteron+Meson -> B+B | |
4033 | * iblock - 503 Deuteron+Baryon elastic | |
4034 | * iblock - 504 Deuteron+Meson elastic | |
4035 | c | |
4036 | IF(IBLOCK.EQ.0) GOTO 400 | |
4037 | *COM: FOR DIRECT PROCESS WE HAVE TREATED THE PAULI BLOCKING AND FIND | |
4038 | * THE MOMENTUM OF PARTICLES IN THE ''LAB'' FRAME. SO GO TO 400 | |
4039 | * A COLLISION HAS TAKEN PLACE !! | |
4040 | LCOLL = LCOLL +1 | |
4041 | * WAS COLLISION PAULI-FORBIDEN? IF YES, NTAG = -1 | |
4042 | NTAG = 0 | |
4043 | * | |
4044 | * LORENTZ-TRANSFORMATION INTO CMS FRAME | |
4045 | E1CM = SQRT (EM1**2 + PX1CM**2 + PY1CM**2 + PZ1CM**2) | |
4046 | P1BETA = PX1CM*BETAX + PY1CM*BETAY + PZ1CM*BETAZ | |
4047 | TRANSF = GAMMA * ( GAMMA * P1BETA / (GAMMA + 1) + E1CM ) | |
4048 | Pt1I1 = BETAX * TRANSF + PX1CM | |
4049 | Pt2I1 = BETAY * TRANSF + PY1CM | |
4050 | Pt3I1 = BETAZ * TRANSF + PZ1CM | |
4051 | * negelect the pauli blocking at high energies | |
4052 | go to 90002 | |
4053 | ||
4054 | clin-10/25/02-comment out following, since there is no path to it: | |
4055 | c*CHECK IF PARTICLE #1 IS PAULI BLOCKED | |
4056 | c CALL PAULat(I1,occup) | |
4057 | c if (RANART(NSEED) .lt. occup) then | |
4058 | c ntag = -1 | |
4059 | c else | |
4060 | c ntag = 0 | |
4061 | c end if | |
4062 | clin-10/25/02-end | |
4063 | ||
4064 | 90002 continue | |
4065 | *IF PARTICLE #1 IS NOT PAULI BLOCKED | |
4066 | c IF (NTAG .NE. -1) THEN | |
4067 | E2CM = SQRT (EM2**2 + PX1CM**2 + PY1CM**2 + PZ1CM**2) | |
4068 | TRANSF = GAMMA * (-GAMMA*P1BETA / (GAMMA + 1.) + E2CM) | |
4069 | Pt1I2 = BETAX * TRANSF - PX1CM | |
4070 | Pt2I2 = BETAY * TRANSF - PY1CM | |
4071 | Pt3I2 = BETAZ * TRANSF - PZ1CM | |
4072 | go to 90003 | |
4073 | ||
4074 | clin-10/25/02-comment out following, since there is no path to it: | |
4075 | c*CHECK IF PARTICLE #2 IS PAULI BLOCKED | |
4076 | c CALL PAULat(I2,occup) | |
4077 | c if (RANART(NSEED) .lt. occup) then | |
4078 | c ntag = -1 | |
4079 | c else | |
4080 | c ntag = 0 | |
4081 | c end if | |
4082 | cc END IF | |
4083 | c* IF COLLISION IS BLOCKED,RESTORE THE MOMENTUM,MASSES | |
4084 | c* AND LABELS OF I1 AND I2 | |
4085 | cc IF (NTAG .EQ. -1) THEN | |
4086 | c LBLOC = LBLOC + 1 | |
4087 | c P(1,I1) = PX1 | |
4088 | c P(2,I1) = PY1 | |
4089 | c P(3,I1) = PZ1 | |
4090 | c P(1,I2) = PX2 | |
4091 | c P(2,I2) = PY2 | |
4092 | c P(3,I2) = PZ2 | |
4093 | c E(I1) = EM1 | |
4094 | c E(I2) = EM2 | |
4095 | c LB(I1) = LB1 | |
4096 | c LB(I2) = LB2 | |
4097 | cc ELSE | |
4098 | clin-10/25/02-end | |
4099 | ||
4100 | 90003 IF(IBLOCK.EQ.1) LCNNE=LCNNE+1 | |
4101 | IF(IBLOCK.EQ.5) LDD=LDD+1 | |
4102 | if(iblock.eq.2) LCNND=LCNND+1 | |
4103 | IF(IBLOCK.EQ.8) LKN=LKN+1 | |
4104 | if(iblock.eq.43) Ldou=Ldou+1 | |
4105 | c IF(IBLOCK.EQ.2) THEN | |
4106 | * CALCULATE THE AVERAGE SRT FOR N + N---> N + DELTA PROCESS | |
4107 | C NODELT=NODELT+1 | |
4108 | C SUMSRT=SUMSRT+SRT | |
4109 | c ENDIF | |
4110 | IF(IBLOCK.EQ.3) LCNDN=LCNDN+1 | |
4111 | * assign final momenta to particles while keep the leadng particle | |
4112 | * behaviour | |
4113 | C if((pt1i1*px1+pt2i1*py1+pt3i1*pz1).gt.0)then | |
4114 | p(1,i1)=pt1i1 | |
4115 | p(2,i1)=pt2i1 | |
4116 | p(3,i1)=pt3i1 | |
4117 | p(1,i2)=pt1i2 | |
4118 | p(2,i2)=pt2i2 | |
4119 | p(3,i2)=pt3i2 | |
4120 | C else | |
4121 | C p(1,i1)=pt1i2 | |
4122 | C p(2,i1)=pt2i2 | |
4123 | C p(3,i1)=pt3i2 | |
4124 | C p(1,i2)=pt1i1 | |
4125 | C p(2,i2)=pt2i1 | |
4126 | C p(3,i2)=pt3i1 | |
4127 | C endif | |
4128 | PX1 = P(1,I1) | |
4129 | PY1 = P(2,I1) | |
4130 | PZ1 = P(3,I1) | |
4131 | EM1 = E(I1) | |
4132 | EM2 = E(I2) | |
4133 | LB1 = LB(I1) | |
4134 | LB2 = LB(I2) | |
4135 | ID(I1) = 2 | |
4136 | ID(I2) = 2 | |
4137 | E1 = SQRT( EM1**2 + PX1**2 + PY1**2 + PZ1**2 ) | |
4138 | ID1 = ID(I1) | |
4139 | go to 90004 | |
4140 | clin-10/25/02-comment out following, since there is no path to it: | |
4141 | c* change phase space density FOR NUCLEONS INVOLVED : | |
4142 | c* NOTE THAT f is the phase space distribution function for nucleons only | |
4143 | c if ((abs(ix1).le.mx) .and. (abs(iy1).le.my) .and. | |
4144 | c & (abs(iz1).le.mz)) then | |
4145 | c ipx1p = nint(p(1,i1)/dpx) | |
4146 | c ipy1p = nint(p(2,i1)/dpy) | |
4147 | c ipz1p = nint(p(3,i1)/dpz) | |
4148 | c if ((ipx1p.ne.ipx1) .or. (ipy1p.ne.ipy1) .or. | |
4149 | c & (ipz1p.ne.ipz1)) then | |
4150 | c if ((abs(ipx1).le.mpx) .and. (abs(ipy1).le.my) | |
4151 | c & .and. (ipz1.ge.-mpz) .and. (ipz1.le.mpzp) | |
4152 | c & .AND. (AM1.LT.1.)) | |
4153 | c & f(ix1,iy1,iz1,ipx1,ipy1,ipz1) = | |
4154 | c & f(ix1,iy1,iz1,ipx1,ipy1,ipz1) - 1. | |
4155 | c if ((abs(ipx1p).le.mpx) .and. (abs(ipy1p).le.my) | |
4156 | c & .and. (ipz1p.ge.-mpz).and. (ipz1p.le.mpzp) | |
4157 | c & .AND. (EM1.LT.1.)) | |
4158 | c & f(ix1,iy1,iz1,ipx1p,ipy1p,ipz1p) = | |
4159 | c & f(ix1,iy1,iz1,ipx1p,ipy1p,ipz1p) + 1. | |
4160 | c end if | |
4161 | c end if | |
4162 | c if ((abs(ix2).le.mx) .and. (abs(iy2).le.my) .and. | |
4163 | c & (abs(iz2).le.mz)) then | |
4164 | c ipx2p = nint(p(1,i2)/dpx) | |
4165 | c ipy2p = nint(p(2,i2)/dpy) | |
4166 | c ipz2p = nint(p(3,i2)/dpz) | |
4167 | c if ((ipx2p.ne.ipx2) .or. (ipy2p.ne.ipy2) .or. | |
4168 | c & (ipz2p.ne.ipz2)) then | |
4169 | c if ((abs(ipx2).le.mpx) .and. (abs(ipy2).le.my) | |
4170 | c & .and. (ipz2.ge.-mpz) .and. (ipz2.le.mpzp) | |
4171 | c & .AND. (AM2.LT.1.)) | |
4172 | c & f(ix2,iy2,iz2,ipx2,ipy2,ipz2) = | |
4173 | c & f(ix2,iy2,iz2,ipx2,ipy2,ipz2) - 1. | |
4174 | c if ((abs(ipx2p).le.mpx) .and. (abs(ipy2p).le.my) | |
4175 | c & .and. (ipz2p.ge.-mpz) .and. (ipz2p.le.mpzp) | |
4176 | c & .AND. (EM2.LT.1.)) | |
4177 | c & f(ix2,iy2,iz2,ipx2p,ipy2p,ipz2p) = | |
4178 | c & f(ix2,iy2,iz2,ipx2p,ipy2p,ipz2p) + 1. | |
4179 | c end if | |
4180 | c end if | |
4181 | clin-10/25/02-end | |
4182 | ||
4183 | 90004 continue | |
4184 | AM1=EM1 | |
4185 | AM2=EM2 | |
4186 | c END IF | |
4187 | ||
4188 | ||
4189 | 400 CONTINUE | |
4190 | c | |
4191 | clin-6/10/03 skips the info output on resonance creations: | |
4192 | c goto 550 | |
4193 | cclin-4/30/03 study phi,K*,Lambda(1520) resonances at creation: | |
4194 | cc note that no decays give these particles, so don't need to consider nnn: | |
4195 | c if(iblock.ne.0.and.(lb(i1).eq.29.or.iabs(lb(i1)).eq.30 | |
4196 | c 1 .or.lb(i2).eq.29.or.iabs(lb(i2)).eq.30 | |
4197 | c 2 .or.lb1i.eq.29.or.iabs(lb1i).eq.30 | |
4198 | c 3 .or.lb2i.eq.29.or.iabs(lb2i).eq.30)) then | |
4199 | c lb1now=lb(i1) | |
4200 | c lb2now=lb(i2) | |
4201 | cc | |
4202 | c nphi0=0 | |
4203 | c nksp0=0 | |
4204 | c nksm0=0 | |
4205 | cc nlar0=0 | |
4206 | cc nlarbar0=0 | |
4207 | c if(lb1i.eq.29) then | |
4208 | c nphi0=nphi0+1 | |
4209 | c elseif(lb1i.eq.30) then | |
4210 | c nksp0=nksp0+1 | |
4211 | c elseif(lb1i.eq.-30) then | |
4212 | c nksm0=nksm0+1 | |
4213 | c endif | |
4214 | c if(lb2i.eq.29) then | |
4215 | c nphi0=nphi0+1 | |
4216 | c elseif(lb2i.eq.30) then | |
4217 | c nksp0=nksp0+1 | |
4218 | c elseif(lb2i.eq.-30) then | |
4219 | c nksm0=nksm0+1 | |
4220 | c endif | |
4221 | cc | |
4222 | c nphi=0 | |
4223 | c nksp=0 | |
4224 | c nksm=0 | |
4225 | c nlar=0 | |
4226 | c nlarbar=0 | |
4227 | c if(lb1now.eq.29) then | |
4228 | c nphi=nphi+1 | |
4229 | c elseif(lb1now.eq.30) then | |
4230 | c nksp=nksp+1 | |
4231 | c elseif(lb1now.eq.-30) then | |
4232 | c nksm=nksm+1 | |
4233 | c endif | |
4234 | c if(lb2now.eq.29) then | |
4235 | c nphi=nphi+1 | |
4236 | c elseif(lb2now.eq.30) then | |
4237 | c nksp=nksp+1 | |
4238 | c elseif(lb2now.eq.-30) then | |
4239 | c nksm=nksm+1 | |
4240 | c endif | |
4241 | cc | |
4242 | c if(nphi.eq.2.or.nksp.eq.2.or.nksm.eq.2) then | |
4243 | c write(91,*) '2 same resonances in one reaction!' | |
4244 | c write(91,*) nphi,nksp,nksm,iblock | |
4245 | c endif | |
4246 | c | |
4247 | cc All reactions create or destroy no more than 1 these resonance, | |
4248 | cc otherwise file "fort.91" warns us: | |
4249 | c do 222 ires=1,3 | |
4250 | c if(ires.eq.1.and.nphi.ne.nphi0) then | |
4251 | c idr=29 | |
4252 | c elseif(ires.eq.2.and.nksp.ne.nksp0) then | |
4253 | c idr=30 | |
4254 | c elseif(ires.eq.3.and.nksm.ne.nksm0) then | |
4255 | c idr=-30 | |
4256 | c else | |
4257 | c goto 222 | |
4258 | c endif | |
4259 | cctest off for resonance (phi, K*) studies: | |
4260 | cc if(lb1now.eq.idr) then | |
4261 | cc write(17,112) 'collision',lb1now,P(1,I1),P(2,I1),P(3,I1),e(I1),nt | |
4262 | cc elseif(lb2now.eq.idr) then | |
4263 | cc write(17,112) 'collision',lb2now,P(1,I2),P(2,I2),P(3,I2),e(I2),nt | |
4264 | cc elseif(lb1i.eq.idr) then | |
4265 | cc write(18,112) 'collision',lb1i,px1i,py1i,pz1i,em1i,nt | |
4266 | cc elseif(lb2i.eq.idr) then | |
4267 | cc write(18,112) 'collision',lb2i,px2i,py2i,pz2i,em2i,nt | |
4268 | cc endif | |
4269 | c 222 continue | |
4270 | c | |
4271 | c else | |
4272 | c endif | |
4273 | cc 112 format(a10,I4,4(1x,f9.3),1x,I4) | |
4274 | c | |
4275 | clin-2/26/03 skips the check of energy conservation after each binary search: | |
4276 | c 550 goto 555 | |
4277 | c pxfin=0 | |
4278 | c pyfin=0 | |
4279 | c pzfin=0 | |
4280 | c efin=0 | |
4281 | c if(e(i1).ne.0.or.lb(i1).eq.10022) then | |
4282 | c efin=efin+SQRT(E(I1)**2+P(1,I1)**2+P(2,I1)**2+P(3,I1)**2) | |
4283 | c pxfin=pxfin+P(1,I1) | |
4284 | c pyfin=pyfin+P(2,I1) | |
4285 | c pzfin=pzfin+P(3,I1) | |
4286 | c endif | |
4287 | c if(e(i2).ne.0.or.lb(i2).eq.10022) then | |
4288 | c efin=efin+SQRT(E(I2)**2+P(1,I2)**2+P(2,I2)**2+P(3,I2)**2) | |
4289 | c pxfin=pxfin+P(1,I2) | |
4290 | c pyfin=pyfin+P(2,I2) | |
4291 | c pzfin=pzfin+P(3,I2) | |
4292 | c endif | |
4293 | c if((nnn-nnnini).ge.1) then | |
4294 | c do imore=nnnini+1,nnn | |
4295 | c if(EPION(imore,IRUN).ne.0) then | |
4296 | c efin=efin+SQRT(EPION(imore,IRUN)**2 | |
4297 | c 1 +PPION(1,imore,IRUN)**2+PPION(2,imore,IRUN)**2 | |
4298 | c 2 +PPION(3,imore,IRUN)**2) | |
4299 | c pxfin=pxfin+PPION(1,imore,IRUN) | |
4300 | c pyfin=pyfin+PPION(2,imore,IRUN) | |
4301 | c pzfin=pzfin+PPION(3,imore,IRUN) | |
4302 | c endif | |
4303 | c enddo | |
4304 | c endif | |
4305 | c devio=sqrt((pxfin-pxini)**2+(pyfin-pyini)**2 | |
4306 | c 1 +(pzfin-pzini)**2+(efin-eini)**2) | |
4307 | cc | |
4308 | c if(devio.ge.0.1) then | |
4309 | c write(92,'a20,5(1x,i6),2(1x,f8.3)') 'iblock,lb,npi=', | |
4310 | c 1 iblock,lb1i,lb2i,lb(i1),lb(i2),e(i1),e(i2) | |
4311 | c do imore=nnnini+1,nnn | |
4312 | c if(EPION(imore,IRUN).ne.0) then | |
4313 | c write(92,'a10,2(1x,i6)') 'ipi,lbm=', | |
4314 | c 1 imore,LPION(imore,IRUN) | |
4315 | c endif | |
4316 | c enddo | |
4317 | c write(92,'a3,4(1x,f8.3)') 'I:',eini,pxini,pyini,pzini | |
4318 | c write(92,'a3,5(1x,f8.3)') | |
4319 | c 1 'F:',efin,pxfin,pyfin,pzfin,devio | |
4320 | c endif | |
4321 | c | |
4322 | 555 continue | |
4323 | ctest off only one collision for the same 2 particles in the same timestep: | |
4324 | c if(iblock.ne.0) then | |
4325 | c goto 800 | |
4326 | c endif | |
4327 | ctest off collisions history: | |
4328 | c if(iblock.ne.0) then | |
4329 | c write(10,*) nt,i1,i2,iblock,x1,z1,x2,z2 | |
4330 | c endif | |
4331 | ||
4332 | 600 CONTINUE | |
4333 | 800 CONTINUE | |
4334 | * RELABLE MESONS LEFT IN THIS RUN EXCLUDING THOSE BEING CREATED DURING | |
4335 | * THIS TIME STEP AND COUNT THE TOTAL NO. OF PARTICLES IN THIS RUN | |
4336 | * note that the first mass=mta+mpr particles are baryons | |
4337 | c write(*,*)'I: NNN,massr ', nnn,massr(irun) | |
4338 | N0=MASS+MSUM | |
4339 | DO 1005 N=N0+1,MASSR(IRUN)+MSUM | |
4340 | cbz11/25/98 | |
4341 | clin-2/19/03 lb>5000: keep particles with no LB codes in ART(photon,lepton,..): | |
4342 | c IF(E(N).GT.0.)THEN | |
4343 | IF(E(N) .GT. 0. .OR. LB(N) .GT. 5000)THEN | |
4344 | cbz11/25/98end | |
4345 | NNN=NNN+1 | |
4346 | RPION(1,NNN,IRUN)=R(1,N) | |
4347 | RPION(2,NNN,IRUN)=R(2,N) | |
4348 | RPION(3,NNN,IRUN)=R(3,N) | |
4349 | clin-10/28/03: | |
4350 | if(nt.eq.ntmax) then | |
4351 | ftpisv(NNN,IRUN)=ftsv(N) | |
4352 | tfdpi(NNN,IRUN)=tfdcy(N) | |
4353 | endif | |
4354 | c | |
4355 | PPION(1,NNN,IRUN)=P(1,N) | |
4356 | PPION(2,NNN,IRUN)=P(2,N) | |
4357 | PPION(3,NNN,IRUN)=P(3,N) | |
4358 | EPION(NNN,IRUN)=E(N) | |
4359 | LPION(NNN,IRUN)=LB(N) | |
4360 | c !! sp 12/19/00 | |
4361 | PROPI(NNN,IRUN)=PROPER(N) | |
4362 | clin-5/2008: | |
4363 | dppion(NNN,IRUN)=dpertp(N) | |
4364 | c if(lb(n) .eq. 45) | |
4365 | c & write(*,*)'IN-1 NT,NNN,LB,P ',nt,NNN,lb(n),proper(n) | |
4366 | ENDIF | |
4367 | 1005 CONTINUE | |
4368 | MASSRN(IRUN)=NNN+MASS | |
4369 | c write(*,*)'F: NNN,massrn ', nnn,massrn(irun) | |
4370 | 1000 CONTINUE | |
4371 | * CALCULATE THE AVERAGE SRT FOR N + N--->N +DELTA PROCESSES | |
4372 | C IF(NODELT.NE.0)THEN | |
4373 | C AVSRT=SUMSRT/FLOAT(NODELT) | |
4374 | C ELSE | |
4375 | C AVSRT=0. | |
4376 | C ENDIF | |
4377 | C WRITE(1097,'(F8.2,2X,E10.3)')FLOAT(NT)*DT,AVSRT | |
4378 | * RELABLE ALL THE PARTICLES EXISTING AFTER THIS TIME STEP | |
4379 | IA=0 | |
4380 | IB=0 | |
4381 | DO 10001 IRUN=1,NUM | |
4382 | IA=IA+MASSR(IRUN-1) | |
4383 | IB=IB+MASSRN(IRUN-1) | |
4384 | DO 10001 IC=1,MASSRN(IRUN) | |
4385 | IE=IA+IC | |
4386 | IG=IB+IC | |
4387 | IF(IC.LE.MASS)THEN | |
4388 | RT(1,IG)=R(1,IE) | |
4389 | RT(2,IG)=R(2,IE) | |
4390 | RT(3,IG)=R(3,IE) | |
4391 | clin-10/28/03: | |
4392 | if(nt.eq.ntmax) then | |
4393 | fttemp(IG)=ftsv(IE) | |
4394 | tft(IG)=tfdcy(IE) | |
4395 | endif | |
4396 | c | |
4397 | PT(1,IG)=P(1,IE) | |
4398 | PT(2,IG)=P(2,IE) | |
4399 | PT(3,IG)=P(3,IE) | |
4400 | ET(IG)=E(IE) | |
4401 | LT(IG)=LB(IE) | |
4402 | PROT(IG)=PROPER(IE) | |
4403 | clin-5/2008: | |
4404 | dptemp(IG)=dpertp(IE) | |
4405 | ELSE | |
4406 | I0=IC-MASS | |
4407 | RT(1,IG)=RPION(1,I0,IRUN) | |
4408 | RT(2,IG)=RPION(2,I0,IRUN) | |
4409 | RT(3,IG)=RPION(3,I0,IRUN) | |
4410 | clin-10/28/03: | |
4411 | if(nt.eq.ntmax) then | |
4412 | fttemp(IG)=ftpisv(I0,IRUN) | |
4413 | tft(IG)=tfdpi(I0,IRUN) | |
4414 | endif | |
4415 | c | |
4416 | PT(1,IG)=PPION(1,I0,IRUN) | |
4417 | PT(2,IG)=PPION(2,I0,IRUN) | |
4418 | PT(3,IG)=PPION(3,I0,IRUN) | |
4419 | ET(IG)=EPION(I0,IRUN) | |
4420 | LT(IG)=LPION(I0,IRUN) | |
4421 | PROT(IG)=PROPI(I0,IRUN) | |
4422 | clin-5/2008: | |
4423 | dptemp(IG)=dppion(I0,IRUN) | |
4424 | ENDIF | |
4425 | 10001 CONTINUE | |
4426 | c | |
4427 | IL=0 | |
4428 | clin-10/26/01-hbt: | |
4429 | c DO 10002 IRUN=1,NUM | |
4430 | DO 10003 IRUN=1,NUM | |
4431 | ||
4432 | MASSR(IRUN)=MASSRN(IRUN) | |
4433 | IL=IL+MASSR(IRUN-1) | |
4434 | DO 10002 IM=1,MASSR(IRUN) | |
4435 | IN=IL+IM | |
4436 | R(1,IN)=RT(1,IN) | |
4437 | R(2,IN)=RT(2,IN) | |
4438 | R(3,IN)=RT(3,IN) | |
4439 | clin-10/28/03: | |
4440 | if(nt.eq.ntmax) then | |
4441 | ftsv(IN)=fttemp(IN) | |
4442 | tfdcy(IN)=tft(IN) | |
4443 | endif | |
4444 | P(1,IN)=PT(1,IN) | |
4445 | P(2,IN)=PT(2,IN) | |
4446 | P(3,IN)=PT(3,IN) | |
4447 | E(IN)=ET(IN) | |
4448 | LB(IN)=LT(IN) | |
4449 | PROPER(IN)=PROT(IN) | |
4450 | clin-5/2008: | |
4451 | dpertp(IN)=dptemp(IN) | |
4452 | IF(LB(IN).LT.1.OR.LB(IN).GT.2)ID(IN)=0 | |
4453 | 10002 CONTINUE | |
4454 | clin-ctest off check energy conservation after each timestep | |
4455 | c enetot=0. | |
4456 | c do ip=1,MASSR(IRUN) | |
4457 | c if(e(ip).ne.0.or.lb(ip).eq.10022) enetot=enetot | |
4458 | c 1 +sqrt(p(1,ip)**2+p(2,ip)**2+p(3,ip)**2+e(ip)**2) | |
4459 | c enddo | |
4460 | c write(91,*) 'B:',nt,enetot,massr(irun),bimp | |
4461 | clin-3/2009 move to the end of a timestep to take care of freezeout spacetime: | |
4462 | c call hbtout(MASSR(IRUN),nt,ntmax) | |
4463 | 10003 CONTINUE | |
4464 | c | |
4465 | RETURN | |
4466 | END | |
4467 | **************************************** | |
4468 | SUBROUTINE CMS(I1,I2,PX1CM,PY1CM,PZ1CM,SRT) | |
4469 | * PURPOSE : FIND THE MOMENTA OF PARTICLES IN THE CMS OF THE | |
4470 | * TWO COLLIDING PARTICLES | |
4471 | * VARIABLES : | |
4472 | ***************************************** | |
4473 | PARAMETER (MAXSTR=150001) | |
4474 | COMMON /AA/ R(3,MAXSTR) | |
4475 | cc SAVE /AA/ | |
4476 | COMMON /BB/ P(3,MAXSTR) | |
4477 | cc SAVE /BB/ | |
4478 | COMMON /CC/ E(MAXSTR) | |
4479 | cc SAVE /CC/ | |
4480 | COMMON /BG/ BETAX,BETAY,BETAZ,GAMMA | |
4481 | cc SAVE /BG/ | |
4482 | SAVE | |
4483 | PX1=P(1,I1) | |
4484 | PY1=P(2,I1) | |
4485 | PZ1=P(3,I1) | |
4486 | PX2=P(1,I2) | |
4487 | PY2=P(2,I2) | |
4488 | PZ2=P(3,I2) | |
4489 | EM1=E(I1) | |
4490 | EM2=E(I2) | |
4491 | E1=SQRT(EM1**2+PX1**2+PY1**2+PZ1**2) | |
4492 | E2=SQRT(EM2**2 + PX2**2 + PY2**2 + PZ2**2 ) | |
4493 | S=(E1+E2)**2-(PX1+PX2)**2-(PY1+PY2)**2-(PZ1+PZ2)**2 | |
4494 | SRT=SQRT(S) | |
4495 | *LORENTZ-TRANSFORMATION IN I1-I2-C.M. SYSTEM | |
4496 | ETOTAL = E1 + E2 | |
4497 | BETAX = (PX1+PX2) / ETOTAL | |
4498 | BETAY = (PY1+PY2) / ETOTAL | |
4499 | BETAZ = (PZ1+PZ2) / ETOTAL | |
4500 | GAMMA = 1.0 / SQRT(1.0-BETAX**2-BETAY**2-BETAZ**2) | |
4501 | *TRANSFORMATION OF MOMENTA (PX1CM = - PX2CM) | |
4502 | P1BETA = PX1*BETAX + PY1*BETAY + PZ1 * BETAZ | |
4503 | TRANSF = GAMMA * ( GAMMA * P1BETA / (GAMMA + 1) - E1 ) | |
4504 | PX1CM = BETAX * TRANSF + PX1 | |
4505 | PY1CM = BETAY * TRANSF + PY1 | |
4506 | PZ1CM = BETAZ * TRANSF + PZ1 | |
4507 | RETURN | |
4508 | END | |
4509 | *************************************** | |
4510 | SUBROUTINE DISTCE(I1,I2,DELTAR,DS,DT,EC,SRT | |
4511 | 1 ,IC,PX1CM,PY1CM,PZ1CM) | |
4512 | * PURPOSE : CHECK IF THE COLLISION BETWEEN TWO PARTICLES CAN HAPPEN | |
4513 | * BY CHECKING | |
4514 | * (1) IF THE DISTANCE BETWEEN THEM IS SMALLER | |
4515 | * THAN THE MAXIMUM DISTANCE DETERMINED FROM THE CROSS SECTION. | |
4516 | * (2) IF PARTICLE WILL PASS EACH OTHER WITHIN | |
4517 | * TWO HARD CORE RADIUS. | |
4518 | * (3) IF PARTICLES WILL GET CLOSER. | |
4519 | * VARIABLES : | |
4520 | * IC=1 COLLISION HAPPENED | |
4521 | * IC=-1 COLLISION CAN NOT HAPPEN | |
4522 | ***************************************** | |
4523 | PARAMETER (MAXSTR=150001) | |
4524 | COMMON /AA/ R(3,MAXSTR) | |
4525 | cc SAVE /AA/ | |
4526 | COMMON /BB/ P(3,MAXSTR) | |
4527 | cc SAVE /BB/ | |
4528 | COMMON /CC/ E(MAXSTR) | |
4529 | cc SAVE /CC/ | |
4530 | COMMON /BG/ BETAX,BETAY,BETAZ,GAMMA | |
4531 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
4532 | cc SAVE /BG/ | |
4533 | common/leadng/lb1,px1,py1,pz1,em1,e1,xfnl,yfnl,zfnl,tfnl, | |
4534 | 1 px1n,py1n,pz1n,dp1n | |
4535 | common /dpi/em2,lb2 | |
4536 | SAVE | |
4537 | IC=0 | |
4538 | X1=R(1,I1) | |
4539 | Y1=R(2,I1) | |
4540 | Z1=R(3,I1) | |
4541 | PX1=P(1,I1) | |
4542 | PY1=P(2,I1) | |
4543 | PZ1=P(3,I1) | |
4544 | X2=R(1,I2) | |
4545 | Y2=R(2,I2) | |
4546 | Z2=R(3,I2) | |
4547 | PX2=P(1,I2) | |
4548 | PY2=P(2,I2) | |
4549 | PZ2=P(3,I2) | |
4550 | EM1=E(I1) | |
4551 | EM2=E(I2) | |
4552 | E1=SQRT(EM1**2+PX1**2+PY1**2+PZ1**2) | |
4553 | c IF (ABS(X1-X2) .GT. DELTAR) GO TO 400 | |
4554 | c IF (ABS(Y1-Y2) .GT. DELTAR) GO TO 400 | |
4555 | c IF (ABS(Z1-Z2) .GT. DELTAR) GO TO 400 | |
4556 | RSQARE = (X1-X2)**2 + (Y1-Y2)**2 + (Z1-Z2)**2 | |
4557 | IF (RSQARE .GT. DELTAR**2) GO TO 400 | |
4558 | *NOW PARTICLES ARE CLOSE ENOUGH TO EACH OTHER ! | |
4559 | E2 = SQRT ( EM2**2 + PX2**2 + PY2**2 + PZ2**2 ) | |
4560 | S = SRT*SRT | |
4561 | IF (S .LT. EC) GO TO 400 | |
4562 | *NOW THERE IS ENOUGH ENERGY AVAILABLE ! | |
4563 | *LORENTZ-TRANSFORMATION IN I1-I2-C.M. SYSTEM | |
4564 | * BETAX, BETAY, BETAZ AND GAMMA HAVE BEEN GIVEN IN THE SUBROUTINE CMS | |
4565 | *TRANSFORMATION OF MOMENTA (PX1CM = - PX2CM) | |
4566 | P1BETA = PX1*BETAX + PY1*BETAY + PZ1 * BETAZ | |
4567 | TRANSF = GAMMA * ( GAMMA * P1BETA / (GAMMA + 1) - E1 ) | |
4568 | PRCM = SQRT (PX1CM**2 + PY1CM**2 + PZ1CM**2) | |
4569 | IF (PRCM .LE. 0.00001) GO TO 400 | |
4570 | *TRANSFORMATION OF SPATIAL DISTANCE | |
4571 | DRBETA = BETAX*(X1-X2) + BETAY*(Y1-Y2) + BETAZ*(Z1-Z2) | |
4572 | TRANSF = GAMMA * GAMMA * DRBETA / (GAMMA + 1) | |
4573 | DXCM = BETAX * TRANSF + X1 - X2 | |
4574 | DYCM = BETAY * TRANSF + Y1 - Y2 | |
4575 | DZCM = BETAZ * TRANSF + Z1 - Z2 | |
4576 | *DETERMINING IF THIS IS THE POINT OF CLOSEST APPROACH | |
4577 | DRCM = SQRT (DXCM**2 + DYCM**2 + DZCM**2 ) | |
4578 | DZZ = (PX1CM*DXCM + PY1CM*DYCM + PZ1CM*DZCM) / PRCM | |
4579 | if ((drcm**2 - dzz**2) .le. 0.) then | |
4580 | BBB = 0. | |
4581 | else | |
4582 | BBB = SQRT (DRCM**2 - DZZ**2) | |
4583 | end if | |
4584 | *WILL PARTICLE PASS EACH OTHER WITHIN 2 * HARD CORE RADIUS ? | |
4585 | IF (BBB .GT. DS) GO TO 400 | |
4586 | RELVEL = PRCM * (1.0/E1 + 1.0/E2) | |
4587 | DDD = RELVEL * DT * 0.5 | |
4588 | *WILL PARTICLES GET CLOSER ? | |
4589 | IF (ABS(DDD) .LT. ABS(DZZ)) GO TO 400 | |
4590 | IC=1 | |
4591 | GO TO 500 | |
4592 | 400 IC=-1 | |
4593 | 500 CONTINUE | |
4594 | RETURN | |
4595 | END | |
4596 | **************************************** | |
4597 | * * | |
4598 | * * | |
4599 | SUBROUTINE CRNN(IRUN,PX,PY,PZ,SRT,I1,I2,IBLOCK, | |
4600 | 1NTAG,SIGNN,SIG,NT,ipert1) | |
4601 | * PURPOSE: * | |
4602 | * DEALING WITH NUCLEON-NUCLEON COLLISIONS * | |
4603 | * NOTE : * | |
4604 | * QUANTITIES: * | |
4605 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
4606 | * SRT - SQRT OF S * | |
4607 | * NSTAR =1 INCLUDING N* RESORANCE,ELSE NOT * | |
4608 | * NDIRCT=1 INCLUDING DIRECT PION PRODUCTION PROCESS * | |
4609 | * IBLOCK - THE INFORMATION BACK * | |
4610 | * 0-> COLLISION CANNOT HAPPEN * | |
4611 | * 1-> N-N ELASTIC COLLISION * | |
4612 | * 2-> N+N->N+DELTA,OR N+N->N+N* REACTION * | |
4613 | * 3-> N+DELTA->N+N OR N+N*->N+N REACTION * | |
4614 | * 4-> N+N->D+D+pion reaction | |
4615 | * 43->N+N->D(N*)+D(N*) reaction | |
4616 | * 44->N+N->D+D+rho reaction | |
4617 | * 45->N+N->N+N+rho | |
4618 | * 46->N+N->N+N+omega | |
4619 | * N12 - IS USED TO SPECIFY BARYON-BARYON REACTION * | |
4620 | * CHANNELS. M12 IS THE REVERSAL CHANNEL OF N12 * | |
4621 | * N12, * | |
4622 | * M12=1 FOR p+n-->delta(+)+ n * | |
4623 | * 2 p+n-->delta(0)+ p * | |
4624 | * 3 p+p-->delta(++)+n * | |
4625 | * 4 p+p-->delta(+)+p * | |
4626 | * 5 n+n-->delta(0)+n * | |
4627 | * 6 n+n-->delta(-)+p * | |
4628 | * 7 n+p-->N*(0)(1440)+p * | |
4629 | * 8 n+p-->N*(+)(1440)+n * | |
4630 | * 9 p+p-->N*(+)(1535)+p * | |
4631 | * 10 n+n-->N*(0)(1535)+n * | |
4632 | * 11 n+p-->N*(+)(1535)+n * | |
4633 | * 12 n+p-->N*(0)(1535)+p | |
4634 | * 13 D(++)+D(-)-->N*(+)(1440)+n | |
4635 | * 14 D(++)+D(-)-->N*(0)(1440)+p | |
4636 | * 15 D(+)+D(0)--->N*(+)(1440)+n | |
4637 | * 16 D(+)+D(0)--->N*(0)(1440)+p | |
4638 | * 17 D(++)+D(0)-->N*(+)(1535)+p | |
4639 | * 18 D(++)+D(-)-->N*(0)(1535)+p | |
4640 | * 19 D(++)+D(-)-->N*(+)(1535)+n | |
4641 | * 20 D(+)+D(+)-->N*(+)(1535)+p | |
4642 | * 21 D(+)+D(0)-->N*(+)(1535)+n | |
4643 | * 22 D(+)+D(0)-->N*(0)(1535)+p | |
4644 | * 23 D(+)+D(-)-->N*(0)(1535)+n | |
4645 | * 24 D(0)+D(0)-->N*(0)(1535)+n | |
4646 | * 25 N*(+)(14)+N*(+)(14)-->N*(+)(15)+p | |
4647 | * 26 N*(0)(14)+N*(0)(14)-->N*(0)(15)+n | |
4648 | * 27 N*(+)(14)+N*(0)(14)-->N*(+)(15)+n | |
4649 | * 28 N*(+)(14)+N*(0)(14)-->N*(0)(15)+p | |
4650 | * 29 N*(+)(14)+D+-->N*(+)(15)+p | |
4651 | * 30 N*(+)(14)+D0-->N*(+)(15)+n | |
4652 | * 31 N*(+)(14)+D(-)-->N*(0)(1535)+n | |
4653 | * 32 N*(0)(14)+D++--->N*(+)(15)+p | |
4654 | * 33 N*(0)(14)+D+--->N*(+)(15)+n | |
4655 | * 34 N*(0)(14)+D+--->N*(0)(15)+p | |
4656 | * 35 N*(0)(14)+D0-->N*(0)(15)+n | |
4657 | * 36 N*(+)(14)+D0--->N*(0)(15)+p | |
4658 | * ++ see the note book for more listing | |
4659 | * | |
4660 | * | |
4661 | * NOTE ABOUT N*(1440) RESORANCE IN Nucleon+NUCLEON COLLISION: * | |
4662 | * As it has been discussed in VerWest's paper,I= 1(initial isospin)* | |
4663 | * channel can all be attributed to delta resorance while I= 0 * | |
4664 | * channel can all be attribured to N* resorance.Only in n+p * | |
4665 | * one can have I=0 channel so is the N*(1440) resonance * | |
4666 | * * | |
4667 | * REFERENCES: * | |
4668 | * J. CUGNON ET AL., NUCL. PHYS. A352, 505 (1981) * | |
4669 | * Y. KITAZOE ET AL., PHYS. LETT. 166B, 35 (1986) * | |
4670 | * B. VerWest el al., PHYS. PRV. C25 (1982)1979 * | |
4671 | * Gy. Wolf et al, Nucl Phys A517 (1990) 615; * | |
4672 | * Nucl phys A552 (1993) 349. * | |
4673 | ********************************** | |
4674 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
4675 | 1 AMP=0.93828,AP1=0.13496,aka=0.498,AP2=0.13957,AM0=1.232, | |
4676 | 2 PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383,APHI=1.020) | |
4677 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
4678 | parameter (xmd=1.8756,npdmax=10000) | |
4679 | COMMON /AA/ R(3,MAXSTR) | |
4680 | cc SAVE /AA/ | |
4681 | COMMON /BB/ P(3,MAXSTR) | |
4682 | cc SAVE /BB/ | |
4683 | COMMON /CC/ E(MAXSTR) | |
4684 | cc SAVE /CC/ | |
4685 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
4686 | cc SAVE /EE/ | |
4687 | common /ff/f(-mx:mx,-my:my,-mz:mz,-mpx:mpx,-mpy:mpy,-mpz:mpzp) | |
4688 | cc SAVE /ff/ | |
4689 | common /gg/ dx,dy,dz,dpx,dpy,dpz | |
4690 | cc SAVE /gg/ | |
4691 | COMMON /INPUT/ NSTAR,NDIRCT,DIR | |
4692 | cc SAVE /INPUT/ | |
4693 | COMMON /NN/NNN | |
4694 | cc SAVE /NN/ | |
4695 | COMMON /BG/BETAX,BETAY,BETAZ,GAMMA | |
4696 | cc SAVE /BG/ | |
4697 | COMMON /RUN/NUM | |
4698 | cc SAVE /RUN/ | |
4699 | COMMON /PA/RPION(3,MAXSTR,MAXR) | |
4700 | cc SAVE /PA/ | |
4701 | COMMON /PB/PPION(3,MAXSTR,MAXR) | |
4702 | cc SAVE /PB/ | |
4703 | COMMON /PC/EPION(MAXSTR,MAXR) | |
4704 | cc SAVE /PC/ | |
4705 | COMMON /PD/LPION(MAXSTR,MAXR) | |
4706 | cc SAVE /PD/ | |
4707 | COMMON/TABLE/ xarray(0:1000),earray(0:1000) | |
4708 | cc SAVE /TABLE/ | |
4709 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
4710 | cc SAVE /input1/ | |
4711 | common/leadng/lb1,px1,py1,pz1,em1,e1,xfnl,yfnl,zfnl,tfnl, | |
4712 | 1 px1n,py1n,pz1n,dp1n | |
4713 | cc SAVE /leadng/ | |
4714 | COMMON/RNDF77/NSEED | |
4715 | cc SAVE /RNDF77/ | |
4716 | common /dpi/em2,lb2 | |
4717 | COMMON /dpert/dpertt(MAXSTR,MAXR),dpertp(MAXSTR),dplast(MAXSTR), | |
4718 | 1 dpdcy(MAXSTR),dpdpi(MAXSTR,MAXR),dpt(MAXSTR, MAXR), | |
4719 | 2 dpp1(MAXSTR,MAXR),dppion(MAXSTR,MAXR) | |
4720 | common /para8/ idpert,npertd,idxsec | |
4721 | dimension ppd(3,npdmax),lbpd(npdmax) | |
4722 | SAVE | |
4723 | *----------------------------------------------------------------------- | |
4724 | n12=0 | |
4725 | m12=0 | |
4726 | IBLOCK=0 | |
4727 | NTAG=0 | |
4728 | EM1=E(I1) | |
4729 | EM2=E(I2) | |
4730 | PR=SQRT( PX**2 + PY**2 + PZ**2 ) | |
4731 | C2=PZ / PR | |
4732 | X1=RANART(NSEED) | |
4733 | ianti=0 | |
4734 | if(lb(i1).lt.0 .and. lb(i2).lt.0) ianti=1 | |
4735 | call sbbdm(srt,sdprod,ianti,lbm,xmm,pfinal) | |
4736 | clin-5/2008 Production of perturbative deuterons for idpert=1: | |
4737 | if(idpert.eq.1.and.ipert1.eq.1) then | |
4738 | IF (SRT .LT. 2.012) RETURN | |
4739 | if((iabs(lb(i1)).eq.1.or.iabs(lb(i1)).eq.2) | |
4740 | 1 .and.(iabs(lb(i2)).eq.1.or.iabs(lb(i2)).eq.2)) then | |
4741 | goto 108 | |
4742 | else | |
4743 | return | |
4744 | endif | |
4745 | endif | |
4746 | c | |
4747 | *----------------------------------------------------------------------- | |
4748 | *COM: TEST FOR ELASTIC SCATTERING (EITHER N-N OR DELTA-DELTA 0R | |
4749 | * N-DELTA OR N*-N* or N*-Delta) | |
4750 | c IF (X1 .LE. SIGNN/SIG) THEN | |
4751 | IF (X1.LE.(SIGNN/SIG)) THEN | |
4752 | *COM: PARAMETRISATION IS TAKEN FROM THE CUGNON-PAPER | |
4753 | AS = ( 3.65 * (SRT - 1.8766) )**6 | |
4754 | A = 6.0 * AS / (1.0 + AS) | |
4755 | TA = -2.0 * PR**2 | |
4756 | X = RANART(NSEED) | |
4757 | clin-10/24/02 T1 = DLOG( (1-X) * DEXP(dble(A)*dble(TA)) + X ) / A | |
4758 | T1 = sngl(DLOG(dble(1.-X)*DEXP(dble(A)*dble(TA))+dble(X)))/ A | |
4759 | C1 = 1.0 - T1/TA | |
4760 | T1 = 2.0 * PI * RANART(NSEED) | |
4761 | IBLOCK=1 | |
4762 | GO TO 107 | |
4763 | ELSE | |
4764 | *COM: TEST FOR INELASTIC SCATTERING | |
4765 | * IF THE AVAILABLE ENERGY IS LESS THAN THE PION-MASS, NOTHING | |
4766 | * CAN HAPPEN ANY MORE ==> RETURN (2.012 = 2*AVMASS + PI-MASS) | |
4767 | clin-5/2008: Mdeuteron+Mpi=2.0106 to 2.0152 GeV/c2, so we can still use this: | |
4768 | IF (SRT .LT. 2.012) RETURN | |
4769 | * calculate the N*(1535) production cross section in N+N collisions | |
4770 | * note that the cross sections in this subroutine are in units of mb | |
4771 | * as only ratios of the cross sections are used to determine the | |
4772 | * reaction channels | |
4773 | call N1535(iabs(lb(i1)),iabs(lb(i2)),srt,x1535) | |
4774 | *COM: HERE WE HAVE A PROCESS N+N ==> N+DELTA,OR N+N==>N+N*(144) or N*(1535) | |
4775 | * OR | |
4776 | * 3 pi channel : N+N==>d1+d2+PION | |
4777 | SIG3=3.*(X3pi(SRT)+x33pi(srt)) | |
4778 | * 2 pi channel : N+N==>d1+d2+d1*n*+n*n* | |
4779 | SIG4=4.*X2pi(srt) | |
4780 | * 4 pi channel : N+N==>d1+d2+rho | |
4781 | s4pi=x4pi(srt) | |
4782 | * N+N-->NN+rho channel | |
4783 | srho=xrho(srt) | |
4784 | * N+N-->NN+omega | |
4785 | somega=omega(srt) | |
4786 | * CROSS SECTION FOR KAON PRODUCTION from the four channels | |
4787 | * for NLK channel | |
4788 | akp=0.498 | |
4789 | ak0=0.498 | |
4790 | ana=0.94 | |
4791 | ada=1.232 | |
4792 | al=1.1157 | |
4793 | as=1.1197 | |
4794 | xsk1=0 | |
4795 | xsk2=0 | |
4796 | xsk3=0 | |
4797 | xsk4=0 | |
4798 | xsk5=0 | |
4799 | t1nlk=ana+al+akp | |
4800 | if(srt.le.t1nlk)go to 222 | |
4801 | XSK1=1.5*PPLPK(SRT) | |
4802 | * for DLK channel | |
4803 | t1dlk=ada+al+akp | |
4804 | t2dlk=ada+al-akp | |
4805 | if(srt.le.t1dlk)go to 222 | |
4806 | es=srt | |
4807 | pmdlk2=(es**2-t1dlk**2)*(es**2-t2dlk**2)/(4.*es**2) | |
4808 | pmdlk=sqrt(pmdlk2) | |
4809 | XSK3=1.5*PPLPK(srt) | |
4810 | * for NSK channel | |
4811 | t1nsk=ana+as+akp | |
4812 | t2nsk=ana+as-akp | |
4813 | if(srt.le.t1nsk)go to 222 | |
4814 | pmnsk2=(es**2-t1nsk**2)*(es**2-t2nsk**2)/(4.*es**2) | |
4815 | pmnsk=sqrt(pmnsk2) | |
4816 | XSK2=1.5*(PPK1(srt)+PPK0(srt)) | |
4817 | * for DSK channel | |
4818 | t1DSk=aDa+aS+akp | |
4819 | t2DSk=aDa+aS-akp | |
4820 | if(srt.le.t1dsk)go to 222 | |
4821 | pmDSk2=(es**2-t1DSk**2)*(es**2-t2DSk**2)/(4.*es**2) | |
4822 | pmDSk=sqrt(pmDSk2) | |
4823 | XSK4=1.5*(PPK1(srt)+PPK0(srt)) | |
4824 | csp11/21/01 | |
4825 | c phi production | |
4826 | if(srt.le.(2.*amn+aphi))go to 222 | |
4827 | c !! mb put the correct form | |
4828 | xsk5 = 0.0001 | |
4829 | csp11/21/01 end | |
4830 | c | |
4831 | * THE TOTAL KAON+ PRODUCTION CROSS SECTION IS THEN | |
4832 | 222 SIGK=XSK1+XSK2+XSK3+XSK4 | |
4833 | ||
4834 | cbz3/7/99 neutralk | |
4835 | XSK1 = 2.0 * XSK1 | |
4836 | XSK2 = 2.0 * XSK2 | |
4837 | XSK3 = 2.0 * XSK3 | |
4838 | XSK4 = 2.0 * XSK4 | |
4839 | SIGK = 2.0 * SIGK + xsk5 | |
4840 | cbz3/7/99 neutralk end | |
4841 | c | |
4842 | ** FOR P+P or L/S+L/S COLLISION: | |
4843 | c lb1=lb(i1) | |
4844 | c lb2=lb(i2) | |
4845 | lb1=iabs(lb(i1)) | |
4846 | lb2=iabs(lb(i2)) | |
4847 | IF((LB(I1)*LB(I2).EQ.1).or. | |
4848 | & ((lb1.le.17.and.lb1.ge.14).and.(lb2.le.17.and.lb2.ge.14)). | |
4849 | & or.((lb1.le.2).and.(lb2.le.17.and.lb2.ge.14)). | |
4850 | & or.((lb2.le.2).and.(lb1.le.17.and.lb1.ge.14)))THEN | |
4851 | clin-8/2008 PP->d+meson here: | |
4852 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
4853 | SIG1=SIGMA(SRT,1,1,0)+0.5*SIGMA(SRT,1,1,1) | |
4854 | SIG2=1.5*SIGMA(SRT,1,1,1) | |
4855 | SIGND=SIG1+SIG2+SIG3+SIG4+X1535+SIGK+s4pi+srho+somega | |
4856 | clin-5/2008: | |
4857 | c IF (X1.GT.(SIGNN+SIGND)/SIG)RETURN | |
4858 | IF (X1.GT.(SIGNN+SIGND+sdprod)/SIG)RETURN | |
4859 | DIR=SIG3/SIGND | |
4860 | IF(RANART(NSEED).LE.DIR)GO TO 106 | |
4861 | IF(RANART(NSEED).LE.SIGK/(SIGK+X1535+SIG4+SIG2+SIG1 | |
4862 | & +s4pi+srho+somega))GO TO 306 | |
4863 | if(RANART(NSEED).le.s4pi/(x1535+sig4+sig2+sig1 | |
4864 | & +s4pi+srho+somega))go to 307 | |
4865 | if(RANART(NSEED).le.srho/(x1535+sig4+sig2+sig1 | |
4866 | & +srho+somega))go to 308 | |
4867 | if(RANART(NSEED).le.somega/(x1535+sig4+sig2+sig1 | |
4868 | & +somega))go to 309 | |
4869 | if(RANART(NSEED).le.x1535/(sig1+sig2+sig4+x1535))then | |
4870 | * N*(1535) production | |
4871 | N12=9 | |
4872 | ELSE | |
4873 | IF(RANART(NSEED).LE.SIG4/(SIG1+sig2+sig4))THEN | |
4874 | * DOUBLE DELTA PRODUCTION | |
4875 | N12=66 | |
4876 | GO TO 1012 | |
4877 | else | |
4878 | *DELTA PRODUCTION | |
4879 | N12=3 | |
4880 | IF (RANART(NSEED).GT.SIG1/(SIG1+SIG2))N12=4 | |
4881 | ENDIF | |
4882 | endif | |
4883 | GO TO 1011 | |
4884 | ENDIF | |
4885 | ** FOR N+N COLLISION: | |
4886 | IF(iabs(LB(I1)).EQ.2.AND.iabs(LB(I2)).EQ.2)THEN | |
4887 | clin-8/2008 NN->d+meson here: | |
4888 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
4889 | SIG1=SIGMA(SRT,1,1,0)+0.5*SIGMA(SRT,1,1,1) | |
4890 | SIG2=1.5*SIGMA(SRT,1,1,1) | |
4891 | SIGND=SIG1+SIG2+X1535+SIG3+SIG4+SIGK+s4pi+srho+somega | |
4892 | clin-5/2008: | |
4893 | c IF (X1.GT.(SIGNN+SIGND)/SIG)RETURN | |
4894 | IF (X1.GT.(SIGNN+SIGND+sdprod)/SIG)RETURN | |
4895 | dir=sig3/signd | |
4896 | IF(RANART(NSEED).LE.DIR)GO TO 106 | |
4897 | IF(RANART(NSEED).LE.SIGK/(SIGK+X1535+SIG4+SIG2+SIG1 | |
4898 | & +s4pi+srho+somega))GO TO 306 | |
4899 | if(RANART(NSEED).le.s4pi/(x1535+sig4+sig2+sig1 | |
4900 | & +s4pi+srho+somega))go to 307 | |
4901 | if(RANART(NSEED).le.srho/(x1535+sig4+sig2+sig1 | |
4902 | & +srho+somega))go to 308 | |
4903 | if(RANART(NSEED).le.somega/(x1535+sig4+sig2+sig1 | |
4904 | & +somega))go to 309 | |
4905 | IF(RANART(NSEED).LE.X1535/(x1535+sig1+sig2+sig4))THEN | |
4906 | * N*(1535) PRODUCTION | |
4907 | N12=10 | |
4908 | ELSE | |
4909 | if(RANART(NSEED).le.sig4/(sig1+sig2+sig4))then | |
4910 | * double delta production | |
4911 | N12=67 | |
4912 | GO TO 1013 | |
4913 | else | |
4914 | * DELTA PRODUCTION | |
4915 | N12=6 | |
4916 | IF (RANART(NSEED).GT.SIG1/(SIG1+SIG2))N12=5 | |
4917 | ENDIF | |
4918 | endif | |
4919 | GO TO 1011 | |
4920 | ENDIF | |
4921 | ** FOR N+P COLLISION | |
4922 | IF(LB(I1)*LB(I2).EQ.2)THEN | |
4923 | clin-5/2008 NP->d+meson here: | |
4924 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
4925 | SIG1=0.5*SIGMA(SRT,1,1,1)+0.25*SIGMA(SRT,1,1,0) | |
4926 | IF(NSTAR.EQ.1)THEN | |
4927 | SIG2=(3./4.)*SIGMA(SRT,2,0,1) | |
4928 | ELSE | |
4929 | SIG2=0. | |
4930 | ENDIF | |
4931 | SIGND=2.*(SIG1+SIG2+X1535)+sig3+sig4+SIGK+s4pi+srho+somega | |
4932 | clin-5/2008: | |
4933 | c IF (X1.GT.(SIGNN+SIGND)/SIG)RETURN | |
4934 | IF (X1.GT.(SIGNN+SIGND+sdprod)/SIG)RETURN | |
4935 | dir=sig3/signd | |
4936 | IF(RANART(NSEED).LE.DIR)GO TO 106 | |
4937 | IF(RANART(NSEED).LE.SIGK/(SIGND-SIG3))GO TO 306 | |
4938 | if(RANART(NSEED).le.s4pi/(signd-sig3-sigk))go to 307 | |
4939 | if(RANART(NSEED).le.srho/(signd-sig3-sigk-s4pi))go to 308 | |
4940 | if(RANART(NSEED).le.somega/(signd-sig3-sigk-s4pi-srho)) | |
4941 | 1 go to 309 | |
4942 | IF(RANART(NSEED).LT.X1535/(SIG1+SIG2+X1535+0.5*sig4))THEN | |
4943 | * N*(1535) PRODUCTION | |
4944 | N12=11 | |
4945 | IF(RANART(NSEED).LE.0.5)N12=12 | |
4946 | ELSE | |
4947 | if(RANART(NSEED).le.sig4/(sig4+2.*(sig1+sig2)))then | |
4948 | * double resonance production | |
4949 | N12=68 | |
4950 | GO TO 1014 | |
4951 | else | |
4952 | IF(RANART(NSEED).LE.SIG1/(SIG1+SIG2))THEN | |
4953 | * DELTA PRODUCTION | |
4954 | N12=2 | |
4955 | IF(RANART(NSEED).GE.0.5)N12=1 | |
4956 | ELSE | |
4957 | * N*(1440) PRODUCTION | |
4958 | N12=8 | |
4959 | IF(RANART(NSEED).GE.0.5)N12=7 | |
4960 | ENDIF | |
4961 | ENDIF | |
4962 | ENDIF | |
4963 | endif | |
4964 | 1011 iblock=2 | |
4965 | CONTINUE | |
4966 | *PARAMETRIZATION OF THE SHAPE OF THE DELTA RESONANCE ACCORDING | |
4967 | * TO kitazoe's or J.D.JACKSON'S MASS FORMULA AND BREIT WIGNER | |
4968 | * FORMULA FOR N* RESORANCE | |
4969 | * DETERMINE DELTA MASS VIA REJECTION METHOD. | |
4970 | DMAX = SRT - AVMASS-0.005 | |
4971 | DMAX = SRT - AVMASS-0.005 | |
4972 | DMIN = 1.078 | |
4973 | IF(N12.LT.7)THEN | |
4974 | * Delta(1232) production | |
4975 | IF(DMAX.LT.1.232) THEN | |
4976 | FM=FDE(DMAX,SRT,0.) | |
4977 | ELSE | |
4978 | ||
4979 | clin-10/25/02 get rid of argument usage mismatch in FDE(): | |
4980 | xdmass=1.232 | |
4981 | c FM=FDE(1.232,SRT,1.) | |
4982 | FM=FDE(xdmass,SRT,1.) | |
4983 | clin-10/25/02-end | |
4984 | ||
4985 | ENDIF | |
4986 | IF(FM.EQ.0.)FM=1.E-09 | |
4987 | NTRY1=0 | |
4988 | 10 DM = RANART(NSEED) * (DMAX-DMIN) + DMIN | |
4989 | NTRY1=NTRY1+1 | |
4990 | IF((RANART(NSEED) .GT. FDE(DM,SRT,1.)/FM).AND. | |
4991 | 1 (NTRY1.LE.30)) GOTO 10 | |
4992 | ||
4993 | clin-2/26/03 limit the Delta mass below a certain value | |
4994 | c (here taken as its central value + 2* B-W fullwidth): | |
4995 | if(dm.gt.1.47) goto 10 | |
4996 | ||
4997 | GO TO 13 | |
4998 | ENDIF | |
4999 | IF((n12.eq.7).or.(n12.eq.8))THEN | |
5000 | * N*(1440) production | |
5001 | IF(DMAX.LT.1.44) THEN | |
5002 | FM=FNS(DMAX,SRT,0.) | |
5003 | ELSE | |
5004 | ||
5005 | clin-10/25/02 get rid of argument usage mismatch in FNS(): | |
5006 | xdmass=1.44 | |
5007 | c FM=FNS(1.44,SRT,1.) | |
5008 | FM=FNS(xdmass,SRT,1.) | |
5009 | clin-10/25/02-end | |
5010 | ||
5011 | ENDIF | |
5012 | IF(FM.EQ.0.)FM=1.E-09 | |
5013 | NTRY2=0 | |
5014 | 11 DM=RANART(NSEED)*(DMAX-DMIN)+DMIN | |
5015 | NTRY2=NTRY2+1 | |
5016 | IF((RANART(NSEED).GT.FNS(DM,SRT,1.)/FM).AND. | |
5017 | 1 (NTRY2.LE.10)) GO TO 11 | |
5018 | ||
5019 | clin-2/26/03 limit the N* mass below a certain value | |
5020 | c (here taken as its central value + 2* B-W fullwidth): | |
5021 | if(dm.gt.2.14) goto 11 | |
5022 | ||
5023 | GO TO 13 | |
5024 | ENDIF | |
5025 | IF(n12.ge.17)then | |
5026 | * N*(1535) production | |
5027 | IF(DMAX.LT.1.535) THEN | |
5028 | FM=FD5(DMAX,SRT,0.) | |
5029 | ELSE | |
5030 | ||
5031 | clin-10/25/02 get rid of argument usage mismatch in FNS(): | |
5032 | xdmass=1.535 | |
5033 | c FM=FD5(1.535,SRT,1.) | |
5034 | FM=FD5(xdmass,SRT,1.) | |
5035 | clin-10/25/02-end | |
5036 | ||
5037 | ENDIF | |
5038 | IF(FM.EQ.0.)FM=1.E-09 | |
5039 | NTRY1=0 | |
5040 | 12 DM = RANART(NSEED) * (DMAX-DMIN) + DMIN | |
5041 | NTRY1=NTRY1+1 | |
5042 | IF((RANART(NSEED) .GT. FD5(DM,SRT,1.)/FM).AND. | |
5043 | 1 (NTRY1.LE.10)) GOTO 12 | |
5044 | ||
5045 | clin-2/26/03 limit the N* mass below a certain value | |
5046 | c (here taken as its central value + 2* B-W fullwidth): | |
5047 | if(dm.gt.1.84) goto 12 | |
5048 | ||
5049 | GO TO 13 | |
5050 | ENDIF | |
5051 | * CALCULATE THE MASSES OF BARYON RESONANCES IN THE DOUBLE RESONANCE | |
5052 | * PRODUCTION PROCESS AND RELABLE THE PARTICLES | |
5053 | 1012 iblock=43 | |
5054 | call Rmasdd(srt,1.232,1.232,1.08, | |
5055 | & 1.08,ISEED,1,dm1,dm2) | |
5056 | call Rmasdd(srt,1.232,1.44,1.08, | |
5057 | & 1.08,ISEED,3,dm1n,dm2n) | |
5058 | IF(N12.EQ.66)THEN | |
5059 | *(1) PP-->DOUBLE RESONANCES | |
5060 | * DETERMINE THE FINAL STATE | |
5061 | XFINAL=RANART(NSEED) | |
5062 | IF(XFINAL.LE.0.25)THEN | |
5063 | * (1.1) D+++D0 | |
5064 | LB(I1)=9 | |
5065 | LB(I2)=7 | |
5066 | e(i1)=dm1 | |
5067 | e(i2)=dm2 | |
5068 | GO TO 200 | |
5069 | * go to 200 to set the new momentum | |
5070 | ENDIF | |
5071 | IF((XFINAL.gt.0.25).and.(xfinal.le.0.5))THEN | |
5072 | * (1.2) D++D+ | |
5073 | LB(I1)=8 | |
5074 | LB(I2)=8 | |
5075 | e(i1)=dm1 | |
5076 | e(i2)=dm2 | |
5077 | GO TO 200 | |
5078 | * go to 200 to set the new momentum | |
5079 | ENDIF | |
5080 | IF((XFINAL.gt.0.5).and.(xfinal.le.0.75))THEN | |
5081 | * (1.3) D+++N*0 | |
5082 | LB(I1)=9 | |
5083 | LB(I2)=10 | |
5084 | e(i1)=dm1n | |
5085 | e(i2)=dm2n | |
5086 | GO TO 200 | |
5087 | * go to 200 to set the new momentum | |
5088 | ENDIF | |
5089 | IF(XFINAL.gt.0.75)then | |
5090 | * (1.4) D++N*+ | |
5091 | LB(I1)=8 | |
5092 | LB(I2)=11 | |
5093 | e(i1)=dm1n | |
5094 | e(i2)=dm2n | |
5095 | GO TO 200 | |
5096 | * go to 200 to set the new momentum | |
5097 | ENDIF | |
5098 | ENDIF | |
5099 | 1013 iblock=43 | |
5100 | call Rmasdd(srt,1.232,1.232,1.08, | |
5101 | & 1.08,ISEED,1,dm1,dm2) | |
5102 | call Rmasdd(srt,1.232,1.44,1.08, | |
5103 | & 1.08,ISEED,3,dm1n,dm2n) | |
5104 | IF(N12.EQ.67)THEN | |
5105 | *(2) NN-->DOUBLE RESONANCES | |
5106 | * DETERMINE THE FINAL STATE | |
5107 | XFINAL=RANART(NSEED) | |
5108 | IF(XFINAL.LE.0.25)THEN | |
5109 | * (2.1) D0+D0 | |
5110 | LB(I1)=7 | |
5111 | LB(I2)=7 | |
5112 | e(i1)=dm1 | |
5113 | e(i2)=dm2 | |
5114 | GO TO 200 | |
5115 | * go to 200 to set the new momentum | |
5116 | ENDIF | |
5117 | IF((XFINAL.gt.0.25).and.(xfinal.le.0.5))THEN | |
5118 | * (2.2) D++D+ | |
5119 | LB(I1)=6 | |
5120 | LB(I2)=8 | |
5121 | e(i1)=dm1 | |
5122 | e(i2)=dm2 | |
5123 | GO TO 200 | |
5124 | * go to 200 to set the new momentum | |
5125 | ENDIF | |
5126 | IF((XFINAL.gt.0.5).and.(xfinal.le.0.75))THEN | |
5127 | * (2.3) D0+N*0 | |
5128 | LB(I1)=7 | |
5129 | LB(I2)=10 | |
5130 | e(i1)=dm1n | |
5131 | e(i2)=dm2n | |
5132 | GO TO 200 | |
5133 | * go to 200 to set the new momentum | |
5134 | ENDIF | |
5135 | IF(XFINAL.gt.0.75)then | |
5136 | * (2.4) D++N*+ | |
5137 | LB(I1)=8 | |
5138 | LB(I2)=11 | |
5139 | e(i1)=dm1n | |
5140 | e(i2)=dm2n | |
5141 | GO TO 200 | |
5142 | * go to 200 to set the new momentum | |
5143 | ENDIF | |
5144 | ENDIF | |
5145 | 1014 iblock=43 | |
5146 | call Rmasdd(srt,1.232,1.232,1.08, | |
5147 | & 1.08,ISEED,1,dm1,dm2) | |
5148 | call Rmasdd(srt,1.232,1.44,1.08, | |
5149 | & 1.08,ISEED,3,dm1n,dm2n) | |
5150 | IF(N12.EQ.68)THEN | |
5151 | *(3) NP-->DOUBLE RESONANCES | |
5152 | * DETERMINE THE FINAL STATE | |
5153 | XFINAL=RANART(NSEED) | |
5154 | IF(XFINAL.LE.0.25)THEN | |
5155 | * (3.1) D0+D+ | |
5156 | LB(I1)=7 | |
5157 | LB(I2)=8 | |
5158 | e(i1)=dm1 | |
5159 | e(i2)=dm2 | |
5160 | GO TO 200 | |
5161 | * go to 200 to set the new momentum | |
5162 | ENDIF | |
5163 | IF((XFINAL.gt.0.25).and.(xfinal.le.0.5))THEN | |
5164 | * (3.2) D+++D- | |
5165 | LB(I1)=9 | |
5166 | LB(I2)=6 | |
5167 | e(i1)=dm1 | |
5168 | e(i2)=dm2 | |
5169 | GO TO 200 | |
5170 | * go to 200 to set the new momentum | |
5171 | ENDIF | |
5172 | IF((XFINAL.gt.0.5).and.(xfinal.le.0.75))THEN | |
5173 | * (3.3) D0+N*+ | |
5174 | LB(I1)=7 | |
5175 | LB(I2)=11 | |
5176 | e(i1)=dm1n | |
5177 | e(i2)=dm2n | |
5178 | GO TO 200 | |
5179 | * go to 200 to set the new momentum | |
5180 | ENDIF | |
5181 | IF(XFINAL.gt.0.75)then | |
5182 | * (3.4) D++N*0 | |
5183 | LB(I1)=8 | |
5184 | LB(I2)=10 | |
5185 | e(i1)=dm1n | |
5186 | e(i2)=dm2n | |
5187 | GO TO 200 | |
5188 | * go to 200 to set the new momentum | |
5189 | ENDIF | |
5190 | ENDIF | |
5191 | 13 CONTINUE | |
5192 | *------------------------------------------------------- | |
5193 | * RELABLE BARYON I1 AND I2 | |
5194 | *1. p+n-->delta(+)+n | |
5195 | IF(N12.EQ.1)THEN | |
5196 | IF(iabs(LB(I1)).EQ.1)THEN | |
5197 | LB(I2)=2 | |
5198 | LB(I1)=8 | |
5199 | E(I1)=DM | |
5200 | ELSE | |
5201 | LB(I1)=2 | |
5202 | LB(I2)=8 | |
5203 | E(I2)=DM | |
5204 | ENDIF | |
5205 | GO TO 200 | |
5206 | ENDIF | |
5207 | *2 p+n-->delta(0)+p | |
5208 | IF(N12.EQ.2)THEN | |
5209 | IF(iabs(LB(I1)).EQ.2)THEN | |
5210 | LB(I2)=1 | |
5211 | LB(I1)=7 | |
5212 | E(I1)=DM | |
5213 | ELSE | |
5214 | LB(I1)=1 | |
5215 | LB(I2)=7 | |
5216 | E(I2)=DM | |
5217 | ENDIF | |
5218 | GO TO 200 | |
5219 | ENDIF | |
5220 | *3 p+p-->delta(++)+n | |
5221 | IF(N12.EQ.3)THEN | |
5222 | LB(I1)=9 | |
5223 | E(I1)=DM | |
5224 | LB(I2)=2 | |
5225 | E(I2)=AMN | |
5226 | GO TO 200 | |
5227 | ENDIF | |
5228 | *4 p+p-->delta(+)+p | |
5229 | IF(N12.EQ.4)THEN | |
5230 | LB(I2)=1 | |
5231 | LB(I1)=8 | |
5232 | E(I1)=DM | |
5233 | GO TO 200 | |
5234 | ENDIF | |
5235 | *5 n+n--> delta(0)+n | |
5236 | IF(N12.EQ.5)THEN | |
5237 | LB(I2)=2 | |
5238 | LB(I1)=7 | |
5239 | E(I1)=DM | |
5240 | GO TO 200 | |
5241 | ENDIF | |
5242 | *6 n+n--> delta(-)+p | |
5243 | IF(N12.EQ.6)THEN | |
5244 | LB(I1)=6 | |
5245 | E(I1)=DM | |
5246 | LB(I2)=1 | |
5247 | E(I2)=AMP | |
5248 | GO TO 200 | |
5249 | ENDIF | |
5250 | *7 n+p--> N*(0)+p | |
5251 | IF(N12.EQ.7)THEN | |
5252 | IF(iabs(LB(I1)).EQ.1)THEN | |
5253 | LB(I1)=1 | |
5254 | LB(I2)=10 | |
5255 | E(I2)=DM | |
5256 | ELSE | |
5257 | LB(I2)=1 | |
5258 | LB(I1)=10 | |
5259 | E(I1)=DM | |
5260 | ENDIF | |
5261 | GO TO 200 | |
5262 | ENDIF | |
5263 | *8 n+p--> N*(+)+n | |
5264 | IF(N12.EQ.8)THEN | |
5265 | IF(iabs(LB(I1)).EQ.1)THEN | |
5266 | LB(I2)=2 | |
5267 | LB(I1)=11 | |
5268 | E(I1)=DM | |
5269 | ELSE | |
5270 | LB(I1)=2 | |
5271 | LB(I2)=11 | |
5272 | E(I2)=DM | |
5273 | ENDIF | |
5274 | GO TO 200 | |
5275 | ENDIF | |
5276 | *9 p+p--> N*(+)(1535)+p | |
5277 | IF(N12.EQ.9)THEN | |
5278 | IF(RANART(NSEED).le.0.5)THEN | |
5279 | LB(I2)=1 | |
5280 | LB(I1)=13 | |
5281 | E(I1)=DM | |
5282 | ELSE | |
5283 | LB(I1)=1 | |
5284 | LB(I2)=13 | |
5285 | E(I2)=DM | |
5286 | ENDIF | |
5287 | GO TO 200 | |
5288 | ENDIF | |
5289 | *10 n+n--> N*(0)(1535)+n | |
5290 | IF(N12.EQ.10)THEN | |
5291 | IF(RANART(NSEED).le.0.5)THEN | |
5292 | LB(I2)=2 | |
5293 | LB(I1)=12 | |
5294 | E(I1)=DM | |
5295 | ELSE | |
5296 | LB(I1)=2 | |
5297 | LB(I2)=12 | |
5298 | E(I2)=DM | |
5299 | ENDIF | |
5300 | GO TO 200 | |
5301 | ENDIF | |
5302 | *11 n+p--> N*(+)(1535)+n | |
5303 | IF(N12.EQ.11)THEN | |
5304 | IF(iabs(LB(I1)).EQ.2)THEN | |
5305 | LB(I1)=2 | |
5306 | LB(I2)=13 | |
5307 | E(I2)=DM | |
5308 | ELSE | |
5309 | LB(I2)=2 | |
5310 | LB(I1)=13 | |
5311 | E(I1)=DM | |
5312 | ENDIF | |
5313 | GO TO 200 | |
5314 | ENDIF | |
5315 | *12 n+p--> N*(0)(1535)+p | |
5316 | IF(N12.EQ.12)THEN | |
5317 | IF(iabs(LB(I1)).EQ.1)THEN | |
5318 | LB(I1)=1 | |
5319 | LB(I2)=12 | |
5320 | E(I2)=DM | |
5321 | ELSE | |
5322 | LB(I2)=1 | |
5323 | LB(I1)=12 | |
5324 | E(I1)=DM | |
5325 | ENDIF | |
5326 | ENDIF | |
5327 | endif | |
5328 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
5329 | * ENERGY CONSERVATION | |
5330 | 200 EM1=E(I1) | |
5331 | EM2=E(I2) | |
5332 | PR2 = (SRT**2 - EM1**2 - EM2**2)**2 | |
5333 | 1 - 4.0 * (EM1*EM2)**2 | |
5334 | IF(PR2.LE.0.)PR2=1.e-09 | |
5335 | PR=SQRT(PR2)/(2.*SRT) | |
5336 | if(srt.le.2.14)C1= 1.0 - 2.0 * RANART(NSEED) | |
86c53b9e | 5337 | if(srt.gt.2.14.and.srt.le.2.4)c1=anga(srt,iseed) |
0119ef9a | 5338 | if(srt.gt.2.4)then |
5339 | ||
5340 | clin-10/25/02 get rid of argument usage mismatch in PTR(): | |
5341 | xptr=0.33*pr | |
5342 | c cc1=ptr(0.33*pr,iseed) | |
5343 | cc1=ptr(xptr,iseed) | |
5344 | clin-10/25/02-end | |
5345 | ||
5346 | c1=sqrt(pr**2-cc1**2)/pr | |
5347 | endif | |
5348 | T1 = 2.0 * PI * RANART(NSEED) | |
5349 | if(ianti.eq.1 .and. lb(i1).ge.1 .and. lb(i2).ge.1)then | |
5350 | lb(i1) = -lb(i1) | |
5351 | lb(i2) = -lb(i2) | |
5352 | endif | |
5353 | GO TO 107 | |
5354 | *FOR THE NN-->D1+D2+PI PROCESS, FIND MOMENTUM OF THE FINAL TWO | |
5355 | *DELTAS AND PION IN THE NUCLEUS-NUCLEUS CMS. | |
5356 | 106 CONTINUE | |
5357 | NTRY1=0 | |
5358 | 123 CALL DDP2(SRT,ISEED,PX3,PY3,PZ3,DM3,PX4,PY4,PZ4,DM4, | |
5359 | & PPX,PPY,PPZ,icou1) | |
5360 | NTRY1=NTRY1+1 | |
5361 | if((icou1.lt.0).AND.(NTRY1.LE.40))GO TO 123 | |
5362 | C if(icou1.lt.0)return | |
5363 | * ROTATE THE MOMENTA OF PARTICLES IN THE CMS OF P1+P2 | |
5364 | CALL ROTATE(PX,PY,PZ,PX3,PY3,PZ3) | |
5365 | CALL ROTATE(PX,PY,PZ,PX4,PY4,PZ4) | |
5366 | CALL ROTATE(PX,PY,PZ,PPX,PPY,PPZ) | |
5367 | NNN=NNN+1 | |
5368 | * DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
5369 | * (1) FOR P+P | |
5370 | XDIR=RANART(NSEED) | |
5371 | IF(LB(I1)*LB(I2).EQ.1)THEN | |
5372 | IF(XDIR.Le.0.2)then | |
5373 | * (1.1)P+P-->D+++D0+PION(0) | |
5374 | LPION(NNN,IRUN)=4 | |
5375 | EPION(NNN,IRUN)=AP1 | |
5376 | LB(I1)=9 | |
5377 | LB(I2)=7 | |
5378 | GO TO 205 | |
5379 | ENDIF | |
5380 | * (1.2)P+P -->D++D+PION(0) | |
5381 | IF((XDIR.LE.0.4).AND.(XDIR.GT.0.2))THEN | |
5382 | LPION(NNN,IRUN)=4 | |
5383 | EPION(NNN,IRUN)=AP1 | |
5384 | LB(I1)=8 | |
5385 | LB(I2)=8 | |
5386 | GO TO 205 | |
5387 | ENDIF | |
5388 | * (1.3)P+P-->D+++D+PION(-) | |
5389 | IF((XDIR.LE.0.6).AND.(XDIR.GT.0.4))THEN | |
5390 | LPION(NNN,IRUN)=3 | |
5391 | EPION(NNN,IRUN)=AP2 | |
5392 | LB(I1)=9 | |
5393 | LB(I2)=8 | |
5394 | GO TO 205 | |
5395 | ENDIF | |
5396 | IF((XDIR.LE.0.8).AND.(XDIR.GT.0.6))THEN | |
5397 | LPION(NNN,IRUN)=5 | |
5398 | EPION(NNN,IRUN)=AP2 | |
5399 | LB(I1)=9 | |
5400 | LB(I2)=6 | |
5401 | GO TO 205 | |
5402 | ENDIF | |
5403 | IF(XDIR.GT.0.8)THEN | |
5404 | LPION(NNN,IRUN)=5 | |
5405 | EPION(NNN,IRUN)=AP2 | |
5406 | LB(I1)=7 | |
5407 | LB(I2)=8 | |
5408 | GO TO 205 | |
5409 | ENDIF | |
5410 | ENDIF | |
5411 | * (2)FOR N+N | |
5412 | IF(iabs(LB(I1)).EQ.2.AND.iabs(LB(I2)).EQ.2)THEN | |
5413 | IF(XDIR.Le.0.2)then | |
5414 | * (2.1)N+N-->D++D-+PION(0) | |
5415 | LPION(NNN,IRUN)=4 | |
5416 | EPION(NNN,IRUN)=AP1 | |
5417 | LB(I1)=6 | |
5418 | LB(I2)=7 | |
5419 | GO TO 205 | |
5420 | ENDIF | |
5421 | * (2.2)N+N -->D+++D-+PION(-) | |
5422 | IF((XDIR.LE.0.4).AND.(XDIR.GT.0.2))THEN | |
5423 | LPION(NNN,IRUN)=3 | |
5424 | EPION(NNN,IRUN)=AP2 | |
5425 | LB(I1)=6 | |
5426 | LB(I2)=9 | |
5427 | GO TO 205 | |
5428 | ENDIF | |
5429 | * (2.3)P+P-->D0+D-+PION(+) | |
5430 | IF((XDIR.GT.0.4).AND.(XDIR.LE.0.6))THEN | |
5431 | LPION(NNN,IRUN)=5 | |
5432 | EPION(NNN,IRUN)=AP2 | |
5433 | LB(I1)=9 | |
5434 | LB(I2)=8 | |
5435 | GO TO 205 | |
5436 | ENDIF | |
5437 | * (2.4)P+P-->D0+D0+PION(0) | |
5438 | IF((XDIR.GT.0.6).AND.(XDIR.LE.0.8))THEN | |
5439 | LPION(NNN,IRUN)=4 | |
5440 | EPION(NNN,IRUN)=AP1 | |
5441 | LB(I1)=7 | |
5442 | LB(I2)=7 | |
5443 | GO TO 205 | |
5444 | ENDIF | |
5445 | * (2.5)P+P-->D0+D++PION(-) | |
5446 | IF(XDIR.GT.0.8)THEN | |
5447 | LPION(NNN,IRUN)=3 | |
5448 | EPION(NNN,IRUN)=AP2 | |
5449 | LB(I1)=7 | |
5450 | LB(I2)=8 | |
5451 | GO TO 205 | |
5452 | ENDIF | |
5453 | ENDIF | |
5454 | * (3)FOR N+P | |
5455 | IF(LB(I1)*LB(I2).EQ.2)THEN | |
5456 | IF(XDIR.Le.0.17)then | |
5457 | * (3.1)N+P-->D+++D-+PION(0) | |
5458 | LPION(NNN,IRUN)=4 | |
5459 | EPION(NNN,IRUN)=AP1 | |
5460 | LB(I1)=6 | |
5461 | LB(I2)=9 | |
5462 | GO TO 205 | |
5463 | ENDIF | |
5464 | * (3.2)N+P -->D+++D0+PION(-) | |
5465 | IF((XDIR.LE.0.34).AND.(XDIR.GT.0.17))THEN | |
5466 | LPION(NNN,IRUN)=3 | |
5467 | EPION(NNN,IRUN)=AP2 | |
5468 | LB(I1)=7 | |
5469 | LB(I2)=9 | |
5470 | GO TO 205 | |
5471 | ENDIF | |
5472 | * (3.3)N+P-->D++D-+PION(+) | |
5473 | IF((XDIR.GT.0.34).AND.(XDIR.LE.0.51))THEN | |
5474 | LPION(NNN,IRUN)=5 | |
5475 | EPION(NNN,IRUN)=AP2 | |
5476 | LB(I1)=7 | |
5477 | LB(I2)=8 | |
5478 | GO TO 205 | |
5479 | ENDIF | |
5480 | * (3.4)N+P-->D++D++PION(-) | |
5481 | IF((XDIR.GT.0.51).AND.(XDIR.LE.0.68))THEN | |
5482 | LPION(NNN,IRUN)=3 | |
5483 | EPION(NNN,IRUN)=AP2 | |
5484 | LB(I1)=8 | |
5485 | LB(I2)=8 | |
5486 | GO TO 205 | |
5487 | ENDIF | |
5488 | * (3.5)N+P-->D0+D++PION(0) | |
5489 | IF((XDIR.GT.0.68).AND.(XDIR.LE.0.85))THEN | |
5490 | LPION(NNN,IRUN)=4 | |
5491 | EPION(NNN,IRUN)=AP2 | |
5492 | LB(I1)=7 | |
5493 | LB(I2)=8 | |
5494 | GO TO 205 | |
5495 | ENDIF | |
5496 | * (3.6)N+P-->D0+D0+PION(+) | |
5497 | IF(XDIR.GT.0.85)THEN | |
5498 | LPION(NNN,IRUN)=5 | |
5499 | EPION(NNN,IRUN)=AP2 | |
5500 | LB(I1)=7 | |
5501 | LB(I2)=7 | |
5502 | ENDIF | |
5503 | ENDIF | |
5504 | * FIND THE MOMENTUM OF PARTICLES IN THE FINAL STATE IN THE NUCLEUS- | |
5505 | * NUCLEUS CMS. FRAME | |
5506 | * LORENTZ-TRANSFORMATION INTO LAB FRAME FOR DELTA1 | |
5507 | 205 E1CM = SQRT (dm3**2 + PX3**2 + PY3**2 + PZ3**2) | |
5508 | P1BETA = PX3*BETAX + PY3*BETAY + PZ3*BETAZ | |
5509 | TRANSF = GAMMA * ( GAMMA * P1BETA / (GAMMA + 1) + E1CM ) | |
5510 | Pt1i1 = BETAX * TRANSF + PX3 | |
5511 | Pt2i1 = BETAY * TRANSF + PY3 | |
5512 | Pt3i1 = BETAZ * TRANSF + PZ3 | |
5513 | Eti1 = DM3 | |
5514 | c | |
5515 | if(ianti.eq.1 .and. lb(i1).ge.1 .and. lb(i2).ge.1)then | |
5516 | lb(i1) = -lb(i1) | |
5517 | lb(i2) = -lb(i2) | |
5518 | if(LPION(NNN,IRUN) .eq. 3)then | |
5519 | LPION(NNN,IRUN)=5 | |
5520 | elseif(LPION(NNN,IRUN) .eq. 5)then | |
5521 | LPION(NNN,IRUN)=3 | |
5522 | endif | |
5523 | endif | |
5524 | c | |
5525 | lb1=lb(i1) | |
5526 | * FOR DELTA2 | |
5527 | E2CM = SQRT (dm4**2 + PX4**2 + PY4**2 + PZ4**2) | |
5528 | P2BETA = PX4*BETAX+PY4*BETAY+PZ4*BETAZ | |
5529 | TRANSF = GAMMA * (GAMMA*P2BETA / (GAMMA + 1.) + E2CM) | |
5530 | Pt1I2 = BETAX * TRANSF + PX4 | |
5531 | Pt2I2 = BETAY * TRANSF + PY4 | |
5532 | Pt3I2 = BETAZ * TRANSF + PZ4 | |
5533 | EtI2 = DM4 | |
5534 | lb2=lb(i2) | |
5535 | * assign delta1 and delta2 to i1 or i2 to keep the leadng particle | |
5536 | * behaviour | |
5537 | C if((pt1i1*px1+pt2i1*py1+pt3i1*pz1).gt.0)then | |
5538 | p(1,i1)=pt1i1 | |
5539 | p(2,i1)=pt2i1 | |
5540 | p(3,i1)=pt3i1 | |
5541 | e(i1)=eti1 | |
5542 | lb(i1)=lb1 | |
5543 | p(1,i2)=pt1i2 | |
5544 | p(2,i2)=pt2i2 | |
5545 | p(3,i2)=pt3i2 | |
5546 | e(i2)=eti2 | |
5547 | lb(i2)=lb2 | |
5548 | PX1 = P(1,I1) | |
5549 | PY1 = P(2,I1) | |
5550 | PZ1 = P(3,I1) | |
5551 | EM1 = E(I1) | |
5552 | ID(I1) = 2 | |
5553 | ID(I2) = 2 | |
5554 | ID1 = ID(I1) | |
5555 | IBLOCK=4 | |
5556 | * GET PION'S MOMENTUM AND COORDINATES IN NUCLEUS-NUCLEUS CMS. FRAME | |
5557 | EPCM=SQRT(EPION(NNN,IRUN)**2+PPX**2+PPY**2+PPZ**2) | |
5558 | PPBETA=PPX*BETAX+PPY*BETAY+PPZ*BETAZ | |
5559 | TRANSF=GAMMA*(GAMMA*PPBETA/(GAMMA+1.)+EPCM) | |
5560 | PPION(1,NNN,IRUN)=BETAX*TRANSF+PPX | |
5561 | PPION(2,NNN,IRUN)=BETAY*TRANSF+PPY | |
5562 | PPION(3,NNN,IRUN)=BETAZ*TRANSF+PPZ | |
5563 | clin-5/2008: | |
5564 | dppion(nnn,irun)=dpertp(i1)*dpertp(i2) | |
5565 | clin-5/2008 do not allow smearing in position of produced particles | |
5566 | c to avoid immediate reinteraction with the particle I1, I2 or themselves: | |
5567 | c2002 X01 = 1.0 - 2.0 * RANART(NSEED) | |
5568 | c Y01 = 1.0 - 2.0 * RANART(NSEED) | |
5569 | c Z01 = 1.0 - 2.0 * RANART(NSEED) | |
5570 | c IF ((X01*X01+Y01*Y01+Z01*Z01) .GT. 1.0) GOTO 2002 | |
5571 | c RPION(1,NNN,IRUN)=R(1,I1)+0.5*x01 | |
5572 | c RPION(2,NNN,IRUN)=R(2,I1)+0.5*y01 | |
5573 | c RPION(3,NNN,IRUN)=R(3,I1)+0.5*z01 | |
5574 | RPION(1,NNN,IRUN)=R(1,I1) | |
5575 | RPION(2,NNN,IRUN)=R(2,I1) | |
5576 | RPION(3,NNN,IRUN)=R(3,I1) | |
5577 | c | |
5578 | go to 90005 | |
5579 | clin-5/2008 N+N->Deuteron+pi: | |
5580 | * FIND MOMENTUM OF THE FINAL PARTICLES IN THE NUCLEUS-NUCLEUS CMS. | |
5581 | 108 CONTINUE | |
5582 | if(idpert.eq.1.and.ipert1.eq.1.and.npertd.ge.1) then | |
5583 | c For idpert=1: we produce npertd pert deuterons: | |
5584 | ndloop=npertd | |
5585 | elseif(idpert.eq.2.and.npertd.ge.1) then | |
5586 | c For idpert=2: we first save information for npertd pert deuterons; | |
5587 | c at the last ndloop we create the regular deuteron+pi | |
5588 | c and those pert deuterons: | |
5589 | ndloop=npertd+1 | |
5590 | else | |
5591 | c Just create the regular deuteron+pi: | |
5592 | ndloop=1 | |
5593 | endif | |
5594 | c | |
5595 | dprob1=sdprod/sig/float(npertd) | |
5596 | do idloop=1,ndloop | |
5597 | CALL bbdangle(pxd,pyd,pzd,nt,ipert1,ianti,idloop,pfinal, | |
5598 | 1 dprob1,lbm) | |
5599 | CALL ROTATE(PX,PY,PZ,PXd,PYd,PZd) | |
5600 | * LORENTZ-TRANSFORMATION OF THE MOMENTUM OF PARTICLES IN THE FINAL STATE | |
5601 | * FROM THE NN CMS FRAME INTO THE GLOBAL CMS FRAME: | |
5602 | * For the Deuteron: | |
5603 | xmass=xmd | |
5604 | E1dCM=SQRT(xmass**2+PXd**2+PYd**2+PZd**2) | |
5605 | P1dBETA=PXd*BETAX+PYd*BETAY+PZd*BETAZ | |
5606 | TRANSF=GAMMA*(GAMMA*P1dBETA/(GAMMA+1.)+E1dCM) | |
5607 | pxi1=BETAX*TRANSF+PXd | |
5608 | pyi1=BETAY*TRANSF+PYd | |
5609 | pzi1=BETAZ*TRANSF+PZd | |
5610 | if(ianti.eq.0)then | |
5611 | lbd=42 | |
5612 | else | |
5613 | lbd=-42 | |
5614 | endif | |
5615 | if(idpert.eq.1.and.ipert1.eq.1.and.npertd.ge.1) then | |
5616 | cccc Perturbative production for idpert=1: | |
5617 | nnn=nnn+1 | |
5618 | PPION(1,NNN,IRUN)=pxi1 | |
5619 | PPION(2,NNN,IRUN)=pyi1 | |
5620 | PPION(3,NNN,IRUN)=pzi1 | |
5621 | EPION(NNN,IRUN)=xmd | |
5622 | LPION(NNN,IRUN)=lbd | |
5623 | RPION(1,NNN,IRUN)=R(1,I1) | |
5624 | RPION(2,NNN,IRUN)=R(2,I1) | |
5625 | RPION(3,NNN,IRUN)=R(3,I1) | |
5626 | clin-5/2008 assign the perturbative probability: | |
5627 | dppion(NNN,IRUN)=sdprod/sig/float(npertd) | |
5628 | elseif(idpert.eq.2.and.idloop.le.npertd) then | |
5629 | clin-5/2008 For idpert=2, we produce NPERTD perturbative (anti)deuterons | |
5630 | c only when a regular (anti)deuteron+pi is produced in NN collisions. | |
5631 | c First save the info for the perturbative deuterons: | |
5632 | ppd(1,idloop)=pxi1 | |
5633 | ppd(2,idloop)=pyi1 | |
5634 | ppd(3,idloop)=pzi1 | |
5635 | lbpd(idloop)=lbd | |
5636 | else | |
5637 | cccc Regular production: | |
5638 | c For the regular pion: do LORENTZ-TRANSFORMATION: | |
5639 | E(i1)=xmm | |
5640 | E2piCM=SQRT(xmm**2+PXd**2+PYd**2+PZd**2) | |
5641 | P2piBETA=-PXd*BETAX-PYd*BETAY-PZd*BETAZ | |
5642 | TRANSF=GAMMA*(GAMMA*P2piBETA/(GAMMA+1.)+E2piCM) | |
5643 | pxi2=BETAX*TRANSF-PXd | |
5644 | pyi2=BETAY*TRANSF-PYd | |
5645 | pzi2=BETAZ*TRANSF-PZd | |
5646 | p(1,i1)=pxi2 | |
5647 | p(2,i1)=pyi2 | |
5648 | p(3,i1)=pzi2 | |
5649 | c Remove regular pion to check the equivalence | |
5650 | c between the perturbative and regular deuteron results: | |
5651 | c E(i1)=0. | |
5652 | c | |
5653 | LB(I1)=lbm | |
5654 | PX1=P(1,I1) | |
5655 | PY1=P(2,I1) | |
5656 | PZ1=P(3,I1) | |
5657 | EM1=E(I1) | |
5658 | ID(I1)=2 | |
5659 | ID1=ID(I1) | |
5660 | E1=SQRT(EM1**2+PX1**2+PY1**2+PZ1**2) | |
5661 | lb1=lb(i1) | |
5662 | c For the regular deuteron: | |
5663 | p(1,i2)=pxi1 | |
5664 | p(2,i2)=pyi1 | |
5665 | p(3,i2)=pzi1 | |
5666 | lb(i2)=lbd | |
5667 | lb2=lb(i2) | |
5668 | E(i2)=xmd | |
5669 | EtI2=E(I2) | |
5670 | ID(I2)=2 | |
5671 | c For idpert=2: create the perturbative deuterons: | |
5672 | if(idpert.eq.2.and.idloop.eq.ndloop) then | |
5673 | do ipertd=1,npertd | |
5674 | nnn=nnn+1 | |
5675 | PPION(1,NNN,IRUN)=ppd(1,ipertd) | |
5676 | PPION(2,NNN,IRUN)=ppd(2,ipertd) | |
5677 | PPION(3,NNN,IRUN)=ppd(3,ipertd) | |
5678 | EPION(NNN,IRUN)=xmd | |
5679 | LPION(NNN,IRUN)=lbpd(ipertd) | |
5680 | RPION(1,NNN,IRUN)=R(1,I1) | |
5681 | RPION(2,NNN,IRUN)=R(2,I1) | |
5682 | RPION(3,NNN,IRUN)=R(3,I1) | |
5683 | clin-5/2008 assign the perturbative probability: | |
5684 | dppion(NNN,IRUN)=1./float(npertd) | |
5685 | enddo | |
5686 | endif | |
5687 | endif | |
5688 | enddo | |
5689 | IBLOCK=501 | |
5690 | go to 90005 | |
5691 | clin-5/2008 N+N->Deuteron+pi over | |
5692 | * FOR THE NN-->KAON+X PROCESS, FIND MOMENTUM OF THE FINAL PARTICLES IN | |
5693 | * THE NUCLEUS-NUCLEUS CMS. | |
5694 | 306 CONTINUE | |
5695 | csp11/21/01 phi production | |
5696 | if(XSK5/sigK.gt.RANART(NSEED))then | |
5697 | pz1=p(3,i1) | |
5698 | pz2=p(3,i2) | |
5699 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
5700 | LB(I2) = 1 + int(2 * RANART(NSEED)) | |
5701 | nnn=nnn+1 | |
5702 | LPION(NNN,IRUN)=29 | |
5703 | EPION(NNN,IRUN)=APHI | |
5704 | iblock = 222 | |
5705 | GO TO 208 | |
5706 | ENDIF | |
5707 | c | |
5708 | IBLOCK=9 | |
5709 | if(ianti .eq. 1)iblock=-9 | |
5710 | c | |
5711 | pz1=p(3,i1) | |
5712 | pz2=p(3,i2) | |
5713 | * DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
5714 | nnn=nnn+1 | |
5715 | LPION(NNN,IRUN)=23 | |
5716 | EPION(NNN,IRUN)=Aka | |
5717 | if(srt.le.2.63)then | |
5718 | * only lambda production is possible | |
5719 | * (1.1)P+P-->p+L+kaon+ | |
5720 | ic=1 | |
5721 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
5722 | LB(I2)=14 | |
5723 | GO TO 208 | |
5724 | ENDIF | |
5725 | if(srt.le.2.74.and.srt.gt.2.63)then | |
5726 | * both Lambda and sigma production are possible | |
5727 | if(XSK1/(XSK1+XSK2).gt.RANART(NSEED))then | |
5728 | * lambda production | |
5729 | ic=1 | |
5730 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
5731 | LB(I2)=14 | |
5732 | else | |
5733 | * sigma production | |
5734 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
5735 | LB(I2) = 15 + int(3 * RANART(NSEED)) | |
5736 | ic=2 | |
5737 | endif | |
5738 | GO TO 208 | |
5739 | endif | |
5740 | if(srt.le.2.77.and.srt.gt.2.74)then | |
5741 | * then pp-->Delta lamda kaon can happen | |
5742 | if(xsk1/(xsk1+xsk2+xsk3). | |
5743 | 1 gt.RANART(NSEED))then | |
5744 | * * (1.1)P+P-->p+L+kaon+ | |
5745 | ic=1 | |
5746 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
5747 | LB(I2)=14 | |
5748 | go to 208 | |
5749 | else | |
5750 | if(xsk2/(xsk2+xsk3).gt.RANART(NSEED))then | |
5751 | * pp-->psk | |
5752 | ic=2 | |
5753 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
5754 | LB(I2) = 15 + int(3 * RANART(NSEED)) | |
5755 | else | |
5756 | * pp-->D+l+k | |
5757 | ic=3 | |
5758 | LB(I1) = 6 + int(4 * RANART(NSEED)) | |
5759 | lb(i2)=14 | |
5760 | endif | |
5761 | GO TO 208 | |
5762 | endif | |
5763 | endif | |
5764 | if(srt.gt.2.77)then | |
5765 | * all four channels are possible | |
5766 | if(xsk1/(xsk1+xsk2+xsk3+xsk4).gt.RANART(NSEED))then | |
5767 | * p lambda k production | |
5768 | ic=1 | |
5769 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
5770 | LB(I2)=14 | |
5771 | go to 208 | |
5772 | else | |
5773 | if(xsk3/(xsk2+xsk3+xsk4).gt.RANART(NSEED))then | |
5774 | * delta l K production | |
5775 | ic=3 | |
5776 | LB(I1) = 6 + int(4 * RANART(NSEED)) | |
5777 | lb(i2)=14 | |
5778 | go to 208 | |
5779 | else | |
5780 | if(xsk2/(xsk2+xsk4).gt.RANART(NSEED))then | |
5781 | * n sigma k production | |
5782 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
5783 | LB(I2) = 15 + int(3 * RANART(NSEED)) | |
5784 | ic=2 | |
5785 | else | |
5786 | ic=4 | |
5787 | LB(I1) = 6 + int(4 * RANART(NSEED)) | |
5788 | LB(I2) = 15 + int(3 * RANART(NSEED)) | |
5789 | endif | |
5790 | go to 208 | |
5791 | endif | |
5792 | endif | |
5793 | endif | |
5794 | 208 continue | |
5795 | if(ianti.eq.1 .and. lb(i1).ge.1 .and. lb(i2).ge.1)then | |
5796 | lb(i1) = - lb(i1) | |
5797 | lb(i2) = - lb(i2) | |
5798 | if(LPION(NNN,IRUN) .eq. 23)LPION(NNN,IRUN)=21 | |
5799 | endif | |
5800 | * KEEP ALL COORDINATES OF PARTICLE 2 FOR POSSIBLE PHASE SPACE CHANGE | |
5801 | NTRY1=0 | |
5802 | 127 CALL BBKAON(ic,SRT,PX3,PY3,PZ3,DM3,PX4,PY4,PZ4,DM4, | |
5803 | & PPX,PPY,PPZ,icou1) | |
5804 | NTRY1=NTRY1+1 | |
5805 | if((icou1.lt.0).AND.(NTRY1.LE.20))GO TO 127 | |
5806 | c if(icou1.lt.0)return | |
5807 | * ROTATE THE MOMENTA OF PARTICLES IN THE CMS OF P1+P2 | |
5808 | CALL ROTATE(PX,PY,PZ,PX3,PY3,PZ3) | |
5809 | CALL ROTATE(PX,PY,PZ,PX4,PY4,PZ4) | |
5810 | CALL ROTATE(PX,PY,PZ,PPX,PPY,PPZ) | |
5811 | * FIND THE MOMENTUM OF PARTICLES IN THE FINAL STATE IN THE NUCLEUS- | |
5812 | * NUCLEUS CMS. FRAME | |
5813 | * (1) for the necleon/delta | |
5814 | * LORENTZ-TRANSFORMATION INTO LAB FRAME FOR DELTA1 | |
5815 | E1CM = SQRT (dm3**2 + PX3**2 + PY3**2 + PZ3**2) | |
5816 | P1BETA = PX3*BETAX + PY3*BETAY + PZ3*BETAZ | |
5817 | TRANSF = GAMMA * ( GAMMA * P1BETA / (GAMMA + 1) + E1CM ) | |
5818 | Pt1i1 = BETAX * TRANSF + PX3 | |
5819 | Pt2i1 = BETAY * TRANSF + PY3 | |
5820 | Pt3i1 = BETAZ * TRANSF + PZ3 | |
5821 | Eti1 = DM3 | |
5822 | lbi1=lb(i1) | |
5823 | * (2) for the lambda/sigma | |
5824 | E2CM = SQRT (dm4**2 + PX4**2 + PY4**2 + PZ4**2) | |
5825 | P2BETA = PX4*BETAX+PY4*BETAY+PZ4*BETAZ | |
5826 | TRANSF = GAMMA * (GAMMA*P2BETA / (GAMMA + 1.) + E2CM) | |
5827 | Pt1I2 = BETAX * TRANSF + PX4 | |
5828 | Pt2I2 = BETAY * TRANSF + PY4 | |
5829 | Pt3I2 = BETAZ * TRANSF + PZ4 | |
5830 | EtI2 = DM4 | |
5831 | lbi2=lb(i2) | |
5832 | * GET the kaon'S MOMENTUM AND COORDINATES IN NUCLEUS-NUCLEUS CMS. FRAME | |
5833 | EPCM=SQRT(aka**2+PPX**2+PPY**2+PPZ**2) | |
5834 | PPBETA=PPX*BETAX+PPY*BETAY+PPZ*BETAZ | |
5835 | TRANSF=GAMMA*(GAMMA*PPBETA/(GAMMA+1.)+EPCM) | |
5836 | PPION(1,NNN,IRUN)=BETAX*TRANSF+PPX | |
5837 | PPION(2,NNN,IRUN)=BETAY*TRANSF+PPY | |
5838 | PPION(3,NNN,IRUN)=BETAZ*TRANSF+PPZ | |
5839 | clin-5/2008 | |
5840 | dppion(nnn,irun)=dpertp(i1)*dpertp(i2) | |
5841 | clin-5/2008 | |
5842 | c2003 X01 = 1.0 - 2.0 * RANART(NSEED) | |
5843 | c Y01 = 1.0 - 2.0 * RANART(NSEED) | |
5844 | c Z01 = 1.0 - 2.0 * RANART(NSEED) | |
5845 | c IF ((X01*X01+Y01*Y01+Z01*Z01) .GT. 1.0) GOTO 2003 | |
5846 | c RPION(1,NNN,IRUN)=R(1,I1)+0.5*x01 | |
5847 | c RPION(2,NNN,IRUN)=R(2,I1)+0.5*y01 | |
5848 | c RPION(3,NNN,IRUN)=R(3,I1)+0.5*z01 | |
5849 | RPION(1,NNN,IRUN)=R(1,I1) | |
5850 | RPION(2,NNN,IRUN)=R(2,I1) | |
5851 | RPION(3,NNN,IRUN)=R(3,I1) | |
5852 | c | |
5853 | * assign the nucleon/delta and lambda/sigma to i1 or i2 to keep the | |
5854 | * leadng particle behaviour | |
5855 | C if((pt1i1*px1+pt2i1*py1+pt3i1*pz1).gt.0)then | |
5856 | p(1,i1)=pt1i1 | |
5857 | p(2,i1)=pt2i1 | |
5858 | p(3,i1)=pt3i1 | |
5859 | e(i1)=eti1 | |
5860 | lb(i1)=lbi1 | |
5861 | p(1,i2)=pt1i2 | |
5862 | p(2,i2)=pt2i2 | |
5863 | p(3,i2)=pt3i2 | |
5864 | e(i2)=eti2 | |
5865 | lb(i2)=lbi2 | |
5866 | PX1 = P(1,I1) | |
5867 | PY1 = P(2,I1) | |
5868 | PZ1 = P(3,I1) | |
5869 | EM1 = E(I1) | |
5870 | ID(I1) = 2 | |
5871 | ID(I2) = 2 | |
5872 | ID1 = ID(I1) | |
5873 | go to 90005 | |
5874 | * FOR THE NN-->Delta+Delta+rho PROCESS, FIND MOMENTUM OF THE FINAL | |
5875 | * PARTICLES IN THE NUCLEUS-NUCLEUS CMS. | |
5876 | 307 CONTINUE | |
5877 | NTRY1=0 | |
5878 | 125 CALL DDrho(SRT,ISEED,PX3,PY3,PZ3,DM3,PX4,PY4,PZ4,DM4, | |
5879 | & PPX,PPY,PPZ,amrho,icou1) | |
5880 | NTRY1=NTRY1+1 | |
5881 | if((icou1.lt.0).AND.(NTRY1.LE.20))GO TO 125 | |
5882 | C if(icou1.lt.0)return | |
5883 | * ROTATE THE MOMENTA OF PARTICLES IN THE CMS OF P1+P2 | |
5884 | CALL ROTATE(PX,PY,PZ,PX3,PY3,PZ3) | |
5885 | CALL ROTATE(PX,PY,PZ,PX4,PY4,PZ4) | |
5886 | CALL ROTATE(PX,PY,PZ,PPX,PPY,PPZ) | |
5887 | NNN=NNN+1 | |
5888 | arho=amrho | |
5889 | * DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
5890 | * (1) FOR P+P | |
5891 | XDIR=RANART(NSEED) | |
5892 | IF(LB(I1)*LB(I2).EQ.1)THEN | |
5893 | IF(XDIR.Le.0.2)then | |
5894 | * (1.1)P+P-->D+++D0+rho(0) | |
5895 | LPION(NNN,IRUN)=26 | |
5896 | EPION(NNN,IRUN)=Arho | |
5897 | LB(I1)=9 | |
5898 | LB(I2)=7 | |
5899 | GO TO 2051 | |
5900 | ENDIF | |
5901 | * (1.2)P+P -->D++D+rho(0) | |
5902 | IF((XDIR.LE.0.4).AND.(XDIR.GT.0.2))THEN | |
5903 | LPION(NNN,IRUN)=26 | |
5904 | EPION(NNN,IRUN)=Arho | |
5905 | LB(I1)=8 | |
5906 | LB(I2)=8 | |
5907 | GO TO 2051 | |
5908 | ENDIF | |
5909 | * (1.3)P+P-->D+++D+arho(-) | |
5910 | IF((XDIR.LE.0.6).AND.(XDIR.GT.0.4))THEN | |
5911 | LPION(NNN,IRUN)=25 | |
5912 | EPION(NNN,IRUN)=Arho | |
5913 | LB(I1)=9 | |
5914 | LB(I2)=8 | |
5915 | GO TO 2051 | |
5916 | ENDIF | |
5917 | IF((XDIR.LE.0.8).AND.(XDIR.GT.0.6))THEN | |
5918 | LPION(NNN,IRUN)=27 | |
5919 | EPION(NNN,IRUN)=Arho | |
5920 | LB(I1)=9 | |
5921 | LB(I2)=6 | |
5922 | GO TO 2051 | |
5923 | ENDIF | |
5924 | IF(XDIR.GT.0.8)THEN | |
5925 | LPION(NNN,IRUN)=27 | |
5926 | EPION(NNN,IRUN)=Arho | |
5927 | LB(I1)=7 | |
5928 | LB(I2)=8 | |
5929 | GO TO 2051 | |
5930 | ENDIF | |
5931 | ENDIF | |
5932 | * (2)FOR N+N | |
5933 | IF(iabs(LB(I1)).EQ.2.AND.iabs(LB(I2)).EQ.2)THEN | |
5934 | IF(XDIR.Le.0.2)then | |
5935 | * (2.1)N+N-->D++D-+rho(0) | |
5936 | LPION(NNN,IRUN)=26 | |
5937 | EPION(NNN,IRUN)=Arho | |
5938 | LB(I1)=6 | |
5939 | LB(I2)=7 | |
5940 | GO TO 2051 | |
5941 | ENDIF | |
5942 | * (2.2)N+N -->D+++D-+rho(-) | |
5943 | IF((XDIR.LE.0.4).AND.(XDIR.GT.0.2))THEN | |
5944 | LPION(NNN,IRUN)=25 | |
5945 | EPION(NNN,IRUN)=Arho | |
5946 | LB(I1)=6 | |
5947 | LB(I2)=9 | |
5948 | GO TO 2051 | |
5949 | ENDIF | |
5950 | * (2.3)P+P-->D0+D-+rho(+) | |
5951 | IF((XDIR.GT.0.4).AND.(XDIR.LE.0.6))THEN | |
5952 | LPION(NNN,IRUN)=27 | |
5953 | EPION(NNN,IRUN)=Arho | |
5954 | LB(I1)=9 | |
5955 | LB(I2)=8 | |
5956 | GO TO 2051 | |
5957 | ENDIF | |
5958 | * (2.4)P+P-->D0+D0+rho(0) | |
5959 | IF((XDIR.GT.0.6).AND.(XDIR.LE.0.8))THEN | |
5960 | LPION(NNN,IRUN)=26 | |
5961 | EPION(NNN,IRUN)=Arho | |
5962 | LB(I1)=7 | |
5963 | LB(I2)=7 | |
5964 | GO TO 2051 | |
5965 | ENDIF | |
5966 | * (2.5)P+P-->D0+D++rho(-) | |
5967 | IF(XDIR.GT.0.8)THEN | |
5968 | LPION(NNN,IRUN)=25 | |
5969 | EPION(NNN,IRUN)=Arho | |
5970 | LB(I1)=7 | |
5971 | LB(I2)=8 | |
5972 | GO TO 2051 | |
5973 | ENDIF | |
5974 | ENDIF | |
5975 | * (3)FOR N+P | |
5976 | IF(LB(I1)*LB(I2).EQ.2)THEN | |
5977 | IF(XDIR.Le.0.17)then | |
5978 | * (3.1)N+P-->D+++D-+rho(0) | |
5979 | LPION(NNN,IRUN)=25 | |
5980 | EPION(NNN,IRUN)=Arho | |
5981 | LB(I1)=6 | |
5982 | LB(I2)=9 | |
5983 | GO TO 2051 | |
5984 | ENDIF | |
5985 | * (3.2)N+P -->D+++D0+rho(-) | |
5986 | IF((XDIR.LE.0.34).AND.(XDIR.GT.0.17))THEN | |
5987 | LPION(NNN,IRUN)=25 | |
5988 | EPION(NNN,IRUN)=Arho | |
5989 | LB(I1)=7 | |
5990 | LB(I2)=9 | |
5991 | GO TO 2051 | |
5992 | ENDIF | |
5993 | * (3.3)N+P-->D++D-+rho(+) | |
5994 | IF((XDIR.GT.0.34).AND.(XDIR.LE.0.51))THEN | |
5995 | LPION(NNN,IRUN)=27 | |
5996 | EPION(NNN,IRUN)=Arho | |
5997 | LB(I1)=7 | |
5998 | LB(I2)=8 | |
5999 | GO TO 2051 | |
6000 | ENDIF | |
6001 | * (3.4)N+P-->D++D++rho(-) | |
6002 | IF((XDIR.GT.0.51).AND.(XDIR.LE.0.68))THEN | |
6003 | LPION(NNN,IRUN)=25 | |
6004 | EPION(NNN,IRUN)=Arho | |
6005 | LB(I1)=8 | |
6006 | LB(I2)=8 | |
6007 | GO TO 2051 | |
6008 | ENDIF | |
6009 | * (3.5)N+P-->D0+D++rho(0) | |
6010 | IF((XDIR.GT.0.68).AND.(XDIR.LE.0.85))THEN | |
6011 | LPION(NNN,IRUN)=26 | |
6012 | EPION(NNN,IRUN)=Arho | |
6013 | LB(I1)=7 | |
6014 | LB(I2)=8 | |
6015 | GO TO 2051 | |
6016 | ENDIF | |
6017 | * (3.6)N+P-->D0+D0+rho(+) | |
6018 | IF(XDIR.GT.0.85)THEN | |
6019 | LPION(NNN,IRUN)=27 | |
6020 | EPION(NNN,IRUN)=Arho | |
6021 | LB(I1)=7 | |
6022 | LB(I2)=7 | |
6023 | ENDIF | |
6024 | ENDIF | |
6025 | * FIND THE MOMENTUM OF PARTICLES IN THE FINAL STATE IN THE NUCLEUS- | |
6026 | * NUCLEUS CMS. FRAME | |
6027 | * LORENTZ-TRANSFORMATION INTO LAB FRAME FOR DELTA1 | |
6028 | 2051 E1CM = SQRT (dm3**2 + PX3**2 + PY3**2 + PZ3**2) | |
6029 | P1BETA = PX3*BETAX + PY3*BETAY + PZ3*BETAZ | |
6030 | TRANSF = GAMMA * ( GAMMA * P1BETA / (GAMMA + 1) + E1CM ) | |
6031 | Pt1i1 = BETAX * TRANSF + PX3 | |
6032 | Pt2i1 = BETAY * TRANSF + PY3 | |
6033 | Pt3i1 = BETAZ * TRANSF + PZ3 | |
6034 | Eti1 = DM3 | |
6035 | c | |
6036 | if(ianti.eq.1 .and. lb(i1).ge.1 .and. lb(i2).ge.1)then | |
6037 | lb(i1) = -lb(i1) | |
6038 | lb(i2) = -lb(i2) | |
6039 | if(LPION(NNN,IRUN) .eq. 25)then | |
6040 | LPION(NNN,IRUN)=27 | |
6041 | elseif(LPION(NNN,IRUN) .eq. 27)then | |
6042 | LPION(NNN,IRUN)=25 | |
6043 | endif | |
6044 | endif | |
6045 | c | |
6046 | lb1=lb(i1) | |
6047 | * FOR DELTA2 | |
6048 | E2CM = SQRT (dm4**2 + PX4**2 + PY4**2 + PZ4**2) | |
6049 | P2BETA = PX4*BETAX+PY4*BETAY+PZ4*BETAZ | |
6050 | TRANSF = GAMMA * (GAMMA*P2BETA / (GAMMA + 1.) + E2CM) | |
6051 | Pt1I2 = BETAX * TRANSF + PX4 | |
6052 | Pt2I2 = BETAY * TRANSF + PY4 | |
6053 | Pt3I2 = BETAZ * TRANSF + PZ4 | |
6054 | EtI2 = DM4 | |
6055 | lb2=lb(i2) | |
6056 | * assign delta1 and delta2 to i1 or i2 to keep the leadng particle | |
6057 | * behaviour | |
6058 | C if((pt1i1*px1+pt2i1*py1+pt3i1*pz1).gt.0)then | |
6059 | p(1,i1)=pt1i1 | |
6060 | p(2,i1)=pt2i1 | |
6061 | p(3,i1)=pt3i1 | |
6062 | e(i1)=eti1 | |
6063 | lb(i1)=lb1 | |
6064 | p(1,i2)=pt1i2 | |
6065 | p(2,i2)=pt2i2 | |
6066 | p(3,i2)=pt3i2 | |
6067 | e(i2)=eti2 | |
6068 | lb(i2)=lb2 | |
6069 | PX1 = P(1,I1) | |
6070 | PY1 = P(2,I1) | |
6071 | PZ1 = P(3,I1) | |
6072 | EM1 = E(I1) | |
6073 | ID(I1) = 2 | |
6074 | ID(I2) = 2 | |
6075 | ID1 = ID(I1) | |
6076 | IBLOCK=44 | |
6077 | * GET rho'S MOMENTUM AND COORDINATES IN NUCLEUS-NUCLEUS CMS. FRAME | |
6078 | EPCM=SQRT(EPION(NNN,IRUN)**2+PPX**2+PPY**2+PPZ**2) | |
6079 | PPBETA=PPX*BETAX+PPY*BETAY+PPZ*BETAZ | |
6080 | TRANSF=GAMMA*(GAMMA*PPBETA/(GAMMA+1.)+EPCM) | |
6081 | PPION(1,NNN,IRUN)=BETAX*TRANSF+PPX | |
6082 | PPION(2,NNN,IRUN)=BETAY*TRANSF+PPY | |
6083 | PPION(3,NNN,IRUN)=BETAZ*TRANSF+PPZ | |
6084 | clin-5/2008: | |
6085 | dppion(nnn,irun)=dpertp(i1)*dpertp(i2) | |
6086 | clin-5/2008: | |
6087 | c2004 X01 = 1.0 - 2.0 * RANART(NSEED) | |
6088 | c Y01 = 1.0 - 2.0 * RANART(NSEED) | |
6089 | c Z01 = 1.0 - 2.0 * RANART(NSEED) | |
6090 | c IF ((X01*X01+Y01*Y01+Z01*Z01) .GT. 1.0) GOTO 2004 | |
6091 | c RPION(1,NNN,IRUN)=R(1,I1)+0.5*x01 | |
6092 | c RPION(2,NNN,IRUN)=R(2,I1)+0.5*y01 | |
6093 | c RPION(3,NNN,IRUN)=R(3,I1)+0.5*z01 | |
6094 | RPION(1,NNN,IRUN)=R(1,I1) | |
6095 | RPION(2,NNN,IRUN)=R(2,I1) | |
6096 | RPION(3,NNN,IRUN)=R(3,I1) | |
6097 | c | |
6098 | go to 90005 | |
6099 | * FOR THE NN-->N+N+rho PROCESS, FIND MOMENTUM OF THE FINAL | |
6100 | * PARTICLES IN THE NUCLEUS-NUCLEUS CMS. | |
6101 | 308 CONTINUE | |
6102 | NTRY1=0 | |
6103 | 126 CALL pprho(SRT,ISEED,PX3,PY3,PZ3,DM3,PX4,PY4,PZ4,DM4, | |
6104 | & PPX,PPY,PPZ,amrho,icou1) | |
6105 | NTRY1=NTRY1+1 | |
6106 | if((icou1.lt.0).AND.(NTRY1.LE.20))GO TO 126 | |
6107 | C if(icou1.lt.0)return | |
6108 | * ROTATE THE MOMENTA OF PARTICLES IN THE CMS OF P1+P2 | |
6109 | CALL ROTATE(PX,PY,PZ,PX3,PY3,PZ3) | |
6110 | CALL ROTATE(PX,PY,PZ,PX4,PY4,PZ4) | |
6111 | CALL ROTATE(PX,PY,PZ,PPX,PPY,PPZ) | |
6112 | NNN=NNN+1 | |
6113 | arho=amrho | |
6114 | * DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
6115 | * (1) FOR P+P | |
6116 | XDIR=RANART(NSEED) | |
6117 | IF(LB(I1)*LB(I2).EQ.1)THEN | |
6118 | IF(XDIR.Le.0.5)then | |
6119 | * (1.1)P+P-->P+P+rho(0) | |
6120 | LPION(NNN,IRUN)=26 | |
6121 | EPION(NNN,IRUN)=Arho | |
6122 | LB(I1)=1 | |
6123 | LB(I2)=1 | |
6124 | GO TO 2052 | |
6125 | Else | |
6126 | * (1.2)P+P -->p+n+rho(+) | |
6127 | LPION(NNN,IRUN)=27 | |
6128 | EPION(NNN,IRUN)=Arho | |
6129 | LB(I1)=1 | |
6130 | LB(I2)=2 | |
6131 | GO TO 2052 | |
6132 | ENDIF | |
6133 | endif | |
6134 | * (2)FOR N+N | |
6135 | IF(iabs(LB(I1)).EQ.2.AND.iabs(LB(I2)).EQ.2)THEN | |
6136 | IF(XDIR.Le.0.5)then | |
6137 | * (2.1)N+N-->N+N+rho(0) | |
6138 | LPION(NNN,IRUN)=26 | |
6139 | EPION(NNN,IRUN)=Arho | |
6140 | LB(I1)=2 | |
6141 | LB(I2)=2 | |
6142 | GO TO 2052 | |
6143 | Else | |
6144 | * (2.2)N+N -->N+P+rho(-) | |
6145 | LPION(NNN,IRUN)=25 | |
6146 | EPION(NNN,IRUN)=Arho | |
6147 | LB(I1)=1 | |
6148 | LB(I2)=2 | |
6149 | GO TO 2052 | |
6150 | ENDIF | |
6151 | endif | |
6152 | * (3)FOR N+P | |
6153 | IF(LB(I1)*LB(I2).EQ.2)THEN | |
6154 | IF(XDIR.Le.0.33)then | |
6155 | * (3.1)N+P-->N+P+rho(0) | |
6156 | LPION(NNN,IRUN)=26 | |
6157 | EPION(NNN,IRUN)=Arho | |
6158 | LB(I1)=1 | |
6159 | LB(I2)=2 | |
6160 | GO TO 2052 | |
6161 | * (3.2)N+P -->P+P+rho(-) | |
6162 | else IF((XDIR.LE.0.67).AND.(XDIR.GT.0.34))THEN | |
6163 | LPION(NNN,IRUN)=25 | |
6164 | EPION(NNN,IRUN)=Arho | |
6165 | LB(I1)=1 | |
6166 | LB(I2)=1 | |
6167 | GO TO 2052 | |
6168 | Else | |
6169 | * (3.3)N+P-->N+N+rho(+) | |
6170 | LPION(NNN,IRUN)=27 | |
6171 | EPION(NNN,IRUN)=Arho | |
6172 | LB(I1)=2 | |
6173 | LB(I2)=2 | |
6174 | GO TO 2052 | |
6175 | ENDIF | |
6176 | endif | |
6177 | * FIND THE MOMENTUM OF PARTICLES IN THE FINAL STATE IN THE NUCLEUS- | |
6178 | * NUCLEUS CMS. FRAME | |
6179 | * LORENTZ-TRANSFORMATION INTO LAB FRAME FOR DELTA1 | |
6180 | 2052 E1CM = SQRT (dm3**2 + PX3**2 + PY3**2 + PZ3**2) | |
6181 | P1BETA = PX3*BETAX + PY3*BETAY + PZ3*BETAZ | |
6182 | TRANSF = GAMMA * ( GAMMA * P1BETA / (GAMMA + 1) + E1CM ) | |
6183 | Pt1i1 = BETAX * TRANSF + PX3 | |
6184 | Pt2i1 = BETAY * TRANSF + PY3 | |
6185 | Pt3i1 = BETAZ * TRANSF + PZ3 | |
6186 | Eti1 = DM3 | |
6187 | c | |
6188 | if(ianti.eq.1 .and. lb(i1).ge.1 .and. lb(i2).ge.1)then | |
6189 | lb(i1) = -lb(i1) | |
6190 | lb(i2) = -lb(i2) | |
6191 | if(LPION(NNN,IRUN) .eq. 25)then | |
6192 | LPION(NNN,IRUN)=27 | |
6193 | elseif(LPION(NNN,IRUN) .eq. 27)then | |
6194 | LPION(NNN,IRUN)=25 | |
6195 | endif | |
6196 | endif | |
6197 | c | |
6198 | lb1=lb(i1) | |
6199 | * FOR p2 | |
6200 | E2CM = SQRT (dm4**2 + PX4**2 + PY4**2 + PZ4**2) | |
6201 | P2BETA = PX4*BETAX+PY4*BETAY+PZ4*BETAZ | |
6202 | TRANSF = GAMMA * (GAMMA*P2BETA / (GAMMA + 1.) + E2CM) | |
6203 | Pt1I2 = BETAX * TRANSF + PX4 | |
6204 | Pt2I2 = BETAY * TRANSF + PY4 | |
6205 | Pt3I2 = BETAZ * TRANSF + PZ4 | |
6206 | EtI2 = DM4 | |
6207 | lb2=lb(i2) | |
6208 | * assign p1 and p2 to i1 or i2 to keep the leadng particle | |
6209 | * behaviour | |
6210 | C if((pt1i1*px1+pt2i1*py1+pt3i1*pz1).gt.0)then | |
6211 | p(1,i1)=pt1i1 | |
6212 | p(2,i1)=pt2i1 | |
6213 | p(3,i1)=pt3i1 | |
6214 | e(i1)=eti1 | |
6215 | lb(i1)=lb1 | |
6216 | p(1,i2)=pt1i2 | |
6217 | p(2,i2)=pt2i2 | |
6218 | p(3,i2)=pt3i2 | |
6219 | e(i2)=eti2 | |
6220 | lb(i2)=lb2 | |
6221 | PX1 = P(1,I1) | |
6222 | PY1 = P(2,I1) | |
6223 | PZ1 = P(3,I1) | |
6224 | EM1 = E(I1) | |
6225 | ID(I1) = 2 | |
6226 | ID(I2) = 2 | |
6227 | ID1 = ID(I1) | |
6228 | IBLOCK=45 | |
6229 | * GET rho'S MOMENTUM AND COORDINATES IN NUCLEUS-NUCLEUS CMS. FRAME | |
6230 | EPCM=SQRT(EPION(NNN,IRUN)**2+PPX**2+PPY**2+PPZ**2) | |
6231 | PPBETA=PPX*BETAX+PPY*BETAY+PPZ*BETAZ | |
6232 | TRANSF=GAMMA*(GAMMA*PPBETA/(GAMMA+1.)+EPCM) | |
6233 | PPION(1,NNN,IRUN)=BETAX*TRANSF+PPX | |
6234 | PPION(2,NNN,IRUN)=BETAY*TRANSF+PPY | |
6235 | PPION(3,NNN,IRUN)=BETAZ*TRANSF+PPZ | |
6236 | clin-5/2008: | |
6237 | dppion(nnn,irun)=dpertp(i1)*dpertp(i2) | |
6238 | clin-5/2008: | |
6239 | c2005 X01 = 1.0 - 2.0 * RANART(NSEED) | |
6240 | c Y01 = 1.0 - 2.0 * RANART(NSEED) | |
6241 | c Z01 = 1.0 - 2.0 * RANART(NSEED) | |
6242 | c IF ((X01*X01+Y01*Y01+Z01*Z01) .GT. 1.0) GOTO 2005 | |
6243 | c RPION(1,NNN,IRUN)=R(1,I1)+0.5*x01 | |
6244 | c RPION(2,NNN,IRUN)=R(2,I1)+0.5*y01 | |
6245 | c RPION(3,NNN,IRUN)=R(3,I1)+0.5*z01 | |
6246 | RPION(1,NNN,IRUN)=R(1,I1) | |
6247 | RPION(2,NNN,IRUN)=R(2,I1) | |
6248 | RPION(3,NNN,IRUN)=R(3,I1) | |
6249 | c | |
6250 | go to 90005 | |
6251 | * FOR THE NN-->p+p+omega PROCESS, FIND MOMENTUM OF THE FINAL | |
6252 | * PARTICLES IN THE NUCLEUS-NUCLEUS CMS. | |
6253 | 309 CONTINUE | |
6254 | NTRY1=0 | |
6255 | 138 CALL ppomga(SRT,ISEED,PX3,PY3,PZ3,DM3,PX4,PY4,PZ4,DM4, | |
6256 | & PPX,PPY,PPZ,icou1) | |
6257 | NTRY1=NTRY1+1 | |
6258 | if((icou1.lt.0).AND.(NTRY1.LE.20))GO TO 138 | |
6259 | C if(icou1.lt.0)return | |
6260 | * ROTATE THE MOMENTA OF PARTICLES IN THE CMS OF P1+P2 | |
6261 | CALL ROTATE(PX,PY,PZ,PX3,PY3,PZ3) | |
6262 | CALL ROTATE(PX,PY,PZ,PX4,PY4,PZ4) | |
6263 | CALL ROTATE(PX,PY,PZ,PPX,PPY,PPZ) | |
6264 | NNN=NNN+1 | |
6265 | aomega=0.782 | |
6266 | * DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
6267 | * (1) FOR P+P | |
6268 | IF(LB(I1)*LB(I2).EQ.1)THEN | |
6269 | * (1.1)P+P-->P+P+omega(0) | |
6270 | LPION(NNN,IRUN)=28 | |
6271 | EPION(NNN,IRUN)=Aomega | |
6272 | LB(I1)=1 | |
6273 | LB(I2)=1 | |
6274 | GO TO 2053 | |
6275 | ENDIF | |
6276 | * (2)FOR N+N | |
6277 | IF(iabs(LB(I1)).EQ.2.AND.iabs(LB(I2)).EQ.2)THEN | |
6278 | * (2.1)N+N-->N+N+omega(0) | |
6279 | LPION(NNN,IRUN)=28 | |
6280 | EPION(NNN,IRUN)=Aomega | |
6281 | LB(I1)=2 | |
6282 | LB(I2)=2 | |
6283 | GO TO 2053 | |
6284 | ENDIF | |
6285 | * (3)FOR N+P | |
6286 | IF(LB(I1)*LB(I2).EQ.2)THEN | |
6287 | * (3.1)N+P-->N+P+omega(0) | |
6288 | LPION(NNN,IRUN)=28 | |
6289 | EPION(NNN,IRUN)=Aomega | |
6290 | LB(I1)=1 | |
6291 | LB(I2)=2 | |
6292 | GO TO 2053 | |
6293 | ENDIF | |
6294 | * FIND THE MOMENTUM OF PARTICLES IN THE FINAL STATE IN THE NUCLEUS- | |
6295 | * NUCLEUS CMS. FRAME | |
6296 | * LORENTZ-TRANSFORMATION INTO LAB FRAME FOR DELTA1 | |
6297 | 2053 E1CM = SQRT (dm3**2 + PX3**2 + PY3**2 + PZ3**2) | |
6298 | P1BETA = PX3*BETAX + PY3*BETAY + PZ3*BETAZ | |
6299 | TRANSF = GAMMA * ( GAMMA * P1BETA / (GAMMA + 1) + E1CM ) | |
6300 | Pt1i1 = BETAX * TRANSF + PX3 | |
6301 | Pt2i1 = BETAY * TRANSF + PY3 | |
6302 | Pt3i1 = BETAZ * TRANSF + PZ3 | |
6303 | Eti1 = DM3 | |
6304 | if(ianti.eq.1 .and. lb(i1).ge.1 .and. lb(i2).ge.1)then | |
6305 | lb(i1) = -lb(i1) | |
6306 | lb(i2) = -lb(i2) | |
6307 | endif | |
6308 | lb1=lb(i1) | |
6309 | * FOR DELTA2 | |
6310 | E2CM = SQRT (dm4**2 + PX4**2 + PY4**2 + PZ4**2) | |
6311 | P2BETA = PX4*BETAX+PY4*BETAY+PZ4*BETAZ | |
6312 | TRANSF = GAMMA * (GAMMA*P2BETA / (GAMMA + 1.) + E2CM) | |
6313 | Pt1I2 = BETAX * TRANSF + PX4 | |
6314 | Pt2I2 = BETAY * TRANSF + PY4 | |
6315 | Pt3I2 = BETAZ * TRANSF + PZ4 | |
6316 | EtI2 = DM4 | |
6317 | lb2=lb(i2) | |
6318 | * assign delta1 and delta2 to i1 or i2 to keep the leadng particle | |
6319 | * behaviour | |
6320 | C if((pt1i1*px1+pt2i1*py1+pt3i1*pz1).gt.0)then | |
6321 | p(1,i1)=pt1i1 | |
6322 | p(2,i1)=pt2i1 | |
6323 | p(3,i1)=pt3i1 | |
6324 | e(i1)=eti1 | |
6325 | lb(i1)=lb1 | |
6326 | p(1,i2)=pt1i2 | |
6327 | p(2,i2)=pt2i2 | |
6328 | p(3,i2)=pt3i2 | |
6329 | e(i2)=eti2 | |
6330 | lb(i2)=lb2 | |
6331 | PX1 = P(1,I1) | |
6332 | PY1 = P(2,I1) | |
6333 | PZ1 = P(3,I1) | |
6334 | EM1 = E(I1) | |
6335 | ID(I1) = 2 | |
6336 | ID(I2) = 2 | |
6337 | ID1 = ID(I1) | |
6338 | IBLOCK=46 | |
6339 | * GET omega'S MOMENTUM AND COORDINATES IN NUCLEUS-NUCLEUS CMS. FRAME | |
6340 | EPCM=SQRT(EPION(NNN,IRUN)**2+PPX**2+PPY**2+PPZ**2) | |
6341 | PPBETA=PPX*BETAX+PPY*BETAY+PPZ*BETAZ | |
6342 | TRANSF=GAMMA*(GAMMA*PPBETA/(GAMMA+1.)+EPCM) | |
6343 | PPION(1,NNN,IRUN)=BETAX*TRANSF+PPX | |
6344 | PPION(2,NNN,IRUN)=BETAY*TRANSF+PPY | |
6345 | PPION(3,NNN,IRUN)=BETAZ*TRANSF+PPZ | |
6346 | clin-5/2008: | |
6347 | dppion(nnn,irun)=dpertp(i1)*dpertp(i2) | |
6348 | clin-5/2008: | |
6349 | c2006 X01 = 1.0 - 2.0 * RANART(NSEED) | |
6350 | c Y01 = 1.0 - 2.0 * RANART(NSEED) | |
6351 | c Z01 = 1.0 - 2.0 * RANART(NSEED) | |
6352 | c IF ((X01*X01+Y01*Y01+Z01*Z01) .GT. 1.0) GOTO 2006 | |
6353 | c RPION(1,NNN,IRUN)=R(1,I1)+0.5*x01 | |
6354 | c RPION(2,NNN,IRUN)=R(2,I1)+0.5*y01 | |
6355 | c RPION(3,NNN,IRUN)=R(3,I1)+0.5*z01 | |
6356 | RPION(1,NNN,IRUN)=R(1,I1) | |
6357 | RPION(2,NNN,IRUN)=R(2,I1) | |
6358 | RPION(3,NNN,IRUN)=R(3,I1) | |
6359 | c | |
6360 | go to 90005 | |
6361 | * change phase space density FOR NUCLEONS AFTER THE PROCESS | |
6362 | ||
6363 | clin-10/25/02-comment out following, since there is no path to it: | |
6364 | clin-8/16/02 used before set | |
6365 | c IX1,IY1,IZ1,IPX1,IPY1,IPZ1, IX2,IY2,IZ2,IPX2,IPY2,IPZ2: | |
6366 | c if ((abs(ix1).le.mx) .and. (abs(iy1).le.my) .and. | |
6367 | c & (abs(iz1).le.mz)) then | |
6368 | c ipx1p = nint(p(1,i1)/dpx) | |
6369 | c ipy1p = nint(p(2,i1)/dpy) | |
6370 | c ipz1p = nint(p(3,i1)/dpz) | |
6371 | c if ((ipx1p.ne.ipx1) .or. (ipy1p.ne.ipy1) .or. | |
6372 | c & (ipz1p.ne.ipz1)) then | |
6373 | c if ((abs(ipx1).le.mpx) .and. (abs(ipy1).le.my) | |
6374 | c & .and. (ipz1.ge.-mpz) .and. (ipz1.le.mpzp)) | |
6375 | c & f(ix1,iy1,iz1,ipx1,ipy1,ipz1) = | |
6376 | c & f(ix1,iy1,iz1,ipx1,ipy1,ipz1) - 1. | |
6377 | c if ((abs(ipx1p).le.mpx) .and. (abs(ipy1p).le.my) | |
6378 | c & .and. (ipz1p.ge.-mpz).and. (ipz1p.le.mpzp)) | |
6379 | c & f(ix1,iy1,iz1,ipx1p,ipy1p,ipz1p) = | |
6380 | c & f(ix1,iy1,iz1,ipx1p,ipy1p,ipz1p) + 1. | |
6381 | c end if | |
6382 | c end if | |
6383 | c if ((abs(ix2).le.mx) .and. (abs(iy2).le.my) .and. | |
6384 | c & (abs(iz2).le.mz)) then | |
6385 | c ipx2p = nint(p(1,i2)/dpx) | |
6386 | c ipy2p = nint(p(2,i2)/dpy) | |
6387 | c ipz2p = nint(p(3,i2)/dpz) | |
6388 | c if ((ipx2p.ne.ipx2) .or. (ipy2p.ne.ipy2) .or. | |
6389 | c & (ipz2p.ne.ipz2)) then | |
6390 | c if ((abs(ipx2).le.mpx) .and. (abs(ipy2).le.my) | |
6391 | c & .and. (ipz2.ge.-mpz) .and. (ipz2.le.mpzp)) | |
6392 | c & f(ix2,iy2,iz2,ipx2,ipy2,ipz2) = | |
6393 | c & f(ix2,iy2,iz2,ipx2,ipy2,ipz2) - 1. | |
6394 | c if ((abs(ipx2p).le.mpx) .and. (abs(ipy2p).le.my) | |
6395 | c & .and. (ipz2p.ge.-mpz) .and. (ipz2p.le.mpzp)) | |
6396 | c & f(ix2,iy2,iz2,ipx2p,ipy2p,ipz2p) = | |
6397 | c & f(ix2,iy2,iz2,ipx2p,ipy2p,ipz2p) + 1. | |
6398 | c end if | |
6399 | c end if | |
6400 | clin-10/25/02-end | |
6401 | ||
6402 | 90005 continue | |
6403 | RETURN | |
6404 | *----------------------------------------------------------------------- | |
6405 | *COM: SET THE NEW MOMENTUM COORDINATES | |
6406 | 107 IF(PX .EQ. 0.0 .AND. PY .EQ. 0.0) THEN | |
6407 | T2 = 0.0 | |
6408 | ELSE | |
6409 | T2=ATAN2(PY,PX) | |
6410 | END IF | |
6411 | S1 = 1.0 - C1**2 | |
6412 | IF(S1.LE.0)S1=0 | |
6413 | S1=SQRT(S1) | |
6414 | S2 = SQRT( 1.0 - C2**2 ) | |
6415 | CT1 = COS(T1) | |
6416 | ST1 = SIN(T1) | |
6417 | CT2 = COS(T2) | |
6418 | ST2 = SIN(T2) | |
6419 | PZ = PR * ( C1*C2 - S1*S2*CT1 ) | |
6420 | SS = C2 * S1 * CT1 + S2 * C1 | |
6421 | PX = PR * ( SS*CT2 - S1*ST1*ST2 ) | |
6422 | PY = PR * ( SS*ST2 + S1*ST1*CT2 ) | |
6423 | RETURN | |
6424 | END | |
6425 | clin-5/2008 CRNN over | |
6426 | ||
6427 | ********************************** | |
6428 | ********************************** | |
6429 | * * | |
6430 | * * | |
6431 | c | |
6432 | SUBROUTINE CRPP(PX,PY,PZ,SRT,I1,I2,IBLOCK, | |
6433 | &ppel,ppin,spprho,ipp) | |
6434 | * PURPOSE: * | |
6435 | * DEALING WITH PION-PION COLLISIONS * | |
6436 | * NOTE : * | |
6437 | * VALID ONLY FOR PION-PION-DISTANCES LESS THAN 2.5 FM * | |
6438 | * QUANTITIES: * | |
6439 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
6440 | * SRT - SQRT OF S * | |
6441 | * IBLOCK - THE INFORMATION BACK * | |
6442 | * 6-> Meson+Meson elastic | |
6443 | * 66-> Meson+meson-->K+K- | |
6444 | ********************************** | |
6445 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
6446 | 1 AMP=0.93828,AP1=0.13496, | |
6447 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
6448 | PARAMETER (AKA=0.498,aks=0.895) | |
6449 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
6450 | COMMON /AA/ R(3,MAXSTR) | |
6451 | cc SAVE /AA/ | |
6452 | COMMON /BB/ P(3,MAXSTR) | |
6453 | cc SAVE /BB/ | |
6454 | COMMON /CC/ E(MAXSTR) | |
6455 | cc SAVE /CC/ | |
6456 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
6457 | cc SAVE /EE/ | |
6458 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
6459 | cc SAVE /input1/ | |
6460 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
6461 | cc SAVE /ppb1/ | |
6462 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
6463 | cc SAVE /ppmm/ | |
6464 | COMMON/RNDF77/NSEED | |
6465 | cc SAVE /RNDF77/ | |
6466 | SAVE | |
6467 | ||
6468 | lb1i=lb(i1) | |
6469 | lb2i=lb(i2) | |
6470 | ||
6471 | PX0=PX | |
6472 | PY0=PY | |
6473 | PZ0=PZ | |
6474 | iblock=1 | |
6475 | *----------------------------------------------------------------------- | |
6476 | * check Meson+Meson inelastic collisions | |
6477 | clin-9/28/00 | |
6478 | c if((srt.gt.1.).and.(ppin/(ppin+ppel).gt.RANART(NSEED)))then | |
6479 | c iblock=66 | |
6480 | c e(i1)=0.498 | |
6481 | c e(i2)=0.498 | |
6482 | c lb(i1)=21 | |
6483 | c lb(i2)=23 | |
6484 | c go to 10 | |
6485 | clin-11/07/00 | |
6486 | c if(srt.gt.1.and.(ppin/(ppin+ppel)).gt.RANART(NSEED)) then | |
6487 | clin-4/03/02 | |
6488 | if(srt.gt.(2*aka).and.(ppin/(ppin+ppel)).gt.RANART(NSEED)) then | |
6489 | c if(ppin/(ppin+ppel).gt.RANART(NSEED)) then | |
6490 | clin-10/08/00 | |
6491 | ||
6492 | ranpi=RANART(NSEED) | |
6493 | if((pprr/ppin).ge.ranpi) then | |
6494 | ||
6495 | c 1) pi pi <-> rho rho: | |
6496 | call pi2ro2(i1,i2,lbb1,lbb2,ei1,ei2,iblock,iseed) | |
6497 | ||
6498 | clin-4/03/02 eta equilibration: | |
6499 | elseif((pprr+ppee)/ppin.ge.ranpi) then | |
6500 | c 4) pi pi <-> eta eta: | |
6501 | call pi2et2(i1,i2,lbb1,lbb2,ei1,ei2,iblock,iseed) | |
6502 | elseif(((pprr+ppee+pppe)/ppin).ge.ranpi) then | |
6503 | c 5) pi pi <-> pi eta: | |
6504 | call pi3eta(i1,i2,lbb1,lbb2,ei1,ei2,iblock,iseed) | |
6505 | elseif(((pprr+ppee+pppe+rpre)/ppin).ge.ranpi) then | |
6506 | c 6) rho pi <-> pi eta: | |
6507 | call rpiret(i1,i2,lbb1,lbb2,ei1,ei2,iblock,iseed) | |
6508 | elseif(((pprr+ppee+pppe+rpre+xopoe)/ppin).ge.ranpi) then | |
6509 | c 7) omega pi <-> omega eta: | |
6510 | call opioet(i1,i2,lbb1,lbb2,ei1,ei2,iblock,iseed) | |
6511 | elseif(((pprr+ppee+pppe+rpre+xopoe+rree) | |
6512 | 1 /ppin).ge.ranpi) then | |
6513 | c 8) rho rho <-> eta eta: | |
6514 | call ro2et2(i1,i2,lbb1,lbb2,ei1,ei2,iblock,iseed) | |
6515 | clin-4/03/02-end | |
6516 | ||
6517 | c 2) BBbar production: | |
6518 | elseif(((pprr+ppee+pppe+rpre+xopoe+rree+ppinnb)/ppin) | |
6519 | 1 .ge.ranpi) then | |
6520 | ||
6521 | call bbarfs(lbb1,lbb2,ei1,ei2,iblock,iseed) | |
6522 | c 3) KKbar production: | |
6523 | else | |
6524 | iblock=66 | |
6525 | ei1=aka | |
6526 | ei2=aka | |
6527 | lbb1=21 | |
6528 | lbb2=23 | |
6529 | clin-11/07/00 pi rho -> K* Kbar and K*bar K productions: | |
6530 | lb1=lb(i1) | |
6531 | lb2=lb(i2) | |
6532 | clin-2/13/03 include omega the same as rho, eta the same as pi: | |
6533 | c if(((lb1.ge.3.and.lb1.le.5).and.(lb2.ge.25.and.lb2.le.27)) | |
6534 | c 1 .or.((lb2.ge.3.and.lb2.le.5).and.(lb1.ge.25.and.lb1.le.27))) | |
6535 | if( ( (lb1.eq.0.or.(lb1.ge.3.and.lb1.le.5)) | |
6536 | 1 .and.(lb2.ge.25.and.lb2.le.28)) | |
6537 | 2 .or. ( (lb2.eq.0.or.(lb2.ge.3.and.lb2.le.5)) | |
6538 | 3 .and.(lb1.ge.25.and.lb1.le.28))) then | |
6539 | ei1=aks | |
6540 | ei2=aka | |
6541 | if(RANART(NSEED).ge.0.5) then | |
6542 | iblock=366 | |
6543 | lbb1=30 | |
6544 | lbb2=21 | |
6545 | else | |
6546 | iblock=367 | |
6547 | lbb1=-30 | |
6548 | lbb2=23 | |
6549 | endif | |
6550 | endif | |
6551 | clin-11/07/00-end | |
6552 | endif | |
6553 | clin-ppbar-8/25/00 | |
6554 | e(i1)=ei1 | |
6555 | e(i2)=ei2 | |
6556 | lb(i1)=lbb1 | |
6557 | lb(i2)=lbb2 | |
6558 | clin-10/08/00-end | |
6559 | ||
6560 | else | |
6561 | cbzdbg10/15/99 | |
6562 | c.....for meson+meson elastic srt.le.2Mk, if not pi+pi collision return | |
6563 | if ((lb(i1).lt.3.or.lb(i1).gt.5).and. | |
6564 | & (lb(i2).lt.3.or.lb(i2).gt.5)) return | |
6565 | cbzdbg10/15/99 end | |
6566 | ||
6567 | * check Meson+Meson elastic collisions | |
6568 | IBLOCK=6 | |
6569 | * direct process | |
6570 | if(ipp.eq.1.or.ipp.eq.4.or.ipp.eq.6)go to 10 | |
6571 | if(spprho/ppel.gt.RANART(NSEED))go to 20 | |
6572 | endif | |
6573 | 10 NTAG=0 | |
6574 | EM1=E(I1) | |
6575 | EM2=E(I2) | |
6576 | ||
6577 | *----------------------------------------------------------------------- | |
6578 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
6579 | * ENERGY CONSERVATION | |
6580 | PR2 = (SRT**2 - EM1**2 - EM2**2)**2 | |
6581 | 1 - 4.0 * (EM1*EM2)**2 | |
6582 | IF(PR2.LE.0.)PR2=1.e-09 | |
6583 | PR=SQRT(PR2)/(2.*SRT) | |
6584 | C1 = 1.0 - 2.0 * RANART(NSEED) | |
6585 | T1 = 2.0 * PI * RANART(NSEED) | |
6586 | S1 = SQRT( 1.0 - C1**2 ) | |
6587 | CT1 = COS(T1) | |
6588 | ST1 = SIN(T1) | |
6589 | PZ = PR * C1 | |
6590 | PX = PR * S1*CT1 | |
6591 | PY = PR * S1*ST1 | |
6592 | * for isotropic distribution no need to ROTATE THE MOMENTUM | |
6593 | ||
6594 | * ROTATE IT | |
6595 | CALL ROTATE(PX0,PY0,PZ0,PX,PY,PZ) | |
6596 | ||
6597 | RETURN | |
6598 | 20 continue | |
6599 | iblock=666 | |
6600 | * treat rho formation in pion+pion collisions | |
6601 | * calculate the mass and momentum of rho in the nucleus-nucleus frame | |
6602 | call rhores(i1,i2) | |
6603 | if(ipp.eq.2)lb(i1)=27 | |
6604 | if(ipp.eq.3)lb(i1)=26 | |
6605 | if(ipp.eq.5)lb(i1)=25 | |
6606 | return | |
6607 | END | |
6608 | ********************************** | |
6609 | ********************************** | |
6610 | * * | |
6611 | * * | |
6612 | SUBROUTINE CRND(IRUN,PX,PY,PZ,SRT,I1,I2,IBLOCK, | |
6613 | &SIGNN,SIG,sigk,xsk1,xsk2,xsk3,xsk4,xsk5,NT,ipert1) | |
6614 | * PURPOSE: * | |
6615 | * DEALING WITH NUCLEON-BARYON RESONANCE COLLISIONS * | |
6616 | * NOTE : * | |
6617 | * VALID ONLY FOR BARYON-BARYON-DISTANCES LESS THAN 1.32 FM * | |
6618 | * (1.32 = 2 * HARD-CORE-RADIUS [HRC] ) * | |
6619 | * QUANTITIES: * | |
6620 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
6621 | * SRT - SQRT OF S * | |
6622 | * NSTAR =1 INCLUDING N* RESORANCE,ELSE NOT * | |
6623 | * NDIRCT=1 INCLUDING DIRECT PION PRODUCTION PROCESS * | |
6624 | * IBLOCK - THE INFORMATION BACK * | |
6625 | * 0-> COLLISION CANNOT HAPPEN * | |
6626 | * 1-> N-N ELASTIC COLLISION * | |
6627 | * 2-> N+N->N+DELTA,OR N+N->N+N* REACTION * | |
6628 | * 3-> N+DELTA->N+N OR N+N*->N+N REACTION * | |
6629 | * 4-> N+N->N+N+PION,DIRTCT PROCESS * | |
6630 | * N12 - IS USED TO SPECIFY BARYON-BARYON REACTION * | |
6631 | * CHANNELS. M12 IS THE REVERSAL CHANNEL OF N12 * | |
6632 | * N12, * | |
6633 | * M12=1 FOR p+n-->delta(+)+ n * | |
6634 | * 2 p+n-->delta(0)+ p * | |
6635 | * 3 p+p-->delta(++)+n * | |
6636 | * 4 p+p-->delta(+)+p * | |
6637 | * 5 n+n-->delta(0)+n * | |
6638 | * 6 n+n-->delta(-)+p * | |
6639 | * 7 n+p-->N*(0)(1440)+p * | |
6640 | * 8 n+p-->N*(+)(1440)+n * | |
6641 | * 9 p+p-->N*(+)(1535)+p * | |
6642 | * 10 n+n-->N*(0)(1535)+n * | |
6643 | * 11 n+p-->N*(+)(1535)+n * | |
6644 | * 12 n+p-->N*(0)(1535)+p | |
6645 | * 13 D(++)+D(-)-->N*(+)(1440)+n | |
6646 | * 14 D(++)+D(-)-->N*(0)(1440)+p | |
6647 | * 15 D(+)+D(0)--->N*(+)(1440)+n | |
6648 | * 16 D(+)+D(0)--->N*(0)(1440)+p | |
6649 | * 17 D(++)+D(0)-->N*(+)(1535)+p | |
6650 | * 18 D(++)+D(-)-->N*(0)(1535)+p | |
6651 | * 19 D(++)+D(-)-->N*(+)(1535)+n | |
6652 | * 20 D(+)+D(+)-->N*(+)(1535)+p | |
6653 | * 21 D(+)+D(0)-->N*(+)(1535)+n | |
6654 | * 22 D(+)+D(0)-->N*(0)(1535)+p | |
6655 | * 23 D(+)+D(-)-->N*(0)(1535)+n | |
6656 | * 24 D(0)+D(0)-->N*(0)(1535)+n | |
6657 | * 25 N*(+)(14)+N*(+)(14)-->N*(+)(15)+p | |
6658 | * 26 N*(0)(14)+N*(0)(14)-->N*(0)(15)+n | |
6659 | * 27 N*(+)(14)+N*(0)(14)-->N*(+)(15)+n | |
6660 | * 28 N*(+)(14)+N*(0)(14)-->N*(0)(15)+p | |
6661 | * 29 N*(+)(14)+D+-->N*(+)(15)+p | |
6662 | * 30 N*(+)(14)+D0-->N*(+)(15)+n | |
6663 | * 31 N*(+)(14)+D(-)-->N*(0)(1535)+n | |
6664 | * 32 N*(0)(14)+D++--->N*(+)(15)+p | |
6665 | * 33 N*(0)(14)+D+--->N*(+)(15)+n | |
6666 | * 34 N*(0)(14)+D+--->N*(0)(15)+p | |
6667 | * 35 N*(0)(14)+D0-->N*(0)(15)+n | |
6668 | * 36 N*(+)(14)+D0--->N*(0)(15)+p | |
6669 | * ++ see the note book for more listing | |
6670 | ********************************** | |
6671 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
6672 | 1 AMP=0.93828,AP1=0.13496,AKA=0.498,APHI=1.020, | |
6673 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
6674 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
6675 | parameter (xmd=1.8756,npdmax=10000) | |
6676 | COMMON /AA/ R(3,MAXSTR) | |
6677 | cc SAVE /AA/ | |
6678 | COMMON /BB/ P(3,MAXSTR) | |
6679 | cc SAVE /BB/ | |
6680 | COMMON /CC/ E(MAXSTR) | |
6681 | cc SAVE /CC/ | |
6682 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
6683 | cc SAVE /EE/ | |
6684 | common /ff/f(-mx:mx,-my:my,-mz:mz,-mpx:mpx,-mpy:mpy,-mpz:mpzp) | |
6685 | cc SAVE /ff/ | |
6686 | common /gg/ dx,dy,dz,dpx,dpy,dpz | |
6687 | cc SAVE /gg/ | |
6688 | COMMON /INPUT/ NSTAR,NDIRCT,DIR | |
6689 | cc SAVE /INPUT/ | |
6690 | COMMON /NN/NNN | |
6691 | cc SAVE /NN/ | |
6692 | COMMON /BG/BETAX,BETAY,BETAZ,GAMMA | |
6693 | cc SAVE /BG/ | |
6694 | COMMON /RUN/NUM | |
6695 | cc SAVE /RUN/ | |
6696 | COMMON /PA/RPION(3,MAXSTR,MAXR) | |
6697 | cc SAVE /PA/ | |
6698 | COMMON /PB/PPION(3,MAXSTR,MAXR) | |
6699 | cc SAVE /PB/ | |
6700 | COMMON /PC/EPION(MAXSTR,MAXR) | |
6701 | cc SAVE /PC/ | |
6702 | COMMON /PD/LPION(MAXSTR,MAXR) | |
6703 | cc SAVE /PD/ | |
6704 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
6705 | cc SAVE /input1/ | |
6706 | common/leadng/lb1,px1,py1,pz1,em1,e1,xfnl,yfnl,zfnl,tfnl, | |
6707 | 1 px1n,py1n,pz1n,dp1n | |
6708 | cc SAVE /leadng/ | |
6709 | COMMON/RNDF77/NSEED | |
6710 | cc SAVE /RNDF77/ | |
6711 | COMMON /dpert/dpertt(MAXSTR,MAXR),dpertp(MAXSTR),dplast(MAXSTR), | |
6712 | 1 dpdcy(MAXSTR),dpdpi(MAXSTR,MAXR),dpt(MAXSTR, MAXR), | |
6713 | 2 dpp1(MAXSTR,MAXR),dppion(MAXSTR,MAXR) | |
6714 | common /dpi/em2,lb2 | |
6715 | common /para8/ idpert,npertd,idxsec | |
6716 | dimension ppd(3,npdmax),lbpd(npdmax) | |
6717 | SAVE | |
6718 | *----------------------------------------------------------------------- | |
6719 | n12=0 | |
6720 | m12=0 | |
6721 | IBLOCK=0 | |
6722 | NTAG=0 | |
6723 | EM1=E(I1) | |
6724 | EM2=E(I2) | |
6725 | PR = SQRT( PX**2 + PY**2 + PZ**2 ) | |
6726 | C2 = PZ / PR | |
6727 | X1 = RANART(NSEED) | |
6728 | ianti=0 | |
6729 | if(lb(i1).lt.0 .and. lb(i2).lt.0)ianti=1 | |
6730 | ||
6731 | clin-6/2008 Production of perturbative deuterons for idpert=1: | |
6732 | call sbbdm(srt,sdprod,ianti,lbm,xmm,pfinal) | |
6733 | if(idpert.eq.1.and.ipert1.eq.1) then | |
6734 | IF (SRT .LT. 2.012) RETURN | |
6735 | if((iabs(lb(i1)).eq.1.or.iabs(lb(i1)).eq.2) | |
6736 | 1 .and.(iabs(lb(i2)).ge.6.and.iabs(lb(i2)).le.13)) then | |
6737 | goto 108 | |
6738 | elseif((iabs(lb(i2)).eq.1.or.iabs(lb(i2)).eq.2) | |
6739 | 1 .and.(iabs(lb(i1)).ge.6.and.iabs(lb(i1)).le.13)) then | |
6740 | goto 108 | |
6741 | else | |
6742 | return | |
6743 | endif | |
6744 | endif | |
6745 | *----------------------------------------------------------------------- | |
6746 | *COM: TEST FOR ELASTIC SCATTERING (EITHER N-N OR DELTA-DELTA 0R | |
6747 | * N-DELTA OR N*-N* or N*-Delta) | |
6748 | IF (X1 .LE. SIGNN/SIG) THEN | |
6749 | *COM: PARAMETRISATION IS TAKEN FROM THE CUGNON-PAPER | |
6750 | AS = ( 3.65 * (SRT - 1.8766) )**6 | |
6751 | A = 6.0 * AS / (1.0 + AS) | |
6752 | TA = -2.0 * PR**2 | |
6753 | X = RANART(NSEED) | |
6754 | clin-10/24/02 T1 = ALOG( (1-X) * DEXP(dble(A)*dble(TA)) + X ) / A | |
6755 | T1 = sngl(DLOG(dble(1.-X)*DEXP(dble(A)*dble(TA))+dble(X)))/ A | |
6756 | C1 = 1.0 - T1/TA | |
6757 | T1 = 2.0 * PI * RANART(NSEED) | |
6758 | IBLOCK=1 | |
6759 | GO TO 107 | |
6760 | ELSE | |
6761 | *COM: TEST FOR INELASTIC SCATTERING | |
6762 | * IF THE AVAILABLE ENERGY IS LESS THAN THE PION-MASS, NOTHING | |
6763 | * CAN HAPPEN ANY MORE ==> RETURN (2.04 = 2*AVMASS + PI-MASS+0.02) | |
6764 | IF (SRT .LT. 2.04) RETURN | |
6765 | clin-6/2008 add d+meson production for n*N*(0)(1440) and p*N*(+)(1440) channels | |
6766 | c (they did not have any inelastic reactions before): | |
6767 | if(((iabs(LB(I1)).EQ.2.or.iabs(LB(I2)).EQ.2).AND. | |
6768 | 1 (LB(I1)*LB(I2)).EQ.20).or.(LB(I1)*LB(I2)).EQ.13) then | |
6769 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
6770 | ENDIF | |
6771 | c | |
6772 | * Resonance absorption or Delta + N-->N*(1440), N*(1535) | |
6773 | * COM: TEST FOR DELTA OR N* ABSORPTION | |
6774 | * IN THE PROCESS DELTA+N-->NN, N*+N-->NN | |
6775 | PRF=SQRT(0.25*SRT**2-AVMASS**2) | |
6776 | IF(EM1.GT.1.)THEN | |
6777 | DELTAM=EM1 | |
6778 | ELSE | |
6779 | DELTAM=EM2 | |
6780 | ENDIF | |
6781 | RENOM=DELTAM*PRF**2/DENOM(SRT,1.)/PR | |
6782 | RENOMN=DELTAM*PRF**2/DENOM(SRT,2.)/PR | |
6783 | RENOM1=DELTAM*PRF**2/DENOM(SRT,-1.)/PR | |
6784 | * avoid the inelastic collisions between n+delta- -->N+N | |
6785 | * and p+delta++ -->N+N due to charge conservation, | |
6786 | * but they can scatter to produce kaons | |
6787 | if((iabs(lb(i1)).eq.2).and.(iabs(lb(i2)).eq.6)) renom=0. | |
6788 | if((iabs(lb(i2)).eq.2).and.(iabs(lb(i1)).eq.6)) renom=0. | |
6789 | if((iabs(lb(i1)).eq.1).and.(iabs(lb(i2)).eq.9)) renom=0. | |
6790 | if((iabs(lb(i2)).eq.1).and.(iabs(lb(i1)).eq.9)) renom=0. | |
6791 | Call M1535(iabs(lb(i1)),iabs(lb(i2)),srt,x1535) | |
6792 | X1440=(3./4.)*SIGMA(SRT,2,0,1) | |
6793 | * CROSS SECTION FOR KAON PRODUCTION from the four channels | |
6794 | * for NLK channel | |
6795 | * avoid the inelastic collisions between n+delta- -->N+N | |
6796 | * and p+delta++ -->N+N due to charge conservation, | |
6797 | * but they can scatter to produce kaons | |
6798 | if(((iabs(lb(i1)).eq.2).and.(iabs(lb(i2)).eq.6)).OR. | |
6799 | & ((iabs(lb(i2)).eq.2).and.(iabs(lb(i1)).eq.6)).OR. | |
6800 | & ((iabs(lb(i1)).eq.1).and.(iabs(lb(i2)).eq.9)).OR. | |
6801 | & ((iabs(lb(i2)).eq.1).and.(iabs(lb(i1)).eq.9)))THEN | |
6802 | clin-6/2008 | |
6803 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
6804 | c IF((SIGK+SIGNN)/SIG.GE.X1)GO TO 306 | |
6805 | IF((SIGK+SIGNN+sdprod)/SIG.GE.X1)GO TO 306 | |
6806 | c | |
6807 | ENDIF | |
6808 | * WE DETERMINE THE REACTION CHANNELS IN THE FOLLOWING | |
6809 | * FOR n+delta(++)-->p+p or n+delta(++)-->n+N*(+)(1440),n+N*(+)(1535) | |
6810 | * REABSORPTION OR N*(1535) PRODUCTION LIKE IN P+P OR N*(1440) LIKE PN, | |
6811 | IF(LB(I1)*LB(I2).EQ.18.AND. | |
6812 | & (iabs(LB(I1)).EQ.2.OR.iabs(LB(I2)).EQ.2))then | |
6813 | SIGND=SIGMA(SRT,1,1,0)+0.5*SIGMA(SRT,1,1,1) | |
6814 | SIGDN=0.25*SIGND*RENOM | |
6815 | clin-6/2008 | |
6816 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
6817 | c IF(X1.GT.(SIGNN+SIGDN+X1440+X1535+SIGK)/SIG)RETURN | |
6818 | IF(X1.GT.(SIGNN+SIGDN+X1440+X1535+SIGK+sdprod)/SIG)RETURN | |
6819 | c | |
6820 | IF(SIGK/(SIGK+SIGDN+X1440+X1535).GT.RANART(NSEED))GO TO 306 | |
6821 | * REABSORPTION: | |
6822 | IF(RANART(NSEED).LT.SIGDN/(SIGDN+X1440+X1535))THEN | |
6823 | M12=3 | |
6824 | GO TO 206 | |
6825 | ELSE | |
6826 | * N* PRODUCTION | |
6827 | IF(RANART(NSEED).LT.X1440/(X1440+X1535))THEN | |
6828 | * N*(1440) | |
6829 | M12=37 | |
6830 | ELSE | |
6831 | * N*(1535) M12=38 | |
6832 | clin-2/26/03 why is the above commented out? leads to M12=0 but | |
6833 | c particle mass is changed after 204 (causes energy violation). | |
6834 | c replace by elastic process (return): | |
6835 | return | |
6836 | ||
6837 | ENDIF | |
6838 | GO TO 204 | |
6839 | ENDIF | |
6840 | ENDIF | |
6841 | * FOR p+delta(-)-->n+n or p+delta(-)-->n+N*(0)(1440),n+N*(0)(1535) | |
6842 | * REABSORPTION OR N*(1535) PRODUCTION LIKE IN P+P OR N*(1440) LIKE PN, | |
6843 | IF(LB(I1)*LB(I2).EQ.6.AND. | |
6844 | & ((iabs(LB(I1)).EQ.1).OR.(iabs(LB(I2)).EQ.1)))then | |
6845 | SIGND=SIGMA(SRT,1,1,0)+0.5*SIGMA(SRT,1,1,1) | |
6846 | SIGDN=0.25*SIGND*RENOM | |
6847 | clin-6/2008 | |
6848 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
6849 | c IF (X1.GT.(SIGNN+SIGDN+X1440+X1535+SIGK)/SIG)RETURN | |
6850 | IF (X1.GT.(SIGNN+SIGDN+X1440+X1535+SIGK+sdprod)/SIG)RETURN | |
6851 | c | |
6852 | IF(SIGK/(SIGK+SIGDN+X1440+X1535).GT.RANART(NSEED))GO TO 306 | |
6853 | * REABSORPTION: | |
6854 | IF(RANART(NSEED).LT.SIGDN/(SIGDN+X1440+X1535))THEN | |
6855 | M12=6 | |
6856 | GO TO 206 | |
6857 | ELSE | |
6858 | * N* PRODUCTION | |
6859 | IF(RANART(NSEED).LT.X1440/(X1440+X1535))THEN | |
6860 | * N*(1440) | |
6861 | M12=47 | |
6862 | ELSE | |
6863 | * N*(1535) M12=48 | |
6864 | clin-2/26/03 causes energy violation, replace by elastic process (return): | |
6865 | return | |
6866 | ||
6867 | ENDIF | |
6868 | GO TO 204 | |
6869 | ENDIF | |
6870 | ENDIF | |
6871 | * FOR p+delta(+)-->p+p, N*(+)(144)+p, N*(+)(1535)+p | |
6872 | IF(LB(I1)*LB(I2).EQ.8.AND. | |
6873 | & (iabs(LB(I1)).EQ.1.OR.iabs(LB(I2)).EQ.1))THEN | |
6874 | SIGND=1.5*SIGMA(SRT,1,1,1) | |
6875 | SIGDN=0.25*SIGND*RENOM | |
6876 | clin-6/2008 | |
6877 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
6878 | c IF(X1.GT.(SIGNN+SIGDN+x1440+x1535+SIGK)/SIG)RETURN | |
6879 | IF(X1.GT.(SIGNN+SIGDN+x1440+x1535+SIGK+sdprod)/SIG)RETURN | |
6880 | c | |
6881 | IF(SIGK/(SIGK+SIGDN+X1440+X1535).GT.RANART(NSEED))GO TO 306 | |
6882 | IF(RANART(NSEED).LT.SIGDN/(SIGDN+X1440+X1535))THEN | |
6883 | M12=4 | |
6884 | GO TO 206 | |
6885 | ELSE | |
6886 | IF(RANART(NSEED).LT.X1440/(X1440+X1535))THEN | |
6887 | * N*(144) | |
6888 | M12=39 | |
6889 | ELSE | |
6890 | M12=40 | |
6891 | ENDIF | |
6892 | GO TO 204 | |
6893 | ENDIF | |
6894 | ENDIF | |
6895 | * FOR n+delta(0)-->n+n, N*(0)(144)+n, N*(0)(1535)+n | |
6896 | IF(LB(I1)*LB(I2).EQ.14.AND. | |
6897 | & (iabs(LB(I1)).EQ.2.OR.iabs(LB(I2)).EQ.2))THEN | |
6898 | SIGND=1.5*SIGMA(SRT,1,1,1) | |
6899 | SIGDN=0.25*SIGND*RENOM | |
6900 | clin-6/2008 | |
6901 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
6902 | c IF(X1.GT.(SIGNN+SIGDN+x1440+x1535+SIGK)/SIG)RETURN | |
6903 | IF(X1.GT.(SIGNN+SIGDN+x1440+x1535+SIGK+sdprod)/SIG)RETURN | |
6904 | c | |
6905 | IF(SIGK/(SIGK+SIGDN+X1440+X1535).GT.RANART(NSEED))GO TO 306 | |
6906 | IF(RANART(NSEED).LT.SIGDN/(SIGDN+X1440+X1535))THEN | |
6907 | M12=5 | |
6908 | GO TO 206 | |
6909 | ELSE | |
6910 | IF(RANART(NSEED).LT.X1440/(X1440+X1535))THEN | |
6911 | * N*(144) | |
6912 | M12=48 | |
6913 | ELSE | |
6914 | M12=49 | |
6915 | ENDIF | |
6916 | GO TO 204 | |
6917 | ENDIF | |
6918 | ENDIF | |
6919 | * FOR n+delta(+)-->n+p, N*(+)(1440)+n,N*(0)(1440)+p, | |
6920 | * N*(+)(1535)+n,N*(0)(1535)+p | |
6921 | IF(LB(I1)*LB(I2).EQ.16.AND. | |
6922 | & (iabs(LB(I1)).EQ.2.OR.iabs(LB(I2)).EQ.2))THEN | |
6923 | SIGND=0.5*SIGMA(SRT,1,1,1)+0.25*SIGMA(SRT,1,1,0) | |
6924 | SIGDN=0.5*SIGND*RENOM | |
6925 | clin-6/2008 | |
6926 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
6927 | c IF(X1.GT.(SIGNN+SIGDN+2.*x1440+2.*x1535+SIGK)/SIG)RETURN | |
6928 | IF(X1.GT.(SIGNN+SIGDN+2.*x1440+2.*x1535+SIGK+sdprod)/SIG)RETURN | |
6929 | c | |
6930 | IF(SIGK/(SIGK+SIGDN+2*X1440+2*X1535).GT.RANART(NSEED))GO TO 306 | |
6931 | IF(RANART(NSEED).LT.SIGDN/(SIGDN+2.*X1440+2.*X1535))THEN | |
6932 | M12=1 | |
6933 | GO TO 206 | |
6934 | ELSE | |
6935 | IF(RANART(NSEED).LT.X1440/(X1440+X1535))THEN | |
6936 | M12=41 | |
6937 | IF(RANART(NSEED).LE.0.5)M12=43 | |
6938 | ELSE | |
6939 | M12=42 | |
6940 | IF(RANART(NSEED).LE.0.5)M12=44 | |
6941 | ENDIF | |
6942 | GO TO 204 | |
6943 | ENDIF | |
6944 | ENDIF | |
6945 | * FOR p+delta(0)-->n+p, N*(+)(1440)+n,N*(0)(1440)+p, | |
6946 | * N*(+)(1535)+n,N*(0)(1535)+p | |
6947 | IF(LB(I1)*LB(I2).EQ.7)THEN | |
6948 | SIGND=0.5*SIGMA(SRT,1,1,1)+0.25*SIGMA(SRT,1,1,0) | |
6949 | SIGDN=0.5*SIGND*RENOM | |
6950 | clin-6/2008 | |
6951 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
6952 | c IF(X1.GT.(SIGNN+SIGDN+2.*x1440+2.*x1535+SIGK)/SIG)RETURN | |
6953 | IF(X1.GT.(SIGNN+SIGDN+2.*x1440+2.*x1535+SIGK+sdprod)/SIG)RETURN | |
6954 | c | |
6955 | IF(SIGK/(SIGK+SIGDN+2*X1440+2*X1535).GT.RANART(NSEED))GO TO 306 | |
6956 | IF(RANART(NSEED).LT.SIGDN/(SIGDN+2.*X1440+2.*X1535))THEN | |
6957 | M12=2 | |
6958 | GO TO 206 | |
6959 | ELSE | |
6960 | IF(RANART(NSEED).LT.X1440/(X1440+X1535))THEN | |
6961 | M12=50 | |
6962 | IF(RANART(NSEED).LE.0.5)M12=51 | |
6963 | ELSE | |
6964 | M12=52 | |
6965 | IF(RANART(NSEED).LE.0.5)M12=53 | |
6966 | ENDIF | |
6967 | GO TO 204 | |
6968 | ENDIF | |
6969 | ENDIF | |
6970 | * FOR p+N*(0)(14)-->p+n, N*(+)(1535)+n,N*(0)(1535)+p | |
6971 | * OR P+N*(0)(14)-->D(+)+N, D(0)+P, | |
6972 | IF(LB(I1)*LB(I2).EQ.10.AND. | |
6973 | & (iabs(LB(I1)).EQ.1.OR.iabs(LB(I2)).EQ.1))then | |
6974 | SIGND=(3./4.)*SIGMA(SRT,2,0,1) | |
6975 | SIGDN=SIGND*RENOMN | |
6976 | clin-6/2008 | |
6977 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
6978 | c IF(X1.GT.(SIGNN+SIGDN+X1535+SIGK)/SIG)RETURN | |
6979 | IF(X1.GT.(SIGNN+SIGDN+X1535+SIGK+sdprod)/SIG)RETURN | |
6980 | c | |
6981 | IF(SIGK/(SIGK+SIGDN+X1535).GT.RANART(NSEED))GO TO 306 | |
6982 | IF(RANART(NSEED).LT.SIGDN/(SIGDN+X1535))THEN | |
6983 | M12=7 | |
6984 | GO TO 206 | |
6985 | ELSE | |
6986 | M12=54 | |
6987 | IF(RANART(NSEED).LE.0.5)M12=55 | |
6988 | ENDIF | |
6989 | GO TO 204 | |
6990 | ENDIF | |
6991 | * FOR n+N*(+)-->p+n, N*(+)(1535)+n,N*(0)(1535)+p | |
6992 | IF(LB(I1)*LB(I2).EQ.22.AND. | |
6993 | & (iabs(LB(I1)).EQ.2.OR.iabs(LB(I2)).EQ.2))then | |
6994 | SIGND=(3./4.)*SIGMA(SRT,2,0,1) | |
6995 | SIGDN=SIGND*RENOMN | |
6996 | clin-6/2008 | |
6997 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
6998 | c IF(X1.GT.(SIGNN+SIGDN+X1535+SIGK)/SIG)RETURN | |
6999 | IF(X1.GT.(SIGNN+SIGDN+X1535+SIGK+sdprod)/SIG)RETURN | |
7000 | c | |
7001 | IF(SIGK/(SIGK+SIGDN+X1535).GT.RANART(NSEED))GO TO 306 | |
7002 | IF(RANART(NSEED).LT.SIGDN/(SIGDN+X1535))THEN | |
7003 | M12=8 | |
7004 | GO TO 206 | |
7005 | ELSE | |
7006 | M12=56 | |
7007 | IF(RANART(NSEED).LE.0.5)M12=57 | |
7008 | ENDIF | |
7009 | GO TO 204 | |
7010 | ENDIF | |
7011 | * FOR N*(1535)+N-->N+N COLLISIONS | |
7012 | IF((iabs(LB(I1)).EQ.12).OR.(iabs(LB(I1)).EQ.13).OR. | |
7013 | 1 (iabs(LB(I2)).EQ.12).OR.(iabs(LB(I2)).EQ.13))THEN | |
7014 | SIGND=X1535 | |
7015 | SIGDN=SIGND*RENOM1 | |
7016 | clin-6/2008 | |
7017 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
7018 | c IF(X1.GT.(SIGNN+SIGDN+SIGK)/SIG)RETURN | |
7019 | IF(X1.GT.(SIGNN+SIGDN+SIGK+sdprod)/SIG)RETURN | |
7020 | c | |
7021 | IF(SIGK/(SIGK+SIGDN).GT.RANART(NSEED))GO TO 306 | |
7022 | IF(LB(I1)*LB(I2).EQ.24)M12=10 | |
7023 | IF(LB(I1)*LB(I2).EQ.12)M12=12 | |
7024 | IF(LB(I1)*LB(I2).EQ.26)M12=11 | |
7025 | IF(LB(I1)*LB(I2).EQ.13)M12=9 | |
7026 | GO TO 206 | |
7027 | ENDIF | |
7028 | 204 CONTINUE | |
7029 | * (1) GENERATE THE MASS FOR THE N*(1440) AND N*(1535) | |
7030 | * (2) CALCULATE THE FINAL MOMENTUM OF THE n+N* SYSTEM | |
7031 | * (3) RELABLE THE FINAL STATE PARTICLES | |
7032 | *PARAMETRIZATION OF THE SHAPE OF THE N* RESONANCE ACCORDING | |
7033 | * TO kitazoe's or J.D.JACKSON'S MASS FORMULA AND BREIT WIGNER | |
7034 | * FORMULA FOR N* RESORANCE | |
7035 | * DETERMINE DELTA MASS VIA REJECTION METHOD. | |
7036 | DMAX = SRT - AVMASS-0.005 | |
7037 | DMIN = 1.078 | |
7038 | IF((M12.eq.37).or.(M12.eq.39).or. | |
7039 | 1 (M12.eQ.41).OR.(M12.eQ.43).OR.(M12.EQ.46). | |
7040 | 2 OR.(M12.EQ.48).OR.(M12.EQ.50).OR.(M12.EQ.51))then | |
7041 | * N*(1440) production | |
7042 | IF(DMAX.LT.1.44) THEN | |
7043 | FM=FNS(DMAX,SRT,0.) | |
7044 | ELSE | |
7045 | ||
7046 | clin-10/25/02 get rid of argument usage mismatch in FNS(): | |
7047 | xdmass=1.44 | |
7048 | c FM=FNS(1.44,SRT,1.) | |
7049 | FM=FNS(xdmass,SRT,1.) | |
7050 | clin-10/25/02-end | |
7051 | ||
7052 | ENDIF | |
7053 | IF(FM.EQ.0.)FM=1.E-09 | |
7054 | NTRY2=0 | |
7055 | 11 DM=RANART(NSEED)*(DMAX-DMIN)+DMIN | |
7056 | NTRY2=NTRY2+1 | |
7057 | IF((RANART(NSEED).GT.FNS(DM,SRT,1.)/FM).AND. | |
7058 | 1 (NTRY2.LE.10)) GO TO 11 | |
7059 | ||
7060 | clin-2/26/03 limit the N* mass below a certain value | |
7061 | c (here taken as its central value + 2* B-W fullwidth): | |
7062 | if(dm.gt.2.14) goto 11 | |
7063 | ||
7064 | GO TO 13 | |
7065 | ELSE | |
7066 | * N*(1535) production | |
7067 | IF(DMAX.LT.1.535) THEN | |
7068 | FM=FD5(DMAX,SRT,0.) | |
7069 | ELSE | |
7070 | ||
7071 | clin-10/25/02 get rid of argument usage mismatch in FNS(): | |
7072 | xdmass=1.535 | |
7073 | c FM=FD5(1.535,SRT,1.) | |
7074 | FM=FD5(xdmass,SRT,1.) | |
7075 | clin-10/25/02-end | |
7076 | ||
7077 | ENDIF | |
7078 | IF(FM.EQ.0.)FM=1.E-09 | |
7079 | NTRY1=0 | |
7080 | 12 DM = RANART(NSEED) * (DMAX-DMIN) + DMIN | |
7081 | NTRY1=NTRY1+1 | |
7082 | IF((RANART(NSEED) .GT. FD5(DM,SRT,1.)/FM).AND. | |
7083 | 1 (NTRY1.LE.10)) GOTO 12 | |
7084 | ||
7085 | clin-2/26/03 limit the N* mass below a certain value | |
7086 | c (here taken as its central value + 2* B-W fullwidth): | |
7087 | if(dm.gt.1.84) goto 12 | |
7088 | ||
7089 | ENDIF | |
7090 | 13 CONTINUE | |
7091 | * (2) DETERMINE THE FINAL MOMENTUM | |
7092 | PRF=0. | |
7093 | PF2=((SRT**2-DM**2+AVMASS**2)/(2.*SRT))**2-AVMASS**2 | |
7094 | IF(PF2.GT.0.)PRF=SQRT(PF2) | |
7095 | * (3) RELABLE FINAL STATE PARTICLES | |
7096 | * 37 D(++)+n-->N*(+)(14)+p | |
7097 | IF(M12.EQ.37)THEN | |
7098 | IF(iabs(LB(I1)).EQ.9)THEN | |
7099 | LB(I1)=1 | |
7100 | E(I1)=AMP | |
7101 | LB(I2)=11 | |
7102 | E(I2)=DM | |
7103 | ELSE | |
7104 | LB(I2)=1 | |
7105 | E(I2)=AMP | |
7106 | LB(I1)=11 | |
7107 | E(I1)=DM | |
7108 | ENDIF | |
7109 | GO TO 207 | |
7110 | ENDIF | |
7111 | * 38 D(++)+n-->N*(+)(15)+p | |
7112 | IF(M12.EQ.38)THEN | |
7113 | IF(iabs(LB(I1)).EQ.9)THEN | |
7114 | LB(I1)=1 | |
7115 | E(I1)=AMP | |
7116 | LB(I2)=13 | |
7117 | E(I2)=DM | |
7118 | ELSE | |
7119 | LB(I2)=1 | |
7120 | E(I2)=AMP | |
7121 | LB(I1)=13 | |
7122 | E(I1)=DM | |
7123 | ENDIF | |
7124 | GO TO 207 | |
7125 | ENDIF | |
7126 | * 39 D(+)+P-->N*(+)(14)+p | |
7127 | IF(M12.EQ.39)THEN | |
7128 | IF(iabs(LB(I1)).EQ.8)THEN | |
7129 | LB(I1)=1 | |
7130 | E(I1)=AMP | |
7131 | LB(I2)=11 | |
7132 | E(I2)=DM | |
7133 | ELSE | |
7134 | LB(I2)=1 | |
7135 | E(I2)=AMP | |
7136 | LB(I1)=11 | |
7137 | E(I1)=DM | |
7138 | ENDIF | |
7139 | GO TO 207 | |
7140 | ENDIF | |
7141 | * 40 D(+)+P-->N*(+)(15)+p | |
7142 | IF(M12.EQ.40)THEN | |
7143 | IF(iabs(LB(I1)).EQ.8)THEN | |
7144 | LB(I1)=1 | |
7145 | E(I1)=AMP | |
7146 | LB(I2)=13 | |
7147 | E(I2)=DM | |
7148 | ELSE | |
7149 | LB(I2)=1 | |
7150 | E(I2)=AMP | |
7151 | LB(I1)=13 | |
7152 | E(I1)=DM | |
7153 | ENDIF | |
7154 | GO TO 207 | |
7155 | ENDIF | |
7156 | * 41 D(+)+N-->N*(+)(14)+N | |
7157 | IF(M12.EQ.41)THEN | |
7158 | IF(iabs(LB(I1)).EQ.8)THEN | |
7159 | LB(I1)=2 | |
7160 | E(I1)=AMN | |
7161 | LB(I2)=11 | |
7162 | E(I2)=DM | |
7163 | ELSE | |
7164 | LB(I2)=2 | |
7165 | E(I2)=AMN | |
7166 | LB(I1)=11 | |
7167 | E(I1)=DM | |
7168 | ENDIF | |
7169 | GO TO 207 | |
7170 | ENDIF | |
7171 | * 42 D(+)+N-->N*(+)(15)+N | |
7172 | IF(M12.EQ.42)THEN | |
7173 | IF(iabs(LB(I1)).EQ.8)THEN | |
7174 | LB(I1)=2 | |
7175 | E(I1)=AMN | |
7176 | LB(I2)=13 | |
7177 | E(I2)=DM | |
7178 | ELSE | |
7179 | LB(I2)=2 | |
7180 | E(I2)=AMN | |
7181 | LB(I1)=13 | |
7182 | E(I1)=DM | |
7183 | ENDIF | |
7184 | GO TO 207 | |
7185 | ENDIF | |
7186 | * 43 D(+)+N-->N*(0)(14)+P | |
7187 | IF(M12.EQ.43)THEN | |
7188 | IF(iabs(LB(I1)).EQ.8)THEN | |
7189 | LB(I1)=1 | |
7190 | E(I1)=AMP | |
7191 | LB(I2)=10 | |
7192 | E(I2)=DM | |
7193 | ELSE | |
7194 | LB(I2)=1 | |
7195 | E(I2)=AMP | |
7196 | LB(I1)=10 | |
7197 | E(I1)=DM | |
7198 | ENDIF | |
7199 | GO TO 207 | |
7200 | ENDIF | |
7201 | * 44 D(+)+N-->N*(0)(15)+P | |
7202 | IF(M12.EQ.44)THEN | |
7203 | IF(iabs(LB(I1)).EQ.8)THEN | |
7204 | LB(I1)=1 | |
7205 | E(I1)=AMP | |
7206 | LB(I2)=12 | |
7207 | E(I2)=DM | |
7208 | ELSE | |
7209 | LB(I2)=1 | |
7210 | E(I2)=AMP | |
7211 | LB(I1)=12 | |
7212 | E(I1)=DM | |
7213 | ENDIF | |
7214 | GO TO 207 | |
7215 | ENDIF | |
7216 | * 46 D(-)+P-->N*(0)(14)+N | |
7217 | IF(M12.EQ.46)THEN | |
7218 | IF(iabs(LB(I1)).EQ.6)THEN | |
7219 | LB(I1)=2 | |
7220 | E(I1)=AMN | |
7221 | LB(I2)=10 | |
7222 | E(I2)=DM | |
7223 | ELSE | |
7224 | LB(I2)=2 | |
7225 | E(I2)=AMN | |
7226 | LB(I1)=10 | |
7227 | E(I1)=DM | |
7228 | ENDIF | |
7229 | GO TO 207 | |
7230 | ENDIF | |
7231 | * 47 D(-)+P-->N*(0)(15)+N | |
7232 | IF(M12.EQ.47)THEN | |
7233 | IF(iabs(LB(I1)).EQ.6)THEN | |
7234 | LB(I1)=2 | |
7235 | E(I1)=AMN | |
7236 | LB(I2)=12 | |
7237 | E(I2)=DM | |
7238 | ELSE | |
7239 | LB(I2)=2 | |
7240 | E(I2)=AMN | |
7241 | LB(I1)=12 | |
7242 | E(I1)=DM | |
7243 | ENDIF | |
7244 | GO TO 207 | |
7245 | ENDIF | |
7246 | * 48 D(0)+N-->N*(0)(14)+N | |
7247 | IF(M12.EQ.48)THEN | |
7248 | IF(iabs(LB(I1)).EQ.7)THEN | |
7249 | LB(I1)=2 | |
7250 | E(I1)=AMN | |
7251 | LB(I2)=11 | |
7252 | E(I2)=DM | |
7253 | ELSE | |
7254 | LB(I2)=2 | |
7255 | E(I2)=AMN | |
7256 | LB(I1)=11 | |
7257 | E(I1)=DM | |
7258 | ENDIF | |
7259 | GO TO 207 | |
7260 | ENDIF | |
7261 | * 49 D(0)+N-->N*(0)(15)+N | |
7262 | IF(M12.EQ.49)THEN | |
7263 | IF(iabs(LB(I1)).EQ.7)THEN | |
7264 | LB(I1)=2 | |
7265 | E(I1)=AMN | |
7266 | LB(I2)=12 | |
7267 | E(I2)=DM | |
7268 | ELSE | |
7269 | LB(I2)=2 | |
7270 | E(I2)=AMN | |
7271 | LB(I1)=12 | |
7272 | E(I1)=DM | |
7273 | ENDIF | |
7274 | GO TO 207 | |
7275 | ENDIF | |
7276 | * 50 D(0)+P-->N*(0)(14)+P | |
7277 | IF(M12.EQ.50)THEN | |
7278 | IF(iabs(LB(I1)).EQ.7)THEN | |
7279 | LB(I1)=1 | |
7280 | E(I1)=AMP | |
7281 | LB(I2)=10 | |
7282 | E(I2)=DM | |
7283 | ELSE | |
7284 | LB(I2)=1 | |
7285 | E(I2)=AMP | |
7286 | LB(I1)=10 | |
7287 | E(I1)=DM | |
7288 | ENDIF | |
7289 | GO TO 207 | |
7290 | ENDIF | |
7291 | * 51 D(0)+P-->N*(+)(14)+N | |
7292 | IF(M12.EQ.51)THEN | |
7293 | IF(iabs(LB(I1)).EQ.7)THEN | |
7294 | LB(I1)=2 | |
7295 | E(I1)=AMN | |
7296 | LB(I2)=11 | |
7297 | E(I2)=DM | |
7298 | ELSE | |
7299 | LB(I2)=2 | |
7300 | E(I2)=AMN | |
7301 | LB(I1)=11 | |
7302 | E(I1)=DM | |
7303 | ENDIF | |
7304 | GO TO 207 | |
7305 | ENDIF | |
7306 | * 52 D(0)+P-->N*(0)(15)+P | |
7307 | IF(M12.EQ.52)THEN | |
7308 | IF(iabs(LB(I1)).EQ.7)THEN | |
7309 | LB(I1)=1 | |
7310 | E(I1)=AMP | |
7311 | LB(I2)=12 | |
7312 | E(I2)=DM | |
7313 | ELSE | |
7314 | LB(I2)=1 | |
7315 | E(I2)=AMP | |
7316 | LB(I1)=12 | |
7317 | E(I1)=DM | |
7318 | ENDIF | |
7319 | GO TO 207 | |
7320 | ENDIF | |
7321 | * 53 D(0)+P-->N*(+)(15)+N | |
7322 | IF(M12.EQ.53)THEN | |
7323 | IF(iabs(LB(I1)).EQ.7)THEN | |
7324 | LB(I1)=2 | |
7325 | E(I1)=AMN | |
7326 | LB(I2)=13 | |
7327 | E(I2)=DM | |
7328 | ELSE | |
7329 | LB(I2)=2 | |
7330 | E(I2)=AMN | |
7331 | LB(I1)=13 | |
7332 | E(I1)=DM | |
7333 | ENDIF | |
7334 | GO TO 207 | |
7335 | ENDIF | |
7336 | * 54 N*(0)(14)+P-->N*(+)(15)+N | |
7337 | IF(M12.EQ.54)THEN | |
7338 | IF(iabs(LB(I1)).EQ.10)THEN | |
7339 | LB(I1)=2 | |
7340 | E(I1)=AMN | |
7341 | LB(I2)=13 | |
7342 | E(I2)=DM | |
7343 | ELSE | |
7344 | LB(I2)=2 | |
7345 | E(I2)=AMN | |
7346 | LB(I1)=13 | |
7347 | E(I1)=DM | |
7348 | ENDIF | |
7349 | GO TO 207 | |
7350 | ENDIF | |
7351 | * 55 N*(0)(14)+P-->N*(0)(15)+P | |
7352 | IF(M12.EQ.55)THEN | |
7353 | IF(iabs(LB(I1)).EQ.10)THEN | |
7354 | LB(I1)=1 | |
7355 | E(I1)=AMP | |
7356 | LB(I2)=12 | |
7357 | E(I2)=DM | |
7358 | ELSE | |
7359 | LB(I2)=1 | |
7360 | E(I2)=AMP | |
7361 | LB(I1)=12 | |
7362 | E(I1)=DM | |
7363 | ENDIF | |
7364 | GO TO 207 | |
7365 | ENDIF | |
7366 | * 56 N*(+)(14)+N-->N*(+)(15)+N | |
7367 | IF(M12.EQ.56)THEN | |
7368 | IF(iabs(LB(I1)).EQ.11)THEN | |
7369 | LB(I1)=2 | |
7370 | E(I1)=AMN | |
7371 | LB(I2)=13 | |
7372 | E(I2)=DM | |
7373 | ELSE | |
7374 | LB(I2)=2 | |
7375 | E(I2)=AMN | |
7376 | LB(I1)=13 | |
7377 | E(I1)=DM | |
7378 | ENDIF | |
7379 | GO TO 207 | |
7380 | ENDIF | |
7381 | * 57 N*(+)(14)+N-->N*(0)(15)+P | |
7382 | IF(M12.EQ.57)THEN | |
7383 | IF(iabs(LB(I1)).EQ.11)THEN | |
7384 | LB(I1)=1 | |
7385 | E(I1)=AMP | |
7386 | LB(I2)=12 | |
7387 | E(I2)=DM | |
7388 | ELSE | |
7389 | LB(I2)=1 | |
7390 | E(I2)=AMP | |
7391 | LB(I1)=12 | |
7392 | E(I1)=DM | |
7393 | ENDIF | |
7394 | ENDIF | |
7395 | GO TO 207 | |
7396 | *------------------------------------------------ | |
7397 | * RELABLE NUCLEONS AFTER DELTA OR N* BEING ABSORBED | |
7398 | *(1) n+delta(+)-->n+p | |
7399 | 206 IF(M12.EQ.1)THEN | |
7400 | IF(iabs(LB(I1)).EQ.8)THEN | |
7401 | LB(I2)=2 | |
7402 | LB(I1)=1 | |
7403 | E(I1)=AMP | |
7404 | ELSE | |
7405 | LB(I1)=2 | |
7406 | LB(I2)=1 | |
7407 | E(I2)=AMP | |
7408 | ENDIF | |
7409 | GO TO 207 | |
7410 | ENDIF | |
7411 | *(2) p+delta(0)-->p+n | |
7412 | IF(M12.EQ.2)THEN | |
7413 | IF(iabs(LB(I1)).EQ.7)THEN | |
7414 | LB(I2)=1 | |
7415 | LB(I1)=2 | |
7416 | E(I1)=AMN | |
7417 | ELSE | |
7418 | LB(I1)=1 | |
7419 | LB(I2)=2 | |
7420 | E(I2)=AMN | |
7421 | ENDIF | |
7422 | GO TO 207 | |
7423 | ENDIF | |
7424 | *(3) n+delta(++)-->p+p | |
7425 | IF(M12.EQ.3)THEN | |
7426 | LB(I1)=1 | |
7427 | LB(I2)=1 | |
7428 | E(I1)=AMP | |
7429 | E(I2)=AMP | |
7430 | GO TO 207 | |
7431 | ENDIF | |
7432 | *(4) p+delta(+)-->p+p | |
7433 | IF(M12.EQ.4)THEN | |
7434 | LB(I1)=1 | |
7435 | LB(I2)=1 | |
7436 | E(I1)=AMP | |
7437 | E(I2)=AMP | |
7438 | GO TO 207 | |
7439 | ENDIF | |
7440 | *(5) n+delta(0)-->n+n | |
7441 | IF(M12.EQ.5)THEN | |
7442 | LB(I1)=2 | |
7443 | LB(I2)=2 | |
7444 | E(I1)=AMN | |
7445 | E(I2)=AMN | |
7446 | GO TO 207 | |
7447 | ENDIF | |
7448 | *(6) p+delta(-)-->n+n | |
7449 | IF(M12.EQ.6)THEN | |
7450 | LB(I1)=2 | |
7451 | LB(I2)=2 | |
7452 | E(I1)=AMN | |
7453 | E(I2)=AMN | |
7454 | GO TO 207 | |
7455 | ENDIF | |
7456 | *(7) p+N*(0)-->n+p | |
7457 | IF(M12.EQ.7)THEN | |
7458 | IF(iabs(LB(I1)).EQ.1)THEN | |
7459 | LB(I1)=1 | |
7460 | LB(I2)=2 | |
7461 | E(I1)=AMP | |
7462 | E(I2)=AMN | |
7463 | ELSE | |
7464 | LB(I1)=2 | |
7465 | LB(I2)=1 | |
7466 | E(I1)=AMN | |
7467 | E(I2)=AMP | |
7468 | ENDIF | |
7469 | GO TO 207 | |
7470 | ENDIF | |
7471 | *(8) n+N*(+)-->n+p | |
7472 | IF(M12.EQ.8)THEN | |
7473 | IF(iabs(LB(I1)).EQ.2)THEN | |
7474 | LB(I1)=2 | |
7475 | LB(I2)=1 | |
7476 | E(I1)=AMN | |
7477 | E(I2)=AMP | |
7478 | ELSE | |
7479 | LB(I1)=1 | |
7480 | LB(I2)=2 | |
7481 | E(I1)=AMP | |
7482 | E(I2)=AMN | |
7483 | ENDIF | |
7484 | GO TO 207 | |
7485 | ENDIF | |
7486 | clin-6/2008 | |
7487 | c*(9) N*(+)p-->pp | |
7488 | *(9) N*(+)(1535) p-->pp | |
7489 | IF(M12.EQ.9)THEN | |
7490 | LB(I1)=1 | |
7491 | LB(I2)=1 | |
7492 | E(I1)=AMP | |
7493 | E(I2)=AMP | |
7494 | GO TO 207 | |
7495 | ENDIF | |
7496 | *(12) N*(0)P-->nP | |
7497 | IF(M12.EQ.12)THEN | |
7498 | LB(I1)=2 | |
7499 | LB(I2)=1 | |
7500 | E(I1)=AMN | |
7501 | E(I2)=AMP | |
7502 | GO TO 207 | |
7503 | ENDIF | |
7504 | *(11) N*(+)n-->nP | |
7505 | IF(M12.EQ.11)THEN | |
7506 | LB(I1)=2 | |
7507 | LB(I2)=1 | |
7508 | E(I1)=AMN | |
7509 | E(I2)=AMP | |
7510 | GO TO 207 | |
7511 | ENDIF | |
7512 | clin-6/2008 | |
7513 | c*(12) N*(0)p-->Np | |
7514 | *(12) N*(0)(1535) p-->Np | |
7515 | IF(M12.EQ.12)THEN | |
7516 | LB(I1)=1 | |
7517 | LB(I2)=2 | |
7518 | E(I1)=AMP | |
7519 | E(I2)=AMN | |
7520 | ENDIF | |
7521 | *---------------------------------------------- | |
7522 | 207 PR = PRF | |
7523 | C1 = 1.0 - 2.0 * RANART(NSEED) | |
7524 | if(srt.le.2.14)C1= 1.0 - 2.0 * RANART(NSEED) | |
86c53b9e | 7525 | if(srt.gt.2.14.and.srt.le.2.4)c1=anga(srt,iseed) |
0119ef9a | 7526 | if(srt.gt.2.4)then |
7527 | ||
7528 | clin-10/25/02 get rid of argument usage mismatch in PTR(): | |
7529 | xptr=0.33*pr | |
7530 | c cc1=ptr(0.33*pr,iseed) | |
7531 | cc1=ptr(xptr,iseed) | |
7532 | clin-10/25/02-end | |
7533 | ||
7534 | c1=sqrt(pr**2-cc1**2)/pr | |
7535 | endif | |
7536 | T1 = 2.0 * PI * RANART(NSEED) | |
7537 | IBLOCK=3 | |
7538 | ENDIF | |
7539 | if(ianti.eq.1 .and. lb(i1).ge.1 .and. lb(i2).ge.1)then | |
7540 | lb(i1) = -lb(i1) | |
7541 | lb(i2) = -lb(i2) | |
7542 | endif | |
7543 | ||
7544 | *----------------------------------------------------------------------- | |
7545 | *COM: SET THE NEW MOMENTUM COORDINATES | |
7546 | 107 IF(PX .EQ. 0.0 .AND. PY .EQ. 0.0) THEN | |
7547 | T2 = 0.0 | |
7548 | ELSE | |
7549 | T2=ATAN2(PY,PX) | |
7550 | END IF | |
7551 | S1 = SQRT( 1.0 - C1**2 ) | |
7552 | S2 = SQRT( 1.0 - C2**2 ) | |
7553 | CT1 = COS(T1) | |
7554 | ST1 = SIN(T1) | |
7555 | CT2 = COS(T2) | |
7556 | ST2 = SIN(T2) | |
7557 | PZ = PR * ( C1*C2 - S1*S2*CT1 ) | |
7558 | SS = C2 * S1 * CT1 + S2 * C1 | |
7559 | PX = PR * ( SS*CT2 - S1*ST1*ST2 ) | |
7560 | PY = PR * ( SS*ST2 + S1*ST1*CT2 ) | |
7561 | RETURN | |
7562 | * FOR THE NN-->KAON+X PROCESS, FIND MOMENTUM OF THE FINAL PARTICLES IN | |
7563 | * THE NUCLEUS-NUCLEUS CMS. | |
7564 | 306 CONTINUE | |
7565 | csp11/21/01 phi production | |
7566 | if(XSK5/sigK.gt.RANART(NSEED))then | |
7567 | pz1=p(3,i1) | |
7568 | pz2=p(3,i2) | |
7569 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
7570 | LB(I2) = 1 + int(2 * RANART(NSEED)) | |
7571 | nnn=nnn+1 | |
7572 | LPION(NNN,IRUN)=29 | |
7573 | EPION(NNN,IRUN)=APHI | |
7574 | iblock = 222 | |
7575 | GO TO 208 | |
7576 | ENDIF | |
7577 | csp11/21/01 end | |
7578 | IBLOCK=11 | |
7579 | if(ianti .eq. 1)iblock=-11 | |
7580 | c | |
7581 | pz1=p(3,i1) | |
7582 | pz2=p(3,i2) | |
7583 | * DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
7584 | nnn=nnn+1 | |
7585 | LPION(NNN,IRUN)=23 | |
7586 | EPION(NNN,IRUN)=Aka | |
7587 | if(srt.le.2.63)then | |
7588 | * only lambda production is possible | |
7589 | * (1.1)P+P-->p+L+kaon+ | |
7590 | ic=1 | |
7591 | ||
7592 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
7593 | LB(I2)=14 | |
7594 | GO TO 208 | |
7595 | ENDIF | |
7596 | if(srt.le.2.74.and.srt.gt.2.63)then | |
7597 | * both Lambda and sigma production are possible | |
7598 | if(XSK1/(XSK1+XSK2).gt.RANART(NSEED))then | |
7599 | * lambda production | |
7600 | ic=1 | |
7601 | ||
7602 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
7603 | LB(I2)=14 | |
7604 | else | |
7605 | * sigma production | |
7606 | ||
7607 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
7608 | LB(I2) = 15 + int(3 * RANART(NSEED)) | |
7609 | ic=2 | |
7610 | endif | |
7611 | GO TO 208 | |
7612 | endif | |
7613 | if(srt.le.2.77.and.srt.gt.2.74)then | |
7614 | * then pp-->Delta lamda kaon can happen | |
7615 | if(xsk1/(xsk1+xsk2+xsk3). | |
7616 | 1 gt.RANART(NSEED))then | |
7617 | * * (1.1)P+P-->p+L+kaon+ | |
7618 | ic=1 | |
7619 | ||
7620 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
7621 | LB(I2)=14 | |
7622 | go to 208 | |
7623 | else | |
7624 | if(xsk2/(xsk2+xsk3).gt.RANART(NSEED))then | |
7625 | * pp-->psk | |
7626 | ic=2 | |
7627 | ||
7628 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
7629 | LB(I2) = 15 + int(3 * RANART(NSEED)) | |
7630 | ||
7631 | else | |
7632 | * pp-->D+l+k | |
7633 | ic=3 | |
7634 | ||
7635 | LB(I1) = 6 + int(4 * RANART(NSEED)) | |
7636 | lb(i2)=14 | |
7637 | endif | |
7638 | GO TO 208 | |
7639 | endif | |
7640 | endif | |
7641 | if(srt.gt.2.77)then | |
7642 | * all four channels are possible | |
7643 | if(xsk1/(xsk1+xsk2+xsk3+xsk4).gt.RANART(NSEED))then | |
7644 | * p lambda k production | |
7645 | ic=1 | |
7646 | ||
7647 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
7648 | LB(I2)=14 | |
7649 | go to 208 | |
7650 | else | |
7651 | if(xsk3/(xsk2+xsk3+xsk4).gt.RANART(NSEED))then | |
7652 | * delta l K production | |
7653 | ic=3 | |
7654 | ||
7655 | LB(I1) = 6 + int(4 * RANART(NSEED)) | |
7656 | lb(i2)=14 | |
7657 | go to 208 | |
7658 | else | |
7659 | if(xsk2/(xsk2+xsk4).gt.RANART(NSEED))then | |
7660 | * n sigma k production | |
7661 | ||
7662 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
7663 | LB(I2) = 15 + int(3 * RANART(NSEED)) | |
7664 | ||
7665 | ic=2 | |
7666 | else | |
7667 | ic=4 | |
7668 | ||
7669 | LB(I1) = 6 + int(4 * RANART(NSEED)) | |
7670 | LB(I2) = 15 + int(3 * RANART(NSEED)) | |
7671 | ||
7672 | endif | |
7673 | go to 208 | |
7674 | endif | |
7675 | endif | |
7676 | endif | |
7677 | 208 continue | |
7678 | if(ianti.eq.1 .and. lb(i1).ge.1 .and. lb(i2).ge.1)then | |
7679 | lb(i1) = - lb(i1) | |
7680 | lb(i2) = - lb(i2) | |
7681 | if(LPION(NNN,IRUN) .eq. 23)LPION(NNN,IRUN)=21 | |
7682 | endif | |
7683 | lbi1=lb(i1) | |
7684 | lbi2=lb(i2) | |
7685 | * KEEP ALL COORDINATES OF PARTICLE 2 FOR POSSIBLE PHASE SPACE CHANGE | |
7686 | NTRY1=0 | |
7687 | 128 CALL BBKAON(ic,SRT,PX3,PY3,PZ3,DM3,PX4,PY4,PZ4,DM4, | |
7688 | & PPX,PPY,PPZ,icou1) | |
7689 | NTRY1=NTRY1+1 | |
7690 | if((icou1.lt.0).AND.(NTRY1.LE.20))GO TO 128 | |
7691 | c if(icou1.lt.0)return | |
7692 | * ROTATE THE MOMENTA OF PARTICLES IN THE CMS OF P1+P2 | |
7693 | CALL ROTATE(PX,PY,PZ,PX3,PY3,PZ3) | |
7694 | CALL ROTATE(PX,PY,PZ,PX4,PY4,PZ4) | |
7695 | CALL ROTATE(PX,PY,PZ,PPX,PPY,PPZ) | |
7696 | * FIND THE MOMENTUM OF PARTICLES IN THE FINAL STATE IN THE NUCLEUS- | |
7697 | * NUCLEUS CMS. FRAME | |
7698 | * (1) for the necleon/delta | |
7699 | * LORENTZ-TRANSFORMATION INTO LAB FRAME FOR DELTA1 | |
7700 | E1CM = SQRT (dm3**2 + PX3**2 + PY3**2 + PZ3**2) | |
7701 | P1BETA = PX3*BETAX + PY3*BETAY + PZ3*BETAZ | |
7702 | TRANSF = GAMMA * ( GAMMA * P1BETA / (GAMMA + 1) + E1CM ) | |
7703 | Pt1i1 = BETAX * TRANSF + PX3 | |
7704 | Pt2i1 = BETAY * TRANSF + PY3 | |
7705 | Pt3i1 = BETAZ * TRANSF + PZ3 | |
7706 | Eti1 = DM3 | |
7707 | * (2) for the lambda/sigma | |
7708 | E2CM = SQRT (dm4**2 + PX4**2 + PY4**2 + PZ4**2) | |
7709 | P2BETA = PX4*BETAX+PY4*BETAY+PZ4*BETAZ | |
7710 | TRANSF = GAMMA * (GAMMA*P2BETA / (GAMMA + 1.) + E2CM) | |
7711 | Pt1I2 = BETAX * TRANSF + PX4 | |
7712 | Pt2I2 = BETAY * TRANSF + PY4 | |
7713 | Pt3I2 = BETAZ * TRANSF + PZ4 | |
7714 | EtI2 = DM4 | |
7715 | * GET the kaon'S MOMENTUM AND COORDINATES IN NUCLEUS-NUCLEUS CMS. FRAME | |
7716 | EPCM=SQRT(aka**2+PPX**2+PPY**2+PPZ**2) | |
7717 | PPBETA=PPX*BETAX+PPY*BETAY+PPZ*BETAZ | |
7718 | TRANSF=GAMMA*(GAMMA*PPBETA/(GAMMA+1.)+EPCM) | |
7719 | PPION(1,NNN,IRUN)=BETAX*TRANSF+PPX | |
7720 | PPION(2,NNN,IRUN)=BETAY*TRANSF+PPY | |
7721 | PPION(3,NNN,IRUN)=BETAZ*TRANSF+PPZ | |
7722 | clin-5/2008: | |
7723 | dppion(nnn,irun)=dpertp(i1)*dpertp(i2) | |
7724 | clin-5/2008: | |
7725 | c2008 X01 = 1.0 - 2.0 * RANART(NSEED) | |
7726 | c Y01 = 1.0 - 2.0 * RANART(NSEED) | |
7727 | c Z01 = 1.0 - 2.0 * RANART(NSEED) | |
7728 | c IF ((X01*X01+Y01*Y01+Z01*Z01) .GT. 1.0) GOTO 2008 | |
7729 | c RPION(1,NNN,IRUN)=R(1,I1)+0.5*x01 | |
7730 | c RPION(2,NNN,IRUN)=R(2,I1)+0.5*y01 | |
7731 | c RPION(3,NNN,IRUN)=R(3,I1)+0.5*z01 | |
7732 | RPION(1,NNN,IRUN)=R(1,I1) | |
7733 | RPION(2,NNN,IRUN)=R(2,I1) | |
7734 | RPION(3,NNN,IRUN)=R(3,I1) | |
7735 | c | |
7736 | * assign the nucleon/delta and lambda/sigma to i1 or i2 to keep the | |
7737 | * leadng particle behaviour | |
7738 | C if((pt1i1*px1+pt2i1*py1+pt3i1*pz1).gt.0)then | |
7739 | p(1,i1)=pt1i1 | |
7740 | p(2,i1)=pt2i1 | |
7741 | p(3,i1)=pt3i1 | |
7742 | e(i1)=eti1 | |
7743 | lb(i1)=lbi1 | |
7744 | p(1,i2)=pt1i2 | |
7745 | p(2,i2)=pt2i2 | |
7746 | p(3,i2)=pt3i2 | |
7747 | e(i2)=eti2 | |
7748 | lb(i2)=lbi2 | |
7749 | PX1 = P(1,I1) | |
7750 | PY1 = P(2,I1) | |
7751 | PZ1 = P(3,I1) | |
7752 | EM1 = E(I1) | |
7753 | ID(I1) = 2 | |
7754 | ID(I2) = 2 | |
7755 | ID1 = ID(I1) | |
7756 | if(LPION(NNN,IRUN) .ne. 29) IBLOCK=11 | |
7757 | LB1=LB(I1) | |
7758 | LB2=LB(I2) | |
7759 | AM1=EM1 | |
7760 | am2=em2 | |
7761 | E1= SQRT( EM1**2 + PX1**2 + PY1**2 + PZ1**2 ) | |
7762 | RETURN | |
7763 | ||
7764 | clin-6/2008 N+D->Deuteron+pi: | |
7765 | * FIND MOMENTUM OF THE FINAL PARTICLES IN THE NUCLEUS-NUCLEUS CMS. | |
7766 | 108 CONTINUE | |
7767 | if(idpert.eq.1.and.ipert1.eq.1.and.npertd.ge.1) then | |
7768 | c For idpert=1: we produce npertd pert deuterons: | |
7769 | ndloop=npertd | |
7770 | elseif(idpert.eq.2.and.npertd.ge.1) then | |
7771 | c For idpert=2: we first save information for npertd pert deuterons; | |
7772 | c at the last ndloop we create the regular deuteron+pi | |
7773 | c and those pert deuterons: | |
7774 | ndloop=npertd+1 | |
7775 | else | |
7776 | c Just create the regular deuteron+pi: | |
7777 | ndloop=1 | |
7778 | endif | |
7779 | c | |
7780 | dprob1=sdprod/sig/float(npertd) | |
7781 | do idloop=1,ndloop | |
7782 | CALL bbdangle(pxd,pyd,pzd,nt,ipert1,ianti,idloop,pfinal, | |
7783 | 1 dprob1,lbm) | |
7784 | CALL ROTATE(PX,PY,PZ,PXd,PYd,PZd) | |
7785 | * LORENTZ-TRANSFORMATION OF THE MOMENTUM OF PARTICLES IN THE FINAL STATE | |
7786 | * FROM THE NN CMS FRAME INTO THE GLOBAL CMS FRAME: | |
7787 | * For the Deuteron: | |
7788 | xmass=xmd | |
7789 | E1dCM=SQRT(xmass**2+PXd**2+PYd**2+PZd**2) | |
7790 | P1dBETA=PXd*BETAX+PYd*BETAY+PZd*BETAZ | |
7791 | TRANSF=GAMMA*(GAMMA*P1dBETA/(GAMMA+1.)+E1dCM) | |
7792 | pxi1=BETAX*TRANSF+PXd | |
7793 | pyi1=BETAY*TRANSF+PYd | |
7794 | pzi1=BETAZ*TRANSF+PZd | |
7795 | if(ianti.eq.0)then | |
7796 | lbd=42 | |
7797 | else | |
7798 | lbd=-42 | |
7799 | endif | |
7800 | if(idpert.eq.1.and.ipert1.eq.1.and.npertd.ge.1) then | |
7801 | cccc Perturbative production for idpert=1: | |
7802 | nnn=nnn+1 | |
7803 | PPION(1,NNN,IRUN)=pxi1 | |
7804 | PPION(2,NNN,IRUN)=pyi1 | |
7805 | PPION(3,NNN,IRUN)=pzi1 | |
7806 | EPION(NNN,IRUN)=xmd | |
7807 | LPION(NNN,IRUN)=lbd | |
7808 | RPION(1,NNN,IRUN)=R(1,I1) | |
7809 | RPION(2,NNN,IRUN)=R(2,I1) | |
7810 | RPION(3,NNN,IRUN)=R(3,I1) | |
7811 | clin-6/2008 assign the perturbative probability: | |
7812 | dppion(NNN,IRUN)=sdprod/sig/float(npertd) | |
7813 | elseif(idpert.eq.2.and.idloop.le.npertd) then | |
7814 | clin-6/2008 For idpert=2, we produce NPERTD perturbative (anti)deuterons | |
7815 | c only when a regular (anti)deuteron+pi is produced in NN collisions. | |
7816 | c First save the info for the perturbative deuterons: | |
7817 | ppd(1,idloop)=pxi1 | |
7818 | ppd(2,idloop)=pyi1 | |
7819 | ppd(3,idloop)=pzi1 | |
7820 | lbpd(idloop)=lbd | |
7821 | else | |
7822 | cccc Regular production: | |
7823 | c For the regular pion: do LORENTZ-TRANSFORMATION: | |
7824 | E(i1)=xmm | |
7825 | E2piCM=SQRT(xmm**2+PXd**2+PYd**2+PZd**2) | |
7826 | P2piBETA=-PXd*BETAX-PYd*BETAY-PZd*BETAZ | |
7827 | TRANSF=GAMMA*(GAMMA*P2piBETA/(GAMMA+1.)+E2piCM) | |
7828 | pxi2=BETAX*TRANSF-PXd | |
7829 | pyi2=BETAY*TRANSF-PYd | |
7830 | pzi2=BETAZ*TRANSF-PZd | |
7831 | p(1,i1)=pxi2 | |
7832 | p(2,i1)=pyi2 | |
7833 | p(3,i1)=pzi2 | |
7834 | c Remove regular pion to check the equivalence | |
7835 | c between the perturbative and regular deuteron results: | |
7836 | c E(i1)=0. | |
7837 | c | |
7838 | LB(I1)=lbm | |
7839 | PX1=P(1,I1) | |
7840 | PY1=P(2,I1) | |
7841 | PZ1=P(3,I1) | |
7842 | EM1=E(I1) | |
7843 | ID(I1)=2 | |
7844 | ID1=ID(I1) | |
7845 | E1=SQRT(EM1**2+PX1**2+PY1**2+PZ1**2) | |
7846 | lb1=lb(i1) | |
7847 | c For the regular deuteron: | |
7848 | p(1,i2)=pxi1 | |
7849 | p(2,i2)=pyi1 | |
7850 | p(3,i2)=pzi1 | |
7851 | lb(i2)=lbd | |
7852 | lb2=lb(i2) | |
7853 | E(i2)=xmd | |
7854 | EtI2=E(I2) | |
7855 | ID(I2)=2 | |
7856 | c For idpert=2: create the perturbative deuterons: | |
7857 | if(idpert.eq.2.and.idloop.eq.ndloop) then | |
7858 | do ipertd=1,npertd | |
7859 | nnn=nnn+1 | |
7860 | PPION(1,NNN,IRUN)=ppd(1,ipertd) | |
7861 | PPION(2,NNN,IRUN)=ppd(2,ipertd) | |
7862 | PPION(3,NNN,IRUN)=ppd(3,ipertd) | |
7863 | EPION(NNN,IRUN)=xmd | |
7864 | LPION(NNN,IRUN)=lbpd(ipertd) | |
7865 | RPION(1,NNN,IRUN)=R(1,I1) | |
7866 | RPION(2,NNN,IRUN)=R(2,I1) | |
7867 | RPION(3,NNN,IRUN)=R(3,I1) | |
7868 | clin-6/2008 assign the perturbative probability: | |
7869 | dppion(NNN,IRUN)=1./float(npertd) | |
7870 | enddo | |
7871 | endif | |
7872 | endif | |
7873 | enddo | |
7874 | IBLOCK=501 | |
7875 | return | |
7876 | clin-6/2008 N+D->Deuteron+pi over | |
7877 | ||
7878 | END | |
7879 | ********************************** | |
7880 | * * | |
7881 | * * | |
7882 | SUBROUTINE CRDD(IRUN,PX,PY,PZ,SRT,I1,I2,IBLOCK, | |
7883 | 1NTAG,SIGNN,SIG,NT,ipert1) | |
7884 | c 1NTAG,SIGNN,SIG) | |
7885 | * PURPOSE: * | |
7886 | * DEALING WITH BARYON RESONANCE-BARYON RESONANCE COLLISIONS* | |
7887 | * NOTE : * | |
7888 | * QUANTITIES: * | |
7889 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
7890 | * SRT - SQRT OF S * | |
7891 | * NSTAR =1 INCLUDING N* RESORANCE,ELSE NOT * | |
7892 | * NDIRCT=1 INCLUDING DIRECT PION PRODUCTION PROCESS * | |
7893 | * IBLOCK - THE INFORMATION BACK * | |
7894 | * 0-> COLLISION CANNOT HAPPEN * | |
7895 | * 1-> N-N ELASTIC COLLISION * | |
7896 | * 2-> N+N->N+DELTA,OR N+N->N+N* REACTION * | |
7897 | * 3-> N+DELTA->N+N OR N+N*->N+N REACTION * | |
7898 | * 4-> N+N->N+N+PION,DIRTCT PROCESS * | |
7899 | * 5-> DELTA(N*)+DELTA(N*) TOTAL COLLISIONS * | |
7900 | * N12 - IS USED TO SPECIFY BARYON-BARYON REACTION * | |
7901 | * CHANNELS. M12 IS THE REVERSAL CHANNEL OF N12 * | |
7902 | * N12, * | |
7903 | * M12=1 FOR p+n-->delta(+)+ n * | |
7904 | * 2 p+n-->delta(0)+ p * | |
7905 | * 3 p+p-->delta(++)+n * | |
7906 | * 4 p+p-->delta(+)+p * | |
7907 | * 5 n+n-->delta(0)+n * | |
7908 | * 6 n+n-->delta(-)+p * | |
7909 | * 7 n+p-->N*(0)(1440)+p * | |
7910 | * 8 n+p-->N*(+)(1440)+n * | |
7911 | * 9 p+p-->N*(+)(1535)+p * | |
7912 | * 10 n+n-->N*(0)(1535)+n * | |
7913 | * 11 n+p-->N*(+)(1535)+n * | |
7914 | * 12 n+p-->N*(0)(1535)+p | |
7915 | * 13 D(++)+D(-)-->N*(+)(1440)+n | |
7916 | * 14 D(++)+D(-)-->N*(0)(1440)+p | |
7917 | * 15 D(+)+D(0)--->N*(+)(1440)+n | |
7918 | * 16 D(+)+D(0)--->N*(0)(1440)+p | |
7919 | * 17 D(++)+D(0)-->N*(+)(1535)+p | |
7920 | * 18 D(++)+D(-)-->N*(0)(1535)+p | |
7921 | * 19 D(++)+D(-)-->N*(+)(1535)+n | |
7922 | * 20 D(+)+D(+)-->N*(+)(1535)+p | |
7923 | * 21 D(+)+D(0)-->N*(+)(1535)+n | |
7924 | * 22 D(+)+D(0)-->N*(0)(1535)+p | |
7925 | * 23 D(+)+D(-)-->N*(0)(1535)+n | |
7926 | * 24 D(0)+D(0)-->N*(0)(1535)+n | |
7927 | * 25 N*(+)(14)+N*(+)(14)-->N*(+)(15)+p | |
7928 | * 26 N*(0)(14)+N*(0)(14)-->N*(0)(15)+n | |
7929 | * 27 N*(+)(14)+N*(0)(14)-->N*(+)(15)+n | |
7930 | * 28 N*(+)(14)+N*(0)(14)-->N*(0)(15)+p | |
7931 | * 29 N*(+)(14)+D+-->N*(+)(15)+p | |
7932 | * 30 N*(+)(14)+D0-->N*(+)(15)+n | |
7933 | * 31 N*(+)(14)+D(-)-->N*(0)(1535)+n | |
7934 | * 32 N*(0)(14)+D++--->N*(+)(15)+p | |
7935 | * 33 N*(0)(14)+D+--->N*(+)(15)+n | |
7936 | * 34 N*(0)(14)+D+--->N*(0)(15)+p | |
7937 | * 35 N*(0)(14)+D0-->N*(0)(15)+n | |
7938 | * 36 N*(+)(14)+D0--->N*(0)(15)+p | |
7939 | * +++ | |
7940 | * AND MORE CHANNELS AS LISTED IN THE NOTE BOOK | |
7941 | * | |
7942 | * NOTE ABOUT N*(1440) RESORANCE: * | |
7943 | * As it has been discussed in VerWest's paper,I= 1 (initial isospin) | |
7944 | * channel can all be attributed to delta resorance while I= 0 * | |
7945 | * channel can all be attribured to N* resorance.Only in n+p * | |
7946 | * one can have I=0 channel so is the N*(1440) resorance * | |
7947 | * REFERENCES: J. CUGNON ET AL., NUCL. PHYS. A352, 505 (1981) * | |
7948 | * Y. KITAZOE ET AL., PHYS. LETT. 166B, 35 (1986) * | |
7949 | * B. VerWest el al., PHYS. PRV. C25 (1982)1979 * | |
7950 | * Gy. Wolf et al, Nucl Phys A517 (1990) 615 * | |
7951 | * CUTOFF = 2 * AVMASS + 20 MEV * | |
7952 | * * | |
7953 | * for N*(1535) we use the parameterization by Gy. Wolf et al * | |
7954 | * Nucl phys A552 (1993) 349, added May 18, 1994 * | |
7955 | ********************************** | |
7956 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
7957 | 1 AMP=0.93828,AP1=0.13496,AKA=0.498,APHI=1.020, | |
7958 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
7959 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
7960 | parameter (xmd=1.8756,npdmax=10000) | |
7961 | COMMON /AA/ R(3,MAXSTR) | |
7962 | cc SAVE /AA/ | |
7963 | COMMON /BB/ P(3,MAXSTR) | |
7964 | cc SAVE /BB/ | |
7965 | COMMON /CC/ E(MAXSTR) | |
7966 | cc SAVE /CC/ | |
7967 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
7968 | cc SAVE /EE/ | |
7969 | common /ff/f(-mx:mx,-my:my,-mz:mz,-mpx:mpx,-mpy:mpy,-mpz:mpzp) | |
7970 | cc SAVE /ff/ | |
7971 | common /gg/ dx,dy,dz,dpx,dpy,dpz | |
7972 | cc SAVE /gg/ | |
7973 | COMMON /INPUT/ NSTAR,NDIRCT,DIR | |
7974 | cc SAVE /INPUT/ | |
7975 | COMMON /NN/NNN | |
7976 | cc SAVE /NN/ | |
7977 | COMMON /BG/BETAX,BETAY,BETAZ,GAMMA | |
7978 | cc SAVE /BG/ | |
7979 | COMMON /RUN/NUM | |
7980 | cc SAVE /RUN/ | |
7981 | COMMON /PA/RPION(3,MAXSTR,MAXR) | |
7982 | cc SAVE /PA/ | |
7983 | COMMON /PB/PPION(3,MAXSTR,MAXR) | |
7984 | cc SAVE /PB/ | |
7985 | COMMON /PC/EPION(MAXSTR,MAXR) | |
7986 | cc SAVE /PC/ | |
7987 | COMMON /PD/LPION(MAXSTR,MAXR) | |
7988 | cc SAVE /PD/ | |
7989 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
7990 | cc SAVE /input1/ | |
7991 | common/leadng/lb1,px1,py1,pz1,em1,e1,xfnl,yfnl,zfnl,tfnl, | |
7992 | 1 px1n,py1n,pz1n,dp1n | |
7993 | cc SAVE /leadng/ | |
7994 | COMMON/RNDF77/NSEED | |
7995 | cc SAVE /RNDF77/ | |
7996 | COMMON /dpert/dpertt(MAXSTR,MAXR),dpertp(MAXSTR),dplast(MAXSTR), | |
7997 | 1 dpdcy(MAXSTR),dpdpi(MAXSTR,MAXR),dpt(MAXSTR, MAXR), | |
7998 | 2 dpp1(MAXSTR,MAXR),dppion(MAXSTR,MAXR) | |
7999 | common /dpi/em2,lb2 | |
8000 | common /para8/ idpert,npertd,idxsec | |
8001 | dimension ppd(3,npdmax),lbpd(npdmax) | |
8002 | SAVE | |
8003 | *----------------------------------------------------------------------- | |
8004 | n12=0 | |
8005 | m12=0 | |
8006 | IBLOCK=0 | |
8007 | NTAG=0 | |
8008 | EM1=E(I1) | |
8009 | EM2=E(I2) | |
8010 | PR = SQRT( PX**2 + PY**2 + PZ**2 ) | |
8011 | C2 = PZ / PR | |
8012 | IF(PX .EQ. 0.0 .AND. PY .EQ. 0.0) THEN | |
8013 | T2 = 0.0 | |
8014 | ELSE | |
8015 | T2=ATAN2(PY,PX) | |
8016 | END IF | |
8017 | X1 = RANART(NSEED) | |
8018 | ianti=0 | |
8019 | if(lb(i1).lt.0 .and. lb(i2).lt.0)ianti=1 | |
8020 | ||
8021 | clin-6/2008 Production of perturbative deuterons for idpert=1: | |
8022 | call sbbdm(srt,sdprod,ianti,lbm,xmm,pfinal) | |
8023 | if(idpert.eq.1.and.ipert1.eq.1) then | |
8024 | IF (SRT .LT. 2.012) RETURN | |
8025 | if((iabs(lb(i1)).ge.6.and.iabs(lb(i1)).le.13) | |
8026 | 1 .and.(iabs(lb(i2)).ge.6.and.iabs(lb(i2)).le.13)) then | |
8027 | goto 108 | |
8028 | else | |
8029 | return | |
8030 | endif | |
8031 | endif | |
8032 | ||
8033 | *----------------------------------------------------------------------- | |
8034 | *COM: TEST FOR ELASTIC SCATTERING (EITHER N-N OR DELTA-DELTA 0R | |
8035 | * N-DELTA OR N*-N* or N*-Delta) | |
8036 | IF (X1 .LE. SIGNN/SIG) THEN | |
8037 | *COM: PARAMETRISATION IS TAKEN FROM THE CUGNON-PAPER | |
8038 | AS = ( 3.65 * (SRT - 1.8766) )**6 | |
8039 | A = 6.0 * AS / (1.0 + AS) | |
8040 | TA = -2.0 * PR**2 | |
8041 | X = RANART(NSEED) | |
8042 | clin-10/24/02 T1 = DLOG( (1-X) * DEXP(dble(A)*dble(TA)) + X ) / A | |
8043 | T1 = sngl(DLOG(dble(1.-X)*DEXP(dble(A)*dble(TA))+dble(X)))/ A | |
8044 | C1 = 1.0 - T1/TA | |
8045 | T1 = 2.0 * PI * RANART(NSEED) | |
8046 | IBLOCK=20 | |
8047 | GO TO 107 | |
8048 | ELSE | |
8049 | *COM: TEST FOR INELASTIC SCATTERING | |
8050 | * IF THE AVAILABLE ENERGY IS LESS THAN THE PION-MASS, NOTHING | |
8051 | * CAN HAPPEN ANY MORE ==> RETURN (2.15 = 2*AVMASS +2*PI-MASS) | |
8052 | IF (SRT .LT. 2.15) RETURN | |
8053 | * IF THERE WERE 2 N*(1535) AND THEY DIDN'T SCATT. ELAST., | |
8054 | * ALLOW THEM TO PRODUCE KAONS. NO OTHER INELASTIC CHANNELS | |
8055 | * ARE KNOWN | |
8056 | C if((lb(i1).ge.12).and.(lb(i2).ge.12))return | |
8057 | * ALL the inelastic collisions between N*(1535) and Delta as well | |
8058 | * as N*(1440) TO PRODUCE KAONS, NO OTHER CHANNELS ARE KNOWN | |
8059 | C if((lb(i1).ge.12).and.(lb(i2).ge.3))return | |
8060 | C if((lb(i2).ge.12).and.(lb(i1).ge.3))return | |
8061 | * calculate the N*(1535) production cross section in I1+I2 collisions | |
8062 | call N1535(iabs(lb(i1)),iabs(lb(i2)),srt,X1535) | |
8063 | ||
8064 | * for Delta+Delta-->N*(1440 OR 1535)+N AND N*(1440)+N*(1440)-->N*(1535)+X | |
8065 | * AND DELTA+N*(1440)-->N*(1535)+X | |
8066 | * WE ASSUME THEY HAVE THE SAME CROSS SECTIONS as CORRESPONDING N+N COLLISION): | |
8067 | * FOR D++D0, D+D+,D+D-,D0D0,N*+N*+,N*0N*0,N*(+)D+,N*(+)D(-),N*(0)D(0) | |
8068 | * N*(1535) production, kaon production and reabsorption through | |
8069 | * D(N*)+D(N*)-->NN are ALLOWED. | |
8070 | * CROSS SECTION FOR KAON PRODUCTION from the four channels are | |
8071 | * for NLK channel | |
8072 | akp=0.498 | |
8073 | ak0=0.498 | |
8074 | ana=0.938 | |
8075 | ada=1.232 | |
8076 | al=1.1157 | |
8077 | as=1.1197 | |
8078 | xsk1=0 | |
8079 | xsk2=0 | |
8080 | xsk3=0 | |
8081 | xsk4=0 | |
8082 | xsk5=0 | |
8083 | t1nlk=ana+al+akp | |
8084 | if(srt.le.t1nlk)go to 222 | |
8085 | XSK1=1.5*PPLPK(SRT) | |
8086 | * for DLK channel | |
8087 | t1dlk=ada+al+akp | |
8088 | t2dlk=ada+al-akp | |
8089 | if(srt.le.t1dlk)go to 222 | |
8090 | es=srt | |
8091 | pmdlk2=(es**2-t1dlk**2)*(es**2-t2dlk**2)/(4.*es**2) | |
8092 | pmdlk=sqrt(pmdlk2) | |
8093 | XSK3=1.5*PPLPK(srt) | |
8094 | * for NSK channel | |
8095 | t1nsk=ana+as+akp | |
8096 | t2nsk=ana+as-akp | |
8097 | if(srt.le.t1nsk)go to 222 | |
8098 | pmnsk2=(es**2-t1nsk**2)*(es**2-t2nsk**2)/(4.*es**2) | |
8099 | pmnsk=sqrt(pmnsk2) | |
8100 | XSK2=1.5*(PPK1(srt)+PPK0(srt)) | |
8101 | * for DSK channel | |
8102 | t1DSk=aDa+aS+akp | |
8103 | t2DSk=aDa+aS-akp | |
8104 | if(srt.le.t1dsk)go to 222 | |
8105 | pmDSk2=(es**2-t1DSk**2)*(es**2-t2DSk**2)/(4.*es**2) | |
8106 | pmDSk=sqrt(pmDSk2) | |
8107 | XSK4=1.5*(PPK1(srt)+PPK0(srt)) | |
8108 | csp11/21/01 | |
8109 | c phi production | |
8110 | if(srt.le.(2.*amn+aphi))go to 222 | |
8111 | c !! mb put the correct form | |
8112 | xsk5 = 0.0001 | |
8113 | csp11/21/01 end | |
8114 | * THE TOTAL KAON+ PRODUCTION CROSS SECTION IS THEN | |
8115 | 222 SIGK=XSK1+XSK2+XSK3+XSK4 | |
8116 | ||
8117 | cbz3/7/99 neutralk | |
8118 | XSK1 = 2.0 * XSK1 | |
8119 | XSK2 = 2.0 * XSK2 | |
8120 | XSK3 = 2.0 * XSK3 | |
8121 | XSK4 = 2.0 * XSK4 | |
8122 | SIGK = 2.0 * SIGK + xsk5 | |
8123 | cbz3/7/99 neutralk end | |
8124 | ||
8125 | * The reabsorption cross section for the process | |
8126 | * D(N*)D(N*)-->NN is | |
8127 | s2d=reab2d(i1,i2,srt) | |
8128 | ||
8129 | cbz3/16/99 pion | |
8130 | S2D = 0. | |
8131 | cbz3/16/99 pion end | |
8132 | ||
8133 | *(1) N*(1535)+D(N*(1440)) reactions | |
8134 | * we allow kaon production and reabsorption only | |
8135 | if(((iabs(lb(i1)).ge.12).and.(iabs(lb(i2)).ge.12)).OR. | |
8136 | & ((iabs(lb(i1)).ge.12).and.(iabs(lb(i2)).ge.6)).OR. | |
8137 | & ((iabs(lb(i2)).ge.12).and.(iabs(lb(i1)).ge.6)))THEN | |
8138 | signd=sigk+s2d | |
8139 | clin-6/2008 | |
8140 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
8141 | c if(x1.gt.(signd+signn)/sig)return | |
8142 | if(x1.gt.(signd+signn+sdprod)/sig)return | |
8143 | c | |
8144 | * if kaon production | |
8145 | clin-6/2008 | |
8146 | c IF(SIGK/SIG.GE.RANART(NSEED))GO TO 306 | |
8147 | IF((SIGK+sdprod)/SIG.GE.RANART(NSEED))GO TO 306 | |
8148 | c | |
8149 | * if reabsorption | |
8150 | go to 1012 | |
8151 | ENDIF | |
8152 | IDD=iabs(LB(I1)*LB(I2)) | |
8153 | * channels have the same charge as pp | |
8154 | IF((IDD.EQ.63).OR.(IDD.EQ.64).OR.(IDD.EQ.48). | |
8155 | 1 OR.(IDD.EQ.49).OR.(IDD.EQ.11*11).OR.(IDD.EQ.10*10). | |
8156 | 2 OR.(IDD.EQ.88).OR.(IDD.EQ.66). | |
8157 | 3 OR.(IDD.EQ.90).OR.(IDD.EQ.70))THEN | |
8158 | SIGND=X1535+SIGK+s2d | |
8159 | clin-6/2008 | |
8160 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
8161 | c IF (X1.GT.(SIGNN+SIGND)/SIG)RETURN | |
8162 | IF (X1.GT.(SIGNN+SIGND+sdprod)/SIG)RETURN | |
8163 | c | |
8164 | * if kaon production | |
8165 | IF(SIGK/SIGND.GT.RANART(NSEED))GO TO 306 | |
8166 | * if reabsorption | |
8167 | if(s2d/(x1535+s2d).gt.RANART(NSEED))go to 1012 | |
8168 | * if N*(1535) production | |
8169 | IF(IDD.EQ.63)N12=17 | |
8170 | IF(IDD.EQ.64)N12=20 | |
8171 | IF(IDD.EQ.48)N12=23 | |
8172 | IF(IDD.EQ.49)N12=24 | |
8173 | IF(IDD.EQ.121)N12=25 | |
8174 | IF(IDD.EQ.100)N12=26 | |
8175 | IF(IDD.EQ.88)N12=29 | |
8176 | IF(IDD.EQ.66)N12=31 | |
8177 | IF(IDD.EQ.90)N12=32 | |
8178 | IF(IDD.EQ.70)N12=35 | |
8179 | GO TO 1011 | |
8180 | ENDIF | |
8181 | * IN DELTA+N*(1440) and N*(1440)+N*(1440) COLLISIONS, | |
8182 | * N*(1535), kaon production and reabsorption are ALLOWED | |
8183 | * IN N*(1440)+N*(1440) COLLISIONS, ONLY N*(1535) IS ALLOWED | |
8184 | IF((IDD.EQ.110).OR.(IDD.EQ.77).OR.(IDD.EQ.80))THEN | |
8185 | clin-6/2008 | |
8186 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
8187 | c IF(X1.GT.(SIGNN+X1535+SIGK+s2d)/SIG)RETURN | |
8188 | IF(X1.GT.(SIGNN+X1535+SIGK+s2d+sdprod)/SIG)RETURN | |
8189 | c | |
8190 | IF(SIGK/(X1535+SIGK+s2d).GT.RANART(NSEED))GO TO 306 | |
8191 | if(s2d/(x1535+s2d).gt.RANART(NSEED))go to 1012 | |
8192 | IF(IDD.EQ.77)N12=30 | |
8193 | IF((IDD.EQ.77).AND.(RANART(NSEED).LE.0.5))N12=36 | |
8194 | IF(IDD.EQ.80)N12=34 | |
8195 | IF((IDD.EQ.80).AND.(RANART(NSEED).LE.0.5))N12=35 | |
8196 | IF(IDD.EQ.110)N12=27 | |
8197 | IF((IDD.EQ.110).AND.(RANART(NSEED).LE.0.5))N12=28 | |
8198 | GO TO 1011 | |
8199 | ENDIF | |
8200 | IF((IDD.EQ.54).OR.(IDD.EQ.56))THEN | |
8201 | * LIKE FOR N+P COLLISION, | |
8202 | * IN DELTA+DELTA COLLISIONS BOTH N*(1440) AND N*(1535) CAN BE PRODUCED | |
8203 | SIG2=(3./4.)*SIGMA(SRT,2,0,1) | |
8204 | SIGND=2.*(SIG2+X1535)+SIGK+s2d | |
8205 | clin-6/2008 | |
8206 | IF(X1.LE.((SIGNN+sdprod)/SIG)) GO TO 108 | |
8207 | c IF(X1.GT.(SIGNN+SIGND)/SIG)RETURN | |
8208 | IF(X1.GT.(SIGNN+SIGND+sdprod)/SIG)RETURN | |
8209 | c | |
8210 | IF(SIGK/SIGND.GT.RANART(NSEED))GO TO 306 | |
8211 | if(s2d/(2.*(sig2+x1535)+s2d).gt.RANART(NSEED))go to 1012 | |
8212 | IF(RANART(NSEED).LT.X1535/(SIG2+X1535))THEN | |
8213 | * N*(1535) PRODUCTION | |
8214 | IF(IDD.EQ.54)N12=18 | |
8215 | IF((IDD.EQ.54).AND.(RANART(NSEED).LE.0.5))N12=19 | |
8216 | IF(IDD.EQ.56)N12=21 | |
8217 | IF((IDD.EQ.56).AND.(RANART(NSEED).LE.0.5))N12=22 | |
8218 | ELSE | |
8219 | * N*(144) PRODUCTION | |
8220 | IF(IDD.EQ.54)N12=13 | |
8221 | IF((IDD.EQ.54).AND.(RANART(NSEED).LE.0.5))N12=14 | |
8222 | IF(IDD.EQ.56)N12=15 | |
8223 | IF((IDD.EQ.56).AND.(RANART(NSEED).LE.0.5))N12=16 | |
8224 | ENDIF | |
8225 | ENDIF | |
8226 | 1011 CONTINUE | |
8227 | iblock=5 | |
8228 | *PARAMETRIZATION OF THE SHAPE OF THE N*(1440) AND N*(1535) | |
8229 | * RESONANCE ACCORDING | |
8230 | * TO kitazoe's or J.D.JACKSON'S MASS FORMULA AND BREIT WIGNER | |
8231 | * FORMULA FOR N* RESORANCE | |
8232 | * DETERMINE DELTA MASS VIA REJECTION METHOD. | |
8233 | DMAX = SRT - AVMASS-0.005 | |
8234 | DMIN = 1.078 | |
8235 | IF((n12.ge.13).and.(n12.le.16))then | |
8236 | * N*(1440) production | |
8237 | IF(DMAX.LT.1.44) THEN | |
8238 | FM=FNS(DMAX,SRT,0.) | |
8239 | ELSE | |
8240 | ||
8241 | clin-10/25/02 get rid of argument usage mismatch in FNS(): | |
8242 | xdmass=1.44 | |
8243 | c FM=FNS(1.44,SRT,1.) | |
8244 | FM=FNS(xdmass,SRT,1.) | |
8245 | clin-10/25/02-end | |
8246 | ||
8247 | ENDIF | |
8248 | IF(FM.EQ.0.)FM=1.E-09 | |
8249 | NTRY2=0 | |
8250 | 11 DM=RANART(NSEED)*(DMAX-DMIN)+DMIN | |
8251 | NTRY2=NTRY2+1 | |
8252 | IF((RANART(NSEED).GT.FNS(DM,SRT,1.)/FM).AND. | |
8253 | 1 (NTRY2.LE.10)) GO TO 11 | |
8254 | ||
8255 | clin-2/26/03 limit the N* mass below a certain value | |
8256 | c (here taken as its central value + 2* B-W fullwidth): | |
8257 | if(dm.gt.2.14) goto 11 | |
8258 | ||
8259 | GO TO 13 | |
8260 | ENDIF | |
8261 | IF((n12.ge.17).AND.(N12.LE.36))then | |
8262 | * N*(1535) production | |
8263 | IF(DMAX.LT.1.535) THEN | |
8264 | FM=FD5(DMAX,SRT,0.) | |
8265 | ELSE | |
8266 | ||
8267 | clin-10/25/02 get rid of argument usage mismatch in FNS(): | |
8268 | xdmass=1.535 | |
8269 | c FM=FD5(1.535,SRT,1.) | |
8270 | FM=FD5(xdmass,SRT,1.) | |
8271 | clin-10/25/02-end | |
8272 | ||
8273 | ENDIF | |
8274 | IF(FM.EQ.0.)FM=1.E-09 | |
8275 | NTRY1=0 | |
8276 | 12 DM = RANART(NSEED) * (DMAX-DMIN) + DMIN | |
8277 | NTRY1=NTRY1+1 | |
8278 | IF((RANART(NSEED) .GT. FD5(DM,SRT,1.)/FM).AND. | |
8279 | 1 (NTRY1.LE.10)) GOTO 12 | |
8280 | ||
8281 | clin-2/26/03 limit the N* mass below a certain value | |
8282 | c (here taken as its central value + 2* B-W fullwidth): | |
8283 | if(dm.gt.1.84) goto 12 | |
8284 | ||
8285 | ENDIF | |
8286 | 13 CONTINUE | |
8287 | *------------------------------------------------------- | |
8288 | * RELABLE BARYON I1 AND I2 | |
8289 | *13 D(++)+D(-)--> N*(+)(14)+n | |
8290 | IF(N12.EQ.13)THEN | |
8291 | IF(RANART(NSEED).LE.0.5)THEN | |
8292 | LB(I2)=11 | |
8293 | E(I2)=DM | |
8294 | LB(I1)=2 | |
8295 | E(I1)=AMN | |
8296 | ELSE | |
8297 | LB(I1)=11 | |
8298 | E(I1)=DM | |
8299 | LB(I2)=2 | |
8300 | E(I2)=AMN | |
8301 | ENDIF | |
8302 | go to 200 | |
8303 | ENDIF | |
8304 | *14 D(++)+D(-)--> N*(0)(14)+P | |
8305 | IF(N12.EQ.14)THEN | |
8306 | IF(RANART(NSEED).LE.0.5)THEN | |
8307 | LB(I2)=10 | |
8308 | E(I2)=DM | |
8309 | LB(I1)=1 | |
8310 | E(I1)=AMP | |
8311 | ELSE | |
8312 | LB(I1)=10 | |
8313 | E(I1)=DM | |
8314 | LB(I2)=1 | |
8315 | E(I2)=AMP | |
8316 | ENDIF | |
8317 | go to 200 | |
8318 | ENDIF | |
8319 | *15 D(+)+D(0)--> N*(+)(14)+n | |
8320 | IF(N12.EQ.15)THEN | |
8321 | IF(RANART(NSEED).LE.0.5)THEN | |
8322 | LB(I2)=11 | |
8323 | E(I2)=DM | |
8324 | LB(I1)=2 | |
8325 | E(I1)=AMN | |
8326 | ELSE | |
8327 | LB(I1)=11 | |
8328 | E(I1)=DM | |
8329 | LB(I2)=2 | |
8330 | E(I2)=AMN | |
8331 | ENDIF | |
8332 | go to 200 | |
8333 | ENDIF | |
8334 | *16 D(+)+D(0)--> N*(0)(14)+P | |
8335 | IF(N12.EQ.16)THEN | |
8336 | IF(RANART(NSEED).LE.0.5)THEN | |
8337 | LB(I2)=10 | |
8338 | E(I2)=DM | |
8339 | LB(I1)=1 | |
8340 | E(I1)=AMP | |
8341 | ELSE | |
8342 | LB(I1)=10 | |
8343 | E(I1)=DM | |
8344 | LB(I2)=1 | |
8345 | E(I2)=AMP | |
8346 | ENDIF | |
8347 | go to 200 | |
8348 | ENDIF | |
8349 | *17 D(++)+D(0)--> N*(+)(14)+P | |
8350 | IF(N12.EQ.17)THEN | |
8351 | LB(I2)=13 | |
8352 | E(I2)=DM | |
8353 | LB(I1)=1 | |
8354 | E(I1)=AMP | |
8355 | go to 200 | |
8356 | ENDIF | |
8357 | *18 D(++)+D(-)--> N*(0)(15)+P | |
8358 | IF(N12.EQ.18)THEN | |
8359 | IF(RANART(NSEED).LE.0.5)THEN | |
8360 | LB(I2)=12 | |
8361 | E(I2)=DM | |
8362 | LB(I1)=1 | |
8363 | E(I1)=AMP | |
8364 | ELSE | |
8365 | LB(I1)=12 | |
8366 | E(I1)=DM | |
8367 | LB(I2)=1 | |
8368 | E(I2)=AMP | |
8369 | ENDIF | |
8370 | go to 200 | |
8371 | ENDIF | |
8372 | *19 D(++)+D(-)--> N*(+)(15)+N | |
8373 | IF(N12.EQ.19)THEN | |
8374 | IF(RANART(NSEED).LE.0.5)THEN | |
8375 | LB(I2)=13 | |
8376 | E(I2)=DM | |
8377 | LB(I1)=2 | |
8378 | E(I1)=AMN | |
8379 | ELSE | |
8380 | LB(I1)=13 | |
8381 | E(I1)=DM | |
8382 | LB(I2)=2 | |
8383 | E(I2)=AMN | |
8384 | ENDIF | |
8385 | go to 200 | |
8386 | ENDIF | |
8387 | *20 D(+)+D(+)--> N*(+)(15)+P | |
8388 | IF(N12.EQ.20)THEN | |
8389 | IF(RANART(NSEED).LE.0.5)THEN | |
8390 | LB(I2)=13 | |
8391 | E(I2)=DM | |
8392 | LB(I1)=1 | |
8393 | E(I1)=AMP | |
8394 | ELSE | |
8395 | LB(I1)=13 | |
8396 | E(I1)=DM | |
8397 | LB(I2)=1 | |
8398 | E(I2)=AMP | |
8399 | ENDIF | |
8400 | go to 200 | |
8401 | ENDIF | |
8402 | *21 D(+)+D(0)--> N*(+)(15)+N | |
8403 | IF(N12.EQ.21)THEN | |
8404 | IF(RANART(NSEED).LE.0.5)THEN | |
8405 | LB(I2)=13 | |
8406 | E(I2)=DM | |
8407 | LB(I1)=2 | |
8408 | E(I1)=AMN | |
8409 | ELSE | |
8410 | LB(I1)=13 | |
8411 | E(I1)=DM | |
8412 | LB(I2)=2 | |
8413 | E(I2)=AMN | |
8414 | ENDIF | |
8415 | go to 200 | |
8416 | ENDIF | |
8417 | *22 D(+)+D(0)--> N*(0)(15)+P | |
8418 | IF(N12.EQ.22)THEN | |
8419 | IF(RANART(NSEED).LE.0.5)THEN | |
8420 | LB(I2)=12 | |
8421 | E(I2)=DM | |
8422 | LB(I1)=1 | |
8423 | E(I1)=AMP | |
8424 | ELSE | |
8425 | LB(I1)=12 | |
8426 | E(I1)=DM | |
8427 | LB(I2)=1 | |
8428 | E(I2)=AMP | |
8429 | ENDIF | |
8430 | go to 200 | |
8431 | ENDIF | |
8432 | *23 D(+)+D(-)--> N*(0)(15)+N | |
8433 | IF(N12.EQ.23)THEN | |
8434 | IF(RANART(NSEED).LE.0.5)THEN | |
8435 | LB(I2)=12 | |
8436 | E(I2)=DM | |
8437 | LB(I1)=2 | |
8438 | E(I1)=AMN | |
8439 | ELSE | |
8440 | LB(I1)=12 | |
8441 | E(I1)=DM | |
8442 | LB(I2)=2 | |
8443 | E(I2)=AMN | |
8444 | ENDIF | |
8445 | go to 200 | |
8446 | ENDIF | |
8447 | *24 D(0)+D(0)--> N*(0)(15)+N | |
8448 | IF(N12.EQ.24)THEN | |
8449 | LB(I2)=12 | |
8450 | E(I2)=DM | |
8451 | LB(I1)=2 | |
8452 | E(I1)=AMN | |
8453 | go to 200 | |
8454 | ENDIF | |
8455 | *25 N*(+)+N*(+)--> N*(0)(15)+P | |
8456 | IF(N12.EQ.25)THEN | |
8457 | LB(I2)=12 | |
8458 | E(I2)=DM | |
8459 | LB(I1)=1 | |
8460 | E(I1)=AMP | |
8461 | go to 200 | |
8462 | ENDIF | |
8463 | *26 N*(0)+N*(0)--> N*(0)(15)+N | |
8464 | IF(N12.EQ.26)THEN | |
8465 | LB(I2)=12 | |
8466 | E(I2)=DM | |
8467 | LB(I1)=2 | |
8468 | E(I1)=AMN | |
8469 | go to 200 | |
8470 | ENDIF | |
8471 | *27 N*(+)+N*(0)--> N*(+)(15)+N | |
8472 | IF(N12.EQ.27)THEN | |
8473 | IF(RANART(NSEED).LE.0.5)THEN | |
8474 | LB(I2)=13 | |
8475 | E(I2)=DM | |
8476 | LB(I1)=2 | |
8477 | E(I1)=AMN | |
8478 | ELSE | |
8479 | LB(I1)=13 | |
8480 | E(I1)=DM | |
8481 | LB(I2)=2 | |
8482 | E(I2)=AMN | |
8483 | ENDIF | |
8484 | go to 200 | |
8485 | ENDIF | |
8486 | *28 N*(+)+N*(0)--> N*(0)(15)+P | |
8487 | IF(N12.EQ.28)THEN | |
8488 | IF(RANART(NSEED).LE.0.5)THEN | |
8489 | LB(I2)=12 | |
8490 | E(I2)=DM | |
8491 | LB(I1)=1 | |
8492 | E(I1)=AMP | |
8493 | ELSE | |
8494 | LB(I1)=12 | |
8495 | E(I1)=DM | |
8496 | LB(I2)=1 | |
8497 | E(I2)=AMP | |
8498 | ENDIF | |
8499 | go to 200 | |
8500 | ENDIF | |
8501 | *27 N*(+)+N*(0)--> N*(+)(15)+N | |
8502 | IF(N12.EQ.27)THEN | |
8503 | IF(RANART(NSEED).LE.0.5)THEN | |
8504 | LB(I2)=13 | |
8505 | E(I2)=DM | |
8506 | LB(I1)=2 | |
8507 | E(I1)=AMN | |
8508 | ELSE | |
8509 | LB(I1)=13 | |
8510 | E(I1)=DM | |
8511 | LB(I2)=2 | |
8512 | E(I2)=AMN | |
8513 | ENDIF | |
8514 | go to 200 | |
8515 | ENDIF | |
8516 | *29 N*(+)+D(+)--> N*(+)(15)+P | |
8517 | IF(N12.EQ.29)THEN | |
8518 | IF(RANART(NSEED).LE.0.5)THEN | |
8519 | LB(I2)=13 | |
8520 | E(I2)=DM | |
8521 | LB(I1)=1 | |
8522 | E(I1)=AMP | |
8523 | ELSE | |
8524 | LB(I1)=13 | |
8525 | E(I1)=DM | |
8526 | LB(I2)=1 | |
8527 | E(I2)=AMP | |
8528 | ENDIF | |
8529 | go to 200 | |
8530 | ENDIF | |
8531 | *30 N*(+)+D(0)--> N*(+)(15)+N | |
8532 | IF(N12.EQ.30)THEN | |
8533 | IF(RANART(NSEED).LE.0.5)THEN | |
8534 | LB(I2)=13 | |
8535 | E(I2)=DM | |
8536 | LB(I1)=2 | |
8537 | E(I1)=AMN | |
8538 | ELSE | |
8539 | LB(I1)=13 | |
8540 | E(I1)=DM | |
8541 | LB(I2)=2 | |
8542 | E(I2)=AMN | |
8543 | ENDIF | |
8544 | go to 200 | |
8545 | ENDIF | |
8546 | *31 N*(+)+D(-)--> N*(0)(15)+N | |
8547 | IF(N12.EQ.31)THEN | |
8548 | IF(RANART(NSEED).LE.0.5)THEN | |
8549 | LB(I2)=12 | |
8550 | E(I2)=DM | |
8551 | LB(I1)=2 | |
8552 | E(I1)=AMN | |
8553 | ELSE | |
8554 | LB(I1)=12 | |
8555 | E(I1)=DM | |
8556 | LB(I2)=2 | |
8557 | E(I2)=AMN | |
8558 | ENDIF | |
8559 | go to 200 | |
8560 | ENDIF | |
8561 | *32 N*(0)+D(++)--> N*(+)(15)+P | |
8562 | IF(N12.EQ.32)THEN | |
8563 | IF(RANART(NSEED).LE.0.5)THEN | |
8564 | LB(I2)=13 | |
8565 | E(I2)=DM | |
8566 | LB(I1)=1 | |
8567 | E(I1)=AMP | |
8568 | ELSE | |
8569 | LB(I1)=13 | |
8570 | E(I1)=DM | |
8571 | LB(I2)=1 | |
8572 | E(I2)=AMP | |
8573 | ENDIF | |
8574 | go to 200 | |
8575 | ENDIF | |
8576 | *33 N*(0)+D(+)--> N*(+)(15)+N | |
8577 | IF(N12.EQ.33)THEN | |
8578 | IF(RANART(NSEED).LE.0.5)THEN | |
8579 | LB(I2)=13 | |
8580 | E(I2)=DM | |
8581 | LB(I1)=2 | |
8582 | E(I1)=AMN | |
8583 | ELSE | |
8584 | LB(I1)=13 | |
8585 | E(I1)=DM | |
8586 | LB(I2)=2 | |
8587 | E(I2)=AMN | |
8588 | ENDIF | |
8589 | go to 200 | |
8590 | ENDIF | |
8591 | *34 N*(0)+D(+)--> N*(0)(15)+P | |
8592 | IF(N12.EQ.34)THEN | |
8593 | IF(RANART(NSEED).LE.0.5)THEN | |
8594 | LB(I2)=12 | |
8595 | E(I2)=DM | |
8596 | LB(I1)=1 | |
8597 | E(I1)=AMP | |
8598 | ELSE | |
8599 | LB(I1)=12 | |
8600 | E(I1)=DM | |
8601 | LB(I2)=1 | |
8602 | E(I2)=AMP | |
8603 | ENDIF | |
8604 | go to 200 | |
8605 | ENDIF | |
8606 | *35 N*(0)+D(0)--> N*(0)(15)+N | |
8607 | IF(N12.EQ.35)THEN | |
8608 | IF(RANART(NSEED).LE.0.5)THEN | |
8609 | LB(I2)=12 | |
8610 | E(I2)=DM | |
8611 | LB(I1)=2 | |
8612 | E(I1)=AMN | |
8613 | ELSE | |
8614 | LB(I1)=12 | |
8615 | E(I1)=DM | |
8616 | LB(I2)=2 | |
8617 | E(I2)=AMN | |
8618 | ENDIF | |
8619 | go to 200 | |
8620 | ENDIF | |
8621 | *36 N*(+)+D(0)--> N*(0)(15)+P | |
8622 | IF(N12.EQ.36)THEN | |
8623 | IF(RANART(NSEED).LE.0.5)THEN | |
8624 | LB(I2)=12 | |
8625 | E(I2)=DM | |
8626 | LB(I1)=1 | |
8627 | E(I1)=AMP | |
8628 | ELSE | |
8629 | LB(I1)=12 | |
8630 | E(I1)=DM | |
8631 | LB(I2)=1 | |
8632 | E(I2)=AMP | |
8633 | ENDIF | |
8634 | go to 200 | |
8635 | ENDIF | |
8636 | 1012 continue | |
8637 | iblock=55 | |
8638 | lb1=lb(i1) | |
8639 | lb2=lb(i2) | |
8640 | ich=iabs(lb1*lb2) | |
8641 | *------------------------------------------------------- | |
8642 | * RELABLE BARYON I1 AND I2 in the reabsorption processes | |
8643 | *37 D(++)+D(-)--> n+p | |
8644 | IF(ich.EQ.9*6)THEN | |
8645 | IF(RANART(NSEED).LE.0.5)THEN | |
8646 | LB(I2)=1 | |
8647 | E(I2)=amp | |
8648 | LB(I1)=2 | |
8649 | E(I1)=AMN | |
8650 | ELSE | |
8651 | LB(I1)=1 | |
8652 | E(I1)=amp | |
8653 | LB(I2)=2 | |
8654 | E(I2)=AMN | |
8655 | ENDIF | |
8656 | go to 200 | |
8657 | ENDIF | |
8658 | *38 D(+)+D(0)--> n+p | |
8659 | IF(ich.EQ.8*7)THEN | |
8660 | IF(RANART(NSEED).LE.0.5)THEN | |
8661 | LB(I2)=1 | |
8662 | E(I2)=amp | |
8663 | LB(I1)=2 | |
8664 | E(I1)=AMN | |
8665 | ELSE | |
8666 | LB(I1)=1 | |
8667 | E(I1)=amp | |
8668 | LB(I2)=2 | |
8669 | E(I2)=AMN | |
8670 | ENDIF | |
8671 | go to 200 | |
8672 | ENDIF | |
8673 | *39 D(++)+D(0)--> p+p | |
8674 | IF(ich.EQ.9*7)THEN | |
8675 | LB(I2)=1 | |
8676 | E(I2)=amp | |
8677 | LB(I1)=1 | |
8678 | E(I1)=AMP | |
8679 | go to 200 | |
8680 | ENDIF | |
8681 | *40 D(+)+D(+)--> p+p | |
8682 | IF(ich.EQ.8*8)THEN | |
8683 | LB(I2)=1 | |
8684 | E(I2)=amp | |
8685 | LB(I1)=1 | |
8686 | E(I1)=AMP | |
8687 | go to 200 | |
8688 | ENDIF | |
8689 | *41 D(+)+D(-)--> n+n | |
8690 | IF(ich.EQ.8*6)THEN | |
8691 | LB(I2)=2 | |
8692 | E(I2)=amn | |
8693 | LB(I1)=2 | |
8694 | E(I1)=AMN | |
8695 | go to 200 | |
8696 | ENDIF | |
8697 | *42 D(0)+D(0)--> n+n | |
8698 | IF(ich.EQ.6*6)THEN | |
8699 | LB(I2)=2 | |
8700 | E(I2)=amn | |
8701 | LB(I1)=2 | |
8702 | E(I1)=AMN | |
8703 | go to 200 | |
8704 | ENDIF | |
8705 | *43 N*(+)+N*(+)--> p+p | |
8706 | IF(ich.EQ.11*11.or.ich.eq.13*13.or.ich.eq.11*13)THEN | |
8707 | LB(I2)=1 | |
8708 | E(I2)=amp | |
8709 | LB(I1)=1 | |
8710 | E(I1)=AMP | |
8711 | go to 200 | |
8712 | ENDIF | |
8713 | *44 N*(0)(1440)+N*(0)--> n+n | |
8714 | IF(ich.EQ.10*10.or.ich.eq.12*12.or.ich.eq.10*12)THEN | |
8715 | LB(I2)=2 | |
8716 | E(I2)=amn | |
8717 | LB(I1)=2 | |
8718 | E(I1)=AMN | |
8719 | go to 200 | |
8720 | ENDIF | |
8721 | *45 N*(+)+N*(0)--> n+p | |
8722 | IF(ich.EQ.10*11.or.ich.eq.12*13.or.ich. | |
8723 | & eq.10*13.or.ich.eq.11*12)THEN | |
8724 | IF(RANART(NSEED).LE.0.5)THEN | |
8725 | LB(I2)=1 | |
8726 | E(I2)=amp | |
8727 | LB(I1)=2 | |
8728 | E(I1)=AMN | |
8729 | ELSE | |
8730 | LB(I1)=1 | |
8731 | E(I1)=amp | |
8732 | LB(I2)=2 | |
8733 | E(I2)=AMN | |
8734 | ENDIF | |
8735 | go to 200 | |
8736 | ENDIF | |
8737 | *46 N*(+)+D(+)--> p+p | |
8738 | IF(ich.eq.11*8.or.ich.eq.13*8)THEN | |
8739 | LB(I2)=1 | |
8740 | E(I2)=amp | |
8741 | LB(I1)=1 | |
8742 | E(I1)=AMP | |
8743 | go to 200 | |
8744 | ENDIF | |
8745 | *47 N*(+)+D(0)--> n+p | |
8746 | IF(ich.EQ.11*7.or.ich.eq.13*7)THEN | |
8747 | IF(RANART(NSEED).LE.0.5)THEN | |
8748 | LB(I2)=1 | |
8749 | E(I2)=amp | |
8750 | LB(I1)=2 | |
8751 | E(I1)=AMN | |
8752 | ELSE | |
8753 | LB(I1)=1 | |
8754 | E(I1)=amp | |
8755 | LB(I2)=2 | |
8756 | E(I2)=AMN | |
8757 | ENDIF | |
8758 | go to 200 | |
8759 | ENDIF | |
8760 | *48 N*(+)+D(-)--> n+n | |
8761 | IF(ich.EQ.11*6.or.ich.eq.13*6)THEN | |
8762 | LB(I2)=2 | |
8763 | E(I2)=amn | |
8764 | LB(I1)=2 | |
8765 | E(I1)=AMN | |
8766 | go to 200 | |
8767 | ENDIF | |
8768 | *49 N*(0)+D(++)--> p+p | |
8769 | IF(ich.EQ.10*9.or.ich.eq.12*9)THEN | |
8770 | LB(I2)=1 | |
8771 | E(I2)=amp | |
8772 | LB(I1)=1 | |
8773 | E(I1)=AMP | |
8774 | go to 200 | |
8775 | ENDIF | |
8776 | *50 N*(0)+D(0)--> n+n | |
8777 | IF(ich.EQ.10*7.or.ich.eq.12*7)THEN | |
8778 | LB(I2)=2 | |
8779 | E(I2)=amn | |
8780 | LB(I1)=2 | |
8781 | E(I1)=AMN | |
8782 | go to 200 | |
8783 | ENDIF | |
8784 | *51 N*(0)+D(+)--> n+p | |
8785 | IF(ich.EQ.10*8.or.ich.eq.12*8)THEN | |
8786 | IF(RANART(NSEED).LE.0.5)THEN | |
8787 | LB(I2)=2 | |
8788 | E(I2)=amn | |
8789 | LB(I1)=1 | |
8790 | E(I1)=AMP | |
8791 | ELSE | |
8792 | LB(I1)=2 | |
8793 | E(I1)=amn | |
8794 | LB(I2)=1 | |
8795 | E(I2)=AMP | |
8796 | ENDIF | |
8797 | go to 200 | |
8798 | ENDIF | |
8799 | lb(i1)=1 | |
8800 | e(i1)=amp | |
8801 | lb(i2)=2 | |
8802 | e(i2)=amn | |
8803 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
8804 | * ENERGY CONSERVATION | |
8805 | * resonance production or absorption in resonance+resonance collisions is | |
8806 | * assumed to have the same pt distribution as pp | |
8807 | 200 EM1=E(I1) | |
8808 | EM2=E(I2) | |
8809 | PR2 = (SRT**2 - EM1**2 - EM2**2)**2 | |
8810 | 1 - 4.0 * (EM1*EM2)**2 | |
8811 | IF(PR2.LE.0.)PR2=1.e-09 | |
8812 | PR=SQRT(PR2)/(2.*SRT) | |
8813 | if(srt.le.2.14)C1= 1.0 - 2.0 * RANART(NSEED) | |
86c53b9e | 8814 | if(srt.gt.2.14.and.srt.le.2.4)c1=anga(srt,iseed) |
0119ef9a | 8815 | if(srt.gt.2.4)then |
8816 | ||
8817 | clin-10/25/02 get rid of argument usage mismatch in PTR(): | |
8818 | xptr=0.33*pr | |
8819 | c cc1=ptr(0.33*pr,iseed) | |
8820 | cc1=ptr(xptr,iseed) | |
8821 | clin-10/25/02-end | |
8822 | ||
8823 | c1=sqrt(pr**2-cc1**2)/pr | |
8824 | endif | |
8825 | T1 = 2.0 * PI * RANART(NSEED) | |
8826 | if(ianti.eq.1 .and. lb(i1).ge.1 .and. lb(i2).ge.1)then | |
8827 | lb(i1) = -lb(i1) | |
8828 | lb(i2) = -lb(i2) | |
8829 | endif | |
8830 | ENDIF | |
8831 | *COM: SET THE NEW MOMENTUM COORDINATES | |
8832 | 107 S1 = SQRT( 1.0 - C1**2 ) | |
8833 | S2 = SQRT( 1.0 - C2**2 ) | |
8834 | CT1 = COS(T1) | |
8835 | ST1 = SIN(T1) | |
8836 | CT2 = COS(T2) | |
8837 | ST2 = SIN(T2) | |
8838 | PZ = PR * ( C1*C2 - S1*S2*CT1 ) | |
8839 | SS = C2 * S1 * CT1 + S2 * C1 | |
8840 | PX = PR * ( SS*CT2 - S1*ST1*ST2 ) | |
8841 | PY = PR * ( SS*ST2 + S1*ST1*CT2 ) | |
8842 | RETURN | |
8843 | * FOR THE DD-->KAON+X PROCESS, FIND MOMENTUM OF THE FINAL PARTICLES IN | |
8844 | * THE NUCLEUS-NUCLEUS CMS. | |
8845 | 306 CONTINUE | |
8846 | csp11/21/01 phi production | |
8847 | if(XSK5/sigK.gt.RANART(NSEED))then | |
8848 | pz1=p(3,i1) | |
8849 | pz2=p(3,i2) | |
8850 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
8851 | LB(I2) = 1 + int(2 * RANART(NSEED)) | |
8852 | nnn=nnn+1 | |
8853 | LPION(NNN,IRUN)=29 | |
8854 | EPION(NNN,IRUN)=APHI | |
8855 | iblock = 222 | |
8856 | GO TO 208 | |
8857 | ENDIF | |
8858 | iblock=10 | |
8859 | if(ianti .eq. 1)iblock=-10 | |
8860 | pz1=p(3,i1) | |
8861 | pz2=p(3,i2) | |
8862 | * DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
8863 | nnn=nnn+1 | |
8864 | LPION(NNN,IRUN)=23 | |
8865 | EPION(NNN,IRUN)=Aka | |
8866 | if(srt.le.2.63)then | |
8867 | * only lambda production is possible | |
8868 | * (1.1)P+P-->p+L+kaon+ | |
8869 | ic=1 | |
8870 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
8871 | LB(I2)=14 | |
8872 | GO TO 208 | |
8873 | ENDIF | |
8874 | if(srt.le.2.74.and.srt.gt.2.63)then | |
8875 | * both Lambda and sigma production are possible | |
8876 | if(XSK1/(XSK1+XSK2).gt.RANART(NSEED))then | |
8877 | * lambda production | |
8878 | ic=1 | |
8879 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
8880 | LB(I2)=14 | |
8881 | else | |
8882 | * sigma production | |
8883 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
8884 | LB(I2) = 15 + int(3 * RANART(NSEED)) | |
8885 | ic=2 | |
8886 | endif | |
8887 | GO TO 208 | |
8888 | endif | |
8889 | if(srt.le.2.77.and.srt.gt.2.74)then | |
8890 | * then pp-->Delta lamda kaon can happen | |
8891 | if(xsk1/(xsk1+xsk2+xsk3).gt.RANART(NSEED))then | |
8892 | * * (1.1)P+P-->p+L+kaon+ | |
8893 | ic=1 | |
8894 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
8895 | LB(I2)=14 | |
8896 | go to 208 | |
8897 | else | |
8898 | if(xsk2/(xsk2+xsk3).gt.RANART(NSEED))then | |
8899 | * pp-->psk | |
8900 | ic=2 | |
8901 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
8902 | LB(I2) = 15 + int(3 * RANART(NSEED)) | |
8903 | else | |
8904 | * pp-->D+l+k | |
8905 | ic=3 | |
8906 | LB(I1) = 6 + int(4 * RANART(NSEED)) | |
8907 | lb(i2)=14 | |
8908 | endif | |
8909 | GO TO 208 | |
8910 | endif | |
8911 | endif | |
8912 | if(srt.gt.2.77)then | |
8913 | * all four channels are possible | |
8914 | if(xsk1/(xsk1+xsk2+xsk3+xsk4).gt.RANART(NSEED))then | |
8915 | * p lambda k production | |
8916 | ic=1 | |
8917 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
8918 | LB(I2)=14 | |
8919 | go to 208 | |
8920 | else | |
8921 | if(xsk3/(xsk2+xsk3+xsk4).gt.RANART(NSEED))then | |
8922 | * delta l K production | |
8923 | ic=3 | |
8924 | LB(I1) = 6 + int(4 * RANART(NSEED)) | |
8925 | lb(i2)=14 | |
8926 | go to 208 | |
8927 | else | |
8928 | if(xsk2/(xsk2+xsk4).gt.RANART(NSEED))then | |
8929 | * n sigma k production | |
8930 | LB(I1) = 1 + int(2 * RANART(NSEED)) | |
8931 | LB(I2) = 15 + int(3 * RANART(NSEED)) | |
8932 | ic=2 | |
8933 | else | |
8934 | * D sigma K | |
8935 | ic=4 | |
8936 | LB(I1) = 6 + int(4 * RANART(NSEED)) | |
8937 | LB(I2) = 15 + int(3 * RANART(NSEED)) | |
8938 | endif | |
8939 | go to 208 | |
8940 | endif | |
8941 | endif | |
8942 | endif | |
8943 | 208 continue | |
8944 | if(ianti.eq.1 .and. lb(i1).ge.1 .and. lb(i2).ge.1)then | |
8945 | lb(i1) = - lb(i1) | |
8946 | lb(i2) = - lb(i2) | |
8947 | if(LPION(NNN,IRUN) .eq. 23)LPION(NNN,IRUN)=21 | |
8948 | endif | |
8949 | lbi1=lb(i1) | |
8950 | lbi2=lb(i2) | |
8951 | * KEEP ALL COORDINATES OF PARTICLE 2 FOR POSSIBLE PHASE SPACE CHANGE | |
8952 | NTRY1=0 | |
8953 | 129 CALL BBKAON(ic,SRT,PX3,PY3,PZ3,DM3,PX4,PY4,PZ4,DM4, | |
8954 | & PPX,PPY,PPZ,icou1) | |
8955 | NTRY1=NTRY1+1 | |
8956 | if((icou1.lt.0).AND.(NTRY1.LE.20))GO TO 129 | |
8957 | c if(icou1.lt.0)return | |
8958 | * ROTATE THE MOMENTA OF PARTICLES IN THE CMS OF P1+P2 | |
8959 | CALL ROTATE(PX,PY,PZ,PX3,PY3,PZ3) | |
8960 | CALL ROTATE(PX,PY,PZ,PX4,PY4,PZ4) | |
8961 | CALL ROTATE(PX,PY,PZ,PPX,PPY,PPZ) | |
8962 | * FIND THE MOMENTUM OF PARTICLES IN THE FINAL STATE IN THE NUCLEUS- | |
8963 | * NUCLEUS CMS. FRAME | |
8964 | * (1) for the necleon/delta | |
8965 | * LORENTZ-TRANSFORMATION INTO LAB FRAME FOR DELTA1 | |
8966 | E1CM = SQRT (dm3**2 + PX3**2 + PY3**2 + PZ3**2) | |
8967 | P1BETA = PX3*BETAX + PY3*BETAY + PZ3*BETAZ | |
8968 | TRANSF = GAMMA * ( GAMMA * P1BETA / (GAMMA + 1) + E1CM ) | |
8969 | Pt1i1 = BETAX * TRANSF + PX3 | |
8970 | Pt2i1 = BETAY * TRANSF + PY3 | |
8971 | Pt3i1 = BETAZ * TRANSF + PZ3 | |
8972 | Eti1 = DM3 | |
8973 | * (2) for the lambda/sigma | |
8974 | E2CM = SQRT (dm4**2 + PX4**2 + PY4**2 + PZ4**2) | |
8975 | P2BETA = PX4*BETAX+PY4*BETAY+PZ4*BETAZ | |
8976 | TRANSF = GAMMA * (GAMMA*P2BETA / (GAMMA + 1.) + E2CM) | |
8977 | Pt1I2 = BETAX * TRANSF + PX4 | |
8978 | Pt2I2 = BETAY * TRANSF + PY4 | |
8979 | Pt3I2 = BETAZ * TRANSF + PZ4 | |
8980 | EtI2 = DM4 | |
8981 | * GET the kaon'S MOMENTUM AND COORDINATES IN NUCLEUS-NUCLEUS CMS. FRAME | |
8982 | EPCM=SQRT(aka**2+PPX**2+PPY**2+PPZ**2) | |
8983 | PPBETA=PPX*BETAX+PPY*BETAY+PPZ*BETAZ | |
8984 | TRANSF=GAMMA*(GAMMA*PPBETA/(GAMMA+1.)+EPCM) | |
8985 | PPION(1,NNN,IRUN)=BETAX*TRANSF+PPX | |
8986 | PPION(2,NNN,IRUN)=BETAY*TRANSF+PPY | |
8987 | PPION(3,NNN,IRUN)=BETAZ*TRANSF+PPZ | |
8988 | clin-5/2008: | |
8989 | dppion(nnn,irun)=dpertp(i1)*dpertp(i2) | |
8990 | clin-5/2008: | |
8991 | c2007 X01 = 1.0 - 2.0 * RANART(NSEED) | |
8992 | c Y01 = 1.0 - 2.0 * RANART(NSEED) | |
8993 | c Z01 = 1.0 - 2.0 * RANART(NSEED) | |
8994 | c IF ((X01*X01+Y01*Y01+Z01*Z01) .GT. 1.0) GOTO 2007 | |
8995 | c RPION(1,NNN,IRUN)=R(1,I1)+0.5*x01 | |
8996 | c RPION(2,NNN,IRUN)=R(2,I1)+0.5*y01 | |
8997 | c RPION(3,NNN,IRUN)=R(3,I1)+0.5*z01 | |
8998 | RPION(1,NNN,IRUN)=R(1,I1) | |
8999 | RPION(2,NNN,IRUN)=R(2,I1) | |
9000 | RPION(3,NNN,IRUN)=R(3,I1) | |
9001 | c | |
9002 | * assign the nucleon/delta and lambda/sigma to i1 or i2 to keep the | |
9003 | * leadng particle behaviour | |
9004 | C if((pt1i1*px1+pt2i1*py1+pt3i1*pz1).gt.0)then | |
9005 | p(1,i1)=pt1i1 | |
9006 | p(2,i1)=pt2i1 | |
9007 | p(3,i1)=pt3i1 | |
9008 | e(i1)=eti1 | |
9009 | lb(i1)=lbi1 | |
9010 | p(1,i2)=pt1i2 | |
9011 | p(2,i2)=pt2i2 | |
9012 | p(3,i2)=pt3i2 | |
9013 | e(i2)=eti2 | |
9014 | lb(i2)=lbi2 | |
9015 | PX1 = P(1,I1) | |
9016 | PY1 = P(2,I1) | |
9017 | PZ1 = P(3,I1) | |
9018 | EM1 = E(I1) | |
9019 | ID(I1) = 2 | |
9020 | ID(I2) = 2 | |
9021 | ID1 = ID(I1) | |
9022 | LB1=LB(I1) | |
9023 | LB2=LB(I2) | |
9024 | AM1=EM1 | |
9025 | am2=em2 | |
9026 | E1= SQRT( EM1**2 + PX1**2 + PY1**2 + PZ1**2 ) | |
9027 | RETURN | |
9028 | ||
9029 | clin-6/2008 D+D->Deuteron+pi: | |
9030 | * FIND MOMENTUM OF THE FINAL PARTICLES IN THE NUCLEUS-NUCLEUS CMS. | |
9031 | 108 CONTINUE | |
9032 | if(idpert.eq.1.and.ipert1.eq.1.and.npertd.ge.1) then | |
9033 | c For idpert=1: we produce npertd pert deuterons: | |
9034 | ndloop=npertd | |
9035 | elseif(idpert.eq.2.and.npertd.ge.1) then | |
9036 | c For idpert=2: we first save information for npertd pert deuterons; | |
9037 | c at the last ndloop we create the regular deuteron+pi | |
9038 | c and those pert deuterons: | |
9039 | ndloop=npertd+1 | |
9040 | else | |
9041 | c Just create the regular deuteron+pi: | |
9042 | ndloop=1 | |
9043 | endif | |
9044 | c | |
9045 | dprob1=sdprod/sig/float(npertd) | |
9046 | do idloop=1,ndloop | |
9047 | CALL bbdangle(pxd,pyd,pzd,nt,ipert1,ianti,idloop,pfinal, | |
9048 | 1 dprob1,lbm) | |
9049 | CALL ROTATE(PX,PY,PZ,PXd,PYd,PZd) | |
9050 | * LORENTZ-TRANSFORMATION OF THE MOMENTUM OF PARTICLES IN THE FINAL STATE | |
9051 | * FROM THE NN CMS FRAME INTO THE GLOBAL CMS FRAME: | |
9052 | * For the Deuteron: | |
9053 | xmass=xmd | |
9054 | E1dCM=SQRT(xmass**2+PXd**2+PYd**2+PZd**2) | |
9055 | P1dBETA=PXd*BETAX+PYd*BETAY+PZd*BETAZ | |
9056 | TRANSF=GAMMA*(GAMMA*P1dBETA/(GAMMA+1.)+E1dCM) | |
9057 | pxi1=BETAX*TRANSF+PXd | |
9058 | pyi1=BETAY*TRANSF+PYd | |
9059 | pzi1=BETAZ*TRANSF+PZd | |
9060 | if(ianti.eq.0)then | |
9061 | lbd=42 | |
9062 | else | |
9063 | lbd=-42 | |
9064 | endif | |
9065 | if(idpert.eq.1.and.ipert1.eq.1.and.npertd.ge.1) then | |
9066 | cccc Perturbative production for idpert=1: | |
9067 | nnn=nnn+1 | |
9068 | PPION(1,NNN,IRUN)=pxi1 | |
9069 | PPION(2,NNN,IRUN)=pyi1 | |
9070 | PPION(3,NNN,IRUN)=pzi1 | |
9071 | EPION(NNN,IRUN)=xmd | |
9072 | LPION(NNN,IRUN)=lbd | |
9073 | RPION(1,NNN,IRUN)=R(1,I1) | |
9074 | RPION(2,NNN,IRUN)=R(2,I1) | |
9075 | RPION(3,NNN,IRUN)=R(3,I1) | |
9076 | clin-6/2008 assign the perturbative probability: | |
9077 | dppion(NNN,IRUN)=sdprod/sig/float(npertd) | |
9078 | elseif(idpert.eq.2.and.idloop.le.npertd) then | |
9079 | clin-6/2008 For idpert=2, we produce NPERTD perturbative (anti)deuterons | |
9080 | c only when a regular (anti)deuteron+pi is produced in NN collisions. | |
9081 | c First save the info for the perturbative deuterons: | |
9082 | ppd(1,idloop)=pxi1 | |
9083 | ppd(2,idloop)=pyi1 | |
9084 | ppd(3,idloop)=pzi1 | |
9085 | lbpd(idloop)=lbd | |
9086 | else | |
9087 | cccc Regular production: | |
9088 | c For the regular pion: do LORENTZ-TRANSFORMATION: | |
9089 | E(i1)=xmm | |
9090 | E2piCM=SQRT(xmm**2+PXd**2+PYd**2+PZd**2) | |
9091 | P2piBETA=-PXd*BETAX-PYd*BETAY-PZd*BETAZ | |
9092 | TRANSF=GAMMA*(GAMMA*P2piBETA/(GAMMA+1.)+E2piCM) | |
9093 | pxi2=BETAX*TRANSF-PXd | |
9094 | pyi2=BETAY*TRANSF-PYd | |
9095 | pzi2=BETAZ*TRANSF-PZd | |
9096 | p(1,i1)=pxi2 | |
9097 | p(2,i1)=pyi2 | |
9098 | p(3,i1)=pzi2 | |
9099 | c Remove regular pion to check the equivalence | |
9100 | c between the perturbative and regular deuteron results: | |
9101 | c E(i1)=0. | |
9102 | c | |
9103 | LB(I1)=lbm | |
9104 | PX1=P(1,I1) | |
9105 | PY1=P(2,I1) | |
9106 | PZ1=P(3,I1) | |
9107 | EM1=E(I1) | |
9108 | ID(I1)=2 | |
9109 | ID1=ID(I1) | |
9110 | E1=SQRT(EM1**2+PX1**2+PY1**2+PZ1**2) | |
9111 | lb1=lb(i1) | |
9112 | c For the regular deuteron: | |
9113 | p(1,i2)=pxi1 | |
9114 | p(2,i2)=pyi1 | |
9115 | p(3,i2)=pzi1 | |
9116 | lb(i2)=lbd | |
9117 | lb2=lb(i2) | |
9118 | E(i2)=xmd | |
9119 | EtI2=E(I2) | |
9120 | ID(I2)=2 | |
9121 | c For idpert=2: create the perturbative deuterons: | |
9122 | if(idpert.eq.2.and.idloop.eq.ndloop) then | |
9123 | do ipertd=1,npertd | |
9124 | nnn=nnn+1 | |
9125 | PPION(1,NNN,IRUN)=ppd(1,ipertd) | |
9126 | PPION(2,NNN,IRUN)=ppd(2,ipertd) | |
9127 | PPION(3,NNN,IRUN)=ppd(3,ipertd) | |
9128 | EPION(NNN,IRUN)=xmd | |
9129 | LPION(NNN,IRUN)=lbpd(ipertd) | |
9130 | RPION(1,NNN,IRUN)=R(1,I1) | |
9131 | RPION(2,NNN,IRUN)=R(2,I1) | |
9132 | RPION(3,NNN,IRUN)=R(3,I1) | |
9133 | clin-6/2008 assign the perturbative probability: | |
9134 | dppion(NNN,IRUN)=1./float(npertd) | |
9135 | enddo | |
9136 | endif | |
9137 | endif | |
9138 | enddo | |
9139 | IBLOCK=501 | |
9140 | return | |
9141 | clin-6/2008 D+D->Deuteron+pi over | |
9142 | ||
9143 | END | |
9144 | ********************************** | |
9145 | ********************************** | |
9146 | * * | |
9147 | SUBROUTINE INIT(MINNUM,MAXNUM,NUM,RADIUS,X0,Z0,P0, | |
9148 | & GAMMA,ISEED,MASS,IOPT) | |
9149 | * * | |
9150 | * PURPOSE: PROVIDING INITIAL CONDITIONS FOR PHASE-SPACE * | |
9151 | * DISTRIBUTION OF TESTPARTICLES * | |
9152 | * VARIABLES: (ALL INPUT) * | |
9153 | * MINNUM - FIRST TESTPARTICLE TREATED IN ONE RUN (INTEGER) * | |
9154 | * MAXNUM - LAST TESTPARTICLE TREATED IN ONE RUN (INTEGER) * | |
9155 | * NUM - NUMBER OF TESTPARTICLES PER NUCLEON (INTEGER) * | |
9156 | * RADIUS - RADIUS OF NUCLEUS "FM" (REAL) * | |
9157 | * X0,Z0 - DISPLACEMENT OF CENTER OF NUCLEUS IN X,Z- * | |
9158 | * DIRECTION "FM" (REAL) * | |
9159 | * P0 - MOMENTUM-BOOST IN C.M. FRAME "GEV/C" (REAL) * | |
9160 | * GAMMA - RELATIVISTIC GAMMA-FACTOR (REAL) * | |
9161 | * ISEED - SEED FOR RANDOM-NUMBER GENERATOR (INTEGER) * | |
9162 | * MASS - TOTAL MASS OF THE SYSTEM (INTEGER) * | |
9163 | * IOPT - OPTION FOR DIFFERENT OCCUPATION OF MOMENTUM * | |
9164 | * SPACE (INTEGER) * | |
9165 | * * | |
9166 | ********************************** | |
9167 | PARAMETER (MAXSTR=150001, AMU = 0.9383) | |
9168 | PARAMETER (MAXX = 20, MAXZ = 24) | |
9169 | PARAMETER (PI=3.1415926) | |
9170 | * | |
9171 | REAL PTOT(3) | |
9172 | COMMON /AA/ R(3,MAXSTR) | |
9173 | cc SAVE /AA/ | |
9174 | COMMON /BB/ P(3,MAXSTR) | |
9175 | cc SAVE /BB/ | |
9176 | COMMON /CC/ E(MAXSTR) | |
9177 | cc SAVE /CC/ | |
9178 | COMMON /DD/ RHO(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
9179 | & RHOP(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
9180 | & RHON(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ) | |
9181 | cc SAVE /DD/ | |
9182 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
9183 | cc SAVE /EE/ | |
9184 | common /ss/ inout(20) | |
9185 | cc SAVE /ss/ | |
9186 | COMMON/RNDF77/NSEED | |
9187 | cc SAVE /RNDF77/ | |
9188 | SAVE | |
9189 | *---------------------------------------------------------------------- | |
9190 | * PREPARATION FOR LORENTZ-TRANSFORMATIONS | |
9191 | * | |
9192 | ISEED=ISEED | |
9193 | IF (P0 .NE. 0.) THEN | |
9194 | SIGN = P0 / ABS(P0) | |
9195 | ELSE | |
9196 | SIGN = 0. | |
9197 | END IF | |
9198 | BETA = SIGN * SQRT(GAMMA**2-1.)/GAMMA | |
9199 | *----------------------------------------------------------------------- | |
9200 | * TARGET-ID = 1 AND PROJECTILE-ID = -1 | |
9201 | * | |
9202 | IF (MINNUM .EQ. 1) THEN | |
9203 | IDNUM = 1 | |
9204 | ELSE | |
9205 | IDNUM = -1 | |
9206 | END IF | |
9207 | *----------------------------------------------------------------------- | |
9208 | * IDENTIFICATION OF TESTPARTICLES AND ASSIGMENT OF RESTMASS | |
9209 | * | |
9210 | * LOOP OVER ALL PARALLEL RUNS: | |
9211 | DO 400 IRUN = 1,NUM | |
9212 | DO 100 I = MINNUM+(IRUN-1)*MASS,MAXNUM+(IRUN-1)*MASS | |
9213 | ID(I) = IDNUM | |
9214 | E(I) = AMU | |
9215 | 100 CONTINUE | |
9216 | *----------------------------------------------------------------------- | |
9217 | * OCCUPATION OF COORDINATE-SPACE | |
9218 | * | |
9219 | DO 300 I = MINNUM+(IRUN-1)*MASS,MAXNUM+(IRUN-1)*MASS | |
9220 | 200 CONTINUE | |
9221 | X = 1.0 - 2.0 * RANART(NSEED) | |
9222 | Y = 1.0 - 2.0 * RANART(NSEED) | |
9223 | Z = 1.0 - 2.0 * RANART(NSEED) | |
9224 | IF ((X*X+Y*Y+Z*Z) .GT. 1.0) GOTO 200 | |
9225 | R(1,I) = X * RADIUS | |
9226 | R(2,I) = Y * RADIUS | |
9227 | R(3,I) = Z * RADIUS | |
9228 | 300 CONTINUE | |
9229 | 400 CONTINUE | |
9230 | *======================================================================= | |
9231 | IF (IOPT .NE. 3) THEN | |
9232 | *----- | |
9233 | * OPTION 1: USE WOODS-SAXON PARAMETRIZATION FOR DENSITY AND | |
9234 | *----- CALCULATE LOCAL FERMI-MOMENTUM | |
9235 | * | |
9236 | RHOW0 = 0.168 | |
9237 | DO 1000 IRUN = 1,NUM | |
9238 | DO 600 I = MINNUM+(IRUN-1)*MASS,MAXNUM+(IRUN-1)*MASS | |
9239 | 500 CONTINUE | |
9240 | PX = 1.0 - 2.0 * RANART(NSEED) | |
9241 | PY = 1.0 - 2.0 * RANART(NSEED) | |
9242 | PZ = 1.0 - 2.0 * RANART(NSEED) | |
9243 | IF (PX*PX+PY*PY+PZ*PZ .GT. 1.0) GOTO 500 | |
9244 | RDIST = SQRT( R(1,I)**2 + R(2,I)**2 + R(3,I)**2 ) | |
9245 | RHOWS = RHOW0 / ( 1.0 + EXP( (RDIST-RADIUS) / 0.55 ) ) | |
9246 | PFERMI = 0.197 * (1.5 * PI*PI * RHOWS)**(1./3.) | |
9247 | *----- | |
9248 | * OPTION 2: NUCLEAR MATTER CASE | |
9249 | IF(IOPT.EQ.2) PFERMI=0.27 | |
9250 | if(iopt.eq.4) pfermi=0. | |
9251 | *----- | |
9252 | P(1,I) = PFERMI * PX | |
9253 | P(2,I) = PFERMI * PY | |
9254 | P(3,I) = PFERMI * PZ | |
9255 | 600 CONTINUE | |
9256 | * | |
9257 | * SET TOTAL MOMENTUM TO 0 IN REST FRAME AND BOOST | |
9258 | * | |
9259 | DO 700 IDIR = 1,3 | |
9260 | PTOT(IDIR) = 0.0 | |
9261 | 700 CONTINUE | |
9262 | NPART = 0 | |
9263 | DO 900 I = MINNUM+(IRUN-1)*MASS,MAXNUM+(IRUN-1)*MASS | |
9264 | NPART = NPART + 1 | |
9265 | DO 800 IDIR = 1,3 | |
9266 | PTOT(IDIR) = PTOT(IDIR) + P(IDIR,I) | |
9267 | 800 CONTINUE | |
9268 | 900 CONTINUE | |
9269 | DO 950 I = MINNUM+(IRUN-1)*MASS,MAXNUM+(IRUN-1)*MASS | |
9270 | DO 925 IDIR = 1,3 | |
9271 | P(IDIR,I) = P(IDIR,I) - PTOT(IDIR) / FLOAT(NPART) | |
9272 | 925 CONTINUE | |
9273 | * BOOST | |
9274 | IF ((IOPT .EQ. 1).or.(iopt.eq.2)) THEN | |
9275 | EPART = SQRT(P(1,I)**2+P(2,I)**2+P(3,I)**2+AMU**2) | |
9276 | P(3,I) = GAMMA*(P(3,I) + BETA*EPART) | |
9277 | ELSE | |
9278 | P(3,I) = P(3,I) + P0 | |
9279 | END IF | |
9280 | 950 CONTINUE | |
9281 | 1000 CONTINUE | |
9282 | *----- | |
9283 | ELSE | |
9284 | *----- | |
9285 | * OPTION 3: GIVE ALL NUCLEONS JUST A Z-MOMENTUM ACCORDING TO | |
9286 | * THE BOOST OF THE NUCLEI | |
9287 | * | |
9288 | DO 1200 IRUN = 1,NUM | |
9289 | DO 1100 I = MINNUM+(IRUN-1)*MASS,MAXNUM+(IRUN-1)*MASS | |
9290 | P(1,I) = 0.0 | |
9291 | P(2,I) = 0.0 | |
9292 | P(3,I) = P0 | |
9293 | 1100 CONTINUE | |
9294 | 1200 CONTINUE | |
9295 | *----- | |
9296 | END IF | |
9297 | *======================================================================= | |
9298 | * PUT PARTICLES IN THEIR POSITION IN COORDINATE-SPACE | |
9299 | * (SHIFT AND RELATIVISTIC CONTRACTION) | |
9300 | * | |
9301 | DO 1400 IRUN = 1,NUM | |
9302 | DO 1300 I = MINNUM+(IRUN-1)*MASS,MAXNUM+(IRUN-1)*MASS | |
9303 | R(1,I) = R(1,I) + X0 | |
9304 | * two nuclei in touch after contraction | |
9305 | R(3,I) = (R(3,I)+Z0)/ GAMMA | |
9306 | * two nuclei in touch before contraction | |
9307 | c R(3,I) = R(3,I) / GAMMA + Z0 | |
9308 | 1300 CONTINUE | |
9309 | 1400 CONTINUE | |
9310 | * | |
9311 | RETURN | |
9312 | END | |
9313 | ********************************** | |
9314 | * * | |
9315 | SUBROUTINE DENS(IPOT,MASS,NUM,NESC) | |
9316 | * * | |
9317 | * PURPOSE: CALCULATION OF LOCAL BARYON, MESON AND ENERGY * | |
9318 | * DENSITY FROM SPATIAL DISTRIBUTION OF TESTPARTICLES* | |
9319 | * * | |
9320 | * VARIABLES (ALL INPUT, ALL INTEGER) * | |
9321 | * MASS - MASS NUMBER OF THE SYSTEM * | |
9322 | * NUM - NUMBER OF TESTPARTICLES PER NUCLEON * | |
9323 | * * | |
9324 | * NESC - NUMBER OF ESCAPED PARTICLES (INTEGER,OUTPUT) * | |
9325 | * * | |
9326 | ********************************** | |
9327 | PARAMETER (MAXSTR= 150001,MAXR=1) | |
9328 | PARAMETER (MAXX = 20, MAXZ = 24) | |
9329 | * | |
9330 | dimension pxl(-maxx:maxx,-maxx:maxx,-maxz:maxz), | |
9331 | 1 pyl(-maxx:maxx,-maxx:maxx,-maxz:maxz), | |
9332 | 2 pzl(-maxx:maxx,-maxx:maxx,-maxz:maxz) | |
9333 | COMMON /AA/ R(3,MAXSTR) | |
9334 | cc SAVE /AA/ | |
9335 | COMMON /BB/ P(3,MAXSTR) | |
9336 | cc SAVE /BB/ | |
9337 | COMMON /CC/ E(MAXSTR) | |
9338 | cc SAVE /CC/ | |
9339 | COMMON /DD/ RHO(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
9340 | & RHOP(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
9341 | & RHON(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ) | |
9342 | cc SAVE /DD/ | |
9343 | COMMON /DDpi/ piRHO(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ) | |
9344 | cc SAVE /DDpi/ | |
9345 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
9346 | cc SAVE /EE/ | |
9347 | common /ss/ inout(20) | |
9348 | cc SAVE /ss/ | |
9349 | COMMON /RR/ MASSR(0:MAXR) | |
9350 | cc SAVE /RR/ | |
9351 | common /tt/ PEL(-maxx:maxx,-maxx:maxx,-maxz:maxz) | |
9352 | &,rxy(-maxx:maxx,-maxx:maxx,-maxz:maxz) | |
9353 | cc SAVE /tt/ | |
9354 | common /bbb/ bxx(-maxx:maxx,-maxx:maxx,-maxz:maxz), | |
9355 | &byy(-maxx:maxx,-maxx:maxx,-maxz:maxz), | |
9356 | &bzz(-maxx:maxx,-maxx:maxx,-maxz:maxz) | |
9357 | * | |
9358 | real zet(-45:45) | |
9359 | SAVE | |
9360 | data zet / | |
9361 | 4 1.,0.,0.,0.,0., | |
9362 | 3 1.,0.,0.,0.,0.,0.,0.,0.,0.,0., | |
9363 | 2 -1.,0.,0.,0.,0.,0.,0.,0.,0.,0., | |
9364 | 1 0.,0.,0.,-1.,0.,1.,0.,-1.,0.,-1., | |
9365 | s 0.,-2.,-1.,0.,1.,0.,0.,0.,0.,-1., | |
9366 | e 0., | |
9367 | s 1.,0.,-1.,0.,1.,-1.,0.,1.,2.,0., | |
9368 | 1 1.,0.,1.,0.,-1.,0.,1.,0.,0.,0., | |
9369 | 2 -1.,0.,1.,0.,-1.,0.,1.,0.,0.,1., | |
9370 | 3 0.,0.,0.,0.,0.,0.,0.,0.,0.,-1., | |
9371 | 4 0.,0.,0.,0.,-1./ | |
9372 | ||
9373 | DO 300 IZ = -MAXZ,MAXZ | |
9374 | DO 200 IY = -MAXX,MAXX | |
9375 | DO 100 IX = -MAXX,MAXX | |
9376 | RHO(IX,IY,IZ) = 0.0 | |
9377 | RHOn(IX,IY,IZ) = 0.0 | |
9378 | RHOp(IX,IY,IZ) = 0.0 | |
9379 | piRHO(IX,IY,IZ) = 0.0 | |
9380 | pxl(ix,iy,iz) = 0.0 | |
9381 | pyl(ix,iy,iz) = 0.0 | |
9382 | pzl(ix,iy,iz) = 0.0 | |
9383 | pel(ix,iy,iz) = 0.0 | |
9384 | bxx(ix,iy,iz) = 0.0 | |
9385 | byy(ix,iy,iz) = 0.0 | |
9386 | bzz(ix,iy,iz) = 0.0 | |
9387 | 100 CONTINUE | |
9388 | 200 CONTINUE | |
9389 | 300 CONTINUE | |
9390 | * | |
9391 | NESC = 0 | |
9392 | BIG = 1.0 / ( 3.0 * FLOAT(NUM) ) | |
9393 | SMALL = 1.0 / ( 9.0 * FLOAT(NUM) ) | |
9394 | * | |
9395 | MSUM=0 | |
9396 | DO 400 IRUN = 1,NUM | |
9397 | MSUM=MSUM+MASSR(IRUN-1) | |
9398 | DO 400 J=1,MASSr(irun) | |
9399 | I=J+MSUM | |
9400 | IX = NINT( R(1,I) ) | |
9401 | IY = NINT( R(2,I) ) | |
9402 | IZ = NINT( R(3,I) ) | |
9403 | IF( IX .LE. -MAXX .OR. IX .GE. MAXX .OR. | |
9404 | & IY .LE. -MAXX .OR. IY .GE. MAXX .OR. | |
9405 | & IZ .LE. -MAXZ .OR. IZ .GE. MAXZ ) THEN | |
9406 | NESC = NESC + 1 | |
9407 | ELSE | |
9408 | c | |
9409 | csp01/04/02 include baryon density | |
9410 | if(j.gt.mass)go to 30 | |
9411 | c if( (lb(i).eq.1.or.lb(i).eq.2) .or. | |
9412 | c & (lb(i).ge.6.and.lb(i).le.17) )then | |
9413 | * (1) baryon density | |
9414 | RHO(IX, IY, IZ ) = RHO(IX, IY, IZ ) + BIG | |
9415 | RHO(IX+1,IY, IZ ) = RHO(IX+1,IY, IZ ) + SMALL | |
9416 | RHO(IX-1,IY, IZ ) = RHO(IX-1,IY, IZ ) + SMALL | |
9417 | RHO(IX, IY+1,IZ ) = RHO(IX, IY+1,IZ ) + SMALL | |
9418 | RHO(IX, IY-1,IZ ) = RHO(IX, IY-1,IZ ) + SMALL | |
9419 | RHO(IX, IY, IZ+1) = RHO(IX, IY, IZ+1) + SMALL | |
9420 | RHO(IX, IY, IZ-1) = RHO(IX, IY, IZ-1) + SMALL | |
9421 | * (2) CALCULATE THE PROTON DENSITY | |
9422 | IF(ZET(LB(I)).NE.0)THEN | |
9423 | RHOP(IX, IY, IZ ) = RHOP(IX, IY, IZ ) + BIG | |
9424 | RHOP(IX+1,IY, IZ ) = RHOP(IX+1,IY, IZ ) + SMALL | |
9425 | RHOP(IX-1,IY, IZ ) = RHOP(IX-1,IY, IZ ) + SMALL | |
9426 | RHOP(IX, IY+1,IZ ) = RHOP(IX, IY+1,IZ ) + SMALL | |
9427 | RHOP(IX, IY-1,IZ ) = RHOP(IX, IY-1,IZ ) + SMALL | |
9428 | RHOP(IX, IY, IZ+1) = RHOP(IX, IY, IZ+1) + SMALL | |
9429 | RHOP(IX, IY, IZ-1) = RHOP(IX, IY, IZ-1) + SMALL | |
9430 | go to 40 | |
9431 | ENDIF | |
9432 | * (3) CALCULATE THE NEUTRON DENSITY | |
9433 | IF(ZET(LB(I)).EQ.0)THEN | |
9434 | RHON(IX, IY, IZ ) = RHON(IX, IY, IZ ) + BIG | |
9435 | RHON(IX+1,IY, IZ ) = RHON(IX+1,IY, IZ ) + SMALL | |
9436 | RHON(IX-1,IY, IZ ) = RHON(IX-1,IY, IZ ) + SMALL | |
9437 | RHON(IX, IY+1,IZ ) = RHON(IX, IY+1,IZ ) + SMALL | |
9438 | RHON(IX, IY-1,IZ ) = RHON(IX, IY-1,IZ ) + SMALL | |
9439 | RHON(IX, IY, IZ+1) = RHON(IX, IY, IZ+1) + SMALL | |
9440 | RHON(IX, IY, IZ-1) = RHON(IX, IY, IZ-1) + SMALL | |
9441 | go to 40 | |
9442 | END IF | |
9443 | c else !! sp01/04/02 | |
9444 | * (4) meson density | |
9445 | 30 piRHO(IX, IY, IZ ) = piRHO(IX, IY, IZ ) + BIG | |
9446 | piRHO(IX+1,IY, IZ ) = piRHO(IX+1,IY, IZ ) + SMALL | |
9447 | piRHO(IX-1,IY, IZ ) = piRHO(IX-1,IY, IZ ) + SMALL | |
9448 | piRHO(IX, IY+1,IZ ) = piRHO(IX, IY+1,IZ ) + SMALL | |
9449 | piRHO(IX, IY-1,IZ ) = piRHO(IX, IY-1,IZ ) + SMALL | |
9450 | piRHO(IX, IY, IZ+1) = piRHO(IX, IY, IZ+1) + SMALL | |
9451 | piRHO(IX, IY, IZ-1) = piRHO(IX, IY, IZ-1) + SMALL | |
9452 | c endif !! sp01/04/02 | |
9453 | * to calculate the Gamma factor in each cell | |
9454 | *(1) PX | |
9455 | 40 pxl(ix,iy,iz)=pxl(ix,iy,iz)+p(1,I)*BIG | |
9456 | pxl(ix+1,iy,iz)=pxl(ix+1,iy,iz)+p(1,I)*SMALL | |
9457 | pxl(ix-1,iy,iz)=pxl(ix-1,iy,iz)+p(1,I)*SMALL | |
9458 | pxl(ix,iy+1,iz)=pxl(ix,iy+1,iz)+p(1,I)*SMALL | |
9459 | pxl(ix,iy-1,iz)=pxl(ix,iy-1,iz)+p(1,I)*SMALL | |
9460 | pxl(ix,iy,iz+1)=pxl(ix,iy,iz+1)+p(1,I)*SMALL | |
9461 | pxl(ix,iy,iz-1)=pxl(ix,iy,iz-1)+p(1,I)*SMALL | |
9462 | *(2) PY | |
9463 | pYl(ix,iy,iz)=pYl(ix,iy,iz)+p(2,I)*BIG | |
9464 | pYl(ix+1,iy,iz)=pYl(ix+1,iy,iz)+p(2,I)*SMALL | |
9465 | pYl(ix-1,iy,iz)=pYl(ix-1,iy,iz)+p(2,I)*SMALL | |
9466 | pYl(ix,iy+1,iz)=pYl(ix,iy+1,iz)+p(2,I)*SMALL | |
9467 | pYl(ix,iy-1,iz)=pYl(ix,iy-1,iz)+p(2,I)*SMALL | |
9468 | pYl(ix,iy,iz+1)=pYl(ix,iy,iz+1)+p(2,I)*SMALL | |
9469 | pYl(ix,iy,iz-1)=pYl(ix,iy,iz-1)+p(2,I)*SMALL | |
9470 | * (3) PZ | |
9471 | pZl(ix,iy,iz)=pZl(ix,iy,iz)+p(3,I)*BIG | |
9472 | pZl(ix+1,iy,iz)=pZl(ix+1,iy,iz)+p(3,I)*SMALL | |
9473 | pZl(ix-1,iy,iz)=pZl(ix-1,iy,iz)+p(3,I)*SMALL | |
9474 | pZl(ix,iy+1,iz)=pZl(ix,iy+1,iz)+p(3,I)*SMALL | |
9475 | pZl(ix,iy-1,iz)=pZl(ix,iy-1,iz)+p(3,I)*SMALL | |
9476 | pZl(ix,iy,iz+1)=pZl(ix,iy,iz+1)+p(3,I)*SMALL | |
9477 | pZl(ix,iy,iz-1)=pZl(ix,iy,iz-1)+p(3,I)*SMALL | |
9478 | * (4) ENERGY | |
9479 | pel(ix,iy,iz)=pel(ix,iy,iz) | |
9480 | 1 +sqrt(e(I)**2+p(1,i)**2+p(2,I)**2+p(3,I)**2)*BIG | |
9481 | pel(ix+1,iy,iz)=pel(ix+1,iy,iz) | |
9482 | 1 +sqrt(e(I)**2+p(1,i)**2+p(2,I)**2+p(3,I)**2)*SMALL | |
9483 | pel(ix-1,iy,iz)=pel(ix-1,iy,iz) | |
9484 | 1 +sqrt(e(I)**2+p(1,i)**2+p(2,I)**2+p(3,I)**2)*SMALL | |
9485 | pel(ix,iy+1,iz)=pel(ix,iy+1,iz) | |
9486 | 1 +sqrt(e(I)**2+p(1,i)**2+p(2,I)**2+p(3,I)**2)*SMALL | |
9487 | pel(ix,iy-1,iz)=pel(ix,iy-1,iz) | |
9488 | 1 +sqrt(e(I)**2+p(1,i)**2+p(2,I)**2+p(3,I)**2)*SMALL | |
9489 | pel(ix,iy,iz+1)=pel(ix,iy,iz+1) | |
9490 | 1 +sqrt(e(I)**2+p(1,i)**2+p(2,I)**2+p(3,I)**2)*SMALL | |
9491 | pel(ix,iy,iz-1)=pel(ix,iy,iz-1) | |
9492 | 1 +sqrt(e(I)**2+p(1,i)**2+p(2,I)**2+p(3,I)**2)*SMALL | |
9493 | END IF | |
9494 | 400 CONTINUE | |
9495 | * | |
9496 | DO 301 IZ = -MAXZ,MAXZ | |
9497 | DO 201 IY = -MAXX,MAXX | |
9498 | DO 101 IX = -MAXX,MAXX | |
9499 | IF((RHO(IX,IY,IZ).EQ.0).OR.(PEL(IX,IY,IZ).EQ.0)) | |
9500 | 1GO TO 101 | |
9501 | SMASS2=PEL(IX,IY,IZ)**2-PXL(IX,IY,IZ)**2 | |
9502 | 1-PYL(IX,IY,IZ)**2-PZL(IX,IY,IZ)**2 | |
9503 | IF(SMASS2.LE.0)SMASS2=1.E-06 | |
9504 | SMASS=SQRT(SMASS2) | |
9505 | IF(SMASS.EQ.0.)SMASS=1.e-06 | |
9506 | GAMMA=PEL(IX,IY,IZ)/SMASS | |
9507 | if(gamma.eq.0)go to 101 | |
9508 | bxx(ix,iy,iz)=pxl(ix,iy,iz)/pel(ix,iy,iz) | |
9509 | byy(ix,iy,iz)=pyl(ix,iy,iz)/pel(ix,iy,iz) | |
9510 | bzz(ix,iy,iz)=pzl(ix,iy,iz)/pel(ix,iy,iz) | |
9511 | RHO(IX,IY,IZ) = RHO(IX,IY,IZ)/GAMMA | |
9512 | RHOn(IX,IY,IZ) = RHOn(IX,IY,IZ)/GAMMA | |
9513 | RHOp(IX,IY,IZ) = RHOp(IX,IY,IZ)/GAMMA | |
9514 | piRHO(IX,IY,IZ) = piRHO(IX,IY,IZ)/GAMMA | |
9515 | pEL(IX,IY,IZ) = pEL(IX,IY,IZ)/(GAMMA**2) | |
9516 | rho0=0.163 | |
9517 | IF(IPOT.EQ.0)THEN | |
9518 | U=0 | |
9519 | GO TO 70 | |
9520 | ENDIF | |
9521 | IF(IPOT.EQ.1.or.ipot.eq.6)THEN | |
9522 | A=-0.1236 | |
9523 | B=0.0704 | |
9524 | S=2 | |
9525 | GO TO 60 | |
9526 | ENDIF | |
9527 | IF(IPOT.EQ.2.or.ipot.eq.7)THEN | |
9528 | A=-0.218 | |
9529 | B=0.164 | |
9530 | S=4./3. | |
9531 | ENDIF | |
9532 | IF(IPOT.EQ.3)THEN | |
9533 | a=-0.3581 | |
9534 | b=0.3048 | |
9535 | S=1.167 | |
9536 | GO TO 60 | |
9537 | ENDIF | |
9538 | IF(IPOT.EQ.4)THEN | |
9539 | denr=rho(ix,iy,iz)/rho0 | |
9540 | b=0.3048 | |
9541 | S=1.167 | |
9542 | if(denr.le.4.or.denr.gt.7)then | |
9543 | a=-0.3581 | |
9544 | else | |
9545 | a=-b*denr**(1./6.)-2.*0.036/3.*denr**(-0.333) | |
9546 | endif | |
9547 | GO TO 60 | |
9548 | ENDIF | |
9549 | 60 U = 0.5*A*RHO(IX,IY,IZ)**2/RHO0 | |
9550 | 1 + B/(1+S) * (RHO(IX,IY,IZ)/RHO0)**S*RHO(IX,IY,IZ) | |
9551 | 70 PEL(IX,IY,IZ)=PEL(IX,IY,IZ)+U | |
9552 | 101 CONTINUE | |
9553 | 201 CONTINUE | |
9554 | 301 CONTINUE | |
9555 | RETURN | |
9556 | END | |
9557 | ||
9558 | ********************************** | |
9559 | * * | |
9560 | SUBROUTINE GRADU(IOPT,IX,IY,IZ,GRADX,GRADY,GRADZ) | |
9561 | * * | |
9562 | * PURPOSE: DETERMINE GRAD(U(RHO(X,Y,Z))) * | |
9563 | * VARIABLES: * | |
9564 | * IOPT - METHOD FOR EVALUATING THE GRADIENT * | |
9565 | * (INTEGER,INPUT) * | |
9566 | * IX, IY, IZ - COORDINATES OF POINT (INTEGER,INPUT) * | |
9567 | * GRADX, GRADY, GRADZ - GRADIENT OF U (REAL,OUTPUT) * | |
9568 | * * | |
9569 | ********************************** | |
9570 | PARAMETER (MAXX = 20, MAXZ = 24) | |
9571 | PARAMETER (RHO0 = 0.167) | |
9572 | * | |
9573 | COMMON /DD/ RHO(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
9574 | & RHOP(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
9575 | & RHON(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ) | |
9576 | cc SAVE /DD/ | |
9577 | common /ss/ inout(20) | |
9578 | cc SAVE /ss/ | |
9579 | common /tt/ PEL(-maxx:maxx,-maxx:maxx,-maxz:maxz) | |
9580 | &,rxy(-maxx:maxx,-maxx:maxx,-maxz:maxz) | |
9581 | cc SAVE /tt/ | |
9582 | SAVE | |
9583 | * | |
9584 | RXPLUS = RHO(IX+1,IY, IZ ) / RHO0 | |
9585 | RXMINS = RHO(IX-1,IY, IZ ) / RHO0 | |
9586 | RYPLUS = RHO(IX, IY+1,IZ ) / RHO0 | |
9587 | RYMINS = RHO(IX, IY-1,IZ ) / RHO0 | |
9588 | RZPLUS = RHO(IX, IY, IZ+1) / RHO0 | |
9589 | RZMINS = RHO(IX, IY, IZ-1) / RHO0 | |
9590 | den0 = RHO(IX, IY, IZ) / RHO0 | |
9591 | ene0 = pel(IX, IY, IZ) | |
9592 | *----------------------------------------------------------------------- | |
9593 | GOTO (1,2,3,4,5) IOPT | |
9594 | if(iopt.eq.6)go to 6 | |
9595 | if(iopt.eq.7)go to 7 | |
9596 | * | |
9597 | 1 CONTINUE | |
9598 | * POTENTIAL USED IN 1) (STIFF): | |
9599 | * U = -.124 * RHO/RHO0 + .0705 (RHO/RHO0)**2 GEV | |
9600 | * | |
9601 | GRADX = -0.062 * (RXPLUS - RXMINS) + 0.03525 * (RXPLUS**2 - | |
9602 | & RXMINS**2) | |
9603 | GRADY = -0.062 * (RYPLUS - RYMINS) + 0.03525 * (RYPLUS**2 - | |
9604 | & RYMINS**2) | |
9605 | GRADZ = -0.062 * (RZPLUS - RZMINS) + 0.03525 * (RZPLUS**2 - | |
9606 | & RZMINS**2) | |
9607 | RETURN | |
9608 | * | |
9609 | 2 CONTINUE | |
9610 | * POTENTIAL USED IN 2): | |
9611 | * U = -.218 * RHO/RHO0 + .164 (RHO/RHO0)**(4/3) GEV | |
9612 | * | |
9613 | EXPNT = 1.3333333 | |
9614 | GRADX = -0.109 * (RXPLUS - RXMINS) | |
9615 | & + 0.082 * (RXPLUS**EXPNT-RXMINS**EXPNT) | |
9616 | GRADY = -0.109 * (RYPLUS - RYMINS) | |
9617 | & + 0.082 * (RYPLUS**EXPNT-RYMINS**EXPNT) | |
9618 | GRADZ = -0.109 * (RZPLUS - RZMINS) | |
9619 | & + 0.082 * (RZPLUS**EXPNT-RZMINS**EXPNT) | |
9620 | RETURN | |
9621 | * | |
9622 | 3 CONTINUE | |
9623 | * POTENTIAL USED IN 3) (SOFT): | |
9624 | * U = -.356 * RHO/RHO0 + .303 * (RHO/RHO0)**(7/6) GEV | |
9625 | * | |
9626 | EXPNT = 1.1666667 | |
9627 | acoef = 0.178 | |
9628 | GRADX = -acoef * (RXPLUS - RXMINS) | |
9629 | & + 0.1515 * (RXPLUS**EXPNT-RXMINS**EXPNT) | |
9630 | GRADY = -acoef * (RYPLUS - RYMINS) | |
9631 | & + 0.1515 * (RYPLUS**EXPNT-RYMINS**EXPNT) | |
9632 | GRADZ = -acoef * (RZPLUS - RZMINS) | |
9633 | & + 0.1515 * (RZPLUS**EXPNT-RZMINS**EXPNT) | |
9634 | RETURN | |
9635 | * | |
9636 | * | |
9637 | 4 CONTINUE | |
9638 | * POTENTIAL USED IN 4) (super-soft in the mixed phase of 4 < rho/rho <7): | |
9639 | * U1 = -.356 * RHO/RHO0 + .303 * (RHO/RHO0)**(7/6) GEV | |
9640 | * normal phase, soft eos of iopt=3 | |
9641 | * U2 = -.02 * (RHO/RHO0)**(2/3) -0.0253 * (RHO/RHO0)**(7/6) GEV | |
9642 | * | |
9643 | eh=4. | |
9644 | eqgp=7. | |
9645 | acoef=0.178 | |
9646 | EXPNT = 1.1666667 | |
9647 | denr=rho(ix,iy,iz)/rho0 | |
9648 | if(denr.le.eh.or.denr.ge.eqgp)then | |
9649 | GRADX = -acoef * (RXPLUS - RXMINS) | |
9650 | & + 0.1515 * (RXPLUS**EXPNT-RXMINS**EXPNT) | |
9651 | GRADY = -acoef * (RYPLUS - RYMINS) | |
9652 | & + 0.1515 * (RYPLUS**EXPNT-RYMINS**EXPNT) | |
9653 | GRADZ = -acoef * (RZPLUS - RZMINS) | |
9654 | & + 0.1515 * (RZPLUS**EXPNT-RZMINS**EXPNT) | |
9655 | else | |
9656 | acoef1=0.178 | |
9657 | acoef2=0.0 | |
9658 | expnt2=2./3. | |
9659 | GRADX =-acoef1* (RXPLUS**EXPNT-RXMINS**EXPNT) | |
9660 | & -acoef2* (RXPLUS**expnt2 - RXMINS**expnt2) | |
9661 | GRADy =-acoef1* (RyPLUS**EXPNT-RyMINS**EXPNT) | |
9662 | & -acoef2* (RyPLUS**expnt2 - RyMINS**expnt2) | |
9663 | GRADz =-acoef1* (RzPLUS**EXPNT-RzMINS**EXPNT) | |
9664 | & -acoef2* (RzPLUS**expnt2 - RzMINS**expnt2) | |
9665 | endif | |
9666 | return | |
9667 | * | |
9668 | 5 CONTINUE | |
9669 | * POTENTIAL USED IN 5) (SUPER STIFF): | |
9670 | * U = -.10322 * RHO/RHO0 + .04956 * (RHO/RHO0)**(2.77) GEV | |
9671 | * | |
9672 | EXPNT = 2.77 | |
9673 | GRADX = -0.0516 * (RXPLUS - RXMINS) | |
9674 | & + 0.02498 * (RXPLUS**EXPNT-RXMINS**EXPNT) | |
9675 | GRADY = -0.0516 * (RYPLUS - RYMINS) | |
9676 | & + 0.02498 * (RYPLUS**EXPNT-RYMINS**EXPNT) | |
9677 | GRADZ = -0.0516 * (RZPLUS - RZMINS) | |
9678 | & + 0.02498 * (RZPLUS**EXPNT-RZMINS**EXPNT) | |
9679 | RETURN | |
9680 | * | |
9681 | 6 CONTINUE | |
9682 | * POTENTIAL USED IN 6) (STIFF-qgp): | |
9683 | * U = -.124 * RHO/RHO0 + .0705 (RHO/RHO0)**2 GEV | |
9684 | * | |
9685 | if(ene0.le.0.5)then | |
9686 | GRADX = -0.062 * (RXPLUS - RXMINS) + 0.03525 * (RXPLUS**2 - | |
9687 | & RXMINS**2) | |
9688 | GRADY = -0.062 * (RYPLUS - RYMINS) + 0.03525 * (RYPLUS**2 - | |
9689 | & RYMINS**2) | |
9690 | GRADZ = -0.062 * (RZPLUS - RZMINS) + 0.03525 * (RZPLUS**2 - | |
9691 | & RZMINS**2) | |
9692 | RETURN | |
9693 | endif | |
9694 | if(ene0.gt.0.5.and.ene0.le.1.5)then | |
9695 | * U=c1-ef*rho/rho0**2/3 | |
9696 | ef=36./1000. | |
9697 | GRADX = -0.5*ef* (RXPLUS**0.67-RXMINS**0.67) | |
9698 | GRADy = -0.5*ef* (RyPLUS**0.67-RyMINS**0.67) | |
9699 | GRADz = -0.5*ef* (RzPLUS**0.67-RzMINS**0.67) | |
9700 | RETURN | |
9701 | endif | |
9702 | if(ene0.gt.1.5)then | |
9703 | * U=800*(rho/rho0)**1/3.-Ef*(rho/rho0)**2/3.-c2 | |
9704 | ef=36./1000. | |
9705 | cf0=0.8 | |
9706 | GRADX =0.5*cf0*(rxplus**0.333-rxmins**0.333) | |
9707 | & -0.5*ef* (RXPLUS**0.67-RXMINS**0.67) | |
9708 | GRADy =0.5*cf0*(ryplus**0.333-rymins**0.333) | |
9709 | & -0.5*ef* (RyPLUS**0.67-RyMINS**0.67) | |
9710 | GRADz =0.5*cf0*(rzplus**0.333-rzmins**0.333) | |
9711 | & -0.5*ef* (RzPLUS**0.67-RzMINS**0.67) | |
9712 | RETURN | |
9713 | endif | |
9714 | * | |
9715 | 7 CONTINUE | |
9716 | * POTENTIAL USED IN 7) (Soft-qgp): | |
9717 | if(den0.le.4.5)then | |
9718 | * POTENTIAL USED is the same as IN 3) (SOFT): | |
9719 | * U = -.356 * RHO/RHO0 + .303 * (RHO/RHO0)**(7/6) GEV | |
9720 | * | |
9721 | EXPNT = 1.1666667 | |
9722 | acoef = 0.178 | |
9723 | GRADX = -acoef * (RXPLUS - RXMINS) | |
9724 | & + 0.1515 * (RXPLUS**EXPNT-RXMINS**EXPNT) | |
9725 | GRADY = -acoef * (RYPLUS - RYMINS) | |
9726 | & + 0.1515 * (RYPLUS**EXPNT-RYMINS**EXPNT) | |
9727 | GRADZ = -acoef * (RZPLUS - RZMINS) | |
9728 | & + 0.1515 * (RZPLUS**EXPNT-RZMINS**EXPNT) | |
9729 | return | |
9730 | endif | |
9731 | if(den0.gt.4.5.and.den0.le.5.1)then | |
9732 | * U=c1-ef*rho/rho0**2/3 | |
9733 | ef=36./1000. | |
9734 | GRADX = -0.5*ef* (RXPLUS**0.67-RXMINS**0.67) | |
9735 | GRADy = -0.5*ef* (RyPLUS**0.67-RyMINS**0.67) | |
9736 | GRADz = -0.5*ef* (RzPLUS**0.67-RzMINS**0.67) | |
9737 | RETURN | |
9738 | endif | |
9739 | if(den0.gt.5.1)then | |
9740 | * U=800*(rho/rho0)**1/3.-Ef*(rho/rho0)**2/3.-c2 | |
9741 | ef=36./1000. | |
9742 | cf0=0.8 | |
9743 | GRADX =0.5*cf0*(rxplus**0.333-rxmins**0.333) | |
9744 | & -0.5*ef* (RXPLUS**0.67-RXMINS**0.67) | |
9745 | GRADy =0.5*cf0*(ryplus**0.333-rymins**0.333) | |
9746 | & -0.5*ef* (RyPLUS**0.67-RyMINS**0.67) | |
9747 | GRADz =0.5*cf0*(rzplus**0.333-rzmins**0.333) | |
9748 | & -0.5*ef* (RzPLUS**0.67-RzMINS**0.67) | |
9749 | RETURN | |
9750 | endif | |
9751 | END | |
9752 | ********************************** | |
9753 | * * | |
9754 | SUBROUTINE GRADUK(IX,IY,IZ,GRADXk,GRADYk,GRADZk) | |
9755 | * * | |
9756 | * PURPOSE: DETERMINE the baryon density gradient for * | |
9757 | * proporgating kaons in a mean field caused by * | |
9758 | * surrounding baryons * | |
9759 | * VARIABLES: * | |
9760 | * IX, IY, IZ - COORDINATES OF POINT (INTEGER,INPUT) * | |
9761 | * GRADXk, GRADYk, GRADZk (REAL,OUTPUT) * | |
9762 | * * | |
9763 | ********************************** | |
9764 | PARAMETER (MAXX = 20, MAXZ = 24) | |
9765 | PARAMETER (RHO0 = 0.168) | |
9766 | * | |
9767 | COMMON /DD/ RHO(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
9768 | & RHOP(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
9769 | & RHON(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ) | |
9770 | cc SAVE /DD/ | |
9771 | common /ss/ inout(20) | |
9772 | cc SAVE /ss/ | |
9773 | SAVE | |
9774 | * | |
9775 | RXPLUS = RHO(IX+1,IY, IZ ) | |
9776 | RXMINS = RHO(IX-1,IY, IZ ) | |
9777 | RYPLUS = RHO(IX, IY+1,IZ ) | |
9778 | RYMINS = RHO(IX, IY-1,IZ ) | |
9779 | RZPLUS = RHO(IX, IY, IZ+1) | |
9780 | RZMINS = RHO(IX, IY, IZ-1) | |
9781 | GRADXk = (RXPLUS - RXMINS)/2. | |
9782 | GRADYk = (RYPLUS - RYMINS)/2. | |
9783 | GRADZk = (RZPLUS - RZMINS)/2. | |
9784 | RETURN | |
9785 | END | |
9786 | *----------------------------------------------------------------------- | |
9787 | SUBROUTINE GRADUP(IX,IY,IZ,GRADXP,GRADYP,GRADZP) | |
9788 | * * | |
9789 | * PURPOSE: DETERMINE THE GRADIENT OF THE PROTON DENSITY * | |
9790 | * VARIABLES: * | |
9791 | * * | |
9792 | * IX, IY, IZ - COORDINATES OF POINT (INTEGER,INPUT) * | |
9793 | * GRADXP, GRADYP, GRADZP - GRADIENT OF THE PROTON * | |
9794 | * DENSITY(REAL,OUTPUT) * | |
9795 | * * | |
9796 | ********************************** | |
9797 | PARAMETER (MAXX = 20, MAXZ = 24) | |
9798 | PARAMETER (RHO0 = 0.168) | |
9799 | * | |
9800 | COMMON /DD/ RHO(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
9801 | & RHOP(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
9802 | & RHON(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ) | |
9803 | cc SAVE /DD/ | |
9804 | common /ss/ inout(20) | |
9805 | cc SAVE /ss/ | |
9806 | SAVE | |
9807 | * | |
9808 | RXPLUS = RHOP(IX+1,IY, IZ ) / RHO0 | |
9809 | RXMINS = RHOP(IX-1,IY, IZ ) / RHO0 | |
9810 | RYPLUS = RHOP(IX, IY+1,IZ ) / RHO0 | |
9811 | RYMINS = RHOP(IX, IY-1,IZ ) / RHO0 | |
9812 | RZPLUS = RHOP(IX, IY, IZ+1) / RHO0 | |
9813 | RZMINS = RHOP(IX, IY, IZ-1) / RHO0 | |
9814 | *----------------------------------------------------------------------- | |
9815 | * | |
9816 | GRADXP = (RXPLUS - RXMINS)/2. | |
9817 | GRADYP = (RYPLUS - RYMINS)/2. | |
9818 | GRADZP = (RZPLUS - RZMINS)/2. | |
9819 | RETURN | |
9820 | END | |
9821 | *----------------------------------------------------------------------- | |
9822 | SUBROUTINE GRADUN(IX,IY,IZ,GRADXN,GRADYN,GRADZN) | |
9823 | * * | |
9824 | * PURPOSE: DETERMINE THE GRADIENT OF THE NEUTRON DENSITY * | |
9825 | * VARIABLES: * | |
9826 | * * | |
9827 | * IX, IY, IZ - COORDINATES OF POINT (INTEGER,INPUT) * | |
9828 | * GRADXN, GRADYN, GRADZN - GRADIENT OF THE NEUTRON * | |
9829 | * DENSITY(REAL,OUTPUT) * | |
9830 | * * | |
9831 | ********************************** | |
9832 | PARAMETER (MAXX = 20, MAXZ = 24) | |
9833 | PARAMETER (RHO0 = 0.168) | |
9834 | * | |
9835 | COMMON /DD/ RHO(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
9836 | & RHOP(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
9837 | & RHON(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ) | |
9838 | cc SAVE /DD/ | |
9839 | common /ss/ inout(20) | |
9840 | cc SAVE /ss/ | |
9841 | SAVE | |
9842 | * | |
9843 | RXPLUS = RHON(IX+1,IY, IZ ) / RHO0 | |
9844 | RXMINS = RHON(IX-1,IY, IZ ) / RHO0 | |
9845 | RYPLUS = RHON(IX, IY+1,IZ ) / RHO0 | |
9846 | RYMINS = RHON(IX, IY-1,IZ ) / RHO0 | |
9847 | RZPLUS = RHON(IX, IY, IZ+1) / RHO0 | |
9848 | RZMINS = RHON(IX, IY, IZ-1) / RHO0 | |
9849 | *----------------------------------------------------------------------- | |
9850 | * | |
9851 | GRADXN = (RXPLUS - RXMINS)/2. | |
9852 | GRADYN = (RYPLUS - RYMINS)/2. | |
9853 | GRADZN = (RZPLUS - RZMINS)/2. | |
9854 | RETURN | |
9855 | END | |
9856 | ||
9857 | *----------------------------------------------------------------------------- | |
9858 | *FUNCTION FDE(DMASS) GIVES DELTA MASS DISTRIBUTION BY USING OF | |
9859 | *KITAZOE'S FORMULA | |
9860 | REAL FUNCTION FDE(DMASS,SRT,CON) | |
9861 | SAVE | |
9862 | AMN=0.938869 | |
9863 | AVPI=0.13803333 | |
9864 | AM0=1.232 | |
9865 | FD=4.*(AM0**2)*WIDTH(DMASS)/((DMASS**2-1.232**2)**2 | |
9866 | 1 +AM0**2*WIDTH(DMASS)**2) | |
9867 | IF(CON.EQ.1.)THEN | |
9868 | P11=(SRT**2+DMASS**2-AMN**2)**2 | |
9869 | 1 /(4.*SRT**2)-DMASS**2 | |
9870 | if(p11.le.0)p11=1.E-06 | |
9871 | p1=sqrt(p11) | |
9872 | ELSE | |
9873 | DMASS=AMN+AVPI | |
9874 | P11=(SRT**2+DMASS**2-AMN**2)**2 | |
9875 | 1 /(4.*SRT**2)-DMASS**2 | |
9876 | if(p11.le.0)p11=1.E-06 | |
9877 | p1=sqrt(p11) | |
9878 | ENDIF | |
9879 | FDE=FD*P1*DMASS | |
9880 | RETURN | |
9881 | END | |
9882 | *------------------------------------------------------------- | |
9883 | *FUNCTION FDE(DMASS) GIVES N*(1535) MASS DISTRIBUTION BY USING OF | |
9884 | *KITAZOE'S FORMULA | |
9885 | REAL FUNCTION FD5(DMASS,SRT,CON) | |
9886 | SAVE | |
9887 | AMN=0.938869 | |
9888 | AVPI=0.13803333 | |
9889 | AM0=1.535 | |
9890 | FD=4.*(AM0**2)*W1535(DMASS)/((DMASS**2-1.535**2)**2 | |
9891 | 1 +AM0**2*W1535(DMASS)**2) | |
9892 | IF(CON.EQ.1.)THEN | |
9893 | P1=SQRT((SRT**2+DMASS**2-AMN**2)**2 | |
9894 | 1 /(4.*SRT**2)-DMASS**2) | |
9895 | ELSE | |
9896 | DMASS=AMN+AVPI | |
9897 | P1=SQRT((SRT**2+DMASS**2-AMN**2)**2 | |
9898 | 1 /(4.*SRT**2)-DMASS**2) | |
9899 | ENDIF | |
9900 | FD5=FD*P1*DMASS | |
9901 | RETURN | |
9902 | END | |
9903 | *-------------------------------------------------------------------------- | |
9904 | *FUNCTION FNS(DMASS) GIVES N* MASS DISTRIBUTION | |
9905 | c BY USING OF BREIT-WIGNER FORMULA | |
9906 | REAL FUNCTION FNS(DMASS,SRT,CON) | |
9907 | SAVE | |
9908 | WIDTH=0.2 | |
9909 | AMN=0.938869 | |
9910 | AVPI=0.13803333 | |
9911 | AN0=1.43 | |
9912 | FN=4.*(AN0**2)*WIDTH/((DMASS**2-1.44**2)**2+AN0**2*WIDTH**2) | |
9913 | IF(CON.EQ.1.)THEN | |
9914 | P1=SQRT((SRT**2+DMASS**2-AMN**2)**2 | |
9915 | 1 /(4.*SRT**2)-DMASS**2) | |
9916 | ELSE | |
9917 | DMASS=AMN+AVPI | |
9918 | P1=SQRT((SRT**2+DMASS**2-AMN**2)**2 | |
9919 | 1 /(4.*SRT**2)-DMASS**2) | |
9920 | ENDIF | |
9921 | FNS=FN*P1*DMASS | |
9922 | RETURN | |
9923 | END | |
9924 | *----------------------------------------------------------------------------- | |
9925 | *----------------------------------------------------------------------------- | |
9926 | * PURPOSE:1. SORT N*(1440) and N*(1535) 2-body DECAY PRODUCTS | |
9927 | * 2. DETERMINE THE MOMENTUM AND COORDINATES OF NUCLEON AND PION | |
9928 | * AFTER THE DELTA OR N* DECAYING | |
9929 | * DATE : JAN. 24,1990, MODIFIED ON MAY 17, 1994 TO INCLUDE ETA | |
3006c44b | 9930 | SUBROUTINE DECAYA(IRUN,I,NNN,ISEED,wid,nt) |
0119ef9a | 9931 | PARAMETER (MAXSTR=150001,MAXR=1, |
9932 | 1 AMN=0.939457,ETAM=0.5475,AMP=0.93828,AP1=0.13496, | |
9933 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926) | |
9934 | COMMON /AA/ R(3,MAXSTR) | |
9935 | cc SAVE /AA/ | |
9936 | COMMON /BB/ P(3,MAXSTR) | |
9937 | cc SAVE /BB/ | |
9938 | COMMON /CC/ E(MAXSTR) | |
9939 | cc SAVE /CC/ | |
9940 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
9941 | cc SAVE /EE/ | |
9942 | COMMON /RUN/NUM | |
9943 | cc SAVE /RUN/ | |
9944 | COMMON /PA/RPION(3,MAXSTR,MAXR) | |
9945 | cc SAVE /PA/ | |
9946 | COMMON /PB/PPION(3,MAXSTR,MAXR) | |
9947 | cc SAVE /PB/ | |
9948 | COMMON /PC/EPION(MAXSTR,MAXR) | |
9949 | cc SAVE /PC/ | |
9950 | COMMON /PD/LPION(MAXSTR,MAXR) | |
9951 | cc SAVE /PD/ | |
9952 | COMMON /INPUT2/ ILAB, MANYB, NTMAX, ICOLL, INSYS, IPOT, MODE, | |
9953 | & IMOMEN, NFREQ, ICFLOW, ICRHO, ICOU, KPOTEN, KMUL | |
9954 | cc SAVE /INPUT2/ | |
9955 | COMMON/RNDF77/NSEED | |
9956 | COMMON /dpert/dpertt(MAXSTR,MAXR),dpertp(MAXSTR),dplast(MAXSTR), | |
9957 | 1 dpdcy(MAXSTR),dpdpi(MAXSTR,MAXR),dpt(MAXSTR, MAXR), | |
9958 | 2 dpp1(MAXSTR,MAXR),dppion(MAXSTR,MAXR) | |
9959 | cc SAVE /RNDF77/ | |
9960 | SAVE | |
9961 | lbanti=LB(I) | |
9962 | c | |
9963 | DM=E(I) | |
9964 | *1. FOR N*+(1440) DECAY | |
9965 | IF(iabs(LB(I)).EQ.11)THEN | |
9966 | X3=RANART(NSEED) | |
9967 | IF(X3.GT.(1./3.))THEN | |
9968 | LB(I)=2 | |
9969 | NLAB=2 | |
9970 | LPION(NNN,IRUN)=5 | |
9971 | EPION(NNN,IRUN)=AP2 | |
9972 | ELSE | |
9973 | LB(I)=1 | |
9974 | NLAB=1 | |
9975 | LPION(NNN,IRUN)=4 | |
9976 | EPION(NNN,IRUN)=AP1 | |
9977 | ENDIF | |
9978 | *2. FOR N*0(1440) DECAY | |
9979 | ELSEIF(iabs(LB(I)).EQ.10)THEN | |
9980 | X4=RANART(NSEED) | |
9981 | IF(X4.GT.(1./3.))THEN | |
9982 | LB(I)=1 | |
9983 | NLAB=1 | |
9984 | LPION(NNN,IRUN)=3 | |
9985 | EPION(NNN,IRUN)=AP2 | |
9986 | ELSE | |
9987 | LB(I)=2 | |
9988 | NALB=2 | |
9989 | LPION(NNN,IRUN)=4 | |
9990 | EPION(NNN,IRUN)=AP1 | |
9991 | ENDIF | |
9992 | * N*(1535) CAN DECAY TO A PION OR AN ETA IF DM > 1.49 GeV | |
9993 | *3 N*(0)(1535) DECAY | |
9994 | ELSEIF(iabs(LB(I)).EQ.12)THEN | |
9995 | CTRL=0.65 | |
9996 | IF(DM.lE.1.49)ctrl=-1. | |
9997 | X5=RANART(NSEED) | |
9998 | IF(X5.GE.ctrl)THEN | |
9999 | * DECAY TO PION+NUCLEON | |
10000 | X6=RANART(NSEED) | |
10001 | IF(X6.GT.(1./3.))THEN | |
10002 | LB(I)=1 | |
10003 | NLAB=1 | |
10004 | LPION(NNN,IRUN)=3 | |
10005 | EPION(NNN,IRUN)=AP2 | |
10006 | ELSE | |
10007 | LB(I)=2 | |
10008 | NALB=2 | |
10009 | LPION(NNN,IRUN)=4 | |
10010 | EPION(NNN,IRUN)=AP1 | |
10011 | ENDIF | |
10012 | ELSE | |
10013 | * DECAY TO ETA+NEUTRON | |
10014 | LB(I)=2 | |
10015 | NLAB=2 | |
10016 | LPION(NNN,IRUN)=0 | |
10017 | EPION(NNN,IRUN)=ETAM | |
10018 | ENDIF | |
10019 | *4. FOR N*+(1535) DECAY | |
10020 | ELSEIF(iabs(LB(I)).EQ.13)THEN | |
10021 | CTRL=0.65 | |
10022 | IF(DM.lE.1.49)ctrl=-1. | |
10023 | X5=RANART(NSEED) | |
10024 | IF(X5.GE.ctrl)THEN | |
10025 | * DECAY TO PION+NUCLEON | |
10026 | X8=RANART(NSEED) | |
10027 | IF(X8.GT.(1./3.))THEN | |
10028 | LB(I)=2 | |
10029 | NLAB=2 | |
10030 | LPION(NNN,IRUN)=5 | |
10031 | EPION(NNN,IRUN)=AP2 | |
10032 | ELSE | |
10033 | LB(I)=1 | |
10034 | NLAB=1 | |
10035 | LPION(NNN,IRUN)=4 | |
10036 | EPION(NNN,IRUN)=AP1 | |
10037 | ENDIF | |
10038 | ELSE | |
10039 | * DECAY TO ETA+NUCLEON | |
10040 | LB(I)=1 | |
10041 | NLAB=1 | |
10042 | LPION(NNN,IRUN)=0 | |
10043 | EPION(NNN,IRUN)=ETAM | |
10044 | ENDIF | |
10045 | ENDIF | |
10046 | c | |
10047 | CALL DKINE(IRUN,I,NNN,NLAB,ISEED,wid,nt) | |
10048 | c | |
10049 | c anti-particle ID for anti-N* decays: | |
10050 | if(lbanti.lt.0) then | |
10051 | lbi=LB(I) | |
10052 | if(lbi.eq.1.or.lbi.eq.2) then | |
10053 | lbi=-lbi | |
10054 | elseif(lbi.eq.3) then | |
10055 | lbi=5 | |
10056 | elseif(lbi.eq.5) then | |
10057 | lbi=3 | |
10058 | endif | |
10059 | LB(I)=lbi | |
10060 | c | |
10061 | lbi=LPION(NNN,IRUN) | |
10062 | if(lbi.eq.3) then | |
10063 | lbi=5 | |
10064 | elseif(lbi.eq.5) then | |
10065 | lbi=3 | |
10066 | elseif(lbi.eq.1.or.lbi.eq.2) then | |
10067 | lbi=-lbi | |
10068 | endif | |
10069 | LPION(NNN,IRUN)=lbi | |
10070 | endif | |
10071 | c | |
10072 | if(nt.eq.ntmax) then | |
10073 | c at the last timestep, assign rho or eta (decay daughter) | |
10074 | c to lb(i1) only (not to lpion) in order to decay them again: | |
10075 | lbm=LPION(NNN,IRUN) | |
10076 | if(lbm.eq.0.or.lbm.eq.25 | |
10077 | 1 .or.lbm.eq.26.or.lbm.eq.27) then | |
10078 | c switch rho or eta with baryon, positions are the same (no change needed): | |
10079 | lbsave=lbm | |
10080 | xmsave=EPION(NNN,IRUN) | |
10081 | pxsave=PPION(1,NNN,IRUN) | |
10082 | pysave=PPION(2,NNN,IRUN) | |
10083 | pzsave=PPION(3,NNN,IRUN) | |
10084 | clin-5/2008: | |
10085 | dpsave=dppion(NNN,IRUN) | |
10086 | LPION(NNN,IRUN)=LB(I) | |
10087 | EPION(NNN,IRUN)=E(I) | |
10088 | PPION(1,NNN,IRUN)=P(1,I) | |
10089 | PPION(2,NNN,IRUN)=P(2,I) | |
10090 | PPION(3,NNN,IRUN)=P(3,I) | |
10091 | clin-5/2008: | |
10092 | dppion(NNN,IRUN)=dpertp(I) | |
10093 | LB(I)=lbsave | |
10094 | E(I)=xmsave | |
10095 | P(1,I)=pxsave | |
10096 | P(2,I)=pysave | |
10097 | P(3,I)=pzsave | |
10098 | clin-5/2008: | |
10099 | dpertp(I)=dpsave | |
10100 | endif | |
10101 | endif | |
10102 | ||
10103 | RETURN | |
10104 | END | |
10105 | ||
10106 | *------------------------------------------------------------------- | |
10107 | *------------------------------------------------------------------- | |
10108 | * PURPOSE: | |
10109 | * CALCULATE THE MOMENTUM OF NUCLEON AND PION (OR ETA) | |
10110 | * IN THE LAB. FRAME AFTER DELTA OR N* DECAY | |
10111 | * DATE : JAN. 24,1990, MODIFIED ON MAY 17, 1994 TO INCLUDE ETA PRODUCTION | |
10112 | SUBROUTINE DKINE(IRUN,I,NNN,NLAB,ISEED,wid,nt) | |
10113 | PARAMETER (hbarc=0.19733) | |
10114 | PARAMETER (MAXSTR=150001,MAXR=1, | |
10115 | 1 AMN=0.939457,AMP=0.93828,ETAM=0.5475, | |
10116 | 2 AP1=0.13496,AP2=0.13957,AM0=1.232,PI=3.1415926) | |
10117 | COMMON /AA/ R(3,MAXSTR) | |
10118 | cc SAVE /AA/ | |
10119 | COMMON /BB/ P(3,MAXSTR) | |
10120 | cc SAVE /BB/ | |
10121 | COMMON /CC/ E(MAXSTR) | |
10122 | cc SAVE /CC/ | |
10123 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
10124 | cc SAVE /EE/ | |
10125 | COMMON /RUN/NUM | |
10126 | cc SAVE /RUN/ | |
10127 | COMMON /PA/RPION(3,MAXSTR,MAXR) | |
10128 | cc SAVE /PA/ | |
10129 | COMMON /PB/PPION(3,MAXSTR,MAXR) | |
10130 | cc SAVE /PB/ | |
10131 | COMMON /PC/EPION(MAXSTR,MAXR) | |
10132 | cc SAVE /PC/ | |
10133 | COMMON /PD/LPION(MAXSTR,MAXR) | |
10134 | cc SAVE /PD/ | |
10135 | common/leadng/lb1,px1,py1,pz1,em1,e1,xfnl,yfnl,zfnl,tfnl, | |
10136 | 1 px1n,py1n,pz1n,dp1n | |
10137 | cc SAVE /leadng/ | |
10138 | COMMON/tdecay/tfdcy(MAXSTR),tfdpi(MAXSTR,MAXR),tft(MAXSTR) | |
10139 | cc SAVE /tdecay/ | |
10140 | COMMON /INPUT2/ ILAB, MANYB, NTMAX, ICOLL, INSYS, IPOT, MODE, | |
10141 | & IMOMEN, NFREQ, ICFLOW, ICRHO, ICOU, KPOTEN, KMUL | |
10142 | cc SAVE /INPUT2/ | |
10143 | COMMON/RNDF77/NSEED | |
10144 | cc SAVE /RNDF77/ | |
10145 | COMMON /dpert/dpertt(MAXSTR,MAXR),dpertp(MAXSTR),dplast(MAXSTR), | |
10146 | 1 dpdcy(MAXSTR),dpdpi(MAXSTR,MAXR),dpt(MAXSTR, MAXR), | |
10147 | 2 dpp1(MAXSTR,MAXR),dppion(MAXSTR,MAXR) | |
10148 | EXTERNAL IARFLV, INVFLV | |
10149 | SAVE | |
10150 | ISEED=ISEED | |
10151 | * READ IN THE COORDINATES OF DELTA OR N* UNDERGOING DECAY | |
10152 | PX=P(1,I) | |
10153 | PY=P(2,I) | |
10154 | PZ=P(3,I) | |
10155 | RX=R(1,I) | |
10156 | RY=R(2,I) | |
10157 | RZ=R(3,I) | |
10158 | DM=E(I) | |
10159 | EDELTA=SQRT(DM**2+PX**2+PY**2+PZ**2) | |
10160 | PM=EPION(NNN,IRUN) | |
10161 | AM=AMP | |
10162 | IF(NLAB.EQ.2)AM=AMN | |
10163 | * FIND OUT THE MOMENTUM AND ENERGY OF PION AND NUCLEON IN DELTA REST FRAME | |
10164 | * THE MAGNITUDE OF MOMENTUM IS DETERMINED BY ENERGY CONSERVATION ,THE FORMULA | |
10165 | * CAN BE FOUND ON PAGE 716,W BAUER P.R.C40,1989 | |
10166 | * THE DIRECTION OF THE MOMENTUM IS ASSUMED ISOTROPIC. NOTE THAT P(PION)=-P(N) | |
10167 | Q2=((DM**2-AM**2+PM**2)/(2.*DM))**2-PM**2 | |
10168 | IF(Q2.LE.0.)Q2=1.e-09 | |
10169 | Q=SQRT(Q2) | |
10170 | 11 QX=1.-2.*RANART(NSEED) | |
10171 | QY=1.-2.*RANART(NSEED) | |
10172 | QZ=1.-2.*RANART(NSEED) | |
10173 | QS=QX**2+QY**2+QZ**2 | |
10174 | IF(QS.GT.1.) GO TO 11 | |
10175 | PXP=Q*QX/SQRT(QS) | |
10176 | PYP=Q*QY/SQRT(QS) | |
10177 | PZP=Q*QZ/SQRT(QS) | |
10178 | EP=SQRT(Q**2+PM**2) | |
10179 | PXN=-PXP | |
10180 | PYN=-PYP | |
10181 | PZN=-PZP | |
10182 | EN=SQRT(Q**2+AM**2) | |
10183 | * TRANSFORM INTO THE LAB. FRAME. THE GENERAL LORENTZ TRANSFORMATION CAN | |
10184 | * BE FOUND ON PAGE 34 OF R. HAGEDORN " RELATIVISTIC KINEMATICS" | |
10185 | GD=EDELTA/DM | |
10186 | FGD=GD/(1.+GD) | |
10187 | BDX=PX/EDELTA | |
10188 | BDY=PY/EDELTA | |
10189 | BDZ=PZ/EDELTA | |
10190 | BPP=BDX*PXP+BDY*PYP+BDZ*PZP | |
10191 | BPN=BDX*PXN+BDY*PYN+BDZ*PZN | |
10192 | P(1,I)=PXN+BDX*GD*(FGD*BPN+EN) | |
10193 | P(2,I)=PYN+BDY*GD*(FGD*BPN+EN) | |
10194 | P(3,I)=PZN+BDZ*GD*(FGD*BPN+EN) | |
10195 | E(I)=AM | |
10196 | * WE ASSUME THAT THE SPACIAL COORDINATE OF THE NUCLEON | |
10197 | * IS THAT OF THE DELTA | |
10198 | PPION(1,NNN,IRUN)=PXP+BDX*GD*(FGD*BPP+EP) | |
10199 | PPION(2,NNN,IRUN)=PYP+BDY*GD*(FGD*BPP+EP) | |
10200 | PPION(3,NNN,IRUN)=PZP+BDZ*GD*(FGD*BPP+EP) | |
10201 | clin-5/2008: | |
10202 | dppion(NNN,IRUN)=dpertp(I) | |
10203 | * WE ASSUME THE PION OR ETA COMING FROM DELTA DECAY IS LOCATED ON THE SPHERE | |
10204 | * OF RADIUS 0.5FM AROUND DELTA, THIS POINT NEED TO BE CHECKED | |
10205 | * AND OTHER CRIERTION MAY BE TRIED | |
10206 | clin-2/20/03 no additional smearing for position of decay daughters: | |
10207 | c200 X0 = 1.0 - 2.0 * RANART(NSEED) | |
10208 | c Y0 = 1.0 - 2.0 * RANART(NSEED) | |
10209 | c Z0 = 1.0 - 2.0 * RANART(NSEED) | |
10210 | c IF ((X0*X0+Y0*Y0+Z0*Z0) .GT. 1.0) GOTO 200 | |
10211 | c RPION(1,NNN,IRUN)=R(1,I)+0.5*x0 | |
10212 | c RPION(2,NNN,IRUN)=R(2,I)+0.5*y0 | |
10213 | c RPION(3,NNN,IRUN)=R(3,I)+0.5*z0 | |
10214 | RPION(1,NNN,IRUN)=R(1,I) | |
10215 | RPION(2,NNN,IRUN)=R(2,I) | |
10216 | RPION(3,NNN,IRUN)=R(3,I) | |
10217 | c | |
10218 | devio=SQRT(EPION(NNN,IRUN)**2+PPION(1,NNN,IRUN)**2 | |
10219 | 1 +PPION(2,NNN,IRUN)**2+PPION(3,NNN,IRUN)**2) | |
10220 | 2 +SQRT(E(I)**2+P(1,I)**2+P(2,I)**2+P(3,I)**2)-e1 | |
10221 | c if(abs(devio).gt.0.02) write(93,*) 'decay(): nt=',nt,devio,lb1 | |
10222 | ||
10223 | c add decay time to daughter's formation time at the last timestep: | |
10224 | if(nt.eq.ntmax) then | |
10225 | tau0=hbarc/wid | |
10226 | taudcy=tau0*(-1.)*alog(1.-RANART(NSEED)) | |
10227 | c lorentz boost: | |
10228 | taudcy=taudcy*e1/em1 | |
10229 | tfnl=tfnl+taudcy | |
10230 | xfnl=xfnl+px1/e1*taudcy | |
10231 | yfnl=yfnl+py1/e1*taudcy | |
10232 | zfnl=zfnl+pz1/e1*taudcy | |
10233 | R(1,I)=xfnl | |
10234 | R(2,I)=yfnl | |
10235 | R(3,I)=zfnl | |
10236 | tfdcy(I)=tfnl | |
10237 | RPION(1,NNN,IRUN)=xfnl | |
10238 | RPION(2,NNN,IRUN)=yfnl | |
10239 | RPION(3,NNN,IRUN)=zfnl | |
10240 | tfdpi(NNN,IRUN)=tfnl | |
10241 | endif | |
10242 | ||
10243 | cc 200 format(a30,2(1x,e10.4)) | |
10244 | cc 210 format(i6,5(1x,f8.3)) | |
10245 | cc 220 format(a2,i5,5(1x,f8.3)) | |
10246 | ||
10247 | RETURN | |
10248 | END | |
10249 | ||
10250 | *----------------------------------------------------------------------------- | |
10251 | *----------------------------------------------------------------------------- | |
10252 | * PURPOSE:1. N*-->N+PION+PION DECAY PRODUCTS | |
10253 | * 2. DETERMINE THE MOMENTUM AND COORDINATES OF NUCLEON AND PION | |
10254 | * AFTER THE DELTA OR N* DECAYING | |
10255 | * DATE : NOV.7,1994 | |
10256 | *---------------------------------------------------------------------------- | |
10257 | SUBROUTINE DECAY2(IRUN,I,NNN,ISEED,wid,nt) | |
10258 | PARAMETER (MAXSTR=150001,MAXR=1, | |
10259 | 1 AMN=0.939457,ETAM=0.5475,AMP=0.93828,AP1=0.13496, | |
10260 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926) | |
10261 | COMMON /AA/ R(3,MAXSTR) | |
10262 | cc SAVE /AA/ | |
10263 | COMMON /BB/ P(3,MAXSTR) | |
10264 | cc SAVE /BB/ | |
10265 | COMMON /CC/ E(MAXSTR) | |
10266 | cc SAVE /CC/ | |
10267 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
10268 | cc SAVE /EE/ | |
10269 | COMMON /RUN/NUM | |
10270 | cc SAVE /RUN/ | |
10271 | COMMON /PA/RPION(3,MAXSTR,MAXR) | |
10272 | cc SAVE /PA/ | |
10273 | COMMON /PB/PPION(3,MAXSTR,MAXR) | |
10274 | cc SAVE /PB/ | |
10275 | COMMON /PC/EPION(MAXSTR,MAXR) | |
10276 | cc SAVE /PC/ | |
10277 | COMMON /PD/LPION(MAXSTR,MAXR) | |
10278 | cc SAVE /PD/ | |
10279 | COMMON/RNDF77/NSEED | |
10280 | cc SAVE /RNDF77/ | |
10281 | SAVE | |
10282 | ||
10283 | lbanti=LB(I) | |
10284 | c | |
10285 | DM=E(I) | |
10286 | * DETERMINE THE DECAY PRODUCTS | |
10287 | * FOR N*+(1440) DECAY | |
10288 | IF(iabs(LB(I)).EQ.11)THEN | |
10289 | X3=RANART(NSEED) | |
10290 | IF(X3.LT.(1./3))THEN | |
10291 | LB(I)=2 | |
10292 | NLAB=2 | |
10293 | LPION(NNN,IRUN)=5 | |
10294 | EPION(NNN,IRUN)=AP2 | |
10295 | LPION(NNN+1,IRUN)=4 | |
10296 | EPION(NNN+1,IRUN)=AP1 | |
10297 | ELSEIF(X3.LT.2./3.AND.X3.GT.1./3.)THEN | |
10298 | LB(I)=1 | |
10299 | NLAB=1 | |
10300 | LPION(NNN,IRUN)=5 | |
10301 | EPION(NNN,IRUN)=AP2 | |
10302 | LPION(NNN+1,IRUN)=3 | |
10303 | EPION(NNN+1,IRUN)=AP2 | |
10304 | ELSE | |
10305 | LB(I)=1 | |
10306 | NLAB=1 | |
10307 | LPION(NNN,IRUN)=4 | |
10308 | EPION(NNN,IRUN)=AP1 | |
10309 | LPION(NNN+1,IRUN)=4 | |
10310 | EPION(NNN+1,IRUN)=AP1 | |
10311 | ENDIF | |
10312 | * FOR N*0(1440) DECAY | |
10313 | ELSEIF(iabs(LB(I)).EQ.10)THEN | |
10314 | X3=RANART(NSEED) | |
10315 | IF(X3.LT.(1./3))THEN | |
10316 | LB(I)=2 | |
10317 | NLAB=2 | |
10318 | LPION(NNN,IRUN)=4 | |
10319 | EPION(NNN,IRUN)=AP1 | |
10320 | LPION(NNN+1,IRUN)=4 | |
10321 | EPION(NNN+1,IRUN)=AP1 | |
10322 | ELSEIF(X3.LT.2./3.AND.X3.GT.1./3.)THEN | |
10323 | LB(I)=1 | |
10324 | NLAB=1 | |
10325 | LPION(NNN,IRUN)=3 | |
10326 | EPION(NNN,IRUN)=AP2 | |
10327 | LPION(NNN+1,IRUN)=4 | |
10328 | EPION(NNN+1,IRUN)=AP1 | |
10329 | ELSE | |
10330 | LB(I)=2 | |
10331 | NLAB=2 | |
10332 | LPION(NNN,IRUN)=5 | |
10333 | EPION(NNN,IRUN)=AP2 | |
10334 | LPION(NNN+1,IRUN)=3 | |
10335 | EPION(NNN+1,IRUN)=AP2 | |
10336 | ENDIF | |
10337 | ENDIF | |
10338 | ||
10339 | CALL DKINE2(IRUN,I,NNN,NLAB,ISEED,wid,nt) | |
10340 | c | |
10341 | c anti-particle ID for anti-N* decays: | |
10342 | if(lbanti.lt.0) then | |
10343 | lbi=LB(I) | |
10344 | if(lbi.eq.1.or.lbi.eq.2) then | |
10345 | lbi=-lbi | |
10346 | elseif(lbi.eq.3) then | |
10347 | lbi=5 | |
10348 | elseif(lbi.eq.5) then | |
10349 | lbi=3 | |
10350 | endif | |
10351 | LB(I)=lbi | |
10352 | c | |
10353 | lbi=LPION(NNN,IRUN) | |
10354 | if(lbi.eq.3) then | |
10355 | lbi=5 | |
10356 | elseif(lbi.eq.5) then | |
10357 | lbi=3 | |
10358 | elseif(lbi.eq.1.or.lbi.eq.2) then | |
10359 | lbi=-lbi | |
10360 | endif | |
10361 | LPION(NNN,IRUN)=lbi | |
10362 | c | |
10363 | lbi=LPION(NNN+1,IRUN) | |
10364 | if(lbi.eq.3) then | |
10365 | lbi=5 | |
10366 | elseif(lbi.eq.5) then | |
10367 | lbi=3 | |
10368 | elseif(lbi.eq.1.or.lbi.eq.2) then | |
10369 | lbi=-lbi | |
10370 | endif | |
10371 | LPION(NNN+1,IRUN)=lbi | |
10372 | endif | |
10373 | c | |
10374 | RETURN | |
10375 | END | |
10376 | *------------------------------------------------------------------- | |
10377 | *-------------------------------------------------------------------------- | |
10378 | * CALCULATE THE MOMENTUM OF NUCLEON AND PION (OR ETA) | |
10379 | * IN THE LAB. FRAME AFTER DELTA OR N* DECAY | |
10380 | * DATE : JAN. 24,1990, MODIFIED ON MAY 17, 1994 TO INCLUDE ETA PRODUCTION | |
10381 | *-------------------------------------------------------------------------- | |
10382 | SUBROUTINE DKINE2(IRUN,I,NNN,NLAB,ISEED,wid,nt) | |
10383 | PARAMETER (hbarc=0.19733) | |
10384 | PARAMETER (MAXSTR=150001,MAXR=1, | |
10385 | 1 AMN=0.939457,AMP=0.93828,ETAM=0.5475, | |
10386 | 2 AP1=0.13496,AP2=0.13957,AM0=1.232,PI=3.1415926) | |
10387 | COMMON /AA/ R(3,MAXSTR) | |
10388 | cc SAVE /AA/ | |
10389 | COMMON /BB/ P(3,MAXSTR) | |
10390 | cc SAVE /BB/ | |
10391 | COMMON /CC/ E(MAXSTR) | |
10392 | cc SAVE /CC/ | |
10393 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
10394 | cc SAVE /EE/ | |
10395 | COMMON /RUN/NUM | |
10396 | cc SAVE /RUN/ | |
10397 | COMMON /PA/RPION(3,MAXSTR,MAXR) | |
10398 | cc SAVE /PA/ | |
10399 | COMMON /PB/PPION(3,MAXSTR,MAXR) | |
10400 | cc SAVE /PB/ | |
10401 | COMMON /PC/EPION(MAXSTR,MAXR) | |
10402 | cc SAVE /PC/ | |
10403 | COMMON /PD/LPION(MAXSTR,MAXR) | |
10404 | cc SAVE /PD/ | |
10405 | common/leadng/lb1,px1,py1,pz1,em1,e1,xfnl,yfnl,zfnl,tfnl, | |
10406 | 1 px1n,py1n,pz1n,dp1n | |
10407 | cc SAVE /leadng/ | |
10408 | COMMON/tdecay/tfdcy(MAXSTR),tfdpi(MAXSTR,MAXR),tft(MAXSTR) | |
10409 | cc SAVE /tdecay/ | |
10410 | COMMON /INPUT2/ ILAB, MANYB, NTMAX, ICOLL, INSYS, IPOT, MODE, | |
10411 | & IMOMEN, NFREQ, ICFLOW, ICRHO, ICOU, KPOTEN, KMUL | |
10412 | cc SAVE /INPUT2/ | |
10413 | EXTERNAL IARFLV, INVFLV | |
10414 | COMMON/RNDF77/NSEED | |
10415 | cc SAVE /RNDF77/ | |
10416 | COMMON /dpert/dpertt(MAXSTR,MAXR),dpertp(MAXSTR),dplast(MAXSTR), | |
10417 | 1 dpdcy(MAXSTR),dpdpi(MAXSTR,MAXR),dpt(MAXSTR, MAXR), | |
10418 | 2 dpp1(MAXSTR,MAXR),dppion(MAXSTR,MAXR) | |
10419 | SAVE | |
10420 | ||
10421 | ISEED=ISEED | |
10422 | * READ IN THE COORDINATES OF THE N*(1440) UNDERGOING DECAY | |
10423 | PX=P(1,I) | |
10424 | PY=P(2,I) | |
10425 | PZ=P(3,I) | |
10426 | RX=R(1,I) | |
10427 | RY=R(2,I) | |
10428 | RZ=R(3,I) | |
10429 | DM=E(I) | |
10430 | EDELTA=SQRT(DM**2+PX**2+PY**2+PZ**2) | |
10431 | PM1=EPION(NNN,IRUN) | |
10432 | PM2=EPION(NNN+1,IRUN) | |
10433 | AM=AMN | |
10434 | IF(NLAB.EQ.1)AM=AMP | |
10435 | * THE MAXIMUM MOMENTUM OF THE NUCLEON FROM THE DECAY OF A N* | |
10436 | PMAX2=(DM**2-(AM+PM1+PM2)**2)*(DM**2-(AM-PM1-PM2)**2)/4/DM**2 | |
10437 | PMAX=SQRT(PMAX2) | |
10438 | * GENERATE THE MOMENTUM OF THE NUCLEON IN THE N* REST FRAME | |
10439 | CSS=1.-2.*RANART(NSEED) | |
10440 | SSS=SQRT(1-CSS**2) | |
10441 | FAI=2*PI*RANART(NSEED) | |
10442 | PX0=PMAX*SSS*COS(FAI) | |
10443 | PY0=PMAX*SSS*SIN(FAI) | |
10444 | PZ0=PMAX*CSS | |
10445 | EP0=SQRT(PX0**2+PY0**2+PZ0**2+AM**2) | |
10446 | clin-5/23/01 bug: P0 for pion0 is equal to PMAX, leaving pion+ and pion- | |
10447 | c without no relative momentum, thus producing them with equal momenta, | |
10448 | * BETA AND GAMMA OF THE CMS OF PION+-PION- | |
10449 | BETAX=-PX0/(DM-EP0) | |
10450 | BETAY=-PY0/(DM-EP0) | |
10451 | BETAZ=-PZ0/(DM-EP0) | |
10452 | GD1=1./SQRT(1-BETAX**2-BETAY**2-BETAZ**2) | |
10453 | FGD1=GD1/(1+GD1) | |
10454 | * GENERATE THE MOMENTA OF PIONS IN THE CMS OF PION+PION- | |
10455 | Q2=((DM-EP0)/(2.*GD1))**2-PM1**2 | |
10456 | IF(Q2.LE.0.)Q2=1.E-09 | |
10457 | Q=SQRT(Q2) | |
10458 | 11 QX=1.-2.*RANART(NSEED) | |
10459 | QY=1.-2.*RANART(NSEED) | |
10460 | QZ=1.-2.*RANART(NSEED) | |
10461 | QS=QX**2+QY**2+QZ**2 | |
10462 | IF(QS.GT.1.) GO TO 11 | |
10463 | PXP=Q*QX/SQRT(QS) | |
10464 | PYP=Q*QY/SQRT(QS) | |
10465 | PZP=Q*QZ/SQRT(QS) | |
10466 | EP=SQRT(Q**2+PM1**2) | |
10467 | PXN=-PXP | |
10468 | PYN=-PYP | |
10469 | PZN=-PZP | |
10470 | EN=SQRT(Q**2+PM2**2) | |
10471 | * TRANSFORM THE MOMENTA OF PION+PION- INTO THE N* REST FRAME | |
10472 | BPP1=BETAX*PXP+BETAY*PYP+BETAZ*PZP | |
10473 | BPN1=BETAX*PXN+BETAY*PYN+BETAZ*PZN | |
10474 | * FOR PION- | |
10475 | P1M=PXN+BETAX*GD1*(FGD1*BPN1+EN) | |
10476 | P2M=PYN+BETAY*GD1*(FGD1*BPN1+EN) | |
10477 | P3M=PZN+BETAZ*GD1*(FGD1*BPN1+EN) | |
10478 | EPN=SQRT(P1M**2+P2M**2+P3M**2+PM2**2) | |
10479 | * FOR PION+ | |
10480 | P1P=PXP+BETAX*GD1*(FGD1*BPP1+EP) | |
10481 | P2P=PYP+BETAY*GD1*(FGD1*BPP1+EP) | |
10482 | P3P=PZP+BETAZ*GD1*(FGD1*BPP1+EP) | |
10483 | EPP=SQRT(P1P**2+P2P**2+P3P**2+PM1**2) | |
10484 | * TRANSFORM MOMENTA OF THE THREE PIONS INTO THE | |
10485 | * THE NUCLEUS-NUCLEUS CENTER OF MASS FRAME. | |
10486 | * THE GENERAL LORENTZ TRANSFORMATION CAN | |
10487 | * BE FOUND ON PAGE 34 OF R. HAGEDORN " RELATIVISTIC KINEMATICS" | |
10488 | GD=EDELTA/DM | |
10489 | FGD=GD/(1.+GD) | |
10490 | BDX=PX/EDELTA | |
10491 | BDY=PY/EDELTA | |
10492 | BDZ=PZ/EDELTA | |
10493 | BP0=BDX*PX0+BDY*PY0+BDZ*PZ0 | |
10494 | BPP=BDX*P1P+BDY*P2P+BDZ*P3P | |
10495 | BPN=BDX*P1M+BDY*P2M+BDZ*P3M | |
10496 | * FOR THE NUCLEON | |
10497 | P(1,I)=PX0+BDX*GD*(FGD*BP0+EP0) | |
10498 | P(2,I)=PY0+BDY*GD*(FGD*BP0+EP0) | |
10499 | P(3,I)=PZ0+BDZ*GD*(FGD*BP0+EP0) | |
10500 | E(I)=am | |
10501 | ID(I)=0 | |
10502 | enucl=sqrt(p(1,i)**2+p(2,i)**2+p(3,i)**2+e(i)**2) | |
10503 | * WE ASSUME THAT THE SPACIAL COORDINATE OF THE PION0 | |
10504 | * IS in a sphere of radius 0.5 fm around N* | |
10505 | * FOR PION+ | |
10506 | PPION(1,NNN,IRUN)=P1P+BDX*GD*(FGD*BPP+EPP) | |
10507 | PPION(2,NNN,IRUN)=P2P+BDY*GD*(FGD*BPP+EPP) | |
10508 | PPION(3,NNN,IRUN)=P3P+BDZ*GD*(FGD*BPP+EPP) | |
10509 | epion1=sqrt(ppion(1,nnn,irun)**2 | |
10510 | & +ppion(2,nnn,irun)**2+ppion(3,nnn,irun)**2 | |
10511 | & +epion(nnn,irun)**2) | |
10512 | clin-2/20/03 no additional smearing for position of decay daughters: | |
10513 | c200 X0 = 1.0 - 2.0 * RANART(NSEED) | |
10514 | c Y0 = 1.0 - 2.0 * RANART(NSEED) | |
10515 | c Z0 = 1.0 - 2.0 * RANART(NSEED) | |
10516 | c IF ((X0*X0+Y0*Y0+Z0*Z0) .GT. 1.0) GOTO 200 | |
10517 | c RPION(1,NNN,IRUN)=R(1,I)+0.5*x0 | |
10518 | c RPION(2,NNN,IRUN)=R(2,I)+0.5*y0 | |
10519 | c RPION(3,NNN,IRUN)=R(3,I)+0.5*z0 | |
10520 | RPION(1,NNN,IRUN)=R(1,I) | |
10521 | RPION(2,NNN,IRUN)=R(2,I) | |
10522 | RPION(3,NNN,IRUN)=R(3,I) | |
10523 | * FOR PION- | |
10524 | PPION(1,NNN+1,IRUN)=P1M+BDX*GD*(FGD*BPN+EPN) | |
10525 | PPION(2,NNN+1,IRUN)=P2M+BDY*GD*(FGD*BPN+EPN) | |
10526 | PPION(3,NNN+1,IRUN)=P3M+BDZ*GD*(FGD*BPN+EPN) | |
10527 | clin-5/2008: | |
10528 | dppion(NNN,IRUN)=dpertp(I) | |
10529 | dppion(NNN+1,IRUN)=dpertp(I) | |
10530 | c | |
10531 | epion2=sqrt(ppion(1,nnn+1,irun)**2 | |
10532 | & +ppion(2,nnn+1,irun)**2+ppion(3,nnn+1,irun)**2 | |
10533 | & +epion(nnn+1,irun)**2) | |
10534 | clin-2/20/03 no additional smearing for position of decay daughters: | |
10535 | c300 X0 = 1.0 - 2.0 * RANART(NSEED) | |
10536 | c Y0 = 1.0 - 2.0 * RANART(NSEED) | |
10537 | c Z0 = 1.0 - 2.0 * RANART(NSEED) | |
10538 | c IF ((X0*X0+Y0*Y0+Z0*Z0) .GT. 1.0) GOTO 300 | |
10539 | c RPION(1,NNN+1,IRUN)=R(1,I)+0.5*x0 | |
10540 | c RPION(2,NNN+1,IRUN)=R(2,I)+0.5*y0 | |
10541 | c RPION(3,NNN+1,IRUN)=R(3,I)+0.5*z0 | |
10542 | RPION(1,NNN+1,IRUN)=R(1,I) | |
10543 | RPION(2,NNN+1,IRUN)=R(2,I) | |
10544 | RPION(3,NNN+1,IRUN)=R(3,I) | |
10545 | c | |
10546 | * check energy conservation in the decay | |
10547 | c efinal=enucl+epion1+epion2 | |
10548 | c DEEE=(EDELTA-EFINAL)/EDELTA | |
10549 | c IF(ABS(DEEE).GE.1.E-03)write(6,*)1,edelta,efinal | |
10550 | ||
10551 | devio=SQRT(EPION(NNN,IRUN)**2+PPION(1,NNN,IRUN)**2 | |
10552 | 1 +PPION(2,NNN,IRUN)**2+PPION(3,NNN,IRUN)**2) | |
10553 | 2 +SQRT(E(I)**2+P(1,I)**2+P(2,I)**2+P(3,I)**2) | |
10554 | 3 +SQRT(EPION(NNN+1,IRUN)**2+PPION(1,NNN+1,IRUN)**2 | |
10555 | 4 +PPION(2,NNN+1,IRUN)**2+PPION(3,NNN+1,IRUN)**2)-e1 | |
10556 | c if(abs(devio).gt.0.02) write(93,*) 'decay2(): nt=',nt,devio,lb1 | |
10557 | ||
10558 | c add decay time to daughter's formation time at the last timestep: | |
10559 | if(nt.eq.ntmax) then | |
10560 | tau0=hbarc/wid | |
10561 | taudcy=tau0*(-1.)*alog(1.-RANART(NSEED)) | |
10562 | c lorentz boost: | |
10563 | taudcy=taudcy*e1/em1 | |
10564 | tfnl=tfnl+taudcy | |
10565 | xfnl=xfnl+px1/e1*taudcy | |
10566 | yfnl=yfnl+py1/e1*taudcy | |
10567 | zfnl=zfnl+pz1/e1*taudcy | |
10568 | R(1,I)=xfnl | |
10569 | R(2,I)=yfnl | |
10570 | R(3,I)=zfnl | |
10571 | tfdcy(I)=tfnl | |
10572 | RPION(1,NNN,IRUN)=xfnl | |
10573 | RPION(2,NNN,IRUN)=yfnl | |
10574 | RPION(3,NNN,IRUN)=zfnl | |
10575 | tfdpi(NNN,IRUN)=tfnl | |
10576 | RPION(1,NNN+1,IRUN)=xfnl | |
10577 | RPION(2,NNN+1,IRUN)=yfnl | |
10578 | RPION(3,NNN+1,IRUN)=zfnl | |
10579 | tfdpi(NNN+1,IRUN)=tfnl | |
10580 | endif | |
10581 | ||
10582 | cc 200 format(a30,2(1x,e10.4)) | |
10583 | cc 210 format(i6,5(1x,f8.3)) | |
10584 | cc 220 format(a2,i5,5(1x,f8.3)) | |
10585 | ||
10586 | RETURN | |
10587 | END | |
10588 | *--------------------------------------------------------------------------- | |
10589 | *--------------------------------------------------------------------------- | |
10590 | * PURPOSE : CALCULATE THE MASS AND MOMENTUM OF BARYON RESONANCE | |
10591 | * AFTER PION OR ETA BEING ABSORBED BY A NUCLEON | |
10592 | * NOTE : | |
10593 | * | |
10594 | * DATE : JAN.29,1990 | |
10595 | SUBROUTINE DRESON(I1,I2) | |
10596 | PARAMETER (MAXSTR=150001,MAXR=1, | |
10597 | 1 AMN=0.939457,AMP=0.93828, | |
10598 | 2 AP1=0.13496,AP2=0.13957,AM0=1.232,PI=3.1415926) | |
10599 | COMMON /AA/ R(3,MAXSTR) | |
10600 | cc SAVE /AA/ | |
10601 | COMMON /BB/ P(3,MAXSTR) | |
10602 | cc SAVE /BB/ | |
10603 | COMMON /CC/ E(MAXSTR) | |
10604 | cc SAVE /CC/ | |
10605 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
10606 | cc SAVE /EE/ | |
10607 | COMMON /RUN/NUM | |
10608 | cc SAVE /RUN/ | |
10609 | COMMON /PA/RPION(3,MAXSTR,MAXR) | |
10610 | cc SAVE /PA/ | |
10611 | COMMON /PB/PPION(3,MAXSTR,MAXR) | |
10612 | cc SAVE /PB/ | |
10613 | COMMON /PC/EPION(MAXSTR,MAXR) | |
10614 | cc SAVE /PC/ | |
10615 | COMMON /PD/LPION(MAXSTR,MAXR) | |
10616 | cc SAVE /PD/ | |
10617 | SAVE | |
10618 | * 1. DETERMINE THE MOMENTUM COMPONENT OF DELTA/N* IN THE LAB. FRAME | |
10619 | E10=SQRT(E(I1)**2+P(1,I1)**2+P(2,I1)**2+P(3,I1)**2) | |
10620 | E20=SQRT(E(I2)**2+P(1,I2)**2+P(2,I2)**2+P(3,I2)**2) | |
10621 | IF(iabs(LB(I2)) .EQ. 1 .OR. iabs(LB(I2)) .EQ. 2 .OR. | |
10622 | & (iabs(LB(I2)) .GE. 6 .AND. iabs(LB(I2)) .LE. 17)) THEN | |
10623 | E(I1)=0. | |
10624 | I=I2 | |
10625 | ELSE | |
10626 | E(I2)=0. | |
10627 | I=I1 | |
10628 | ENDIF | |
10629 | P(1,I)=P(1,I1)+P(1,I2) | |
10630 | P(2,I)=P(2,I1)+P(2,I2) | |
10631 | P(3,I)=P(3,I1)+P(3,I2) | |
10632 | * 2. DETERMINE THE MASS OF DELTA/N* BY USING THE REACTION KINEMATICS | |
10633 | DM=SQRT((E10+E20)**2-P(1,I)**2-P(2,I)**2-P(3,I)**2) | |
10634 | E(I)=DM | |
10635 | RETURN | |
10636 | END | |
10637 | *--------------------------------------------------------------------------- | |
10638 | * PURPOSE : CALCULATE THE MASS AND MOMENTUM OF RHO RESONANCE | |
10639 | * AFTER PION + PION COLLISION | |
10640 | * DATE : NOV. 30,1994 | |
10641 | SUBROUTINE RHORES(I1,I2) | |
10642 | PARAMETER (MAXSTR=150001,MAXR=1, | |
10643 | 1 AMN=0.939457,AMP=0.93828, | |
10644 | 2 AP1=0.13496,AP2=0.13957,AM0=1.232,PI=3.1415926) | |
10645 | COMMON /AA/ R(3,MAXSTR) | |
10646 | cc SAVE /AA/ | |
10647 | COMMON /BB/ P(3,MAXSTR) | |
10648 | cc SAVE /BB/ | |
10649 | COMMON /CC/ E(MAXSTR) | |
10650 | cc SAVE /CC/ | |
10651 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
10652 | cc SAVE /EE/ | |
10653 | COMMON /RUN/NUM | |
10654 | cc SAVE /RUN/ | |
10655 | COMMON /PA/RPION(3,MAXSTR,MAXR) | |
10656 | cc SAVE /PA/ | |
10657 | COMMON /PB/PPION(3,MAXSTR,MAXR) | |
10658 | cc SAVE /PB/ | |
10659 | COMMON /PC/EPION(MAXSTR,MAXR) | |
10660 | cc SAVE /PC/ | |
10661 | COMMON /PD/LPION(MAXSTR,MAXR) | |
10662 | cc SAVE /PD/ | |
10663 | SAVE | |
10664 | * 1. DETERMINE THE MOMENTUM COMPONENT OF THE RHO IN THE CMS OF NN FRAME | |
10665 | * WE LET I1 TO BE THE RHO AND ABSORB I2 | |
10666 | E10=SQRT(E(I1)**2+P(1,I1)**2+P(2,I1)**2+P(3,I1)**2) | |
10667 | E20=SQRT(E(I2)**2+P(1,I2)**2+P(2,I2)**2+P(3,I2)**2) | |
10668 | P(1,I1)=P(1,I1)+P(1,I2) | |
10669 | P(2,I1)=P(2,I1)+P(2,I2) | |
10670 | P(3,I1)=P(3,I1)+P(3,I2) | |
10671 | * 2. DETERMINE THE MASS OF THE RHO BY USING THE REACTION KINEMATICS | |
10672 | DM=SQRT((E10+E20)**2-P(1,I1)**2-P(2,I1)**2-P(3,I1)**2) | |
10673 | E(I1)=DM | |
10674 | E(I2)=0 | |
10675 | RETURN | |
10676 | END | |
10677 | *--------------------------------------------------------------------------- | |
10678 | * PURPOSE : CALCULATE THE PION+NUCLEON CROSS SECTION ACCORDING TO THE | |
10679 | * BREIT-WIGNER FORMULA/(p*)**2 | |
10680 | * VARIABLE : LA = 1 FOR DELTA RESONANCE | |
10681 | * LA = 0 FOR N*(1440) RESONANCE | |
10682 | * LA = 2 FRO N*(1535) RESONANCE | |
10683 | * DATE : JAN.29,1990 | |
10684 | REAL FUNCTION XNPI(I1,I2,LA,XMAX) | |
10685 | PARAMETER (MAXSTR=150001,MAXR=1, | |
10686 | 1 AMN=0.939457,AMP=0.93828, | |
10687 | 2 AP1=0.13496,AP2=0.13957,AM0=1.232,PI=3.1415926) | |
10688 | COMMON /AA/ R(3,MAXSTR) | |
10689 | cc SAVE /AA/ | |
10690 | COMMON /BB/ P(3,MAXSTR) | |
10691 | cc SAVE /BB/ | |
10692 | COMMON /CC/ E(MAXSTR) | |
10693 | cc SAVE /CC/ | |
10694 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
10695 | cc SAVE /EE/ | |
10696 | COMMON /RUN/NUM | |
10697 | cc SAVE /RUN/ | |
10698 | COMMON /PA/RPION(3,MAXSTR,MAXR) | |
10699 | cc SAVE /PA/ | |
10700 | COMMON /PB/PPION(3,MAXSTR,MAXR) | |
10701 | cc SAVE /PB/ | |
10702 | COMMON /PC/EPION(MAXSTR,MAXR) | |
10703 | cc SAVE /PC/ | |
10704 | COMMON /PD/LPION(MAXSTR,MAXR) | |
10705 | cc SAVE /PD/ | |
10706 | SAVE | |
10707 | AVMASS=0.5*(AMN+AMP) | |
10708 | AVPI=(2.*AP2+AP1)/3. | |
10709 | * 1. DETERMINE THE MOMENTUM COMPONENT OF DELTA IN THE LAB. FRAME | |
10710 | E10=SQRT(E(I1)**2+P(1,I1)**2+P(2,I1)**2+P(3,I1)**2) | |
10711 | E20=SQRT(E(I2)**2+P(1,I2)**2+P(2,I2)**2+P(3,I2)**2) | |
10712 | P1=P(1,I1)+P(1,I2) | |
10713 | P2=P(2,I1)+P(2,I2) | |
10714 | P3=P(3,I1)+P(3,I2) | |
10715 | * 2. DETERMINE THE MASS OF DELTA BY USING OF THE REACTION KINEMATICS | |
10716 | DM=SQRT((E10+E20)**2-P1**2-P2**2-P3**2) | |
10717 | IF(DM.LE.1.1) THEN | |
10718 | XNPI=1.e-09 | |
10719 | RETURN | |
10720 | ENDIF | |
10721 | * 3. DETERMINE THE PION+NUCLEON CROSS SECTION ACCORDING TO THE | |
10722 | * BREIT-WIGNER FORMULA IN UNIT OF FM**2 | |
10723 | IF(LA.EQ.1)THEN | |
10724 | GAM=WIDTH(DM) | |
10725 | F1=0.25*GAM**2/(0.25*GAM**2+(DM-1.232)**2) | |
10726 | PDELT2=0.051622 | |
10727 | GO TO 10 | |
10728 | ENDIF | |
10729 | IF(LA.EQ.0)THEN | |
10730 | GAM=W1440(DM) | |
10731 | F1=0.25*GAM**2/(0.25*GAM**2+(DM-1.440)**2) | |
10732 | PDELT2=0.157897 | |
10733 | GO TO 10 | |
10734 | ENDIF | |
10735 | IF(LA.EQ.2)THEN | |
10736 | GAM=W1535(DM) | |
10737 | F1=0.25*GAM**2/(0.25*GAM**2+(DM-1.535)**2) | |
10738 | PDELT2=0.2181 | |
10739 | ENDIF | |
10740 | 10 PSTAR2=((DM**2-AVMASS**2+AVPI**2)/(2.*DM))**2-AVPI**2 | |
10741 | IF(PSTAR2.LE.0.)THEN | |
10742 | XNPI=1.e-09 | |
10743 | ELSE | |
10744 | * give the cross section in unit of fm**2 | |
10745 | XNPI=F1*(PDELT2/PSTAR2)*XMAX/10. | |
10746 | ENDIF | |
10747 | RETURN | |
10748 | END | |
10749 | *------------------------------------------------------------------------------ | |
10750 | ***************************************** | |
10751 | REAL FUNCTION SIGMA(SRT,ID,IOI,IOF) | |
10752 | *PURPOSE : THIS IS THE PROGRAM TO CALCULATE THE ISOSPIN DECOMPOSED CROSS | |
10753 | * SECTION BY USING OF B.J.VerWEST AND R.A.ARNDT'S PARAMETERIZATION | |
10754 | *REFERENCE: PHYS. REV. C25(1982)1979 | |
10755 | *QUANTITIES: IOI -- INITIAL ISOSPIN OF THE TWO NUCLEON SYSTEM | |
10756 | * IOF -- FINAL ISOSPIN ------------------------- | |
10757 | * ID -- =1 FOR DELTA RESORANCE | |
10758 | * =2 FOR N* RESORANCE | |
10759 | *DATE : MAY 15,1990 | |
10760 | ***************************************** | |
10761 | PARAMETER (AMU=0.9383,AMP=0.1384,PI=3.1415926,HC=0.19733) | |
10762 | SAVE | |
10763 | IF(ID.EQ.1)THEN | |
10764 | AMASS0=1.22 | |
10765 | T0 =0.12 | |
10766 | ELSE | |
10767 | AMASS0=1.43 | |
10768 | T0 =0.2 | |
10769 | ENDIF | |
10770 | IF((IOI.EQ.1).AND.(IOF.EQ.1))THEN | |
10771 | ALFA=3.772 | |
10772 | BETA=1.262 | |
10773 | AM0=1.188 | |
10774 | T=0.09902 | |
10775 | ENDIF | |
10776 | IF((IOI.EQ.1).AND.(IOF.EQ.0))THEN | |
10777 | ALFA=15.28 | |
10778 | BETA=0. | |
10779 | AM0=1.245 | |
10780 | T=0.1374 | |
10781 | ENDIF | |
10782 | IF((IOI.EQ.0).AND.(IOF.EQ.1))THEN | |
10783 | ALFA=146.3 | |
10784 | BETA=0. | |
10785 | AM0=1.472 | |
10786 | T=0.02649 | |
10787 | ENDIF | |
10788 | ZPLUS=(SRT-AMU-AMASS0)*2./T0 | |
10789 | ZMINUS=(AMU+AMP-AMASS0)*2./T0 | |
10790 | deln=ATAN(ZPLUS)-ATAN(ZMINUS) | |
10791 | if(deln.eq.0)deln=1.E-06 | |
10792 | AMASS=AMASS0+(T0/4.)*ALOG((1.+ZPLUS**2)/(1.+ZMINUS**2)) | |
10793 | 1 /deln | |
10794 | S=SRT**2 | |
10795 | P2=S/4.-AMU**2 | |
10796 | S0=(AMU+AM0)**2 | |
10797 | P02=S0/4.-AMU**2 | |
10798 | P0=SQRT(P02) | |
10799 | PR2=(S-(AMU-AMASS)**2)*(S-(AMU+AMASS)**2)/(4.*S) | |
10800 | IF(PR2.GT.1.E-06)THEN | |
10801 | PR=SQRT(PR2) | |
10802 | ELSE | |
10803 | PR=0. | |
10804 | SIGMA=1.E-06 | |
10805 | RETURN | |
10806 | ENDIF | |
10807 | SS=AMASS**2 | |
10808 | Q2=(SS-(AMU-AMP)**2)*(SS-(AMU+AMP)**2)/(4.*SS) | |
10809 | IF(Q2.GT.1.E-06)THEN | |
10810 | Q=SQRT(Q2) | |
10811 | ELSE | |
10812 | Q=0. | |
10813 | SIGMA=1.E-06 | |
10814 | RETURN | |
10815 | ENDIF | |
10816 | SS0=AM0**2 | |
10817 | Q02=(SS0-(AMU-AMP)**2)*(SS0-(AMU+AMP)**2)/(4.*SS0) | |
10818 | Q0=SQRT(Q02) | |
10819 | SIGMA=PI*(HC)**2/(2.*P2)*ALFA*(PR/P0)**BETA*AM0**2*T**2 | |
10820 | 1 *(Q/Q0)**3/((SS-AM0**2)**2+AM0**2*T**2) | |
10821 | SIGMA=SIGMA*10. | |
10822 | IF(SIGMA.EQ.0)SIGMA=1.E-06 | |
10823 | RETURN | |
10824 | END | |
10825 | ||
10826 | ***************************** | |
10827 | REAL FUNCTION DENOM(SRT,CON) | |
10828 | * NOTE: CON=1 FOR DELTA RESONANCE, CON=2 FOR N*(1440) RESONANCE | |
10829 | * con=-1 for N*(1535) | |
10830 | * PURPOSE : CALCULATE THE INTEGRAL IN THE DETAILED BALANCE | |
10831 | * | |
10832 | * DATE : NOV. 15, 1991 | |
10833 | ******************************* | |
10834 | PARAMETER (AP1=0.13496, | |
10835 | 1 AP2=0.13957,PI=3.1415926,AVMASS=0.9383) | |
10836 | SAVE | |
10837 | AVPI=(AP1+2.*AP2)/3. | |
10838 | AM0=1.232 | |
10839 | AMN=AVMASS | |
10840 | AMP=AVPI | |
10841 | AMAX=SRT-AVMASS | |
10842 | AMIN=AVMASS+AVPI | |
10843 | NMAX=200 | |
10844 | DMASS=(AMAX-AMIN)/FLOAT(NMAX) | |
10845 | SUM=0. | |
10846 | DO 10 I=1,NMAX+1 | |
10847 | DM=AMIN+FLOAT(I-1)*DMASS | |
10848 | IF(CON.EQ.1.)THEN | |
10849 | Q2=((DM**2-AMN**2+AMP**2)/(2.*DM))**2-AMP**2 | |
10850 | IF(Q2.GT.0.)THEN | |
10851 | Q=SQRT(Q2) | |
10852 | ELSE | |
10853 | Q=1.E-06 | |
10854 | ENDIF | |
10855 | TQ=0.47*(Q**3)/(AMP**2*(1.+0.6*(Q/AMP)**2)) | |
10856 | ELSE if(con.eq.2)then | |
10857 | TQ=0.2 | |
10858 | AM0=1.44 | |
10859 | else if(con.eq.-1.)then | |
10860 | tq=0.1 | |
10861 | am0=1.535 | |
10862 | ENDIF | |
10863 | A1=4.*TQ*AM0**2/(AM0**2*TQ**2+(DM**2-AM0**2)**2) | |
10864 | S=SRT**2 | |
10865 | P0=(S+DM**2-AMN**2)**2/(4.*S)-DM**2 | |
10866 | IF(P0.LE.0.)THEN | |
10867 | P1=1.E-06 | |
10868 | ELSE | |
10869 | P1=SQRT(P0) | |
10870 | ENDIF | |
10871 | F=DM*A1*P1 | |
10872 | IF((I.EQ.1).OR.(I.EQ.(NMAX+1)))THEN | |
10873 | SUM=SUM+F*0.5 | |
10874 | ELSE | |
10875 | SUM=SUM+F | |
10876 | ENDIF | |
10877 | 10 CONTINUE | |
10878 | DENOM=SUM*DMASS/(2.*PI) | |
10879 | RETURN | |
10880 | END | |
10881 | ********************************** | |
10882 | * subroutine : ang.FOR | |
10883 | * PURPOSE : Calculate the angular distribution of Delta production process | |
10884 | * DATE : Nov. 19, 1992 | |
10885 | * REFERENCE: G. WOLF ET. AL., NUCL. PHYS. A517 (1990) 615 | |
10886 | * Note: this function applies when srt is larger than 2.14 GeV, | |
10887 | * for less energetic reactions, we assume the angular distribution | |
10888 | * is isotropic. | |
10889 | *********************************** | |
3006c44b | 10890 | real function anga(srt,iseed) |
0119ef9a | 10891 | COMMON/RNDF77/NSEED |
10892 | cc SAVE /RNDF77/ | |
10893 | SAVE | |
10894 | ISEED=ISEED | |
10895 | c if(srt.le.2.14)then | |
10896 | c b1s=0.5 | |
10897 | c b2s=0. | |
10898 | c endif | |
10899 | if((srt.gt.2.14).and.(srt.le.2.4))then | |
10900 | b1s=29.03-23.75*srt+4.865*srt**2 | |
10901 | b2s=-30.33+25.53*srt-5.301*srt**2 | |
10902 | endif | |
10903 | if(srt.gt.2.4)then | |
10904 | b1s=0.06 | |
10905 | b2s=0.4 | |
10906 | endif | |
10907 | x=RANART(NSEED) | |
10908 | p=b1s/b2s | |
10909 | q=(2.*x-1.)*(b1s+b2s)/b2s | |
10910 | IF((-q/2.+sqrt((q/2.)**2+(p/3.)**3)).GE.0.)THEN | |
10911 | ang1=(-q/2.+sqrt((q/2.)**2+(p/3.)**3))**(1./3.) | |
10912 | ELSE | |
10913 | ang1=-(q/2.-sqrt((q/2.)**2+(p/3.)**3))**(1./3.) | |
10914 | ENDIF | |
10915 | IF((-q/2.-sqrt((q/2.)**2+(p/3.)**3).GE.0.))THEN | |
10916 | ang2=(-q/2.-sqrt((q/2.)**2+(p/3.)**3))**(1./3.) | |
10917 | ELSE | |
10918 | ang2=-(q/2.+sqrt((q/2.)**2+(p/3.)**3))**(1./3.) | |
10919 | ENDIF | |
3006c44b | 10920 | ANGA=ANG1+ANG2 |
0119ef9a | 10921 | return |
10922 | end | |
10923 | *-------------------------------------------------------------------------- | |
10924 | *****subprogram * kaon production from pi+B collisions ******************* | |
10925 | real function PNLKA(srt) | |
10926 | SAVE | |
10927 | * units: fm**2 | |
10928 | ***********************************C | |
10929 | ala=1.116 | |
10930 | aka=0.498 | |
10931 | ana=0.939 | |
10932 | t1=ala+aka | |
10933 | if(srt.le.t1) THEN | |
10934 | Pnlka=0 | |
10935 | Else | |
10936 | IF(SRT.LT.1.7)sbbk=(0.9/0.091)*(SRT-T1) | |
10937 | IF(SRT.GE.1.7)sbbk=0.09/(SRT-1.6) | |
10938 | Pnlka=0.25*sbbk | |
10939 | * give the cross section in units of fm**2 | |
10940 | pnlka=pnlka/10. | |
10941 | endif | |
10942 | return | |
10943 | end | |
10944 | *------------------------------------------------------------------------- | |
10945 | *****subprogram * kaon production from pi+B collisions ******************* | |
10946 | real function PNSKA(srt) | |
10947 | SAVE | |
10948 | *********************************** | |
10949 | if(srt.gt.3.0)then | |
10950 | pnska=0 | |
10951 | return | |
10952 | endif | |
10953 | ala=1.116 | |
10954 | aka=0.498 | |
10955 | ana=0.939 | |
10956 | asa=1.197 | |
10957 | t1=asa+aka | |
10958 | if(srt.le.t1) THEN | |
10959 | Pnska=0 | |
10960 | return | |
10961 | Endif | |
10962 | IF(SRT.LT.1.9)SBB1=(0.7/0.218)*(SRT-T1) | |
10963 | IF(SRT.GE.1.9)SBB1=0.14/(SRT-1.7) | |
10964 | sbb2=0. | |
10965 | if(srt.gT.1.682)sbb2=0.5*(1.-0.75*(srt-1.682)) | |
10966 | pnska=0.25*(sbb1+sbb2) | |
10967 | * give the cross section in fm**2 | |
10968 | pnska=pnska/10. | |
10969 | return | |
10970 | end | |
10971 | ||
10972 | ******************************** | |
10973 | * | |
10974 | * Kaon momentum distribution in baryon-baryon-->N lamda K process | |
10975 | * | |
10976 | * NOTE: dsima/dp is prototional to (1-p/p_max)(p/p_max)^2 | |
10977 | * we use rejection method to generate kaon momentum | |
10978 | * | |
10979 | * Variables: Fkaon = F(p)/F_max | |
10980 | * srt = cms energy of the colliding pair, | |
10981 | * used to calculate the P_max | |
10982 | * Date: Feb. 8, 1994 | |
10983 | * | |
10984 | * Reference: C. M. Ko et al. | |
10985 | ******************************** | |
10986 | Real function fkaon(p,pmax) | |
10987 | SAVE | |
10988 | fmax=0.148 | |
10989 | if(pmax.eq.0.)pmax=0.000001 | |
10990 | fkaon=(1.-p/pmax)*(p/pmax)**2 | |
10991 | if(fkaon.gt.fmax)fkaon=fmax | |
10992 | fkaon=fkaon/fmax | |
10993 | return | |
10994 | end | |
10995 | ||
10996 | ************************* | |
10997 | * cross section for N*(1535) production in ND OR NN* collisions | |
10998 | * VARIABLES: | |
10999 | * LB1,LB2 ARE THE LABLES OF THE TWO COLLIDING PARTICLES | |
11000 | * SRT IS THE CMS ENERGY | |
11001 | * X1535 IS THE N*(1535) PRODUCTION CROSS SECTION | |
11002 | * NOTE THAT THE N*(1535) PRODUCTION CROSS SECTION IS 2 TIMES THE ETA | |
11003 | * PRODUCTION CROSS SECTION | |
11004 | * DATE: MAY 18, 1994 | |
11005 | * *********************** | |
11006 | Subroutine M1535(LB1,LB2,SRT,X1535) | |
11007 | SAVE | |
11008 | S0=2.424 | |
11009 | x1535=0. | |
11010 | IF(SRT.LE.S0)RETURN | |
11011 | SIGMA=2.*0.102*(SRT-S0)/(0.058+(SRT-S0)**2) | |
11012 | * I N*(1535) PRODUCTION IN NUCLEON-DELTA COLLISIONS | |
11013 | *(1) nD(++)->pN*(+)(1535), pD(-)->nN*(0)(1535),pD(+)-->N*(+)p | |
11014 | cbz11/25/98 | |
11015 | c IF((LB1*LB2.EQ.18).OR.(LB1*LB2.EQ.6). | |
11016 | c 1 or.(lb1*lb2).eq.8)then | |
11017 | IF((LB1*LB2.EQ.18.AND.(LB1.EQ.2.OR.LB2.EQ.2)).OR. | |
11018 | & (LB1*LB2.EQ.6.AND.(LB1.EQ.1.OR.LB2.EQ.1)).or. | |
11019 | & (lb1*lb2.eq.8.AND.(LB1.EQ.1.OR.LB2.EQ.1)))then | |
11020 | cbz11/25/98end | |
11021 | X1535=SIGMA | |
11022 | return | |
11023 | ENDIF | |
11024 | *(2) pD(0)->pN*(0)(1535),pD(0)->nN*(+)(1535) | |
11025 | IF(LB1*LB2.EQ.7)THEN | |
11026 | X1535=3.*SIGMA | |
11027 | RETURN | |
11028 | ENDIF | |
11029 | * II N*(1535) PRODUCTION IN N*(1440)+NUCLEON REACTIONS | |
11030 | *(3) N*(+)(1440)p->N*(0+)(1535)p, N*(0)(1440)n->N*(0)(1535) | |
11031 | cbz11/25/98 | |
11032 | c IF((LB1*LB2.EQ.11).OR.(LB1*LB2.EQ.20))THEN | |
11033 | IF((LB1*LB2.EQ.11).OR. | |
11034 | & (LB1*LB2.EQ.20.AND.(LB1.EQ.2.OR.LB2.EQ.2)))THEN | |
11035 | cbz11/25/98end | |
11036 | X1535=SIGMA | |
11037 | RETURN | |
11038 | ENDIF | |
11039 | *(4) N*(0)(1440)p->N*(0+) or N*(+)(1440)n->N*(0+)(1535) | |
11040 | cbz11/25/98 | |
11041 | c IF((LB1*LB2.EQ.10).OR.(LB1*LB2.EQ.22))X1535=3.*SIGMA | |
11042 | IF((LB1*LB2.EQ.10.AND.(LB1.EQ.1.OR.LB2.EQ.1)).OR. | |
11043 | & (LB1*LB2.EQ.22.AND.(LB1.EQ.2.OR.LB2.EQ.2))) | |
11044 | & X1535=3.*SIGMA | |
11045 | cbz11/25/98end | |
11046 | RETURN | |
11047 | END | |
11048 | ************************* | |
11049 | * cross section for N*(1535) production in NN collisions | |
11050 | * VARIABLES: | |
11051 | * LB1,LB2 ARE THE LABLES OF THE TWO COLLIDING PARTICLES | |
11052 | * SRT IS THE CMS ENERGY | |
11053 | * X1535 IS THE N*(1535) PRODUCTION CROSS SECTION | |
11054 | * NOTE THAT THE N*(1535) PRODUCTION CROSS SECTION IS 2 TIMES THE ETA | |
11055 | * PRODUCTION CROSS SECTION | |
11056 | * DATE: MAY 18, 1994 | |
11057 | * *********************** | |
11058 | Subroutine N1535(LB1,LB2,SRT,X1535) | |
11059 | SAVE | |
11060 | S0=2.424 | |
11061 | x1535=0. | |
11062 | IF(SRT.LE.S0)RETURN | |
11063 | SIGMA=2.*0.102*(SRT-S0)/(0.058+(SRT-S0)**2) | |
11064 | * I N*(1535) PRODUCTION IN NUCLEON-NUCLEON COLLISIONS | |
11065 | *(1) pp->pN*(+)(1535), nn->nN*(0)(1535) | |
11066 | cbdbg11/25/98 | |
11067 | c IF((LB1*LB2.EQ.1).OR.(LB1*LB2.EQ.4))then | |
11068 | IF((LB1*LB2.EQ.1).OR. | |
11069 | & (LB1.EQ.2.AND.LB2.EQ.2))then | |
11070 | cbz11/25/98end | |
11071 | X1535=SIGMA | |
11072 | return | |
11073 | endif | |
11074 | *(2) pn->pN*(0)(1535),pn->nN*(+)(1535) | |
11075 | IF(LB1*LB2.EQ.2)then | |
11076 | X1535=3.*SIGMA | |
11077 | return | |
11078 | endif | |
11079 | * III N*(1535) PRODUCTION IN DELTA+DELTA REACTIONS | |
11080 | * (5) D(++)+D(0), D(+)+D(+),D(+)+D(-),D(0)+D(0) | |
11081 | cbz11/25/98 | |
11082 | c IF((LB1*LB2.EQ.63).OR.(LB1*LB2.EQ.64).OR.(LB1*LB2.EQ.48). | |
11083 | c 1 OR.(LB1*LB2.EQ.49))then | |
11084 | IF((LB1*LB2.EQ.63.AND.(LB1.EQ.7.OR.LB2.EQ.7)).OR. | |
11085 | & (LB1*LB2.EQ.64.AND.(LB1.EQ.8.OR.LB2.EQ.8)).OR. | |
11086 | & (LB1*LB2.EQ.48.AND.(LB1.EQ.6.OR.LB2.EQ.6)).OR. | |
11087 | & (LB1*LB2.EQ.49.AND.(LB1.EQ.7.OR.LB2.EQ.7)))then | |
11088 | cbz11/25/98end | |
11089 | X1535=SIGMA | |
11090 | return | |
11091 | endif | |
11092 | * (6) D(++)+D(-),D(+)+D(0) | |
11093 | cbz11/25/98 | |
11094 | c IF((LB1*LB2.EQ.54).OR.(LB1*LB2.EQ.56))then | |
11095 | IF((LB1*LB2.EQ.54.AND.(LB1.EQ.6.OR.LB2.EQ.6)).OR. | |
11096 | & (LB1*LB2.EQ.56.AND.(LB1.EQ.7.OR.LB2.EQ.7)))then | |
11097 | cbz11/25/98end | |
11098 | X1535=3.*SIGMA | |
11099 | return | |
11100 | endif | |
11101 | * IV N*(1535) PRODUCTION IN N*(1440)+N*(1440) REACTIONS | |
11102 | cbz11/25/98 | |
11103 | c IF((LB1*LB2.EQ.100).OR.(LB1*LB2.EQ.11*11))X1535=SIGMA | |
11104 | IF((LB1.EQ.10.AND.LB2.EQ.10).OR. | |
11105 | & (LB1.EQ.11.AND.LB2.EQ.11))X1535=SIGMA | |
11106 | c IF(LB1*LB2.EQ.110)X1535=3.*SIGMA | |
11107 | IF(LB1*LB2.EQ.110.AND.(LB1.EQ.10.OR.LB2.EQ.10))X1535=3.*SIGMA | |
11108 | cbdbg11/25/98end | |
11109 | RETURN | |
11110 | END | |
11111 | ************************************ | |
11112 | * FUNCTION WA1(DMASS) GIVES THE A1 DECAY WIDTH | |
11113 | ||
11114 | subroutine WIDA1(DMASS,rhomp,wa1,iseed) | |
11115 | SAVE | |
11116 | c | |
11117 | PIMASS=0.137265 | |
11118 | coupa = 14.8 | |
11119 | c | |
11120 | RHOMAX = DMASS-PIMASS-0.02 | |
11121 | IF(RHOMAX.LE.0)then | |
11122 | rhomp=0. | |
11123 | c !! no decay | |
11124 | wa1=-10. | |
11125 | endif | |
11126 | icount = 0 | |
11127 | 711 rhomp=RHOMAS(RHOMAX,ISEED) | |
11128 | icount=icount+1 | |
11129 | if(dmass.le.(pimass+rhomp)) then | |
11130 | if(icount.le.100) then | |
11131 | goto 711 | |
11132 | else | |
11133 | rhomp=0. | |
11134 | c !! no decay | |
11135 | wa1=-10. | |
11136 | return | |
11137 | endif | |
11138 | endif | |
11139 | qqp2=(dmass**2-(rhomp+pimass)**2)*(dmass**2-(rhomp-pimass)**2) | |
11140 | qqp=sqrt(qqp2)/(2.0*dmass) | |
11141 | epi=sqrt(pimass**2+qqp**2) | |
11142 | erho=sqrt(rhomp**2+qqp**2) | |
11143 | epirho=2.0*(epi*erho+qqp**2)**2+rhomp**2*epi**2 | |
11144 | wa1=coupa**2*qqp*epirho/(24.0*3.1416*dmass**2) | |
11145 | return | |
11146 | end | |
11147 | ************************************ | |
11148 | * FUNCTION W1535(DMASS) GIVES THE N*(1535) DECAY WIDTH | |
11149 | c FOR A GIVEN N*(1535) MASS | |
11150 | * HERE THE FORMULA GIVEN BY KITAZOE IS USED | |
11151 | REAL FUNCTION W1535(DMASS) | |
11152 | SAVE | |
11153 | AVMASS=0.938868 | |
11154 | PIMASS=0.137265 | |
11155 | AUX = 0.25*(DMASS**2-AVMASS**2-PIMASS**2)**2 | |
11156 | & -(AVMASS*PIMASS)**2 | |
11157 | IF (AUX .GT. 0.) THEN | |
11158 | QAVAIL = SQRT(AUX / DMASS**2) | |
11159 | ELSE | |
11160 | QAVAIL = 1.E-06 | |
11161 | END IF | |
11162 | W1535 = 0.15* QAVAIL/0.467 | |
11163 | c W1535=0.15 | |
11164 | RETURN | |
11165 | END | |
11166 | ************************************ | |
11167 | * FUNCTION W1440(DMASS) GIVES THE N*(1440) DECAY WIDTH | |
11168 | c FOR A GIVEN N*(1535) MASS | |
11169 | * HERE THE FORMULA GIVEN BY KITAZOE IS USED | |
11170 | REAL FUNCTION W1440(DMASS) | |
11171 | SAVE | |
11172 | AVMASS=0.938868 | |
11173 | PIMASS=0.137265 | |
11174 | AUX = 0.25*(DMASS**2-AVMASS**2-PIMASS**2)**2 | |
11175 | & -(AVMASS*PIMASS)**2 | |
11176 | IF (AUX .GT. 0.) THEN | |
11177 | QAVAIL = SQRT(AUX)/DMASS | |
11178 | ELSE | |
11179 | QAVAIL = 1.E-06 | |
11180 | END IF | |
11181 | c w1440=0.2 | |
11182 | W1440 = 0.2* (QAVAIL/0.397)**3 | |
11183 | RETURN | |
11184 | END | |
11185 | **************** | |
11186 | * PURPOSE : CALCULATE THE PION(ETA)+NUCLEON CROSS SECTION | |
11187 | * ACCORDING TO THE BREIT-WIGNER FORMULA, | |
11188 | * NOTE THAT N*(1535) IS S_11 | |
11189 | * VARIABLE : LA = 1 FOR PI+N | |
11190 | * LA = 0 FOR ETA+N | |
11191 | * DATE : MAY 16, 1994 | |
11192 | **************** | |
11193 | REAL FUNCTION XN1535(I1,I2,LA) | |
11194 | PARAMETER (MAXSTR=150001,MAXR=1, | |
11195 | 1 AMN=0.939457,AMP=0.93828,ETAM=0.5475, | |
11196 | 2 AP1=0.13496,AP2=0.13957,AM0=1.232,PI=3.1415926) | |
11197 | COMMON /AA/ R(3,MAXSTR) | |
11198 | cc SAVE /AA/ | |
11199 | COMMON /BB/ P(3,MAXSTR) | |
11200 | cc SAVE /BB/ | |
11201 | COMMON /CC/ E(MAXSTR) | |
11202 | cc SAVE /CC/ | |
11203 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
11204 | cc SAVE /EE/ | |
11205 | COMMON /RUN/NUM | |
11206 | cc SAVE /RUN/ | |
11207 | COMMON /PA/RPION(3,MAXSTR,MAXR) | |
11208 | cc SAVE /PA/ | |
11209 | COMMON /PB/PPION(3,MAXSTR,MAXR) | |
11210 | cc SAVE /PB/ | |
11211 | COMMON /PC/EPION(MAXSTR,MAXR) | |
11212 | cc SAVE /PC/ | |
11213 | COMMON /PD/LPION(MAXSTR,MAXR) | |
11214 | cc SAVE /PD/ | |
11215 | SAVE | |
11216 | AVMASS=0.5*(AMN+AMP) | |
11217 | AVPI=(2.*AP2+AP1)/3. | |
11218 | * 1. DETERMINE THE MOMENTUM COMPONENT OF N*(1535) IN THE LAB. FRAME | |
11219 | E10=SQRT(E(I1)**2+P(1,I1)**2+P(2,I1)**2+P(3,I1)**2) | |
11220 | E20=SQRT(E(I2)**2+P(1,I2)**2+P(2,I2)**2+P(3,I2)**2) | |
11221 | P1=P(1,I1)+P(1,I2) | |
11222 | P2=P(2,I1)+P(2,I2) | |
11223 | P3=P(3,I1)+P(3,I2) | |
11224 | * 2. DETERMINE THE MASS OF DELTA BY USING OF THE REACTION KINEMATICS | |
11225 | DM=SQRT((E10+E20)**2-P1**2-P2**2-P3**2) | |
11226 | IF(DM.LE.1.1) THEN | |
11227 | XN1535=1.E-06 | |
11228 | RETURN | |
11229 | ENDIF | |
11230 | * 3. DETERMINE THE PION(ETA)+NUCLEON->N*(1535) CROSS SECTION ACCORDING TO THE | |
11231 | * BREIT-WIGNER FORMULA IN UNIT OF FM**2 | |
11232 | GAM=W1535(DM) | |
11233 | GAM0=0.15 | |
11234 | F1=0.25*GAM0**2/(0.25*GAM**2+(DM-1.535)**2) | |
11235 | IF(LA.EQ.1)THEN | |
11236 | XMAX=11.3 | |
11237 | ELSE | |
11238 | XMAX=74. | |
11239 | ENDIF | |
11240 | XN1535=F1*XMAX/10. | |
11241 | RETURN | |
11242 | END | |
11243 | ***************************8 | |
11244 | *FUNCTION FDE(DMASS) GIVES DELTA MASS DISTRIBUTION BY USING OF | |
11245 | *KITAZOE'S FORMULA | |
11246 | REAL FUNCTION FDELTA(DMASS) | |
11247 | SAVE | |
11248 | AMN=0.938869 | |
11249 | AVPI=0.13803333 | |
11250 | AM0=1.232 | |
11251 | FD=0.25*WIDTH(DMASS)**2/((DMASS-1.232)**2 | |
11252 | 1 +0.25*WIDTH(DMASS)**2) | |
11253 | FDELTA=FD | |
11254 | RETURN | |
11255 | END | |
11256 | * FUNCTION WIDTH(DMASS) GIVES THE DELTA DECAY WIDTH FOR A GIVEN DELTA MASS | |
11257 | * HERE THE FORMULA GIVEN BY KITAZOE IS USED | |
11258 | REAL FUNCTION WIDTH(DMASS) | |
11259 | SAVE | |
11260 | AVMASS=0.938868 | |
11261 | PIMASS=0.137265 | |
11262 | AUX = 0.25*(DMASS**2-AVMASS**2-PIMASS**2)**2 | |
11263 | & -(AVMASS*PIMASS)**2 | |
11264 | IF (AUX .GT. 0.) THEN | |
11265 | QAVAIL = SQRT(AUX / DMASS**2) | |
11266 | ELSE | |
11267 | QAVAIL = 1.E-06 | |
11268 | END IF | |
11269 | WIDTH = 0.47 * QAVAIL**3 / | |
11270 | & (PIMASS**2 * (1.+0.6*(QAVAIL/PIMASS)**2)) | |
11271 | c width=0.115 | |
11272 | RETURN | |
11273 | END | |
11274 | ************************************ | |
11275 | SUBROUTINE ddp2(SRT,ISEED,PX,PY,PZ,DM1,PNX, | |
11276 | & PNY,PNZ,DM2,PPX,PPY,PPZ,icou1) | |
11277 | * PURPOSE : CALCULATE MOMENTUM OF PARTICLES IN THE FINAL SATAT FROM | |
11278 | * THE PROCESS N+N--->D1+D2+PION | |
11279 | * DATE : July 25, 1994 | |
11280 | * Generate the masses and momentum for particles in the NN-->DDpi process | |
11281 | * for a given center of mass energy srt, the momenta are given in the center | |
11282 | * of mass of the NN | |
11283 | ***************************************** | |
11284 | COMMON/TABLE/ xarray(0:1000),earray(0:1000) | |
11285 | cc SAVE /TABLE/ | |
11286 | COMMON/RNDF77/NSEED | |
11287 | cc SAVE /RNDF77/ | |
11288 | SAVE | |
11289 | icou1=0 | |
11290 | pi=3.1415926 | |
11291 | AMN=938.925/1000. | |
11292 | AMP=137.265/1000. | |
11293 | * (1) GENGRATE THE MASS OF DELTA1 AND DELTA2 USING | |
11294 | srt1=srt-amp-0.02 | |
11295 | ntrym=0 | |
11296 | 8 call Rmasdd(srt1,1.232,1.232,1.08, | |
11297 | & 1.08,ISEED,1,dm1,dm2) | |
11298 | ntrym=ntrym+1 | |
11299 | * CONSTANTS FOR GENERATING THE LONGITUDINAL MOMENTUM | |
11300 | * FOR ONE OF THE RESONANCES | |
11301 | V=0.43 | |
11302 | W=-0.84 | |
11303 | * (2) Generate the transverse momentum | |
11304 | * OF DELTA1 | |
11305 | * (2.1) estimate the maximum transverse momentum | |
11306 | PTMAX2=(SRT**2-(DM1+DM2+AMP)**2)* | |
11307 | 1 (SRT**2-(DM1-AMP-DM2)**2)/4./SRT**2 | |
11308 | if(ptmax2.le.0)go to 8 | |
11309 | PTMAX=SQRT(PTMAX2)*1./3. | |
11310 | 7 PT=PTR(PTMAX,ISEED) | |
11311 | * (3.1) THE MAXIMUM LONGITUDINAL MOMENTUM IS | |
11312 | PZMAX2=(SRT**2-(DM1+DM2+AMP)**2)* | |
11313 | 1 (SRT**2-(DM1-AMP-DM2)**2)/4./SRT**2-PT**2 | |
11314 | IF((PZMAX2.LT.0.).and.ntrym.le.100)then | |
11315 | go to 7 | |
11316 | else | |
11317 | pzmax2=1.E-09 | |
11318 | endif | |
11319 | PZMAX=SQRT(PZMAX2) | |
11320 | XMAX=2.*PZMAX/SRT | |
11321 | * (3.2) THE GENERATED X IS | |
11322 | * THE DSTRIBUTION HAS A MAXIMUM AT X0=-V/(2*w), f(X0)=1.056 | |
11323 | ntryx=0 | |
11324 | fmax00=1.056 | |
11325 | x00=0.26 | |
11326 | if(abs(xmax).gt.0.26)then | |
11327 | f00=fmax00 | |
11328 | else | |
11329 | f00=1.+v*abs(xmax)+w*xmax**2 | |
11330 | endif | |
11331 | 9 X=XMAX*(1.-2.*RANART(NSEED)) | |
11332 | ntryx=ntryx+1 | |
11333 | xratio=(1.+V*ABS(X)+W*X**2)/f00 | |
11334 | clin-8/17/00 IF(xratio.LT.RANART(NSEED).and.ntryx.le.50)GO TO 9 | |
11335 | IF(xratio.LT.RANART(NSEED).and.ntryx.le.50)GO TO 9 | |
11336 | * (3.5) THE PZ IS | |
11337 | PZ=0.5*SRT*X | |
11338 | * The x and y components of the deltA1 | |
11339 | fai=2.*pi*RANART(NSEED) | |
11340 | Px=pt*cos(fai) | |
11341 | Py=pt*sin(fai) | |
11342 | * find the momentum of delta2 and pion | |
11343 | * the energy of the delta1 | |
11344 | ek=sqrt(dm1**2+PT**2+Pz**2) | |
11345 | * (1) Generate the momentum of the delta2 in the cms of delta2 and pion | |
11346 | * the energy of the cms of DP | |
11347 | eln=srt-ek | |
11348 | IF(ELN.lE.0)then | |
11349 | icou1=-1 | |
11350 | return | |
11351 | endif | |
11352 | * beta and gamma of the cms of delta2+pion | |
11353 | bx=-Px/eln | |
11354 | by=-Py/eln | |
11355 | bz=-Pz/eln | |
11356 | ga=1./sqrt(1.-bx**2-by**2-bz**2) | |
11357 | * the momentum of delta2 and pion in their cms frame | |
11358 | elnc=eln/ga | |
11359 | pn2=((elnc**2+dm2**2-amp**2)/(2.*elnc))**2-dm2**2 | |
11360 | if(pn2.le.0)then | |
11361 | icou1=-1 | |
11362 | return | |
11363 | endif | |
11364 | pn=sqrt(pn2) | |
11365 | ||
11366 | clin-10/25/02 get rid of argument usage mismatch in PTR(): | |
11367 | xptr=0.33*PN | |
11368 | c PNT=PTR(0.33*PN,ISEED) | |
11369 | PNT=PTR(xptr,ISEED) | |
11370 | clin-10/25/02-end | |
11371 | ||
11372 | fain=2.*pi*RANART(NSEED) | |
11373 | pnx=pnT*cos(fain) | |
11374 | pny=pnT*sin(fain) | |
11375 | SIG=1 | |
11376 | IF(X.GT.0)SIG=-1 | |
11377 | pnz=SIG*SQRT(pn**2-PNT**2) | |
11378 | en=sqrt(dm2**2+pnx**2+pny**2+pnz**2) | |
11379 | * (2) the momentum for the pion | |
11380 | ppx=-pnx | |
11381 | ppy=-pny | |
11382 | ppz=-pnz | |
11383 | ep=sqrt(amp**2+ppx**2+ppy**2+ppz**2) | |
11384 | * (3) for the delta2, LORENTZ-TRANSFORMATION INTO nn cms FRAME | |
11385 | PBETA = PnX*BX + PnY*By+ PnZ*Bz | |
11386 | TRANS0 = GA * ( GA * PBETA / (GA + 1.) + En ) | |
11387 | Pnx = BX * TRANS0 + PnX | |
11388 | Pny = BY * TRANS0 + PnY | |
11389 | Pnz = BZ * TRANS0 + PnZ | |
11390 | * (4) for the pion, LORENTZ-TRANSFORMATION INTO nn cms FRAME | |
11391 | if(ep.eq.0.)ep=1.E-09 | |
11392 | PBETA = PPX*BX + PPY*By+ PPZ*Bz | |
11393 | TRANS0 = GA * ( GA * PBETA / (GA + 1.) + EP ) | |
11394 | PPx = BX * TRANS0 + PPX | |
11395 | PPy = BY * TRANS0 + PPY | |
11396 | PPz = BZ * TRANS0 + PPZ | |
11397 | return | |
11398 | end | |
11399 | **************************************** | |
11400 | SUBROUTINE ddrho(SRT,ISEED,PX,PY,PZ,DM1,PNX, | |
11401 | & PNY,PNZ,DM2,PPX,PPY,PPZ,amp,icou1) | |
11402 | * PURPOSE : CALCULATE MOMENTUM OF PARTICLES IN THE FINAL SATAT FROM | |
11403 | * THE PROCESS N+N--->D1+D2+rho | |
11404 | * DATE : Nov.5, 1994 | |
11405 | * Generate the masses and momentum for particles in the NN-->DDrho process | |
11406 | * for a given center of mass energy srt, the momenta are given in the center | |
11407 | * of mass of the NN | |
11408 | ***************************************** | |
11409 | COMMON/TABLE/ xarray(0:1000),earray(0:1000) | |
11410 | cc SAVE /TABLE/ | |
11411 | COMMON/RNDF77/NSEED | |
11412 | cc SAVE /RNDF77/ | |
11413 | SAVE | |
11414 | icou1=0 | |
11415 | pi=3.1415926 | |
11416 | AMN=938.925/1000. | |
11417 | AMP=770./1000. | |
11418 | * (1) GENGRATE THE MASS OF DELTA1 AND DELTA2 USING | |
11419 | srt1=srt-amp-0.02 | |
11420 | ntrym=0 | |
11421 | 8 call Rmasdd(srt1,1.232,1.232,1.08, | |
11422 | & 1.08,ISEED,1,dm1,dm2) | |
11423 | ntrym=ntrym+1 | |
11424 | * GENERATE THE MASS FOR THE RHO | |
11425 | RHOMAX = SRT-DM1-DM2-0.02 | |
11426 | IF(RHOMAX.LE.0.and.ntrym.le.20)go to 8 | |
11427 | AMP=RHOMAS(RHOMAX,ISEED) | |
11428 | * CONSTANTS FOR GENERATING THE LONGITUDINAL MOMENTUM | |
11429 | * FOR ONE OF THE RESONANCES | |
11430 | V=0.43 | |
11431 | W=-0.84 | |
11432 | * (2) Generate the transverse momentum | |
11433 | * OF DELTA1 | |
11434 | * (2.1) estimate the maximum transverse momentum | |
11435 | PTMAX2=(SRT**2-(DM1+DM2+AMP)**2)* | |
11436 | 1 (SRT**2-(DM1-AMP-DM2)**2)/4./SRT**2 | |
11437 | PTMAX=SQRT(PTMAX2)*1./3. | |
11438 | 7 PT=PTR(PTMAX,ISEED) | |
11439 | * (3) GENGRATE THE LONGITUDINAL MOMENTUM FOR DM1 | |
11440 | * USING THE GIVEN DISTRIBUTION | |
11441 | * (3.1) THE MAXIMUM LONGITUDINAL MOMENTUM IS | |
11442 | PZMAX2=(SRT**2-(DM1+DM2+AMP)**2)* | |
11443 | 1 (SRT**2-(DM1-AMP-DM2)**2)/4./SRT**2-PT**2 | |
11444 | IF((PZMAX2.LT.0.).and.ntrym.le.100)then | |
11445 | go to 7 | |
11446 | else | |
11447 | pzmax2=1.E-06 | |
11448 | endif | |
11449 | PZMAX=SQRT(PZMAX2) | |
11450 | XMAX=2.*PZMAX/SRT | |
11451 | * (3.2) THE GENERATED X IS | |
11452 | * THE DSTRIBUTION HAS A MAXIMUM AT X0=-V/(2*w), f(X0)=1.056 | |
11453 | ntryx=0 | |
11454 | fmax00=1.056 | |
11455 | x00=0.26 | |
11456 | if(abs(xmax).gt.0.26)then | |
11457 | f00=fmax00 | |
11458 | else | |
11459 | f00=1.+v*abs(xmax)+w*xmax**2 | |
11460 | endif | |
11461 | 9 X=XMAX*(1.-2.*RANART(NSEED)) | |
11462 | ntryx=ntryx+1 | |
11463 | xratio=(1.+V*ABS(X)+W*X**2)/f00 | |
11464 | clin-8/17/00 IF(xratio.LT.RANART(NSEED).and.ntryx.le.50)GO TO 9 | |
11465 | IF(xratio.LT.RANART(NSEED).and.ntryx.le.50)GO TO 9 | |
11466 | * (3.5) THE PZ IS | |
11467 | PZ=0.5*SRT*X | |
11468 | * The x and y components of the delta1 | |
11469 | fai=2.*pi*RANART(NSEED) | |
11470 | Px=pt*cos(fai) | |
11471 | Py=pt*sin(fai) | |
11472 | * find the momentum of delta2 and rho | |
11473 | * the energy of the delta1 | |
11474 | ek=sqrt(dm1**2+PT**2+Pz**2) | |
11475 | * (1) Generate the momentum of the delta2 in the cms of delta2 and rho | |
11476 | * the energy of the cms of Drho | |
11477 | eln=srt-ek | |
11478 | IF(ELN.lE.0)then | |
11479 | icou1=-1 | |
11480 | return | |
11481 | endif | |
11482 | * beta and gamma of the cms of delta2 and rho | |
11483 | bx=-Px/eln | |
11484 | by=-Py/eln | |
11485 | bz=-Pz/eln | |
11486 | ga=1./sqrt(1.-bx**2-by**2-bz**2) | |
11487 | elnc=eln/ga | |
11488 | pn2=((elnc**2+dm2**2-amp**2)/(2.*elnc))**2-dm2**2 | |
11489 | if(pn2.le.0)then | |
11490 | icou1=-1 | |
11491 | return | |
11492 | endif | |
11493 | pn=sqrt(pn2) | |
11494 | ||
11495 | clin-10/25/02 get rid of argument usage mismatch in PTR(): | |
11496 | xptr=0.33*PN | |
11497 | c PNT=PTR(0.33*PN,ISEED) | |
11498 | PNT=PTR(xptr,ISEED) | |
11499 | clin-10/25/02-end | |
11500 | ||
11501 | fain=2.*pi*RANART(NSEED) | |
11502 | pnx=pnT*cos(fain) | |
11503 | pny=pnT*sin(fain) | |
11504 | SIG=1 | |
11505 | IF(X.GT.0)SIG=-1 | |
11506 | pnz=SIG*SQRT(pn**2-PNT**2) | |
11507 | en=sqrt(dm2**2+pnx**2+pny**2+pnz**2) | |
11508 | * (2) the momentum for the rho | |
11509 | ppx=-pnx | |
11510 | ppy=-pny | |
11511 | ppz=-pnz | |
11512 | ep=sqrt(amp**2+ppx**2+ppy**2+ppz**2) | |
11513 | * (3) for the delta2, LORENTZ-TRANSFORMATION INTO nn cms FRAME | |
11514 | PBETA = PnX*BX + PnY*By+ PnZ*Bz | |
11515 | TRANS0 = GA * ( GA * PBETA / (GA + 1.) + En ) | |
11516 | Pnx = BX * TRANS0 + PnX | |
11517 | Pny = BY * TRANS0 + PnY | |
11518 | Pnz = BZ * TRANS0 + PnZ | |
11519 | * (4) for the rho, LORENTZ-TRANSFORMATION INTO nn cms FRAME | |
11520 | if(ep.eq.0.)ep=1.e-09 | |
11521 | PBETA = PPX*BX + PPY*By+ PPZ*Bz | |
11522 | TRANS0 = GA * ( GA * PBETA / (GA + 1.) + EP ) | |
11523 | PPx = BX * TRANS0 + PPX | |
11524 | PPy = BY * TRANS0 + PPY | |
11525 | PPz = BZ * TRANS0 + PPZ | |
11526 | return | |
11527 | end | |
11528 | **************************************** | |
11529 | SUBROUTINE pprho(SRT,ISEED,PX,PY,PZ,DM1,PNX, | |
11530 | & PNY,PNZ,DM2,PPX,PPY,PPZ,amp,icou1) | |
11531 | * PURPOSE : CALCULATE MOMENTUM OF PARTICLES IN THE FINAL SATAT FROM | |
11532 | * THE PROCESS N+N--->N1+N2+rho | |
11533 | * DATE : Nov.5, 1994 | |
11534 | * Generate the masses and momentum for particles in the NN--> process | |
11535 | * for a given center of mass energy srt, the momenta are given in the center | |
11536 | * of mass of the NN | |
11537 | ***************************************** | |
11538 | COMMON/TABLE/ xarray(0:1000),earray(0:1000) | |
11539 | cc SAVE /TABLE/ | |
11540 | COMMON/RNDF77/NSEED | |
11541 | cc SAVE /RNDF77/ | |
11542 | SAVE | |
11543 | ntrym=0 | |
11544 | icou1=0 | |
11545 | pi=3.1415926 | |
11546 | AMN=938.925/1000. | |
11547 | * AMP=770./1000. | |
11548 | DM1=amn | |
11549 | DM2=amn | |
11550 | * GENERATE THE MASS FOR THE RHO | |
11551 | RHOMAX=SRT-DM1-DM2-0.02 | |
11552 | IF(RHOMAX.LE.0)THEN | |
11553 | ICOU=-1 | |
11554 | RETURN | |
11555 | ENDIF | |
11556 | AMP=RHOMAS(RHOMAX,ISEED) | |
11557 | * CONSTANTS FOR GENERATING THE LONGITUDINAL MOMENTUM | |
11558 | * FOR ONE OF THE nucleons | |
11559 | V=0.43 | |
11560 | W=-0.84 | |
11561 | * (2) Generate the transverse momentum | |
11562 | * OF p1 | |
11563 | * (2.1) estimate the maximum transverse momentum | |
11564 | PTMAX2=(SRT**2-(DM1+DM2+AMP)**2)* | |
11565 | 1 (SRT**2-(DM1-AMP-DM2)**2)/4./SRT**2 | |
11566 | PTMAX=SQRT(PTMAX2)*1./3. | |
11567 | 7 PT=PTR(PTMAX,ISEED) | |
11568 | * (3) GENGRATE THE LONGITUDINAL MOMENTUM FOR DM1 | |
11569 | * USING THE GIVEN DISTRIBUTION | |
11570 | * (3.1) THE MAXIMUM LONGITUDINAL MOMENTUM IS | |
11571 | PZMAX2=(SRT**2-(DM1+DM2+AMP)**2)* | |
11572 | 1 (SRT**2-(DM1-AMP-DM2)**2)/4./SRT**2-PT**2 | |
11573 | NTRYM=NTRYM+1 | |
11574 | IF((PZMAX2.LT.0.).and.ntrym.le.100)then | |
11575 | go to 7 | |
11576 | else | |
11577 | pzmax2=1.E-06 | |
11578 | endif | |
11579 | PZMAX=SQRT(PZMAX2) | |
11580 | XMAX=2.*PZMAX/SRT | |
11581 | * (3.2) THE GENERATED X IS | |
11582 | * THE DSTRIBUTION HAS A MAXIMUM AT X0=-V/(2*w), f(X0)=1.056 | |
11583 | ntryx=0 | |
11584 | fmax00=1.056 | |
11585 | x00=0.26 | |
11586 | if(abs(xmax).gt.0.26)then | |
11587 | f00=fmax00 | |
11588 | else | |
11589 | f00=1.+v*abs(xmax)+w*xmax**2 | |
11590 | endif | |
11591 | 9 X=XMAX*(1.-2.*RANART(NSEED)) | |
11592 | ntryx=ntryx+1 | |
11593 | xratio=(1.+V*ABS(X)+W*X**2)/f00 | |
11594 | clin-8/17/00 IF(xratio.LT.RANART(NSEED).and.ntryx.le.50)GO TO 9 | |
11595 | IF(xratio.LT.RANART(NSEED).and.ntryx.le.50)GO TO 9 | |
11596 | * (3.5) THE PZ IS | |
11597 | PZ=0.5*SRT*X | |
11598 | * The x and y components of the delta1 | |
11599 | fai=2.*pi*RANART(NSEED) | |
11600 | Px=pt*cos(fai) | |
11601 | Py=pt*sin(fai) | |
11602 | * find the momentum of delta2 and rho | |
11603 | * the energy of the delta1 | |
11604 | ek=sqrt(dm1**2+PT**2+Pz**2) | |
11605 | * (1) Generate the momentum of the delta2 in the cms of delta2 and rho | |
11606 | * the energy of the cms of Drho | |
11607 | eln=srt-ek | |
11608 | IF(ELN.lE.0)then | |
11609 | icou1=-1 | |
11610 | return | |
11611 | endif | |
11612 | * beta and gamma of the cms of the two partciles | |
11613 | bx=-Px/eln | |
11614 | by=-Py/eln | |
11615 | bz=-Pz/eln | |
11616 | ga=1./sqrt(1.-bx**2-by**2-bz**2) | |
11617 | elnc=eln/ga | |
11618 | pn2=((elnc**2+dm2**2-amp**2)/(2.*elnc))**2-dm2**2 | |
11619 | if(pn2.le.0)then | |
11620 | icou1=-1 | |
11621 | return | |
11622 | endif | |
11623 | pn=sqrt(pn2) | |
11624 | ||
11625 | clin-10/25/02 get rid of argument usage mismatch in PTR(): | |
11626 | xptr=0.33*PN | |
11627 | c PNT=PTR(0.33*PN,ISEED) | |
11628 | PNT=PTR(xptr,ISEED) | |
11629 | clin-10/25/02-end | |
11630 | ||
11631 | fain=2.*pi*RANART(NSEED) | |
11632 | pnx=pnT*cos(fain) | |
11633 | pny=pnT*sin(fain) | |
11634 | SIG=1 | |
11635 | IF(X.GT.0)SIG=-1 | |
11636 | pnz=SIG*SQRT(pn**2-PNT**2) | |
11637 | en=sqrt(dm2**2+pnx**2+pny**2+pnz**2) | |
11638 | * (2) the momentum for the rho | |
11639 | ppx=-pnx | |
11640 | ppy=-pny | |
11641 | ppz=-pnz | |
11642 | ep=sqrt(amp**2+ppx**2+ppy**2+ppz**2) | |
11643 | * (3) for the delta2, LORENTZ-TRANSFORMATION INTO nn cms FRAME | |
11644 | PBETA = PnX*BX + PnY*By+ PnZ*Bz | |
11645 | TRANS0 = GA * ( GA * PBETA / (GA + 1.) + En ) | |
11646 | Pnx = BX * TRANS0 + PnX | |
11647 | Pny = BY * TRANS0 + PnY | |
11648 | Pnz = BZ * TRANS0 + PnZ | |
11649 | * (4) for the rho, LORENTZ-TRANSFORMATION INTO nn cms FRAME | |
11650 | if(ep.eq.0.)ep=1.e-09 | |
11651 | PBETA = PPX*BX + PPY*By+ PPZ*Bz | |
11652 | TRANS0 = GA * ( GA * PBETA / (GA + 1.) + EP ) | |
11653 | PPx = BX * TRANS0 + PPX | |
11654 | PPy = BY * TRANS0 + PPY | |
11655 | PPz = BZ * TRANS0 + PPZ | |
11656 | return | |
11657 | end | |
11658 | ***************************8 | |
11659 | **************************************** | |
11660 | SUBROUTINE ppomga(SRT,ISEED,PX,PY,PZ,DM1,PNX, | |
11661 | & PNY,PNZ,DM2,PPX,PPY,PPZ,icou1) | |
11662 | * PURPOSE : CALCULATE MOMENTUM OF PARTICLES IN THE FINAL SATAT FROM | |
11663 | * THE PROCESS N+N--->N1+N2+OMEGA | |
11664 | * DATE : Nov.5, 1994 | |
11665 | * Generate the masses and momentum for particles in the NN--> process | |
11666 | * for a given center of mass energy srt, the momenta are given in the center | |
11667 | * of mass of the NN | |
11668 | ***************************************** | |
11669 | COMMON/TABLE/ xarray(0:1000),earray(0:1000) | |
11670 | cc SAVE /TABLE/ | |
11671 | COMMON/RNDF77/NSEED | |
11672 | cc SAVE /RNDF77/ | |
11673 | SAVE | |
11674 | ntrym=0 | |
11675 | icou1=0 | |
11676 | pi=3.1415926 | |
11677 | AMN=938.925/1000. | |
11678 | AMP=782./1000. | |
11679 | DM1=amn | |
11680 | DM2=amn | |
11681 | * CONSTANTS FOR GENERATING THE LONGITUDINAL MOMENTUM | |
11682 | * FOR ONE OF THE nucleons | |
11683 | V=0.43 | |
11684 | W=-0.84 | |
11685 | * (2) Generate the transverse momentum | |
11686 | * OF p1 | |
11687 | * (2.1) estimate the maximum transverse momentum | |
11688 | PTMAX2=(SRT**2-(DM1+DM2+AMP)**2)* | |
11689 | 1 (SRT**2-(DM1-AMP-DM2)**2)/4./SRT**2 | |
11690 | PTMAX=SQRT(PTMAX2)*1./3. | |
11691 | 7 PT=PTR(PTMAX,ISEED) | |
11692 | * (3) GENGRATE THE LONGITUDINAL MOMENTUM FOR DM1 | |
11693 | * USING THE GIVEN DISTRIBUTION | |
11694 | * (3.1) THE MAXIMUM LONGITUDINAL MOMENTUM IS | |
11695 | PZMAX2=(SRT**2-(DM1+DM2+AMP)**2)* | |
11696 | 1 (SRT**2-(DM1-AMP-DM2)**2)/4./SRT**2-PT**2 | |
11697 | NTRYM=NTRYM+1 | |
11698 | IF((PZMAX2.LT.0.).and.ntrym.le.100)then | |
11699 | go to 7 | |
11700 | else | |
11701 | pzmax2=1.E-09 | |
11702 | endif | |
11703 | PZMAX=SQRT(PZMAX2) | |
11704 | XMAX=2.*PZMAX/SRT | |
11705 | * (3.2) THE GENERATED X IS | |
11706 | * THE DSTRIBUTION HAS A MAXIMUM AT X0=-V/(2*w), f(X0)=1.056 | |
11707 | ntryx=0 | |
11708 | fmax00=1.056 | |
11709 | x00=0.26 | |
11710 | if(abs(xmax).gt.0.26)then | |
11711 | f00=fmax00 | |
11712 | else | |
11713 | f00=1.+v*abs(xmax)+w*xmax**2 | |
11714 | endif | |
11715 | 9 X=XMAX*(1.-2.*RANART(NSEED)) | |
11716 | ntryx=ntryx+1 | |
11717 | xratio=(1.+V*ABS(X)+W*X**2)/f00 | |
11718 | clin-8/17/00 IF(xratio.LT.RANART(NSEED).and.ntryx.le.50)GO TO 9 | |
11719 | IF(xratio.LT.RANART(NSEED).and.ntryx.le.50)GO TO 9 | |
11720 | * (3.5) THE PZ IS | |
11721 | PZ=0.5*SRT*X | |
11722 | * The x and y components of the delta1 | |
11723 | fai=2.*pi*RANART(NSEED) | |
11724 | Px=pt*cos(fai) | |
11725 | Py=pt*sin(fai) | |
11726 | * find the momentum of delta2 and rho | |
11727 | * the energy of the delta1 | |
11728 | ek=sqrt(dm1**2+PT**2+Pz**2) | |
11729 | * (1) Generate the momentum of the delta2 in the cms of delta2 and rho | |
11730 | * the energy of the cms of Drho | |
11731 | eln=srt-ek | |
11732 | IF(ELN.lE.0)then | |
11733 | icou1=-1 | |
11734 | return | |
11735 | endif | |
11736 | bx=-Px/eln | |
11737 | by=-Py/eln | |
11738 | bz=-Pz/eln | |
11739 | ga=1./sqrt(1.-bx**2-by**2-bz**2) | |
11740 | elnc=eln/ga | |
11741 | pn2=((elnc**2+dm2**2-amp**2)/(2.*elnc))**2-dm2**2 | |
11742 | if(pn2.le.0)then | |
11743 | icou1=-1 | |
11744 | return | |
11745 | endif | |
11746 | pn=sqrt(pn2) | |
11747 | ||
11748 | clin-10/25/02 get rid of argument usage mismatch in PTR(): | |
11749 | xptr=0.33*PN | |
11750 | c PNT=PTR(0.33*PN,ISEED) | |
11751 | PNT=PTR(xptr,ISEED) | |
11752 | clin-10/25/02-end | |
11753 | ||
11754 | fain=2.*pi*RANART(NSEED) | |
11755 | pnx=pnT*cos(fain) | |
11756 | pny=pnT*sin(fain) | |
11757 | SIG=1 | |
11758 | IF(X.GT.0)SIG=-1 | |
11759 | pnz=SIG*SQRT(pn**2-PNT**2) | |
11760 | en=sqrt(dm2**2+pnx**2+pny**2+pnz**2) | |
11761 | * (2) the momentum for the rho | |
11762 | ppx=-pnx | |
11763 | ppy=-pny | |
11764 | ppz=-pnz | |
11765 | ep=sqrt(amp**2+ppx**2+ppy**2+ppz**2) | |
11766 | * (3) for the delta2, LORENTZ-TRANSFORMATION INTO nn cms FRAME | |
11767 | PBETA = PnX*BX + PnY*By+ PnZ*Bz | |
11768 | TRANS0 = GA * ( GA * PBETA / (GA + 1.) + En ) | |
11769 | Pnx = BX * TRANS0 + PnX | |
11770 | Pny = BY * TRANS0 + PnY | |
11771 | Pnz = BZ * TRANS0 + PnZ | |
11772 | * (4) for the rho, LORENTZ-TRANSFORMATION INTO nn cms FRAME | |
11773 | if(ep.eq.0.)ep=1.E-09 | |
11774 | PBETA = PPX*BX + PPY*By+ PPZ*Bz | |
11775 | TRANS0 = GA * ( GA * PBETA / (GA + 1.) + EP ) | |
11776 | PPx = BX * TRANS0 + PPX | |
11777 | PPy = BY * TRANS0 + PPY | |
11778 | PPz = BZ * TRANS0 + PPZ | |
11779 | return | |
11780 | end | |
11781 | ***************************8 | |
11782 | ***************************8 | |
11783 | * DELTA MASS GENERATOR | |
11784 | REAL FUNCTION RMASS(DMAX,ISEED) | |
11785 | COMMON/RNDF77/NSEED | |
11786 | cc SAVE /RNDF77/ | |
11787 | SAVE | |
11788 | ISEED=ISEED | |
11789 | * THE MINIMUM MASS FOR DELTA | |
11790 | DMIN = 1.078 | |
11791 | * Delta(1232) production | |
11792 | IF(DMAX.LT.1.232) THEN | |
11793 | FM=FDELTA(DMAX) | |
11794 | ELSE | |
11795 | FM=1. | |
11796 | ENDIF | |
11797 | IF(FM.EQ.0.)FM=1.E-06 | |
11798 | NTRY1=0 | |
11799 | 10 DM = RANART(NSEED) * (DMAX-DMIN) + DMIN | |
11800 | NTRY1=NTRY1+1 | |
11801 | IF((RANART(NSEED) .GT. FDELTA(DM)/FM).AND. | |
11802 | 1 (NTRY1.LE.10)) GOTO 10 | |
11803 | clin-2/26/03 sometimes Delta mass can reach very high values (e.g. 15.GeV), | |
11804 | c thus violating the thresh of the collision which produces it | |
11805 | c and leads to large violation of energy conservation. | |
11806 | c To limit the above, limit the Delta mass below a certain value | |
11807 | c (here taken as its central value + 2* B-W fullwidth): | |
11808 | if(dm.gt.1.47) goto 10 | |
11809 | ||
11810 | RMASS=DM | |
11811 | RETURN | |
11812 | END | |
11813 | ||
11814 | *------------------------------------------------------------------ | |
11815 | * THE Breit Wigner FORMULA | |
11816 | REAL FUNCTION FRHO(DMASS) | |
11817 | SAVE | |
11818 | AM0=0.77 | |
11819 | WID=0.153 | |
11820 | FD=0.25*wid**2/((DMASS-AM0)**2+0.25*WID**2) | |
11821 | FRHO=FD | |
11822 | RETURN | |
11823 | END | |
11824 | ***************************8 | |
11825 | * RHO MASS GENERATOR | |
11826 | REAL FUNCTION RHOMAS(DMAX,ISEED) | |
11827 | COMMON/RNDF77/NSEED | |
11828 | cc SAVE /RNDF77/ | |
11829 | SAVE | |
11830 | ISEED=ISEED | |
11831 | * THE MINIMUM MASS FOR DELTA | |
11832 | DMIN = 0.28 | |
11833 | * RHO(770) production | |
11834 | IF(DMAX.LT.0.77) THEN | |
11835 | FM=FRHO(DMAX) | |
11836 | ELSE | |
11837 | FM=1. | |
11838 | ENDIF | |
11839 | IF(FM.EQ.0.)FM=1.E-06 | |
11840 | NTRY1=0 | |
11841 | 10 DM = RANART(NSEED) * (DMAX-DMIN) + DMIN | |
11842 | NTRY1=NTRY1+1 | |
11843 | IF((RANART(NSEED) .GT. FRHO(DM)/FM).AND. | |
11844 | 1 (NTRY1.LE.10)) GOTO 10 | |
11845 | clin-2/26/03 limit the rho mass below a certain value | |
11846 | c (here taken as its central value + 2* B-W fullwidth): | |
11847 | if(dm.gt.1.07) goto 10 | |
11848 | ||
11849 | RHOMAS=DM | |
11850 | RETURN | |
11851 | END | |
11852 | ****************************************** | |
11853 | * for pp-->pp+2pi | |
11854 | c real*4 function X2pi(srt) | |
11855 | real function X2pi(srt) | |
11856 | * This function contains the experimental | |
11857 | c total pp-pp+pi(+)pi(-) Xsections * | |
11858 | * srt = DSQRT(s) in GeV * | |
11859 | * xsec = production cross section in mb * | |
11860 | * earray = EXPerimental table with proton momentum in GeV/c * | |
11861 | * xarray = EXPerimental table with cross sections in mb (curve to guide eye)* | |
11862 | * * | |
11863 | ****************************************** | |
11864 | c real*4 xarray(15), earray(15) | |
11865 | real xarray(15), earray(15) | |
11866 | SAVE | |
11867 | data earray /2.23,2.81,3.67,4.0,4.95,5.52,5.97,6.04, | |
11868 | &6.6,6.9,7.87,8.11,10.01,16.0,19./ | |
11869 | data xarray /1.22,2.51,2.67,2.95,2.96,2.84,2.8,3.2, | |
11870 | &2.7,3.0,2.54,2.46,2.4,1.66,1.5/ | |
11871 | ||
11872 | pmass=0.9383 | |
11873 | * 1.Calculate p(lab) from srt [GeV] | |
11874 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
11875 | c ekin = 2.*pmass*((srt/(2.*pmass))**2 - 1.) | |
11876 | x2pi=0.000001 | |
11877 | if(srt.le.2.2)return | |
11878 | plab=sqrt(((srt**2-2.*pmass**2)/(2.*pmass))**2-pmass**2) | |
11879 | if (plab .lt. earray(1)) then | |
11880 | x2pi = xarray(1) | |
11881 | return | |
11882 | end if | |
11883 | * | |
11884 | * 2.Interpolate double logarithmically to find sigma(srt) | |
11885 | * | |
11886 | do 1001 ie = 1,15 | |
11887 | if (earray(ie) .eq. plab) then | |
11888 | x2pi= xarray(ie) | |
11889 | return | |
11890 | else if (earray(ie) .gt. plab) then | |
11891 | ymin = alog(xarray(ie-1)) | |
11892 | ymax = alog(xarray(ie)) | |
11893 | xmin = alog(earray(ie-1)) | |
11894 | xmax = alog(earray(ie)) | |
11895 | X2pi = exp(ymin + (alog(plab)-xmin)*(ymax-ymin) | |
11896 | & /(xmax-xmin) ) | |
11897 | return | |
11898 | end if | |
11899 | 1001 continue | |
11900 | return | |
11901 | END | |
11902 | ****************************************** | |
11903 | * for pp-->pn+pi(+)pi(+)pi(-) | |
11904 | c real*4 function X3pi(srt) | |
11905 | real function X3pi(srt) | |
11906 | * This function contains the experimental pp->pp+3pi cross sections * | |
11907 | * srt = DSQRT(s) in GeV * | |
11908 | * xsec = production cross section in mb * | |
11909 | * earray = EXPerimental table with proton energies in MeV * | |
11910 | * xarray = EXPerimental table with cross sections in mb (curve to guide eye) * | |
11911 | * * | |
11912 | ****************************************** | |
11913 | c real*4 xarray(12), earray(12) | |
11914 | real xarray(12), earray(12) | |
11915 | SAVE | |
11916 | data xarray /0.02,0.4,1.15,1.60,2.19,2.85,2.30, | |
11917 | &3.10,2.47,2.60,2.40,1.70/ | |
11918 | data earray /2.23,2.81,3.67,4.00,4.95,5.52,5.97, | |
11919 | &6.04,6.60,6.90,10.01,19./ | |
11920 | ||
11921 | pmass=0.9383 | |
11922 | * 1.Calculate p(lab) from srt [GeV] | |
11923 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
11924 | c ekin = 2.*pmass*((srt/(2.*pmass))**2 - 1.) | |
11925 | x3pi=1.E-06 | |
11926 | if(srt.le.2.3)return | |
11927 | plab=sqrt(((srt**2-2.*pmass**2)/(2.*pmass))**2-pmass**2) | |
11928 | if (plab .lt. earray(1)) then | |
11929 | x3pi = xarray(1) | |
11930 | return | |
11931 | end if | |
11932 | * | |
11933 | * 2.Interpolate double logarithmically to find sigma(srt) | |
11934 | * | |
11935 | do 1001 ie = 1,12 | |
11936 | if (earray(ie) .eq. plab) then | |
11937 | x3pi= xarray(ie) | |
11938 | return | |
11939 | else if (earray(ie) .gt. plab) then | |
11940 | ymin = alog(xarray(ie-1)) | |
11941 | ymax = alog(xarray(ie)) | |
11942 | xmin = alog(earray(ie-1)) | |
11943 | xmax = alog(earray(ie)) | |
11944 | X3pi= exp(ymin + (alog(plab)-xmin)*(ymax-ymin) | |
11945 | & /(xmax-xmin) ) | |
11946 | return | |
11947 | end if | |
11948 | 1001 continue | |
11949 | return | |
11950 | END | |
11951 | ****************************************** | |
11952 | ****************************************** | |
11953 | * for pp-->pp+pi(+)pi(-)pi(0) | |
11954 | c real*4 function X33pi(srt) | |
11955 | real function X33pi(srt) | |
11956 | * This function contains the experimental pp->pp+3pi cross sections * | |
11957 | * srt = DSQRT(s) in GeV * | |
11958 | * xsec = production cross section in mb * | |
11959 | * earray = EXPerimental table with proton energies in MeV * | |
11960 | * xarray = EXPerimental table with cross sections in mb (curve to guide eye) * | |
11961 | * * | |
11962 | ****************************************** | |
11963 | c real*4 xarray(12), earray(12) | |
11964 | real xarray(12), earray(12) | |
11965 | SAVE | |
11966 | data xarray /0.02,0.22,0.74,1.10,1.76,1.84,2.20, | |
11967 | &2.40,2.15,2.60,2.30,1.70/ | |
11968 | data earray /2.23,2.81,3.67,4.00,4.95,5.52,5.97, | |
11969 | &6.04,6.60,6.90,10.01,19./ | |
11970 | ||
11971 | pmass=0.9383 | |
11972 | x33pi=1.E-06 | |
11973 | if(srt.le.2.3)return | |
11974 | * 1.Calculate p(lab) from srt [GeV] | |
11975 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
11976 | c ekin = 2.*pmass*((srt/(2.*pmass))**2 - 1.) | |
11977 | plab=sqrt(((srt**2-2.*pmass**2)/(2.*pmass))**2-pmass**2) | |
11978 | if (plab .lt. earray(1)) then | |
11979 | x33pi = xarray(1) | |
11980 | return | |
11981 | end if | |
11982 | * | |
11983 | * 2.Interpolate double logarithmically to find sigma(srt) | |
11984 | * | |
11985 | do 1001 ie = 1,12 | |
11986 | if (earray(ie) .eq. plab) then | |
11987 | x33pi= xarray(ie) | |
11988 | return | |
11989 | else if (earray(ie) .gt. plab) then | |
11990 | ymin = alog(xarray(ie-1)) | |
11991 | ymax = alog(xarray(ie)) | |
11992 | xmin = alog(earray(ie-1)) | |
11993 | xmax = alog(earray(ie)) | |
11994 | x33pi= exp(ymin + (alog(plab)-xmin)*(ymax-ymin) | |
11995 | & /(xmax-xmin)) | |
11996 | return | |
11997 | end if | |
11998 | 1001 continue | |
11999 | return | |
12000 | END | |
12001 | ****************************************** | |
12002 | c REAL*4 FUNCTION X4pi(SRT) | |
12003 | REAL FUNCTION X4pi(SRT) | |
12004 | SAVE | |
12005 | * CROSS SECTION FOR NN-->DD+rho PROCESS | |
12006 | * ***************************** | |
12007 | akp=0.498 | |
12008 | ak0=0.498 | |
12009 | ana=0.94 | |
12010 | ada=1.232 | |
12011 | al=1.1157 | |
12012 | as=1.1197 | |
12013 | pmass=0.9383 | |
12014 | ES=SRT | |
12015 | IF(ES.LE.4)THEN | |
12016 | X4pi=0. | |
12017 | ELSE | |
12018 | * cross section for two resonance pp-->DD+DN*+N*N* | |
12019 | xpp2pi=4.*x2pi(es) | |
12020 | * cross section for pp-->pp+spi | |
12021 | xpp3pi=3.*(x3pi(es)+x33pi(es)) | |
12022 | * cross section for pp-->pD+ and nD++ | |
12023 | pps1=sigma(es,1,1,0)+0.5*sigma(es,1,1,1) | |
12024 | pps2=1.5*sigma(es,1,1,1) | |
12025 | ppsngl=pps1+pps2+s1535(es) | |
12026 | * CROSS SECTION FOR KAON PRODUCTION from the four channels | |
12027 | * for NLK channel | |
12028 | xk1=0 | |
12029 | xk2=0 | |
12030 | xk3=0 | |
12031 | xk4=0 | |
12032 | t1nlk=ana+al+akp | |
12033 | t2nlk=ana+al-akp | |
12034 | if(es.le.t1nlk)go to 333 | |
12035 | pmnlk2=(es**2-t1nlk**2)*(es**2-t2nlk**2)/(4.*es**2) | |
12036 | pmnlk=sqrt(pmnlk2) | |
12037 | xk1=pplpk(es) | |
12038 | * for DLK channel | |
12039 | t1dlk=ada+al+akp | |
12040 | t2dlk=ada+al-akp | |
12041 | if(es.le.t1dlk)go to 333 | |
12042 | pmdlk2=(es**2-t1dlk**2)*(es**2-t2dlk**2)/(4.*es**2) | |
12043 | pmdlk=sqrt(pmdlk2) | |
12044 | xk3=pplpk(es) | |
12045 | * for NSK channel | |
12046 | t1nsk=ana+as+akp | |
12047 | t2nsk=ana+as-akp | |
12048 | if(es.le.t1nsk)go to 333 | |
12049 | pmnsk2=(es**2-t1nsk**2)*(es**2-t2nsk**2)/(4.*es**2) | |
12050 | pmnsk=sqrt(pmnsk2) | |
12051 | xk2=ppk1(es)+ppk0(es) | |
12052 | * for DSK channel | |
12053 | t1DSk=aDa+aS+akp | |
12054 | t2DSk=aDa+aS-akp | |
12055 | if(es.le.t1dsk)go to 333 | |
12056 | pmDSk2=(es**2-t1DSk**2)*(es**2-t2DSk**2)/(4.*es**2) | |
12057 | pmDSk=sqrt(pmDSk2) | |
12058 | xk4=ppk1(es)+ppk0(es) | |
12059 | * THE TOTAL KAON+ AND KAON0 PRODUCTION CROSS SECTION IS THEN | |
12060 | 333 XKAON=3.*(xk1+xk2+xk3+xk4) | |
12061 | * cross section for pp-->DD+rho | |
12062 | x4pi=pp1(es)-ppsngl-xpp2pi-xpp3pi-XKAON | |
12063 | if(x4pi.le.0)x4pi=1.E-06 | |
12064 | ENDIF | |
12065 | RETURN | |
12066 | END | |
12067 | ****************************************** | |
12068 | * for pp-->inelastic | |
12069 | c real*4 function pp1(srt) | |
12070 | real function pp1(srt) | |
12071 | SAVE | |
12072 | * srt = DSQRT(s) in GeV * | |
12073 | * xsec = production cross section in mb * | |
12074 | * earray = EXPerimental table with proton energies in MeV * | |
12075 | * xarray = EXPerimental table with cross sections in mb (curve to guide eye) * | |
12076 | * * | |
12077 | ****************************************** | |
12078 | pmass=0.9383 | |
12079 | PP1=0. | |
12080 | * 1.Calculate p(lab) from srt [GeV] | |
12081 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
12082 | c ekin = 2.*pmass*((srt/(2.*pmass))**2 - 1.) | |
12083 | plab2=((srt**2-2.*pmass**2)/(2.*pmass))**2-pmass**2 | |
12084 | IF(PLAB2.LE.0)RETURN | |
12085 | plab=sqrt(PLAB2) | |
12086 | pmin=0.968 | |
12087 | pmax=2080 | |
12088 | if ((plab .lt. pmin).or.(plab.gt.pmax)) then | |
12089 | pp1 = 0. | |
12090 | return | |
12091 | end if | |
12092 | c* fit parameters | |
12093 | a=30.9 | |
12094 | b=-28.9 | |
12095 | c=0.192 | |
12096 | d=-0.835 | |
12097 | an=-2.46 | |
12098 | pp1 = a+b*(plab**an)+c*(alog(plab))**2 | |
12099 | if(pp1.le.0)pp1=0.0 | |
12100 | return | |
12101 | END | |
12102 | ****************************************** | |
12103 | * for pp-->elastic | |
12104 | c real*4 function pp2(srt) | |
12105 | real function pp2(srt) | |
12106 | SAVE | |
12107 | * srt = DSQRT(s) in GeV * | |
12108 | * xsec = production cross section in mb * | |
12109 | * earray = EXPerimental table with proton energies in MeV * | |
12110 | * xarray = EXPerimental table with cross sections in mb (curve to guide eye) * | |
12111 | * * | |
12112 | ****************************************** | |
12113 | pmass=0.9383 | |
12114 | * 1.Calculate p(lab) from srt [GeV] | |
12115 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
12116 | c ekin = 2.*pmass*((srt/(2.*pmass))**2 - 1.) | |
12117 | plab=sqrt(((srt**2-2.*pmass**2)/(2.*pmass))**2-pmass**2) | |
12118 | pmin=2. | |
12119 | pmax=2050 | |
12120 | if(plab.gt.pmax)then | |
12121 | pp2=8. | |
12122 | return | |
12123 | endif | |
12124 | if(plab .lt. pmin)then | |
12125 | pp2 = 25. | |
12126 | return | |
12127 | end if | |
12128 | c* fit parameters | |
12129 | a=11.2 | |
12130 | b=25.5 | |
12131 | c=0.151 | |
12132 | d=-1.62 | |
12133 | an=-1.12 | |
12134 | pp2 = a+b*(plab**an)+c*(alog(plab))**2+d*alog(plab) | |
12135 | if(pp2.le.0)pp2=0 | |
12136 | return | |
12137 | END | |
12138 | ||
12139 | ****************************************** | |
12140 | * for pp-->total | |
12141 | c real*4 function ppt(srt) | |
12142 | real function ppt(srt) | |
12143 | SAVE | |
12144 | * srt = DSQRT(s) in GeV * | |
12145 | * xsec = production cross section in mb * | |
12146 | * earray = EXPerimental table with proton energies in MeV * | |
12147 | * xarray = EXPerimental table with cross sections in mb (curve to guide eye) * | |
12148 | * * | |
12149 | ****************************************** | |
12150 | pmass=0.9383 | |
12151 | * 1.Calculate p(lab) from srt [GeV] | |
12152 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
12153 | c ekin = 2.*pmass*((srt/(2.*pmass))**2 - 1.) | |
12154 | plab=sqrt(((srt**2-2.*pmass**2)/(2.*pmass))**2-pmass**2) | |
12155 | pmin=3. | |
12156 | pmax=2100 | |
12157 | if ((plab .lt. pmin).or.(plab.gt.pmax)) then | |
12158 | ppt = 55. | |
12159 | return | |
12160 | end if | |
12161 | c* fit parameters | |
12162 | a=45.6 | |
12163 | b=219.0 | |
12164 | c=0.410 | |
12165 | d=-3.41 | |
12166 | an=-4.23 | |
12167 | ppt = a+b*(plab**an)+c*(alog(plab))**2+d*alog(plab) | |
12168 | if(ppt.le.0)ppt=0.0 | |
12169 | return | |
12170 | END | |
12171 | ||
12172 | ************************* | |
12173 | * cross section for N*(1535) production in PP collisions | |
12174 | * VARIABLES: | |
12175 | * LB1,LB2 ARE THE LABLES OF THE TWO COLLIDING PARTICLES | |
12176 | * SRT IS THE CMS ENERGY | |
12177 | * X1535 IS THE N*(1535) PRODUCTION CROSS SECTION | |
12178 | * NOTE THAT THE N*(1535) PRODUCTION CROSS SECTION IS 2 TIMES THE ETA | |
12179 | * PRODUCTION CROSS SECTION | |
12180 | * DATE: Aug. 1 , 1994 | |
12181 | * ******************************** | |
12182 | real function s1535(SRT) | |
12183 | SAVE | |
12184 | S0=2.424 | |
12185 | s1535=0. | |
12186 | IF(SRT.LE.S0)RETURN | |
12187 | S1535=2.*0.102*(SRT-S0)/(0.058+(SRT-S0)**2) | |
12188 | return | |
12189 | end | |
12190 | **************************************** | |
12191 | * generate a table for pt distribution for | |
12192 | subroutine tablem | |
12193 | * THE PROCESS N+N--->N+N+PION | |
12194 | * DATE : July 11, 1994 | |
12195 | ***************************************** | |
12196 | COMMON/TABLE/ xarray(0:1000),earray(0:1000) | |
12197 | cc SAVE /TABLE/ | |
12198 | SAVE | |
12199 | ptmax=2.01 | |
12200 | anorm=ptdis(ptmax) | |
12201 | do 10 L=0,200 | |
12202 | x=0.01*float(L+1) | |
12203 | rr=ptdis(x)/anorm | |
12204 | earray(l)=rr | |
12205 | xarray(l)=x | |
12206 | 10 continue | |
12207 | RETURN | |
12208 | end | |
12209 | ********************************* | |
12210 | real function ptdis(x) | |
12211 | SAVE | |
12212 | * NUCLEON TRANSVERSE MOMENTUM DISTRIBUTION AT HIGH ENERGIES | |
12213 | * DATE: Aug. 11, 1994 | |
12214 | ********************************* | |
12215 | b=3.78 | |
12216 | c=0.47 | |
12217 | d=3.60 | |
12218 | c b=b*3 | |
12219 | c d=d*3 | |
12220 | ptdis=1./(2.*b)*(1.-exp(-b*x**2))-c/d*x*exp(-d*x) | |
12221 | 1 -c/D**2*(exp(-d*x)-1.) | |
12222 | return | |
12223 | end | |
12224 | ***************************** | |
12225 | subroutine ppxS(lb1,lb2,srt,ppsig,spprho,ipp) | |
12226 | * purpose: this subroutine gives the cross section for pion+pion | |
12227 | * elastic collision | |
12228 | * variables: | |
12229 | * input: lb1,lb2 and srt are the labels and srt for I1 and I2 | |
12230 | * output: ppsig: pp xsection | |
12231 | * ipp: label for the pion+pion channel | |
12232 | * Ipp=0 NOTHING HAPPEND | |
12233 | * 1 for Pi(+)+PI(+) DIRECT | |
12234 | * 2 PI(+)+PI(0) FORMING RHO(+) | |
12235 | * 3 PI(+)+PI(-) FORMING RHO(0) | |
12236 | * 4 PI(0)+PI(O) DIRECT | |
12237 | * 5 PI(0)+PI(-) FORMING RHO(-) | |
12238 | * 6 PI(-)+PI(-) DIRECT | |
12239 | * reference: G.F. Bertsch, Phys. Rev. D37 (1988) 1202. | |
12240 | * date : Aug 29, 1994 | |
12241 | ***************************** | |
12242 | parameter (amp=0.14,pi=3.1415926) | |
12243 | SAVE | |
12244 | PPSIG=0.0 | |
12245 | ||
12246 | cbzdbg10/15/99 | |
12247 | spprho=0.0 | |
12248 | cbzdbg10/15/99 end | |
12249 | ||
12250 | IPP=0 | |
12251 | IF(SRT.LE.0.3)RETURN | |
12252 | q=sqrt((srt/2)**2-amp**2) | |
12253 | esigma=5.8*amp | |
12254 | tsigma=2.06*q | |
12255 | erho=0.77 | |
12256 | trho=0.095*q*(q/amp/(1.+(q/erho)**2))**2 | |
12257 | esi=esigma-srt | |
12258 | if(esi.eq.0)then | |
12259 | d00=pi/2. | |
12260 | go to 10 | |
12261 | endif | |
12262 | d00=atan(tsigma/2./esi) | |
12263 | 10 erh=erho-srt | |
12264 | if(erh.eq.0.)then | |
12265 | d11=pi/2. | |
12266 | go to 20 | |
12267 | endif | |
12268 | d11=atan(trho/2./erh) | |
12269 | 20 d20=-0.12*q/amp | |
12270 | s0=8.*pi*sin(d00)**2/q**2 | |
12271 | s1=8*pi*3*sin(d11)**2/q**2 | |
12272 | s2=8*pi*5*sin(d20)**2/q**2 | |
12273 | c !! GeV^-2 to mb | |
12274 | s0=s0*0.197**2*10. | |
12275 | s1=s1*0.197**2*10. | |
12276 | s2=s2*0.197**2*10. | |
12277 | C ppXS=s0/9.+s1/3.+s2*0.56 | |
12278 | C if(ppxs.le.0)ppxs=0.00001 | |
12279 | spprho=s1/2. | |
12280 | * (1) PI(+)+PI(+) | |
12281 | IF(LB1.EQ.5.AND.LB2.EQ.5)THEN | |
12282 | IPP=1 | |
12283 | PPSIG=S2 | |
12284 | RETURN | |
12285 | ENDIF | |
12286 | * (2) PI(+)+PI(0) | |
12287 | IF((LB1.EQ.5.AND.LB2.EQ.4).OR.(LB1.EQ.4.AND.LB2.EQ.5))THEN | |
12288 | IPP=2 | |
12289 | PPSIG=S2/2.+S1/2. | |
12290 | RETURN | |
12291 | ENDIF | |
12292 | * (3) PI(+)+PI(-) | |
12293 | IF((LB1.EQ.5.AND.LB2.EQ.3).OR.(LB1.EQ.3.AND.LB2.EQ.5))THEN | |
12294 | IPP=3 | |
12295 | PPSIG=S2/6.+S1/2.+S0/3. | |
12296 | RETURN | |
12297 | ENDIF | |
12298 | * (4) PI(0)+PI(0) | |
12299 | IF(LB1.EQ.4.AND.LB2.EQ.4)THEN | |
12300 | IPP=4 | |
12301 | PPSIG=2*S2/3.+S0/3. | |
12302 | RETURN | |
12303 | ENDIF | |
12304 | * (5) PI(0)+PI(-) | |
12305 | IF((LB1.EQ.4.AND.LB2.EQ.3).OR.(LB1.EQ.3.AND.LB2.EQ.4))THEN | |
12306 | IPP=5 | |
12307 | PPSIG=S2/2.+S1/2. | |
12308 | RETURN | |
12309 | ENDIF | |
12310 | * (6) PI(-)+PI(-) | |
12311 | IF(LB1.EQ.3.AND.LB2.EQ.3)THEN | |
12312 | IPP=6 | |
12313 | PPSIG=S2 | |
12314 | ENDIF | |
12315 | return | |
12316 | end | |
12317 | ********************************** | |
12318 | * elementary kaon production cross sections | |
12319 | * from the CERN data book | |
12320 | * date: Sept.2, 1994 | |
12321 | * for pp-->pLK+ | |
12322 | c real*4 function pplpk(srt) | |
12323 | real function pplpk(srt) | |
12324 | SAVE | |
12325 | * srt = DSQRT(s) in GeV * | |
12326 | * xsec = production cross section in mb * | |
12327 | * earray = EXPerimental table with proton energies in MeV * | |
12328 | * xarray = EXPerimental table with cross sections in mb (curve to guide eye) * | |
12329 | * * | |
12330 | ****************************************** | |
12331 | pmass=0.9383 | |
12332 | * 1.Calculate p(lab) from srt [GeV] | |
12333 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
12334 | * find the center of mass energy corresponding to the given pm as | |
12335 | * if Lambda+N+K are produced | |
12336 | pplpk=0. | |
12337 | plab=sqrt(((srt**2-2.*pmass**2)/(2.*pmass))**2-pmass**2) | |
12338 | pmin=2.82 | |
12339 | pmax=25.0 | |
12340 | if(plab.gt.pmax)then | |
12341 | pplpk=0.036 | |
12342 | return | |
12343 | endif | |
12344 | if(plab .lt. pmin)then | |
12345 | pplpk = 0. | |
12346 | return | |
12347 | end if | |
12348 | c* fit parameters | |
12349 | a=0.0654 | |
12350 | b=-3.16 | |
12351 | c=-0.0029 | |
12352 | an=-4.14 | |
12353 | pplpk = a+b*(plab**an)+c*(alog(plab))**2 | |
12354 | if(pplpk.le.0)pplpk=0 | |
12355 | return | |
12356 | END | |
12357 | ||
12358 | ****************************************** | |
12359 | * for pp-->pSigma+K0 | |
12360 | c real*4 function ppk0(srt) | |
12361 | real function ppk0(srt) | |
12362 | * srt = DSQRT(s) in GeV * | |
12363 | * xsec = production cross section in mb * | |
12364 | * * | |
12365 | ****************************************** | |
12366 | c real*4 xarray(7), earray(7) | |
12367 | real xarray(7), earray(7) | |
12368 | SAVE | |
12369 | data xarray /0.030,0.025,0.025,0.026,0.02,0.014,0.06/ | |
12370 | data earray /3.67,4.95,5.52,6.05,6.92,7.87,10./ | |
12371 | ||
12372 | pmass=0.9383 | |
12373 | * 1.Calculate p(lab) from srt [GeV] | |
12374 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
12375 | c ekin = 2.*pmass*((srt/(2.*pmass))**2 - 1.) | |
12376 | ppk0=0 | |
12377 | if(srt.le.2.63)return | |
12378 | if(srt.gt.4.54)then | |
12379 | ppk0=0.037 | |
12380 | return | |
12381 | endif | |
12382 | plab=sqrt(((srt**2-2.*pmass**2)/(2.*pmass))**2-pmass**2) | |
12383 | if (plab .lt. earray(1)) then | |
12384 | ppk0 = xarray(1) | |
12385 | return | |
12386 | end if | |
12387 | * | |
12388 | * 2.Interpolate double logarithmically to find sigma(srt) | |
12389 | * | |
12390 | do 1001 ie = 1,7 | |
12391 | if (earray(ie) .eq. plab) then | |
12392 | ppk0 = xarray(ie) | |
12393 | go to 10 | |
12394 | else if (earray(ie) .gt. plab) then | |
12395 | ymin = alog(xarray(ie-1)) | |
12396 | ymax = alog(xarray(ie)) | |
12397 | xmin = alog(earray(ie-1)) | |
12398 | xmax = alog(earray(ie)) | |
12399 | ppk0 = exp(ymin + (alog(plab)-xmin)*(ymax-ymin) | |
12400 | &/(xmax-xmin) ) | |
12401 | go to 10 | |
12402 | end if | |
12403 | 1001 continue | |
12404 | 10 continue | |
12405 | return | |
12406 | END | |
12407 | ****************************************** | |
12408 | * for pp-->pSigma0K+ | |
12409 | c real*4 function ppk1(srt) | |
12410 | real function ppk1(srt) | |
12411 | * srt = DSQRT(s) in GeV * | |
12412 | * xsec = production cross section in mb * | |
12413 | * * | |
12414 | ****************************************** | |
12415 | c real*4 xarray(7), earray(7) | |
12416 | real xarray(7), earray(7) | |
12417 | SAVE | |
12418 | data xarray /0.013,0.025,0.016,0.012,0.017,0.029,0.025/ | |
12419 | data earray /3.67,4.95,5.52,5.97,6.05,6.92,7.87/ | |
12420 | ||
12421 | pmass=0.9383 | |
12422 | * 1.Calculate p(lab) from srt [GeV] | |
12423 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
12424 | c ekin = 2.*pmass*((srt/(2.*pmass))**2 - 1.) | |
12425 | ppk1=0. | |
12426 | if(srt.le.2.63)return | |
12427 | if(srt.gt.4.08)then | |
12428 | ppk1=0.025 | |
12429 | return | |
12430 | endif | |
12431 | plab=sqrt(((srt**2-2.*pmass**2)/(2.*pmass))**2-pmass**2) | |
12432 | if (plab .lt. earray(1)) then | |
12433 | ppk1 =xarray(1) | |
12434 | return | |
12435 | end if | |
12436 | * | |
12437 | * 2.Interpolate double logarithmically to find sigma(srt) | |
12438 | * | |
12439 | do 1001 ie = 1,7 | |
12440 | if (earray(ie) .eq. plab) then | |
12441 | ppk1 = xarray(ie) | |
12442 | go to 10 | |
12443 | else if (earray(ie) .gt. plab) then | |
12444 | ymin = alog(xarray(ie-1)) | |
12445 | ymax = alog(xarray(ie)) | |
12446 | xmin = alog(earray(ie-1)) | |
12447 | xmax = alog(earray(ie)) | |
12448 | ppk1 = exp(ymin + (alog(plab)-xmin)*(ymax-ymin) | |
12449 | &/(xmax-xmin) ) | |
12450 | go to 10 | |
12451 | end if | |
12452 | 1001 continue | |
12453 | 10 continue | |
12454 | return | |
12455 | END | |
12456 | ********************************** | |
12457 | * * | |
12458 | * * | |
12459 | SUBROUTINE CRPN(PX,PY,PZ,SRT,I1,I2, | |
12460 | & IBLOCK,xkaon0,xkaon,Xphi,xphin) | |
12461 | * PURPOSE: * | |
12462 | * DEALING WITH PION+N-->L/S+KAON PROCESS AND PION PRODUCTION * | |
12463 | * NOTE : * | |
12464 | * | |
12465 | * QUANTITIES: * | |
12466 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
12467 | * SRT - SQRT OF S * | |
12468 | * IBLOCK - THE INFORMATION BACK * | |
12469 | * 7 PION+N-->L/S+KAON | |
12470 | * iblock - 77 pion+N-->Delta+pion | |
12471 | * iblock - 78 pion+N-->Delta+RHO | |
12472 | * iblock - 79 pion+N-->Delta+OMEGA | |
12473 | * iblock - 222 pion+N-->Phi | |
12474 | ********************************** | |
12475 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
12476 | 1 AMP=0.93828,AP1=0.13496,APHI=1.020, | |
12477 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
12478 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974) | |
12479 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
12480 | COMMON /AA/ R(3,MAXSTR) | |
12481 | cc SAVE /AA/ | |
12482 | COMMON /BB/ P(3,MAXSTR) | |
12483 | cc SAVE /BB/ | |
12484 | COMMON /CC/ E(MAXSTR) | |
12485 | cc SAVE /CC/ | |
12486 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
12487 | cc SAVE /EE/ | |
12488 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
12489 | cc SAVE /input1/ | |
12490 | COMMON/RNDF77/NSEED | |
12491 | cc SAVE /RNDF77/ | |
12492 | SAVE | |
12493 | ||
12494 | PX0=PX | |
12495 | PY0=PY | |
12496 | PZ0=PZ | |
12497 | iblock=1 | |
12498 | x1=RANART(NSEED) | |
12499 | ianti=0 | |
12500 | if(lb(i1).lt.0 .or. lb(i2).lt.0) ianti=1 | |
12501 | if(xkaon0/(xkaon+Xphi).ge.x1)then | |
12502 | * kaon production | |
12503 | *----------------------------------------------------------------------- | |
12504 | IBLOCK=7 | |
12505 | if(ianti .eq. 1)iblock=-7 | |
12506 | NTAG=0 | |
12507 | * RELABLE PARTICLES FOR THE PROCESS PION+n-->LAMBDA K OR SIGMA k | |
12508 | * DECIDE LAMBDA OR SIGMA PRODUCTION, AND TO CALCULATE THE NEW | |
12509 | * MOMENTA FOR PARTICLES IN THE FINAL STATE. | |
12510 | KAONC=0 | |
12511 | IF(PNLKA(SRT)/(PNLKA(SRT) | |
12512 | & +PNSKA(SRT)).GT.RANART(NSEED))KAONC=1 | |
12513 | IF(E(I1).LE.0.2)THEN | |
12514 | LB(I1)=23 | |
12515 | E(I1)=AKA | |
12516 | IF(KAONC.EQ.1)THEN | |
12517 | LB(I2)=14 | |
12518 | E(I2)=ALA | |
12519 | ELSE | |
12520 | LB(I2) = 15 + int(3 * RANART(NSEED)) | |
12521 | E(I2)=ASA | |
12522 | ENDIF | |
12523 | if(ianti .eq. 1)then | |
12524 | lb(i1) = 21 | |
12525 | lb(i2) = -lb(i2) | |
12526 | endif | |
12527 | ELSE | |
12528 | LB(I2)=23 | |
12529 | E(I2)=AKA | |
12530 | IF(KAONC.EQ.1)THEN | |
12531 | LB(I1)=14 | |
12532 | E(I1)=ALA | |
12533 | ELSE | |
12534 | LB(I1) = 15 + int(3 * RANART(NSEED)) | |
12535 | E(I1)=ASA | |
12536 | ENDIF | |
12537 | if(ianti .eq. 1)then | |
12538 | lb(i2) = 21 | |
12539 | lb(i1) = -lb(i1) | |
12540 | endif | |
12541 | ENDIF | |
12542 | EM1=E(I1) | |
12543 | EM2=E(I2) | |
12544 | go to 50 | |
12545 | * to gererate the momentum for the kaon and L/S | |
12546 | elseif(Xphi/(xkaon+Xphi).ge.x1)then | |
12547 | iblock=222 | |
12548 | if(xphin/Xphi .ge. RANART(NSEED))then | |
12549 | LB(I1)= 1+int(2*RANART(NSEED)) | |
12550 | E(I1)=AMN | |
12551 | else | |
12552 | LB(I1)= 6+int(4*RANART(NSEED)) | |
12553 | E(I1)=AM0 | |
12554 | endif | |
12555 | c !! at present only baryon | |
12556 | if(ianti .eq. 1)lb(i1)=-lb(i1) | |
12557 | LB(I2)= 29 | |
12558 | E(I2)=APHI | |
12559 | EM1=E(I1) | |
12560 | EM2=E(I2) | |
12561 | go to 50 | |
12562 | else | |
12563 | * CHECK WHAT KIND OF PION PRODUCTION PROCESS HAS HAPPENED | |
12564 | IF(RANART(NSEED).LE.TWOPI(SRT)/ | |
12565 | & (TWOPI(SRT)+THREPI(SRT)+FOURPI(SRT)))THEN | |
12566 | iblock=77 | |
12567 | ELSE | |
12568 | IF(THREPI(SRT)/(THREPI(SRT)+FOURPI(SRT)). | |
12569 | & GT.RANART(NSEED))THEN | |
12570 | IBLOCK=78 | |
12571 | ELSE | |
12572 | IBLOCK=79 | |
12573 | ENDIF | |
12574 | endif | |
12575 | ntag=0 | |
12576 | * pion production (Delta+pion/rho/omega in the final state) | |
12577 | * generate the mass of the delta resonance | |
12578 | X2=RANART(NSEED) | |
12579 | * relable the particles | |
12580 | if(iblock.eq.77)then | |
12581 | * GENERATE THE DELTA MASS | |
12582 | dmax=srt-ap1-0.02 | |
12583 | dm=rmass(dmax,iseed) | |
12584 | * pion+baryon-->pion+delta | |
12585 | * Relable particles, I1 is assigned to the Delta and I2 is assigned to the | |
12586 | * meson | |
12587 | *(1) for pi(+)+p-->D(+)+P(+) OR D(++)+p(0) | |
12588 | if( ((lb(i1).eq.1.and.lb(i2).eq.5). | |
12589 | & or.(lb(i1).eq.5.and.lb(i2).eq.1)) | |
12590 | & .OR. ((lb(i1).eq.-1.and.lb(i2).eq.3). | |
12591 | & or.(lb(i1).eq.3.and.lb(i2).eq.-1)) )then | |
12592 | if(iabs(lb(i1)).eq.1)then | |
12593 | ii = i1 | |
12594 | IF(X2.LE.0.5)THEN | |
12595 | lb(i1)=8 | |
12596 | e(i1)=dm | |
12597 | lb(i2)=5 | |
12598 | e(i2)=ap1 | |
12599 | go to 40 | |
12600 | ELSE | |
12601 | lb(i1)=9 | |
12602 | e(i1)=dm | |
12603 | lb(i2)=4 | |
12604 | ipi = 4 | |
12605 | e(i2)=ap1 | |
12606 | go to 40 | |
12607 | endif | |
12608 | else | |
12609 | ii = i2 | |
12610 | IF(X2.LE.0.5)THEN | |
12611 | lb(i2)=8 | |
12612 | e(i2)=dm | |
12613 | lb(i1)=5 | |
12614 | e(i1)=ap1 | |
12615 | go to 40 | |
12616 | ELSE | |
12617 | lb(i2)=9 | |
12618 | e(i2)=dm | |
12619 | lb(i1)=4 | |
12620 | e(i1)=ap1 | |
12621 | go to 40 | |
12622 | endif | |
12623 | endif | |
12624 | endif | |
12625 | *(2) for pi(-)+p-->D(0)+P(0) OR D(+)+p(-),or D(-)+p(+) | |
12626 | if( ((lb(i1).eq.1.and.lb(i2).eq.3). | |
12627 | & or.(lb(i1).eq.3.and.lb(i2).eq.1)) | |
12628 | & .OR. ((lb(i1).eq.-1.and.lb(i2).eq.5). | |
12629 | & or.(lb(i1).eq.5.and.lb(i2).eq.-1)) )then | |
12630 | if(iabs(lb(i1)).eq.1)then | |
12631 | ii = i1 | |
12632 | IF(X2.LE.0.33)THEN | |
12633 | lb(i1)=6 | |
12634 | e(i1)=dm | |
12635 | lb(i2)=5 | |
12636 | e(i2)=ap1 | |
12637 | go to 40 | |
12638 | ENDIF | |
12639 | if(X2.gt.0.33.and.X2.le.0.67)then | |
12640 | lb(i1)=7 | |
12641 | e(i1)=dm | |
12642 | lb(i2)=4 | |
12643 | e(i2)=ap1 | |
12644 | go to 40 | |
12645 | endif | |
12646 | if(X2.gt.0.67)then | |
12647 | lb(i1)=8 | |
12648 | e(i1)=dm | |
12649 | lb(i2)=3 | |
12650 | e(i2)=ap1 | |
12651 | go to 40 | |
12652 | endif | |
12653 | else | |
12654 | ii = i2 | |
12655 | IF(X2.LE.0.33)THEN | |
12656 | lb(i2)=6 | |
12657 | e(i2)=dm | |
12658 | lb(i1)=5 | |
12659 | e(i1)=ap1 | |
12660 | go to 40 | |
12661 | ENDIF | |
12662 | if(X2.gt.0.33.and.X2.le.0.67)then | |
12663 | lb(i2)=7 | |
12664 | e(i2)=dm | |
12665 | lb(i1)=4 | |
12666 | e(i1)=ap1 | |
12667 | go to 40 | |
12668 | endif | |
12669 | if(X2.gt.0.67)then | |
12670 | lb(i2)=8 | |
12671 | e(i2)=dm | |
12672 | lb(i1)=3 | |
12673 | e(i1)=ap1 | |
12674 | go to 40 | |
12675 | endif | |
12676 | endif | |
12677 | endif | |
12678 | *(3) for pi(+)+n-->D(+)+Pi(0) OR D(++)+p(-) or D(0)+pi(+) | |
12679 | if( ((lb(i1).eq.2.and.lb(i2).eq.5). | |
12680 | & or.(lb(i1).eq.5.and.lb(i2).eq.2)) | |
12681 | & .OR. ((lb(i1).eq.-2.and.lb(i2).eq.3). | |
12682 | & or.(lb(i1).eq.3.and.lb(i2).eq.-2)) )then | |
12683 | if(iabs(lb(i1)).eq.2)then | |
12684 | ii = i1 | |
12685 | IF(X2.LE.0.33)THEN | |
12686 | lb(i1)=8 | |
12687 | e(i1)=dm | |
12688 | lb(i2)=4 | |
12689 | e(i2)=ap1 | |
12690 | go to 40 | |
12691 | ENDIF | |
12692 | if(X2.gt.0.33.and.X2.le.0.67)then | |
12693 | lb(i1)=7 | |
12694 | e(i1)=dm | |
12695 | lb(i2)=5 | |
12696 | e(i2)=ap1 | |
12697 | go to 40 | |
12698 | endif | |
12699 | if(X2.gt.0.67)then | |
12700 | lb(i1)=9 | |
12701 | e(i1)=dm | |
12702 | lb(i2)=3 | |
12703 | e(i2)=ap1 | |
12704 | go to 40 | |
12705 | endif | |
12706 | else | |
12707 | ii = i2 | |
12708 | IF(X2.LE.0.33)THEN | |
12709 | lb(i2)=8 | |
12710 | e(i2)=dm | |
12711 | lb(i1)=4 | |
12712 | e(i1)=ap1 | |
12713 | go to 40 | |
12714 | ENDIF | |
12715 | if(X2.gt.0.33.and.X2.le.0.67)then | |
12716 | lb(i2)=7 | |
12717 | e(i2)=dm | |
12718 | lb(i1)=5 | |
12719 | e(i1)=ap1 | |
12720 | go to 40 | |
12721 | endif | |
12722 | if(X2.gt.0.67)then | |
12723 | lb(i2)=9 | |
12724 | e(i2)=dm | |
12725 | lb(i1)=3 | |
12726 | e(i1)=ap1 | |
12727 | go to 40 | |
12728 | endif | |
12729 | endif | |
12730 | endif | |
12731 | *(4) for pi(0)+p-->D(+)+Pi(0) OR D(++)+p(-) or D(0)+pi(+) | |
12732 | if((iabs(lb(i1)).eq.1.and.lb(i2).eq.4). | |
12733 | & or.(lb(i1).eq.4.and.iabs(lb(i2)).eq.1))then | |
12734 | if(iabs(lb(i1)).eq.1)then | |
12735 | ii = i1 | |
12736 | IF(X2.LE.0.33)THEN | |
12737 | lb(i1)=8 | |
12738 | e(i1)=dm | |
12739 | lb(i2)=4 | |
12740 | e(i2)=ap1 | |
12741 | go to 40 | |
12742 | ENDIF | |
12743 | if(X2.gt.0.33.and.X2.le.0.67)then | |
12744 | lb(i1)=7 | |
12745 | e(i1)=dm | |
12746 | lb(i2)=5 | |
12747 | e(i2)=ap1 | |
12748 | go to 40 | |
12749 | endif | |
12750 | if(X2.gt.0.67)then | |
12751 | lb(i1)=9 | |
12752 | e(i1)=dm | |
12753 | lb(i2)=3 | |
12754 | e(i2)=ap1 | |
12755 | go to 40 | |
12756 | endif | |
12757 | else | |
12758 | ii = i2 | |
12759 | IF(X2.LE.0.33)THEN | |
12760 | lb(i2)=8 | |
12761 | e(i2)=dm | |
12762 | lb(i1)=4 | |
12763 | e(i1)=ap1 | |
12764 | go to 40 | |
12765 | ENDIF | |
12766 | if(X2.gt.0.33.and.X2.le.0.67)then | |
12767 | lb(i2)=7 | |
12768 | e(i2)=dm | |
12769 | lb(i1)=5 | |
12770 | e(i1)=ap1 | |
12771 | go to 40 | |
12772 | endif | |
12773 | if(X2.gt.0.67)then | |
12774 | lb(i2)=9 | |
12775 | e(i2)=dm | |
12776 | lb(i1)=3 | |
12777 | e(i1)=ap1 | |
12778 | go to 40 | |
12779 | endif | |
12780 | endif | |
12781 | endif | |
12782 | *(5) for pi(-)+n-->D(-)+P(0) OR D(0)+p(-) | |
12783 | if( ((lb(i1).eq.2.and.lb(i2).eq.3). | |
12784 | & or.(lb(i1).eq.3.and.lb(i2).eq.2)) | |
12785 | & .OR. ((lb(i1).eq.-2.and.lb(i2).eq.5). | |
12786 | & or.(lb(i1).eq.5.and.lb(i2).eq.-2)) )then | |
12787 | if(iabs(lb(i1)).eq.2)then | |
12788 | ii = i1 | |
12789 | IF(X2.LE.0.5)THEN | |
12790 | lb(i1)=6 | |
12791 | e(i1)=dm | |
12792 | lb(i2)=4 | |
12793 | e(i2)=ap1 | |
12794 | go to 40 | |
12795 | ELSE | |
12796 | lb(i1)=7 | |
12797 | e(i1)=dm | |
12798 | lb(i2)=3 | |
12799 | e(i2)=ap1 | |
12800 | go to 40 | |
12801 | endif | |
12802 | else | |
12803 | ii = i2 | |
12804 | IF(X2.LE.0.5)THEN | |
12805 | lb(i2)=6 | |
12806 | e(i2)=dm | |
12807 | lb(i1)=4 | |
12808 | e(i1)=ap1 | |
12809 | go to 40 | |
12810 | ELSE | |
12811 | lb(i2)=7 | |
12812 | e(i2)=dm | |
12813 | lb(i1)=3 | |
12814 | e(i1)=ap1 | |
12815 | go to 40 | |
12816 | endif | |
12817 | endif | |
12818 | ENDIF | |
12819 | *(6) for pi(0)+n-->D(0)+P(0), D(-)+p(+) or D(+)+p(-) | |
12820 | if((iabs(lb(i1)).eq.2.and.lb(i2).eq.4). | |
12821 | & or.(lb(i1).eq.4.and.iabs(lb(i2)).eq.2))then | |
12822 | if(iabs(lb(i1)).eq.2)then | |
12823 | ii = i1 | |
12824 | IF(X2.LE.0.33)THEN | |
12825 | lb(i1)=7 | |
12826 | e(i1)=dm | |
12827 | lb(i2)=4 | |
12828 | e(i2)=ap1 | |
12829 | go to 40 | |
12830 | Endif | |
12831 | IF(X2.LE.0.67.AND.X2.GT.0.33)THEN | |
12832 | lb(i1)=6 | |
12833 | e(i1)=dm | |
12834 | lb(i2)=5 | |
12835 | e(i2)=ap1 | |
12836 | go to 40 | |
12837 | endif | |
12838 | IF(X2.GT.0.67)THEN | |
12839 | LB(I1)=8 | |
12840 | E(I1)=DM | |
12841 | LB(I2)=3 | |
12842 | E(I2)=AP1 | |
12843 | GO TO 40 | |
12844 | ENDIF | |
12845 | else | |
12846 | ii = i2 | |
12847 | IF(X2.LE.0.33)THEN | |
12848 | lb(i2)=7 | |
12849 | e(i2)=dm | |
12850 | lb(i1)=4 | |
12851 | e(i1)=ap1 | |
12852 | go to 40 | |
12853 | ENDIF | |
12854 | IF(X2.LE.0.67.AND.X2.GT.0.33)THEN | |
12855 | lb(i2)=6 | |
12856 | e(i2)=dm | |
12857 | lb(i1)=5 | |
12858 | e(i1)=ap1 | |
12859 | go to 40 | |
12860 | endif | |
12861 | IF(X2.GT.0.67)THEN | |
12862 | LB(I2)=8 | |
12863 | E(I2)=DM | |
12864 | LB(I1)=3 | |
12865 | E(I1)=AP1 | |
12866 | GO TO 40 | |
12867 | ENDIF | |
12868 | endif | |
12869 | endif | |
12870 | ENDIF | |
12871 | if(iblock.eq.78)then | |
12872 | call Rmasdd(srt,1.232,0.77,1.08, | |
12873 | & 0.28,ISEED,4,dm,ameson) | |
12874 | arho=AMESON | |
12875 | * pion+baryon-->Rho+delta | |
12876 | *(1) for pi(+)+p-->D(+)+rho(+) OR D(++)+rho(0) | |
12877 | if( ((lb(i1).eq.1.and.lb(i2).eq.5). | |
12878 | & or.(lb(i1).eq.5.and.lb(i2).eq.1)) | |
12879 | & .OR. ((lb(i1).eq.-1.and.lb(i2).eq.3). | |
12880 | & or.(lb(i1).eq.3.and.lb(i2).eq.-1)) )then | |
12881 | if(iabs(lb(i1)).eq.1)then | |
12882 | ii = i1 | |
12883 | IF(X2.LE.0.5)THEN | |
12884 | lb(i1)=8 | |
12885 | e(i1)=dm | |
12886 | lb(i2)=27 | |
12887 | e(i2)=arho | |
12888 | go to 40 | |
12889 | ELSE | |
12890 | lb(i1)=9 | |
12891 | e(i1)=dm | |
12892 | lb(i2)=26 | |
12893 | e(i2)=arho | |
12894 | go to 40 | |
12895 | endif | |
12896 | else | |
12897 | ii = i2 | |
12898 | IF(X2.LE.0.5)THEN | |
12899 | lb(i2)=8 | |
12900 | e(i2)=dm | |
12901 | lb(i1)=27 | |
12902 | e(i1)=arho | |
12903 | go to 40 | |
12904 | ELSE | |
12905 | lb(i2)=9 | |
12906 | e(i2)=dm | |
12907 | lb(i1)=26 | |
12908 | e(i1)=arho | |
12909 | go to 40 | |
12910 | endif | |
12911 | endif | |
12912 | endif | |
12913 | *(2) for pi(-)+p-->D(+)+rho(-) OR D(0)+rho(0) or D(-)+rho(+) | |
12914 | if( ((lb(i1).eq.1.and.lb(i2).eq.3). | |
12915 | & or.(lb(i1).eq.3.and.lb(i2).eq.1)) | |
12916 | & .OR. ((lb(i1).eq.-1.and.lb(i2).eq.5). | |
12917 | & or.(lb(i1).eq.5.and.lb(i2).eq.-1)) )then | |
12918 | if(iabs(lb(i1)).eq.1)then | |
12919 | ii = i1 | |
12920 | IF(X2.LE.0.33)THEN | |
12921 | lb(i1)=6 | |
12922 | e(i1)=dm | |
12923 | lb(i2)=27 | |
12924 | e(i2)=arho | |
12925 | go to 40 | |
12926 | ENDIF | |
12927 | if(X2.gt.0.33.and.X2.le.0.67)then | |
12928 | lb(i1)=7 | |
12929 | e(i1)=dm | |
12930 | lb(i2)=26 | |
12931 | e(i2)=arho | |
12932 | go to 40 | |
12933 | endif | |
12934 | if(X2.gt.0.67)then | |
12935 | lb(i1)=8 | |
12936 | e(i1)=dm | |
12937 | lb(i2)=25 | |
12938 | e(i2)=arho | |
12939 | go to 40 | |
12940 | endif | |
12941 | else | |
12942 | ii = i2 | |
12943 | IF(X2.LE.0.33)THEN | |
12944 | lb(i2)=6 | |
12945 | e(i2)=dm | |
12946 | lb(i1)=27 | |
12947 | e(i1)=arho | |
12948 | go to 40 | |
12949 | ENDIF | |
12950 | if(X2.gt.0.33.and.X2.le.0.67)then | |
12951 | lb(i2)=7 | |
12952 | e(i2)=dm | |
12953 | lb(i1)=26 | |
12954 | e(i1)=arho | |
12955 | go to 40 | |
12956 | endif | |
12957 | if(X2.gt.0.67)then | |
12958 | lb(i2)=8 | |
12959 | e(i2)=dm | |
12960 | lb(i1)=25 | |
12961 | e(i1)=arho | |
12962 | go to 40 | |
12963 | endif | |
12964 | endif | |
12965 | endif | |
12966 | *(3) for pi(+)+n-->D(+)+rho(0) OR D(++)+rho(-) or D(0)+rho(+) | |
12967 | if( ((lb(i1).eq.2.and.lb(i2).eq.5). | |
12968 | & or.(lb(i1).eq.5.and.lb(i2).eq.2)) | |
12969 | & .OR.((lb(i1).eq.-2.and.lb(i2).eq.3). | |
12970 | & or.(lb(i1).eq.3.and.lb(i2).eq.-2)) )then | |
12971 | if(iabs(lb(i1)).eq.2)then | |
12972 | ii = i1 | |
12973 | IF(X2.LE.0.33)THEN | |
12974 | lb(i1)=8 | |
12975 | e(i1)=dm | |
12976 | lb(i2)=26 | |
12977 | e(i2)=arho | |
12978 | go to 40 | |
12979 | ENDIF | |
12980 | if(X2.gt.0.33.and.X2.le.0.67)then | |
12981 | lb(i1)=7 | |
12982 | e(i1)=dm | |
12983 | lb(i2)=27 | |
12984 | e(i2)=arho | |
12985 | go to 40 | |
12986 | endif | |
12987 | if(X2.gt.0.67)then | |
12988 | lb(i1)=9 | |
12989 | e(i1)=dm | |
12990 | lb(i2)=25 | |
12991 | e(i2)=arho | |
12992 | go to 40 | |
12993 | endif | |
12994 | else | |
12995 | ii = i2 | |
12996 | IF(X2.LE.0.33)THEN | |
12997 | lb(i2)=8 | |
12998 | e(i2)=dm | |
12999 | lb(i1)=26 | |
13000 | e(i1)=arho | |
13001 | go to 40 | |
13002 | ENDIF | |
13003 | if(X2.gt.0.33.and.X2.le.0.67)then | |
13004 | lb(i2)=7 | |
13005 | e(i2)=dm | |
13006 | lb(i1)=27 | |
13007 | e(i1)=arho | |
13008 | go to 40 | |
13009 | endif | |
13010 | if(X2.gt.0.67)then | |
13011 | lb(i2)=9 | |
13012 | e(i2)=dm | |
13013 | lb(i1)=25 | |
13014 | e(i1)=arho | |
13015 | go to 40 | |
13016 | endif | |
13017 | endif | |
13018 | endif | |
13019 | *(4) for pi(0)+p-->D(+)+rho(0) OR D(++)+rho(-) or D(0)+rho(+) | |
13020 | if((iabs(lb(i1)).eq.1.and.lb(i2).eq.4). | |
13021 | & or.(lb(i1).eq.4.and.iabs(lb(i2)).eq.1))then | |
13022 | if(iabs(lb(i1)).eq.1)then | |
13023 | ii = i1 | |
13024 | IF(X2.LE.0.33)THEN | |
13025 | lb(i1)=7 | |
13026 | e(i1)=dm | |
13027 | lb(i2)=27 | |
13028 | e(i2)=arho | |
13029 | go to 40 | |
13030 | ENDIF | |
13031 | if(X2.gt.0.33.and.X2.le.0.67)then | |
13032 | lb(i1)=8 | |
13033 | e(i1)=dm | |
13034 | lb(i2)=26 | |
13035 | e(i2)=arho | |
13036 | go to 40 | |
13037 | endif | |
13038 | if(X2.gt.0.67)then | |
13039 | lb(i1)=9 | |
13040 | e(i1)=dm | |
13041 | lb(i2)=25 | |
13042 | e(i2)=arho | |
13043 | go to 40 | |
13044 | endif | |
13045 | else | |
13046 | ii = i2 | |
13047 | IF(X2.LE.0.33)THEN | |
13048 | lb(i2)=7 | |
13049 | e(i2)=dm | |
13050 | lb(i1)=27 | |
13051 | e(i1)=arho | |
13052 | go to 40 | |
13053 | ENDIF | |
13054 | if(X2.gt.0.33.and.X2.le.0.67)then | |
13055 | lb(i2)=8 | |
13056 | e(i2)=dm | |
13057 | lb(i1)=26 | |
13058 | e(i1)=arho | |
13059 | go to 40 | |
13060 | endif | |
13061 | if(X2.gt.0.67)then | |
13062 | lb(i2)=9 | |
13063 | e(i2)=dm | |
13064 | lb(i1)=25 | |
13065 | e(i1)=arho | |
13066 | go to 40 | |
13067 | endif | |
13068 | endif | |
13069 | endif | |
13070 | *(5) for pi(-)+n-->D(-)+rho(0) OR D(0)+rho(-) | |
13071 | if( ((lb(i1).eq.2.and.lb(i2).eq.3). | |
13072 | & or.(lb(i1).eq.3.and.lb(i2).eq.2)) | |
13073 | & .OR. ((lb(i1).eq.-2.and.lb(i2).eq.5). | |
13074 | & or.(lb(i1).eq.5.and.lb(i2).eq.-2)) )then | |
13075 | if(iabs(lb(i1)).eq.2)then | |
13076 | ii = i1 | |
13077 | IF(X2.LE.0.5)THEN | |
13078 | lb(i1)=6 | |
13079 | e(i1)=dm | |
13080 | lb(i2)=26 | |
13081 | e(i2)=arho | |
13082 | go to 40 | |
13083 | ELSE | |
13084 | lb(i1)=7 | |
13085 | e(i1)=dm | |
13086 | lb(i2)=25 | |
13087 | e(i2)=arho | |
13088 | go to 40 | |
13089 | endif | |
13090 | else | |
13091 | ii = i2 | |
13092 | IF(X2.LE.0.5)THEN | |
13093 | lb(i2)=6 | |
13094 | e(i2)=dm | |
13095 | lb(i1)=26 | |
13096 | e(i1)=arho | |
13097 | go to 40 | |
13098 | ELSE | |
13099 | lb(i2)=7 | |
13100 | e(i2)=dm | |
13101 | lb(i1)=25 | |
13102 | e(i1)=arho | |
13103 | go to 40 | |
13104 | endif | |
13105 | endif | |
13106 | ENDIF | |
13107 | *(6) for pi(0)+n-->D(0)+rho(0), D(-)+rho(+) and D(+)+rho(-) | |
13108 | if((iabs(lb(i1)).eq.2.and.lb(i2).eq.4). | |
13109 | & or.(lb(i1).eq.4.and.iabs(lb(i2)).eq.2))then | |
13110 | if(iabs(lb(i1)).eq.2)then | |
13111 | ii = i1 | |
13112 | IF(X2.LE.0.33)THEN | |
13113 | lb(i1)=7 | |
13114 | e(i1)=dm | |
13115 | lb(i2)=26 | |
13116 | e(i2)=arho | |
13117 | go to 40 | |
13118 | endif | |
13119 | if(x2.gt.0.33.and.x2.le.0.67)then | |
13120 | lb(i1)=6 | |
13121 | e(i1)=dm | |
13122 | lb(i2)=27 | |
13123 | e(i2)=arho | |
13124 | go to 40 | |
13125 | endif | |
13126 | if(x2.gt.0.67)then | |
13127 | lb(i1)=8 | |
13128 | e(i1)=dm | |
13129 | lb(i2)=25 | |
13130 | e(i2)=arho | |
13131 | endif | |
13132 | else | |
13133 | ii = i2 | |
13134 | IF(X2.LE.0.33)THEN | |
13135 | lb(i2)=7 | |
13136 | e(i2)=dm | |
13137 | lb(i1)=26 | |
13138 | e(i1)=arho | |
13139 | go to 40 | |
13140 | endif | |
13141 | if(x2.le.0.67.and.x2.gt.0.33)then | |
13142 | lb(i2)=6 | |
13143 | e(i2)=dm | |
13144 | lb(i1)=27 | |
13145 | e(i1)=arho | |
13146 | go to 40 | |
13147 | endif | |
13148 | if(x2.gt.0.67)then | |
13149 | lb(i2)=8 | |
13150 | e(i2)=dm | |
13151 | lb(i1)=25 | |
13152 | e(i1)=arho | |
13153 | endif | |
13154 | endif | |
13155 | endif | |
13156 | Endif | |
13157 | if(iblock.eq.79)then | |
13158 | aomega=0.782 | |
13159 | * GENERATE THE DELTA MASS | |
13160 | dmax=srt-0.782-0.02 | |
13161 | dm=rmass(dmax,iseed) | |
13162 | * pion+baryon-->omega+delta | |
13163 | *(1) for pi(+)+p-->D(++)+omega(0) | |
13164 | if( ((lb(i1).eq.1.and.lb(i2).eq.5). | |
13165 | & or.(lb(i1).eq.5.and.lb(i2).eq.1)) | |
13166 | & .OR.((lb(i1).eq.-1.and.lb(i2).eq.3). | |
13167 | & or.(lb(i1).eq.3.and.lb(i2).eq.-1)) )then | |
13168 | if(iabs(lb(i1)).eq.1)then | |
13169 | ii = i1 | |
13170 | lb(i1)=9 | |
13171 | e(i1)=dm | |
13172 | lb(i2)=28 | |
13173 | e(i2)=aomega | |
13174 | go to 40 | |
13175 | else | |
13176 | ii = i2 | |
13177 | lb(i2)=9 | |
13178 | e(i2)=dm | |
13179 | lb(i1)=28 | |
13180 | e(i1)=aomega | |
13181 | go to 40 | |
13182 | endif | |
13183 | endif | |
13184 | *(2) for pi(-)+p-->D(0)+omega(0) | |
13185 | if( ((lb(i1).eq.1.and.lb(i2).eq.3). | |
13186 | & or.(lb(i1).eq.3.and.lb(i2).eq.1)) | |
13187 | & .OR. ((lb(i1).eq.-1.and.lb(i2).eq.5). | |
13188 | & or.(lb(i1).eq.5.and.lb(i2).eq.-1)) )then | |
13189 | if(iabs(lb(i1)).eq.1)then | |
13190 | ii = i1 | |
13191 | lb(i1)=7 | |
13192 | e(i1)=dm | |
13193 | lb(i2)=28 | |
13194 | e(i2)=aomega | |
13195 | go to 40 | |
13196 | else | |
13197 | ii = i2 | |
13198 | lb(i2)=7 | |
13199 | e(i2)=dm | |
13200 | lb(i1)=28 | |
13201 | e(i1)=aomega | |
13202 | go to 40 | |
13203 | endif | |
13204 | endif | |
13205 | *(3) for pi(+)+n-->D(+)+omega(0) | |
13206 | if( ((lb(i1).eq.2.and.lb(i2).eq.5). | |
13207 | & or.(lb(i1).eq.5.and.lb(i2).eq.2)) | |
13208 | & .OR. ((lb(i1).eq.-2.and.lb(i2).eq.3). | |
13209 | & or.(lb(i1).eq.3.and.lb(i2).eq.-2)) )then | |
13210 | if(iabs(lb(i1)).eq.2)then | |
13211 | ii = i1 | |
13212 | lb(i1)=8 | |
13213 | e(i1)=dm | |
13214 | lb(i2)=28 | |
13215 | e(i2)=aomega | |
13216 | go to 40 | |
13217 | else | |
13218 | ii = i2 | |
13219 | lb(i2)=8 | |
13220 | e(i2)=dm | |
13221 | lb(i1)=28 | |
13222 | e(i1)=aomega | |
13223 | go to 40 | |
13224 | endif | |
13225 | endif | |
13226 | *(4) for pi(0)+p-->D(+)+omega(0) | |
13227 | if((iabs(lb(i1)).eq.1.and.lb(i2).eq.4). | |
13228 | & or.(lb(i1).eq.4.and.iabs(lb(i2)).eq.1))then | |
13229 | if(iabs(lb(i1)).eq.1)then | |
13230 | ii = i1 | |
13231 | lb(i1)=8 | |
13232 | e(i1)=dm | |
13233 | lb(i2)=28 | |
13234 | e(i2)=aomega | |
13235 | go to 40 | |
13236 | else | |
13237 | ii = i2 | |
13238 | lb(i2)=8 | |
13239 | e(i2)=dm | |
13240 | lb(i1)=28 | |
13241 | e(i1)=aomega | |
13242 | go to 40 | |
13243 | endif | |
13244 | endif | |
13245 | *(5) for pi(-)+n-->D(-)+omega(0) | |
13246 | if( ((lb(i1).eq.2.and.lb(i2).eq.3). | |
13247 | & or.(lb(i1).eq.3.and.lb(i2).eq.2)) | |
13248 | & .OR. ((lb(i1).eq.-2.and.lb(i2).eq.5). | |
13249 | & or.(lb(i1).eq.5.and.lb(i2).eq.-2)) )then | |
13250 | if(iabs(lb(i1)).eq.2)then | |
13251 | ii = i1 | |
13252 | lb(i1)=6 | |
13253 | e(i1)=dm | |
13254 | lb(i2)=28 | |
13255 | e(i2)=aomega | |
13256 | go to 40 | |
13257 | ELSE | |
13258 | ii = i2 | |
13259 | lb(i2)=6 | |
13260 | e(i2)=dm | |
13261 | lb(i1)=28 | |
13262 | e(i1)=aomega | |
13263 | endif | |
13264 | ENDIF | |
13265 | *(6) for pi(0)+n-->D(0)+omega(0) | |
13266 | if((iabs(lb(i1)).eq.2.and.lb(i2).eq.4). | |
13267 | & or.(lb(i1).eq.4.and.iabs(lb(i2)).eq.2))then | |
13268 | if(iabs(lb(i1)).eq.2)then | |
13269 | ii = i1 | |
13270 | lb(i1)=7 | |
13271 | e(i1)=dm | |
13272 | lb(i2)=28 | |
13273 | e(i2)=aomega | |
13274 | go to 40 | |
13275 | else | |
13276 | ii = i2 | |
13277 | lb(i2)=7 | |
13278 | e(i2)=dm | |
13279 | lb(i1)=26 | |
13280 | e(i1)=arho | |
13281 | go to 40 | |
13282 | endif | |
13283 | endif | |
13284 | Endif | |
13285 | 40 em1=e(i1) | |
13286 | em2=e(i2) | |
13287 | if(ianti.eq.1 .and. lb(i1).ge.1 .and. lb(i2).ge.1)then | |
13288 | lb(ii) = -lb(ii) | |
13289 | jj = i2 | |
13290 | if(ii .eq. i2)jj = i1 | |
13291 | if(iblock .eq. 77)then | |
13292 | if(lb(jj).eq.3)then | |
13293 | lb(jj) = 5 | |
13294 | elseif(lb(jj).eq.5)then | |
13295 | lb(jj) = 3 | |
13296 | endif | |
13297 | elseif(iblock .eq. 78)then | |
13298 | if(lb(jj).eq.25)then | |
13299 | lb(jj) = 27 | |
13300 | elseif(lb(jj).eq.27)then | |
13301 | lb(jj) = 25 | |
13302 | endif | |
13303 | endif | |
13304 | endif | |
13305 | endif | |
13306 | *----------------------------------------------------------------------- | |
13307 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
13308 | * ENERGY CONSERVATION | |
13309 | 50 PR2 = (SRT**2 - EM1**2 - EM2**2)**2 | |
13310 | 1 - 4.0 * (EM1*EM2)**2 | |
13311 | IF(PR2.LE.0.)PR2=0.00000001 | |
13312 | PR=SQRT(PR2)/(2.*SRT) | |
13313 | * here we use the same transverse momentum distribution as for | |
13314 | * pp collisions, it might be necessary to use a different distribution | |
13315 | ||
13316 | clin-10/25/02 get rid of argument usage mismatch in PTR(): | |
13317 | xptr=0.33*pr | |
13318 | c cc1=ptr(0.33*pr,iseed) | |
13319 | cc1=ptr(xptr,iseed) | |
13320 | clin-10/25/02-end | |
13321 | ||
13322 | c1=sqrt(pr**2-cc1**2)/pr | |
13323 | * C1 = 1.0 - 2.0 * RANART(NSEED) | |
13324 | T1 = 2.0 * PI * RANART(NSEED) | |
13325 | S1 = SQRT( 1.0 - C1**2 ) | |
13326 | CT1 = COS(T1) | |
13327 | ST1 = SIN(T1) | |
13328 | * THE MOMENTUM IN THE CMS IN THE FINAL STATE | |
13329 | PZ = PR * C1 | |
13330 | PX = PR * S1*CT1 | |
13331 | PY = PR * S1*ST1 | |
13332 | * ROTATE IT | |
13333 | CALL ROTATE(PX0,PY0,PZ0,PX,PY,PZ) | |
13334 | RETURN | |
13335 | END | |
13336 | ********************************** | |
13337 | * * | |
13338 | * * | |
13339 | SUBROUTINE CREN(PX,PY,PZ,SRT,I1,I2,IBLOCK) | |
13340 | * PURPOSE: * | |
13341 | * DEALING WITH ETA+N-->L/S+KAON PROCESS * | |
13342 | * NOTE : * | |
13343 | * | |
13344 | * QUANTITIES: * | |
13345 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
13346 | * SRT - SQRT OF S * | |
13347 | * IBLOCK - THE INFORMATION BACK * | |
13348 | * 7 ETA+N-->L/S+KAON | |
13349 | ********************************** | |
13350 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
13351 | 1 AMP=0.93828,AP1=0.13496, | |
13352 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
13353 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974) | |
13354 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
13355 | COMMON /AA/ R(3,MAXSTR) | |
13356 | cc SAVE /AA/ | |
13357 | COMMON /BB/ P(3,MAXSTR) | |
13358 | cc SAVE /BB/ | |
13359 | COMMON /CC/ E(MAXSTR) | |
13360 | cc SAVE /CC/ | |
13361 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
13362 | cc SAVE /EE/ | |
13363 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
13364 | cc SAVE /input1/ | |
13365 | COMMON/RNDF77/NSEED | |
13366 | cc SAVE /RNDF77/ | |
13367 | SAVE | |
13368 | ||
13369 | PX0=PX | |
13370 | PY0=PY | |
13371 | PZ0=PZ | |
13372 | NTAG=0 | |
13373 | IBLOCK=7 | |
13374 | ianti=0 | |
13375 | if(lb(i1).lt.0 .or. lb(i2).lt.0)then | |
13376 | ianti=1 | |
13377 | iblock=-7 | |
13378 | endif | |
13379 | * RELABLE PARTICLES FOR THE PROCESS eta+n-->LAMBDA K OR SIGMA k | |
13380 | * DECIDE LAMBDA OR SIGMA PRODUCTION, AND TO CALCULATE THE NEW | |
13381 | * MOMENTA FOR PARTICLES IN THE FINAL STATE. | |
13382 | KAONC=0 | |
13383 | IF(PNLKA(SRT)/(PNLKA(SRT) | |
13384 | & +PNSKA(SRT)).GT.RANART(NSEED))KAONC=1 | |
13385 | IF(E(I1).LE.0.6)THEN | |
13386 | LB(I1)=23 | |
13387 | E(I1)=AKA | |
13388 | IF(KAONC.EQ.1)THEN | |
13389 | LB(I2)=14 | |
13390 | E(I2)=ALA | |
13391 | ELSE | |
13392 | LB(I2) = 15 + int(3 * RANART(NSEED)) | |
13393 | E(I2)=ASA | |
13394 | ENDIF | |
13395 | if(ianti .eq. 1)then | |
13396 | lb(i1)=21 | |
13397 | lb(i2)=-lb(i2) | |
13398 | endif | |
13399 | ELSE | |
13400 | LB(I2)=23 | |
13401 | E(I2)=AKA | |
13402 | IF(KAONC.EQ.1)THEN | |
13403 | LB(I1)=14 | |
13404 | E(I1)=ALA | |
13405 | ELSE | |
13406 | LB(I1) = 15 + int(3 * RANART(NSEED)) | |
13407 | E(I1)=ASA | |
13408 | ENDIF | |
13409 | if(ianti .eq. 1)then | |
13410 | lb(i2)=21 | |
13411 | lb(i1)=-lb(i1) | |
13412 | endif | |
13413 | ENDIF | |
13414 | EM1=E(I1) | |
13415 | EM2=E(I2) | |
13416 | *----------------------------------------------------------------------- | |
13417 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
13418 | * ENERGY CONSERVATION | |
13419 | PR2 = (SRT**2 - EM1**2 - EM2**2)**2 | |
13420 | 1 - 4.0 * (EM1*EM2)**2 | |
13421 | IF(PR2.LE.0.)PR2=1.e-09 | |
13422 | PR=SQRT(PR2)/(2.*SRT) | |
13423 | C1 = 1.0 - 2.0 * RANART(NSEED) | |
13424 | T1 = 2.0 * PI * RANART(NSEED) | |
13425 | S1 = SQRT( 1.0 - C1**2 ) | |
13426 | CT1 = COS(T1) | |
13427 | ST1 = SIN(T1) | |
13428 | * THE MOMENTUM IN THE CMS IN THE FINAL STATE | |
13429 | PZ = PR * C1 | |
13430 | PX = PR * S1*CT1 | |
13431 | PY = PR * S1*ST1 | |
13432 | * FOR THE ISOTROPIC DISTRIBUTION THERE IS NO NEED TO ROTATE | |
13433 | RETURN | |
13434 | END | |
13435 | ********************************** | |
13436 | * * | |
13437 | * * | |
13438 | c SUBROUTINE Crdir(PX,PY,PZ,SRT,I1,I2) | |
13439 | SUBROUTINE Crdir(PX,PY,PZ,SRT,I1,I2,IBLOCK) | |
13440 | * PURPOSE: * | |
13441 | * DEALING WITH pion+N-->pion+N PROCESS * | |
13442 | * NOTE : * | |
13443 | * | |
13444 | * QUANTITIES: * | |
13445 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
13446 | * SRT - SQRT OF S * | |
13447 | * IBLOCK - THE INFORMATION BACK * | |
13448 | * | |
13449 | ********************************** | |
13450 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
13451 | 1 AMP=0.93828,AP1=0.13496, | |
13452 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
13453 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974) | |
13454 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
13455 | COMMON /AA/ R(3,MAXSTR) | |
13456 | cc SAVE /AA/ | |
13457 | COMMON /BB/ P(3,MAXSTR) | |
13458 | cc SAVE /BB/ | |
13459 | COMMON /CC/ E(MAXSTR) | |
13460 | cc SAVE /CC/ | |
13461 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
13462 | cc SAVE /EE/ | |
13463 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
13464 | cc SAVE /input1/ | |
13465 | COMMON/RNDF77/NSEED | |
13466 | cc SAVE /RNDF77/ | |
13467 | SAVE | |
13468 | ||
13469 | PX0=PX | |
13470 | PY0=PY | |
13471 | PZ0=PZ | |
13472 | IBLOCK=999 | |
13473 | NTAG=0 | |
13474 | EM1=E(I1) | |
13475 | EM2=E(I2) | |
13476 | *----------------------------------------------------------------------- | |
13477 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
13478 | * ENERGY CONSERVATION | |
13479 | PR2 = (SRT**2 - EM1**2 - EM2**2)**2 | |
13480 | 1 - 4.0 * (EM1*EM2)**2 | |
13481 | IF(PR2.LE.0.)PR2=1.e-09 | |
13482 | PR=SQRT(PR2)/(2.*SRT) | |
13483 | ||
13484 | clin-10/25/02 get rid of argument usage mismatch in PTR(): | |
13485 | xptr=0.33*pr | |
13486 | c cc1=ptr(0.33*pr,iseed) | |
13487 | cc1=ptr(xptr,iseed) | |
13488 | clin-10/25/02-end | |
13489 | ||
13490 | c1=sqrt(pr**2-cc1**2)/pr | |
13491 | T1 = 2.0 * PI * RANART(NSEED) | |
13492 | S1 = SQRT( 1.0 - C1**2 ) | |
13493 | CT1 = COS(T1) | |
13494 | ST1 = SIN(T1) | |
13495 | * THE MOMENTUM IN THE CMS IN THE FINAL STATE | |
13496 | PZ = PR * C1 | |
13497 | PX = PR * S1*CT1 | |
13498 | PY = PR * S1*ST1 | |
13499 | * ROTATE the momentum | |
13500 | call rotate(px0,py0,pz0,px,py,pz) | |
13501 | RETURN | |
13502 | END | |
13503 | ********************************** | |
13504 | * * | |
13505 | * * | |
13506 | SUBROUTINE CRPD(PX,PY,PZ,SRT,I1,I2, | |
13507 | & IBLOCK,xkaon0,xkaon,Xphi,xphin) | |
13508 | * PURPOSE: * | |
13509 | * DEALING WITH PION+D(N*)-->PION +N OR | |
13510 | * L/S+KAON PROCESS * | |
13511 | * NOTE : * | |
13512 | * | |
13513 | * QUANTITIES: * | |
13514 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
13515 | * SRT - SQRT OF S * | |
13516 | * IBLOCK - THE INFORMATION BACK * | |
13517 | * 7 PION+D(N*)-->L/S+KAON | |
13518 | * iblock - 80 pion+D(N*)-->pion+N | |
13519 | * iblock - 81 RHO+D(N*)-->PION+N | |
13520 | * iblock - 82 OMEGA+D(N*)-->PION+N | |
13521 | * 222 PION+D --> PHI | |
13522 | ********************************** | |
13523 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
13524 | 1 AMP=0.93828,AP1=0.13496,APHI=1.020, | |
13525 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
13526 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974) | |
13527 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
13528 | COMMON /AA/ R(3,MAXSTR) | |
13529 | cc SAVE /AA/ | |
13530 | COMMON /BB/ P(3,MAXSTR) | |
13531 | cc SAVE /BB/ | |
13532 | COMMON /CC/ E(MAXSTR) | |
13533 | cc SAVE /CC/ | |
13534 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
13535 | cc SAVE /EE/ | |
13536 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
13537 | cc SAVE /input1/ | |
13538 | COMMON/RNDF77/NSEED | |
13539 | cc SAVE /RNDF77/ | |
13540 | SAVE | |
13541 | ||
13542 | PX0=PX | |
13543 | PY0=PY | |
13544 | PZ0=PZ | |
13545 | IBLOCK=1 | |
13546 | x1=RANART(NSEED) | |
13547 | ianti=0 | |
13548 | if(lb(i1).lt.0 .or. lb(i2).lt.0)ianti=1 | |
13549 | if(xkaon0/(xkaon+Xphi).ge.x1)then | |
13550 | * kaon production | |
13551 | *----------------------------------------------------------------------- | |
13552 | IBLOCK=7 | |
13553 | if(ianti .eq. 1)iblock=-7 | |
13554 | NTAG=0 | |
13555 | * RELABLE PARTICLES FOR THE PROCESS PION+n-->LAMBDA K OR SIGMA k | |
13556 | * DECIDE LAMBDA OR SIGMA PRODUCTION, AND TO CALCULATE THE NEW | |
13557 | * MOMENTA FOR PARTICLES IN THE FINAL STATE. | |
13558 | KAONC=0 | |
13559 | IF(PNLKA(SRT)/(PNLKA(SRT) | |
13560 | & +PNSKA(SRT)).GT.RANART(NSEED))KAONC=1 | |
13561 | clin-8/17/00 & +PNSKA(SRT)).GT.RANART(NSEED))KAONC=1 | |
13562 | IF(E(I1).LE.0.2)THEN | |
13563 | LB(I1)=23 | |
13564 | E(I1)=AKA | |
13565 | IF(KAONC.EQ.1)THEN | |
13566 | LB(I2)=14 | |
13567 | E(I2)=ALA | |
13568 | ELSE | |
13569 | LB(I2) = 15 + int(3 * RANART(NSEED)) | |
13570 | E(I2)=ASA | |
13571 | ENDIF | |
13572 | if(ianti .eq. 1)then | |
13573 | lb(i1)=21 | |
13574 | lb(i2)=-lb(i2) | |
13575 | endif | |
13576 | ELSE | |
13577 | LB(I2)=23 | |
13578 | E(I2)=AKA | |
13579 | IF(KAONC.EQ.1)THEN | |
13580 | LB(I1)=14 | |
13581 | E(I1)=ALA | |
13582 | ELSE | |
13583 | LB(I1) = 15 + int(3 * RANART(NSEED)) | |
13584 | E(I1)=ASA | |
13585 | ENDIF | |
13586 | if(ianti .eq. 1)then | |
13587 | lb(i2)=21 | |
13588 | lb(i1)=-lb(i1) | |
13589 | endif | |
13590 | ENDIF | |
13591 | EM1=E(I1) | |
13592 | EM2=E(I2) | |
13593 | go to 50 | |
13594 | * to gererate the momentum for the kaon and L/S | |
13595 | c | |
13596 | c* Phi production | |
13597 | elseif(Xphi/(xkaon+Xphi).ge.x1)then | |
13598 | iblock=222 | |
13599 | if(xphin/Xphi .ge. RANART(NSEED))then | |
13600 | LB(I1)= 1+int(2*RANART(NSEED)) | |
13601 | E(I1)=AMN | |
13602 | else | |
13603 | LB(I1)= 6+int(4*RANART(NSEED)) | |
13604 | E(I1)=AM0 | |
13605 | endif | |
13606 | c !! at present only baryon | |
13607 | if(ianti .eq. 1)lb(i1)=-lb(i1) | |
13608 | LB(I2)= 29 | |
13609 | E(I2)=APHI | |
13610 | EM1=E(I1) | |
13611 | EM2=E(I2) | |
13612 | go to 50 | |
13613 | else | |
13614 | * PION REABSORPTION HAS HAPPENED | |
13615 | X2=RANART(NSEED) | |
13616 | IBLOCK=80 | |
13617 | ntag=0 | |
13618 | * Relable particles, I1 is assigned to the nucleon | |
13619 | * and I2 is assigned to the pion | |
13620 | * for the reverse of the following process | |
13621 | *(1) for D(+)+P(+)-->p+pion(+) | |
13622 | if( ((lb(i1).eq.8.and.lb(i2).eq.5). | |
13623 | & or.(lb(i1).eq.5.and.lb(i2).eq.8)) | |
13624 | & .OR.((lb(i1).eq.-8.and.lb(i2).eq.3). | |
13625 | & or.(lb(i1).eq.3.and.lb(i2).eq.-8)) )then | |
13626 | if(iabs(lb(i1)).eq.8)then | |
13627 | ii = i1 | |
13628 | lb(i1)=1 | |
13629 | e(i1)=amn | |
13630 | lb(i2)=5 | |
13631 | e(i2)=ap1 | |
13632 | go to 40 | |
13633 | else | |
13634 | ii = i2 | |
13635 | lb(i2)=1 | |
13636 | e(i2)=amn | |
13637 | lb(i1)=5 | |
13638 | e(i1)=ap1 | |
13639 | go to 40 | |
13640 | endif | |
13641 | endif | |
13642 | c | |
13643 | *(2) for D(0)+P(0)-->n+pi(0) or p+pi(-) | |
13644 | if((iabs(lb(i1)).eq.7.and.lb(i2).eq.4). | |
13645 | & or.(lb(i1).eq.4.and.iabs(lb(i2)).eq.7))then | |
13646 | if(iabs(lb(i1)).eq.7)then | |
13647 | ii = i1 | |
13648 | IF(X2.LE.0.5)THEN | |
13649 | lb(i1)=2 | |
13650 | e(i1)=amn | |
13651 | lb(i2)=4 | |
13652 | e(i2)=ap1 | |
13653 | go to 40 | |
13654 | Else | |
13655 | lb(i1)=1 | |
13656 | e(i1)=amn | |
13657 | lb(i2)=3 | |
13658 | e(i2)=ap1 | |
13659 | go to 40 | |
13660 | endif | |
13661 | else | |
13662 | ii = i2 | |
13663 | IF(X2.LE.0.5)THEN | |
13664 | lb(i2)=2 | |
13665 | e(i2)=amn | |
13666 | lb(i1)=4 | |
13667 | e(i1)=ap1 | |
13668 | go to 40 | |
13669 | Else | |
13670 | lb(i2)=1 | |
13671 | e(i2)=amn | |
13672 | lb(i1)=3 | |
13673 | e(i1)=ap1 | |
13674 | go to 40 | |
13675 | endif | |
13676 | endif | |
13677 | endif | |
13678 | *(3) for D(+)+Pi(0)-->pi(+)+n or pi(0)+p | |
13679 | if((iabs(lb(i1)).eq.8.and.lb(i2).eq.4). | |
13680 | & or.(lb(i1).eq.4.and.iabs(lb(i2)).eq.8))then | |
13681 | if(iabs(lb(i1)).eq.8)then | |
13682 | ii = i1 | |
13683 | IF(X2.LE.0.5)THEN | |
13684 | lb(i1)=2 | |
13685 | e(i1)=amn | |
13686 | lb(i2)=5 | |
13687 | e(i2)=ap1 | |
13688 | go to 40 | |
13689 | Else | |
13690 | lb(i1)=1 | |
13691 | e(i1)=amn | |
13692 | lb(i2)=4 | |
13693 | e(i2)=ap1 | |
13694 | go to 40 | |
13695 | endif | |
13696 | else | |
13697 | ii = i2 | |
13698 | IF(X2.LE.0.5)THEN | |
13699 | lb(i2)=2 | |
13700 | e(i2)=amn | |
13701 | lb(i1)=5 | |
13702 | e(i1)=ap1 | |
13703 | go to 40 | |
13704 | Else | |
13705 | lb(i2)=1 | |
13706 | e(i2)=amn | |
13707 | lb(i1)=4 | |
13708 | e(i1)=ap1 | |
13709 | go to 40 | |
13710 | endif | |
13711 | endif | |
13712 | endif | |
13713 | *(4) for D(-)+Pi(0)-->n+pi(-) | |
13714 | if((iabs(lb(i1)).eq.6.and.lb(i2).eq.4). | |
13715 | & or.(lb(i1).eq.4.and.iabs(lb(i2)).eq.6))then | |
13716 | if(iabs(lb(i1)).eq.6)then | |
13717 | ii = i1 | |
13718 | lb(i1)=2 | |
13719 | e(i1)=amn | |
13720 | lb(i2)=3 | |
13721 | e(i2)=ap1 | |
13722 | go to 40 | |
13723 | else | |
13724 | ii = i2 | |
13725 | lb(i2)=2 | |
13726 | e(i2)=amn | |
13727 | lb(i1)=3 | |
13728 | e(i1)=ap1 | |
13729 | go to 40 | |
13730 | ENDIF | |
13731 | endif | |
13732 | *(5) for D(+)+Pi(-)-->pi(0)+n or pi(-)+p | |
13733 | if( ((lb(i1).eq.8.and.lb(i2).eq.3). | |
13734 | & or.(lb(i1).eq.3.and.lb(i2).eq.8)) | |
13735 | & .OR.((lb(i1).eq.-8.and.lb(i2).eq.5). | |
13736 | & or.(lb(i1).eq.5.and.lb(i2).eq.-8)) )then | |
13737 | if(iabs(lb(i1)).eq.8)then | |
13738 | ii = i1 | |
13739 | IF(X2.LE.0.5)THEN | |
13740 | lb(i1)=2 | |
13741 | e(i1)=amn | |
13742 | lb(i2)=4 | |
13743 | e(i2)=ap1 | |
13744 | go to 40 | |
13745 | ELSE | |
13746 | lb(i1)=1 | |
13747 | e(i1)=amn | |
13748 | lb(i2)=3 | |
13749 | e(i2)=ap1 | |
13750 | go to 40 | |
13751 | endif | |
13752 | else | |
13753 | ii = i2 | |
13754 | IF(X2.LE.0.5)THEN | |
13755 | lb(i2)=2 | |
13756 | e(i2)=amn | |
13757 | lb(i1)=4 | |
13758 | e(i1)=ap1 | |
13759 | go to 40 | |
13760 | ELSE | |
13761 | lb(i2)=1 | |
13762 | e(i2)=amn | |
13763 | lb(i1)=3 | |
13764 | e(i1)=ap1 | |
13765 | go to 40 | |
13766 | endif | |
13767 | endif | |
13768 | ENDIF | |
13769 | *(6) D(0)+P(+)-->n+pi(+) or p+pi(0) | |
13770 | if( ((lb(i1).eq.7.and.lb(i2).eq.5). | |
13771 | & or.(lb(i1).eq.5.and.lb(i2).eq.7)) | |
13772 | & .OR.((lb(i1).eq.-7.and.lb(i2).eq.3). | |
13773 | & or.(lb(i1).eq.3.and.lb(i2).eq.-7)) )then | |
13774 | if(iabs(lb(i1)).eq.7)then | |
13775 | ii = i1 | |
13776 | IF(X2.LE.0.5)THEN | |
13777 | lb(i1)=2 | |
13778 | e(i1)=amn | |
13779 | lb(i2)=5 | |
13780 | e(i2)=ap1 | |
13781 | go to 40 | |
13782 | else | |
13783 | lb(i1)=1 | |
13784 | e(i1)=amn | |
13785 | lb(i2)=4 | |
13786 | e(i2)=ap1 | |
13787 | go to 40 | |
13788 | endif | |
13789 | else | |
13790 | ii = i2 | |
13791 | IF(X2.LE.0.5)THEN | |
13792 | lb(i2)=2 | |
13793 | e(i2)=amn | |
13794 | lb(i1)=5 | |
13795 | e(i1)=ap1 | |
13796 | go to 40 | |
13797 | Else | |
13798 | lb(i2)=1 | |
13799 | e(i2)=amn | |
13800 | lb(i1)=4 | |
13801 | e(i1)=ap1 | |
13802 | go to 40 | |
13803 | endif | |
13804 | endif | |
13805 | ENDIF | |
13806 | *(7) for D(0)+Pi(-)-->n+pi(-) | |
13807 | if( ((lb(i1).eq.7.and.lb(i2).eq.3). | |
13808 | & or.(lb(i1).eq.3.and.lb(i2).eq.7)) | |
13809 | & .OR.((lb(i1).eq.-7.and.lb(i2).eq.5). | |
13810 | & or.(lb(i1).eq.5.and.lb(i2).eq.-7)) )then | |
13811 | if(iabs(lb(i1)).eq.7)then | |
13812 | ii = i1 | |
13813 | lb(i1)=2 | |
13814 | e(i1)=amn | |
13815 | lb(i2)=3 | |
13816 | e(i2)=ap1 | |
13817 | go to 40 | |
13818 | else | |
13819 | ii = i2 | |
13820 | lb(i2)=2 | |
13821 | e(i2)=amn | |
13822 | lb(i1)=3 | |
13823 | e(i1)=ap1 | |
13824 | go to 40 | |
13825 | ENDIF | |
13826 | endif | |
13827 | *(8) D(-)+P(+)-->n+pi(0) or p+pi(-) | |
13828 | if( ((lb(i1).eq.6.and.lb(i2).eq.5) | |
13829 | & .or.(lb(i1).eq.5.and.lb(i2).eq.6)) | |
13830 | & .OR.((lb(i1).eq.-6.and.lb(i2).eq.3). | |
13831 | & or.(lb(i1).eq.3.and.lb(i2).eq.-6)) )then | |
13832 | if(iabs(lb(i1)).eq.6)then | |
13833 | ii = i1 | |
13834 | IF(X2.LE.0.5)THEN | |
13835 | lb(i1)=2 | |
13836 | e(i1)=amn | |
13837 | lb(i2)=4 | |
13838 | e(i2)=ap1 | |
13839 | go to 40 | |
13840 | else | |
13841 | lb(i1)=1 | |
13842 | e(i1)=amn | |
13843 | lb(i2)=3 | |
13844 | e(i2)=ap1 | |
13845 | go to 40 | |
13846 | endif | |
13847 | else | |
13848 | ii = i2 | |
13849 | IF(X2.LE.0.5)THEN | |
13850 | lb(i2)=2 | |
13851 | e(i2)=amn | |
13852 | lb(i1)=4 | |
13853 | e(i1)=ap1 | |
13854 | go to 40 | |
13855 | Else | |
13856 | lb(i2)=1 | |
13857 | e(i2)=amn | |
13858 | lb(i1)=3 | |
13859 | e(i1)=ap1 | |
13860 | go to 40 | |
13861 | endif | |
13862 | endif | |
13863 | ENDIF | |
13864 | c | |
13865 | *(9) D(++)+P(-)-->n+pi(+) or p+pi(0) | |
13866 | if( ((lb(i1).eq.9.and.lb(i2).eq.3) | |
13867 | & .or.(lb(i1).eq.3.and.lb(i2).eq.9)) | |
13868 | & .OR. ((lb(i1).eq.-9.and.lb(i2).eq.5) | |
13869 | & .or.(lb(i1).eq.5.and.lb(i2).eq.-9)) )then | |
13870 | if(iabs(lb(i1)).eq.9)then | |
13871 | ii = i1 | |
13872 | IF(X2.LE.0.5)THEN | |
13873 | lb(i1)=2 | |
13874 | e(i1)=amn | |
13875 | lb(i2)=5 | |
13876 | e(i2)=ap1 | |
13877 | go to 40 | |
13878 | else | |
13879 | lb(i1)=1 | |
13880 | e(i1)=amn | |
13881 | lb(i2)=4 | |
13882 | e(i2)=ap1 | |
13883 | go to 40 | |
13884 | endif | |
13885 | else | |
13886 | ii = i2 | |
13887 | IF(X2.LE.0.5)THEN | |
13888 | lb(i2)=2 | |
13889 | e(i2)=amn | |
13890 | lb(i1)=5 | |
13891 | e(i1)=ap1 | |
13892 | go to 40 | |
13893 | Else | |
13894 | lb(i2)=1 | |
13895 | e(i2)=amn | |
13896 | lb(i1)=4 | |
13897 | e(i1)=ap1 | |
13898 | go to 40 | |
13899 | endif | |
13900 | endif | |
13901 | ENDIF | |
13902 | *(10) for D(++)+Pi(0)-->p+pi(+) | |
13903 | if((iabs(lb(i1)).eq.9.and.lb(i2).eq.4) | |
13904 | & .or.(lb(i1).eq.4.and.iabs(lb(i2)).eq.9))then | |
13905 | if(iabs(lb(i1)).eq.9)then | |
13906 | ii = i1 | |
13907 | lb(i1)=1 | |
13908 | e(i1)=amn | |
13909 | lb(i2)=5 | |
13910 | e(i2)=ap1 | |
13911 | go to 40 | |
13912 | else | |
13913 | ii = i2 | |
13914 | lb(i2)=1 | |
13915 | e(i2)=amn | |
13916 | lb(i1)=5 | |
13917 | e(i1)=ap1 | |
13918 | go to 40 | |
13919 | ENDIF | |
13920 | endif | |
13921 | *(11) for N*(1440)(+)or N*(1535)(+)+P(+)-->p+pion(+) | |
13922 | if( ((lb(i1).eq.11.and.lb(i2).eq.5). | |
13923 | & or.(lb(i1).eq.5.and.lb(i2).eq.11). | |
13924 | & or.(lb(i1).eq.13.and.lb(i2).eq.5). | |
13925 | & or.(lb(i1).eq.5.and.lb(i2).eq.13)) | |
13926 | & .OR.((lb(i1).eq.-11.and.lb(i2).eq.3). | |
13927 | & or.(lb(i1).eq.3.and.lb(i2).eq.-11). | |
13928 | & or.(lb(i1).eq.-13.and.lb(i2).eq.3). | |
13929 | & or.(lb(i1).eq.3.and.lb(i2).eq.-13)) )then | |
13930 | if(iabs(lb(i1)).eq.11.or.iabs(lb(i1)).eq.13)then | |
13931 | ii = i1 | |
13932 | lb(i1)=1 | |
13933 | e(i1)=amn | |
13934 | lb(i2)=5 | |
13935 | e(i2)=ap1 | |
13936 | go to 40 | |
13937 | else | |
13938 | ii = i2 | |
13939 | lb(i2)=1 | |
13940 | e(i2)=amn | |
13941 | lb(i1)=5 | |
13942 | e(i1)=ap1 | |
13943 | go to 40 | |
13944 | endif | |
13945 | endif | |
13946 | *(12) for N*(1440) or N*(1535)(0)+P(0)-->n+pi(0) or p+pi(-) | |
13947 | if((iabs(lb(i1)).eq.10.and.lb(i2).eq.4). | |
13948 | & or.(lb(i1).eq.4.and.iabs(lb(i2)).eq.10). | |
13949 | & or.(lb(i1).eq.4.and.iabs(lb(i2)).eq.12). | |
13950 | & or.(lb(i2).eq.4.and.iabs(lb(i1)).eq.12))then | |
13951 | if(iabs(lb(i1)).eq.10.or.iabs(lb(i1)).eq.12)then | |
13952 | ii = i1 | |
13953 | IF(X2.LE.0.5)THEN | |
13954 | lb(i1)=2 | |
13955 | e(i1)=amn | |
13956 | lb(i2)=4 | |
13957 | e(i2)=ap1 | |
13958 | go to 40 | |
13959 | Else | |
13960 | lb(i1)=1 | |
13961 | e(i1)=amn | |
13962 | lb(i2)=3 | |
13963 | e(i2)=ap1 | |
13964 | go to 40 | |
13965 | endif | |
13966 | else | |
13967 | ii = i2 | |
13968 | IF(X2.LE.0.5)THEN | |
13969 | lb(i2)=2 | |
13970 | e(i2)=amn | |
13971 | lb(i1)=4 | |
13972 | e(i1)=ap1 | |
13973 | go to 40 | |
13974 | Else | |
13975 | lb(i2)=1 | |
13976 | e(i2)=amn | |
13977 | lb(i1)=3 | |
13978 | e(i1)=ap1 | |
13979 | go to 40 | |
13980 | endif | |
13981 | endif | |
13982 | endif | |
13983 | *(13) for N*(1440) or N*(1535)(+)+Pi(0)-->pi(+)+n or pi(0)+p | |
13984 | if((iabs(lb(i1)).eq.11.and.lb(i2).eq.4). | |
13985 | & or.(lb(i1).eq.4.and.iabs(lb(i2)).eq.11). | |
13986 | & or.(lb(i1).eq.4.and.iabs(lb(i2)).eq.13). | |
13987 | & or.(lb(i2).eq.4.and.iabs(lb(i1)).eq.13))then | |
13988 | if(iabs(lb(i1)).eq.11.or.iabs(lb(i1)).eq.13)then | |
13989 | ii = i1 | |
13990 | IF(X2.LE.0.5)THEN | |
13991 | lb(i1)=2 | |
13992 | e(i1)=amn | |
13993 | lb(i2)=5 | |
13994 | e(i2)=ap1 | |
13995 | go to 40 | |
13996 | Else | |
13997 | lb(i1)=1 | |
13998 | e(i1)=amn | |
13999 | lb(i2)=4 | |
14000 | e(i2)=ap1 | |
14001 | go to 40 | |
14002 | endif | |
14003 | else | |
14004 | ii = i2 | |
14005 | IF(X2.LE.0.5)THEN | |
14006 | lb(i2)=2 | |
14007 | e(i2)=amn | |
14008 | lb(i1)=5 | |
14009 | e(i1)=ap1 | |
14010 | go to 40 | |
14011 | Else | |
14012 | lb(i2)=1 | |
14013 | e(i2)=amn | |
14014 | lb(i1)=4 | |
14015 | e(i1)=ap1 | |
14016 | go to 40 | |
14017 | endif | |
14018 | endif | |
14019 | endif | |
14020 | *(14) for N*(1440) or N*(1535)(+)+Pi(-)-->pi(0)+n or pi(-)+p | |
14021 | if( ((lb(i1).eq.11.and.lb(i2).eq.3). | |
14022 | & or.(lb(i1).eq.3.and.lb(i2).eq.11). | |
14023 | & or.(lb(i1).eq.3.and.lb(i2).eq.13). | |
14024 | & or.(lb(i2).eq.3.and.lb(i1).eq.13)) | |
14025 | & .OR.((lb(i1).eq.-11.and.lb(i2).eq.5). | |
14026 | & or.(lb(i1).eq.5.and.lb(i2).eq.-11). | |
14027 | & or.(lb(i1).eq.5.and.lb(i2).eq.-13). | |
14028 | & or.(lb(i2).eq.5.and.lb(i1).eq.-13)) )then | |
14029 | if(iabs(lb(i1)).eq.11.or.iabs(lb(i1)).eq.13)then | |
14030 | ii = i1 | |
14031 | IF(X2.LE.0.5)THEN | |
14032 | lb(i1)=2 | |
14033 | e(i1)=amn | |
14034 | lb(i2)=4 | |
14035 | e(i2)=ap1 | |
14036 | go to 40 | |
14037 | ELSE | |
14038 | lb(i1)=1 | |
14039 | e(i1)=amn | |
14040 | lb(i2)=3 | |
14041 | e(i2)=ap1 | |
14042 | go to 40 | |
14043 | endif | |
14044 | else | |
14045 | ii = i2 | |
14046 | IF(X2.LE.0.5)THEN | |
14047 | lb(i2)=2 | |
14048 | e(i2)=amn | |
14049 | lb(i1)=4 | |
14050 | e(i1)=ap1 | |
14051 | go to 40 | |
14052 | ELSE | |
14053 | lb(i2)=1 | |
14054 | e(i2)=amn | |
14055 | lb(i1)=3 | |
14056 | e(i1)=ap1 | |
14057 | go to 40 | |
14058 | endif | |
14059 | endif | |
14060 | ENDIF | |
14061 | *(15) N*(1440) or N*(1535)(0)+P(+)-->n+pi(+) or p+pi(0) | |
14062 | if( ((lb(i1).eq.10.and.lb(i2).eq.5). | |
14063 | & or.(lb(i1).eq.5.and.lb(i2).eq.10). | |
14064 | & or.(lb(i1).eq.12.and.lb(i2).eq.5). | |
14065 | & or.(lb(i1).eq.5.and.lb(i2).eq.12)) | |
14066 | & .OR.((lb(i1).eq.-10.and.lb(i2).eq.3). | |
14067 | & or.(lb(i1).eq.3.and.lb(i2).eq.-10). | |
14068 | & or.(lb(i1).eq.-12.and.lb(i2).eq.3). | |
14069 | & or.(lb(i1).eq.3.and.lb(i2).eq.-12)) )then | |
14070 | if(iabs(lb(i1)).eq.10.or.iabs(lb(i1)).eq.12)then | |
14071 | ii = i1 | |
14072 | IF(X2.LE.0.5)THEN | |
14073 | lb(i1)=2 | |
14074 | e(i1)=amn | |
14075 | lb(i2)=5 | |
14076 | e(i2)=ap1 | |
14077 | go to 40 | |
14078 | else | |
14079 | lb(i1)=1 | |
14080 | e(i1)=amn | |
14081 | lb(i2)=4 | |
14082 | e(i2)=ap1 | |
14083 | go to 40 | |
14084 | endif | |
14085 | else | |
14086 | ii = i2 | |
14087 | IF(X2.LE.0.5)THEN | |
14088 | lb(i2)=2 | |
14089 | e(i2)=amn | |
14090 | lb(i1)=5 | |
14091 | e(i1)=ap1 | |
14092 | go to 40 | |
14093 | Else | |
14094 | lb(i2)=1 | |
14095 | e(i2)=amn | |
14096 | lb(i1)=4 | |
14097 | e(i1)=ap1 | |
14098 | go to 40 | |
14099 | endif | |
14100 | endif | |
14101 | ENDIF | |
14102 | *(16) for N*(1440) or N*(1535) (0)+Pi(-)-->n+pi(-) | |
14103 | if( ((lb(i1).eq.10.and.lb(i2).eq.3). | |
14104 | & or.(lb(i1).eq.3.and.lb(i2).eq.10). | |
14105 | & or.(lb(i1).eq.3.and.lb(i2).eq.12). | |
14106 | & or.(lb(i1).eq.12.and.lb(i2).eq.3)) | |
14107 | & .OR.((lb(i1).eq.-10.and.lb(i2).eq.5). | |
14108 | & or.(lb(i1).eq.5.and.lb(i2).eq.-10). | |
14109 | & or.(lb(i1).eq.5.and.lb(i2).eq.-12). | |
14110 | & or.(lb(i1).eq.-12.and.lb(i2).eq.5)) )then | |
14111 | if(iabs(lb(i1)).eq.10.or.iabs(lb(i1)).eq.12)then | |
14112 | ii = i1 | |
14113 | lb(i1)=2 | |
14114 | e(i1)=amn | |
14115 | lb(i2)=3 | |
14116 | e(i2)=ap1 | |
14117 | go to 40 | |
14118 | else | |
14119 | ii = i2 | |
14120 | lb(i2)=2 | |
14121 | e(i2)=amn | |
14122 | lb(i1)=3 | |
14123 | e(i1)=ap1 | |
14124 | go to 40 | |
14125 | ENDIF | |
14126 | endif | |
14127 | 40 em1=e(i1) | |
14128 | em2=e(i2) | |
14129 | if(ianti.eq.1 .and. lb(i1).ge.1 .and. lb(i2).ge.1)then | |
14130 | lb(ii) = -lb(ii) | |
14131 | jj = i2 | |
14132 | if(ii .eq. i2)jj = i1 | |
14133 | if(lb(jj).eq.3)then | |
14134 | lb(jj) = 5 | |
14135 | elseif(lb(jj).eq.5)then | |
14136 | lb(jj) = 3 | |
14137 | endif | |
14138 | endif | |
14139 | endif | |
14140 | *----------------------------------------------------------------------- | |
14141 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
14142 | * ENERGY CONSERVATION | |
14143 | 50 PR2 = (SRT**2 - EM1**2 - EM2**2)**2 | |
14144 | 1 - 4.0 * (EM1*EM2)**2 | |
14145 | IF(PR2.LE.0.)PR2=1.E-09 | |
14146 | PR=SQRT(PR2)/(2.*SRT) | |
14147 | ||
14148 | clin-10/25/02 get rid of argument usage mismatch in PTR(): | |
14149 | xptr=0.33*pr | |
14150 | c cc1=ptr(0.33*pr,iseed) | |
14151 | cc1=ptr(xptr,iseed) | |
14152 | clin-10/25/02-end | |
14153 | ||
14154 | c1=sqrt(pr**2-cc1**2)/pr | |
14155 | c C1 = 1.0 - 2.0 * RANART(NSEED) | |
14156 | T1 = 2.0 * PI * RANART(NSEED) | |
14157 | S1 = SQRT( 1.0 - C1**2 ) | |
14158 | CT1 = COS(T1) | |
14159 | ST1 = SIN(T1) | |
14160 | PZ = PR * C1 | |
14161 | PX = PR * S1*CT1 | |
14162 | PY = PR * S1*ST1 | |
14163 | * rotate the momentum | |
14164 | call rotate(px0,py0,pz0,px,py,pz) | |
14165 | RETURN | |
14166 | END | |
14167 | ********************************** | |
14168 | * * | |
14169 | * * | |
14170 | SUBROUTINE CRRD(PX,PY,PZ,SRT,I1,I2, | |
14171 | & IBLOCK,xkaon0,xkaon,Xphi,xphin) | |
14172 | * PURPOSE: * | |
14173 | * DEALING WITH rho(omega)+N or D(N*)-->PION +N OR | |
14174 | * L/S+KAON PROCESS * | |
14175 | * NOTE : * | |
14176 | * | |
14177 | * QUANTITIES: * | |
14178 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
14179 | * SRT - SQRT OF S * | |
14180 | * IBLOCK - THE INFORMATION BACK * | |
14181 | * 7 rho(omega)+N or D(N*)-->L/S+KAON | |
14182 | * iblock - 80 pion+D(N*)-->pion+N | |
14183 | * iblock - 81 RHO+D(N*)-->PION+N | |
14184 | * iblock - 82 OMEGA+D(N*)-->PION+N | |
14185 | * iblock - 222 pion+N-->Phi | |
14186 | ********************************** | |
14187 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
14188 | 1 AMP=0.93828,AP1=0.13496, | |
14189 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
14190 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974,APHI=1.02) | |
14191 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
14192 | COMMON /AA/ R(3,MAXSTR) | |
14193 | cc SAVE /AA/ | |
14194 | COMMON /BB/ P(3,MAXSTR) | |
14195 | cc SAVE /BB/ | |
14196 | COMMON /CC/ E(MAXSTR) | |
14197 | cc SAVE /CC/ | |
14198 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
14199 | cc SAVE /EE/ | |
14200 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
14201 | cc SAVE /input1/ | |
14202 | COMMON/RNDF77/NSEED | |
14203 | cc SAVE /RNDF77/ | |
14204 | SAVE | |
14205 | ||
14206 | PX0=PX | |
14207 | PY0=PY | |
14208 | PZ0=PZ | |
14209 | IBLOCK=1 | |
14210 | ianti=0 | |
14211 | if(lb(i1).lt.0 .or. lb(i2).lt.0) ianti=1 | |
14212 | x1=RANART(NSEED) | |
14213 | if(xkaon0/(xkaon+Xphi).ge.x1)then | |
14214 | * kaon production | |
14215 | *----------------------------------------------------------------------- | |
14216 | IBLOCK=7 | |
14217 | if(ianti .eq. 1)iblock=-7 | |
14218 | NTAG=0 | |
14219 | * RELABLE PARTICLES FOR THE PROCESS PION+n-->LAMBDA K OR SIGMA k | |
14220 | * DECIDE LAMBDA OR SIGMA PRODUCTION, AND TO CALCULATE THE NEW | |
14221 | * MOMENTA FOR PARTICLES IN THE FINAL STATE. | |
14222 | KAONC=0 | |
14223 | IF(PNLKA(SRT)/(PNLKA(SRT) | |
14224 | & +PNSKA(SRT)).GT.RANART(NSEED))KAONC=1 | |
14225 | clin-8/17/00 & +PNSKA(SRT)).GT.RANART(NSEED))KAONC=1 | |
14226 | IF(E(I1).LE.0.92)THEN | |
14227 | LB(I1)=23 | |
14228 | E(I1)=AKA | |
14229 | IF(KAONC.EQ.1)THEN | |
14230 | LB(I2)=14 | |
14231 | E(I2)=ALA | |
14232 | ELSE | |
14233 | LB(I2) = 15 + int(3 * RANART(NSEED)) | |
14234 | E(I2)=ASA | |
14235 | ENDIF | |
14236 | if(ianti .eq. 1)then | |
14237 | lb(i1) = 21 | |
14238 | lb(i2) = -lb(i2) | |
14239 | endif | |
14240 | ELSE | |
14241 | LB(I2)=23 | |
14242 | E(I2)=AKA | |
14243 | IF(KAONC.EQ.1)THEN | |
14244 | LB(I1)=14 | |
14245 | E(I1)=ALA | |
14246 | ELSE | |
14247 | LB(I1) = 15 + int(3 * RANART(NSEED)) | |
14248 | E(I1)=ASA | |
14249 | ENDIF | |
14250 | if(ianti .eq. 1)then | |
14251 | lb(i2) = 21 | |
14252 | lb(i1) = -lb(i1) | |
14253 | endif | |
14254 | ENDIF | |
14255 | EM1=E(I1) | |
14256 | EM2=E(I2) | |
14257 | go to 50 | |
14258 | * to gererate the momentum for the kaon and L/S | |
14259 | c | |
14260 | c* Phi production | |
14261 | elseif(Xphi/(xkaon+Xphi).ge.x1)then | |
14262 | iblock=222 | |
14263 | if(xphin/Xphi .ge. RANART(NSEED))then | |
14264 | LB(I1)= 1+int(2*RANART(NSEED)) | |
14265 | E(I1)=AMN | |
14266 | else | |
14267 | LB(I1)= 6+int(4*RANART(NSEED)) | |
14268 | E(I1)=AM0 | |
14269 | endif | |
14270 | c !! at present only baryon | |
14271 | if(ianti .eq. 1)lb(i1)=-lb(i1) | |
14272 | LB(I2)= 29 | |
14273 | E(I2)=APHI | |
14274 | EM1=E(I1) | |
14275 | EM2=E(I2) | |
14276 | go to 50 | |
14277 | else | |
14278 | * rho(omega) REABSORPTION HAS HAPPENED | |
14279 | X2=RANART(NSEED) | |
14280 | IBLOCK=81 | |
14281 | ntag=0 | |
14282 | if(lb(i1).eq.28.or.lb(i2).eq.28)go to 60 | |
14283 | * we treat Rho reabsorption in the following | |
14284 | * Relable particles, I1 is assigned to the Delta | |
14285 | * and I2 is assigned to the meson | |
14286 | * for the reverse of the following process | |
14287 | *(1) for D(+)+rho(+)-->p+pion(+) | |
14288 | if( ((lb(i1).eq.8.and.lb(i2).eq.27). | |
14289 | & or.(lb(i1).eq.27.and.lb(i2).eq.8)) | |
14290 | & .OR. ((lb(i1).eq.-8.and.lb(i2).eq.25). | |
14291 | & or.(lb(i1).eq.25.and.lb(i2).eq.-8)) )then | |
14292 | if(iabs(lb(i1)).eq.8)then | |
14293 | ii = i1 | |
14294 | lb(i1)=1 | |
14295 | e(i1)=amn | |
14296 | lb(i2)=5 | |
14297 | e(i2)=ap1 | |
14298 | go to 40 | |
14299 | else | |
14300 | ii = i2 | |
14301 | lb(i2)=1 | |
14302 | e(i2)=amn | |
14303 | lb(i1)=5 | |
14304 | e(i1)=ap1 | |
14305 | go to 40 | |
14306 | endif | |
14307 | endif | |
14308 | *(2) for D(0)+rho(0)-->n+pi(0) or p+pi(-) | |
14309 | if((iabs(lb(i1)).eq.7.and.lb(i2).eq.26). | |
14310 | & or.(lb(i1).eq.26.and.iabs(lb(i2)).eq.7))then | |
14311 | if(iabs(lb(i1)).eq.7)then | |
14312 | ii = i1 | |
14313 | IF(X2.LE.0.5)THEN | |
14314 | lb(i1)=2 | |
14315 | e(i1)=amn | |
14316 | lb(i2)=4 | |
14317 | e(i2)=ap1 | |
14318 | go to 40 | |
14319 | Else | |
14320 | lb(i1)=1 | |
14321 | e(i1)=amn | |
14322 | lb(i2)=3 | |
14323 | e(i2)=ap1 | |
14324 | go to 40 | |
14325 | endif | |
14326 | else | |
14327 | ii = i2 | |
14328 | IF(X2.LE.0.5)THEN | |
14329 | lb(i2)=2 | |
14330 | e(i2)=amn | |
14331 | lb(i1)=4 | |
14332 | e(i1)=ap1 | |
14333 | go to 40 | |
14334 | Else | |
14335 | lb(i2)=1 | |
14336 | e(i2)=amn | |
14337 | lb(i1)=3 | |
14338 | e(i1)=ap1 | |
14339 | go to 40 | |
14340 | endif | |
14341 | endif | |
14342 | endif | |
14343 | *(3) for D(+)+rho(0)-->pi(+)+n or pi(0)+p | |
14344 | if((iabs(lb(i1)).eq.8.and.lb(i2).eq.26). | |
14345 | & or.(lb(i1).eq.26.and.iabs(lb(i2)).eq.8))then | |
14346 | if(iabs(lb(i1)).eq.8)then | |
14347 | ii = i1 | |
14348 | IF(X2.LE.0.5)THEN | |
14349 | lb(i1)=2 | |
14350 | e(i1)=amn | |
14351 | lb(i2)=5 | |
14352 | e(i2)=ap1 | |
14353 | go to 40 | |
14354 | Else | |
14355 | lb(i1)=1 | |
14356 | e(i1)=amn | |
14357 | lb(i2)=4 | |
14358 | e(i2)=ap1 | |
14359 | go to 40 | |
14360 | endif | |
14361 | else | |
14362 | ii = i2 | |
14363 | IF(X2.LE.0.5)THEN | |
14364 | lb(i2)=2 | |
14365 | e(i2)=amn | |
14366 | lb(i1)=5 | |
14367 | e(i1)=ap1 | |
14368 | go to 40 | |
14369 | Else | |
14370 | lb(i2)=1 | |
14371 | e(i2)=amn | |
14372 | lb(i1)=4 | |
14373 | e(i1)=ap1 | |
14374 | go to 40 | |
14375 | endif | |
14376 | endif | |
14377 | endif | |
14378 | *(4) for D(-)+rho(0)-->n+pi(-) | |
14379 | if((iabs(lb(i1)).eq.6.and.lb(i2).eq.26). | |
14380 | & or.(lb(i1).eq.26.and.iabs(lb(i2)).eq.6))then | |
14381 | if(iabs(lb(i1)).eq.6)then | |
14382 | ii = i1 | |
14383 | lb(i1)=2 | |
14384 | e(i1)=amn | |
14385 | lb(i2)=3 | |
14386 | e(i2)=ap1 | |
14387 | go to 40 | |
14388 | else | |
14389 | ii = i2 | |
14390 | lb(i2)=2 | |
14391 | e(i2)=amn | |
14392 | lb(i1)=3 | |
14393 | e(i1)=ap1 | |
14394 | go to 40 | |
14395 | ENDIF | |
14396 | endif | |
14397 | *(5) for D(+)+rho(-)-->pi(0)+n or pi(-)+p | |
14398 | if( ((lb(i1).eq.8.and.lb(i2).eq.25). | |
14399 | & or.(lb(i1).eq.25.and.lb(i2).eq.8)) | |
14400 | & .OR. ((lb(i1).eq.-8.and.lb(i2).eq.27). | |
14401 | & or.(lb(i1).eq.27.and.lb(i2).eq.-8)) )then | |
14402 | if(iabs(lb(i1)).eq.8)then | |
14403 | ii = i1 | |
14404 | IF(X2.LE.0.5)THEN | |
14405 | lb(i1)=2 | |
14406 | e(i1)=amn | |
14407 | lb(i2)=4 | |
14408 | e(i2)=ap1 | |
14409 | go to 40 | |
14410 | ELSE | |
14411 | lb(i1)=1 | |
14412 | e(i1)=amn | |
14413 | lb(i2)=3 | |
14414 | e(i2)=ap1 | |
14415 | go to 40 | |
14416 | endif | |
14417 | else | |
14418 | ii = i2 | |
14419 | IF(X2.LE.0.5)THEN | |
14420 | lb(i2)=2 | |
14421 | e(i2)=amn | |
14422 | lb(i1)=4 | |
14423 | e(i1)=ap1 | |
14424 | go to 40 | |
14425 | ELSE | |
14426 | lb(i2)=1 | |
14427 | e(i2)=amn | |
14428 | lb(i1)=3 | |
14429 | e(i1)=ap1 | |
14430 | go to 40 | |
14431 | endif | |
14432 | endif | |
14433 | ENDIF | |
14434 | *(6) D(0)+rho(+)-->n+pi(+) or p+pi(0) | |
14435 | if( ((lb(i1).eq.7.and.lb(i2).eq.27). | |
14436 | & or.(lb(i1).eq.27.and.lb(i2).eq.7)) | |
14437 | & .OR.((lb(i1).eq.-7.and.lb(i2).eq.25). | |
14438 | & or.(lb(i1).eq.25.and.lb(i2).eq.-7)) )then | |
14439 | if(iabs(lb(i1)).eq.7)then | |
14440 | ii = i1 | |
14441 | IF(X2.LE.0.5)THEN | |
14442 | lb(i1)=2 | |
14443 | e(i1)=amn | |
14444 | lb(i2)=5 | |
14445 | e(i2)=ap1 | |
14446 | go to 40 | |
14447 | else | |
14448 | lb(i1)=1 | |
14449 | e(i1)=amn | |
14450 | lb(i2)=4 | |
14451 | e(i2)=ap1 | |
14452 | go to 40 | |
14453 | endif | |
14454 | else | |
14455 | ii = i2 | |
14456 | IF(X2.LE.0.5)THEN | |
14457 | lb(i2)=2 | |
14458 | e(i2)=amn | |
14459 | lb(i1)=5 | |
14460 | e(i1)=ap1 | |
14461 | go to 40 | |
14462 | Else | |
14463 | lb(i2)=1 | |
14464 | e(i2)=amn | |
14465 | lb(i1)=4 | |
14466 | e(i1)=ap1 | |
14467 | go to 40 | |
14468 | endif | |
14469 | endif | |
14470 | ENDIF | |
14471 | *(7) for D(0)+rho(-)-->n+pi(-) | |
14472 | if( ((lb(i1).eq.7.and.lb(i2).eq.25). | |
14473 | & or.(lb(i1).eq.25.and.lb(i2).eq.7)) | |
14474 | & .OR.((lb(i1).eq.-7.and.lb(i2).eq.27). | |
14475 | & or.(lb(i1).eq.27.and.lb(i2).eq.-7)) )then | |
14476 | if(iabs(lb(i1)).eq.7)then | |
14477 | ii = i1 | |
14478 | lb(i1)=2 | |
14479 | e(i1)=amn | |
14480 | lb(i2)=3 | |
14481 | e(i2)=ap1 | |
14482 | go to 40 | |
14483 | else | |
14484 | ii = i2 | |
14485 | lb(i2)=2 | |
14486 | e(i2)=amn | |
14487 | lb(i1)=3 | |
14488 | e(i1)=ap1 | |
14489 | go to 40 | |
14490 | ENDIF | |
14491 | endif | |
14492 | *(8) D(-)+rho(+)-->n+pi(0) or p+pi(-) | |
14493 | if( ((lb(i1).eq.6.and.lb(i2).eq.27). | |
14494 | & or.(lb(i1).eq.27.and.lb(i2).eq.6)) | |
14495 | & .OR. ((lb(i1).eq.-6.and.lb(i2).eq.25). | |
14496 | & or.(lb(i1).eq.25.and.lb(i2).eq.-6)) )then | |
14497 | if(iabs(lb(i1)).eq.6)then | |
14498 | ii = i1 | |
14499 | IF(X2.LE.0.5)THEN | |
14500 | lb(i1)=2 | |
14501 | e(i1)=amn | |
14502 | lb(i2)=4 | |
14503 | e(i2)=ap1 | |
14504 | go to 40 | |
14505 | else | |
14506 | lb(i1)=1 | |
14507 | e(i1)=amn | |
14508 | lb(i2)=3 | |
14509 | e(i2)=ap1 | |
14510 | go to 40 | |
14511 | endif | |
14512 | else | |
14513 | ii = i2 | |
14514 | IF(X2.LE.0.5)THEN | |
14515 | lb(i2)=2 | |
14516 | e(i2)=amn | |
14517 | lb(i1)=4 | |
14518 | e(i1)=ap1 | |
14519 | go to 40 | |
14520 | Else | |
14521 | lb(i2)=1 | |
14522 | e(i2)=amn | |
14523 | lb(i1)=3 | |
14524 | e(i1)=ap1 | |
14525 | go to 40 | |
14526 | endif | |
14527 | endif | |
14528 | ENDIF | |
14529 | *(9) D(++)+rho(-)-->n+pi(+) or p+pi(0) | |
14530 | if( ((lb(i1).eq.9.and.lb(i2).eq.25). | |
14531 | & or.(lb(i1).eq.25.and.lb(i2).eq.9)) | |
14532 | & .OR.((lb(i1).eq.-9.and.lb(i2).eq.27). | |
14533 | & or.(lb(i1).eq.27.and.lb(i2).eq.-9)) )then | |
14534 | if(iabs(lb(i1)).eq.9)then | |
14535 | ii = i1 | |
14536 | IF(X2.LE.0.5)THEN | |
14537 | lb(i1)=2 | |
14538 | e(i1)=amn | |
14539 | lb(i2)=5 | |
14540 | e(i2)=ap1 | |
14541 | go to 40 | |
14542 | else | |
14543 | lb(i1)=1 | |
14544 | e(i1)=amn | |
14545 | lb(i2)=4 | |
14546 | e(i2)=ap1 | |
14547 | go to 40 | |
14548 | endif | |
14549 | else | |
14550 | ii = i2 | |
14551 | IF(X2.LE.0.5)THEN | |
14552 | lb(i2)=2 | |
14553 | e(i2)=amn | |
14554 | lb(i1)=5 | |
14555 | e(i1)=ap1 | |
14556 | go to 40 | |
14557 | Else | |
14558 | lb(i2)=1 | |
14559 | e(i2)=amn | |
14560 | lb(i1)=4 | |
14561 | e(i1)=ap1 | |
14562 | go to 40 | |
14563 | endif | |
14564 | endif | |
14565 | ENDIF | |
14566 | *(10) for D(++)+rho(0)-->p+pi(+) | |
14567 | if((iabs(lb(i1)).eq.9.and.lb(i2).eq.26). | |
14568 | & or.(lb(i1).eq.26.and.iabs(lb(i2)).eq.9))then | |
14569 | if(iabs(lb(i1)).eq.9)then | |
14570 | ii = i1 | |
14571 | lb(i1)=1 | |
14572 | e(i1)=amn | |
14573 | lb(i2)=5 | |
14574 | e(i2)=ap1 | |
14575 | go to 40 | |
14576 | else | |
14577 | ii = i2 | |
14578 | lb(i2)=1 | |
14579 | e(i2)=amn | |
14580 | lb(i1)=5 | |
14581 | e(i1)=ap1 | |
14582 | go to 40 | |
14583 | ENDIF | |
14584 | endif | |
14585 | *(11) for N*(1440)(+)or N*(1535)(+)+rho(+)-->p+pion(+) | |
14586 | if( ((lb(i1).eq.11.and.lb(i2).eq.27). | |
14587 | & or.(lb(i1).eq.27.and.lb(i2).eq.11). | |
14588 | & or.(lb(i1).eq.13.and.lb(i2).eq.27). | |
14589 | & or.(lb(i1).eq.27.and.lb(i2).eq.13)) | |
14590 | & .OR. ((lb(i1).eq.-11.and.lb(i2).eq.25). | |
14591 | & or.(lb(i1).eq.25.and.lb(i2).eq.-11). | |
14592 | & or.(lb(i1).eq.-13.and.lb(i2).eq.25). | |
14593 | & or.(lb(i1).eq.25.and.lb(i2).eq.-13)) )then | |
14594 | if(iabs(lb(i1)).eq.11.or.iabs(lb(i1)).eq.13)then | |
14595 | ii = i1 | |
14596 | lb(i1)=1 | |
14597 | e(i1)=amn | |
14598 | lb(i2)=5 | |
14599 | e(i2)=ap1 | |
14600 | go to 40 | |
14601 | else | |
14602 | ii = i2 | |
14603 | lb(i2)=1 | |
14604 | e(i2)=amn | |
14605 | lb(i1)=5 | |
14606 | e(i1)=ap1 | |
14607 | go to 40 | |
14608 | endif | |
14609 | endif | |
14610 | *(12) for N*(1440) or N*(1535)(0)+rho(0)-->n+pi(0) or p+pi(-) | |
14611 | if((iabs(lb(i1)).eq.10.and.lb(i2).eq.26). | |
14612 | & or.(lb(i1).eq.26.and.iabs(lb(i2)).eq.10). | |
14613 | & or.(lb(i1).eq.26.and.iabs(lb(i2)).eq.12). | |
14614 | & or.(lb(i2).eq.26.and.iabs(lb(i1)).eq.12))then | |
14615 | if(iabs(lb(i1)).eq.10.or.iabs(lb(i1)).eq.12)then | |
14616 | ii = i1 | |
14617 | IF(X2.LE.0.5)THEN | |
14618 | lb(i1)=2 | |
14619 | e(i1)=amn | |
14620 | lb(i2)=4 | |
14621 | e(i2)=ap1 | |
14622 | go to 40 | |
14623 | Else | |
14624 | lb(i1)=1 | |
14625 | e(i1)=amn | |
14626 | lb(i2)=3 | |
14627 | e(i2)=ap1 | |
14628 | go to 40 | |
14629 | endif | |
14630 | else | |
14631 | ii = i2 | |
14632 | IF(X2.LE.0.5)THEN | |
14633 | lb(i2)=2 | |
14634 | e(i2)=amn | |
14635 | lb(i1)=4 | |
14636 | e(i1)=ap1 | |
14637 | go to 40 | |
14638 | Else | |
14639 | lb(i2)=1 | |
14640 | e(i2)=amn | |
14641 | lb(i1)=3 | |
14642 | e(i1)=ap1 | |
14643 | go to 40 | |
14644 | endif | |
14645 | endif | |
14646 | endif | |
14647 | *(13) for N*(1440) or N*(1535)(+)+rho(0)-->pi(+)+n or pi(0)+p | |
14648 | if((iabs(lb(i1)).eq.11.and.lb(i2).eq.26). | |
14649 | & or.(lb(i1).eq.26.and.iabs(lb(i2)).eq.11). | |
14650 | & or.(lb(i1).eq.26.and.iabs(lb(i2)).eq.13). | |
14651 | & or.(lb(i2).eq.26.and.iabs(lb(i1)).eq.13))then | |
14652 | if(iabs(lb(i1)).eq.11.or.iabs(lb(i1)).eq.13)then | |
14653 | ii = i1 | |
14654 | IF(X2.LE.0.5)THEN | |
14655 | lb(i1)=2 | |
14656 | e(i1)=amn | |
14657 | lb(i2)=5 | |
14658 | e(i2)=ap1 | |
14659 | go to 40 | |
14660 | Else | |
14661 | lb(i1)=1 | |
14662 | e(i1)=amn | |
14663 | lb(i2)=4 | |
14664 | e(i2)=ap1 | |
14665 | go to 40 | |
14666 | endif | |
14667 | else | |
14668 | ii = i2 | |
14669 | IF(X2.LE.0.5)THEN | |
14670 | lb(i2)=2 | |
14671 | e(i2)=amn | |
14672 | lb(i1)=5 | |
14673 | e(i1)=ap1 | |
14674 | go to 40 | |
14675 | Else | |
14676 | lb(i2)=1 | |
14677 | e(i2)=amn | |
14678 | lb(i1)=4 | |
14679 | e(i1)=ap1 | |
14680 | go to 40 | |
14681 | endif | |
14682 | endif | |
14683 | endif | |
14684 | *(14) for N*(1440) or N*(1535)(+)+rho(-)-->pi(0)+n or pi(-)+p | |
14685 | if( ((lb(i1).eq.11.and.lb(i2).eq.25). | |
14686 | & or.(lb(i1).eq.25.and.lb(i2).eq.11). | |
14687 | & or.(lb(i1).eq.25.and.lb(i2).eq.13). | |
14688 | & or.(lb(i2).eq.25.and.lb(i1).eq.13)) | |
14689 | & .OR.((lb(i1).eq.-11.and.lb(i2).eq.27). | |
14690 | & or.(lb(i1).eq.27.and.lb(i2).eq.-11). | |
14691 | & or.(lb(i1).eq.27.and.lb(i2).eq.-13). | |
14692 | & or.(lb(i2).eq.27.and.lb(i1).eq.-13)) )then | |
14693 | if(iabs(lb(i1)).eq.11.or.iabs(lb(i1)).eq.13)then | |
14694 | ii = i1 | |
14695 | IF(X2.LE.0.5)THEN | |
14696 | lb(i1)=2 | |
14697 | e(i1)=amn | |
14698 | lb(i2)=4 | |
14699 | e(i2)=ap1 | |
14700 | go to 40 | |
14701 | ELSE | |
14702 | lb(i1)=1 | |
14703 | e(i1)=amn | |
14704 | lb(i2)=3 | |
14705 | e(i2)=ap1 | |
14706 | go to 40 | |
14707 | endif | |
14708 | else | |
14709 | ii = i2 | |
14710 | IF(X2.LE.0.5)THEN | |
14711 | lb(i2)=2 | |
14712 | e(i2)=amn | |
14713 | lb(i1)=4 | |
14714 | e(i1)=ap1 | |
14715 | go to 40 | |
14716 | ELSE | |
14717 | lb(i2)=1 | |
14718 | e(i2)=amn | |
14719 | lb(i1)=3 | |
14720 | e(i1)=ap1 | |
14721 | go to 40 | |
14722 | endif | |
14723 | endif | |
14724 | ENDIF | |
14725 | *(15) N*(1440) or N*(1535)(0)+rho(+)-->n+pi(+) or p+pi(0) | |
14726 | if( ((lb(i1).eq.10.and.lb(i2).eq.27). | |
14727 | & or.(lb(i1).eq.27.and.lb(i2).eq.10). | |
14728 | & or.(lb(i1).eq.12.and.lb(i2).eq.27). | |
14729 | & or.(lb(i1).eq.27.and.lb(i2).eq.12)) | |
14730 | & .OR.((lb(i1).eq.-10.and.lb(i2).eq.25). | |
14731 | & or.(lb(i1).eq.25.and.lb(i2).eq.-10). | |
14732 | & or.(lb(i1).eq.-12.and.lb(i2).eq.25). | |
14733 | & or.(lb(i1).eq.25.and.lb(i2).eq.-12)) )then | |
14734 | if(iabs(lb(i1)).eq.10.or.iabs(lb(i1)).eq.12)then | |
14735 | ii = i1 | |
14736 | IF(X2.LE.0.5)THEN | |
14737 | lb(i1)=2 | |
14738 | e(i1)=amn | |
14739 | lb(i2)=5 | |
14740 | e(i2)=ap1 | |
14741 | go to 40 | |
14742 | else | |
14743 | lb(i1)=1 | |
14744 | e(i1)=amn | |
14745 | lb(i2)=4 | |
14746 | e(i2)=ap1 | |
14747 | go to 40 | |
14748 | endif | |
14749 | else | |
14750 | ii = i2 | |
14751 | IF(X2.LE.0.5)THEN | |
14752 | lb(i2)=2 | |
14753 | e(i2)=amn | |
14754 | lb(i1)=5 | |
14755 | e(i1)=ap1 | |
14756 | go to 40 | |
14757 | Else | |
14758 | lb(i2)=1 | |
14759 | e(i2)=amn | |
14760 | lb(i1)=4 | |
14761 | e(i1)=ap1 | |
14762 | go to 40 | |
14763 | endif | |
14764 | endif | |
14765 | ENDIF | |
14766 | *(16) for N*(1440) or N*(1535) (0)+rho(-)-->n+pi(-) | |
14767 | if( ((lb(i1).eq.10.and.lb(i2).eq.25). | |
14768 | & or.(lb(i1).eq.25.and.lb(i2).eq.10). | |
14769 | & or.(lb(i1).eq.25.and.lb(i2).eq.12). | |
14770 | & or.(lb(i1).eq.12.and.lb(i2).eq.25)) | |
14771 | & .OR. ((lb(i1).eq.-10.and.lb(i2).eq.27). | |
14772 | & or.(lb(i1).eq.27.and.lb(i2).eq.-10). | |
14773 | & or.(lb(i1).eq.27.and.lb(i2).eq.-12). | |
14774 | & or.(lb(i1).eq.-12.and.lb(i2).eq.27)) )then | |
14775 | if(iabs(lb(i1)).eq.10.or.iabs(lb(i1)).eq.12)then | |
14776 | ii = i1 | |
14777 | lb(i1)=2 | |
14778 | e(i1)=amn | |
14779 | lb(i2)=3 | |
14780 | e(i2)=ap1 | |
14781 | go to 40 | |
14782 | else | |
14783 | ii = i2 | |
14784 | lb(i2)=2 | |
14785 | e(i2)=amn | |
14786 | lb(i1)=3 | |
14787 | e(i1)=ap1 | |
14788 | go to 40 | |
14789 | ENDIF | |
14790 | endif | |
14791 | 60 IBLOCK=82 | |
14792 | * FOR OMEGA REABSORPTION | |
14793 | * Relable particles, I1 is assigned to the Delta | |
14794 | * and I2 is assigned to the meson | |
14795 | * for the reverse of the following process | |
14796 | *(1) for D(0)+OMEGA(0)-->n+pi(0) or p+pi(-) | |
14797 | if((iabs(lb(i1)).eq.7.and.lb(i2).eq.28). | |
14798 | & or.(lb(i1).eq.28.and.iabs(lb(i2)).eq.7))then | |
14799 | if(iabs(lb(i1)).eq.7)then | |
14800 | ii = i1 | |
14801 | IF(X2.LE.0.5)THEN | |
14802 | lb(i1)=2 | |
14803 | e(i1)=amn | |
14804 | lb(i2)=4 | |
14805 | e(i2)=ap1 | |
14806 | go to 40 | |
14807 | Else | |
14808 | lb(i1)=1 | |
14809 | e(i1)=amn | |
14810 | lb(i2)=3 | |
14811 | e(i2)=ap1 | |
14812 | go to 40 | |
14813 | endif | |
14814 | else | |
14815 | ii = i2 | |
14816 | IF(X2.LE.0.5)THEN | |
14817 | lb(i2)=2 | |
14818 | e(i2)=amn | |
14819 | lb(i1)=4 | |
14820 | e(i1)=ap1 | |
14821 | go to 40 | |
14822 | Else | |
14823 | lb(i2)=1 | |
14824 | e(i2)=amn | |
14825 | lb(i1)=3 | |
14826 | e(i1)=ap1 | |
14827 | go to 40 | |
14828 | endif | |
14829 | endif | |
14830 | endif | |
14831 | *(2) for D(+)+OMEGA(0)-->pi(+)+n or pi(0)+p | |
14832 | if((iabs(lb(i1)).eq.8.and.lb(i2).eq.28). | |
14833 | & or.(lb(i1).eq.28.and.iabs(lb(i2)).eq.8))then | |
14834 | if(iabs(lb(i1)).eq.8)then | |
14835 | ii = i1 | |
14836 | IF(X2.LE.0.5)THEN | |
14837 | lb(i1)=2 | |
14838 | e(i1)=amn | |
14839 | lb(i2)=5 | |
14840 | e(i2)=ap1 | |
14841 | go to 40 | |
14842 | Else | |
14843 | lb(i1)=1 | |
14844 | e(i1)=amn | |
14845 | lb(i2)=4 | |
14846 | e(i2)=ap1 | |
14847 | go to 40 | |
14848 | endif | |
14849 | else | |
14850 | ii = i2 | |
14851 | IF(X2.LE.0.5)THEN | |
14852 | lb(i2)=2 | |
14853 | e(i2)=amn | |
14854 | lb(i1)=5 | |
14855 | e(i1)=ap1 | |
14856 | go to 40 | |
14857 | Else | |
14858 | lb(i2)=1 | |
14859 | e(i2)=amn | |
14860 | lb(i1)=4 | |
14861 | e(i1)=ap1 | |
14862 | go to 40 | |
14863 | endif | |
14864 | endif | |
14865 | endif | |
14866 | *(3) for D(-)+OMEGA(0)-->n+pi(-) | |
14867 | if((iabs(lb(i1)).eq.6.and.lb(i2).eq.28). | |
14868 | & or.(lb(i1).eq.28.and.iabs(lb(i2)).eq.6))then | |
14869 | if(iabs(lb(i1)).eq.6)then | |
14870 | ii = i1 | |
14871 | lb(i1)=2 | |
14872 | e(i1)=amn | |
14873 | lb(i2)=3 | |
14874 | e(i2)=ap1 | |
14875 | go to 40 | |
14876 | else | |
14877 | ii = i2 | |
14878 | lb(i2)=2 | |
14879 | e(i2)=amn | |
14880 | lb(i1)=3 | |
14881 | e(i1)=ap1 | |
14882 | go to 40 | |
14883 | ENDIF | |
14884 | endif | |
14885 | *(4) for D(++)+OMEGA(0)-->p+pi(+) | |
14886 | if((iabs(lb(i1)).eq.9.and.lb(i2).eq.28). | |
14887 | & or.(lb(i1).eq.28.and.iabs(lb(i2)).eq.9))then | |
14888 | if(iabs(lb(i1)).eq.9)then | |
14889 | ii = i1 | |
14890 | lb(i1)=1 | |
14891 | e(i1)=amn | |
14892 | lb(i2)=5 | |
14893 | e(i2)=ap1 | |
14894 | go to 40 | |
14895 | else | |
14896 | ii = i2 | |
14897 | lb(i2)=1 | |
14898 | e(i2)=amn | |
14899 | lb(i1)=5 | |
14900 | e(i1)=ap1 | |
14901 | go to 40 | |
14902 | ENDIF | |
14903 | endif | |
14904 | *(5) for N*(1440) or N*(1535)(0)+omega(0)-->n+pi(0) or p+pi(-) | |
14905 | if((iabs(lb(i1)).eq.10.and.lb(i2).eq.28). | |
14906 | & or.(lb(i1).eq.28.and.iabs(lb(i2)).eq.10). | |
14907 | & or.(lb(i1).eq.28.and.iabs(lb(i2)).eq.12). | |
14908 | & or.(lb(i2).eq.28.and.iabs(lb(i1)).eq.12))then | |
14909 | if(iabs(lb(i1)).eq.10.or.iabs(lb(i1)).eq.12)then | |
14910 | ii = i1 | |
14911 | IF(X2.LE.0.5)THEN | |
14912 | lb(i1)=2 | |
14913 | e(i1)=amn | |
14914 | lb(i2)=4 | |
14915 | e(i2)=ap1 | |
14916 | go to 40 | |
14917 | Else | |
14918 | lb(i1)=1 | |
14919 | e(i1)=amn | |
14920 | lb(i2)=3 | |
14921 | e(i2)=ap1 | |
14922 | go to 40 | |
14923 | endif | |
14924 | else | |
14925 | ii = i2 | |
14926 | IF(X2.LE.0.5)THEN | |
14927 | lb(i2)=2 | |
14928 | e(i2)=amn | |
14929 | lb(i1)=4 | |
14930 | e(i1)=ap1 | |
14931 | go to 40 | |
14932 | Else | |
14933 | lb(i2)=1 | |
14934 | e(i2)=amn | |
14935 | lb(i1)=3 | |
14936 | e(i1)=ap1 | |
14937 | go to 40 | |
14938 | endif | |
14939 | endif | |
14940 | endif | |
14941 | *(6) for N*(1440) or N*(1535)(+)+omega(0)-->pi(+)+n or pi(0)+p | |
14942 | if((iabs(lb(i1)).eq.11.and.lb(i2).eq.28). | |
14943 | & or.(lb(i1).eq.28.and.iabs(lb(i2)).eq.11). | |
14944 | & or.(lb(i1).eq.28.and.iabs(lb(i2)).eq.13). | |
14945 | & or.(lb(i2).eq.28.and.iabs(lb(i1)).eq.13))then | |
14946 | if(iabs(lb(i1)).eq.11.or.iabs(lb(i1)).eq.13)then | |
14947 | ii = i1 | |
14948 | IF(X2.LE.0.5)THEN | |
14949 | lb(i1)=2 | |
14950 | e(i1)=amn | |
14951 | lb(i2)=5 | |
14952 | e(i2)=ap1 | |
14953 | go to 40 | |
14954 | Else | |
14955 | lb(i1)=1 | |
14956 | e(i1)=amn | |
14957 | lb(i2)=4 | |
14958 | e(i2)=ap1 | |
14959 | go to 40 | |
14960 | endif | |
14961 | else | |
14962 | ii = i2 | |
14963 | IF(X2.LE.0.5)THEN | |
14964 | lb(i2)=2 | |
14965 | e(i2)=amn | |
14966 | lb(i1)=5 | |
14967 | e(i1)=ap1 | |
14968 | go to 40 | |
14969 | Else | |
14970 | lb(i2)=1 | |
14971 | e(i2)=amn | |
14972 | lb(i1)=4 | |
14973 | e(i1)=ap1 | |
14974 | go to 40 | |
14975 | endif | |
14976 | endif | |
14977 | endif | |
14978 | 40 em1=e(i1) | |
14979 | em2=e(i2) | |
14980 | if(ianti.eq.1 .and. lb(i1).ge.1 .and. lb(i2).ge.1)then | |
14981 | lb(ii) = -lb(ii) | |
14982 | jj = i2 | |
14983 | if(ii .eq. i2)jj = i1 | |
14984 | if(lb(jj).eq.3)then | |
14985 | lb(jj) = 5 | |
14986 | elseif(lb(jj).eq.5)then | |
14987 | lb(jj) = 3 | |
14988 | endif | |
14989 | endif | |
14990 | endif | |
14991 | *----------------------------------------------------------------------- | |
14992 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
14993 | * ENERGY CONSERVATION | |
14994 | 50 PR2 = (SRT**2 - EM1**2 - EM2**2)**2 | |
14995 | 1 - 4.0 * (EM1*EM2)**2 | |
14996 | IF(PR2.LE.0.)PR2=1.E-09 | |
14997 | PR=SQRT(PR2)/(2.*SRT) | |
14998 | * C1 = 1.0 - 2.0 * RANART(NSEED) | |
14999 | ||
15000 | clin-10/25/02 get rid of argument usage mismatch in PTR(): | |
15001 | xptr=0.33*pr | |
15002 | c cc1=ptr(0.33*pr,iseed) | |
15003 | cc1=ptr(xptr,iseed) | |
15004 | clin-10/25/02-end | |
15005 | ||
15006 | c1=sqrt(pr**2-cc1**2)/pr | |
15007 | T1 = 2.0 * PI * RANART(NSEED) | |
15008 | S1 = SQRT( 1.0 - C1**2 ) | |
15009 | CT1 = COS(T1) | |
15010 | ST1 = SIN(T1) | |
15011 | PZ = PR * C1 | |
15012 | PX = PR * S1*CT1 | |
15013 | PY = PR * S1*ST1 | |
15014 | * ROTATE THE MOMENTUM | |
15015 | CALL ROTATE(PX0,PY0,PZ0,PX,PY,PZ) | |
15016 | RETURN | |
15017 | END | |
15018 | ********************************** | |
15019 | * sp 03/19/01 * | |
15020 | * * | |
15021 | SUBROUTINE Crlaba(PX,PY,PZ,SRT,brel,brsgm, | |
15022 | & I1,I2,nt,IBLOCK,nchrg,icase) | |
15023 | * PURPOSE: * | |
15024 | * DEALING WITH K+ + N(D,N*)-bar <--> La(Si)-bar + pi * | |
15025 | * NOTE : * | |
15026 | * * | |
15027 | * QUANTITIES: * | |
15028 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
15029 | * SRT - SQRT OF S * | |
15030 | * IBLOCK - THE INFORMATION BACK * | |
15031 | * 8-> elastic scatt * | |
15032 | * 100-> K+ + N-bar -> Sigma-bar + PI | |
15033 | * 102-> PI + Sigma(Lambda)-bar -> K+ + N-bar | |
15034 | ********************************** | |
15035 | PARAMETER (MAXSTR=150001, MAXR=1, AMN=0.939457, | |
15036 | 1 AMP=0.93828,AP1=0.13496, | |
15037 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
15038 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974) | |
15039 | PARAMETER (ETAM=0.5475, AOMEGA=0.782, ARHO=0.77) | |
15040 | COMMON /AA/ R(3,MAXSTR) | |
15041 | cc SAVE /AA/ | |
15042 | COMMON /BB/ P(3,MAXSTR) | |
15043 | cc SAVE /BB/ | |
15044 | COMMON /CC/ E(MAXSTR) | |
15045 | cc SAVE /CC/ | |
15046 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
15047 | cc SAVE /EE/ | |
15048 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
15049 | cc SAVE /input1/ | |
15050 | COMMON/RNDF77/NSEED | |
15051 | cc SAVE /RNDF77/ | |
15052 | SAVE | |
15053 | NT=NT | |
15054 | c | |
15055 | PX0=PX | |
15056 | PY0=PY | |
15057 | PZ0=PZ | |
15058 | c | |
15059 | if(icase .eq. 3)then | |
15060 | rrr=RANART(NSEED) | |
15061 | if(rrr.lt.brel) then | |
15062 | c !! elastic scat. (avoid in reverse process) | |
15063 | IBLOCK=8 | |
15064 | else | |
15065 | IBLOCK=100 | |
15066 | if(rrr.lt.(brel+brsgm)) then | |
15067 | c* K+ + N-bar -> Sigma-bar + PI | |
15068 | LB(i1) = -15 - int(3 * RANART(NSEED)) | |
15069 | ||
15070 | e(i1)=asa | |
15071 | else | |
15072 | c* K+ + N-bar -> Lambda-bar + PI | |
15073 | LB(i1)= -14 | |
15074 | e(i1)=ala | |
15075 | endif | |
15076 | LB(i2) = 3 + int(3 * RANART(NSEED)) | |
15077 | e(i2)=0.138 | |
15078 | endif | |
15079 | endif | |
15080 | c | |
15081 | c | |
15082 | if(icase .eq. 4)then | |
15083 | rrr=RANART(NSEED) | |
15084 | if(rrr.lt.brel) then | |
15085 | c !! elastic scat. | |
15086 | IBLOCK=8 | |
15087 | else | |
15088 | IBLOCK=102 | |
15089 | c PI + Sigma(Lambda)-bar -> K+ + N-bar | |
15090 | c ! K+ | |
15091 | LB(i1) = 23 | |
15092 | LB(i2) = -1 - int(2 * RANART(NSEED)) | |
15093 | if(nchrg.eq.-2) LB(i2) = -6 | |
15094 | if(nchrg.eq. 1) LB(i2) = -9 | |
15095 | e(i1) = aka | |
15096 | e(i2) = 0.938 | |
15097 | if(nchrg.eq.-2.or.nchrg.eq.1) e(i2)=1.232 | |
15098 | endif | |
15099 | endif | |
15100 | c | |
15101 | EM1=E(I1) | |
15102 | EM2=E(I2) | |
15103 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
15104 | * ENERGY CONSERVATION | |
15105 | PR2 = (SRT**2 - EM1**2 - EM2**2)**2 | |
15106 | 1 - 4.0 * (EM1*EM2)**2 | |
15107 | IF(PR2.LE.0.)PR2=1.e-09 | |
15108 | PR=SQRT(PR2)/(2.*SRT) | |
15109 | C1 = 1.0 - 2.0 * RANART(NSEED) | |
15110 | T1 = 2.0 * PI * RANART(NSEED) | |
15111 | S1 = SQRT( 1.0 - C1**2 ) | |
15112 | CT1 = COS(T1) | |
15113 | ST1 = SIN(T1) | |
15114 | PZ = PR * C1 | |
15115 | PX = PR * S1*CT1 | |
15116 | PY = PR * S1*ST1 | |
15117 | * ROTATE IT | |
15118 | CALL ROTATE(PX0,PY0,PZ0,PX,PY,PZ) | |
15119 | RETURN | |
15120 | END | |
15121 | ********************************** | |
15122 | * * | |
15123 | * * | |
15124 | SUBROUTINE Crkn(PX,PY,PZ,SRT,I1,I2,IBLOCK) | |
15125 | * PURPOSE: * | |
15126 | * DEALING WITH kaON+N/pi-->KAON +N/pi elastic PROCESS * | |
15127 | * NOTE : * | |
15128 | * | |
15129 | * QUANTITIES: * | |
15130 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
15131 | * SRT - SQRT OF S * | |
15132 | * IBLOCK - THE INFORMATION BACK * | |
15133 | * 8-> PION+N-->L/S+KAON | |
15134 | ********************************** | |
15135 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
15136 | 1 AMP=0.93828,AP1=0.13496, | |
15137 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
15138 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974) | |
15139 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
15140 | COMMON /AA/ R(3,MAXSTR) | |
15141 | cc SAVE /AA/ | |
15142 | COMMON /BB/ P(3,MAXSTR) | |
15143 | cc SAVE /BB/ | |
15144 | COMMON /CC/ E(MAXSTR) | |
15145 | cc SAVE /CC/ | |
15146 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
15147 | cc SAVE /EE/ | |
15148 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
15149 | cc SAVE /input1/ | |
15150 | COMMON/RNDF77/NSEED | |
15151 | cc SAVE /RNDF77/ | |
15152 | SAVE | |
15153 | ||
15154 | PX0=PX | |
15155 | PY0=PY | |
15156 | PZ0=PZ | |
15157 | *----------------------------------------------------------------------- | |
15158 | IBLOCK=8 | |
15159 | NTAG=0 | |
15160 | EM1=E(I1) | |
15161 | EM2=E(I2) | |
15162 | *----------------------------------------------------------------------- | |
15163 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
15164 | * ENERGY CONSERVATION | |
15165 | PR2 = (SRT**2 - EM1**2 - EM2**2)**2 | |
15166 | 1 - 4.0 * (EM1*EM2)**2 | |
15167 | IF(PR2.LE.0.)PR2=1.e-09 | |
15168 | PR=SQRT(PR2)/(2.*SRT) | |
15169 | C1 = 1.0 - 2.0 * RANART(NSEED) | |
15170 | T1 = 2.0 * PI * RANART(NSEED) | |
15171 | S1 = SQRT( 1.0 - C1**2 ) | |
15172 | CT1 = COS(T1) | |
15173 | ST1 = SIN(T1) | |
15174 | PZ = PR * C1 | |
15175 | PX = PR * S1*CT1 | |
15176 | PY = PR * S1*ST1 | |
15177 | RETURN | |
15178 | END | |
15179 | ********************************** | |
15180 | * * | |
15181 | * * | |
15182 | SUBROUTINE Crppba(PX,PY,PZ,SRT,I1,I2,IBLOCK) | |
15183 | * PURPOSE: * | |
15184 | ||
15185 | clin-8/29/00* DEALING WITH anti-nucleon annihilation with | |
15186 | * DEALING WITH anti-baryon annihilation with | |
15187 | ||
15188 | * nucleons or baryon resonances | |
15189 | * Determine: * | |
15190 | * (1) no. of pions in the final state | |
15191 | * (2) relable particles in the final state | |
15192 | * (3) new momenta of final state particles * | |
15193 | * | |
15194 | * QUANTITIES: * | |
15195 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
15196 | * SRT - SQRT OF S * | |
15197 | * IBLOCK - INFORMATION about the reaction channel * | |
15198 | * | |
15199 | * iblock - 1902 annihilation-->pion(+)+pion(-) (2 pion) | |
15200 | * iblock - 1903 annihilation-->pion(+)+rho(-) (3 pion) | |
15201 | * iblock - 1904 annihilation-->rho(+)+rho(-) (4 pion) | |
15202 | * iblock - 1905 annihilation-->rho(0)+omega (5 pion) | |
15203 | * iblock - 1906 annihilation-->omega+omega (6 pion) | |
15204 | * charge conservation is enforced in relabling particles | |
15205 | * in the final state (note: at the momentum we don't check the | |
15206 | * initial charges while dealing with annihilation, since some | |
15207 | * annihilation channels between antinucleons and nucleons (baryon | |
15208 | * resonances) might be forbiden by charge conservation, this effect | |
15209 | * should be small, but keep it in mind. | |
15210 | ********************************** | |
15211 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
15212 | 1 AMP=0.93828,AP1=0.13496,AMRHO=0.769,AMOMGA=0.782, | |
15213 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
15214 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974) | |
15215 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
15216 | COMMON /AA/ R(3,MAXSTR) | |
15217 | cc SAVE /AA/ | |
15218 | COMMON /BB/ P(3,MAXSTR) | |
15219 | cc SAVE /BB/ | |
15220 | COMMON /CC/ E(MAXSTR) | |
15221 | cc SAVE /CC/ | |
15222 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
15223 | cc SAVE /EE/ | |
15224 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
15225 | cc SAVE /input1/ | |
15226 | COMMON/RNDF77/NSEED | |
15227 | cc SAVE /RNDF77/ | |
15228 | SAVE | |
15229 | ||
15230 | PX0=PX | |
15231 | PY0=PY | |
15232 | PZ0=PZ | |
15233 | * determine the no. of pions in the final state using a | |
15234 | * statistical model | |
15235 | call pbarfs(srt,npion,iseed) | |
15236 | * find the masses of the final state particles before calculate | |
15237 | * their momenta, and relable them. The masses of rho and omega | |
15238 | * will be generated according to the Breit Wigner formula (NOTE!!! | |
15239 | * NOT DONE YET, AT THE MOMENT LET US USE FIXED RHO AND OMEGA MAEES) | |
15240 | cbali2/22/99 | |
15241 | * Here we generate two stes of integer random numbers (3,4,5) | |
15242 | * one or both of them are used directly as the lables of pions | |
15243 | * similarly, 22+nchrg1 and 22+nchrg2 are used directly | |
15244 | * to label rhos | |
15245 | nchrg1=3+int(3*RANART(NSEED)) | |
15246 | nchrg2=3+int(3*RANART(NSEED)) | |
15247 | * the corresponding masses of pions | |
15248 | pmass1=ap1 | |
15249 | pmass2=ap1 | |
15250 | if(nchrg1.eq.3.or.nchrg1.eq.5)pmass1=ap2 | |
15251 | if(nchrg2.eq.3.or.nchrg2.eq.5)pmass2=ap2 | |
15252 | * (1) for 2 pion production | |
15253 | IF(NPION.EQ.2)THEN | |
15254 | IBLOCK=1902 | |
15255 | * randomly generate the charges of final state particles, | |
15256 | LB(I1)=nchrg1 | |
15257 | E(I1)=pmass1 | |
15258 | LB(I2)=nchrg2 | |
15259 | E(I2)=pmass2 | |
15260 | * TO CALCULATE THE FINAL MOMENTA | |
15261 | GO TO 50 | |
15262 | ENDIF | |
15263 | * (2) FOR 3 PION PRODUCTION | |
15264 | IF(NPION.EQ.3)THEN | |
15265 | IBLOCK=1903 | |
15266 | LB(I1)=nchrg1 | |
15267 | E(I1)=pmass1 | |
15268 | LB(I2)=22+nchrg2 | |
15269 | E(I2)=AMRHO | |
15270 | GO TO 50 | |
15271 | ENDIF | |
15272 | * (3) FOR 4 PION PRODUCTION | |
15273 | * we allow both rho+rho and pi+omega with 50-50% probability | |
15274 | IF(NPION.EQ.4)THEN | |
15275 | IBLOCK=1904 | |
15276 | * determine rho+rho or pi+omega | |
15277 | if(RANART(NSEED).ge.0.5)then | |
15278 | * rho+rho | |
15279 | LB(I1)=22+nchrg1 | |
15280 | E(I1)=AMRHO | |
15281 | LB(I2)=22+nchrg2 | |
15282 | E(I2)=AMRHO | |
15283 | else | |
15284 | * pion+omega | |
15285 | LB(I1)=nchrg1 | |
15286 | E(I1)=pmass1 | |
15287 | LB(I2)=28 | |
15288 | E(I2)=AMOMGA | |
15289 | endif | |
15290 | GO TO 50 | |
15291 | ENDIF | |
15292 | * (4) FOR 5 PION PRODUCTION | |
15293 | IF(NPION.EQ.5)THEN | |
15294 | IBLOCK=1905 | |
15295 | * RHO AND OMEGA | |
15296 | LB(I1)=22+nchrg1 | |
15297 | E(I1)=AMRHO | |
15298 | LB(I2)=28 | |
15299 | E(I2)=AMOMGA | |
15300 | GO TO 50 | |
15301 | ENDIF | |
15302 | * (5) FOR 6 PION PRODUCTION | |
15303 | IF(NPION.EQ.6)THEN | |
15304 | IBLOCK=1906 | |
15305 | * OMEGA AND OMEGA | |
15306 | LB(I1)=28 | |
15307 | E(I1)=AMOMGA | |
15308 | LB(I2)=28 | |
15309 | E(I2)=AMOMGA | |
15310 | ENDIF | |
15311 | cbali2/22/99 | |
15312 | 50 EM1=E(I1) | |
15313 | EM2=E(I2) | |
15314 | *----------------------------------------------------------------------- | |
15315 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
15316 | * ENERGY CONSERVATION | |
15317 | PR2 = (SRT**2 - EM1**2 - EM2**2)**2 | |
15318 | 1 - 4.0 * (EM1*EM2)**2 | |
15319 | IF(PR2.LE.0.)PR2=1.E-08 | |
15320 | PR=SQRT(PR2)/(2.*SRT) | |
15321 | * WE ASSUME AN ISOTROPIC ANGULAR DISTRIBUTION IN THE CMS | |
15322 | C1 = 1.0 - 2.0 * RANART(NSEED) | |
15323 | T1 = 2.0 * PI * RANART(NSEED) | |
15324 | S1 = SQRT( 1.0 - C1**2 ) | |
15325 | CT1 = COS(T1) | |
15326 | ST1 = SIN(T1) | |
15327 | * THE MOMENTUM IN THE CMS IN THE FINAL STATE | |
15328 | PZ = PR * C1 | |
15329 | PX = PR * S1*CT1 | |
15330 | PY = PR * S1*ST1 | |
15331 | * ROTATE IT | |
15332 | CALL ROTATE(PX0,PY0,PZ0,PX,PY,PZ) | |
15333 | RETURN | |
15334 | END | |
15335 | cbali2/7/99end | |
15336 | cbali3/5/99 | |
15337 | ********************************** | |
15338 | * PURPOSE: * | |
15339 | * assign final states for K+K- --> light mesons | |
15340 | * | |
15341 | SUBROUTINE crkkpi(I1,I2,XSK1, XSK2, XSK3, XSK4, | |
15342 | & XSK5, XSK6, XSK7, XSK8, XSK9, XSK10, XSK11, SIGK, | |
15343 | & IBLOCK,lbp1,lbp2,emm1,emm2) | |
15344 | * | |
15345 | * QUANTITIES: * | |
15346 | * IBLOCK - INFORMATION about the reaction channel * | |
15347 | * | |
15348 | * iblock - 1907 | |
15349 | ********************************** | |
15350 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
15351 | 1 AMP=0.93828,AP1=0.13496,AMRHO=0.769,AMOMGA=0.782, | |
15352 | & AMETA = 0.5473, | |
15353 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
15354 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974) | |
15355 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
15356 | COMMON /AA/ R(3,MAXSTR) | |
15357 | cc SAVE /AA/ | |
15358 | COMMON /BB/ P(3,MAXSTR) | |
15359 | cc SAVE /BB/ | |
15360 | COMMON /CC/ E(MAXSTR) | |
15361 | cc SAVE /CC/ | |
15362 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
15363 | cc SAVE /EE/ | |
15364 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
15365 | cc SAVE /input1/ | |
15366 | COMMON/RNDF77/NSEED | |
15367 | cc SAVE /RNDF77/ | |
15368 | SAVE | |
15369 | ||
15370 | XSK11=XSK11 | |
15371 | IBLOCK=1907 | |
15372 | X1 = RANART(NSEED) * SIGK | |
15373 | XSK2 = XSK1 + XSK2 | |
15374 | XSK3 = XSK2 + XSK3 | |
15375 | XSK4 = XSK3 + XSK4 | |
15376 | XSK5 = XSK4 + XSK5 | |
15377 | XSK6 = XSK5 + XSK6 | |
15378 | XSK7 = XSK6 + XSK7 | |
15379 | XSK8 = XSK7 + XSK8 | |
15380 | XSK9 = XSK8 + XSK9 | |
15381 | XSK10 = XSK9 + XSK10 | |
15382 | IF (X1 .LE. XSK1) THEN | |
15383 | LB(I1) = 3 + int(3 * RANART(NSEED)) | |
15384 | LB(I2) = 3 + int(3 * RANART(NSEED)) | |
15385 | E(I1) = AP2 | |
15386 | E(I2) = AP2 | |
15387 | GOTO 100 | |
15388 | ELSE IF (X1 .LE. XSK2) THEN | |
15389 | LB(I1) = 3 + int(3 * RANART(NSEED)) | |
15390 | LB(I2) = 25 + int(3 * RANART(NSEED)) | |
15391 | E(I1) = AP2 | |
15392 | E(I2) = AMRHO | |
15393 | GOTO 100 | |
15394 | ELSE IF (X1 .LE. XSK3) THEN | |
15395 | LB(I1) = 3 + int(3 * RANART(NSEED)) | |
15396 | LB(I2) = 28 | |
15397 | E(I1) = AP2 | |
15398 | E(I2) = AMOMGA | |
15399 | GOTO 100 | |
15400 | ELSE IF (X1 .LE. XSK4) THEN | |
15401 | LB(I1) = 3 + int(3 * RANART(NSEED)) | |
15402 | LB(I2) = 0 | |
15403 | E(I1) = AP2 | |
15404 | E(I2) = AMETA | |
15405 | GOTO 100 | |
15406 | ELSE IF (X1 .LE. XSK5) THEN | |
15407 | LB(I1) = 25 + int(3 * RANART(NSEED)) | |
15408 | LB(I2) = 25 + int(3 * RANART(NSEED)) | |
15409 | E(I1) = AMRHO | |
15410 | E(I2) = AMRHO | |
15411 | GOTO 100 | |
15412 | ELSE IF (X1 .LE. XSK6) THEN | |
15413 | LB(I1) = 25 + int(3 * RANART(NSEED)) | |
15414 | LB(I2) = 28 | |
15415 | E(I1) = AMRHO | |
15416 | E(I2) = AMOMGA | |
15417 | GOTO 100 | |
15418 | ELSE IF (X1 .LE. XSK7) THEN | |
15419 | LB(I1) = 25 + int(3 * RANART(NSEED)) | |
15420 | LB(I2) = 0 | |
15421 | E(I1) = AMRHO | |
15422 | E(I2) = AMETA | |
15423 | GOTO 100 | |
15424 | ELSE IF (X1 .LE. XSK8) THEN | |
15425 | LB(I1) = 28 | |
15426 | LB(I2) = 28 | |
15427 | E(I1) = AMOMGA | |
15428 | E(I2) = AMOMGA | |
15429 | GOTO 100 | |
15430 | ELSE IF (X1 .LE. XSK9) THEN | |
15431 | LB(I1) = 28 | |
15432 | LB(I2) = 0 | |
15433 | E(I1) = AMOMGA | |
15434 | E(I2) = AMETA | |
15435 | GOTO 100 | |
15436 | ELSE IF (X1 .LE. XSK10) THEN | |
15437 | LB(I1) = 0 | |
15438 | LB(I2) = 0 | |
15439 | E(I1) = AMETA | |
15440 | E(I2) = AMETA | |
15441 | ELSE | |
15442 | iblock = 222 | |
15443 | call rhores(i1,i2) | |
15444 | c !! phi | |
15445 | lb(i1) = 29 | |
15446 | c return | |
15447 | e(i2)=0. | |
15448 | END IF | |
15449 | ||
15450 | 100 CONTINUE | |
15451 | lbp1=lb(i1) | |
15452 | lbp2=lb(i2) | |
15453 | emm1=e(i1) | |
15454 | emm2=e(i2) | |
15455 | ||
15456 | RETURN | |
15457 | END | |
15458 | ********************************** | |
15459 | * PURPOSE: * | |
15460 | * DEALING WITH K+Y -> piN scattering | |
15461 | * | |
15462 | SUBROUTINE Crkhyp(PX,PY,PZ,SRT,I1,I2, | |
15463 | & XKY1, XKY2, XKY3, XKY4, XKY5, | |
15464 | & XKY6, XKY7, XKY8, XKY9, XKY10, XKY11, XKY12, XKY13, | |
15465 | & XKY14, XKY15, XKY16, XKY17, SIGK, IKMP, | |
15466 | & IBLOCK) | |
15467 | * | |
15468 | * Determine: * | |
15469 | * (1) relable particles in the final state * | |
15470 | * (2) new momenta of final state particles * | |
15471 | * * | |
15472 | * QUANTITIES: * | |
15473 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
15474 | * SRT - SQRT OF S * | |
15475 | * IBLOCK - INFORMATION about the reaction channel * | |
15476 | * * | |
15477 | * iblock - 1908 * | |
15478 | * iblock - 222 !! phi * | |
15479 | ********************************** | |
15480 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
15481 | 1 AMP=0.93828,AP1=0.13496,AMRHO=0.769,AMOMGA=0.782,APHI=1.02, | |
15482 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
15483 | parameter (pimass=0.140, AMETA = 0.5473, aka=0.498, | |
15484 | & aml=1.116,ams=1.193, AM1440 = 1.44, AM1535 = 1.535) | |
15485 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
15486 | COMMON /AA/ R(3,MAXSTR) | |
15487 | cc SAVE /AA/ | |
15488 | COMMON /BB/ P(3,MAXSTR) | |
15489 | cc SAVE /BB/ | |
15490 | COMMON /CC/ E(MAXSTR) | |
15491 | cc SAVE /CC/ | |
15492 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
15493 | cc SAVE /EE/ | |
15494 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
15495 | cc SAVE /input1/ | |
15496 | COMMON/RNDF77/NSEED | |
15497 | cc SAVE /RNDF77/ | |
15498 | SAVE | |
15499 | ||
15500 | XKY17=XKY17 | |
15501 | PX0=PX | |
15502 | PY0=PY | |
15503 | PZ0=PZ | |
15504 | IBLOCK=1908 | |
15505 | c | |
15506 | X1 = RANART(NSEED) * SIGK | |
15507 | XKY2 = XKY1 + XKY2 | |
15508 | XKY3 = XKY2 + XKY3 | |
15509 | XKY4 = XKY3 + XKY4 | |
15510 | XKY5 = XKY4 + XKY5 | |
15511 | XKY6 = XKY5 + XKY6 | |
15512 | XKY7 = XKY6 + XKY7 | |
15513 | XKY8 = XKY7 + XKY8 | |
15514 | XKY9 = XKY8 + XKY9 | |
15515 | XKY10 = XKY9 + XKY10 | |
15516 | XKY11 = XKY10 + XKY11 | |
15517 | XKY12 = XKY11 + XKY12 | |
15518 | XKY13 = XKY12 + XKY13 | |
15519 | XKY14 = XKY13 + XKY14 | |
15520 | XKY15 = XKY14 + XKY15 | |
15521 | XKY16 = XKY15 + XKY16 | |
15522 | IF (X1 .LE. XKY1) THEN | |
15523 | LB(I1) = 3 + int(3 * RANART(NSEED)) | |
15524 | LB(I2) = 1 + int(2 * RANART(NSEED)) | |
15525 | E(I1) = PIMASS | |
15526 | E(I2) = AMP | |
15527 | GOTO 100 | |
15528 | ELSE IF (X1 .LE. XKY2) THEN | |
15529 | LB(I1) = 3 + int(3 * RANART(NSEED)) | |
15530 | LB(I2) = 6 + int(4 * RANART(NSEED)) | |
15531 | E(I1) = PIMASS | |
15532 | E(I2) = AM0 | |
15533 | GOTO 100 | |
15534 | ELSE IF (X1 .LE. XKY3) THEN | |
15535 | LB(I1) = 3 + int(3 * RANART(NSEED)) | |
15536 | LB(I2) = 10 + int(2 * RANART(NSEED)) | |
15537 | E(I1) = PIMASS | |
15538 | E(I2) = AM1440 | |
15539 | GOTO 100 | |
15540 | ELSE IF (X1 .LE. XKY4) THEN | |
15541 | LB(I1) = 3 + int(3 * RANART(NSEED)) | |
15542 | LB(I2) = 12 + int(2 * RANART(NSEED)) | |
15543 | E(I1) = PIMASS | |
15544 | E(I2) = AM1535 | |
15545 | GOTO 100 | |
15546 | ELSE IF (X1 .LE. XKY5) THEN | |
15547 | LB(I1) = 25 + int(3 * RANART(NSEED)) | |
15548 | LB(I2) = 1 + int(2 * RANART(NSEED)) | |
15549 | E(I1) = AMRHO | |
15550 | E(I2) = AMP | |
15551 | GOTO 100 | |
15552 | ELSE IF (X1 .LE. XKY6) THEN | |
15553 | LB(I1) = 25 + int(3 * RANART(NSEED)) | |
15554 | LB(I2) = 6 + int(4 * RANART(NSEED)) | |
15555 | E(I1) = AMRHO | |
15556 | E(I2) = AM0 | |
15557 | GOTO 100 | |
15558 | ELSE IF (X1 .LE. XKY7) THEN | |
15559 | LB(I1) = 25 + int(3 * RANART(NSEED)) | |
15560 | LB(I2) = 10 + int(2 * RANART(NSEED)) | |
15561 | E(I1) = AMRHO | |
15562 | E(I2) = AM1440 | |
15563 | GOTO 100 | |
15564 | ELSE IF (X1 .LE. XKY8) THEN | |
15565 | LB(I1) = 25 + int(3 * RANART(NSEED)) | |
15566 | LB(I2) = 12 + int(2 * RANART(NSEED)) | |
15567 | E(I1) = AMRHO | |
15568 | E(I2) = AM1535 | |
15569 | GOTO 100 | |
15570 | ELSE IF (X1 .LE. XKY9) THEN | |
15571 | LB(I1) = 28 | |
15572 | LB(I2) = 1 + int(2 * RANART(NSEED)) | |
15573 | E(I1) = AMOMGA | |
15574 | E(I2) = AMP | |
15575 | GOTO 100 | |
15576 | ELSE IF (X1 .LE. XKY10) THEN | |
15577 | LB(I1) = 28 | |
15578 | LB(I2) = 6 + int(4 * RANART(NSEED)) | |
15579 | E(I1) = AMOMGA | |
15580 | E(I2) = AM0 | |
15581 | GOTO 100 | |
15582 | ELSE IF (X1 .LE. XKY11) THEN | |
15583 | LB(I1) = 28 | |
15584 | LB(I2) = 10 + int(2 * RANART(NSEED)) | |
15585 | E(I1) = AMOMGA | |
15586 | E(I2) = AM1440 | |
15587 | GOTO 100 | |
15588 | ELSE IF (X1 .LE. XKY12) THEN | |
15589 | LB(I1) = 28 | |
15590 | LB(I2) = 12 + int(2 * RANART(NSEED)) | |
15591 | E(I1) = AMOMGA | |
15592 | E(I2) = AM1535 | |
15593 | GOTO 100 | |
15594 | ELSE IF (X1 .LE. XKY13) THEN | |
15595 | LB(I1) = 0 | |
15596 | LB(I2) = 1 + int(2 * RANART(NSEED)) | |
15597 | E(I1) = AMETA | |
15598 | E(I2) = AMP | |
15599 | GOTO 100 | |
15600 | ELSE IF (X1 .LE. XKY14) THEN | |
15601 | LB(I1) = 0 | |
15602 | LB(I2) = 6 + int(4 * RANART(NSEED)) | |
15603 | E(I1) = AMETA | |
15604 | E(I2) = AM0 | |
15605 | GOTO 100 | |
15606 | ELSE IF (X1 .LE. XKY15) THEN | |
15607 | LB(I1) = 0 | |
15608 | LB(I2) = 10 + int(2 * RANART(NSEED)) | |
15609 | E(I1) = AMETA | |
15610 | E(I2) = AM1440 | |
15611 | GOTO 100 | |
15612 | ELSE IF (X1 .LE. XKY16) THEN | |
15613 | LB(I1) = 0 | |
15614 | LB(I2) = 12 + int(2 * RANART(NSEED)) | |
15615 | E(I1) = AMETA | |
15616 | E(I2) = AM1535 | |
15617 | GOTO 100 | |
15618 | ELSE | |
15619 | LB(I1) = 29 | |
15620 | LB(I2) = 1 + int(2 * RANART(NSEED)) | |
15621 | E(I1) = APHI | |
15622 | E(I2) = AMN | |
15623 | IBLOCK=222 | |
15624 | GOTO 100 | |
15625 | END IF | |
15626 | ||
15627 | 100 CONTINUE | |
15628 | if(IKMP .eq. -1) LB(I2) = -LB(I2) | |
15629 | ||
15630 | EM1=E(I1) | |
15631 | EM2=E(I2) | |
15632 | *----------------------------------------------------------------------- | |
15633 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
15634 | * ENERGY CONSERVATION | |
15635 | PR2 = (SRT**2 - EM1**2 - EM2**2)**2 | |
15636 | 1 - 4.0 * (EM1*EM2)**2 | |
15637 | IF(PR2.LE.0.)PR2=1.E-08 | |
15638 | PR=SQRT(PR2)/(2.*SRT) | |
15639 | * WE ASSUME AN ISOTROPIC ANGULAR DISTRIBUTION IN THE CMS | |
15640 | C1 = 1.0 - 2.0 * RANART(NSEED) | |
15641 | T1 = 2.0 * PI * RANART(NSEED) | |
15642 | S1 = SQRT( 1.0 - C1**2 ) | |
15643 | CT1 = COS(T1) | |
15644 | ST1 = SIN(T1) | |
15645 | * THE MOMENTUM IN THE CMS IN THE FINAL STATE | |
15646 | PZ = PR * C1 | |
15647 | PX = PR * S1*CT1 | |
15648 | PY = PR * S1*ST1 | |
15649 | * ROTATE IT | |
15650 | CALL ROTATE(PX0,PY0,PZ0,PX,PY,PZ) | |
15651 | RETURN | |
15652 | END | |
15653 | ********************************** | |
15654 | * * | |
15655 | * * | |
15656 | SUBROUTINE CRLAN(PX,PY,PZ,SRT,I1,I2,IBLOCK) | |
15657 | * PURPOSE: * | |
15658 | * DEALING WITH La/Si-bar + N --> K+ + pi PROCESS * | |
15659 | * La/Si + N-bar --> K- + pi * | |
15660 | * NOTE : * | |
15661 | * | |
15662 | * QUANTITIES: * | |
15663 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
15664 | * SRT - SQRT OF S * | |
15665 | * IBLOCK - THE INFORMATION BACK * | |
15666 | * 71 | |
15667 | ********************************** | |
15668 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
15669 | 1 AMP=0.93828,AP1=0.13496, | |
15670 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
15671 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974) | |
15672 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
15673 | COMMON /AA/ R(3,MAXSTR) | |
15674 | cc SAVE /AA/ | |
15675 | COMMON /BB/ P(3,MAXSTR) | |
15676 | cc SAVE /BB/ | |
15677 | COMMON /CC/ E(MAXSTR) | |
15678 | cc SAVE /CC/ | |
15679 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
15680 | cc SAVE /EE/ | |
15681 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
15682 | cc SAVE /input1/ | |
15683 | COMMON/RNDF77/NSEED | |
15684 | cc SAVE /RNDF77/ | |
15685 | SAVE | |
15686 | ||
15687 | PX0=PX | |
15688 | PY0=PY | |
15689 | PZ0=PZ | |
15690 | IBLOCK=71 | |
15691 | NTAG=0 | |
15692 | if( (lb(i1).ge.14.and.lb(i1).le.17) .OR. | |
15693 | & (lb(i2).ge.14.and.lb(i2).le.17) )then | |
15694 | LB(I1)=21 | |
15695 | else | |
15696 | LB(I1)=23 | |
15697 | endif | |
15698 | LB(I2)= 3 + int(3 * RANART(NSEED)) | |
15699 | E(I1)=AKA | |
15700 | E(I2)=0.138 | |
15701 | EM1=E(I1) | |
15702 | EM2=E(I2) | |
15703 | *----------------------------------------------------------------------- | |
15704 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
15705 | * ENERGY CONSERVATION | |
15706 | PR2 = (SRT**2 - EM1**2 - EM2**2)**2 | |
15707 | 1 - 4.0 * (EM1*EM2)**2 | |
15708 | IF(PR2.LE.0.)PR2=1.e-09 | |
15709 | PR=SQRT(PR2)/(2.*SRT) | |
15710 | C1 = 1.0 - 2.0 * RANART(NSEED) | |
15711 | T1 = 2.0 * PI * RANART(NSEED) | |
15712 | S1 = SQRT( 1.0 - C1**2 ) | |
15713 | CT1 = COS(T1) | |
15714 | ST1 = SIN(T1) | |
15715 | * THE MOMENTUM IN THE CMS IN THE FINAL STATE | |
15716 | PZ = PR * C1 | |
15717 | PX = PR * S1*CT1 | |
15718 | PY = PR * S1*ST1 | |
15719 | * FOR THE ISOTROPIC DISTRIBUTION THERE IS NO NEED TO ROTATE | |
15720 | RETURN | |
15721 | END | |
15722 | csp11/03/01 end | |
15723 | ********************************** | |
15724 | ********************************** | |
15725 | * * | |
15726 | * * | |
15727 | SUBROUTINE Crkpla(PX,PY,PZ,EC,SRT,spika, | |
15728 | & emm1,emm2,lbp1,lbp2,I1,I2,icase,srhoks) | |
15729 | ||
15730 | * PURPOSE: * | |
15731 | * DEALING WITH K+ + Pi ---> La/Si-bar + B, phi+K, phi+K* OR K* * | |
15732 | * K- + Pi ---> La/Si + B-bar OR K*-bar * | |
15733 | ||
15734 | * NOTE : * | |
15735 | * | |
15736 | * QUANTITIES: * | |
15737 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
15738 | * SRT - SQRT OF S * | |
15739 | * IBLOCK - THE INFORMATION BACK * | |
15740 | * 71 | |
15741 | ********************************** | |
15742 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
15743 | 1 AMP=0.93828,AP1=0.13496,AP2=0.13957,AMRHO=0.769,AMOMGA=0.782, | |
15744 | 2 AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
15745 | PARAMETER (AKA=0.498,AKS=0.895,ALA=1.1157,ASA=1.1974 | |
15746 | 1 ,APHI=1.02) | |
15747 | PARAMETER (AM1440 = 1.44, AM1535 = 1.535) | |
15748 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
15749 | COMMON /AA/ R(3,MAXSTR) | |
15750 | cc SAVE /AA/ | |
15751 | COMMON /BB/ P(3,MAXSTR) | |
15752 | cc SAVE /BB/ | |
15753 | COMMON /CC/ E(MAXSTR) | |
15754 | cc SAVE /CC/ | |
15755 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
15756 | cc SAVE /EE/ | |
15757 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
15758 | cc SAVE /input1/ | |
15759 | COMMON/RNDF77/NSEED | |
15760 | cc SAVE /RNDF77/ | |
15761 | SAVE | |
15762 | ||
15763 | emm1=0. | |
15764 | emm2=0. | |
15765 | lbp1=0 | |
15766 | lbp2=0 | |
15767 | XKP0 = spika | |
15768 | XKP1 = 0. | |
15769 | XKP2 = 0. | |
15770 | XKP3 = 0. | |
15771 | XKP4 = 0. | |
15772 | XKP5 = 0. | |
15773 | XKP6 = 0. | |
15774 | XKP7 = 0. | |
15775 | XKP8 = 0. | |
15776 | XKP9 = 0. | |
15777 | XKP10 = 0. | |
15778 | sigm = 15. | |
15779 | c if(lb(i1).eq.21.or.lb(i2).eq.21)sigm=10. | |
15780 | pdd = (srt**2-(aka+ap1)**2)*(srt**2-(aka-ap1)**2) | |
15781 | c | |
15782 | if(srt .lt. (ala+amn))go to 70 | |
15783 | XKP1 = sigm*(4./3.)*(srt**2-(ala+amn)**2)* | |
15784 | & (srt**2-(ala-amn)**2)/pdd | |
15785 | if(srt .gt. (ala+am0))then | |
15786 | XKP2 = sigm*(16./3.)*(srt**2-(ala+am0)**2)* | |
15787 | & (srt**2-(ala-am0)**2)/pdd | |
15788 | endif | |
15789 | if(srt .gt. (ala+am1440))then | |
15790 | XKP3 = sigm*(4./3.)*(srt**2-(ala+am1440)**2)* | |
15791 | & (srt**2-(ala-am1440)**2)/pdd | |
15792 | endif | |
15793 | if(srt .gt. (ala+am1535))then | |
15794 | XKP4 = sigm*(4./3.)*(srt**2-(ala+am1535)**2)* | |
15795 | & (srt**2-(ala-am1535)**2)/pdd | |
15796 | endif | |
15797 | c | |
15798 | if(srt .gt. (asa+amn))then | |
15799 | XKP5 = sigm*4.*(srt**2-(asa+amn)**2)* | |
15800 | & (srt**2-(asa-amn)**2)/pdd | |
15801 | endif | |
15802 | if(srt .gt. (asa+am0))then | |
15803 | XKP6 = sigm*16.*(srt**2-(asa+am0)**2)* | |
15804 | & (srt**2-(asa-am0)**2)/pdd | |
15805 | endif | |
15806 | if(srt .gt. (asa+am1440))then | |
15807 | XKP7 = sigm*4.*(srt**2-(asa+am1440)**2)* | |
15808 | & (srt**2-(asa-am1440)**2)/pdd | |
15809 | endif | |
15810 | if(srt .gt. (asa+am1535))then | |
15811 | XKP8 = sigm*4.*(srt**2-(asa+am1535)**2)* | |
15812 | & (srt**2-(asa-am1535)**2)/pdd | |
15813 | endif | |
15814 | 70 continue | |
15815 | sig1 = 195.639 | |
15816 | sig2 = 372.378 | |
15817 | if(srt .gt. aphi+aka)then | |
15818 | pff = sqrt((srt**2-(aphi+aka)**2)*(srt**2-(aphi-aka)**2)) | |
15819 | XKP9 = sig1*pff/sqrt(pdd)*1./32./pi/srt**2 | |
15820 | if(srt .gt. aphi+aks)then | |
15821 | pff = sqrt((srt**2-(aphi+aks)**2)*(srt**2-(aphi-aks)**2)) | |
15822 | XKP10 = sig2*pff/sqrt(pdd)*3./32./pi/srt**2 | |
15823 | endif | |
15824 | endif | |
15825 | ||
15826 | clin-8/15/02 K pi -> K* (rho omega), from detailed balance, | |
15827 | c neglect rho and omega mass difference for now: | |
15828 | sigpik=0. | |
15829 | if(srt.gt.(amrho+aks)) then | |
15830 | sigpik=srhoks*9. | |
15831 | 1 *(srt**2-(0.77-aks)**2)*(srt**2-(0.77+aks)**2)/4 | |
15832 | 2 /srt**2/(px**2+py**2+pz**2) | |
15833 | if(srt.gt.(amomga+aks)) sigpik=sigpik*12./9. | |
15834 | endif | |
15835 | ||
15836 | c | |
15837 | sigkp = XKP0 + XKP1 + XKP2 + XKP3 + XKP4 | |
15838 | & + XKP5 + XKP6 + XKP7 + XKP8 + XKP9 + XKP10 +sigpik | |
15839 | icase = 0 | |
15840 | DSkn=SQRT(sigkp/PI/10.) | |
15841 | dsknr=dskn+0.1 | |
15842 | CALL DISTCE(I1,I2,dsknr,DSkn,DT,EC,SRT,IC, | |
15843 | 1 PX,PY,PZ) | |
15844 | IF(IC.EQ.-1)return | |
15845 | c | |
15846 | randu = RANART(NSEED)*sigkp | |
15847 | XKP1 = XKP0 + XKP1 | |
15848 | XKP2 = XKP1 + XKP2 | |
15849 | XKP3 = XKP2 + XKP3 | |
15850 | XKP4 = XKP3 + XKP4 | |
15851 | XKP5 = XKP4 + XKP5 | |
15852 | XKP6 = XKP5 + XKP6 | |
15853 | XKP7 = XKP6 + XKP7 | |
15854 | XKP8 = XKP7 + XKP8 | |
15855 | XKP9 = XKP8 + XKP9 | |
15856 | ||
15857 | XKP10 = XKP9 + XKP10 | |
15858 | c | |
15859 | c !! K* formation | |
15860 | if(randu .le. XKP0)then | |
15861 | icase = 1 | |
15862 | return | |
15863 | else | |
15864 | * La/Si-bar + B formation | |
15865 | icase = 2 | |
15866 | if( randu .le. XKP1 )then | |
15867 | lbp1 = -14 | |
15868 | lbp2 = 1 + int(2*RANART(NSEED)) | |
15869 | emm1 = ala | |
15870 | emm2 = amn | |
15871 | go to 60 | |
15872 | elseif( randu .le. XKP2 )then | |
15873 | lbp1 = -14 | |
15874 | lbp2 = 6 + int(4*RANART(NSEED)) | |
15875 | emm1 = ala | |
15876 | emm2 = am0 | |
15877 | go to 60 | |
15878 | elseif( randu .le. XKP3 )then | |
15879 | lbp1 = -14 | |
15880 | lbp2 = 10 + int(2*RANART(NSEED)) | |
15881 | emm1 = ala | |
15882 | emm2 = am1440 | |
15883 | go to 60 | |
15884 | elseif( randu .le. XKP4 )then | |
15885 | lbp1 = -14 | |
15886 | lbp2 = 12 + int(2*RANART(NSEED)) | |
15887 | emm1 = ala | |
15888 | emm2 = am1535 | |
15889 | go to 60 | |
15890 | elseif( randu .le. XKP5 )then | |
15891 | lbp1 = -15 - int(3*RANART(NSEED)) | |
15892 | lbp2 = 1 + int(2*RANART(NSEED)) | |
15893 | emm1 = asa | |
15894 | emm2 = amn | |
15895 | go to 60 | |
15896 | elseif( randu .le. XKP6 )then | |
15897 | lbp1 = -15 - int(3*RANART(NSEED)) | |
15898 | lbp2 = 6 + int(4*RANART(NSEED)) | |
15899 | emm1 = asa | |
15900 | emm2 = am0 | |
15901 | go to 60 | |
15902 | elseif( randu .lt. XKP7 )then | |
15903 | lbp1 = -15 - int(3*RANART(NSEED)) | |
15904 | lbp2 = 10 + int(2*RANART(NSEED)) | |
15905 | emm1 = asa | |
15906 | emm2 = am1440 | |
15907 | go to 60 | |
15908 | elseif( randu .lt. XKP8 )then | |
15909 | lbp1 = -15 - int(3*RANART(NSEED)) | |
15910 | lbp2 = 12 + int(2*RANART(NSEED)) | |
15911 | emm1 = asa | |
15912 | emm2 = am1535 | |
15913 | go to 60 | |
15914 | elseif( randu .lt. XKP9 )then | |
15915 | c !! phi +K formation (iblock=224) | |
15916 | icase = 3 | |
15917 | lbp1 = 29 | |
15918 | lbp2 = 23 | |
15919 | emm1 = aphi | |
15920 | emm2 = aka | |
15921 | if(lb(i1).eq.21.or.lb(i2).eq.21)then | |
15922 | c !! phi +K-bar formation (iblock=124) | |
15923 | lbp2 = 21 | |
15924 | icase = -3 | |
15925 | endif | |
15926 | go to 60 | |
15927 | elseif( randu .lt. XKP10 )then | |
15928 | c !! phi +K* formation (iblock=226) | |
15929 | icase = 4 | |
15930 | lbp1 = 29 | |
15931 | lbp2 = 30 | |
15932 | emm1 = aphi | |
15933 | emm2 = aks | |
15934 | if(lb(i1).eq.21.or.lb(i2).eq.21)then | |
15935 | lbp2 = -30 | |
15936 | icase = -4 | |
15937 | endif | |
15938 | go to 60 | |
15939 | ||
15940 | else | |
15941 | c !! (rho,omega) +K* formation (iblock=88) | |
15942 | icase=5 | |
15943 | lbp1=25+int(3*RANART(NSEED)) | |
15944 | lbp2=30 | |
15945 | emm1=amrho | |
15946 | emm2=aks | |
15947 | if(srt.gt.(amomga+aks).and.RANART(NSEED).lt.0.25) then | |
15948 | lbp1=28 | |
15949 | emm1=amomga | |
15950 | endif | |
15951 | if(lb(i1).eq.21.or.lb(i2).eq.21)then | |
15952 | lbp2=-30 | |
15953 | icase=-5 | |
15954 | endif | |
15955 | ||
15956 | endif | |
15957 | endif | |
15958 | c | |
15959 | 60 if( icase.eq.2 .and. (lb(i1).eq.21.or.lb(i2).eq.21) )then | |
15960 | lbp1 = -lbp1 | |
15961 | lbp2 = -lbp2 | |
15962 | endif | |
15963 | PX0=PX | |
15964 | PY0=PY | |
15965 | PZ0=PZ | |
15966 | *----------------------------------------------------------------------- | |
15967 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
15968 | * ENERGY CONSERVATION | |
15969 | PR2 = (SRT**2 - EMM1**2 - EMM2**2)**2 | |
15970 | 1 - 4.0 * (EMM1*EMM2)**2 | |
15971 | IF(PR2.LE.0.)PR2=1.e-09 | |
15972 | PR=SQRT(PR2)/(2.*SRT) | |
15973 | C1 = 1.0 - 2.0 * RANART(NSEED) | |
15974 | T1 = 2.0 * PI * RANART(NSEED) | |
15975 | S1 = SQRT( 1.0 - C1**2 ) | |
15976 | CT1 = COS(T1) | |
15977 | ST1 = SIN(T1) | |
15978 | * THE MOMENTUM IN THE CMS IN THE FINAL STATE | |
15979 | PZ = PR * C1 | |
15980 | PX = PR * S1*CT1 | |
15981 | PY = PR * S1*ST1 | |
15982 | * FOR THE ISOTROPIC DISTRIBUTION THERE IS NO NEED TO ROTATE | |
15983 | RETURN | |
15984 | END | |
15985 | ********************************** | |
15986 | * * | |
15987 | * * | |
15988 | SUBROUTINE Crkphi(PX,PY,PZ,EC,SRT,IBLOCK, | |
15989 | & emm1,emm2,lbp1,lbp2,I1,I2,ikk,icase,rrkk,prkk) | |
15990 | ||
15991 | * PURPOSE: * | |
15992 | * DEALING WITH KKbar, KK*bar, KbarK*, K*K*bar --> Phi + pi(rho,omega) | |
15993 | * and KKbar --> (pi eta) (pi eta), (rho omega) (rho omega) | |
15994 | * and KK*bar or Kbar K* --> (pi eta) (rho omega) | |
15995 | * | |
15996 | * NOTE : * | |
15997 | * | |
15998 | * QUANTITIES: * | |
15999 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
16000 | * SRT - SQRT OF S * | |
16001 | * IBLOCK - THE INFORMATION BACK * | |
16002 | * 222 | |
16003 | ********************************** | |
16004 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
16005 | 1 AMP=0.93828,AP1=0.13496,AP2=0.13957,APHI=1.02, | |
16006 | 2 AM0=1.232,AMNS=1.52,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
16007 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974,ACAS=1.3213) | |
16008 | PARAMETER (AKS=0.895,AOMEGA=0.7819, ARHO=0.77) | |
16009 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
16010 | COMMON /AA/ R(3,MAXSTR) | |
16011 | cc SAVE /AA/ | |
16012 | COMMON /BB/ P(3,MAXSTR) | |
16013 | cc SAVE /BB/ | |
16014 | COMMON /CC/ E(MAXSTR) | |
16015 | cc SAVE /CC/ | |
16016 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
16017 | cc SAVE /EE/ | |
16018 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
16019 | cc SAVE /input1/ | |
16020 | COMMON/RNDF77/NSEED | |
16021 | cc SAVE /RNDF77/ | |
16022 | SAVE | |
16023 | ||
16024 | lb1 = lb(i1) | |
16025 | lb2 = lb(i2) | |
16026 | icase = 0 | |
16027 | ||
16028 | c if(srt .lt. aphi+ap1)return | |
16029 | cc if(srt .lt. aphi+ap1) then | |
16030 | if(srt .lt. (aphi+ap1)) then | |
16031 | sig1 = 0. | |
16032 | sig2 = 0. | |
16033 | sig3 = 0. | |
16034 | else | |
16035 | c | |
16036 | if((lb1.eq.23.and.lb2.eq.21).or.(lb2.eq.23.and.lb1.eq.21))then | |
16037 | dnr = 4. | |
16038 | ikk = 2 | |
16039 | elseif((lb1.eq.21.and.lb2.eq.30).or.(lb2.eq.21.and.lb1.eq.30) | |
16040 | & .or.(lb1.eq.23.and.lb2.eq.-30).or.(lb2.eq.23.and.lb1.eq.-30))then | |
16041 | dnr = 12. | |
16042 | ikk = 1 | |
16043 | else | |
16044 | dnr = 36. | |
16045 | ikk = 0 | |
16046 | endif | |
16047 | ||
16048 | sig1 = 0. | |
16049 | sig2 = 0. | |
16050 | sig3 = 0. | |
16051 | srri = E(i1)+E(i2) | |
16052 | srr1 = aphi+ap1 | |
16053 | srr2 = aphi+aomega | |
16054 | srr3 = aphi+arho | |
16055 | c | |
16056 | pii = (srt**2-(e(i1)+e(i2))**2)*(srt**2-(e(i1)-e(i2))**2) | |
16057 | srrt = srt - amax1(srri,srr1) | |
16058 | cc to avoid divergent/negative values at small srrt: | |
16059 | c if(srrt .lt. 0.3)then | |
16060 | if(srrt .lt. 0.3 .and. srrt .gt. 0.01)then | |
16061 | sig = 1.69/(srrt**0.141 - 0.407) | |
16062 | else | |
16063 | sig = 3.74 + 0.008*srrt**1.9 | |
16064 | endif | |
16065 | sig1=sig*(9./dnr)*(srt**2-(aphi+ap1)**2)* | |
16066 | & (srt**2-(aphi-ap1)**2)/pii | |
16067 | if(srt .gt. aphi+aomega)then | |
16068 | srrt = srt - amax1(srri,srr2) | |
16069 | cc if(srrt .lt. 0.3)then | |
16070 | if(srrt .lt. 0.3 .and. srrt .gt. 0.01)then | |
16071 | sig = 1.69/(srrt**0.141 - 0.407) | |
16072 | else | |
16073 | sig = 3.74 + 0.008*srrt**1.9 | |
16074 | endif | |
16075 | sig2=sig*(9./dnr)*(srt**2-(aphi+aomega)**2)* | |
16076 | & (srt**2-(aphi-aomega)**2)/pii | |
16077 | endif | |
16078 | if(srt .gt. aphi+arho)then | |
16079 | srrt = srt - amax1(srri,srr3) | |
16080 | cc if(srrt .lt. 0.3)then | |
16081 | if(srrt .lt. 0.3 .and. srrt .gt. 0.01)then | |
16082 | sig = 1.69/(srrt**0.141 - 0.407) | |
16083 | else | |
16084 | sig = 3.74 + 0.008*srrt**1.9 | |
16085 | endif | |
16086 | sig3=sig*(27./dnr)*(srt**2-(aphi+arho)**2)* | |
16087 | & (srt**2-(aphi-arho)**2)/pii | |
16088 | endif | |
16089 | c sig1 = amin1(20.,sig1) | |
16090 | c sig2 = amin1(20.,sig2) | |
16091 | c sig3 = amin1(20.,sig3) | |
16092 | endif | |
16093 | ||
16094 | rrkk0=rrkk | |
16095 | prkk0=prkk | |
16096 | SIGM=0. | |
16097 | if((lb1.eq.23.and.lb2.eq.21).or.(lb2.eq.23.and.lb1.eq.21))then | |
16098 | CALL XKKANN(SRT, XSK1, XSK2, XSK3, XSK4, XSK5, | |
16099 | & XSK6, XSK7, XSK8, XSK9, XSK10, XSK11, SIGM, rrkk0) | |
16100 | elseif((lb1.eq.21.and.lb2.eq.30).or.(lb2.eq.21.and.lb1.eq.30) | |
16101 | & .or.(lb1.eq.23.and.lb2.eq.-30).or.(lb2.eq.23.and.lb1.eq.-30))then | |
16102 | CALL XKKSAN(i1,i2,SRT,SIGKS1,SIGKS2,SIGKS3,SIGKS4,SIGM,prkk0) | |
16103 | else | |
16104 | endif | |
16105 | c | |
16106 | c sigks = sig1 + sig2 + sig3 | |
16107 | sigm0=sigm | |
16108 | sigks = sig1 + sig2 + sig3 + SIGM | |
16109 | DSkn=SQRT(sigks/PI/10.) | |
16110 | dsknr=dskn+0.1 | |
16111 | CALL DISTCE(I1,I2,dsknr,DSkn,DT,EC,SRT,IC, | |
16112 | 1 PX,PY,PZ) | |
16113 | IF(IC.EQ.-1)return | |
16114 | icase = 1 | |
16115 | ranx = RANART(NSEED) | |
16116 | ||
16117 | lbp1 = 29 | |
16118 | emm1 = aphi | |
16119 | if(ranx .le. sig1/sigks)then | |
16120 | lbp2 = 3 + int(3*RANART(NSEED)) | |
16121 | emm2 = ap1 | |
16122 | elseif(ranx .le. (sig1+sig2)/sigks)then | |
16123 | lbp2 = 28 | |
16124 | emm2 = aomega | |
16125 | elseif(ranx .le. (sig1+sig2+sig3)/sigks)then | |
16126 | lbp2 = 25 + int(3*RANART(NSEED)) | |
16127 | emm2 = arho | |
16128 | else | |
16129 | if((lb1.eq.23.and.lb2.eq.21) | |
16130 | & .or.(lb2.eq.23.and.lb1.eq.21))then | |
16131 | CALL crkkpi(I1,I2,XSK1, XSK2, XSK3, XSK4, | |
16132 | & XSK5, XSK6, XSK7, XSK8, XSK9, XSK10, XSK11, SIGM0, | |
16133 | & IBLOCK,lbp1,lbp2,emm1,emm2) | |
16134 | elseif((lb1.eq.21.and.lb2.eq.30) | |
16135 | & .or.(lb2.eq.21.and.lb1.eq.30) | |
16136 | & .or.(lb1.eq.23.and.lb2.eq.-30) | |
16137 | & .or.(lb2.eq.23.and.lb1.eq.-30))then | |
16138 | CALL crkspi(I1,I2,SIGKS1, SIGKS2, SIGKS3, SIGKS4, | |
16139 | & SIGM0,IBLOCK,lbp1,lbp2,emm1,emm2) | |
16140 | else | |
16141 | endif | |
16142 | endif | |
16143 | * | |
16144 | PX0=PX | |
16145 | PY0=PY | |
16146 | PZ0=PZ | |
16147 | *----------------------------------------------------------------------- | |
16148 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
16149 | * ENERGY CONSERVATION | |
16150 | PR2 = (SRT**2 - EMM1**2 - EMM2**2)**2 | |
16151 | 1 - 4.0 * (EMM1*EMM2)**2 | |
16152 | IF(PR2.LE.0.)PR2=1.e-09 | |
16153 | PR=SQRT(PR2)/(2.*SRT) | |
16154 | C1 = 1.0 - 2.0 * RANART(NSEED) | |
16155 | T1 = 2.0 * PI * RANART(NSEED) | |
16156 | S1 = SQRT( 1.0 - C1**2 ) | |
16157 | CT1 = COS(T1) | |
16158 | ST1 = SIN(T1) | |
16159 | * THE MOMENTUM IN THE CMS IN THE FINAL STATE | |
16160 | PZ = PR * C1 | |
16161 | PX = PR * S1*CT1 | |
16162 | PY = PR * S1*ST1 | |
16163 | * FOR THE ISOTROPIC DISTRIBUTION THERE IS NO NEED TO ROTATE | |
16164 | RETURN | |
16165 | END | |
16166 | csp11/21/01 end | |
16167 | ********************************** | |
16168 | * * | |
16169 | * * | |
16170 | SUBROUTINE Crksph(PX,PY,PZ,EC,SRT, | |
16171 | & emm1,emm2,lbp1,lbp2,I1,I2,ikkg,ikkl,iblock, | |
16172 | & icase,srhoks) | |
16173 | ||
16174 | * PURPOSE: * | |
16175 | * DEALING WITH K + rho(omega) or K* + pi(rho,omega) | |
16176 | * --> Phi + K(K*), pi + K* or pi + K, and elastic | |
16177 | * NOTE : * | |
16178 | * | |
16179 | * QUANTITIES: * | |
16180 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
16181 | * SRT - SQRT OF S * | |
16182 | * IBLOCK - THE INFORMATION BACK * | |
16183 | * 222 | |
16184 | * 223 --> phi + pi(rho,omega) | |
16185 | * 224 --> phi + K <-> K + pi(rho,omega) | |
16186 | * 225 --> phi + K <-> K* + pi(rho,omega) | |
16187 | * 226 --> phi + K* <-> K + pi(rho,omega) | |
16188 | * 227 --> phi + K* <-> K* + pi(rho,omega) | |
16189 | ********************************** | |
16190 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
16191 | 1 AMP=0.93828,AP1=0.13496,AP2=0.13957,APHI=1.02, | |
16192 | 2 AM0=1.232,AMNS=1.52,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
16193 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974,ACAS=1.3213) | |
16194 | PARAMETER (AKS=0.895,AOMEGA=0.7819, ARHO=0.77) | |
16195 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
16196 | COMMON /AA/ R(3,MAXSTR) | |
16197 | cc SAVE /AA/ | |
16198 | COMMON /BB/ P(3,MAXSTR) | |
16199 | cc SAVE /BB/ | |
16200 | COMMON /CC/ E(MAXSTR) | |
16201 | cc SAVE /CC/ | |
16202 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
16203 | cc SAVE /EE/ | |
16204 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
16205 | cc SAVE /input1/ | |
16206 | COMMON/RNDF77/NSEED | |
16207 | cc SAVE /RNDF77/ | |
16208 | SAVE | |
16209 | ||
16210 | lb1 = lb(i1) | |
16211 | lb2 = lb(i2) | |
16212 | icase = 0 | |
16213 | sigela=10. | |
16214 | sigkm=0. | |
16215 | c K(K*) + rho(omega) -> pi K*(K) | |
16216 | if((lb1.ge.25.and.lb1.le.28).or.(lb2.ge.25.and.lb2.le.28)) then | |
16217 | if(iabs(lb1).eq.30.or.iabs(lb2).eq.30) then | |
16218 | sigkm=srhoks | |
16219 | clin-2/26/03 check whether (rho K) is above the (pi K*) thresh: | |
16220 | elseif((lb1.eq.23.or.lb1.eq.21.or.lb2.eq.23.or.lb2.eq.21) | |
16221 | 1 .and.srt.gt.(ap2+aks)) then | |
16222 | sigkm=srhoks | |
16223 | endif | |
16224 | endif | |
16225 | ||
16226 | c if(srt .lt. aphi+aka)return | |
16227 | if(srt .lt. (aphi+aka)) then | |
16228 | sig11=0. | |
16229 | sig22=0. | |
16230 | else | |
16231 | ||
16232 | c K*-bar +pi --> phi + (K,K*)-bar | |
16233 | if( (iabs(lb1).eq.30.and.(lb2.ge.3.and.lb2.le.5)) .or. | |
16234 | & (iabs(lb2).eq.30.and.(lb1.ge.3.and.lb1.le.5)) )then | |
16235 | dnr = 18. | |
16236 | ikkl = 0 | |
16237 | IBLOCK = 225 | |
16238 | c sig1 = 15.0 | |
16239 | c sig2 = 30.0 | |
16240 | clin-2/06/03 these large values reduces to ~10 mb for sig11 or sig22 | |
16241 | c due to the factors of ~1/(32*pi*s)~1/200: | |
16242 | sig1 = 2047.042 | |
16243 | sig2 = 1496.692 | |
16244 | c K(-bar)+rho --> phi + (K,K*)-bar | |
16245 | elseif((lb1.eq.23.or.lb1.eq.21.and.(lb2.ge.25.and.lb2.le.27)).or. | |
16246 | & (lb2.eq.23.or.lb2.eq.21.and.(lb1.ge.25.and.lb1.le.27)) )then | |
16247 | dnr = 18. | |
16248 | ikkl = 1 | |
16249 | IBLOCK = 224 | |
16250 | c sig1 = 3.5 | |
16251 | c sig2 = 9.0 | |
16252 | sig1 = 526.702 | |
16253 | sig2 = 1313.960 | |
16254 | c K*(-bar) +rho | |
16255 | elseif( (iabs(lb1).eq.30.and.(lb2.ge.25.and.lb2.le.27)) .or. | |
16256 | & (iabs(lb2).eq.30.and.(lb1.ge.25.and.lb1.le.27)) )then | |
16257 | dnr = 54. | |
16258 | ikkl = 0 | |
16259 | IBLOCK = 225 | |
16260 | c sig1 = 3.5 | |
16261 | c sig2 = 9.0 | |
16262 | sig1 = 1371.257 | |
16263 | sig2 = 6999.840 | |
16264 | c K(-bar) + omega | |
16265 | elseif( ((lb1.eq.23.or.lb1.eq.21) .and. lb2.eq.28).or. | |
16266 | & ((lb2.eq.23.or.lb2.eq.21) .and. lb1.eq.28) )then | |
16267 | dnr = 6. | |
16268 | ikkl = 1 | |
16269 | IBLOCK = 224 | |
16270 | c sig1 = 3.5 | |
16271 | c sig2 = 6.5 | |
16272 | sig1 = 355.429 | |
16273 | sig2 = 440.558 | |
16274 | c K*(-bar) +omega | |
16275 | else | |
16276 | dnr = 18. | |
16277 | ikkl = 0 | |
16278 | IBLOCK = 225 | |
16279 | c sig1 = 3.5 | |
16280 | c sig2 = 15.0 | |
16281 | sig1 = 482.292 | |
16282 | sig2 = 1698.903 | |
16283 | endif | |
16284 | ||
16285 | sig11 = 0. | |
16286 | sig22 = 0. | |
16287 | c sig11=sig1*(6./dnr)*(srt**2-(aphi+aka)**2)* | |
16288 | c & (srt**2-(aphi-aka)**2)/(srt**2-(e(i1)+e(i2))**2)/ | |
16289 | c & (srt**2-(e(i1)-e(i2))**2) | |
16290 | pii = sqrt((srt**2-(e(i1)+e(i2))**2)*(srt**2-(e(i1)-e(i2))**2)) | |
16291 | pff = sqrt((srt**2-(aphi+aka)**2)*(srt**2-(aphi-aka)**2)) | |
16292 | sig11 = sig1*pff/pii*6./dnr/32./pi/srt**2 | |
16293 | c | |
16294 | if(srt .gt. aphi+aks)then | |
16295 | c sig22=sig2*(18./dnr)*(srt**2-(aphi+aks)**2)* | |
16296 | c & (srt**2-(aphi-aks)**2)/(srt**2-(e(i1)+e(i2))**2)/ | |
16297 | c & (srt**2-(e(i1)-e(i2))**2) | |
16298 | pff = sqrt((srt**2-(aphi+aks)**2)*(srt**2-(aphi-aks)**2)) | |
16299 | sig22 = sig2*pff/pii*18./dnr/32./pi/srt**2 | |
16300 | endif | |
16301 | c sig11 = amin1(20.,sig11) | |
16302 | c sig22 = amin1(20.,sig22) | |
16303 | c | |
16304 | endif | |
16305 | ||
16306 | c sigks = sig11 + sig22 | |
16307 | sigks=sig11+sig22+sigela+sigkm | |
16308 | c | |
16309 | DSkn=SQRT(sigks/PI/10.) | |
16310 | dsknr=dskn+0.1 | |
16311 | CALL DISTCE(I1,I2,dsknr,DSkn,DT,EC,SRT,IC, | |
16312 | 1 PX,PY,PZ) | |
16313 | IF(IC.EQ.-1)return | |
16314 | icase = 1 | |
16315 | ranx = RANART(NSEED) | |
16316 | ||
16317 | if(ranx .le. (sigela/sigks))then | |
16318 | lbp1=lb1 | |
16319 | emm1=e(i1) | |
16320 | lbp2=lb2 | |
16321 | emm2=e(i2) | |
16322 | iblock=111 | |
16323 | elseif(ranx .le. ((sigela+sigkm)/sigks))then | |
16324 | lbp1=3+int(3*RANART(NSEED)) | |
16325 | emm1=0.14 | |
16326 | if(lb1.eq.23.or.lb2.eq.23) then | |
16327 | lbp2=30 | |
16328 | emm2=aks | |
16329 | elseif(lb1.eq.21.or.lb2.eq.21) then | |
16330 | lbp2=-30 | |
16331 | emm2=aks | |
16332 | elseif(lb1.eq.30.or.lb2.eq.30) then | |
16333 | lbp2=23 | |
16334 | emm2=aka | |
16335 | else | |
16336 | lbp2=21 | |
16337 | emm2=aka | |
16338 | endif | |
16339 | iblock=112 | |
16340 | elseif(ranx .le. ((sigela+sigkm+sig11)/sigks))then | |
16341 | lbp2 = 23 | |
16342 | emm2 = aka | |
16343 | ikkg = 1 | |
16344 | if(lb1.eq.21.or.lb2.eq.21.or.lb1.eq.-30.or.lb2.eq.-30)then | |
16345 | lbp2=21 | |
16346 | iblock=iblock-100 | |
16347 | endif | |
16348 | lbp1 = 29 | |
16349 | emm1 = aphi | |
16350 | else | |
16351 | lbp2 = 30 | |
16352 | emm2 = aks | |
16353 | ikkg = 0 | |
16354 | IBLOCK=IBLOCK+2 | |
16355 | if(lb1.eq.21.or.lb2.eq.21.or.lb1.eq.-30.or.lb2.eq.-30)then | |
16356 | lbp2=-30 | |
16357 | iblock=iblock-100 | |
16358 | endif | |
16359 | lbp1 = 29 | |
16360 | emm1 = aphi | |
16361 | endif | |
16362 | * | |
16363 | PX0=PX | |
16364 | PY0=PY | |
16365 | PZ0=PZ | |
16366 | *----------------------------------------------------------------------- | |
16367 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
16368 | * ENERGY CONSERVATION | |
16369 | PR2 = (SRT**2 - EMM1**2 - EMM2**2)**2 | |
16370 | 1 - 4.0 * (EMM1*EMM2)**2 | |
16371 | IF(PR2.LE.0.)PR2=1.e-09 | |
16372 | PR=SQRT(PR2)/(2.*SRT) | |
16373 | C1 = 1.0 - 2.0 * RANART(NSEED) | |
16374 | T1 = 2.0 * PI * RANART(NSEED) | |
16375 | S1 = SQRT( 1.0 - C1**2 ) | |
16376 | CT1 = COS(T1) | |
16377 | ST1 = SIN(T1) | |
16378 | * THE MOMENTUM IN THE CMS IN THE FINAL STATE | |
16379 | PZ = PR * C1 | |
16380 | PX = PR * S1*CT1 | |
16381 | PY = PR * S1*ST1 | |
16382 | * FOR THE ISOTROPIC DISTRIBUTION THERE IS NO NEED TO ROTATE | |
16383 | RETURN | |
16384 | END | |
16385 | csp11/21/01 end | |
16386 | ********************************** | |
16387 | ********************************** | |
16388 | SUBROUTINE bbkaon(ic,SRT,PX,PY,PZ,ana,PlX, | |
16389 | & PlY,PlZ,ala,pkX,PkY,PkZ,icou1) | |
16390 | * purpose: generate the momenta for kaon,lambda/sigma and nucleon/delta | |
16391 | * in the BB-->nlk process | |
16392 | * date: Sept. 9, 1994 | |
16393 | c | |
16394 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
16395 | cc SAVE /input1/ | |
16396 | COMMON/RNDF77/NSEED | |
16397 | cc SAVE /RNDF77/ | |
16398 | SAVE | |
16399 | ||
16400 | PI=3.1415962 | |
16401 | icou1=0 | |
16402 | aka=0.498 | |
16403 | ala=1.116 | |
16404 | if(ic.eq.2.or.ic.eq.4)ala=1.197 | |
16405 | ana=0.939 | |
16406 | * generate the mass of the delta | |
16407 | if(ic.gt.2)then | |
16408 | dmax=srt-aka-ala-0.02 | |
16409 | DM1=RMASS(DMAX,ISEED) | |
16410 | ana=dm1 | |
16411 | endif | |
16412 | t1=aka+ana+ala | |
16413 | t2=ana+ala-aka | |
16414 | if(srt.le.t1)then | |
16415 | icou1=-1 | |
16416 | return | |
16417 | endif | |
16418 | pmax=sqrt((srt**2-t1**2)*(srt**2-t2**2))/(2.*srt) | |
16419 | if(pmax.eq.0.)pmax=1.e-09 | |
16420 | * (1) Generate the momentum of the kaon according to the distribution Fkaon | |
16421 | * and assume that the angular distribution is isotropic | |
16422 | * in the cms of the colliding pair | |
16423 | ntry=0 | |
16424 | 1 pk=pmax*RANART(NSEED) | |
16425 | ntry=ntry+1 | |
16426 | prob=fkaon(pk,pmax) | |
16427 | if((prob.lt.RANART(NSEED)).and.(ntry.le.40))go to 1 | |
16428 | cs=1.-2.*RANART(NSEED) | |
16429 | ss=sqrt(1.-cs**2) | |
16430 | fai=2.*3.14*RANART(NSEED) | |
16431 | pkx=pk*ss*cos(fai) | |
16432 | pky=pk*ss*sin(fai) | |
16433 | pkz=pk*cs | |
16434 | * the energy of the kaon | |
16435 | ek=sqrt(aka**2+pk**2) | |
16436 | * (2) Generate the momentum of the nucleon/delta in the cms of N/delta | |
16437 | * and lamda/sigma | |
16438 | * the energy of the cms of NL | |
16439 | eln=srt-ek | |
16440 | if(eln.le.0)then | |
16441 | icou1=-1 | |
16442 | return | |
16443 | endif | |
16444 | * beta and gamma of the cms of L/S+N | |
16445 | bx=-pkx/eln | |
16446 | by=-pky/eln | |
16447 | bz=-pkz/eln | |
16448 | ga=1./sqrt(1.-bx**2-by**2-bz**2) | |
16449 | elnc=eln/ga | |
16450 | pn2=((elnc**2+ana**2-ala**2)/(2.*elnc))**2-ana**2 | |
16451 | if(pn2.le.0.)pn2=1.e-09 | |
16452 | pn=sqrt(pn2) | |
16453 | csn=1.-2.*RANART(NSEED) | |
16454 | ssn=sqrt(1.-csn**2) | |
16455 | fain=2.*3.14*RANART(NSEED) | |
16456 | px=pn*ssn*cos(fain) | |
16457 | py=pn*ssn*sin(fain) | |
16458 | pz=pn*csn | |
16459 | en=sqrt(ana**2+pn2) | |
16460 | * the momentum of the lambda/sigma in the n-l cms frame is | |
16461 | plx=-px | |
16462 | ply=-py | |
16463 | plz=-pz | |
16464 | * (3) LORENTZ-TRANSFORMATION INTO nn cms FRAME for the neutron/delta | |
16465 | PBETA = PX*BX + PY*By+ PZ*Bz | |
16466 | TRANS0 = GA * ( GA * PBETA / (GA + 1.) + En ) | |
16467 | Px = BX * TRANS0 + PX | |
16468 | Py = BY * TRANS0 + PY | |
16469 | Pz = BZ * TRANS0 + PZ | |
16470 | * (4) Lorentz-transformation for the lambda/sigma | |
16471 | el=sqrt(ala**2+plx**2+ply**2+plz**2) | |
16472 | PBETA = PlX*BX + PlY*By+ PlZ*Bz | |
16473 | TRANS0 = GA * ( GA * PBETA / (GA + 1.) + El ) | |
16474 | Plx = BX * TRANS0 + PlX | |
16475 | Ply = BY * TRANS0 + PlY | |
16476 | Plz = BZ * TRANS0 + PlZ | |
16477 | return | |
16478 | end | |
16479 | ****************************************** | |
16480 | * for pion+pion-->K+K- | |
16481 | c real*4 function pipik(srt) | |
16482 | real function pipik(srt) | |
16483 | * srt = DSQRT(s) in GeV * | |
16484 | * xsec = production cross section in mb * | |
16485 | * NOTE: DEVIDE THE CROSS SECTION TO OBTAIN K+ PRODUCTION * | |
16486 | ****************************************** | |
16487 | c real*4 xarray(5), earray(5) | |
16488 | real xarray(5), earray(5) | |
16489 | SAVE | |
16490 | data xarray /0.001, 0.7,1.5,1.7,2.0/ | |
16491 | data earray /1.,1.2,1.6,2.0,2.4/ | |
16492 | ||
16493 | pmass=0.9383 | |
16494 | * 1.Calculate p(lab) from srt [GeV] | |
16495 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
16496 | c ekin = 2.*pmass*((srt/(2.*pmass))**2 - 1.) | |
16497 | pipik=0. | |
16498 | if(srt.le.1.)return | |
16499 | if(srt.gt.2.4)then | |
16500 | pipik=2.0/2. | |
16501 | return | |
16502 | endif | |
16503 | if (srt .lt. earray(1)) then | |
16504 | pipik =xarray(1)/2. | |
16505 | return | |
16506 | end if | |
16507 | * | |
16508 | * 2.Interpolate double logarithmically to find sigma(srt) | |
16509 | * | |
16510 | do 1001 ie = 1,5 | |
16511 | if (earray(ie) .eq. srt) then | |
16512 | pipik = xarray(ie) | |
16513 | go to 10 | |
16514 | else if (earray(ie) .gt. srt) then | |
16515 | ymin = alog(xarray(ie-1)) | |
16516 | ymax = alog(xarray(ie)) | |
16517 | xmin = alog(earray(ie-1)) | |
16518 | xmax = alog(earray(ie)) | |
16519 | pipik = exp(ymin + (alog(srt)-xmin)*(ymax-ymin) | |
16520 | &/(xmax-xmin) ) | |
16521 | go to 10 | |
16522 | end if | |
16523 | 1001 continue | |
16524 | 10 PIPIK=PIPIK/2. | |
16525 | continue | |
16526 | return | |
16527 | END | |
16528 | ********************************** | |
16529 | * TOTAL PION-P INELASTIC CROSS SECTION | |
16530 | * from the CERN data book | |
16531 | * date: Sept.2, 1994 | |
16532 | * for pion++p-->Delta+pion | |
16533 | c real*4 function pionpp(srt) | |
16534 | real function pionpp(srt) | |
16535 | SAVE | |
16536 | * srt = DSQRT(s) in GeV * | |
16537 | * xsec = production cross section in fm**2 * | |
16538 | * earray = EXPerimental table with proton energies in MeV * | |
16539 | * xarray = EXPerimental table with cross sections in mb (curve to guide eye) * | |
16540 | * * | |
16541 | ****************************************** | |
16542 | pmass=0.14 | |
16543 | pmass1=0.938 | |
16544 | PIONPP=0.00001 | |
16545 | IF(SRT.LE.1.22)RETURN | |
16546 | * 1.Calculate p(lab) from srt [GeV] | |
16547 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
16548 | c ekin = 2.*pmass*((srt/(2.*pmass))**2 - 1.) | |
16549 | plab=sqrt(((srt**2-pmass**2-pmass1**2)/(2.*pmass1))**2-pmass**2) | |
16550 | pmin=0.3 | |
16551 | pmax=25.0 | |
16552 | if(plab.gt.pmax)then | |
16553 | pionpp=20./10. | |
16554 | return | |
16555 | endif | |
16556 | if(plab .lt. pmin)then | |
16557 | pionpp = 0. | |
16558 | return | |
16559 | end if | |
16560 | c* fit parameters | |
16561 | a=24.3 | |
16562 | b=-12.3 | |
16563 | c=0.324 | |
16564 | an=-1.91 | |
16565 | d=-2.44 | |
16566 | pionpp = a+b*(plab**an)+c*(alog(plab))**2+d*alog(plab) | |
16567 | if(pionpp.le.0)pionpp=0 | |
16568 | pionpp=pionpp/10. | |
16569 | return | |
16570 | END | |
16571 | ********************************** | |
16572 | * elementary cross sections | |
16573 | * from the CERN data book | |
16574 | * date: Sept.2, 1994 | |
16575 | * for pion-+p-->INELASTIC | |
16576 | c real*4 function pipp1(srt) | |
16577 | real function pipp1(srt) | |
16578 | SAVE | |
16579 | * srt = DSQRT(s) in GeV * | |
16580 | * xsec = production cross section in fm**2 * | |
16581 | * earray = EXPerimental table with proton energies in MeV * | |
16582 | * xarray = EXPerimental table with cross sections in mb (curve to guide eye) * | |
16583 | * UNITS: FM**2 | |
16584 | ****************************************** | |
16585 | pmass=0.14 | |
16586 | pmass1=0.938 | |
16587 | PIPP1=0.0001 | |
16588 | IF(SRT.LE.1.22)RETURN | |
16589 | * 1.Calculate p(lab) from srt [GeV] | |
16590 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
16591 | c ekin = 2.*pmass*((srt/(2.*pmass))**2 - 1.) | |
16592 | plab=sqrt(((srt**2-pmass**2-pmass1**2)/(2.*pmass1))**2-pmass**2) | |
16593 | pmin=0.3 | |
16594 | pmax=25.0 | |
16595 | if(plab.gt.pmax)then | |
16596 | pipp1=20./10. | |
16597 | return | |
16598 | endif | |
16599 | if(plab .lt. pmin)then | |
16600 | pipp1 = 0. | |
16601 | return | |
16602 | end if | |
16603 | c* fit parameters | |
16604 | a=26.6 | |
16605 | b=-7.18 | |
16606 | c=0.327 | |
16607 | an=-1.86 | |
16608 | d=-2.81 | |
16609 | pipp1 = a+b*(plab**an)+c*(alog(plab))**2+d*alog(plab) | |
16610 | if(pipp1.le.0)pipp1=0 | |
16611 | PIPP1=PIPP1/10. | |
16612 | return | |
16613 | END | |
16614 | * ***************************** | |
16615 | c real*4 function xrho(srt) | |
16616 | real function xrho(srt) | |
16617 | SAVE | |
16618 | * xsection for pp-->pp+rho | |
16619 | * ***************************** | |
16620 | pmass=0.9383 | |
16621 | rmass=0.77 | |
16622 | trho=0.151 | |
16623 | xrho=0.000000001 | |
16624 | if(srt.le.2.67)return | |
16625 | ESMIN=2.*0.9383+rmass-trho/2. | |
16626 | ES=srt | |
16627 | * the cross section for tho0 production is | |
16628 | xrho0=0.24*(es-esmin)/(1.4+(es-esmin)**2) | |
16629 | xrho=3.*Xrho0 | |
16630 | return | |
16631 | end | |
16632 | * ***************************** | |
16633 | c real*4 function omega(srt) | |
16634 | real function omega(srt) | |
16635 | SAVE | |
16636 | * xsection for pp-->pp+omega | |
16637 | * ***************************** | |
16638 | pmass=0.9383 | |
16639 | omass=0.782 | |
16640 | tomega=0.0084 | |
16641 | omega=0.00000001 | |
16642 | if(srt.le.2.68)return | |
16643 | ESMIN=2.*0.9383+omass-tomega/2. | |
16644 | es=srt | |
16645 | omega=0.36*(es-esmin)/(1.25+(es-esmin)**2) | |
16646 | return | |
16647 | end | |
16648 | ****************************************** | |
16649 | * for ppi(+)-->DELTA+pi | |
16650 | c real*4 function TWOPI(srt) | |
16651 | real function TWOPI(srt) | |
16652 | * This function contains the experimental pi+p-->DELTA+PION cross sections * | |
16653 | * srt = DSQRT(s) in GeV * | |
16654 | * xsec = production cross section in mb * | |
16655 | * earray = EXPerimental table with proton energies in MeV * | |
16656 | * xarray = EXPerimental table with cross sections in mb (curve to guide eye) * | |
16657 | * * | |
16658 | ****************************************** | |
16659 | c real*4 xarray(19), earray(19) | |
16660 | real xarray(19), earray(19) | |
16661 | SAVE | |
16662 | data xarray /0.300E-05,0.187E+01,0.110E+02,0.149E+02,0.935E+01, | |
16663 | &0.765E+01,0.462E+01,0.345E+01,0.241E+01,0.185E+01,0.165E+01, | |
16664 | &0.150E+01,0.132E+01,0.117E+01,0.116E+01,0.100E+01,0.856E+00, | |
16665 | &0.745E+00,0.300E-05/ | |
16666 | data earray /0.122E+01, 0.147E+01, 0.172E+01, 0.197E+01, | |
16667 | &0.222E+01, 0.247E+01, 0.272E+01, 0.297E+01, 0.322E+01, | |
16668 | &0.347E+01, 0.372E+01, 0.397E+01, 0.422E+01, 0.447E+01, | |
16669 | &0.472E+01, 0.497E+01, 0.522E+01, 0.547E+01, 0.572E+01/ | |
16670 | ||
16671 | pmass=0.14 | |
16672 | pmass1=0.938 | |
16673 | TWOPI=0.000001 | |
16674 | if(srt.le.1.22)return | |
16675 | * 1.Calculate p(lab) from srt [GeV] | |
16676 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
16677 | plab=SRT | |
16678 | if (plab .lt. earray(1)) then | |
16679 | TWOPI= 0.00001 | |
16680 | return | |
16681 | end if | |
16682 | * | |
16683 | * 2.Interpolate double logarithmically to find sigma(srt) | |
16684 | * | |
16685 | do 1001 ie = 1,19 | |
16686 | if (earray(ie) .eq. plab) then | |
16687 | TWOPI= xarray(ie) | |
16688 | return | |
16689 | else if (earray(ie) .gt. plab) then | |
16690 | ymin = alog(xarray(ie-1)) | |
16691 | ymax = alog(xarray(ie)) | |
16692 | xmin = alog(earray(ie-1)) | |
16693 | xmax = alog(earray(ie)) | |
16694 | TWOPI= exp(ymin + (alog(plab)-xmin)*(ymax-ymin) | |
16695 | & /(xmax-xmin) ) | |
16696 | return | |
16697 | end if | |
16698 | 1001 continue | |
16699 | return | |
16700 | END | |
16701 | ****************************************** | |
16702 | ****************************************** | |
16703 | * for ppi(+)-->DELTA+RHO | |
16704 | c real*4 function THREPI(srt) | |
16705 | real function THREPI(srt) | |
16706 | * This function contains the experimental pi+p-->DELTA + rho cross sections * | |
16707 | * srt = DSQRT(s) in GeV * | |
16708 | * xsec = production cross section in mb * | |
16709 | * earray = EXPerimental table with proton energies in MeV * | |
16710 | * xarray = EXPerimental table with cross sections in mb (curve to guide eye) * | |
16711 | * * | |
16712 | ****************************************** | |
16713 | c real*4 xarray(15), earray(15) | |
16714 | real xarray(15), earray(15) | |
16715 | SAVE | |
16716 | data xarray /8.0000000E-06,6.1999999E-05,1.881940,5.025690, | |
16717 | &11.80154,13.92114,15.07308,11.79571,11.53772,10.01197,9.792673, | |
16718 | &9.465264,8.970490,7.944254,6.886320/ | |
16719 | data earray /0.122E+01, 0.147E+01, 0.172E+01, 0.197E+01, | |
16720 | &0.222E+01, 0.247E+01, 0.272E+01, 0.297E+01, 0.322E+01, | |
16721 | &0.347E+01, 0.372E+01, 0.397E+01, 0.422E+01, 0.447E+01, | |
16722 | &0.472E+01/ | |
16723 | ||
16724 | pmass=0.14 | |
16725 | pmass1=0.938 | |
16726 | THREPI=0.000001 | |
16727 | if(srt.le.1.36)return | |
16728 | * 1.Calculate p(lab) from srt [GeV] | |
16729 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
16730 | plab=SRT | |
16731 | if (plab .lt. earray(1)) then | |
16732 | THREPI = 0.00001 | |
16733 | return | |
16734 | end if | |
16735 | * | |
16736 | * 2.Interpolate double logarithmically to find sigma(srt) | |
16737 | * | |
16738 | do 1001 ie = 1,15 | |
16739 | if (earray(ie) .eq. plab) then | |
16740 | THREPI= xarray(ie) | |
16741 | return | |
16742 | else if (earray(ie) .gt. plab) then | |
16743 | ymin = alog(xarray(ie-1)) | |
16744 | ymax = alog(xarray(ie)) | |
16745 | xmin = alog(earray(ie-1)) | |
16746 | xmax = alog(earray(ie)) | |
16747 | THREPI = exp(ymin + (alog(plab)-xmin)*(ymax-ymin) | |
16748 | & /(xmax-xmin) ) | |
16749 | return | |
16750 | end if | |
16751 | 1001 continue | |
16752 | return | |
16753 | END | |
16754 | ****************************************** | |
16755 | ****************************************** | |
16756 | * for ppi(+)-->DELTA+omega | |
16757 | c real*4 function FOURPI(srt) | |
16758 | real function FOURPI(srt) | |
16759 | * This function contains the experimental pi+p-->DELTA+PION cross sections * | |
16760 | * srt = DSQRT(s) in GeV * | |
16761 | * xsec = production cross section in mb * | |
16762 | * earray = EXPerimental table with proton energies in MeV * | |
16763 | * xarray = EXPerimental table with cross sections in mb (curve to guide eye) * | |
16764 | * * | |
16765 | ****************************************** | |
16766 | c real*4 xarray(10), earray(10) | |
16767 | real xarray(10), earray(10) | |
16768 | SAVE | |
16769 | data xarray /0.0001,1.986597,6.411932,7.636956, | |
16770 | &9.598362,9.889740,10.24317,10.80138,11.86988,12.83925/ | |
16771 | data earray /2.468,2.718,2.968,0.322E+01, | |
16772 | &0.347E+01, 0.372E+01, 0.397E+01, 0.422E+01, 0.447E+01, | |
16773 | &0.472E+01/ | |
16774 | ||
16775 | pmass=0.14 | |
16776 | pmass1=0.938 | |
16777 | FOURPI=0.000001 | |
16778 | if(srt.le.1.52)return | |
16779 | * 1.Calculate p(lab) from srt [GeV] | |
16780 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
16781 | plab=SRT | |
16782 | if (plab .lt. earray(1)) then | |
16783 | FOURPI= 0.00001 | |
16784 | return | |
16785 | end if | |
16786 | * | |
16787 | * 2.Interpolate double logarithmically to find sigma(srt) | |
16788 | * | |
16789 | do 1001 ie = 1,10 | |
16790 | if (earray(ie) .eq. plab) then | |
16791 | FOURPI= xarray(ie) | |
16792 | return | |
16793 | else if (earray(ie) .gt. plab) then | |
16794 | ymin = alog(xarray(ie-1)) | |
16795 | ymax = alog(xarray(ie)) | |
16796 | xmin = alog(earray(ie-1)) | |
16797 | xmax = alog(earray(ie)) | |
16798 | FOURPI= exp(ymin + (alog(plab)-xmin)*(ymax-ymin) | |
16799 | & /(xmax-xmin) ) | |
16800 | return | |
16801 | end if | |
16802 | 1001 continue | |
16803 | return | |
16804 | END | |
16805 | ****************************************** | |
16806 | ****************************************** | |
16807 | * for pion (rho or omega)+baryon resonance collisions | |
16808 | c real*4 function reab(i1,i2,srt,ictrl) | |
16809 | real function reab(i1,i2,srt,ictrl) | |
16810 | * This function calculates the cross section for | |
16811 | * pi+Delta(N*)-->N+PION process * | |
16812 | * srt = DSQRT(s) in GeV * | |
16813 | * reab = cross section in fm**2 * | |
16814 | * ictrl=1,2,3 for pion, rho and omega+D(N*) | |
16815 | **************************************** | |
16816 | PARAMETER (MAXSTR=150001,MAXR=1,PI=3.1415926) | |
16817 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
16818 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974) | |
16819 | parameter (amn=0.938,ap1=0.14,arho=0.77,aomega=0.782) | |
16820 | parameter (maxx=20,maxz=24) | |
16821 | COMMON /AA/ R(3,MAXSTR) | |
16822 | cc SAVE /AA/ | |
16823 | COMMON /BB/ P(3,MAXSTR) | |
16824 | cc SAVE /BB/ | |
16825 | COMMON /CC/ E(MAXSTR) | |
16826 | cc SAVE /CC/ | |
16827 | COMMON /DD/ RHO(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
16828 | & RHOP(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
16829 | & RHON(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ) | |
16830 | cc SAVE /DD/ | |
16831 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
16832 | cc SAVE /EE/ | |
16833 | SAVE | |
16834 | LB1=LB(I1) | |
16835 | LB2=LB(I2) | |
16836 | reab=0 | |
16837 | if(ictrl.eq.1.and.srt.le.(amn+2.*ap1+0.02))return | |
16838 | if(ictrl.eq.3.and.srt.le.(amn+ap1+aomega+0.02))return | |
16839 | pin2=((srt**2+ap1**2-amn**2)/(2.*srt))**2-ap1**2 | |
16840 | if(pin2.le.0)return | |
16841 | * for pion+D(N*)-->pion+N | |
16842 | if(ictrl.eq.1)then | |
16843 | if(e(i1).gt.1)then | |
16844 | ed=e(i1) | |
16845 | else | |
16846 | ed=e(i2) | |
16847 | endif | |
16848 | pout2=((srt**2+ap1**2-ed**2)/(2.*srt))**2-ap1**2 | |
16849 | if(pout2.le.0)return | |
16850 | xpro=twopi(srt)/10. | |
16851 | factor=1/3. | |
16852 | if( ((lb1.eq.8.and.lb2.eq.5).or. | |
16853 | & (lb1.eq.5.and.lb2.eq.8)) | |
16854 | & .OR.((lb1.eq.-8.and.lb2.eq.3).or. | |
16855 | & (lb1.eq.3.and.lb2.eq.-8)) )factor=1/4. | |
16856 | if((iabs(lb1).ge.10.and.iabs(lb1).le.13). | |
16857 | & or.(iabs(lb2).ge.10.and.iabs(lb2).le.13))factor=1. | |
16858 | reab=factor*pin2/pout2*xpro | |
16859 | return | |
16860 | endif | |
16861 | * for rho reabsorption | |
16862 | if(ictrl.eq.2)then | |
16863 | if(lb(i2).ge.25)then | |
16864 | ed=e(i1) | |
16865 | arho1=e(i2) | |
16866 | else | |
16867 | ed=e(i2) | |
16868 | arho1=e(i1) | |
16869 | endif | |
16870 | if(srt.le.(amn+ap1+arho1+0.02))return | |
16871 | pout2=((srt**2+arho1**2-ed**2)/(2.*srt))**2-arho1**2 | |
16872 | if(pout2.le.0)return | |
16873 | xpro=threpi(srt)/10. | |
16874 | factor=1/3. | |
16875 | if( ((lb1.eq.8.and.lb2.eq.27).or. | |
16876 | & (lb1.eq.27.and.lb2.eq.8)) | |
16877 | & .OR. ((lb1.eq.-8.and.lb2.eq.25).or. | |
16878 | & (lb1.eq.25.and.lb2.eq.-8)) )factor=1/4. | |
16879 | if((iabs(lb1).ge.10.and.iabs(lb1).le.13). | |
16880 | & or.(iabs(lb2).ge.10.and.iabs(lb2).le.13))factor=1. | |
16881 | reab=factor*pin2/pout2*xpro | |
16882 | return | |
16883 | endif | |
16884 | * for omega reabsorption | |
16885 | if(ictrl.eq.3)then | |
16886 | if(e(i1).gt.1)ed=e(i1) | |
16887 | if(e(i2).gt.1)ed=e(i2) | |
16888 | pout2=((srt**2+aomega**2-ed**2)/(2.*srt))**2-aomega**2 | |
16889 | if(pout2.le.0)return | |
16890 | xpro=fourpi(srt)/10. | |
16891 | factor=1/6. | |
16892 | if((iabs(lb1).ge.10.and.iabs(lb1).le.13). | |
16893 | & or.(iabs(lb2).ge.10.and.iabs(lb2).le.13))factor=1./3. | |
16894 | reab=factor*pin2/pout2*xpro | |
16895 | endif | |
16896 | return | |
16897 | END | |
16898 | ****************************************** | |
16899 | * for the reabsorption of two resonances | |
16900 | * This function calculates the cross section for | |
16901 | * DD-->NN, N*N*-->NN and DN*-->NN | |
16902 | c real*4 function reab2d(i1,i2,srt) | |
16903 | real function reab2d(i1,i2,srt) | |
16904 | * srt = DSQRT(s) in GeV * | |
16905 | * reab = cross section in mb | |
16906 | **************************************** | |
16907 | PARAMETER (MAXSTR=150001,MAXR=1,PI=3.1415926) | |
16908 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
16909 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974) | |
16910 | parameter (amn=0.938,ap1=0.14,arho=0.77,aomega=0.782) | |
16911 | parameter (maxx=20,maxz=24) | |
16912 | COMMON /AA/ R(3,MAXSTR) | |
16913 | cc SAVE /AA/ | |
16914 | COMMON /BB/ P(3,MAXSTR) | |
16915 | cc SAVE /BB/ | |
16916 | COMMON /CC/ E(MAXSTR) | |
16917 | cc SAVE /CC/ | |
16918 | COMMON /DD/ RHO(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
16919 | & RHOP(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
16920 | & RHON(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ) | |
16921 | cc SAVE /DD/ | |
16922 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
16923 | cc SAVE /EE/ | |
16924 | SAVE | |
16925 | reab2d=0 | |
16926 | LB1=iabs(LB(I1)) | |
16927 | LB2=iabs(LB(I2)) | |
16928 | ed1=e(i1) | |
16929 | ed2=e(i2) | |
16930 | pin2=(srt/2.)**2-amn**2 | |
16931 | pout2=((srt**2+ed1**2-ed2**2)/(2.*srt))**2-ed1**2 | |
16932 | if(pout2.le.0)return | |
16933 | xpro=x2pi(srt) | |
16934 | factor=1/4. | |
16935 | if((lb1.ge.10.and.lb1.le.13).and. | |
16936 | & (lb2.ge.10.and.lb2.le.13))factor=1. | |
16937 | if((lb1.ge.6.and.lb1.le.9).and. | |
16938 | & (lb2.gt.10.and.lb2.le.13))factor=1/2. | |
16939 | if((lb2.ge.6.and.lb2.le.9).and. | |
16940 | & (lb1.gt.10.and.lb1.le.13))factor=1/2. | |
16941 | reab2d=factor*pin2/pout2*xpro | |
16942 | return | |
16943 | end | |
16944 | *************************************** | |
16945 | SUBROUTINE rotate(PX0,PY0,PZ0,px,py,pz) | |
16946 | SAVE | |
16947 | * purpose: rotate the momentum of a particle in the CMS of p1+p2 such that | |
16948 | * the x' y' and z' in the cms of p1+p2 is the same as the fixed x y and z | |
16949 | * quantities: | |
16950 | * px0,py0 and pz0 are the cms momentum of the incoming colliding | |
16951 | * particles | |
16952 | * px, py and pz are the cms momentum of any one of the particles | |
16953 | * after the collision to be rotated | |
16954 | *************************************** | |
16955 | * the momentum, polar and azimuthal angles of the incoming momentm | |
16956 | PR0 = SQRT( PX0**2 + PY0**2 + PZ0**2 ) | |
16957 | IF(PR0.EQ.0)PR0=0.00000001 | |
16958 | C2 = PZ0 / PR0 | |
16959 | IF(PX0 .EQ. 0.0 .AND. PY0 .EQ. 0.0) THEN | |
16960 | T2 = 0.0 | |
16961 | ELSE | |
16962 | T2=ATAN2(PY0,PX0) | |
16963 | END IF | |
16964 | S2 = SQRT( 1.0 - C2**2 ) | |
16965 | CT2 = COS(T2) | |
16966 | ST2 = SIN(T2) | |
16967 | * the momentum, polar and azimuthal angles of the momentum to be rotated | |
16968 | PR=SQRT(PX**2+PY**2+PZ**2) | |
16969 | IF(PR.EQ.0)PR=0.0000001 | |
16970 | C1=PZ/PR | |
16971 | IF(PX.EQ.0.AND.PY.EQ.0)THEN | |
16972 | T1=0. | |
16973 | ELSE | |
16974 | T1=ATAN2(PY,PX) | |
16975 | ENDIF | |
16976 | S1 = SQRT( 1.0 - C1**2 ) | |
16977 | CT1 = COS(T1) | |
16978 | ST1 = SIN(T1) | |
16979 | SS = C2 * S1 * CT1 + S2 * C1 | |
16980 | * THE MOMENTUM AFTER ROTATION | |
16981 | PX = PR * ( SS*CT2 - S1*ST1*ST2 ) | |
16982 | PY = PR * ( SS*ST2 + S1*ST1*CT2 ) | |
16983 | PZ = PR * ( C1*C2 - S1*S2*CT1 ) | |
16984 | RETURN | |
16985 | END | |
16986 | ****************************************** | |
16987 | c real*4 function Xpp(srt) | |
16988 | real function Xpp(srt) | |
16989 | * This function contains the experimental total n-p cross sections * | |
16990 | * srt = DSQRT(s) in GeV * | |
16991 | * xsec = production cross section in mb * | |
16992 | * earray = EXPerimental table with proton energies in MeV * | |
16993 | * xarray = EXPerimental table with cross sections in mb (curve to guide eye) * | |
16994 | * WITH A CUTOFF AT 55MB * | |
16995 | ****************************************** | |
16996 | c real*4 xarray(14), earray(14) | |
16997 | real xarray(14), earray(14) | |
16998 | SAVE | |
16999 | data earray /20.,30.,40.,60.,80.,100., | |
17000 | &170.,250.,310., | |
17001 | &350.,460.,560.,660.,800./ | |
17002 | data xarray /150.,90.,80.6,48.0,36.6, | |
17003 | &31.6,25.9,24.0,23.1, | |
17004 | &24.0,28.3,33.6,41.5,47/ | |
17005 | ||
17006 | xpp=0. | |
17007 | pmass=0.9383 | |
17008 | * 1.Calculate E_kin(lab) [MeV] from srt [GeV] | |
17009 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
17010 | ekin = 2000.*pmass*((srt/(2.*pmass))**2 - 1.) | |
17011 | if (ekin .lt. earray(1)) then | |
17012 | xpp = xarray(1) | |
17013 | IF(XPP.GT.55)XPP=55 | |
17014 | return | |
17015 | end if | |
17016 | IF(EKIN.GT.EARRAY(14))THEN | |
17017 | XPP=XARRAY(14) | |
17018 | RETURN | |
17019 | ENDIF | |
17020 | * | |
17021 | * | |
17022 | * 2.Interpolate double logarithmically to find sigma(srt) | |
17023 | * | |
17024 | do 1001 ie = 1,14 | |
17025 | if (earray(ie) .eq. ekin) then | |
17026 | xPP= xarray(ie) | |
17027 | if(xpp.gt.55)xpp=55. | |
17028 | return | |
17029 | endif | |
17030 | if (earray(ie) .gt. ekin) then | |
17031 | ymin = alog(xarray(ie-1)) | |
17032 | ymax = alog(xarray(ie)) | |
17033 | xmin = alog(earray(ie-1)) | |
17034 | xmax = alog(earray(ie)) | |
17035 | XPP = exp(ymin + (alog(ekin)-xmin) | |
17036 | & *(ymax-ymin)/(xmax-xmin) ) | |
17037 | IF(XPP.GT.55)XPP=55. | |
17038 | go to 50 | |
17039 | end if | |
17040 | 1001 continue | |
17041 | 50 continue | |
17042 | return | |
17043 | END | |
17044 | ****************************************** | |
17045 | real function Xnp(srt) | |
17046 | * This function contains the experimental total n-p cross sections * | |
17047 | * srt = DSQRT(s) in GeV * | |
17048 | * xsec = production cross section in mb * | |
17049 | * earray = EXPerimental table with proton energies in MeV * | |
17050 | * xarray = EXPerimental table with cross sections in mb (curve to guide eye) * | |
17051 | * WITH A CUTOFF AT 55MB * | |
17052 | ****************************************** | |
17053 | c real*4 xarray(11), earray(11) | |
17054 | real xarray(11), earray(11) | |
17055 | SAVE | |
17056 | data earray /20.,30.,40.,60.,90.,135.0,200., | |
17057 | &300.,400.,600.,800./ | |
17058 | data xarray / 410.,270.,214.5,130.,78.,53.5, | |
17059 | &41.6,35.9,34.2,34.3,34.9/ | |
17060 | ||
17061 | xnp=0. | |
17062 | pmass=0.9383 | |
17063 | * 1.Calculate E_kin(lab) [MeV] from srt [GeV] | |
17064 | * Formula used: DSQRT(s) = 2 m DSQRT(E_kin/(2m) + 1) | |
17065 | ekin = 2000.*pmass*((srt/(2.*pmass))**2 - 1.) | |
17066 | if (ekin .lt. earray(1)) then | |
17067 | xnp = xarray(1) | |
17068 | IF(XNP.GT.55)XNP=55 | |
17069 | return | |
17070 | end if | |
17071 | IF(EKIN.GT.EARRAY(11))THEN | |
17072 | XNP=XARRAY(11) | |
17073 | RETURN | |
17074 | ENDIF | |
17075 | * | |
17076 | *Interpolate double logarithmically to find sigma(srt) | |
17077 | * | |
17078 | do 1001 ie = 1,11 | |
17079 | if (earray(ie) .eq. ekin) then | |
17080 | xNP = xarray(ie) | |
17081 | if(xnp.gt.55)xnp=55. | |
17082 | return | |
17083 | endif | |
17084 | if (earray(ie) .gt. ekin) then | |
17085 | ymin = alog(xarray(ie-1)) | |
17086 | ymax = alog(xarray(ie)) | |
17087 | xmin = alog(earray(ie-1)) | |
17088 | xmax = alog(earray(ie)) | |
17089 | xNP = exp(ymin + (alog(ekin)-xmin) | |
17090 | & *(ymax-ymin)/(xmax-xmin) ) | |
17091 | IF(XNP.GT.55)XNP=55 | |
17092 | go to 50 | |
17093 | end if | |
17094 | 1001 continue | |
17095 | 50 continue | |
17096 | return | |
17097 | END | |
17098 | ******************************* | |
17099 | function ptr(ptmax,iseed) | |
17100 | * (2) Generate the transverse momentum | |
17101 | * OF nucleons | |
17102 | ******************************* | |
17103 | COMMON/TABLE/ xarray(0:1000),earray(0:1000) | |
17104 | cc SAVE /TABLE/ | |
17105 | COMMON/RNDF77/NSEED | |
17106 | cc SAVE /RNDF77/ | |
17107 | SAVE | |
17108 | ISEED=ISEED | |
17109 | ptr=0. | |
17110 | if(ptmax.le.1.e-02)then | |
17111 | ptr=ptmax | |
17112 | return | |
17113 | endif | |
17114 | if(ptmax.gt.2.01)ptmax=2.01 | |
17115 | tryial=ptdis(ptmax)/ptdis(2.01) | |
17116 | XT=RANART(NSEED)*tryial | |
17117 | * look up the table and | |
17118 | *Interpolate double logarithmically to find pt | |
17119 | do 50 ie = 1,200 | |
17120 | if (earray(ie) .eq. xT) then | |
17121 | ptr = xarray(ie) | |
17122 | return | |
17123 | end if | |
17124 | if(xarray(ie-1).le.0.00001)go to 50 | |
17125 | if(xarray(ie).le.0.00001)go to 50 | |
17126 | if(earray(ie-1).le.0.00001)go to 50 | |
17127 | if(earray(ie).le.0.00001)go to 50 | |
17128 | if (earray(ie) .gt. xT) then | |
17129 | ymin = alog(xarray(ie-1)) | |
17130 | ymax = alog(xarray(ie)) | |
17131 | xmin = alog(earray(ie-1)) | |
17132 | xmax = alog(earray(ie)) | |
17133 | ptr= exp(ymin + (alog(xT)-xmin)*(ymax-ymin) | |
17134 | & /(xmax-xmin) ) | |
17135 | if(ptr.gt.ptmax)ptr=ptmax | |
17136 | return | |
17137 | endif | |
17138 | 50 continue | |
17139 | return | |
17140 | end | |
17141 | ||
17142 | ********************************** | |
17143 | ********************************** | |
17144 | * * | |
17145 | * * | |
17146 | SUBROUTINE XND(px,py,pz,srt,I1,I2,xinel, | |
17147 | & sigk,xsk1,xsk2,xsk3,xsk4,xsk5) | |
17148 | * PURPOSE: * | |
17149 | * calculate NUCLEON-BARYON RESONANCE inelatic Xsection * | |
17150 | * NOTE : * | |
17151 | * QUANTITIES: * | |
17152 | * CHANNELS. M12 IS THE REVERSAL CHANNEL OF N12 * | |
17153 | * N12, * | |
17154 | * M12=1 FOR p+n-->delta(+)+ n * | |
17155 | * 2 p+n-->delta(0)+ p * | |
17156 | * 3 p+p-->delta(++)+n * | |
17157 | * 4 p+p-->delta(+)+p * | |
17158 | * 5 n+n-->delta(0)+n * | |
17159 | * 6 n+n-->delta(-)+p * | |
17160 | * 7 n+p-->N*(0)(1440)+p * | |
17161 | * 8 n+p-->N*(+)(1440)+n * | |
17162 | * 9 p+p-->N*(+)(1535)+p * | |
17163 | * 10 n+n-->N*(0)(1535)+n * | |
17164 | * 11 n+p-->N*(+)(1535)+n * | |
17165 | * 12 n+p-->N*(0)(1535)+p | |
17166 | * 13 D(++)+D(-)-->N*(+)(1440)+n | |
17167 | * 14 D(++)+D(-)-->N*(0)(1440)+p | |
17168 | * 15 D(+)+D(0)--->N*(+)(1440)+n | |
17169 | * 16 D(+)+D(0)--->N*(0)(1440)+p | |
17170 | * 17 D(++)+D(0)-->N*(+)(1535)+p | |
17171 | * 18 D(++)+D(-)-->N*(0)(1535)+p | |
17172 | * 19 D(++)+D(-)-->N*(+)(1535)+n | |
17173 | * 20 D(+)+D(+)-->N*(+)(1535)+p | |
17174 | * 21 D(+)+D(0)-->N*(+)(1535)+n | |
17175 | * 22 D(+)+D(0)-->N*(0)(1535)+p | |
17176 | * 23 D(+)+D(-)-->N*(0)(1535)+n | |
17177 | * 24 D(0)+D(0)-->N*(0)(1535)+n | |
17178 | * 25 N*(+)(14)+N*(+)(14)-->N*(+)(15)+p | |
17179 | * 26 N*(0)(14)+N*(0)(14)-->N*(0)(15)+n | |
17180 | * 27 N*(+)(14)+N*(0)(14)-->N*(+)(15)+n | |
17181 | * 28 N*(+)(14)+N*(0)(14)-->N*(0)(15)+p | |
17182 | * 29 N*(+)(14)+D+-->N*(+)(15)+p | |
17183 | * 30 N*(+)(14)+D0-->N*(+)(15)+n | |
17184 | * 31 N*(+)(14)+D(-)-->N*(0)(1535)+n | |
17185 | * 32 N*(0)(14)+D++--->N*(+)(15)+p | |
17186 | * 33 N*(0)(14)+D+--->N*(+)(15)+n | |
17187 | * 34 N*(0)(14)+D+--->N*(0)(15)+p | |
17188 | * 35 N*(0)(14)+D0-->N*(0)(15)+n | |
17189 | * 36 N*(+)(14)+D0--->N*(0)(15)+p | |
17190 | * and more | |
17191 | *********************************** | |
17192 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
17193 | 1 AMP=0.93828,AP1=0.13496,AKA=0.498,APHI=1.020, | |
17194 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
17195 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
17196 | COMMON /AA/ R(3,MAXSTR) | |
17197 | cc SAVE /AA/ | |
17198 | COMMON /BB/ P(3,MAXSTR) | |
17199 | cc SAVE /BB/ | |
17200 | COMMON /CC/ E(MAXSTR) | |
17201 | cc SAVE /CC/ | |
17202 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
17203 | cc SAVE /EE/ | |
17204 | common /ff/f(-mx:mx,-my:my,-mz:mz,-mpx:mpx,-mpy:mpy,-mpz:mpzp) | |
17205 | cc SAVE /ff/ | |
17206 | common /gg/ dx,dy,dz,dpx,dpy,dpz | |
17207 | cc SAVE /gg/ | |
17208 | COMMON /INPUT/ NSTAR,NDIRCT,DIR | |
17209 | cc SAVE /INPUT/ | |
17210 | COMMON /NN/NNN | |
17211 | cc SAVE /NN/ | |
17212 | COMMON /BG/BETAX,BETAY,BETAZ,GAMMA | |
17213 | cc SAVE /BG/ | |
17214 | COMMON /RUN/NUM | |
17215 | cc SAVE /RUN/ | |
17216 | COMMON /PA/RPION(3,MAXSTR,MAXR) | |
17217 | cc SAVE /PA/ | |
17218 | COMMON /PB/PPION(3,MAXSTR,MAXR) | |
17219 | cc SAVE /PB/ | |
17220 | COMMON /PC/EPION(MAXSTR,MAXR) | |
17221 | cc SAVE /PC/ | |
17222 | COMMON /PD/LPION(MAXSTR,MAXR) | |
17223 | cc SAVE /PD/ | |
17224 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
17225 | cc SAVE /input1/ | |
17226 | SAVE | |
17227 | ||
17228 | *----------------------------------------------------------------------- | |
17229 | xinel=0. | |
17230 | sigk=0 | |
17231 | xsk1=0 | |
17232 | xsk2=0 | |
17233 | xsk3=0 | |
17234 | xsk4=0 | |
17235 | xsk5=0 | |
17236 | EM1=E(I1) | |
17237 | EM2=E(I2) | |
17238 | PR = SQRT( PX**2 + PY**2 + PZ**2 ) | |
17239 | * CAN HAPPEN ANY MORE ==> RETURN (2.04 = 2*AVMASS + PI-MASS+0.02) | |
17240 | IF (SRT .LT. 2.04) RETURN | |
17241 | * Resonance absorption or Delta + N-->N*(1440), N*(1535) | |
17242 | * COM: TEST FOR DELTA OR N* ABSORPTION | |
17243 | * IN THE PROCESS DELTA+N-->NN, N*+N-->NN | |
17244 | PRF=SQRT(0.25*SRT**2-AVMASS**2) | |
17245 | IF(EM1.GT.1.)THEN | |
17246 | DELTAM=EM1 | |
17247 | ELSE | |
17248 | DELTAM=EM2 | |
17249 | ENDIF | |
17250 | RENOM=DELTAM*PRF**2/DENOM(SRT,1.)/PR | |
17251 | RENOMN=DELTAM*PRF**2/DENOM(SRT,2.)/PR | |
17252 | RENOM1=DELTAM*PRF**2/DENOM(SRT,-1.)/PR | |
17253 | * avoid the inelastic collisions between n+delta- -->N+N | |
17254 | * and p+delta++ -->N+N due to charge conservation, | |
17255 | * but they can scatter to produce kaons | |
17256 | if((iabs(lb(i1)).eq.2).and.(iabs(lb(i2)).eq.6)) renom=0. | |
17257 | if((iabs(lb(i2)).eq.2).and.(iabs(lb(i1)).eq.6)) renom=0. | |
17258 | if((iabs(lb(i1)).eq.1).and.(iabs(lb(i2)).eq.9)) renom=0. | |
17259 | if((iabs(lb(i2)).eq.1).and.(iabs(lb(i1)).eq.9)) renom=0. | |
17260 | Call M1535(iabs(lb(i1)),iabs(lb(i2)),srt,x1535) | |
17261 | X1440=(3./4.)*SIGMA(SRT,2,0,1) | |
17262 | * CROSS SECTION FOR KAON PRODUCTION from the four channels | |
17263 | * for NLK channel | |
17264 | akp=0.498 | |
17265 | ak0=0.498 | |
17266 | ana=0.94 | |
17267 | ada=1.232 | |
17268 | al=1.1157 | |
17269 | as=1.1197 | |
17270 | xsk1=0 | |
17271 | xsk2=0 | |
17272 | xsk3=0 | |
17273 | xsk4=0 | |
17274 | c !! phi production | |
17275 | xsk5=0 | |
17276 | t1nlk=ana+al+akp | |
17277 | if(srt.le.t1nlk)go to 222 | |
17278 | XSK1=1.5*PPLPK(SRT) | |
17279 | * for DLK channel | |
17280 | t1dlk=ada+al+akp | |
17281 | t2dlk=ada+al-akp | |
17282 | if(srt.le.t1dlk)go to 222 | |
17283 | es=srt | |
17284 | pmdlk2=(es**2-t1dlk**2)*(es**2-t2dlk**2)/(4.*es**2) | |
17285 | pmdlk=sqrt(pmdlk2) | |
17286 | XSK3=1.5*PPLPK(srt) | |
17287 | * for NSK channel | |
17288 | t1nsk=ana+as+akp | |
17289 | t2nsk=ana+as-akp | |
17290 | if(srt.le.t1nsk)go to 222 | |
17291 | pmnsk2=(es**2-t1nsk**2)*(es**2-t2nsk**2)/(4.*es**2) | |
17292 | pmnsk=sqrt(pmnsk2) | |
17293 | XSK2=1.5*(PPK1(srt)+PPK0(srt)) | |
17294 | * for DSK channel | |
17295 | t1DSk=aDa+aS+akp | |
17296 | t2DSk=aDa+aS-akp | |
17297 | if(srt.le.t1dsk)go to 222 | |
17298 | pmDSk2=(es**2-t1DSk**2)*(es**2-t2DSk**2)/(4.*es**2) | |
17299 | pmDSk=sqrt(pmDSk2) | |
17300 | XSK4=1.5*(PPK1(srt)+PPK0(srt)) | |
17301 | csp11/21/01 | |
17302 | c phi production | |
17303 | if(srt.le.(2.*amn+aphi))go to 222 | |
17304 | c !! mb put the correct form | |
17305 | xsk5 = 0.0001 | |
17306 | csp11/21/01 end | |
17307 | ||
17308 | * THE TOTAL KAON+ PRODUCTION CROSS SECTION IS THEN | |
17309 | 222 SIGK=XSK1+XSK2+XSK3+XSK4 | |
17310 | ||
17311 | cbz3/7/99 neutralk | |
17312 | XSK1 = 2.0 * XSK1 | |
17313 | XSK2 = 2.0 * XSK2 | |
17314 | XSK3 = 2.0 * XSK3 | |
17315 | XSK4 = 2.0 * XSK4 | |
17316 | SIGK = 2.0 * SIGK + xsk5 | |
17317 | cbz3/7/99 neutralk end | |
17318 | ||
17319 | * avoid the inelastic collisions between n+delta- -->N+N | |
17320 | * and p+delta++ -->N+N due to charge conservation, | |
17321 | * but they can scatter to produce kaons | |
17322 | if(((iabs(lb(i1)).eq.2).and.(iabs(lb(i2)).eq.6)).OR. | |
17323 | & ((iabs(lb(i2)).eq.2).and.(iabs(lb(i1)).eq.6)).OR. | |
17324 | & ((iabs(lb(i1)).eq.1).and.(iabs(lb(i2)).eq.9)).OR. | |
17325 | & ((iabs(lb(i2)).eq.1).and.(iabs(lb(i1)).eq.9)))THEN | |
17326 | xinel=sigk | |
17327 | return | |
17328 | ENDIF | |
17329 | * WE DETERMINE THE REACTION CHANNELS IN THE FOLLOWING | |
17330 | * FOR n+delta(++)-->p+p or n+delta(++)-->n+N*(+)(1440),n+N*(+)(1535) | |
17331 | * REABSORPTION OR N*(1535) PRODUCTION LIKE IN P+P OR N*(1440) LIKE PN, | |
17332 | IF(LB(I1)*LB(I2).EQ.18.AND. | |
17333 | & (iabs(LB(I1)).EQ.2.OR.iabs(LB(I2)).EQ.2))then | |
17334 | SIGND=SIGMA(SRT,1,1,0)+0.5*SIGMA(SRT,1,1,1) | |
17335 | SIGDN=0.25*SIGND*RENOM | |
17336 | xinel=SIGDN+X1440+X1535+SIGK | |
17337 | RETURN | |
17338 | endif | |
17339 | * FOR p+delta(-)-->n+n or p+delta(-)-->n+N*(0)(1440),n+N*(0)(1535) | |
17340 | * REABSORPTION OR N*(1535) PRODUCTION LIKE IN P+P OR N*(1440) LIKE PN, | |
17341 | IF(LB(I1)*LB(I2).EQ.6.AND. | |
17342 | & (iabs(LB(I1)).EQ.1.OR.iabs(LB(I2)).EQ.1))THEN | |
17343 | SIGND=SIGMA(SRT,1,1,0)+0.5*SIGMA(SRT,1,1,1) | |
17344 | SIGDN=0.25*SIGND*RENOM | |
17345 | xinel=SIGDN+X1440+X1535+SIGK | |
17346 | RETURN | |
17347 | endif | |
17348 | * FOR p+delta(+)-->p+p, N*(+)(144)+p, N*(+)(1535)+p | |
17349 | cbz11/25/98 | |
17350 | IF(LB(I1)*LB(I2).EQ.8.AND. | |
17351 | & (iabs(LB(I1)).EQ.1.OR.iabs(LB(I2)).EQ.1))THEN | |
17352 | SIGND=1.5*SIGMA(SRT,1,1,1) | |
17353 | SIGDN=0.25*SIGND*RENOM | |
17354 | xinel=SIGDN+x1440+x1535+SIGK | |
17355 | RETURN | |
17356 | endif | |
17357 | * FOR n+delta(0)-->n+n, N*(0)(144)+n, N*(0)(1535)+n | |
17358 | IF(LB(I1)*LB(I2).EQ.14.AND. | |
17359 | & (iabs(LB(I1)).EQ.2.AND.iabs(LB(I2)).EQ.2))THEN | |
17360 | SIGND=1.5*SIGMA(SRT,1,1,1) | |
17361 | SIGDN=0.25*SIGND*RENOM | |
17362 | xinel=SIGDN+x1440+x1535+SIGK | |
17363 | RETURN | |
17364 | endif | |
17365 | * FOR n+delta(+)-->n+p, N*(+)(1440)+n,N*(0)(1440)+p, | |
17366 | * N*(+)(1535)+n,N*(0)(1535)+p | |
17367 | IF(LB(I1)*LB(I2).EQ.16.AND. | |
17368 | & (iabs(LB(I1)).EQ.2.OR.iabs(LB(I2)).EQ.2))THEN | |
17369 | SIGND=0.5*SIGMA(SRT,1,1,1)+0.25*SIGMA(SRT,1,1,0) | |
17370 | SIGDN=0.5*SIGND*RENOM | |
17371 | xinel=SIGDN+2.*x1440+2.*x1535+SIGK | |
17372 | RETURN | |
17373 | endif | |
17374 | * FOR p+delta(0)-->n+p, N*(+)(1440)+n,N*(0)(1440)+p, | |
17375 | * N*(+)(1535)+n,N*(0)(1535)+p | |
17376 | IF(LB(I1)*LB(I2).EQ.7)THEN | |
17377 | SIGND=0.5*SIGMA(SRT,1,1,1)+0.25*SIGMA(SRT,1,1,0) | |
17378 | SIGDN=0.5*SIGND*RENOM | |
17379 | xinel=SIGDN+2.*x1440+2.*x1535+SIGK | |
17380 | RETURN | |
17381 | endif | |
17382 | * FOR p+N*(0)(14)-->p+n, N*(+)(1535)+n,N*(0)(1535)+p | |
17383 | * OR P+N*(0)(14)-->D(+)+N, D(0)+P, | |
17384 | IF(LB(I1)*LB(I2).EQ.10.AND. | |
17385 | & (iabs(LB(I1)).EQ.1.OR.iabs(LB(I2)).EQ.1))then | |
17386 | SIGND=(3./4.)*SIGMA(SRT,2,0,1) | |
17387 | SIGDN=SIGND*RENOMN | |
17388 | xinel=SIGDN+X1535+SIGK | |
17389 | RETURN | |
17390 | endif | |
17391 | * FOR n+N*(+)-->p+n, N*(+)(1535)+n,N*(0)(1535)+p | |
17392 | IF(LB(I1)*LB(I2).EQ.22.AND. | |
17393 | & (iabs(LB(I1)).EQ.2.OR.iabs(LB(I2)).EQ.2))then | |
17394 | SIGND=(3./4.)*SIGMA(SRT,2,0,1) | |
17395 | SIGDN=SIGND*RENOMN | |
17396 | xinel=SIGDN+X1535+SIGK | |
17397 | RETURN | |
17398 | endif | |
17399 | * FOR N*(1535)+N-->N+N COLLISIONS | |
17400 | IF((iabs(LB(I1)).EQ.12).OR.(iabs(LB(I1)).EQ.13).OR. | |
17401 | 1 (iabs(LB(I2)).EQ.12).OR.(iabs(LB(I2)).EQ.13))THEN | |
17402 | SIGND=X1535 | |
17403 | SIGDN=SIGND*RENOM1 | |
17404 | xinel=SIGDN+SIGK | |
17405 | RETURN | |
17406 | endif | |
17407 | RETURN | |
17408 | end | |
17409 | ********************************** | |
17410 | * * | |
17411 | * * | |
17412 | SUBROUTINE XDDIN(PX,PY,PZ,SRT,I1,I2, | |
17413 | &XINEL,SIGK,XSK1,XSK2,XSK3,XSK4,XSK5) | |
17414 | * PURPOSE: * | |
17415 | * DEALING WITH BARYON RESONANCE-BARYON RESONANCE COLLISIONS* | |
17416 | * NOTE : * | |
17417 | * VALID ONLY FOR BARYON-BARYON-DISTANCES LESS THAN 1.32 FM * | |
17418 | * (1.32 = 2 * HARD-CORE-RADIUS [HRC] ) * | |
17419 | * QUANTITIES: * | |
17420 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
17421 | * SRT - SQRT OF S * | |
17422 | * NSTAR =1 INCLUDING N* RESORANCE,ELSE NOT * | |
17423 | * NDIRCT=1 INCLUDING DIRECT PION PRODUCTION PROCESS * | |
17424 | * IBLOCK - THE INFORMATION BACK * | |
17425 | * 0-> COLLISION CANNOT HAPPEN * | |
17426 | * 1-> N-N ELASTIC COLLISION * | |
17427 | * 2-> N+N->N+DELTA,OR N+N->N+N* REACTION * | |
17428 | * 3-> N+DELTA->N+N OR N+N*->N+N REACTION * | |
17429 | * 4-> N+N->N+N+PION,DIRTCT PROCESS * | |
17430 | * 5-> DELTA(N*)+DELTA(N*) TOTAL COLLISIONS * | |
17431 | * N12 - IS USED TO SPECIFY BARYON-BARYON REACTION * | |
17432 | * CHANNELS. M12 IS THE REVERSAL CHANNEL OF N12 * | |
17433 | * N12, * | |
17434 | * M12=1 FOR p+n-->delta(+)+ n * | |
17435 | * 2 p+n-->delta(0)+ p * | |
17436 | * 3 p+p-->delta(++)+n * | |
17437 | * 4 p+p-->delta(+)+p * | |
17438 | * 5 n+n-->delta(0)+n * | |
17439 | * 6 n+n-->delta(-)+p * | |
17440 | * 7 n+p-->N*(0)(1440)+p * | |
17441 | * 8 n+p-->N*(+)(1440)+n * | |
17442 | * 9 p+p-->N*(+)(1535)+p * | |
17443 | * 10 n+n-->N*(0)(1535)+n * | |
17444 | * 11 n+p-->N*(+)(1535)+n * | |
17445 | * 12 n+p-->N*(0)(1535)+p | |
17446 | * 13 D(++)+D(-)-->N*(+)(1440)+n | |
17447 | * 14 D(++)+D(-)-->N*(0)(1440)+p | |
17448 | * 15 D(+)+D(0)--->N*(+)(1440)+n | |
17449 | * 16 D(+)+D(0)--->N*(0)(1440)+p | |
17450 | * 17 D(++)+D(0)-->N*(+)(1535)+p | |
17451 | * 18 D(++)+D(-)-->N*(0)(1535)+p | |
17452 | * 19 D(++)+D(-)-->N*(+)(1535)+n | |
17453 | * 20 D(+)+D(+)-->N*(+)(1535)+p | |
17454 | * 21 D(+)+D(0)-->N*(+)(1535)+n | |
17455 | * 22 D(+)+D(0)-->N*(0)(1535)+p | |
17456 | * 23 D(+)+D(-)-->N*(0)(1535)+n | |
17457 | * 24 D(0)+D(0)-->N*(0)(1535)+n | |
17458 | * 25 N*(+)(14)+N*(+)(14)-->N*(+)(15)+p | |
17459 | * 26 N*(0)(14)+N*(0)(14)-->N*(0)(15)+n | |
17460 | * 27 N*(+)(14)+N*(0)(14)-->N*(+)(15)+n | |
17461 | * 28 N*(+)(14)+N*(0)(14)-->N*(0)(15)+p | |
17462 | * 29 N*(+)(14)+D+-->N*(+)(15)+p | |
17463 | * 30 N*(+)(14)+D0-->N*(+)(15)+n | |
17464 | * 31 N*(+)(14)+D(-)-->N*(0)(1535)+n | |
17465 | * 32 N*(0)(14)+D++--->N*(+)(15)+p | |
17466 | * 33 N*(0)(14)+D+--->N*(+)(15)+n | |
17467 | * 34 N*(0)(14)+D+--->N*(0)(15)+p | |
17468 | * 35 N*(0)(14)+D0-->N*(0)(15)+n | |
17469 | * 36 N*(+)(14)+D0--->N*(0)(15)+p | |
17470 | * +++ | |
17471 | * AND MORE CHANNELS AS LISTED IN THE NOTE BOOK | |
17472 | * | |
17473 | * NOTE ABOUT N*(1440) RESORANCE: * | |
17474 | * As it has been discussed in VerWest's paper,I= 1 (initial isospin) | |
17475 | * channel can all be attributed to delta resorance while I= 0 * | |
17476 | * channel can all be attribured to N* resorance.Only in n+p * | |
17477 | * one can have I=0 channel so is the N*(1440) resorance * | |
17478 | * REFERENCES: J. CUGNON ET AL., NUCL. PHYS. A352, 505 (1981) * | |
17479 | * Y. KITAZOE ET AL., PHYS. LETT. 166B, 35 (1986) * | |
17480 | * B. VerWest el al., PHYS. PRV. C25 (1982)1979 * | |
17481 | * Gy. Wolf et al, Nucl Phys A517 (1990) 615 * | |
17482 | * CUTOFF = 2 * AVMASS + 20 MEV * | |
17483 | * * | |
17484 | * for N*(1535) we use the parameterization by Gy. Wolf et al * | |
17485 | * Nucl phys A552 (1993) 349, added May 18, 1994 * | |
17486 | ********************************** | |
17487 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
17488 | 1 AMP=0.93828,AP1=0.13496,AKA=0.498,APHI=1.020, | |
17489 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
17490 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
17491 | COMMON /AA/ R(3,MAXSTR) | |
17492 | cc SAVE /AA/ | |
17493 | COMMON /BB/ P(3,MAXSTR) | |
17494 | cc SAVE /BB/ | |
17495 | COMMON /CC/ E(MAXSTR) | |
17496 | cc SAVE /CC/ | |
17497 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
17498 | cc SAVE /EE/ | |
17499 | common /ff/f(-mx:mx,-my:my,-mz:mz,-mpx:mpx,-mpy:mpy,-mpz:mpzp) | |
17500 | cc SAVE /ff/ | |
17501 | common /gg/ dx,dy,dz,dpx,dpy,dpz | |
17502 | cc SAVE /gg/ | |
17503 | COMMON /INPUT/ NSTAR,NDIRCT,DIR | |
17504 | cc SAVE /INPUT/ | |
17505 | COMMON /NN/NNN | |
17506 | cc SAVE /NN/ | |
17507 | COMMON /BG/BETAX,BETAY,BETAZ,GAMMA | |
17508 | cc SAVE /BG/ | |
17509 | COMMON /RUN/NUM | |
17510 | cc SAVE /RUN/ | |
17511 | COMMON /PA/RPION(3,MAXSTR,MAXR) | |
17512 | cc SAVE /PA/ | |
17513 | COMMON /PB/PPION(3,MAXSTR,MAXR) | |
17514 | cc SAVE /PB/ | |
17515 | COMMON /PC/EPION(MAXSTR,MAXR) | |
17516 | cc SAVE /PC/ | |
17517 | COMMON /PD/LPION(MAXSTR,MAXR) | |
17518 | cc SAVE /PD/ | |
17519 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
17520 | cc SAVE /input1/ | |
17521 | SAVE | |
17522 | *----------------------------------------------------------------------- | |
17523 | XINEL=0 | |
17524 | SIGK=0 | |
17525 | XSK1=0 | |
17526 | XSK2=0 | |
17527 | XSK3=0 | |
17528 | XSK4=0 | |
17529 | XSK5=0 | |
17530 | EM1=E(I1) | |
17531 | EM2=E(I2) | |
17532 | PR = SQRT( PX**2 + PY**2 + PZ**2 ) | |
17533 | * IF THERE WERE 2 N*(1535) AND THEY DIDN'T SCATT. ELAST., | |
17534 | * ALLOW THEM TO PRODUCE KAONS. NO OTHER INELASTIC CHANNELS | |
17535 | * ARE KNOWN | |
17536 | C if((lb(i1).ge.12).and.(lb(i2).ge.12))return | |
17537 | * ALL the inelastic collisions between N*(1535) and Delta as well | |
17538 | * as N*(1440) TO PRODUCE KAONS, NO OTHER CHANNELS ARE KNOWN | |
17539 | C if((lb(i1).ge.12).and.(lb(i2).ge.3))return | |
17540 | C if((lb(i2).ge.12).and.(lb(i1).ge.3))return | |
17541 | * calculate the N*(1535) production cross section in I1+I2 collisions | |
17542 | call N1535(iabs(lb(i1)),iabs(lb(i2)),srt,X1535) | |
17543 | c | |
17544 | * for Delta+Delta-->N*(1440 OR 1535)+N AND N*(1440)+N*(1440)-->N*(1535)+X | |
17545 | * AND DELTA+N*(1440)-->N*(1535)+X | |
17546 | * WE ASSUME THEY HAVE THE SAME CROSS SECTIONS as CORRESPONDING N+N COLLISION): | |
17547 | * FOR D++D0, D+D+,D+D-,D0D0,N*+N*+,N*0N*0,N*(+)D+,N*(+)D(-),N*(0)D(0) | |
17548 | * N*(1535) production, kaon production and reabsorption through | |
17549 | * D(N*)+D(N*)-->NN are ALLOWED. | |
17550 | * CROSS SECTION FOR KAON PRODUCTION from the four channels are | |
17551 | * for NLK channel | |
17552 | akp=0.498 | |
17553 | ak0=0.498 | |
17554 | ana=0.94 | |
17555 | ada=1.232 | |
17556 | al=1.1157 | |
17557 | as=1.1197 | |
17558 | xsk1=0 | |
17559 | xsk2=0 | |
17560 | xsk3=0 | |
17561 | xsk4=0 | |
17562 | t1nlk=ana+al+akp | |
17563 | if(srt.le.t1nlk)go to 222 | |
17564 | XSK1=1.5*PPLPK(SRT) | |
17565 | * for DLK channel | |
17566 | t1dlk=ada+al+akp | |
17567 | t2dlk=ada+al-akp | |
17568 | if(srt.le.t1dlk)go to 222 | |
17569 | es=srt | |
17570 | pmdlk2=(es**2-t1dlk**2)*(es**2-t2dlk**2)/(4.*es**2) | |
17571 | pmdlk=sqrt(pmdlk2) | |
17572 | XSK3=1.5*PPLPK(srt) | |
17573 | * for NSK channel | |
17574 | t1nsk=ana+as+akp | |
17575 | t2nsk=ana+as-akp | |
17576 | if(srt.le.t1nsk)go to 222 | |
17577 | pmnsk2=(es**2-t1nsk**2)*(es**2-t2nsk**2)/(4.*es**2) | |
17578 | pmnsk=sqrt(pmnsk2) | |
17579 | XSK2=1.5*(PPK1(srt)+PPK0(srt)) | |
17580 | * for DSK channel | |
17581 | t1DSk=aDa+aS+akp | |
17582 | t2DSk=aDa+aS-akp | |
17583 | if(srt.le.t1dsk)go to 222 | |
17584 | pmDSk2=(es**2-t1DSk**2)*(es**2-t2DSk**2)/(4.*es**2) | |
17585 | pmDSk=sqrt(pmDSk2) | |
17586 | XSK4=1.5*(PPK1(srt)+PPK0(srt)) | |
17587 | csp11/21/01 | |
17588 | c phi production | |
17589 | if(srt.le.(2.*amn+aphi))go to 222 | |
17590 | c !! mb put the correct form | |
17591 | xsk5 = 0.0001 | |
17592 | csp11/21/01 end | |
17593 | * THE TOTAL KAON+ PRODUCTION CROSS SECTION IS THEN | |
17594 | 222 SIGK=XSK1+XSK2+XSK3+XSK4 | |
17595 | ||
17596 | cbz3/7/99 neutralk | |
17597 | XSK1 = 2.0 * XSK1 | |
17598 | XSK2 = 2.0 * XSK2 | |
17599 | XSK3 = 2.0 * XSK3 | |
17600 | XSK4 = 2.0 * XSK4 | |
17601 | SIGK = 2.0 * SIGK + xsk5 | |
17602 | cbz3/7/99 neutralk end | |
17603 | ||
17604 | IDD=iabs(LB(I1)*LB(I2)) | |
17605 | * The reabsorption cross section for the process | |
17606 | * D(N*)D(N*)-->NN is | |
17607 | s2d=reab2d(i1,i2,srt) | |
17608 | ||
17609 | cbz3/16/99 pion | |
17610 | S2D = 0. | |
17611 | cbz3/16/99 pion end | |
17612 | ||
17613 | *(1) N*(1535)+D(N*(1440)) reactions | |
17614 | * we allow kaon production and reabsorption only | |
17615 | if(((iabs(lb(i1)).ge.12).and.(iabs(lb(i2)).ge.12)).OR. | |
17616 | & ((iabs(lb(i1)).ge.12).and.(iabs(lb(i2)).ge.6)).OR. | |
17617 | & ((iabs(lb(i2)).ge.12).and.(iabs(lb(i1)).ge.6)))THEN | |
17618 | XINEL=sigk+s2d | |
17619 | RETURN | |
17620 | ENDIF | |
17621 | * channels have the same charge as pp | |
17622 | IF((IDD.EQ.63).OR.(IDD.EQ.64).OR.(IDD.EQ.48). | |
17623 | 1 OR.(IDD.EQ.49).OR.(IDD.EQ.11*11).OR.(IDD.EQ.10*10). | |
17624 | 2 OR.(IDD.EQ.88).OR.(IDD.EQ.66). | |
17625 | 3 OR.(IDD.EQ.90).OR.(IDD.EQ.70))THEN | |
17626 | XINEL=X1535+SIGK+s2d | |
17627 | RETURN | |
17628 | ENDIF | |
17629 | * IN DELTA+N*(1440) and N*(1440)+N*(1440) COLLISIONS, | |
17630 | * N*(1535), kaon production and reabsorption are ALLOWED | |
17631 | * IN N*(1440)+N*(1440) COLLISIONS, ONLY N*(1535) IS ALLOWED | |
17632 | IF((IDD.EQ.110).OR.(IDD.EQ.77).OR.(IDD.EQ.80))THEN | |
17633 | XINEL=X1535+SIGK+s2d | |
17634 | RETURN | |
17635 | ENDIF | |
17636 | IF((IDD.EQ.54).OR.(IDD.EQ.56))THEN | |
17637 | * LIKE FOR N+P COLLISION, | |
17638 | * IN DELTA+DELTA COLLISIONS BOTH N*(1440) AND N*(1535) CAN BE PRODUCED | |
17639 | SIG2=(3./4.)*SIGMA(SRT,2,0,1) | |
17640 | XINEL=2.*(SIG2+X1535)+SIGK+s2d | |
17641 | RETURN | |
17642 | ENDIF | |
17643 | RETURN | |
17644 | END | |
17645 | ****************************************** | |
17646 | real function dirct1(srt) | |
17647 | * This function contains the experimental, direct pion(+) + p cross sections * | |
17648 | * srt = DSQRT(s) in GeV * | |
17649 | * dirct1 = cross section in fm**2 * | |
17650 | * earray = EXPerimental table with the srt | |
17651 | * xarray = EXPerimental table with cross sections in mb (curve to guide eye) * | |
17652 | ****************************************** | |
17653 | c real*4 xarray(122), earray(122) | |
17654 | real xarray(122), earray(122) | |
17655 | SAVE | |
17656 | data earray / | |
17657 | &1.568300,1.578300,1.588300,1.598300,1.608300,1.618300,1.628300, | |
17658 | &1.638300,1.648300,1.658300,1.668300,1.678300,1.688300,1.698300, | |
17659 | &1.708300,1.718300,1.728300,1.738300,1.748300,1.758300,1.768300, | |
17660 | &1.778300,1.788300,1.798300,1.808300,1.818300,1.828300,1.838300, | |
17661 | &1.848300,1.858300,1.868300,1.878300,1.888300,1.898300,1.908300, | |
17662 | &1.918300,1.928300,1.938300,1.948300,1.958300,1.968300,1.978300, | |
17663 | &1.988300,1.998300,2.008300,2.018300,2.028300,2.038300,2.048300, | |
17664 | &2.058300,2.068300,2.078300,2.088300,2.098300,2.108300,2.118300, | |
17665 | &2.128300,2.138300,2.148300,2.158300,2.168300,2.178300,2.188300, | |
17666 | &2.198300,2.208300,2.218300,2.228300,2.238300,2.248300,2.258300, | |
17667 | &2.268300,2.278300,2.288300,2.298300,2.308300,2.318300,2.328300, | |
17668 | &2.338300,2.348300,2.358300,2.368300,2.378300,2.388300,2.398300, | |
17669 | &2.408300,2.418300,2.428300,2.438300,2.448300,2.458300,2.468300, | |
17670 | &2.478300,2.488300,2.498300,2.508300,2.518300,2.528300,2.538300, | |
17671 | &2.548300,2.558300,2.568300,2.578300,2.588300,2.598300,2.608300, | |
17672 | &2.618300,2.628300,2.638300,2.648300,2.658300,2.668300,2.678300, | |
17673 | &2.688300,2.698300,2.708300,2.718300,2.728300,2.738300,2.748300, | |
17674 | &2.758300,2.768300,2.778300/ | |
17675 | data xarray/ | |
17676 | &1.7764091E-02,0.5643668,0.8150568,1.045565,2.133695,3.327922, | |
17677 | &4.206488,3.471242,4.486876,5.542213,6.800052,7.192446,6.829848, | |
17678 | &6.580306,6.868410,8.527946,10.15720,9.716511,9.298335,8.901310, | |
17679 | &10.31213,10.52185,11.17630,11.61639,12.05577,12.71596,13.46036, | |
17680 | &14.22060,14.65449,14.94775,14.93310,15.32907,16.56481,16.29422, | |
17681 | &15.18548,14.12658,13.72544,13.24488,13.31003,14.42680,12.84423, | |
17682 | &12.49025,12.14858,11.81870,11.18993,11.35816,11.09447,10.83873, | |
17683 | &10.61592,10.53754,9.425521,8.195912,9.661075,9.696192,9.200142, | |
17684 | &8.953734,8.715461,8.484999,8.320765,8.255512,8.190969,8.127125, | |
17685 | &8.079508,8.073004,8.010611,7.948909,7.887895,7.761005,7.626290, | |
17686 | &7.494696,7.366132,7.530178,8.392097,9.046881,8.962544,8.879403, | |
17687 | &8.797427,8.716601,8.636904,8.558312,8.404368,8.328978,8.254617, | |
17688 | &8.181265,8.108907,8.037527,7.967100,7.897617,7.829057,7.761405, | |
17689 | &7.694647,7.628764,7.563742,7.499570,7.387562,7.273281,7.161334, | |
17690 | &6.973375,6.529592,6.280323,6.293136,6.305725,6.318097,6.330258, | |
17691 | &6.342214,6.353968,6.365528,6.376895,6.388079,6.399081,6.409906, | |
17692 | &6.420560,6.431045,6.441367,6.451529,6.461533,6.471386,6.481091, | |
17693 | &6.490650,6.476413,6.297259,6.097826/ | |
17694 | ||
17695 | dirct1=0 | |
17696 | if (srt .lt. earray(1)) then | |
17697 | dirct1 = 0.00001 | |
17698 | return | |
17699 | end if | |
17700 | if (srt .gt. earray(122)) then | |
17701 | dirct1 = xarray(122) | |
17702 | dirct1=dirct1/10. | |
17703 | return | |
17704 | end if | |
17705 | * | |
17706 | *Interpolate double logarithmically to find xdirct2(srt) | |
17707 | * | |
17708 | do 1001 ie = 1,122 | |
17709 | if (earray(ie) .eq. srt) then | |
17710 | dirct1= xarray(ie) | |
17711 | dirct1=dirct1/10. | |
17712 | return | |
17713 | endif | |
17714 | if (earray(ie) .gt. srt) then | |
17715 | ymin = alog(xarray(ie-1)) | |
17716 | ymax = alog(xarray(ie)) | |
17717 | xmin = alog(earray(ie-1)) | |
17718 | xmax = alog(earray(ie)) | |
17719 | dirct1= exp(ymin + (alog(srt)-xmin) | |
17720 | & *(ymax-ymin)/(xmax-xmin) ) | |
17721 | dirct1=dirct1/10. | |
17722 | go to 50 | |
17723 | end if | |
17724 | 1001 continue | |
17725 | 50 continue | |
17726 | return | |
17727 | END | |
17728 | ******************************* | |
17729 | ****************************************** | |
17730 | real function dirct2(srt) | |
17731 | * This function contains the experimental, direct pion(-) + p cross sections * | |
17732 | * srt = DSQRT(s) in GeV * | |
17733 | * dirct2 = cross section in fm**2 | |
17734 | * earray = EXPerimental table with the srt | |
17735 | * xarray = EXPerimental table with cross sections in mb (curve to guide eye) * | |
17736 | ****************************************** | |
17737 | c real*4 xarray(122), earray(122) | |
17738 | real xarray(122), earray(122) | |
17739 | SAVE | |
17740 | data earray / | |
17741 | &1.568300,1.578300,1.588300,1.598300,1.608300,1.618300,1.628300, | |
17742 | &1.638300,1.648300,1.658300,1.668300,1.678300,1.688300,1.698300, | |
17743 | &1.708300,1.718300,1.728300,1.738300,1.748300,1.758300,1.768300, | |
17744 | &1.778300,1.788300,1.798300,1.808300,1.818300,1.828300,1.838300, | |
17745 | &1.848300,1.858300,1.868300,1.878300,1.888300,1.898300,1.908300, | |
17746 | &1.918300,1.928300,1.938300,1.948300,1.958300,1.968300,1.978300, | |
17747 | &1.988300,1.998300,2.008300,2.018300,2.028300,2.038300,2.048300, | |
17748 | &2.058300,2.068300,2.078300,2.088300,2.098300,2.108300,2.118300, | |
17749 | &2.128300,2.138300,2.148300,2.158300,2.168300,2.178300,2.188300, | |
17750 | &2.198300,2.208300,2.218300,2.228300,2.238300,2.248300,2.258300, | |
17751 | &2.268300,2.278300,2.288300,2.298300,2.308300,2.318300,2.328300, | |
17752 | &2.338300,2.348300,2.358300,2.368300,2.378300,2.388300,2.398300, | |
17753 | &2.408300,2.418300,2.428300,2.438300,2.448300,2.458300,2.468300, | |
17754 | &2.478300,2.488300,2.498300,2.508300,2.518300,2.528300,2.538300, | |
17755 | &2.548300,2.558300,2.568300,2.578300,2.588300,2.598300,2.608300, | |
17756 | &2.618300,2.628300,2.638300,2.648300,2.658300,2.668300,2.678300, | |
17757 | &2.688300,2.698300,2.708300,2.718300,2.728300,2.738300,2.748300, | |
17758 | &2.758300,2.768300,2.778300/ | |
17759 | data xarray/0.5773182,1.404156,2.578629,3.832013,4.906011, | |
17760 | &9.076963,13.10492,10.65975,15.31156,19.77611,19.92874,18.68979, | |
17761 | &19.80114,18.39536,14.34269,13.35353,13.58822,14.57031,10.24686, | |
17762 | &11.23386,9.764803,10.35652,10.53539,10.07524,9.582198,9.596469, | |
17763 | &9.818489,9.012848,9.378012,9.529244,9.529698,8.835624,6.671396, | |
17764 | &8.797758,8.133437,7.866227,7.823946,7.808504,7.791755,7.502062, | |
17765 | &7.417275,7.592349,7.752028,7.910585,8.068122,8.224736,8.075289, | |
17766 | &7.895902,7.721359,7.551512,7.386224,7.225343,7.068739,6.916284, | |
17767 | &6.767842,6.623294,6.482520,6.345404,6.211833,7.339510,7.531462, | |
17768 | &7.724824,7.919620,7.848021,7.639856,7.571083,7.508881,7.447474, | |
17769 | &7.386855,7.327011,7.164454,7.001266,6.842526,6.688094,6.537823, | |
17770 | &6.391583,6.249249,6.110689,5.975790,5.894200,5.959503,6.024602, | |
17771 | &6.089505,6.154224,6.218760,6.283128,6.347331,6.297411,6.120248, | |
17772 | &5.948606,6.494864,6.357106,6.222824,6.091910,5.964267,5.839795, | |
17773 | &5.718402,5.599994,5.499146,5.451325,5.404156,5.357625,5.311721, | |
17774 | &5.266435,5.301964,5.343963,5.385833,5.427577,5.469200,5.510702, | |
17775 | &5.552088,5.593359,5.634520,5.675570,5.716515,5.757356,5.798093, | |
17776 | &5.838732,5.879272,5.919717,5.960068,5.980941/ | |
17777 | ||
17778 | dirct2=0. | |
17779 | if (srt .lt. earray(1)) then | |
17780 | dirct2 = 0.00001 | |
17781 | return | |
17782 | end if | |
17783 | if (srt .gt. earray(122)) then | |
17784 | dirct2 = xarray(122) | |
17785 | dirct2=dirct2/10. | |
17786 | return | |
17787 | end if | |
17788 | * | |
17789 | *Interpolate double logarithmically to find xdirct2(srt) | |
17790 | * | |
17791 | do 1001 ie = 1,122 | |
17792 | if (earray(ie) .eq. srt) then | |
17793 | dirct2= xarray(ie) | |
17794 | dirct2=dirct2/10. | |
17795 | return | |
17796 | endif | |
17797 | if (earray(ie) .gt. srt) then | |
17798 | ymin = alog(xarray(ie-1)) | |
17799 | ymax = alog(xarray(ie)) | |
17800 | xmin = alog(earray(ie-1)) | |
17801 | xmax = alog(earray(ie)) | |
17802 | dirct2= exp(ymin + (alog(srt)-xmin) | |
17803 | & *(ymax-ymin)/(xmax-xmin) ) | |
17804 | dirct2=dirct2/10. | |
17805 | go to 50 | |
17806 | end if | |
17807 | 1001 continue | |
17808 | 50 continue | |
17809 | return | |
17810 | END | |
17811 | ******************************* | |
17812 | ****************************** | |
17813 | * this program calculates the elastic cross section for rho+nucleon | |
17814 | * through higher resonances | |
17815 | c real*4 function ErhoN(em1,em2,lb1,lb2,srt) | |
17816 | real function ErhoN(em1,em2,lb1,lb2,srt) | |
17817 | * date : Dec. 19, 1994 | |
17818 | * **************************** | |
17819 | c implicit real*4 (a-h,o-z) | |
17820 | dimension arrayj(19),arrayl(19),arraym(19), | |
17821 | &arrayw(19),arrayb(19) | |
17822 | SAVE | |
17823 | data arrayj /0.5,1.5,0.5,0.5,2.5,2.5,1.5,0.5,1.5,3.5, | |
17824 | &1.5,0.5,1.5,0.5,2.5,0.5,1.5,2.5,3.5/ | |
17825 | data arrayl/1,2,0,0,2,3,2,1,1,3, | |
17826 | &1,0,2,0,3,1,1,2,3/ | |
17827 | data arraym /1.44,1.52,1.535,1.65,1.675,1.68,1.70,1.71, | |
17828 | &1.72,1.99,1.60,1.62,1.70,1.90,1.905,1.910, | |
17829 | &1.86,1.93,1.95/ | |
17830 | data arrayw/0.2,0.125,0.15,0.15,0.155,0.125,0.1,0.11, | |
17831 | &0.2,0.29,0.25,0.16,0.28,0.15,0.3,0.22,0.25, | |
17832 | &0.25,0.24/ | |
17833 | data arrayb/0.15,0.20,0.05,0.175,0.025,0.125,0.1,0.20, | |
17834 | &0.53,0.34,0.05,0.07,0.15,0.45,0.45,0.058, | |
17835 | &0.08,0.12,0.08/ | |
17836 | ||
17837 | * the minimum energy for pion+delta collision | |
17838 | pi=3.1415926 | |
17839 | xs=0 | |
17840 | * include contribution from each resonance | |
17841 | do 1001 ir=1,19 | |
17842 | cbz11/25/98 | |
17843 | IF(IR.LE.8)THEN | |
17844 | c if(lb1*lb2.eq.27.OR.LB1*LB2.EQ.25*2)branch=0. | |
17845 | c if(lb1*lb2.eq.26.OR.LB1*LB2.EQ.26*2)branch=1./3. | |
17846 | c if(lb1*lb2.eq.27*2.OR.LB1*LB2.EQ.25)branch=2./3. | |
17847 | c ELSE | |
17848 | c if(lb1*lb2.eq.27.OR.LB1*LB2.EQ.25*2)branch=1. | |
17849 | c if(lb1*lb2.eq.26.OR.LB1*LB2.EQ.26*2)branch=2./3. | |
17850 | c if(lb1*lb2.eq.27*2.OR.LB1*LB2.EQ.25)branch=1./3. | |
17851 | c ENDIF | |
17852 | if( ((lb1*lb2.eq.27.AND.(LB1.EQ.1.OR.LB2.EQ.1)).OR. | |
17853 | & (LB1*LB2.EQ.25*2.AND.(LB1.EQ.2.OR.LB2.EQ.2))) | |
17854 | & .OR.((lb1*lb2.eq.-25.AND.(LB1.EQ.-1.OR.LB2.EQ.-1)).OR. | |
17855 | & (LB1*LB2.EQ.-27*2.AND.(LB1.EQ.-2.OR.LB2.EQ.-2))) ) | |
17856 | & branch=0. | |
17857 | if((iabs(lb1*lb2).eq.26.AND.(iabs(LB1).EQ.1.OR.iabs(LB2).EQ.1)) | |
17858 | & .OR.(iabs(LB1*LB2).EQ.26*2 | |
17859 | & .AND.(iabs(LB1).EQ.2.OR.iabs(LB2).EQ.2))) | |
17860 | & branch=1./3. | |
17861 | if( ((lb1*lb2.eq.27*2.AND.(LB1.EQ.2.OR.LB2.EQ.2)).OR. | |
17862 | & (LB1*LB2.EQ.25.AND.(LB1.EQ.1.OR.LB2.EQ.1))) | |
17863 | & .OR.((lb1*lb2.eq.-25*2.AND.(LB1.EQ.-2.OR.LB2.EQ.-2)).OR. | |
17864 | & (LB1*LB2.EQ.-27.AND.(LB1.EQ.-1.OR.LB2.EQ.-1))) ) | |
17865 | & branch=2./3. | |
17866 | ELSE | |
17867 | if( ((lb1*lb2.eq.27.AND.(LB1.EQ.1.OR.LB2.EQ.1)).OR. | |
17868 | & (LB1*LB2.EQ.25*2.AND.(LB1.EQ.2.OR.LB2.EQ.2))) | |
17869 | & .OR.((lb1*lb2.eq.-25.AND.(LB1.EQ.-1.OR.LB2.EQ.-1)).OR. | |
17870 | & (LB1*LB2.EQ.-27*2.AND.(LB1.EQ.-2.OR.LB2.EQ.-2))) ) | |
17871 | & branch=1. | |
17872 | if((iabs(lb1*lb2).eq.26.AND.(iabs(LB1).EQ.1.OR.iabs(LB2).EQ.1)) | |
17873 | & .OR.(iabs(LB1*LB2).EQ.26*2 | |
17874 | & .AND.(iabs(LB1).EQ.2.OR.iabs(LB2).EQ.2))) | |
17875 | & branch=2./3. | |
17876 | if( ((lb1*lb2.eq.27*2.AND.(LB1.EQ.2.OR.LB2.EQ.2)).OR. | |
17877 | & (LB1*LB2.EQ.25.AND.(LB1.EQ.1.OR.LB2.EQ.1))) | |
17878 | & .OR.((lb1*lb2.eq.-25*2.AND.(LB1.EQ.-2.OR.LB2.EQ.-2)).OR. | |
17879 | & (LB1*LB2.EQ.-27.AND.(LB1.EQ.-1.OR.LB2.EQ.-1))) ) | |
17880 | & branch=1./3. | |
17881 | ENDIF | |
17882 | cbz11/25/98end | |
17883 | xs0=fdR(arraym(ir),arrayj(ir),arrayl(ir), | |
17884 | &arrayw(ir),arrayb(ir),srt,EM1,EM2) | |
17885 | xs=xs+1.3*pi*branch*xs0*(0.1973)**2 | |
17886 | 1001 continue | |
17887 | Erhon=xs | |
17888 | return | |
17889 | end | |
17890 | ***************************8 | |
17891 | *FUNCTION FDE(DMASS) GIVES DELTA MASS DISTRIBUTION BY USING OF | |
17892 | *KITAZOE'S FORMULA | |
17893 | c REAL*4 FUNCTION FDR(DMASS,aj,al,width,widb0,srt,em1,em2) | |
17894 | REAL FUNCTION FDR(DMASS,aj,al,width,widb0,srt,em1,em2) | |
17895 | SAVE | |
17896 | AMd=em1 | |
17897 | AmP=em2 | |
17898 | Ak02= 0.25*(DMASS**2-amd**2-amp**2)**2 | |
17899 | & -(Amp*amd)**2 | |
17900 | IF (ak02 .GT. 0.) THEN | |
17901 | Q0 = SQRT(ak02/DMASS) | |
17902 | ELSE | |
17903 | Q0= 0.0 | |
17904 | fdR=0 | |
17905 | return | |
17906 | END IF | |
17907 | Ak2= 0.25*(srt**2-amd**2-amp**2)**2 | |
17908 | & -(Amp*amd)**2 | |
17909 | IF (ak2 .GT. 0.) THEN | |
17910 | Q = SQRT(ak2/DMASS) | |
17911 | ELSE | |
17912 | Q= 0.00 | |
17913 | fdR=0 | |
17914 | return | |
17915 | END IF | |
17916 | b=widb0*1.2*dmass/srt*(q/q0)**(2.*al+1) | |
17917 | & /(1.+0.2*(q/q0)**(2*al)) | |
17918 | FDR=(2.*aj+1)*WIDTH**2*b/((srt-dmass)**2 | |
17919 | 1 +0.25*WIDTH**2)/(6.*q**2) | |
17920 | RETURN | |
17921 | END | |
17922 | ****************************** | |
17923 | * this program calculates the elastic cross section for pion+delta | |
17924 | * through higher resonances | |
17925 | c REAL*4 FUNCTION DIRCT3(SRT) | |
17926 | REAL FUNCTION DIRCT3(SRT) | |
17927 | * date : Dec. 19, 1994 | |
17928 | * **************************** | |
17929 | c implicit real*4 (a-h,o-z) | |
17930 | dimension arrayj(17),arrayl(17),arraym(17), | |
17931 | &arrayw(17),arrayb(17) | |
17932 | SAVE | |
17933 | data arrayj /1.5,0.5,2.5,2.5,1.5,0.5,1.5,3.5, | |
17934 | &1.5,0.5,1.5,0.5,2.5,0.5,1.5,2.5,3.5/ | |
17935 | data arrayl/2,0,2,3,2,1,1,3, | |
17936 | &1,0,2,0,3,1,1,2,3/ | |
17937 | data arraym /1.52,1.65,1.675,1.68,1.70,1.71, | |
17938 | &1.72,1.99,1.60,1.62,1.70,1.90,1.905,1.910, | |
17939 | &1.86,1.93,1.95/ | |
17940 | data arrayw/0.125,0.15,0.155,0.125,0.1,0.11, | |
17941 | &0.2,0.29,0.25,0.16,0.28,0.15,0.3,0.22,0.25, | |
17942 | &0.25,0.24/ | |
17943 | data arrayb/0.55,0.6,0.375,0.6,0.1,0.15, | |
17944 | &0.15,0.05,0.35,0.3,0.15,0.1,0.1,0.22, | |
17945 | &0.2,0.09,0.4/ | |
17946 | ||
17947 | * the minimum energy for pion+delta collision | |
17948 | pi=3.1415926 | |
17949 | amn=0.938 | |
17950 | amp=0.138 | |
17951 | xs=0 | |
17952 | * include contribution from each resonance | |
17953 | branch=1./3. | |
17954 | do 1001 ir=1,17 | |
17955 | if(ir.gt.8)branch=2./3. | |
17956 | xs0=fd1(arraym(ir),arrayj(ir),arrayl(ir), | |
17957 | &arrayw(ir),arrayb(ir),srt) | |
17958 | xs=xs+1.3*pi*branch*xs0*(0.1973)**2 | |
17959 | 1001 continue | |
17960 | DIRCT3=XS | |
17961 | RETURN | |
17962 | end | |
17963 | ***************************8 | |
17964 | *FUNCTION FDE(DMASS) GIVES DELTA MASS DISTRIBUTION BY USING OF | |
17965 | *KITAZOE'S FORMULA | |
17966 | c REAL*4 FUNCTION FD1(DMASS,aj,al,width,widb0,srt) | |
17967 | REAL FUNCTION FD1(DMASS,aj,al,width,widb0,srt) | |
17968 | SAVE | |
17969 | AMN=0.938 | |
17970 | AmP=0.138 | |
17971 | amd=amn | |
17972 | Ak02= 0.25*(DMASS**2-amd**2-amp**2)**2 | |
17973 | & -(Amp*amd)**2 | |
17974 | IF (ak02 .GT. 0.) THEN | |
17975 | Q0 = SQRT(ak02/DMASS) | |
17976 | ELSE | |
17977 | Q0= 0.0 | |
17978 | fd1=0 | |
17979 | return | |
17980 | END IF | |
17981 | Ak2= 0.25*(srt**2-amd**2-amp**2)**2 | |
17982 | & -(Amp*amd)**2 | |
17983 | IF (ak2 .GT. 0.) THEN | |
17984 | Q = SQRT(ak2/DMASS) | |
17985 | ELSE | |
17986 | Q= 0.00 | |
17987 | fd1=0 | |
17988 | return | |
17989 | END IF | |
17990 | b=widb0*1.2*dmass/srt*(q/q0)**(2.*al+1) | |
17991 | & /(1.+0.2*(q/q0)**(2*al)) | |
17992 | FD1=(2.*aj+1)*WIDTH**2*b/((srt-dmass)**2 | |
17993 | 1 +0.25*WIDTH**2)/(2.*q**2) | |
17994 | RETURN | |
17995 | END | |
17996 | ****************************** | |
17997 | * this program calculates the elastic cross section for pion+delta | |
17998 | * through higher resonances | |
17999 | c REAL*4 FUNCTION DPION(EM1,EM2,LB1,LB2,SRT) | |
18000 | REAL FUNCTION DPION(EM1,EM2,LB1,LB2,SRT) | |
18001 | * date : Dec. 19, 1994 | |
18002 | * **************************** | |
18003 | c implicit real*4 (a-h,o-z) | |
18004 | dimension arrayj(19),arrayl(19),arraym(19), | |
18005 | &arrayw(19),arrayb(19) | |
18006 | SAVE | |
18007 | data arrayj /0.5,1.5,0.5,0.5,2.5,2.5,1.5,0.5,1.5,3.5, | |
18008 | &1.5,0.5,1.5,0.5,2.5,0.5,1.5,2.5,3.5/ | |
18009 | data arrayl/1,2,0,0,2,3,2,1,1,3, | |
18010 | &1,0,2,0,3,1,1,2,3/ | |
18011 | data arraym /1.44,1.52,1.535,1.65,1.675,1.68,1.70,1.71, | |
18012 | &1.72,1.99,1.60,1.62,1.70,1.90,1.905,1.910, | |
18013 | &1.86,1.93,1.95/ | |
18014 | data arrayw/0.2,0.125,0.15,0.15,0.155,0.125,0.1,0.11, | |
18015 | &0.2,0.29,0.25,0.16,0.28,0.15,0.3,0.22,0.25, | |
18016 | &0.25,0.24/ | |
18017 | data arrayb/0.15,0.25,0.,0.05,0.575,0.125,0.379,0.10, | |
18018 | &0.10,0.062,0.45,0.60,0.6984,0.05,0.25,0.089, | |
18019 | &0.19,0.2,0.13/ | |
18020 | ||
18021 | * the minimum energy for pion+delta collision | |
18022 | pi=3.1415926 | |
18023 | amn=0.94 | |
18024 | amp=0.14 | |
18025 | xs=0 | |
18026 | * include contribution from each resonance | |
18027 | do 1001 ir=1,19 | |
18028 | BRANCH=0. | |
18029 | cbz11/25/98 | |
18030 | if(ir.LE.8)THEN | |
18031 | c IF(LB1*LB2.EQ.5*7.OR.LB1*LB2.EQ.3*8)branch=1./6. | |
18032 | c IF(LB1*LB2.EQ.4*7.OR.LB1*LB2.EQ.4*8)branch=1./3. | |
18033 | c IF(LB1*LB2.EQ.5*6.OR.LB1*LB2.EQ.3*9)branch=1./2. | |
18034 | c ELSE | |
18035 | c IF(LB1*LB2.EQ.5*8.OR.LB1*LB2.EQ.5*6)branch=2./5. | |
18036 | c IF(LB1*LB2.EQ.3*9.OR.LB1*LB2.EQ.3*7)branch=2./5. | |
18037 | c IF(LB1*LB2.EQ.5*7.OR.LB1*LB2.EQ.3*8)branch=8./15. | |
18038 | c IF(LB1*LB2.EQ.4*7.OR.LB1*LB2.EQ.4*8)branch=1./15. | |
18039 | c IF(LB1*LB2.EQ.4*9.OR.LB1*LB2.EQ.4*6)branch=3./5. | |
18040 | c ENDIF | |
18041 | IF( ((LB1*LB2.EQ.5*7.AND.(LB1.EQ.5.OR.LB2.EQ.5)).OR. | |
18042 | & (LB1*LB2.EQ.3*8.AND.(LB1.EQ.3.OR.LB2.EQ.3))) | |
18043 | & .OR.((LB1*LB2.EQ.-3*7.AND.(LB1.EQ.3.OR.LB2.EQ.3)).OR. | |
18044 | & (LB1*LB2.EQ.-5*8.AND.(LB1.EQ.5.OR.LB2.EQ.5))) ) | |
18045 | & branch=1./6. | |
18046 | IF((iabs(LB1*LB2).EQ.4*7.AND.(LB1.EQ.4.OR.LB2.EQ.4)).OR. | |
18047 | & (iabs(LB1*LB2).EQ.4*8.AND.(LB1.EQ.4.OR.LB2.EQ.4))) | |
18048 | & branch=1./3. | |
18049 | IF( ((LB1*LB2.EQ.5*6.AND.(LB1.EQ.5.OR.LB2.EQ.5)).OR. | |
18050 | & (LB1*LB2.EQ.3*9.AND.(LB1.EQ.3.OR.LB2.EQ.3))) | |
18051 | & .OR.((LB1*LB2.EQ.-3*6.AND.(LB1.EQ.3.OR.LB2.EQ.3)).OR. | |
18052 | & (LB1*LB2.EQ.-5*9.AND.(LB1.EQ.5.OR.LB2.EQ.5))) ) | |
18053 | & branch=1./2. | |
18054 | ELSE | |
18055 | IF( ((LB1*LB2.EQ.5*8.AND.(LB1.EQ.5.OR.LB2.EQ.5)).OR. | |
18056 | & (LB1*LB2.EQ.5*6.AND.(LB1.EQ.5.OR.LB2.EQ.5))) | |
18057 | & .OR.((LB1*LB2.EQ.-3*8.AND.(LB1.EQ.3.OR.LB2.EQ.3)).OR. | |
18058 | & (LB1*LB2.EQ.-3*6.AND.(LB1.EQ.3.OR.LB2.EQ.3))) ) | |
18059 | & branch=2./5. | |
18060 | IF( ((LB1*LB2.EQ.3*9.AND.(LB1.EQ.3.OR.LB2.EQ.3)).OR. | |
18061 | & (LB1*LB2.EQ.3*7.AND.(LB1.EQ.3.OR.LB2.EQ.3))) | |
18062 | & .OR. ((LB1*LB2.EQ.-5*9.AND.(LB1.EQ.5.OR.LB2.EQ.5)).OR. | |
18063 | & (LB1*LB2.EQ.-5*7.AND.(LB1.EQ.5.OR.LB2.EQ.5))) ) | |
18064 | & branch=2./5. | |
18065 | IF( ((LB1*LB2.EQ.5*7.AND.(LB1.EQ.5.OR.LB2.EQ.5)).OR. | |
18066 | & (LB1*LB2.EQ.3*8.AND.(LB1.EQ.3.OR.LB2.EQ.3))) | |
18067 | & .OR.((LB1*LB2.EQ.-3*7.AND.(LB1.EQ.3.OR.LB2.EQ.3)).OR. | |
18068 | & (LB1*LB2.EQ.-5*8.AND.(LB1.EQ.5.OR.LB2.EQ.5))) ) | |
18069 | & branch=8./15. | |
18070 | IF((iabs(LB1*LB2).EQ.4*7.AND.(LB1.EQ.4.OR.LB2.EQ.4)).OR. | |
18071 | & (iabs(LB1*LB2).EQ.4*8.AND.(LB1.EQ.4.OR.LB2.EQ.4))) | |
18072 | & branch=1./15. | |
18073 | IF((iabs(LB1*LB2).EQ.4*9.AND.(LB1.EQ.4.OR.LB2.EQ.4)).OR. | |
18074 | & (iabs(LB1*LB2).EQ.4*6.AND.(LB1.EQ.4.OR.LB2.EQ.4))) | |
18075 | & branch=3./5. | |
18076 | ENDIF | |
18077 | cbz11/25/98end | |
18078 | xs0=fd2(arraym(ir),arrayj(ir),arrayl(ir), | |
18079 | &arrayw(ir),arrayb(ir),EM1,EM2,srt) | |
18080 | xs=xs+1.3*pi*branch*xs0*(0.1973)**2 | |
18081 | 1001 continue | |
18082 | DPION=XS | |
18083 | RETURN | |
18084 | end | |
18085 | ***************************8 | |
18086 | *FUNCTION FDE(DMASS) GIVES DELTA MASS DISTRIBUTION BY USING OF | |
18087 | *KITAZOE'S FORMULA | |
18088 | c REAL*4 FUNCTION FD2(DMASS,aj,al,width,widb0,EM1,EM2,srt) | |
18089 | REAL FUNCTION FD2(DMASS,aj,al,width,widb0,EM1,EM2,srt) | |
18090 | SAVE | |
18091 | AmP=EM1 | |
18092 | amd=EM2 | |
18093 | Ak02= 0.25*(DMASS**2-amd**2-amp**2)**2 | |
18094 | & -(Amp*amd)**2 | |
18095 | IF (ak02 .GT. 0.) THEN | |
18096 | Q0 = SQRT(ak02/DMASS) | |
18097 | ELSE | |
18098 | Q0= 0.0 | |
18099 | fd2=0 | |
18100 | return | |
18101 | END IF | |
18102 | Ak2= 0.25*(srt**2-amd**2-amp**2)**2 | |
18103 | & -(Amp*amd)**2 | |
18104 | IF (ak2 .GT. 0.) THEN | |
18105 | Q = SQRT(ak2/DMASS) | |
18106 | ELSE | |
18107 | Q= 0.00 | |
18108 | fd2=0 | |
18109 | return | |
18110 | END IF | |
18111 | b=widb0*1.2*dmass/srt*(q/q0)**(2.*al+1) | |
18112 | & /(1.+0.2*(q/q0)**(2*al)) | |
18113 | FD2=(2.*aj+1)*WIDTH**2*b/((srt-dmass)**2 | |
18114 | 1 +0.25*WIDTH**2)/(4.*q**2) | |
18115 | RETURN | |
18116 | END | |
18117 | ***************************8 | |
18118 | * MASS GENERATOR for two resonances simultaneously | |
18119 | subroutine Rmasdd(srt,am10,am20, | |
18120 | &dmin1,dmin2,ISEED,ic,dm1,dm2) | |
18121 | COMMON/RNDF77/NSEED | |
18122 | cc SAVE /RNDF77/ | |
18123 | SAVE | |
18124 | ISEED=ISEED | |
18125 | amn=0.94 | |
18126 | amp=0.14 | |
18127 | * the maximum mass for resonance 1 | |
18128 | dmax1=srt-dmin2 | |
18129 | * generate the mass for the first resonance | |
18130 | 5 NTRY1=0 | |
18131 | ntry2=0 | |
18132 | ntry=0 | |
18133 | ictrl=0 | |
18134 | 10 DM1 = RANART(NSEED) * (DMAX1-DMIN1) + DMIN1 | |
18135 | NTRY1=NTRY1+1 | |
18136 | * the maximum mass for resonance 2 | |
18137 | if(ictrl.eq.0)dmax2=srt-dm1 | |
18138 | * generate the mass for the second resonance | |
18139 | 20 dm2=RANART(NSEED)*(dmax2-dmin2)+dmin2 | |
18140 | NTRY2=NTRY2+1 | |
18141 | * check the energy-momentum conservation with two masses | |
18142 | * q2 in the following is q**2*4*srt**2 | |
18143 | q2=((srt**2-dm1**2-dm2**2)**2-4.*dm1**2*dm2**2) | |
18144 | if(q2.le.0)then | |
18145 | dmax2=dm2-0.01 | |
18146 | c dmax1=dm1-0.01 | |
18147 | ictrl=1 | |
18148 | go to 20 | |
18149 | endif | |
18150 | * determine the weight of the mass pair | |
18151 | IF(DMAX1.LT.am10) THEN | |
18152 | if(ic.eq.1)FM1=Fmassd(DMAX1) | |
18153 | if(ic.eq.2)FM1=Fmassn(DMAX1) | |
18154 | if(ic.eq.3)FM1=Fmassd(DMAX1) | |
18155 | if(ic.eq.4)FM1=Fmassd(DMAX1) | |
18156 | ELSE | |
18157 | if(ic.eq.1)FM1=Fmassd(am10) | |
18158 | if(ic.eq.2)FM1=Fmassn(am10) | |
18159 | if(ic.eq.3)FM1=Fmassd(am10) | |
18160 | if(ic.eq.4)FM1=Fmassd(am10) | |
18161 | ENDIF | |
18162 | IF(DMAX2.LT.am20) THEN | |
18163 | if(ic.eq.1)FM2=Fmassd(DMAX2) | |
18164 | if(ic.eq.2)FM2=Fmassn(DMAX2) | |
18165 | if(ic.eq.3)FM2=Fmassn(DMAX2) | |
18166 | if(ic.eq.4)FM2=Fmassr(DMAX2) | |
18167 | ELSE | |
18168 | if(ic.eq.1)FM2=Fmassd(am20) | |
18169 | if(ic.eq.2)FM2=Fmassn(am20) | |
18170 | if(ic.eq.3)FM2=Fmassn(am20) | |
18171 | if(ic.eq.4)FM2=Fmassr(am20) | |
18172 | ENDIF | |
18173 | IF(FM1.EQ.0.)FM1=1.e-04 | |
18174 | IF(FM2.EQ.0.)FM2=1.e-04 | |
18175 | prob0=fm1*fm2 | |
18176 | if(ic.eq.1)prob=Fmassd(dm1)*fmassd(dm2) | |
18177 | if(ic.eq.2)prob=Fmassn(dm1)*fmassn(dm2) | |
18178 | if(ic.eq.3)prob=Fmassd(dm1)*fmassn(dm2) | |
18179 | if(ic.eq.4)prob=Fmassd(dm1)*fmassr(dm2) | |
18180 | if(prob.le.1.e-06)prob=1.e-06 | |
18181 | fff=prob/prob0 | |
18182 | ntry=ntry+1 | |
18183 | IF(RANART(NSEED).GT.fff.AND. | |
18184 | 1 NTRY.LE.20) GO TO 10 | |
18185 | ||
18186 | clin-2/26/03 limit the mass of (rho,Delta,N*1440) below a certain value | |
18187 | c (here taken as its central value + 2* B-W fullwidth): | |
18188 | if((abs(am10-0.77).le.0.01.and.dm1.gt.1.07) | |
18189 | 1 .or.(abs(am10-1.232).le.0.01.and.dm1.gt.1.47) | |
18190 | 2 .or.(abs(am10-1.44).le.0.01.and.dm1.gt.2.14)) goto 5 | |
18191 | if((abs(am20-0.77).le.0.01.and.dm2.gt.1.07) | |
18192 | 1 .or.(abs(am20-1.232).le.0.01.and.dm2.gt.1.47) | |
18193 | 2 .or.(abs(am20-1.44).le.0.01.and.dm2.gt.2.14)) goto 5 | |
18194 | ||
18195 | RETURN | |
18196 | END | |
18197 | *FUNCTION Fmassd(DMASS) GIVES the delta MASS DISTRIBUTION | |
18198 | REAL FUNCTION Fmassd(DMASS) | |
18199 | SAVE | |
18200 | AM0=1.232 | |
18201 | Fmassd=am0*WIDTH(DMASS)/((DMASS**2-am0**2)**2 | |
18202 | 1 +am0**2*WIDTH(DMASS)**2) | |
18203 | RETURN | |
18204 | END | |
18205 | *FUNCTION Fmassn(DMASS) GIVES the N* MASS DISTRIBUTION | |
18206 | REAL FUNCTION Fmassn(DMASS) | |
18207 | SAVE | |
18208 | AM0=1.44 | |
18209 | Fmassn=am0*W1440(DMASS)/((DMASS**2-am0**2)**2 | |
18210 | 1 +am0**2*W1440(DMASS)**2) | |
18211 | RETURN | |
18212 | END | |
18213 | *FUNCTION Fmassr(DMASS) GIVES the rho MASS DISTRIBUTION | |
18214 | REAL FUNCTION Fmassr(DMASS) | |
18215 | SAVE | |
18216 | AM0=0.77 | |
18217 | wid=0.153 | |
18218 | Fmassr=am0*Wid/((DMASS**2-am0**2)**2 | |
18219 | 1 +am0**2*Wid**2) | |
18220 | RETURN | |
18221 | END | |
18222 | ********************************** | |
18223 | * PURPOSE : flow analysis | |
18224 | * DATE : Feb. 1, 1995 | |
18225 | *********************************** | |
18226 | subroutine flow(nt) | |
18227 | c IMPLICIT REAL*4 (A-H,O-Z) | |
18228 | PARAMETER ( PI=3.1415926,APion=0.13957,aka=0.498) | |
18229 | PARAMETER (MAXSTR=150001,MAXR=1,AMU= 0.9383,etaM=0.5475) | |
18230 | DIMENSION ypion(-80:80),ypr(-80:80),ykaon(-80:80) | |
18231 | dimension pxpion(-80:80),pxpro(-80:80),pxkaon(-80:80) | |
18232 | *----------------------------------------------------------------------* | |
18233 | COMMON /AA/ R(3,MAXSTR) | |
18234 | cc SAVE /AA/ | |
18235 | COMMON /BB/ P(3,MAXSTR) | |
18236 | cc SAVE /BB/ | |
18237 | COMMON /CC/ E(MAXSTR) | |
18238 | cc SAVE /CC/ | |
18239 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
18240 | cc SAVE /EE/ | |
18241 | COMMON /RR/ MASSR(0:MAXR) | |
18242 | cc SAVE /RR/ | |
18243 | COMMON /RUN/ NUM | |
18244 | cc SAVE /RUN/ | |
18245 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
18246 | cc SAVE /input1/ | |
18247 | SAVE | |
18248 | *----------------------------------------------------------------------* | |
18249 | NT=NT | |
18250 | ycut1=-2.6 | |
18251 | ycut2=2.6 | |
18252 | DY=0.2 | |
18253 | LY=NINT((YCUT2-YCUT1)/DY) | |
18254 | *********************************** | |
18255 | C initialize the transverse momentum counters | |
18256 | do 11 kk=-80,80 | |
18257 | pxpion(kk)=0 | |
18258 | pxpro(kk)=0 | |
18259 | pxkaon(kk)=0 | |
18260 | 11 continue | |
18261 | DO 701 J=-LY,LY | |
18262 | ypion(j)=0 | |
18263 | ykaon(j)=0 | |
18264 | ypr(j)=0 | |
18265 | 701 CONTINUE | |
18266 | nkaon=0 | |
18267 | npr=0 | |
18268 | npion=0 | |
18269 | IS=0 | |
18270 | DO 20 NRUN=1,NUM | |
18271 | IS=IS+MASSR(NRUN-1) | |
18272 | DO 20 J=1,MASSR(NRUN) | |
18273 | I=J+IS | |
18274 | * for protons go to 200 to calculate its rapidity and transvese momentum | |
18275 | * distributions | |
18276 | e00=sqrt(P(1,I)**2+P(2,i)**2+P(3,i)**2+e(I)**2) | |
18277 | y00=0.5*alog((e00+p(3,i))/(e00-p(3,i))) | |
18278 | if(abs(y00).ge.ycut2)go to 20 | |
18279 | iy=nint(y00/DY) | |
18280 | if(abs(iy).ge.80)go to 20 | |
18281 | if(e(i).eq.0)go to 20 | |
18282 | if(lb(i).ge.25)go to 20 | |
18283 | if((lb(i).le.5).and.(lb(i).ge.3))go to 50 | |
18284 | if(lb(i).eq.1.or.lb(i).eq.2)go to 200 | |
18285 | cbz3/10/99 | |
18286 | c if(lb(i).ge.6.and.lb(i).le.15)go to 200 | |
18287 | if(lb(i).ge.6.and.lb(i).le.17)go to 200 | |
18288 | cbz3/10/99 end | |
18289 | if(lb(i).eq.23)go to 400 | |
18290 | go to 20 | |
18291 | * calculate rapidity and transverse momentum distribution for pions | |
18292 | 50 npion=npion+1 | |
18293 | * (2) rapidity distribution in the cms frame | |
18294 | ypion(iy)=ypion(iy)+1 | |
18295 | pxpion(iy)=pxpion(iy)+p(1,i)/e(I) | |
18296 | go TO 20 | |
18297 | * calculate rapidity and transverse energy distribution for baryons | |
18298 | 200 npr=npr+1 | |
18299 | pxpro(iy)=pxpro(iy)+p(1,I)/E(I) | |
18300 | ypr(iy)=ypr(iy)+1. | |
18301 | go to 20 | |
18302 | 400 nkaon=nkaon+1 | |
18303 | ykaon(iy)=ykaon(iy)+1. | |
18304 | pxkaon(iy)=pxkaon(iy)+p(1,i)/E(i) | |
18305 | 20 CONTINUE | |
18306 | C PRINT OUT NUCLEON'S TRANSVERSE MOMENTUM distribution | |
18307 | c write(1041,*)Nt | |
18308 | c write(1042,*)Nt | |
18309 | c write(1043,*)Nt | |
18310 | c write(1090,*)Nt | |
18311 | c write(1091,*)Nt | |
18312 | c write(1092,*)Nt | |
18313 | do 3 npt=-10,10 | |
18314 | IF(ypr(npt).eq.0) go to 101 | |
18315 | pxpro(NPT)=-Pxpro(NPT)/ypr(NPT) | |
18316 | DNUC=Pxpro(NPT)/SQRT(ypr(NPT)) | |
18317 | c WRITE(1041,*)NPT*DY,Pxpro(NPT),DNUC | |
18318 | c print pion's transverse momentum distribution | |
18319 | 101 IF(ypion(npt).eq.0) go to 102 | |
18320 | pxpion(NPT)=-pxpion(NPT)/ypion(NPT) | |
18321 | DNUCp=pxpion(NPT)/SQRT(ypion(NPT)) | |
18322 | c WRITE(1042,*)NPT*DY,Pxpion(NPT),DNUCp | |
18323 | c kaons | |
18324 | 102 IF(ykaon(npt).eq.0) go to 3 | |
18325 | pxkaon(NPT)=-pxkaon(NPT)/ykaon(NPT) | |
18326 | DNUCk=pxkaon(NPT)/SQRT(ykaon(NPT)) | |
18327 | c WRITE(1043,*)NPT*DY,Pxkaon(NPT),DNUCk | |
18328 | 3 CONTINUE | |
18329 | ******************************** | |
18330 | * OUTPUT PION AND PROTON RAPIDITY DISTRIBUTIONS | |
18331 | DO 1001 M=-LY,LY | |
18332 | * PROTONS | |
18333 | DYPR=0 | |
18334 | IF(YPR(M).NE.0)DYPR=SQRT(YPR(M))/FLOAT(NRUN)/DY | |
18335 | YPR(M)=YPR(M)/FLOAT(NRUN)/DY | |
18336 | c WRITE(1090,'(E11.3,2X,E11.3,2X,E11.3)')m*DY,YPR(M),DYPR | |
18337 | * PIONS | |
18338 | DYPION=0 | |
18339 | IF(YPION(M).NE.0)DYPION=SQRT(YPION(M))/FLOAT(NRUN)/DY | |
18340 | YPION(M)=YPION(M)/FLOAT(NRUN)/DY | |
18341 | c WRITE(1091,'(E11.3,2X,E11.3,2X,E11.3)')m*DY,YPION(M),DYPION | |
18342 | * KAONS | |
18343 | DYKAON=0 | |
18344 | IF(YKAON(M).NE.0)DYKAON=SQRT(YKAON(M))/FLOAT(NRUN)/DY | |
18345 | YKAON(M)=YKAON(M)/FLOAT(NRUN)/DY | |
18346 | c WRITE(1092,'(E11.3,2X,E11.3,2X,E11.3)')m*DY,YKAON(M),DYKAON | |
18347 | 1001 CONTINUE | |
18348 | return | |
18349 | end | |
18350 | cbali1/16/99 | |
18351 | ******************************************** | |
18352 | * Purpose: pp_bar annihilation cross section as a functon of their cms energy | |
18353 | c real*4 function xppbar(srt) | |
18354 | real function xppbar(srt) | |
18355 | * srt = DSQRT(s) in GeV * | |
18356 | * xppbar = pp_bar annihilation cross section in mb * | |
18357 | * | |
18358 | * Reference: G.J. Wang, R. Bellwied, C. Pruneau and G. Welke | |
18359 | * Proc. of the 14th Winter Workshop on Nuclear Dynamics, | |
18360 | * Snowbird, Utah 31, Eds. W. Bauer and H.G. Ritter | |
18361 | * (Plenum Publishing, 1998) * | |
18362 | * | |
18363 | ****************************************** | |
18364 | Parameter (pmass=0.9383,xmax=400.) | |
18365 | SAVE | |
18366 | * Note: | |
18367 | * (1) we introduce a new parameter xmax=400 mb: | |
18368 | * the maximum annihilation xsection | |
18369 | * there are shadowing effects in pp_bar annihilation, with this parameter | |
18370 | * we can probably look at these effects | |
18371 | * (2) Calculate p(lab) from srt [GeV], since the formular in the | |
18372 | * reference applies only to the case of a p_bar on a proton at rest | |
18373 | * Formula used: srt**2=2.*pmass*(pmass+sqrt(pmass**2+plab**2)) | |
18374 | xppbar=1.e-06 | |
18375 | plab2=(srt**2/(2.*pmass)-pmass)**2-pmass**2 | |
18376 | if(plab2.gt.0)then | |
18377 | plab=sqrt(plab2) | |
18378 | xppbar=67./(plab**0.7) | |
18379 | if(xppbar.gt.xmax)xppbar=xmax | |
18380 | endif | |
18381 | return | |
18382 | END | |
18383 | cbali1/16/99 end | |
18384 | ********************************** | |
18385 | cbali2/6/99 | |
18386 | ******************************************** | |
18387 | * Purpose: To generate randomly the no. of pions in the final | |
18388 | * state of pp_bar annihilation according to a statistical | |
18389 | * model by using of the rejection method. | |
18390 | cbz2/25/99 | |
18391 | c real*4 function pbarfs(srt,npion,iseed) | |
18392 | subroutine pbarfs(srt,npion,iseed) | |
18393 | cbz2/25/99end | |
18394 | * Quantities: | |
18395 | * srt: DSQRT(s) in GeV * | |
18396 | * npion: No. of pions produced in the annihilation of ppbar at srt * | |
18397 | * nmax=6, cutoff of the maximum no. of n the code can handle | |
18398 | * | |
18399 | * Reference: C.M. Ko and R. Yuan, Phys. Lett. B192 (1987) 31 * | |
18400 | * | |
18401 | ****************************************** | |
18402 | parameter (pimass=0.140,pi=3.1415926) | |
18403 | Dimension factor(6),pnpi(6) | |
18404 | COMMON/RNDF77/NSEED | |
18405 | cc SAVE /RNDF77/ | |
18406 | SAVE | |
18407 | ISEED=ISEED | |
18408 | C the factorial coefficients in the pion no. distribution | |
18409 | * from n=2 to 6 calculated use the formula in the reference | |
18410 | factor(2)=1. | |
18411 | factor(3)=1.17e-01 | |
18412 | factor(4)=3.27e-03 | |
18413 | factor(5)=3.58e-05 | |
18414 | factor(6)=1.93e-07 | |
18415 | ene=(srt/pimass)**3/(6.*pi**2) | |
18416 | c the relative probability from n=2 to 6 | |
18417 | do 1001 n=2,6 | |
18418 | pnpi(n)=ene**n*factor(n) | |
18419 | 1001 continue | |
18420 | c find the maximum of the probabilities, I checked a | |
18421 | c Fortan manual: max() returns the maximum value of | |
18422 | c the same type as in the argument list | |
18423 | pmax=max(pnpi(2),pnpi(3),pnpi(4),pnpi(5),pnpi(6)) | |
18424 | c randomly generate n between 2 and 6 | |
18425 | ntry=0 | |
18426 | 10 npion=2+int(5*RANART(NSEED)) | |
18427 | clin-4/2008 check bounds: | |
18428 | if(npion.gt.6) goto 10 | |
18429 | thisp=pnpi(npion)/pmax | |
18430 | ntry=ntry+1 | |
18431 | c decide whether to take this npion according to the distribution | |
18432 | c using rejection method. | |
18433 | if((thisp.lt.RANART(NSEED)).and.(ntry.le.20)) go to 10 | |
18434 | c now take the last generated npion and return | |
18435 | return | |
18436 | END | |
18437 | ********************************** | |
18438 | cbali2/6/99 end | |
18439 | cbz3/9/99 kkbar | |
18440 | cbali3/5/99 | |
18441 | ****************************************** | |
18442 | * purpose: Xsection for K+ K- to pi+ pi- | |
18443 | c real*4 function xkkpi(srt) | |
18444 | * srt = DSQRT(s) in GeV * | |
18445 | * xkkpi = xsection in mb obtained from | |
18446 | * the detailed balance * | |
18447 | * ****************************************** | |
18448 | c parameter (pimass=0.140,aka=0.498) | |
18449 | c xkkpi=1.e-08 | |
18450 | c ppi2=(srt/2)**2-pimass**2 | |
18451 | c pk2=(srt/2)**2-aka**2 | |
18452 | c if(ppi2.le.0.or.pk2.le.0)return | |
18453 | cbz3/9/99 kkbar | |
18454 | c xkkpi=ppi2/pk2*pipik(srt) | |
18455 | c xkkpi=9.0 / 4.0 * ppi2/pk2*pipik(srt) | |
18456 | c xkkpi = 2.0 * xkkpi | |
18457 | cbz3/9/99 kkbar end | |
18458 | ||
18459 | cbz3/9/99 kkbar | |
18460 | c end | |
18461 | c return | |
18462 | c END | |
18463 | cbz3/9/99 kkbar end | |
18464 | ||
18465 | cbali3/5/99 end | |
18466 | cbz3/9/99 kkbar end | |
18467 | ||
18468 | cbz3/9/99 kkbar | |
18469 | ***************************** | |
18470 | * purpose: Xsection for K+ K- to pi+ pi- | |
18471 | SUBROUTINE XKKANN(SRT, XSK1, XSK2, XSK3, XSK4, XSK5, | |
18472 | & XSK6, XSK7, XSK8, XSK9, XSK10, XSK11, SIGK, rrkk) | |
18473 | * srt = DSQRT(s) in GeV * | |
18474 | * xsk1 = annihilation into pi pi * | |
18475 | * xsk2 = annihilation into pi rho (shifted to XKKSAN) * | |
18476 | * xsk3 = annihilation into pi omega (shifted to XKKSAN) * | |
18477 | * xsk4 = annihilation into pi eta * | |
18478 | * xsk5 = annihilation into rho rho * | |
18479 | * xsk6 = annihilation into rho omega * | |
18480 | * xsk7 = annihilation into rho eta (shifted to XKKSAN) * | |
18481 | * xsk8 = annihilation into omega omega * | |
18482 | * xsk9 = annihilation into omega eta (shifted to XKKSAN) * | |
18483 | * xsk10 = annihilation into eta eta * | |
18484 | * sigk = xsection in mb obtained from * | |
18485 | * the detailed balance * | |
18486 | * *************************** | |
18487 | PARAMETER (MAXSTR=150001, MAXX=20, MAXZ=24) | |
18488 | PARAMETER (AKA=0.498, PIMASS=0.140, RHOM = 0.770, | |
18489 | & OMEGAM = 0.7819, ETAM = 0.5473, APHI=1.02) | |
18490 | COMMON /AA/ R(3,MAXSTR) | |
18491 | cc SAVE /AA/ | |
18492 | COMMON /BB/ P(3,MAXSTR) | |
18493 | cc SAVE /BB/ | |
18494 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
18495 | cc SAVE /EE/ | |
18496 | COMMON /DD/ RHO(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
18497 | & RHOP(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
18498 | & RHON(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ) | |
18499 | cc SAVE /DD/ | |
18500 | SAVE | |
18501 | ||
18502 | S = SRT ** 2 | |
18503 | SIGK = 1.E-08 | |
18504 | XSK1 = 0.0 | |
18505 | XSK2 = 0.0 | |
18506 | XSK3 = 0.0 | |
18507 | XSK4 = 0.0 | |
18508 | XSK5 = 0.0 | |
18509 | XSK6 = 0.0 | |
18510 | XSK7 = 0.0 | |
18511 | XSK8 = 0.0 | |
18512 | XSK9 = 0.0 | |
18513 | XSK10 = 0.0 | |
18514 | XSK11 = 0.0 | |
18515 | ||
18516 | XPION0 = PIPIK(SRT) | |
18517 | c.....take into account both K+ and K0 | |
18518 | XPION0 = 2.0 * XPION0 | |
18519 | PI2 = S * (S - 4.0 * AKA ** 2) | |
18520 | if(PI2 .le. 0.0)return | |
18521 | ||
18522 | XM1 = PIMASS | |
18523 | XM2 = PIMASS | |
18524 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
18525 | IF (PF2 .GT. 0.0) THEN | |
18526 | XSK1 = 9.0 / 4.0 * PF2 / PI2 * XPION0 | |
18527 | END IF | |
18528 | ||
18529 | clin-8/28/00 (pi eta) eta -> K+K- is assumed the same as pi pi -> K+K-: | |
18530 | XM1 = PIMASS | |
18531 | XM2 = ETAM | |
18532 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
18533 | IF (PF2 .GT. 0.0) THEN | |
18534 | XSK4 = 3.0 / 4.0 * PF2 / PI2 * XPION0 | |
18535 | END IF | |
18536 | ||
18537 | XM1 = ETAM | |
18538 | XM2 = ETAM | |
18539 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
18540 | IF (PF2 .GT. 0.0) THEN | |
18541 | XSK10 = 1.0 / 4.0 * PF2 / PI2 * XPION0 | |
18542 | END IF | |
18543 | ||
18544 | XPION0 = rrkk | |
18545 | ||
18546 | clin-11/07/00: (pi eta) (rho omega) -> K* Kbar (or K*bar K) instead to K Kbar: | |
18547 | c XM1 = PIMASS | |
18548 | c XM2 = RHOM | |
18549 | c PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
18550 | c IF (PF2 .GT. 0.0) THEN | |
18551 | c XSK2 = 27.0 / 4.0 * PF2 / PI2 * XPION0 | |
18552 | c END IF | |
18553 | ||
18554 | c XM1 = PIMASS | |
18555 | c XM2 = OMEGAM | |
18556 | c PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
18557 | c IF (PF2 .GT. 0.0) THEN | |
18558 | c XSK3 = 9.0 / 4.0 * PF2 / PI2 * XPION0 | |
18559 | c END IF | |
18560 | ||
18561 | XM1 = RHOM | |
18562 | XM2 = RHOM | |
18563 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
18564 | IF (PF2 .GT. 0.0) THEN | |
18565 | XSK5 = 81.0 / 4.0 * PF2 / PI2 * XPION0 | |
18566 | END IF | |
18567 | ||
18568 | XM1 = RHOM | |
18569 | XM2 = OMEGAM | |
18570 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
18571 | IF (PF2 .GT. 0.0) THEN | |
18572 | XSK6 = 27.0 / 4.0 * PF2 / PI2 * XPION0 | |
18573 | END IF | |
18574 | ||
18575 | c XM1 = RHOM | |
18576 | c XM2 = ETAM | |
18577 | c PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
18578 | c IF (PF2 .GT. 0.0) THEN | |
18579 | c XSK7 = 9.0 / 4.0 * PF2 / PI2 * XPION0 | |
18580 | c END IF | |
18581 | ||
18582 | XM1 = OMEGAM | |
18583 | XM2 = OMEGAM | |
18584 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
18585 | IF (PF2 .GT. 0.0) THEN | |
18586 | XSK8 = 9.0 / 4.0 * PF2 / PI2 * XPION0 | |
18587 | END IF | |
18588 | ||
18589 | c XM1 = OMEGAM | |
18590 | c XM2 = ETAM | |
18591 | c PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
18592 | c IF (PF2 .GT. 0.0) THEN | |
18593 | c XSK9 = 3.0 / 4.0 * PF2 / PI2 * XPION0 | |
18594 | c END IF | |
18595 | ||
18596 | c* K+ + K- --> phi | |
18597 | fwdp = 1.68*(aphi**2-4.*aka**2)**1.5/6./aphi/aphi | |
18598 | pkaon=0.5*sqrt(srt**2-4.0*aka**2) | |
18599 | XSK11 = 30.*3.14159*0.1973**2*(aphi*fwdp)**2/ | |
18600 | & ((srt**2-aphi**2)**2+(aphi*fwdp)**2)/pkaon**2 | |
18601 | c | |
18602 | SIGK = XSK1 + XSK2 + XSK3 + XSK4 + XSK5 + | |
18603 | & XSK6 + XSK7 + XSK8 + XSK9 + XSK10 + XSK11 | |
18604 | ||
18605 | RETURN | |
18606 | END | |
18607 | cbz3/9/99 kkbar end | |
18608 | ||
18609 | ***************************** | |
18610 | * purpose: Xsection for Phi + B | |
18611 | SUBROUTINE XphiB(LB1, LB2, EM1, EM2, SRT, | |
18612 | & XSK1, XSK2, XSK3, XSK4, XSK5, SIGP) | |
18613 | c | |
18614 | * *************************** | |
18615 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
18616 | 1 AMP=0.93828,AP1=0.13496,AP2=0.13957,AM0=1.232,PI=3.1415926) | |
18617 | PARAMETER (AKA=0.498, ALA = 1.1157, PIMASS=0.140, APHI=1.02) | |
18618 | parameter (arho=0.77) | |
18619 | SAVE | |
18620 | ||
18621 | SIGP = 1.E-08 | |
18622 | XSK1 = 0.0 | |
18623 | XSK2 = 0.0 | |
18624 | XSK3 = 0.0 | |
18625 | XSK4 = 0.0 | |
18626 | XSK5 = 0.0 | |
18627 | XSK6 = 0.0 | |
18628 | srrt = srt - (em1+em2) | |
18629 | ||
18630 | c* phi + N(D) -> elastic scattering | |
18631 | c XSK1 = 0.56 !! mb | |
18632 | c !! mb (photo-production xsecn used) | |
18633 | XSK1 = 8.00 | |
18634 | c | |
18635 | c* phi + N(D) -> pi + N | |
18636 | IF (srt .GT. (ap1+amn)) THEN | |
18637 | XSK2 = 0.0235*srrt**(-0.519) | |
18638 | END IF | |
18639 | c | |
18640 | c* phi + N(D) -> pi + D | |
18641 | IF (srt .GT. (ap1+am0)) THEN | |
18642 | if(srrt .lt. 0.7)then | |
18643 | XSK3 = 0.0119*srrt**(-0.534) | |
18644 | else | |
18645 | XSK3 = 0.0130*srrt**(-0.304) | |
18646 | endif | |
18647 | END IF | |
18648 | c | |
18649 | c* phi + N(D) -> rho + N | |
18650 | IF (srt .GT. (arho+amn)) THEN | |
18651 | if(srrt .lt. 0.7)then | |
18652 | XSK4 = 0.0166*srrt**(-0.786) | |
18653 | else | |
18654 | XSK4 = 0.0189*srrt**(-0.277) | |
18655 | endif | |
18656 | END IF | |
18657 | c | |
18658 | c* phi + N(D) -> rho + D (same as pi + D) | |
18659 | IF (srt .GT. (arho+am0)) THEN | |
18660 | if(srrt .lt. 0.7)then | |
18661 | XSK5 = 0.0119*srrt**(-0.534) | |
18662 | else | |
18663 | XSK5 = 0.0130*srrt**(-0.304) | |
18664 | endif | |
18665 | END IF | |
18666 | c | |
18667 | c* phi + N -> K+ + La | |
18668 | IF( (lb1.ge.1.and.lb1.le.2) .or. (lb2.ge.1.and.lb2.le.2) )THEN | |
18669 | IF (srt .GT. (aka+ala)) THEN | |
18670 | XSK6 = 1.715/((srrt+3.508)**2-12.138) | |
18671 | END IF | |
18672 | END IF | |
18673 | SIGP = XSK1 + XSK2 + XSK3 + XSK4 + XSK5 + XSK6 | |
18674 | RETURN | |
18675 | END | |
18676 | c | |
18677 | ********************************** | |
18678 | * | |
18679 | SUBROUTINE CRPHIB(PX,PY,PZ,SRT,I1,I2, | |
18680 | & XSK1, XSK2, XSK3, XSK4, XSK5, SIGP, IBLOCK) | |
18681 | * | |
18682 | * PURPOSE: * | |
18683 | * DEALING WITH PHI + N(D) --> pi+N(D), rho+N(D), K+ + La | |
18684 | * QUANTITIES: * | |
18685 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
18686 | * SRT - SQRT OF S * | |
18687 | * IBLOCK - INFORMATION about the reaction channel * | |
18688 | * | |
18689 | * iblock - 20 elastic | |
18690 | * iblock - 221 K+ formation | |
18691 | * iblock - 223 others | |
18692 | ********************************** | |
18693 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
18694 | 1 AMP=0.93828,AP1=0.13496,AMRHO=0.769,AMOMGA=0.782, | |
18695 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
18696 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974,ARHO=0.77) | |
18697 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
18698 | COMMON /AA/ R(3,MAXSTR) | |
18699 | cc SAVE /AA/ | |
18700 | COMMON /BB/ P(3,MAXSTR) | |
18701 | cc SAVE /BB/ | |
18702 | COMMON /CC/ E(MAXSTR) | |
18703 | cc SAVE /CC/ | |
18704 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
18705 | cc SAVE /EE/ | |
18706 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
18707 | cc SAVE /input1/ | |
18708 | COMMON/RNDF77/NSEED | |
18709 | cc SAVE /RNDF77/ | |
18710 | SAVE | |
18711 | c | |
18712 | PX0=PX | |
18713 | PY0=PY | |
18714 | PZ0=PZ | |
18715 | IBLOCK=223 | |
18716 | c | |
18717 | X1 = RANART(NSEED) * SIGP | |
18718 | XSK2 = XSK1 + XSK2 | |
18719 | XSK3 = XSK2 + XSK3 | |
18720 | XSK4 = XSK3 + XSK4 | |
18721 | XSK5 = XSK4 + XSK5 | |
18722 | c | |
18723 | c !! elastic scatt. | |
18724 | IF (X1 .LE. XSK1) THEN | |
18725 | iblock=20 | |
18726 | GOTO 100 | |
18727 | ELSE IF (X1 .LE. XSK2) THEN | |
18728 | LB(I1) = 3 + int(3 * RANART(NSEED)) | |
18729 | LB(I2) = 1 + int(2 * RANART(NSEED)) | |
18730 | E(I1) = AP1 | |
18731 | E(I2) = AMN | |
18732 | GOTO 100 | |
18733 | ELSE IF (X1 .LE. XSK3) THEN | |
18734 | LB(I1) = 3 + int(3 * RANART(NSEED)) | |
18735 | LB(I2) = 6 + int(4 * RANART(NSEED)) | |
18736 | E(I1) = AP1 | |
18737 | E(I2) = AM0 | |
18738 | GOTO 100 | |
18739 | ELSE IF (X1 .LE. XSK4) THEN | |
18740 | LB(I1) = 25 + int(3 * RANART(NSEED)) | |
18741 | LB(I2) = 1 + int(2 * RANART(NSEED)) | |
18742 | E(I1) = ARHO | |
18743 | E(I2) = AMN | |
18744 | GOTO 100 | |
18745 | ELSE IF (X1 .LE. XSK5) THEN | |
18746 | LB(I1) = 25 + int(3 * RANART(NSEED)) | |
18747 | LB(I2) = 6 + int(4 * RANART(NSEED)) | |
18748 | E(I1) = ARHO | |
18749 | E(I2) = AM0 | |
18750 | GOTO 100 | |
18751 | ELSE | |
18752 | LB(I1) = 23 | |
18753 | LB(I2) = 14 | |
18754 | E(I1) = AKA | |
18755 | E(I2) = ALA | |
18756 | IBLOCK=221 | |
18757 | ENDIF | |
18758 | 100 CONTINUE | |
18759 | EM1=E(I1) | |
18760 | EM2=E(I2) | |
18761 | *----------------------------------------------------------------------- | |
18762 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
18763 | * ENERGY CONSERVATION | |
18764 | PR2 = (SRT**2 - EM1**2 - EM2**2)**2 | |
18765 | 1 - 4.0 * (EM1*EM2)**2 | |
18766 | IF(PR2.LE.0.)PR2=1.E-08 | |
18767 | PR=SQRT(PR2)/(2.*SRT) | |
18768 | * WE ASSUME AN ISOTROPIC ANGULAR DISTRIBUTION IN THE CMS | |
18769 | C1 = 1.0 - 2.0 * RANART(NSEED) | |
18770 | T1 = 2.0 * PI * RANART(NSEED) | |
18771 | S1 = SQRT( 1.0 - C1**2 ) | |
18772 | CT1 = COS(T1) | |
18773 | ST1 = SIN(T1) | |
18774 | * THE MOMENTUM IN THE CMS IN THE FINAL STATE | |
18775 | PZ = PR * C1 | |
18776 | PX = PR * S1*CT1 | |
18777 | PY = PR * S1*ST1 | |
18778 | * ROTATE IT | |
18779 | CALL ROTATE(PX0,PY0,PZ0,PX,PY,PZ) | |
18780 | RETURN | |
18781 | END | |
18782 | c | |
18783 | ***************************** | |
18784 | * purpose: Xsection for Phi + B | |
18785 | c!! in fm^2 | |
18786 | SUBROUTINE pibphi(srt,lb1,lb2,em1,em2,Xphi,xphin) | |
18787 | c | |
18788 | * phi + N(D) <- pi + N | |
18789 | * phi + N(D) <- pi + D | |
18790 | * phi + N(D) <- rho + N | |
18791 | * phi + N(D) <- rho + D (same as pi + D) | |
18792 | c | |
18793 | * *************************** | |
18794 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
18795 | 1 AMP=0.93828,AP1=0.13496,AP2=0.13957,AM0=1.232,PI=3.1415926) | |
18796 | PARAMETER (AKA=0.498, ALA = 1.1157, PIMASS=0.140, APHI=1.02) | |
18797 | parameter (arho=0.77) | |
18798 | SAVE | |
18799 | ||
18800 | Xphi = 0.0 | |
18801 | xphin = 0.0 | |
18802 | xphid = 0.0 | |
18803 | c | |
18804 | if( (lb1.ge.3.and.lb1.le.5) .or. | |
18805 | & (lb2.ge.3.and.lb2.le.5) )then | |
18806 | c | |
18807 | if( (iabs(lb1).ge.1.and.iabs(lb1).le.2) .or. | |
18808 | & (iabs(lb2).ge.1.and.iabs(lb2).le.2) )then | |
18809 | c* phi + N <- pi + N | |
18810 | IF (srt .GT. (aphi+amn)) THEN | |
18811 | srrt = srt - (aphi+amn) | |
18812 | sig = 0.0235*srrt**(-0.519) | |
18813 | xphin=sig*1.*(srt**2-(aphi+amn)**2)* | |
18814 | & (srt**2-(aphi-amn)**2)/(srt**2-(em1+em2)**2)/ | |
18815 | & (srt**2-(em1-em2)**2) | |
18816 | END IF | |
18817 | c* phi + D <- pi + N | |
18818 | IF (srt .GT. (aphi+am0)) THEN | |
18819 | srrt = srt - (aphi+am0) | |
18820 | sig = 0.0235*srrt**(-0.519) | |
18821 | xphid=sig*4.*(srt**2-(aphi+am0)**2)* | |
18822 | & (srt**2-(aphi-am0)**2)/(srt**2-(em1+em2)**2)/ | |
18823 | & (srt**2-(em1-em2)**2) | |
18824 | END IF | |
18825 | else | |
18826 | c* phi + N <- pi + D | |
18827 | IF (srt .GT. (aphi+amn)) THEN | |
18828 | srrt = srt - (aphi+amn) | |
18829 | if(srrt .lt. 0.7)then | |
18830 | sig = 0.0119*srrt**(-0.534) | |
18831 | else | |
18832 | sig = 0.0130*srrt**(-0.304) | |
18833 | endif | |
18834 | xphin=sig*(1./4.)*(srt**2-(aphi+amn)**2)* | |
18835 | & (srt**2-(aphi-amn)**2)/(srt**2-(em1+em2)**2)/ | |
18836 | & (srt**2-(em1-em2)**2) | |
18837 | END IF | |
18838 | c* phi + D <- pi + D | |
18839 | IF (srt .GT. (aphi+am0)) THEN | |
18840 | srrt = srt - (aphi+am0) | |
18841 | if(srrt .lt. 0.7)then | |
18842 | sig = 0.0119*srrt**(-0.534) | |
18843 | else | |
18844 | sig = 0.0130*srrt**(-0.304) | |
18845 | endif | |
18846 | xphid=sig*1.*(srt**2-(aphi+am0)**2)* | |
18847 | & (srt**2-(aphi-am0)**2)/(srt**2-(em1+em2)**2)/ | |
18848 | & (srt**2-(em1-em2)**2) | |
18849 | END IF | |
18850 | endif | |
18851 | c | |
18852 | c | |
18853 | C** for rho + N(D) colln | |
18854 | c | |
18855 | else | |
18856 | c | |
18857 | if( (iabs(lb1).ge.1.and.iabs(lb1).le.2) .or. | |
18858 | & (iabs(lb2).ge.1.and.iabs(lb2).le.2) )then | |
18859 | c | |
18860 | c* phi + N <- rho + N | |
18861 | IF (srt .GT. (aphi+amn)) THEN | |
18862 | srrt = srt - (aphi+amn) | |
18863 | if(srrt .lt. 0.7)then | |
18864 | sig = 0.0166*srrt**(-0.786) | |
18865 | else | |
18866 | sig = 0.0189*srrt**(-0.277) | |
18867 | endif | |
18868 | xphin=sig*(1./3.)*(srt**2-(aphi+amn)**2)* | |
18869 | & (srt**2-(aphi-amn)**2)/(srt**2-(em1+em2)**2)/ | |
18870 | & (srt**2-(em1-em2)**2) | |
18871 | END IF | |
18872 | c* phi + D <- rho + N | |
18873 | IF (srt .GT. (aphi+am0)) THEN | |
18874 | srrt = srt - (aphi+am0) | |
18875 | if(srrt .lt. 0.7)then | |
18876 | sig = 0.0166*srrt**(-0.786) | |
18877 | else | |
18878 | sig = 0.0189*srrt**(-0.277) | |
18879 | endif | |
18880 | xphid=sig*(4./3.)*(srt**2-(aphi+am0)**2)* | |
18881 | & (srt**2-(aphi-am0)**2)/(srt**2-(em1+em2)**2)/ | |
18882 | & (srt**2-(em1-em2)**2) | |
18883 | END IF | |
18884 | else | |
18885 | c* phi + N <- rho + D (same as pi+D->phi+N) | |
18886 | IF (srt .GT. (aphi+amn)) THEN | |
18887 | srrt = srt - (aphi+amn) | |
18888 | if(srrt .lt. 0.7)then | |
18889 | sig = 0.0119*srrt**(-0.534) | |
18890 | else | |
18891 | sig = 0.0130*srrt**(-0.304) | |
18892 | endif | |
18893 | xphin=sig*(1./12.)*(srt**2-(aphi+amn)**2)* | |
18894 | & (srt**2-(aphi-amn)**2)/(srt**2-(em1+em2)**2)/ | |
18895 | & (srt**2-(em1-em2)**2) | |
18896 | END IF | |
18897 | c* phi + D <- rho + D (same as pi+D->phi+D) | |
18898 | IF (srt .GT. (aphi+am0)) THEN | |
18899 | srrt = srt - (aphi+am0) | |
18900 | if(srrt .lt. 0.7)then | |
18901 | sig = 0.0119*srrt**(-0.534) | |
18902 | else | |
18903 | sig = 0.0130*srrt**(-0.304) | |
18904 | endif | |
18905 | xphid=sig*(1./3.)*(srt**2-(aphi+am0)**2)* | |
18906 | & (srt**2-(aphi-am0)**2)/(srt**2-(em1+em2)**2)/ | |
18907 | & (srt**2-(em1-em2)**2) | |
18908 | END IF | |
18909 | endif | |
18910 | END IF | |
18911 | c !! in fm^2 | |
18912 | xphin = xphin/10. | |
18913 | c !! in fm^2 | |
18914 | xphid = xphid/10. | |
18915 | Xphi = xphin + xphid | |
18916 | ||
18917 | RETURN | |
18918 | END | |
18919 | c | |
18920 | ***************************** | |
18921 | * purpose: Xsection for phi +M to K+K etc | |
18922 | SUBROUTINE PHIMES(I1, I2, SRT, XSK1, XSK2, XSK3, XSK4, XSK5, | |
18923 | 1 XSK6, XSK7, SIGPHI) | |
18924 | ||
18925 | * QUANTITIES: * | |
18926 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
18927 | * SRT - SQRT OF S * | |
18928 | * IBLOCK - THE INFORMATION BACK * | |
18929 | * 223 --> phi destruction | |
18930 | * 20 --> elastic | |
18931 | ********************************** | |
18932 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
18933 | 1 AMP=0.93828,AP1=0.13496, | |
18934 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
18935 | PARAMETER (AKA=0.498, AKS=0.895, AOMEGA=0.7819, | |
18936 | 3 ARHO=0.77, APHI=1.02) | |
18937 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
18938 | PARAMETER (MAXX=20, MAXZ=24) | |
18939 | COMMON /AA/ R(3,MAXSTR) | |
18940 | cc SAVE /AA/ | |
18941 | COMMON /BB/ P(3,MAXSTR) | |
18942 | cc SAVE /BB/ | |
18943 | COMMON /CC/ E(MAXSTR) | |
18944 | cc SAVE /CC/ | |
18945 | COMMON /DD/ RHO(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
18946 | & RHOP(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ), | |
18947 | & RHON(-MAXX:MAXX,-MAXX:MAXX,-MAXZ:MAXZ) | |
18948 | cc SAVE /DD/ | |
18949 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
18950 | cc SAVE /EE/ | |
18951 | SAVE | |
18952 | ||
18953 | S = SRT ** 2 | |
18954 | SIGPHI = 1.E-08 | |
18955 | XSK1 = 0.0 | |
18956 | XSK2 = 0.0 | |
18957 | XSK3 = 0.0 | |
18958 | XSK4 = 0.0 | |
18959 | XSK5 = 0.0 | |
18960 | XSK6 = 0.0 | |
18961 | XSK7 = 0.0 | |
18962 | em1 = E(i1) | |
18963 | em2 = E(i2) | |
18964 | LB1 = LB(i1) | |
18965 | LB2 = LB(i2) | |
18966 | akap = aka | |
18967 | c****** | |
18968 | c | |
18969 | c !! mb, elastic | |
18970 | XSK1 = 5.0 | |
18971 | ||
18972 | pii = sqrt((S-(em1+em2)**2)*(S-(em1-em2)**2)) | |
18973 | * phi + K(-bar) channel | |
18974 | if( lb1.eq.23.or.lb2.eq.23 .or. lb1.eq.21.or.lb2.eq.21 )then | |
18975 | if(srt .gt. (ap1+akap))then | |
18976 | c XSK2 = 2.5 | |
18977 | pff = sqrt((S-(ap1+akap)**2)*(S-(ap1-akap)**2)) | |
18978 | XSK2 = 195.639*pff/pii/32./pi/S | |
18979 | endif | |
18980 | if(srt .gt. (arho+akap))then | |
18981 | c XSK3 = 3.5 | |
18982 | pff = sqrt((S-(arho+akap)**2)*(S-(arho-akap)**2)) | |
18983 | XSK3 = 526.702*pff/pii/32./pi/S | |
18984 | endif | |
18985 | if(srt .gt. (aomega+akap))then | |
18986 | c XSK4 = 3.5 | |
18987 | pff = sqrt((S-(aomega+akap)**2)*(S-(aomega-akap)**2)) | |
18988 | XSK4 = 355.429*pff/pii/32./pi/S | |
18989 | endif | |
18990 | if(srt .gt. (ap1+aks))then | |
18991 | c XSK5 = 15.0 | |
18992 | pff = sqrt((S-(ap1+aks)**2)*(S-(ap1-aks)**2)) | |
18993 | XSK5 = 2047.042*pff/pii/32./pi/S | |
18994 | endif | |
18995 | if(srt .gt. (arho+aks))then | |
18996 | c XSK6 = 3.5 | |
18997 | pff = sqrt((S-(arho+aks)**2)*(S-(arho-aks)**2)) | |
18998 | XSK6 = 1371.257*pff/pii/32./pi/S | |
18999 | endif | |
19000 | if(srt .gt. (aomega+aks))then | |
19001 | c XSK7 = 3.5 | |
19002 | pff = sqrt((S-(aomega+aks)**2)*(S-(aomega-aks)**2)) | |
19003 | XSK7 = 482.292*pff/pii/32./pi/S | |
19004 | endif | |
19005 | c | |
19006 | elseif( iabs(lb1).eq.30.or.iabs(lb2).eq.30 )then | |
19007 | * phi + K*(-bar) channel | |
19008 | c | |
19009 | if(srt .gt. (ap1+akap))then | |
19010 | c XSK2 = 3.5 | |
19011 | pff = sqrt((S-(ap1+akap)**2)*(S-(ap1-akap)**2)) | |
19012 | XSK2 = 372.378*pff/pii/32./pi/S | |
19013 | endif | |
19014 | if(srt .gt. (arho+akap))then | |
19015 | c XSK3 = 9.0 | |
19016 | pff = sqrt((S-(arho+akap)**2)*(S-(arho-akap)**2)) | |
19017 | XSK3 = 1313.960*pff/pii/32./pi/S | |
19018 | endif | |
19019 | if(srt .gt. (aomega+akap))then | |
19020 | c XSK4 = 6.5 | |
19021 | pff = sqrt((S-(aomega+akap)**2)*(S-(aomega-akap)**2)) | |
19022 | XSK4 = 440.558*pff/pii/32./pi/S | |
19023 | endif | |
19024 | if(srt .gt. (ap1+aks))then | |
19025 | c XSK5 = 30.0 !wrong | |
19026 | pff = sqrt((S-(ap1+aks)**2)*(S-(ap1-aks)**2)) | |
19027 | XSK5 = 1496.692*pff/pii/32./pi/S | |
19028 | endif | |
19029 | if(srt .gt. (arho+aks))then | |
19030 | c XSK6 = 9.0 | |
19031 | pff = sqrt((S-(arho+aks)**2)*(S-(arho-aks)**2)) | |
19032 | XSK6 = 6999.840*pff/pii/32./pi/S | |
19033 | endif | |
19034 | if(srt .gt. (aomega+aks))then | |
19035 | c XSK7 = 15.0 | |
19036 | pff = sqrt((S-(aomega+aks)**2)*(S-(aomega-aks)**2)) | |
19037 | XSK7 = 1698.903*pff/pii/32./pi/S | |
19038 | endif | |
19039 | else | |
19040 | c | |
19041 | * phi + rho(pi,omega) channel | |
19042 | c | |
19043 | srr1 = em1+em2 | |
19044 | if(srt .gt. (akap+akap))then | |
19045 | srrt = srt - srr1 | |
19046 | cc if(srrt .lt. 0.3)then | |
19047 | if(srrt .lt. 0.3 .and. srrt .gt. 0.01)then | |
19048 | XSK2 = 1.69/(srrt**0.141 - 0.407) | |
19049 | else | |
19050 | XSK2 = 3.74 + 0.008*srrt**1.9 | |
19051 | endif | |
19052 | endif | |
19053 | if(srt .gt. (akap+aks))then | |
19054 | srr2 = akap+aks | |
19055 | srr = amax1(srr1,srr2) | |
19056 | srrt = srt - srr | |
19057 | cc if(srrt .lt. 0.3)then | |
19058 | if(srrt .lt. 0.3 .and. srrt .gt. 0.01)then | |
19059 | XSK3 = 1.69/(srrt**0.141 - 0.407) | |
19060 | else | |
19061 | XSK3 = 3.74 + 0.008*srrt**1.9 | |
19062 | endif | |
19063 | endif | |
19064 | if(srt .gt. (aks+aks))then | |
19065 | srr2 = aks+aks | |
19066 | srr = amax1(srr1,srr2) | |
19067 | srrt = srt - srr | |
19068 | cc if(srrt .lt. 0.3)then | |
19069 | if(srrt .lt. 0.3 .and. srrt .gt. 0.01)then | |
19070 | XSK4 = 1.69/(srrt**0.141 - 0.407) | |
19071 | else | |
19072 | XSK4 = 3.74 + 0.008*srrt**1.9 | |
19073 | endif | |
19074 | endif | |
19075 | c xsk2 = amin1(20.,xsk2) | |
19076 | c xsk3 = amin1(20.,xsk3) | |
19077 | c xsk4 = amin1(20.,xsk4) | |
19078 | endif | |
19079 | ||
19080 | SIGPHI = XSK1 + XSK2 + XSK3 + XSK4 + XSK5 + XSK6 + XSK7 | |
19081 | ||
19082 | RETURN | |
19083 | END | |
19084 | ||
19085 | ********************************** | |
19086 | * PURPOSE: * | |
19087 | * DEALING WITH phi+M scatt. | |
19088 | * | |
19089 | SUBROUTINE CRPHIM(PX,PY,PZ,SRT,I1,I2, | |
19090 | & XSK1, XSK2, XSK3, XSK4, XSK5, XSK6, SIGPHI, IKKG, IKKL, IBLOCK) | |
19091 | * | |
19092 | * QUANTITIES: * | |
19093 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
19094 | * SRT - SQRT OF S * | |
19095 | * IBLOCK - THE INFORMATION BACK * | |
19096 | * 20 --> elastic | |
19097 | * 223 --> phi + pi(rho,omega) | |
19098 | * 224 --> phi + K -> K + pi(rho,omega) | |
19099 | * 225 --> phi + K -> K* + pi(rho,omega) | |
19100 | * 226 --> phi + K* -> K + pi(rho,omega) | |
19101 | * 227 --> phi + K* -> K* + pi(rho,omega) | |
19102 | ********************************** | |
19103 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
19104 | 1 AMP=0.93828,AP1=0.13496,ARHO=0.77,AOMEGA=0.7819, | |
19105 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
19106 | PARAMETER (AKA=0.498,AKS=0.895) | |
19107 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
19108 | COMMON /AA/ R(3,MAXSTR) | |
19109 | cc SAVE /AA/ | |
19110 | COMMON /BB/ P(3,MAXSTR) | |
19111 | cc SAVE /BB/ | |
19112 | COMMON /CC/ E(MAXSTR) | |
19113 | cc SAVE /CC/ | |
19114 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
19115 | cc SAVE /EE/ | |
19116 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
19117 | cc SAVE /input1/ | |
19118 | COMMON/RNDF77/NSEED | |
19119 | cc SAVE /RNDF77/ | |
19120 | SAVE | |
19121 | c | |
19122 | PX0=PX | |
19123 | PY0=PY | |
19124 | PZ0=PZ | |
19125 | LB1 = LB(i1) | |
19126 | LB2 = LB(i2) | |
19127 | ||
19128 | X1 = RANART(NSEED) * SIGPHI | |
19129 | XSK2 = XSK1 + XSK2 | |
19130 | XSK3 = XSK2 + XSK3 | |
19131 | XSK4 = XSK3 + XSK4 | |
19132 | XSK5 = XSK4 + XSK5 | |
19133 | XSK6 = XSK5 + XSK6 | |
19134 | IF (X1 .LE. XSK1) THEN | |
19135 | c !! elastic scatt | |
19136 | IBLOCK=20 | |
19137 | GOTO 100 | |
19138 | ELSE | |
19139 | c | |
19140 | *phi + (K,K*)-bar | |
19141 | if( lb1.eq.23.or.lb1.eq.21.or.iabs(lb1).eq.30 .OR. | |
19142 | & lb2.eq.23.or.lb2.eq.21.or.iabs(lb2).eq.30 )then | |
19143 | c | |
19144 | if(lb1.eq.23.or.lb2.eq.23)then | |
19145 | IKKL=1 | |
19146 | IBLOCK=224 | |
19147 | iad1 = 23 | |
19148 | iad2 = 30 | |
19149 | elseif(lb1.eq.30.or.lb2.eq.30)then | |
19150 | IKKL=0 | |
19151 | IBLOCK=226 | |
19152 | iad1 = 23 | |
19153 | iad2 = 30 | |
19154 | elseif(lb1.eq.21.or.lb2.eq.21)then | |
19155 | IKKL=1 | |
19156 | IBLOCK=124 | |
19157 | iad1 = 21 | |
19158 | iad2 = -30 | |
19159 | c !! -30 | |
19160 | else | |
19161 | IKKL=0 | |
19162 | IBLOCK=126 | |
19163 | iad1 = 21 | |
19164 | iad2 = -30 | |
19165 | endif | |
19166 | IF (X1 .LE. XSK2) THEN | |
19167 | LB(I1) = 3 + int(3 * RANART(NSEED)) | |
19168 | LB(I2) = iad1 | |
19169 | E(I1) = AP1 | |
19170 | E(I2) = AKA | |
19171 | IKKG = 1 | |
19172 | GOTO 100 | |
19173 | ELSE IF (X1 .LE. XSK3) THEN | |
19174 | LB(I1) = 25 + int(3 * RANART(NSEED)) | |
19175 | LB(I2) = iad1 | |
19176 | E(I1) = ARHO | |
19177 | E(I2) = AKA | |
19178 | IKKG = 1 | |
19179 | GOTO 100 | |
19180 | ELSE IF (X1 .LE. XSK4) THEN | |
19181 | LB(I1) = 28 | |
19182 | LB(I2) = iad1 | |
19183 | E(I1) = AOMEGA | |
19184 | E(I2) = AKA | |
19185 | IKKG = 1 | |
19186 | GOTO 100 | |
19187 | ELSE IF (X1 .LE. XSK5) THEN | |
19188 | LB(I1) = 3 + int(3 * RANART(NSEED)) | |
19189 | LB(I2) = iad2 | |
19190 | E(I1) = AP1 | |
19191 | E(I2) = AKS | |
19192 | IKKG = 0 | |
19193 | IBLOCK=IBLOCK+1 | |
19194 | GOTO 100 | |
19195 | ELSE IF (X1 .LE. XSK6) THEN | |
19196 | LB(I1) = 25 + int(3 * RANART(NSEED)) | |
19197 | LB(I2) = iad2 | |
19198 | E(I1) = ARHO | |
19199 | E(I2) = AKS | |
19200 | IKKG = 0 | |
19201 | IBLOCK=IBLOCK+1 | |
19202 | GOTO 100 | |
19203 | ELSE | |
19204 | LB(I1) = 28 | |
19205 | LB(I2) = iad2 | |
19206 | E(I1) = AOMEGA | |
19207 | E(I2) = AKS | |
19208 | IKKG = 0 | |
19209 | IBLOCK=IBLOCK+1 | |
19210 | GOTO 100 | |
19211 | ENDIF | |
19212 | else | |
19213 | c !! phi destruction via (pi,rho,omega) | |
19214 | IBLOCK=223 | |
19215 | *phi + pi(rho,omega) | |
19216 | IF (X1 .LE. XSK2) THEN | |
19217 | LB(I1) = 23 | |
19218 | LB(I2) = 21 | |
19219 | E(I1) = AKA | |
19220 | E(I2) = AKA | |
19221 | IKKG = 2 | |
19222 | IKKL = 0 | |
19223 | GOTO 100 | |
19224 | ELSE IF (X1 .LE. XSK3) THEN | |
19225 | LB(I1) = 23 | |
19226 | c LB(I2) = 30 | |
19227 | LB(I2) = -30 | |
19228 | clin-2/10/03 currently take XSK3 to be the sum of KK*bar & KbarK*: | |
19229 | if(RANART(NSEED).le.0.5) then | |
19230 | LB(I1) = 21 | |
19231 | LB(I2) = 30 | |
19232 | endif | |
19233 | ||
19234 | E(I1) = AKA | |
19235 | E(I2) = AKS | |
19236 | IKKG = 1 | |
19237 | IKKL = 0 | |
19238 | GOTO 100 | |
19239 | ELSE IF (X1 .LE. XSK4) THEN | |
19240 | LB(I1) = 30 | |
19241 | c LB(I2) = 30 | |
19242 | LB(I2) = -30 | |
19243 | E(I1) = AKS | |
19244 | E(I2) = AKS | |
19245 | IKKG = 0 | |
19246 | IKKL = 0 | |
19247 | GOTO 100 | |
19248 | ENDIF | |
19249 | endif | |
19250 | ENDIF | |
19251 | * | |
19252 | 100 CONTINUE | |
19253 | EM1=E(I1) | |
19254 | EM2=E(I2) | |
19255 | ||
19256 | *----------------------------------------------------------------------- | |
19257 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
19258 | * ENERGY CONSERVATION | |
19259 | PR2 = (SRT**2 - EM1**2 - EM2**2)**2 | |
19260 | 1 - 4.0 * (EM1*EM2)**2 | |
19261 | IF(PR2.LE.0.)PR2=1.E-08 | |
19262 | PR=SQRT(PR2)/(2.*SRT) | |
19263 | * WE ASSUME AN ISOTROPIC ANGULAR DISTRIBUTION IN THE CMS | |
19264 | C1 = 1.0 - 2.0 * RANART(NSEED) | |
19265 | T1 = 2.0 * PI * RANART(NSEED) | |
19266 | S1 = SQRT( 1.0 - C1**2 ) | |
19267 | CT1 = COS(T1) | |
19268 | ST1 = SIN(T1) | |
19269 | * THE MOMENTUM IN THE CMS IN THE FINAL STATE | |
19270 | PZ = PR * C1 | |
19271 | PX = PR * S1*CT1 | |
19272 | PY = PR * S1*ST1 | |
19273 | * ROTATE IT | |
19274 | CALL ROTATE(PX0,PY0,PZ0,PX,PY,PZ) | |
19275 | RETURN | |
19276 | END | |
19277 | ********************************** | |
19278 | ********************************** | |
19279 | cbz3/9/99 khyperon | |
19280 | ************************************* | |
19281 | * purpose: Xsection for K+Y -> piN * | |
19282 | * Xsection for K+Y-bar -> piN-bar !! sp03/29/01 * | |
19283 | * | |
19284 | SUBROUTINE XKHYPE(I1, I2, SRT, XKY1, XKY2, XKY3, XKY4, XKY5, | |
19285 | & XKY6, XKY7, XKY8, XKY9, XKY10, XKY11, XKY12, XKY13, | |
19286 | & XKY14, XKY15, XKY16, XKY17, SIGK) | |
19287 | c subroutine xkhype(i1, i2, srt, sigk) | |
19288 | * srt = DSQRT(s) in GeV * | |
19289 | * xkkpi = xsection in mb obtained from * | |
19290 | * the detailed balance * | |
19291 | * *********************************** | |
19292 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
19293 | 1 AMP=0.93828,AP1=0.13496,AMRHO=0.769,AMOMGA=0.782,APHI=1.02, | |
19294 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
19295 | parameter (pimass=0.140, AMETA = 0.5473, aka=0.498, | |
19296 | & aml=1.116,ams=1.193, AM1440 = 1.44, AM1535 = 1.535) | |
19297 | COMMON /EE/ID(MAXSTR), LB(MAXSTR) | |
19298 | cc SAVE /EE/ | |
19299 | SAVE | |
19300 | ||
19301 | S = SRT ** 2 | |
19302 | SIGK=1.E-08 | |
19303 | XKY1 = 0.0 | |
19304 | XKY2 = 0.0 | |
19305 | XKY3 = 0.0 | |
19306 | XKY4 = 0.0 | |
19307 | XKY5 = 0.0 | |
19308 | XKY6 = 0.0 | |
19309 | XKY7 = 0.0 | |
19310 | XKY8 = 0.0 | |
19311 | XKY9 = 0.0 | |
19312 | XKY10 = 0.0 | |
19313 | XKY11 = 0.0 | |
19314 | XKY12 = 0.0 | |
19315 | XKY13 = 0.0 | |
19316 | XKY14 = 0.0 | |
19317 | XKY15 = 0.0 | |
19318 | XKY16 = 0.0 | |
19319 | XKY17 = 0.0 | |
19320 | ||
19321 | LB1 = LB(I1) | |
19322 | LB2 = LB(I2) | |
19323 | IF (iabs(LB1) .EQ. 14 .OR. iabs(LB2) .EQ. 14) THEN | |
19324 | XKAON0 = PNLKA(SRT) | |
19325 | XKAON0 = 2.0 * XKAON0 | |
19326 | PI2 = (S - (AML + AKA) ** 2) * (S - (AML - AKA) ** 2) | |
19327 | ELSE | |
19328 | XKAON0 = PNSKA(SRT) | |
19329 | XKAON0 = 2.0 * XKAON0 | |
19330 | PI2 = (S - (AMS + AKA) ** 2) * (S - (AMS - AKA) ** 2) | |
19331 | END IF | |
19332 | if(PI2 .le. 0.0)return | |
19333 | ||
19334 | XM1 = PIMASS | |
19335 | XM2 = AMP | |
19336 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19337 | IF (PF2 .GT. 0.0) THEN | |
19338 | XKY1 = 3.0 * PF2 / PI2 * XKAON0 | |
19339 | END IF | |
19340 | ||
19341 | XM1 = PIMASS | |
19342 | XM2 = AM0 | |
19343 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19344 | IF (PF2 .GT. 0.0) THEN | |
19345 | XKY2 = 12.0 * PF2 / PI2 * XKAON0 | |
19346 | END IF | |
19347 | ||
19348 | XM1 = PIMASS | |
19349 | XM2 = AM1440 | |
19350 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19351 | IF (PF2 .GT. 0.0) THEN | |
19352 | XKY3 = 3.0 * PF2 / PI2 * XKAON0 | |
19353 | END IF | |
19354 | ||
19355 | XM1 = PIMASS | |
19356 | XM2 = AM1535 | |
19357 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19358 | IF (PF2 .GT. 0.0) THEN | |
19359 | XKY4 = 3.0 * PF2 / PI2 * XKAON0 | |
19360 | END IF | |
19361 | ||
19362 | XM1 = AMRHO | |
19363 | XM2 = AMP | |
19364 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19365 | IF (PF2 .GT. 0.0) THEN | |
19366 | XKY5 = 9.0 * PF2 / PI2 * XKAON0 | |
19367 | END IF | |
19368 | ||
19369 | XM1 = AMRHO | |
19370 | XM2 = AM0 | |
19371 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19372 | IF (PF2 .GT. 0.0) THEN | |
19373 | XKY6 = 36.0 * PF2 / PI2 * XKAON0 | |
19374 | END IF | |
19375 | ||
19376 | XM1 = AMRHO | |
19377 | XM2 = AM1440 | |
19378 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19379 | IF (PF2 .GT. 0.0) THEN | |
19380 | XKY7 = 9.0 * PF2 / PI2 * XKAON0 | |
19381 | END IF | |
19382 | ||
19383 | XM1 = AMRHO | |
19384 | XM2 = AM1535 | |
19385 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19386 | IF (PF2 .GT. 0.0) THEN | |
19387 | XKY8 = 9.0 * PF2 / PI2 * XKAON0 | |
19388 | END IF | |
19389 | ||
19390 | XM1 = AMOMGA | |
19391 | XM2 = AMP | |
19392 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19393 | IF (PF2 .GT. 0.0) THEN | |
19394 | XKY9 = 3.0 * PF2 / PI2 * XKAON0 | |
19395 | END IF | |
19396 | ||
19397 | XM1 = AMOMGA | |
19398 | XM2 = AM0 | |
19399 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19400 | IF (PF2 .GT. 0.0) THEN | |
19401 | XKY10 = 12.0 * PF2 / PI2 * XKAON0 | |
19402 | END IF | |
19403 | ||
19404 | XM1 = AMOMGA | |
19405 | XM2 = AM1440 | |
19406 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19407 | IF (PF2 .GT. 0.0) THEN | |
19408 | XKY11 = 3.0 * PF2 / PI2 * XKAON0 | |
19409 | END IF | |
19410 | ||
19411 | XM1 = AMOMGA | |
19412 | XM2 = AM1535 | |
19413 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19414 | IF (PF2 .GT. 0.0) THEN | |
19415 | XKY12 = 3.0 * PF2 / PI2 * XKAON0 | |
19416 | END IF | |
19417 | ||
19418 | XM1 = AMETA | |
19419 | XM2 = AMP | |
19420 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19421 | IF (PF2 .GT. 0.0) THEN | |
19422 | XKY13 = 1.0 * PF2 / PI2 * XKAON0 | |
19423 | END IF | |
19424 | ||
19425 | XM1 = AMETA | |
19426 | XM2 = AM0 | |
19427 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19428 | IF (PF2 .GT. 0.0) THEN | |
19429 | XKY14 = 4.0 * PF2 / PI2 * XKAON0 | |
19430 | END IF | |
19431 | ||
19432 | XM1 = AMETA | |
19433 | XM2 = AM1440 | |
19434 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19435 | IF (PF2 .GT. 0.0) THEN | |
19436 | XKY15 = 1.0 * PF2 / PI2 * XKAON0 | |
19437 | END IF | |
19438 | ||
19439 | XM1 = AMETA | |
19440 | XM2 = AM1535 | |
19441 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19442 | IF (PF2 .GT. 0.0) THEN | |
19443 | XKY16 = 1.0 * PF2 / PI2 * XKAON0 | |
19444 | END IF | |
19445 | ||
19446 | csp11/21/01 K+ + La --> phi + N | |
19447 | if(lb1.eq.14 .or. lb2.eq.14)then | |
19448 | if(srt .gt. (aphi+amn))then | |
19449 | srrt = srt - (aphi+amn) | |
19450 | sig = 1.715/((srrt+3.508)**2-12.138) | |
19451 | XM1 = AMN | |
19452 | XM2 = APHI | |
19453 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
19454 | c ! fm^-1 | |
19455 | XKY17 = 3.0 * PF2 / PI2 * SIG/10. | |
19456 | endif | |
19457 | endif | |
19458 | csp11/21/01 end | |
19459 | c | |
19460 | ||
19461 | IF ((iabs(LB1) .GE. 15 .AND. iabs(LB1) .LE. 17) .OR. | |
19462 | & (iabs(LB2) .GE. 15 .AND. iabs(LB2) .LE. 17)) THEN | |
19463 | DDF = 3.0 | |
19464 | XKY1 = XKY1 / DDF | |
19465 | XKY2 = XKY2 / DDF | |
19466 | XKY3 = XKY3 / DDF | |
19467 | XKY4 = XKY4 / DDF | |
19468 | XKY5 = XKY5 / DDF | |
19469 | XKY6 = XKY6 / DDF | |
19470 | XKY7 = XKY7 / DDF | |
19471 | XKY8 = XKY8 / DDF | |
19472 | XKY9 = XKY9 / DDF | |
19473 | XKY10 = XKY10/ DDF | |
19474 | XKY11 = XKY11 / DDF | |
19475 | XKY12 = XKY12 / DDF | |
19476 | XKY13 = XKY13 / DDF | |
19477 | XKY14 = XKY14 / DDF | |
19478 | XKY15 = XKY15 / DDF | |
19479 | XKY16 = XKY16 / DDF | |
19480 | END IF | |
19481 | ||
19482 | SIGK = XKY1 + XKY2 + XKY3 + XKY4 + | |
19483 | & XKY5 + XKY6 + XKY7 + XKY8 + | |
19484 | & XKY9 + XKY10 + XKY11 + XKY12 + | |
19485 | & XKY13 + XKY14 + XKY15 + XKY16 + XKY17 | |
19486 | ||
19487 | RETURN | |
19488 | END | |
19489 | ||
19490 | C******************************* | |
19491 | BLOCK DATA PPBDAT | |
19492 | ||
19493 | parameter (AMP=0.93828,AMN=0.939457, | |
19494 | 1 AM0=1.232,AM1440 = 1.44, AM1535 = 1.535) | |
19495 | ||
19496 | c to give default values to parameters for BbarB production from mesons | |
19497 | COMMON/ppbmas/niso(15),nstate,ppbm(15,2),thresh(15),weight(15) | |
19498 | cc SAVE /ppbmas/ | |
19499 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
19500 | cc SAVE /ppb1/ | |
19501 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
19502 | cc SAVE /ppmm/ | |
19503 | SAVE | |
19504 | c thresh(i) gives the mass thresh for final channel i: | |
19505 | DATA thresh/1.87656,1.877737,1.878914,2.17028, | |
19506 | 1 2.171457,2.37828,2.379457,2.464,2.47328,2.474457, | |
19507 | 2 2.672,2.767,2.88,2.975,3.07/ | |
19508 | c ppbm(i,j=1,2) gives masses for the two final baryons of channel i, | |
19509 | c with j=1 for the lighter baryon: | |
19510 | DATA (ppbm(i,1),i=1,15)/amp,amp,amn,amp,amn,amp,amn, | |
19511 | 1 am0,amp,amn,am0,am0,am1440,am1440,am1535/ | |
19512 | DATA (ppbm(i,2),i=1,15)/amp,amn,amn,am0,am0,am1440,am1440, | |
19513 | 1 am0,am1535,am1535,am1440,am1535,am1440,am1535,am1535/ | |
19514 | c factr2(i) gives weights for producing i pions from ppbar annihilation: | |
19515 | DATA factr2/0,1,1.17e-01,3.27e-03,3.58e-05,1.93e-07/ | |
19516 | c niso(i) gives the degeneracy factor for final channel i: | |
19517 | DATA niso/1,2,1,16,16,4,4,64,4,4,32,32,4,8,4/ | |
19518 | ||
19519 | END | |
19520 | ||
19521 | ||
19522 | ***************************************** | |
19523 | * get the number of BbarB states available for mm collisions of energy srt | |
19524 | subroutine getnst(srt) | |
19525 | * srt = DSQRT(s) in GeV * | |
19526 | ***************************************** | |
19527 | parameter (pimass=0.140,pi=3.1415926) | |
19528 | COMMON/ppbmas/niso(15),nstate,ppbm(15,2),thresh(15),weight(15) | |
19529 | cc SAVE /ppbmas/ | |
19530 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
19531 | cc SAVE /ppb1/ | |
19532 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
19533 | cc SAVE /ppmm/ | |
19534 | SAVE | |
19535 | ||
19536 | s=srt**2 | |
19537 | nstate=0 | |
19538 | wtot=0. | |
19539 | if(srt.le.thresh(1)) return | |
19540 | do 1001 i=1,15 | |
19541 | weight(i)=0. | |
19542 | if(srt.gt.thresh(i)) nstate=i | |
19543 | 1001 continue | |
19544 | do 1002 i=1,nstate | |
19545 | pf2=(s-(ppbm(i,1)+ppbm(i,2))**2) | |
19546 | 1 *(s-(ppbm(i,1)-ppbm(i,2))**2)/4/s | |
19547 | weight(i)=pf2*niso(i) | |
19548 | wtot=wtot+weight(i) | |
19549 | 1002 continue | |
19550 | ene=(srt/pimass)**3/(6.*pi**2) | |
19551 | fsum=factr2(2)+factr2(3)*ene+factr2(4)*ene**2 | |
19552 | 1 +factr2(5)*ene**3+factr2(6)*ene**4 | |
19553 | ||
19554 | return | |
19555 | END | |
19556 | ||
19557 | ***************************************** | |
19558 | * for pion+pion-->Bbar B * | |
19559 | c real*4 function ppbbar(srt) | |
19560 | real function ppbbar(srt) | |
19561 | ***************************************** | |
19562 | parameter (pimass=0.140,arho=0.77,aomega=0.782) | |
19563 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
19564 | cc SAVE /ppb1/ | |
19565 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
19566 | cc SAVE /ppmm/ | |
19567 | SAVE | |
19568 | ||
19569 | sppb2p=xppbar(srt)*factr2(2)/fsum | |
19570 | pi2=(s-4*pimass**2)/4 | |
19571 | ppbbar=4./9.*sppb2p/pi2*wtot | |
19572 | ||
19573 | return | |
19574 | END | |
19575 | ||
19576 | ***************************************** | |
19577 | * for pion+rho-->Bbar B * | |
19578 | c real*4 function prbbar(srt) | |
19579 | real function prbbar(srt) | |
19580 | ***************************************** | |
19581 | parameter (pimass=0.140,arho=0.77,aomega=0.782) | |
19582 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
19583 | cc SAVE /ppb1/ | |
19584 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
19585 | cc SAVE /ppmm/ | |
19586 | SAVE | |
19587 | ||
19588 | sppb3p=xppbar(srt)*factr2(3)*ene/fsum | |
19589 | pi2=(s-(pimass+arho)**2)*(s-(pimass-arho)**2)/4/s | |
19590 | prbbar=4./27.*sppb3p/pi2*wtot | |
19591 | ||
19592 | return | |
19593 | END | |
19594 | ||
19595 | ***************************************** | |
19596 | * for rho+rho-->Bbar B * | |
19597 | c real*4 function rrbbar(srt) | |
19598 | real function rrbbar(srt) | |
19599 | ***************************************** | |
19600 | parameter (pimass=0.140,arho=0.77,aomega=0.782) | |
19601 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
19602 | cc SAVE /ppb1/ | |
19603 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
19604 | cc SAVE /ppmm/ | |
19605 | SAVE | |
19606 | ||
19607 | sppb4p=xppbar(srt)*factr2(4)*ene**2/fsum | |
19608 | pi2=(s-4*arho**2)/4 | |
19609 | rrbbar=4./81.*(sppb4p/2)/pi2*wtot | |
19610 | ||
19611 | return | |
19612 | END | |
19613 | ||
19614 | ***************************************** | |
19615 | * for pi+omega-->Bbar B * | |
19616 | c real*4 function pobbar(srt) | |
19617 | real function pobbar(srt) | |
19618 | ***************************************** | |
19619 | parameter (pimass=0.140,arho=0.77,aomega=0.782) | |
19620 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
19621 | cc SAVE /ppb1/ | |
19622 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
19623 | cc SAVE /ppmm/ | |
19624 | SAVE | |
19625 | ||
19626 | sppb4p=xppbar(srt)*factr2(4)*ene**2/fsum | |
19627 | pi2=(s-(pimass+aomega)**2)*(s-(pimass-aomega)**2)/4/s | |
19628 | pobbar=4./9.*(sppb4p/2)/pi2*wtot | |
19629 | ||
19630 | return | |
19631 | END | |
19632 | ||
19633 | ***************************************** | |
19634 | * for rho+omega-->Bbar B * | |
19635 | c real*4 function robbar(srt) | |
19636 | real function robbar(srt) | |
19637 | ***************************************** | |
19638 | parameter (pimass=0.140,arho=0.77,aomega=0.782) | |
19639 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
19640 | cc SAVE /ppb1/ | |
19641 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
19642 | cc SAVE /ppmm/ | |
19643 | SAVE | |
19644 | ||
19645 | sppb5p=xppbar(srt)*factr2(5)*ene**3/fsum | |
19646 | pi2=(s-(arho+aomega)**2)*(s-(arho-aomega)**2)/4/s | |
19647 | robbar=4./27.*sppb5p/pi2*wtot | |
19648 | ||
19649 | return | |
19650 | END | |
19651 | ||
19652 | ***************************************** | |
19653 | * for omega+omega-->Bbar B * | |
19654 | c real*4 function oobbar(srt) | |
19655 | real function oobbar(srt) | |
19656 | ***************************************** | |
19657 | parameter (pimass=0.140,arho=0.77,aomega=0.782) | |
19658 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
19659 | cc SAVE /ppb1/ | |
19660 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
19661 | cc SAVE /ppmm/ | |
19662 | SAVE | |
19663 | ||
19664 | sppb6p=xppbar(srt)*factr2(6)*ene**4/fsum | |
19665 | pi2=(s-4*aomega**2)/4 | |
19666 | oobbar=4./9.*sppb6p/pi2*wtot | |
19667 | ||
19668 | return | |
19669 | END | |
19670 | ||
19671 | ***************************************** | |
19672 | * Generate final states for mm-->Bbar B * | |
19673 | SUBROUTINE bbarfs(lbb1,lbb2,ei1,ei2,iblock,iseed) | |
19674 | ***************************************** | |
19675 | COMMON/ppbmas/niso(15),nstate,ppbm(15,2),thresh(15),weight(15) | |
19676 | cc SAVE /ppbmas/ | |
19677 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
19678 | cc SAVE /ppb1/ | |
19679 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
19680 | cc SAVE /ppmm/ | |
19681 | COMMON/RNDF77/NSEED | |
19682 | cc SAVE /RNDF77/ | |
19683 | SAVE | |
19684 | ISEED=ISEED | |
19685 | c determine which final BbarB channel occurs: | |
19686 | rd=RANART(NSEED) | |
19687 | wsum=0. | |
19688 | do 1001 i=1,nstate | |
19689 | wsum=wsum+weight(i) | |
19690 | if(rd.le.(wsum/wtot)) then | |
19691 | ifs=i | |
19692 | ei1=ppbm(i,1) | |
19693 | ei2=ppbm(i,2) | |
19694 | goto 10 | |
19695 | endif | |
19696 | 1001 continue | |
19697 | 10 continue | |
19698 | ||
19699 | c1 pbar p | |
19700 | if(ifs.eq.1) then | |
19701 | iblock=1801 | |
19702 | lbb1=-1 | |
19703 | lbb2=1 | |
19704 | elseif(ifs.eq.2) then | |
19705 | c2 pbar n | |
19706 | if(RANART(NSEED).le.0.5) then | |
19707 | iblock=18021 | |
19708 | lbb1=-1 | |
19709 | lbb2=2 | |
19710 | c2 nbar p | |
19711 | else | |
19712 | iblock=18022 | |
19713 | lbb1=1 | |
19714 | lbb2=-2 | |
19715 | endif | |
19716 | c3 nbar n | |
19717 | elseif(ifs.eq.3) then | |
19718 | iblock=1803 | |
19719 | lbb1=-2 | |
19720 | lbb2=2 | |
19721 | c4&5 (pbar nbar) Delta, (p n) anti-Delta | |
19722 | elseif(ifs.eq.4.or.ifs.eq.5) then | |
19723 | rd=RANART(NSEED) | |
19724 | if(rd.le.0.5) then | |
19725 | c (pbar nbar) Delta | |
19726 | if(ifs.eq.4) then | |
19727 | iblock=18041 | |
19728 | lbb1=-1 | |
19729 | else | |
19730 | iblock=18051 | |
19731 | lbb1=-2 | |
19732 | endif | |
19733 | rd2=RANART(NSEED) | |
19734 | if(rd2.le.0.25) then | |
19735 | lbb2=6 | |
19736 | elseif(rd2.le.0.5) then | |
19737 | lbb2=7 | |
19738 | elseif(rd2.le.0.75) then | |
19739 | lbb2=8 | |
19740 | else | |
19741 | lbb2=9 | |
19742 | endif | |
19743 | else | |
19744 | c (p n) anti-Delta | |
19745 | if(ifs.eq.4) then | |
19746 | iblock=18042 | |
19747 | lbb1=1 | |
19748 | else | |
19749 | iblock=18052 | |
19750 | lbb1=2 | |
19751 | endif | |
19752 | rd2=RANART(NSEED) | |
19753 | if(rd2.le.0.25) then | |
19754 | lbb2=-6 | |
19755 | elseif(rd2.le.0.5) then | |
19756 | lbb2=-7 | |
19757 | elseif(rd2.le.0.75) then | |
19758 | lbb2=-8 | |
19759 | else | |
19760 | lbb2=-9 | |
19761 | endif | |
19762 | endif | |
19763 | c6&7 (pbar nbar) N*(1440), (p n) anti-N*(1440) | |
19764 | elseif(ifs.eq.6.or.ifs.eq.7) then | |
19765 | rd=RANART(NSEED) | |
19766 | if(rd.le.0.5) then | |
19767 | c (pbar nbar) N*(1440) | |
19768 | if(ifs.eq.6) then | |
19769 | iblock=18061 | |
19770 | lbb1=-1 | |
19771 | else | |
19772 | iblock=18071 | |
19773 | lbb1=-2 | |
19774 | endif | |
19775 | rd2=RANART(NSEED) | |
19776 | if(rd2.le.0.5) then | |
19777 | lbb2=10 | |
19778 | else | |
19779 | lbb2=11 | |
19780 | endif | |
19781 | else | |
19782 | c (p n) anti-N*(1440) | |
19783 | if(ifs.eq.6) then | |
19784 | iblock=18062 | |
19785 | lbb1=1 | |
19786 | else | |
19787 | iblock=18072 | |
19788 | lbb1=2 | |
19789 | endif | |
19790 | rd2=RANART(NSEED) | |
19791 | if(rd2.le.0.5) then | |
19792 | lbb2=-10 | |
19793 | else | |
19794 | lbb2=-11 | |
19795 | endif | |
19796 | endif | |
19797 | c8 Delta anti-Delta | |
19798 | elseif(ifs.eq.8) then | |
19799 | iblock=1808 | |
19800 | rd1=RANART(NSEED) | |
19801 | if(rd1.le.0.25) then | |
19802 | lbb1=6 | |
19803 | elseif(rd1.le.0.5) then | |
19804 | lbb1=7 | |
19805 | elseif(rd1.le.0.75) then | |
19806 | lbb1=8 | |
19807 | else | |
19808 | lbb1=9 | |
19809 | endif | |
19810 | rd2=RANART(NSEED) | |
19811 | if(rd2.le.0.25) then | |
19812 | lbb2=-6 | |
19813 | elseif(rd2.le.0.5) then | |
19814 | lbb2=-7 | |
19815 | elseif(rd2.le.0.75) then | |
19816 | lbb2=-8 | |
19817 | else | |
19818 | lbb2=-9 | |
19819 | endif | |
19820 | c9&10 (pbar nbar) N*(1535), (p n) anti-N*(1535) | |
19821 | elseif(ifs.eq.9.or.ifs.eq.10) then | |
19822 | rd=RANART(NSEED) | |
19823 | if(rd.le.0.5) then | |
19824 | c (pbar nbar) N*(1440) | |
19825 | if(ifs.eq.9) then | |
19826 | iblock=18091 | |
19827 | lbb1=-1 | |
19828 | else | |
19829 | iblock=18101 | |
19830 | lbb1=-2 | |
19831 | endif | |
19832 | rd2=RANART(NSEED) | |
19833 | if(rd2.le.0.5) then | |
19834 | lbb2=12 | |
19835 | else | |
19836 | lbb2=13 | |
19837 | endif | |
19838 | else | |
19839 | c (p n) anti-N*(1535) | |
19840 | if(ifs.eq.9) then | |
19841 | iblock=18092 | |
19842 | lbb1=1 | |
19843 | else | |
19844 | iblock=18102 | |
19845 | lbb1=2 | |
19846 | endif | |
19847 | rd2=RANART(NSEED) | |
19848 | if(rd2.le.0.5) then | |
19849 | lbb2=-12 | |
19850 | else | |
19851 | lbb2=-13 | |
19852 | endif | |
19853 | endif | |
19854 | c11&12 anti-Delta N*, Delta anti-N* | |
19855 | elseif(ifs.eq.11.or.ifs.eq.12) then | |
19856 | rd=RANART(NSEED) | |
19857 | if(rd.le.0.5) then | |
19858 | c anti-Delta N* | |
19859 | rd1=RANART(NSEED) | |
19860 | if(rd1.le.0.25) then | |
19861 | lbb1=-6 | |
19862 | elseif(rd1.le.0.5) then | |
19863 | lbb1=-7 | |
19864 | elseif(rd1.le.0.75) then | |
19865 | lbb1=-8 | |
19866 | else | |
19867 | lbb1=-9 | |
19868 | endif | |
19869 | if(ifs.eq.11) then | |
19870 | iblock=18111 | |
19871 | rd2=RANART(NSEED) | |
19872 | if(rd2.le.0.5) then | |
19873 | lbb2=10 | |
19874 | else | |
19875 | lbb2=11 | |
19876 | endif | |
19877 | else | |
19878 | iblock=18121 | |
19879 | rd2=RANART(NSEED) | |
19880 | if(rd2.le.0.5) then | |
19881 | lbb2=12 | |
19882 | else | |
19883 | lbb2=13 | |
19884 | endif | |
19885 | endif | |
19886 | else | |
19887 | c Delta anti-N* | |
19888 | rd1=RANART(NSEED) | |
19889 | if(rd1.le.0.25) then | |
19890 | lbb1=6 | |
19891 | elseif(rd1.le.0.5) then | |
19892 | lbb1=7 | |
19893 | elseif(rd1.le.0.75) then | |
19894 | lbb1=8 | |
19895 | else | |
19896 | lbb1=9 | |
19897 | endif | |
19898 | if(ifs.eq.11) then | |
19899 | iblock=18112 | |
19900 | rd2=RANART(NSEED) | |
19901 | if(rd2.le.0.5) then | |
19902 | lbb2=-10 | |
19903 | else | |
19904 | lbb2=-11 | |
19905 | endif | |
19906 | else | |
19907 | iblock=18122 | |
19908 | rd2=RANART(NSEED) | |
19909 | if(rd2.le.0.5) then | |
19910 | lbb2=-12 | |
19911 | else | |
19912 | lbb2=-13 | |
19913 | endif | |
19914 | endif | |
19915 | endif | |
19916 | c13 N*(1440) anti-N*(1440) | |
19917 | elseif(ifs.eq.13) then | |
19918 | iblock=1813 | |
19919 | rd1=RANART(NSEED) | |
19920 | if(rd1.le.0.5) then | |
19921 | lbb1=10 | |
19922 | else | |
19923 | lbb1=11 | |
19924 | endif | |
19925 | rd2=RANART(NSEED) | |
19926 | if(rd2.le.0.5) then | |
19927 | lbb2=-10 | |
19928 | else | |
19929 | lbb2=-11 | |
19930 | endif | |
19931 | c14 anti-N*(1440) N*(1535), N*(1440) anti-N*(1535) | |
19932 | elseif(ifs.eq.14) then | |
19933 | rd=RANART(NSEED) | |
19934 | if(rd.le.0.5) then | |
19935 | c anti-N*(1440) N*(1535) | |
19936 | iblock=18141 | |
19937 | rd1=RANART(NSEED) | |
19938 | if(rd1.le.0.5) then | |
19939 | lbb1=-10 | |
19940 | else | |
19941 | lbb1=-11 | |
19942 | endif | |
19943 | rd2=RANART(NSEED) | |
19944 | if(rd2.le.0.5) then | |
19945 | lbb2=12 | |
19946 | else | |
19947 | lbb2=13 | |
19948 | endif | |
19949 | else | |
19950 | c N*(1440) anti-N*(1535) | |
19951 | iblock=18142 | |
19952 | rd1=RANART(NSEED) | |
19953 | if(rd1.le.0.5) then | |
19954 | lbb1=10 | |
19955 | else | |
19956 | lbb1=11 | |
19957 | endif | |
19958 | rd2=RANART(NSEED) | |
19959 | if(rd2.le.0.5) then | |
19960 | lbb2=-12 | |
19961 | else | |
19962 | lbb2=-13 | |
19963 | endif | |
19964 | endif | |
19965 | c15 N*(1535) anti-N*(1535) | |
19966 | elseif(ifs.eq.15) then | |
19967 | iblock=1815 | |
19968 | rd1=RANART(NSEED) | |
19969 | if(rd1.le.0.5) then | |
19970 | lbb1=12 | |
19971 | else | |
19972 | lbb1=13 | |
19973 | endif | |
19974 | rd2=RANART(NSEED) | |
19975 | if(rd2.le.0.5) then | |
19976 | lbb2=-12 | |
19977 | else | |
19978 | lbb2=-13 | |
19979 | endif | |
19980 | else | |
19981 | endif | |
19982 | ||
19983 | RETURN | |
19984 | END | |
19985 | ||
19986 | ***************************************** | |
19987 | * for pi pi <-> rho rho cross sections | |
19988 | SUBROUTINE spprr(lb1,lb2,srt) | |
19989 | parameter (arho=0.77) | |
19990 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
19991 | cc SAVE /ppb1/ | |
19992 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
19993 | cc SAVE /ppmm/ | |
19994 | SAVE | |
19995 | ||
19996 | pprr=0. | |
19997 | if((lb1.ge.3.and.lb1.le.5).and.(lb2.ge.3.and.lb2.le.5)) then | |
19998 | c for now, rho mass taken to be the central value in these two processes | |
19999 | if(srt.gt.(2*arho)) pprr=ptor(srt) | |
20000 | elseif((lb1.ge.25.and.lb1.le.27).and.(lb2.ge.25.and.lb2.le.27)) | |
20001 | 1 then | |
20002 | pprr=rtop(srt) | |
20003 | endif | |
20004 | c | |
20005 | return | |
20006 | END | |
20007 | ||
20008 | ***************************************** | |
20009 | * for pi pi -> rho rho, determined from detailed balance | |
20010 | real function ptor(srt) | |
20011 | ***************************************** | |
20012 | parameter (pimass=0.140,arho=0.77) | |
20013 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20014 | cc SAVE /ppb1/ | |
20015 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20016 | cc SAVE /ppmm/ | |
20017 | SAVE | |
20018 | ||
20019 | s2=srt**2 | |
20020 | ptor=9*(s2-4*arho**2)/(s2-4*pimass**2)*rtop(srt) | |
20021 | ||
20022 | return | |
20023 | END | |
20024 | ||
20025 | ***************************************** | |
20026 | * for rho rho -> pi pi, assumed a constant cross section (in mb) | |
20027 | real function rtop(srt) | |
20028 | ***************************************** | |
20029 | srt=srt | |
20030 | rtop=5. | |
20031 | return | |
20032 | END | |
20033 | ||
20034 | ***************************************** | |
20035 | * for pi pi <-> rho rho final states | |
20036 | SUBROUTINE pi2ro2(i1,i2,lbb1,lbb2,ei1,ei2,iblock,iseed) | |
20037 | PARAMETER (MAXSTR=150001) | |
20038 | PARAMETER (AP1=0.13496,AP2=0.13957) | |
20039 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
20040 | cc SAVE /EE/ | |
20041 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20042 | cc SAVE /ppb1/ | |
20043 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20044 | cc SAVE /ppmm/ | |
20045 | COMMON/RNDF77/NSEED | |
20046 | cc SAVE /RNDF77/ | |
20047 | SAVE | |
20048 | iseed=iseed | |
20049 | if((lb(i1).ge.3.and.lb(i1).le.5) | |
20050 | 1 .and.(lb(i2).ge.3.and.lb(i2).le.5)) then | |
20051 | iblock=1850 | |
20052 | ei1=0.77 | |
20053 | ei2=0.77 | |
20054 | c for now, we don't check isospin states(allowing pi+pi+ & pi0pi0 -> 2rho) | |
20055 | c thus the cross sections used are considered as the isospin-averaged ones. | |
20056 | lbb1=25+int(3*RANART(NSEED)) | |
20057 | lbb2=25+int(3*RANART(NSEED)) | |
20058 | elseif((lb(i1).ge.25.and.lb(i1).le.27) | |
20059 | 1 .and.(lb(i2).ge.25.and.lb(i2).le.27)) then | |
20060 | iblock=1851 | |
20061 | lbb1=3+int(3*RANART(NSEED)) | |
20062 | lbb2=3+int(3*RANART(NSEED)) | |
20063 | ei1=ap2 | |
20064 | ei2=ap2 | |
20065 | if(lbb1.eq.4) ei1=ap1 | |
20066 | if(lbb2.eq.4) ei2=ap1 | |
20067 | endif | |
20068 | ||
20069 | return | |
20070 | END | |
20071 | ||
20072 | ***************************************** | |
20073 | * for pi pi <-> eta eta cross sections | |
20074 | SUBROUTINE sppee(lb1,lb2,srt) | |
20075 | parameter (ETAM=0.5475) | |
20076 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20077 | cc SAVE /ppb1/ | |
20078 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20079 | cc SAVE /ppmm/ | |
20080 | SAVE | |
20081 | ||
20082 | ppee=0. | |
20083 | if((lb1.ge.3.and.lb1.le.5).and.(lb2.ge.3.and.lb2.le.5)) then | |
20084 | if(srt.gt.(2*ETAM)) ppee=ptoe(srt) | |
20085 | elseif(lb1.eq.0.and.lb2.eq.0) then | |
20086 | ppee=etop(srt) | |
20087 | endif | |
20088 | ||
20089 | return | |
20090 | END | |
20091 | ||
20092 | ***************************************** | |
20093 | * for pi pi -> eta eta, determined from detailed balance, spin-isospin averaged | |
20094 | real function ptoe(srt) | |
20095 | ***************************************** | |
20096 | parameter (pimass=0.140,ETAM=0.5475) | |
20097 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20098 | cc SAVE /ppb1/ | |
20099 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20100 | cc SAVE /ppmm/ | |
20101 | SAVE | |
20102 | ||
20103 | s2=srt**2 | |
20104 | ptoe=1./9.*(s2-4*etam**2)/(s2-4*pimass**2)*etop(srt) | |
20105 | ||
20106 | return | |
20107 | END | |
20108 | ***************************************** | |
20109 | * for eta eta -> pi pi, assumed a constant cross section (in mb) | |
20110 | real function etop(srt) | |
20111 | ***************************************** | |
20112 | srt=srt | |
20113 | c eta equilibration: | |
20114 | c most important channel is found to be pi pi <-> pi eta, then | |
20115 | c rho pi <-> rho eta. | |
20116 | etop=5. | |
20117 | return | |
20118 | END | |
20119 | ||
20120 | ***************************************** | |
20121 | * for pi pi <-> eta eta final states | |
20122 | SUBROUTINE pi2et2(i1,i2,lbb1,lbb2,ei1,ei2,iblock,iseed) | |
20123 | PARAMETER (MAXSTR=150001) | |
20124 | PARAMETER (AP1=0.13496,AP2=0.13957,ETAM=0.5475) | |
20125 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
20126 | cc SAVE /EE/ | |
20127 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20128 | cc SAVE /ppb1/ | |
20129 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20130 | cc SAVE /ppmm/ | |
20131 | COMMON/RNDF77/NSEED | |
20132 | cc SAVE /RNDF77/ | |
20133 | SAVE | |
20134 | ||
20135 | iseed=iseed | |
20136 | if((lb(i1).ge.3.and.lb(i1).le.5) | |
20137 | 1 .and.(lb(i2).ge.3.and.lb(i2).le.5)) then | |
20138 | iblock=1860 | |
20139 | ei1=etam | |
20140 | ei2=etam | |
20141 | c for now, we don't check isospin states(allowing pi+pi+ & pi0pi0 -> 2rho) | |
20142 | c thus the cross sections used are considered as the isospin-averaged ones. | |
20143 | lbb1=0 | |
20144 | lbb2=0 | |
20145 | elseif(lb(i1).eq.0.and.lb(i2).eq.0) then | |
20146 | iblock=1861 | |
20147 | lbb1=3+int(3*RANART(NSEED)) | |
20148 | lbb2=3+int(3*RANART(NSEED)) | |
20149 | ei1=ap2 | |
20150 | ei2=ap2 | |
20151 | if(lbb1.eq.4) ei1=ap1 | |
20152 | if(lbb2.eq.4) ei2=ap1 | |
20153 | endif | |
20154 | ||
20155 | return | |
20156 | END | |
20157 | ||
20158 | ***************************************** | |
20159 | * for pi pi <-> pi eta cross sections | |
20160 | SUBROUTINE spppe(lb1,lb2,srt) | |
20161 | parameter (pimass=0.140,ETAM=0.5475) | |
20162 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20163 | cc SAVE /ppb1/ | |
20164 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20165 | cc SAVE /ppmm/ | |
20166 | SAVE | |
20167 | ||
20168 | pppe=0. | |
20169 | if((lb1.ge.3.and.lb1.le.5).and.(lb2.ge.3.and.lb2.le.5)) then | |
20170 | if(srt.gt.(ETAM+pimass)) pppe=pptope(srt) | |
20171 | elseif((lb1.ge.3.and.lb1.le.5).and.lb2.eq.0) then | |
20172 | pppe=petopp(srt) | |
20173 | elseif((lb2.ge.3.and.lb2.le.5).and.lb1.eq.0) then | |
20174 | pppe=petopp(srt) | |
20175 | endif | |
20176 | ||
20177 | return | |
20178 | END | |
20179 | ||
20180 | ***************************************** | |
20181 | * for pi pi -> pi eta, determined from detailed balance, spin-isospin averaged | |
20182 | real function pptope(srt) | |
20183 | ***************************************** | |
20184 | parameter (pimass=0.140,ETAM=0.5475) | |
20185 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20186 | cc SAVE /ppb1/ | |
20187 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20188 | cc SAVE /ppmm/ | |
20189 | SAVE | |
20190 | ||
20191 | s2=srt**2 | |
20192 | pf2=(s2-(pimass+ETAM)**2)*(s2-(pimass-ETAM)**2)/2/sqrt(s2) | |
20193 | pi2=(s2-4*pimass**2)*s2/2/sqrt(s2) | |
20194 | pptope=1./3.*pf2/pi2*petopp(srt) | |
20195 | ||
20196 | return | |
20197 | END | |
20198 | ***************************************** | |
20199 | * for pi eta -> pi pi, assumed a constant cross section (in mb) | |
20200 | real function petopp(srt) | |
20201 | ***************************************** | |
20202 | srt=srt | |
20203 | c eta equilibration: | |
20204 | petopp=5. | |
20205 | return | |
20206 | END | |
20207 | ||
20208 | ***************************************** | |
20209 | * for pi pi <-> pi eta final states | |
20210 | SUBROUTINE pi3eta(i1,i2,lbb1,lbb2,ei1,ei2,iblock,iseed) | |
20211 | PARAMETER (MAXSTR=150001) | |
20212 | PARAMETER (AP1=0.13496,AP2=0.13957,ETAM=0.5475) | |
20213 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
20214 | cc SAVE /EE/ | |
20215 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20216 | cc SAVE /ppb1/ | |
20217 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20218 | cc SAVE /ppmm/ | |
20219 | COMMON/RNDF77/NSEED | |
20220 | cc SAVE /RNDF77/ | |
20221 | SAVE | |
20222 | ||
20223 | ISEED=ISEED | |
20224 | if((lb(i1).ge.3.and.lb(i1).le.5) | |
20225 | 1 .and.(lb(i2).ge.3.and.lb(i2).le.5)) then | |
20226 | iblock=1870 | |
20227 | ei1=ap2 | |
20228 | ei2=etam | |
20229 | c for now, we don't check isospin states(allowing pi+pi+ & pi0pi0 -> 2rho) | |
20230 | c thus the cross sections used are considered as the isospin-averaged ones. | |
20231 | lbb1=3+int(3*RANART(NSEED)) | |
20232 | if(lbb1.eq.4) ei1=ap1 | |
20233 | lbb2=0 | |
20234 | elseif((lb(i1).ge.3.and.lb(i1).le.5.and.lb(i2).eq.0).or. | |
20235 | 1 (lb(i2).ge.3.and.lb(i2).le.5.and.lb(i1).eq.0)) then | |
20236 | iblock=1871 | |
20237 | lbb1=3+int(3*RANART(NSEED)) | |
20238 | lbb2=3+int(3*RANART(NSEED)) | |
20239 | ei1=ap2 | |
20240 | ei2=ap2 | |
20241 | if(lbb1.eq.4) ei1=ap1 | |
20242 | if(lbb2.eq.4) ei2=ap1 | |
20243 | endif | |
20244 | ||
20245 | return | |
20246 | END | |
20247 | ||
20248 | ***************************************** | |
20249 | * for rho pi <-> rho eta cross sections | |
20250 | SUBROUTINE srpre(lb1,lb2,srt) | |
20251 | parameter (pimass=0.140,ETAM=0.5475,arho=0.77) | |
20252 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20253 | cc SAVE /ppb1/ | |
20254 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20255 | cc SAVE /ppmm/ | |
20256 | SAVE | |
20257 | ||
20258 | rpre=0. | |
20259 | if(lb1.ge.25.and.lb1.le.27.and.lb2.ge.3.and.lb2.le.5) then | |
20260 | if(srt.gt.(ETAM+arho)) rpre=rptore(srt) | |
20261 | elseif(lb2.ge.25.and.lb2.le.27.and.lb1.ge.3.and.lb1.le.5) then | |
20262 | if(srt.gt.(ETAM+arho)) rpre=rptore(srt) | |
20263 | elseif(lb1.ge.25.and.lb1.le.27.and.lb2.eq.0) then | |
20264 | if(srt.gt.(pimass+arho)) rpre=retorp(srt) | |
20265 | elseif(lb2.ge.25.and.lb2.le.27.and.lb1.eq.0) then | |
20266 | if(srt.gt.(pimass+arho)) rpre=retorp(srt) | |
20267 | endif | |
20268 | ||
20269 | return | |
20270 | END | |
20271 | ||
20272 | ***************************************** | |
20273 | * for rho pi->rho eta, determined from detailed balance, spin-isospin averaged | |
20274 | real function rptore(srt) | |
20275 | ***************************************** | |
20276 | parameter (pimass=0.140,ETAM=0.5475,arho=0.77) | |
20277 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20278 | cc SAVE /ppb1/ | |
20279 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20280 | cc SAVE /ppmm/ | |
20281 | SAVE | |
20282 | ||
20283 | s2=srt**2 | |
20284 | pf2=(s2-(arho+ETAM)**2)*(s2-(arho-ETAM)**2)/2/sqrt(s2) | |
20285 | pi2=(s2-(arho+pimass)**2)*(s2-(arho-pimass)**2)/2/sqrt(s2) | |
20286 | rptore=1./3.*pf2/pi2*retorp(srt) | |
20287 | ||
20288 | return | |
20289 | END | |
20290 | ***************************************** | |
20291 | * for rho eta -> rho pi, assumed a constant cross section (in mb) | |
20292 | real function retorp(srt) | |
20293 | ***************************************** | |
20294 | srt=srt | |
20295 | c eta equilibration: | |
20296 | retorp=5. | |
20297 | return | |
20298 | END | |
20299 | ||
20300 | ***************************************** | |
20301 | * for rho pi <-> rho eta final states | |
20302 | SUBROUTINE rpiret(i1,i2,lbb1,lbb2,ei1,ei2,iblock,iseed) | |
20303 | PARAMETER (MAXSTR=150001) | |
20304 | PARAMETER (AP1=0.13496,AP2=0.13957,ETAM=0.5475,arho=0.77) | |
20305 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
20306 | cc SAVE /EE/ | |
20307 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20308 | cc SAVE /ppb1/ | |
20309 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20310 | cc SAVE /ppmm/ | |
20311 | COMMON/RNDF77/NSEED | |
20312 | cc SAVE /RNDF77/ | |
20313 | SAVE | |
20314 | ISEED=ISEED | |
20315 | if((lb(i1).ge.25.and.lb(i1).le.27 | |
20316 | 1 .and.lb(i2).ge.3.and.lb(i2).le.5).or. | |
20317 | 2 (lb(i1).ge.3.and.lb(i1).le.5 | |
20318 | 3 .and.lb(i2).ge.25.and.lb(i2).le.27)) then | |
20319 | iblock=1880 | |
20320 | ei1=arho | |
20321 | ei2=etam | |
20322 | c for now, we don't check isospin states(allowing pi+pi+ & pi0pi0 -> 2rho) | |
20323 | c thus the cross sections used are considered as the isospin-averaged ones. | |
20324 | lbb1=25+int(3*RANART(NSEED)) | |
20325 | lbb2=0 | |
20326 | elseif((lb(i1).ge.25.and.lb(i1).le.27.and.lb(i2).eq.0).or. | |
20327 | 1 (lb(i2).ge.25.and.lb(i2).le.27.and.lb(i1).eq.0)) then | |
20328 | iblock=1881 | |
20329 | lbb1=25+int(3*RANART(NSEED)) | |
20330 | lbb2=3+int(3*RANART(NSEED)) | |
20331 | ei1=arho | |
20332 | ei2=ap2 | |
20333 | if(lbb2.eq.4) ei2=ap1 | |
20334 | endif | |
20335 | ||
20336 | return | |
20337 | END | |
20338 | ||
20339 | ***************************************** | |
20340 | * for omega pi <-> omega eta cross sections | |
20341 | SUBROUTINE sopoe(lb1,lb2,srt) | |
20342 | parameter (ETAM=0.5475,aomega=0.782) | |
20343 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20344 | cc SAVE /ppb1/ | |
20345 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20346 | cc SAVE /ppmm/ | |
20347 | SAVE | |
20348 | ||
20349 | xopoe=0. | |
20350 | if((lb1.eq.28.and.lb2.ge.3.and.lb2.le.5).or. | |
20351 | 1 (lb2.eq.28.and.lb1.ge.3.and.lb1.le.5)) then | |
20352 | if(srt.gt.(aomega+ETAM)) xopoe=xop2oe(srt) | |
20353 | elseif((lb1.eq.28.and.lb2.eq.0).or. | |
20354 | 1 (lb1.eq.0.and.lb2.eq.28)) then | |
20355 | if(srt.gt.(aomega+ETAM)) xopoe=xoe2op(srt) | |
20356 | endif | |
20357 | ||
20358 | return | |
20359 | END | |
20360 | ||
20361 | ***************************************** | |
20362 | * for omega pi -> omega eta, | |
20363 | c determined from detailed balance, spin-isospin averaged | |
20364 | real function xop2oe(srt) | |
20365 | ***************************************** | |
20366 | parameter (pimass=0.140,ETAM=0.5475,aomega=0.782) | |
20367 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20368 | cc SAVE /ppb1/ | |
20369 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20370 | cc SAVE /ppmm/ | |
20371 | SAVE | |
20372 | ||
20373 | s2=srt**2 | |
20374 | pf2=(s2-(aomega+ETAM)**2)*(s2-(aomega-ETAM)**2)/2/sqrt(s2) | |
20375 | pi2=(s2-(aomega+pimass)**2)*(s2-(aomega-pimass)**2)/2/sqrt(s2) | |
20376 | xop2oe=1./3.*pf2/pi2*xoe2op(srt) | |
20377 | ||
20378 | return | |
20379 | END | |
20380 | ***************************************** | |
20381 | * for omega eta -> omega pi, assumed a constant cross section (in mb) | |
20382 | real function xoe2op(srt) | |
20383 | ***************************************** | |
20384 | srt=srt | |
20385 | c eta equilibration: | |
20386 | xoe2op=5. | |
20387 | return | |
20388 | END | |
20389 | ||
20390 | ***************************************** | |
20391 | * for omega pi <-> omega eta final states | |
20392 | SUBROUTINE opioet(i1,i2,lbb1,lbb2,ei1,ei2,iblock,iseed) | |
20393 | PARAMETER (MAXSTR=150001) | |
20394 | PARAMETER (AP1=0.13496,AP2=0.13957,ETAM=0.5475,aomega=0.782) | |
20395 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
20396 | cc SAVE /EE/ | |
20397 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20398 | cc SAVE /ppb1/ | |
20399 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20400 | cc SAVE /ppmm/ | |
20401 | COMMON/RNDF77/NSEED | |
20402 | cc SAVE /RNDF77/ | |
20403 | SAVE | |
20404 | ||
20405 | iseed=iseed | |
20406 | if((lb(i1).ge.3.and.lb(i1).le.5.and.lb(i2).eq.28).or. | |
20407 | 1 (lb(i2).ge.3.and.lb(i2).le.5.and.lb(i1).eq.28)) then | |
20408 | iblock=1890 | |
20409 | ei1=aomega | |
20410 | ei2=etam | |
20411 | c for now, we don't check isospin states(allowing pi+pi+ & pi0pi0 -> 2rho) | |
20412 | c thus the cross sections used are considered as the isospin-averaged ones. | |
20413 | lbb1=28 | |
20414 | lbb2=0 | |
20415 | elseif((lb(i1).eq.28.and.lb(i2).eq.0).or. | |
20416 | 1 (lb(i1).eq.0.and.lb(i2).eq.28)) then | |
20417 | iblock=1891 | |
20418 | lbb1=28 | |
20419 | lbb2=3+int(3*RANART(NSEED)) | |
20420 | ei1=aomega | |
20421 | ei2=ap2 | |
20422 | if(lbb2.eq.4) ei2=ap1 | |
20423 | endif | |
20424 | ||
20425 | return | |
20426 | END | |
20427 | ||
20428 | ***************************************** | |
20429 | * for rho rho <-> eta eta cross sections | |
20430 | SUBROUTINE srree(lb1,lb2,srt) | |
20431 | parameter (ETAM=0.5475,arho=0.77) | |
20432 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20433 | cc SAVE /ppb1/ | |
20434 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20435 | cc SAVE /ppmm/ | |
20436 | SAVE | |
20437 | ||
20438 | rree=0. | |
20439 | if(lb1.ge.25.and.lb1.le.27.and. | |
20440 | 1 lb2.ge.25.and.lb2.le.27) then | |
20441 | if(srt.gt.(2*ETAM)) rree=rrtoee(srt) | |
20442 | elseif(lb1.eq.0.and.lb2.eq.0) then | |
20443 | if(srt.gt.(2*arho)) rree=eetorr(srt) | |
20444 | endif | |
20445 | ||
20446 | return | |
20447 | END | |
20448 | ||
20449 | ***************************************** | |
20450 | * for eta eta -> rho rho | |
20451 | c determined from detailed balance, spin-isospin averaged | |
20452 | real function eetorr(srt) | |
20453 | ***************************************** | |
20454 | parameter (ETAM=0.5475,arho=0.77) | |
20455 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20456 | cc SAVE /ppb1/ | |
20457 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20458 | cc SAVE /ppmm/ | |
20459 | SAVE | |
20460 | ||
20461 | s2=srt**2 | |
20462 | eetorr=81.*(s2-4*arho**2)/(s2-4*etam**2)*rrtoee(srt) | |
20463 | ||
20464 | return | |
20465 | END | |
20466 | ***************************************** | |
20467 | * for rho rho -> eta eta, assumed a constant cross section (in mb) | |
20468 | real function rrtoee(srt) | |
20469 | ***************************************** | |
20470 | srt=srt | |
20471 | c eta equilibration: | |
20472 | rrtoee=5. | |
20473 | return | |
20474 | END | |
20475 | ||
20476 | ***************************************** | |
20477 | * for rho rho <-> eta eta final states | |
20478 | SUBROUTINE ro2et2(i1,i2,lbb1,lbb2,ei1,ei2,iblock,iseed) | |
20479 | PARAMETER (MAXSTR=150001) | |
20480 | parameter (ETAM=0.5475,arho=0.77) | |
20481 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
20482 | cc SAVE /EE/ | |
20483 | common/ppb1/ene,factr2(6),fsum,ppinnb,s,wtot | |
20484 | cc SAVE /ppb1/ | |
20485 | common/ppmm/pprr,ppee,pppe,rpre,xopoe,rree | |
20486 | cc SAVE /ppmm/ | |
20487 | COMMON/RNDF77/NSEED | |
20488 | cc SAVE /RNDF77/ | |
20489 | SAVE | |
20490 | ||
20491 | ISEED=ISEED | |
20492 | if(lb(i1).ge.25.and.lb(i1).le.27.and. | |
20493 | 1 lb(i2).ge.25.and.lb(i2).le.27) then | |
20494 | iblock=1895 | |
20495 | ei1=etam | |
20496 | ei2=etam | |
20497 | c for now, we don't check isospin states(allowing pi+pi+ & pi0pi0 -> 2rho) | |
20498 | c thus the cross sections used are considered as the isospin-averaged ones. | |
20499 | lbb1=0 | |
20500 | lbb2=0 | |
20501 | elseif(lb(i1).eq.0.and.lb(i2).eq.0) then | |
20502 | iblock=1896 | |
20503 | lbb1=25+int(3*RANART(NSEED)) | |
20504 | lbb2=25+int(3*RANART(NSEED)) | |
20505 | ei1=arho | |
20506 | ei2=arho | |
20507 | endif | |
20508 | ||
20509 | return | |
20510 | END | |
20511 | ||
20512 | ***************************** | |
20513 | * purpose: Xsection for K* Kbar or K*bar K to pi(eta) rho(omega) | |
20514 | SUBROUTINE XKKSAN(i1,i2,SRT,SIGKS1,SIGKS2,SIGKS3,SIGKS4,SIGK,prkk) | |
20515 | * srt = DSQRT(s) in GeV * | |
20516 | * sigk = xsection in mb obtained from * | |
20517 | * the detailed balance * | |
20518 | * *************************** | |
20519 | PARAMETER (AKA=0.498, PIMASS=0.140, RHOM = 0.770,aks=0.895, | |
20520 | & OMEGAM = 0.7819, ETAM = 0.5473) | |
20521 | PARAMETER (MAXSTR=150001) | |
20522 | COMMON /CC/ E(MAXSTR) | |
20523 | cc SAVE /CC/ | |
20524 | SAVE | |
20525 | ||
20526 | S = SRT ** 2 | |
20527 | SIGKS1 = 1.E-08 | |
20528 | SIGKS2 = 1.E-08 | |
20529 | SIGKS3 = 1.E-08 | |
20530 | SIGKS4 = 1.E-08 | |
20531 | ||
20532 | XPION0 = prkk | |
20533 | clin note that prkk is for pi (rho omega) -> K* Kbar (AND!) K*bar K: | |
20534 | XPION0 = XPION0/2 | |
20535 | ||
20536 | cc | |
20537 | c PI2 = (S - (aks + AKA) ** 2) * (S - (aks - AKA) ** 2) | |
20538 | PI2 = (S - (e(i1) + e(i2)) ** 2) * (S - (e(i1) - e(i2)) ** 2) | |
20539 | SIGK = 1.E-08 | |
20540 | if(PI2 .le. 0.0) return | |
20541 | ||
20542 | XM1 = PIMASS | |
20543 | XM2 = RHOM | |
20544 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
20545 | IF (PI2 .GT. 0.0 .AND. PF2 .GT. 0.0) THEN | |
20546 | SIGKS1 = 27.0 / 4.0 * PF2 / PI2 * XPION0 | |
20547 | END IF | |
20548 | ||
20549 | XM1 = PIMASS | |
20550 | XM2 = OMEGAM | |
20551 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
20552 | IF (PI2 .GT. 0.0 .AND. PF2 .GT. 0.0) THEN | |
20553 | SIGKS2 = 9.0 / 4.0 * PF2 / PI2 * XPION0 | |
20554 | END IF | |
20555 | ||
20556 | XM1 = RHOM | |
20557 | XM2 = ETAM | |
20558 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
20559 | IF (PF2 .GT. 0.0) THEN | |
20560 | SIGKS3 = 9.0 / 4.0 * PF2 / PI2 * XPION0 | |
20561 | END IF | |
20562 | ||
20563 | XM1 = OMEGAM | |
20564 | XM2 = ETAM | |
20565 | PF2 = (S - (XM1 + XM2) ** 2) * (S - (XM1 - XM2) ** 2) | |
20566 | IF (PF2 .GT. 0.0) THEN | |
20567 | SIGKS4 = 3.0 / 4.0 * PF2 / PI2 * XPION0 | |
20568 | END IF | |
20569 | ||
20570 | SIGK=SIGKS1+SIGKS2+SIGKS3+SIGKS4 | |
20571 | ||
20572 | RETURN | |
20573 | END | |
20574 | ||
20575 | ********************************** | |
20576 | * PURPOSE: * | |
20577 | * assign final states for KK*bar or K*Kbar --> light mesons | |
20578 | * | |
20579 | c SUBROUTINE Crkspi(PX,PY,PZ,SRT,I1,I2,IBLOCK) | |
20580 | SUBROUTINE crkspi(I1,I2,XSK1, XSK2, XSK3, XSK4, SIGK, | |
20581 | & IBLOCK,lbp1,lbp2,emm1,emm2) | |
20582 | * iblock - 466 | |
20583 | ********************************** | |
20584 | PARAMETER (MAXSTR=150001,MAXR=1) | |
20585 | PARAMETER (AP1=0.13496,AP2=0.13957,RHOM = 0.770,PI=3.1415926) | |
20586 | PARAMETER (AETA=0.548,AMOMGA=0.782) | |
20587 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
20588 | COMMON /AA/ R(3,MAXSTR) | |
20589 | cc SAVE /AA/ | |
20590 | COMMON /BB/ P(3,MAXSTR) | |
20591 | cc SAVE /BB/ | |
20592 | COMMON /CC/ E(MAXSTR) | |
20593 | cc SAVE /CC/ | |
20594 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
20595 | cc SAVE /EE/ | |
20596 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
20597 | cc SAVE /input1/ | |
20598 | COMMON/RNDF77/NSEED | |
20599 | cc SAVE /RNDF77/ | |
20600 | SAVE | |
20601 | ||
20602 | IBLOCK=466 | |
20603 | * charges of final state mesons: | |
20604 | ||
20605 | X1 = RANART(NSEED) * SIGK | |
20606 | XSK2 = XSK1 + XSK2 | |
20607 | XSK3 = XSK2 + XSK3 | |
20608 | XSK4 = XSK3 + XSK4 | |
20609 | IF (X1 .LE. XSK1) THEN | |
20610 | LB(I1) = 3 + int(3 * RANART(NSEED)) | |
20611 | LB(I2) = 25 + int(3 * RANART(NSEED)) | |
20612 | E(I1) = AP2 | |
20613 | E(I2) = rhom | |
20614 | ELSE IF (X1 .LE. XSK2) THEN | |
20615 | LB(I1) = 3 + int(3 * RANART(NSEED)) | |
20616 | LB(I2) = 28 | |
20617 | E(I1) = AP2 | |
20618 | E(I2) = AMOMGA | |
20619 | ELSE IF (X1 .LE. XSK3) THEN | |
20620 | LB(I1) = 0 | |
20621 | LB(I2) = 25 + int(3 * RANART(NSEED)) | |
20622 | E(I1) = AETA | |
20623 | E(I2) = rhom | |
20624 | ELSE | |
20625 | LB(I1) = 0 | |
20626 | LB(I2) = 28 | |
20627 | E(I1) = AETA | |
20628 | E(I2) = AMOMGA | |
20629 | ENDIF | |
20630 | ||
20631 | if(lb(i1).eq.4) E(I1) = AP1 | |
20632 | lbp1=lb(i1) | |
20633 | lbp2=lb(i2) | |
20634 | emm1=e(i1) | |
20635 | emm2=e(i2) | |
20636 | ||
20637 | RETURN | |
20638 | END | |
20639 | ||
20640 | *--------------------------------------------------------------------------- | |
20641 | * PURPOSE : CALCULATE THE MASS AND MOMENTUM OF K* RESONANCE | |
20642 | * AFTER PION + KAON COLLISION | |
20643 | *clin only here the K* mass may be different from aks=0.895 | |
20644 | SUBROUTINE KSRESO(I1,I2) | |
20645 | PARAMETER (MAXSTR=150001,MAXR=1, | |
20646 | 1 AMN=0.939457,AMP=0.93828, | |
20647 | 2 AP1=0.13496,AP2=0.13957,AM0=1.232,PI=3.1415926) | |
20648 | COMMON /AA/ R(3,MAXSTR) | |
20649 | cc SAVE /AA/ | |
20650 | COMMON /BB/ P(3,MAXSTR) | |
20651 | cc SAVE /BB/ | |
20652 | COMMON /CC/ E(MAXSTR) | |
20653 | cc SAVE /CC/ | |
20654 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
20655 | cc SAVE /EE/ | |
20656 | COMMON /RUN/NUM | |
20657 | cc SAVE /RUN/ | |
20658 | COMMON /PA/RPION(3,MAXSTR,MAXR) | |
20659 | cc SAVE /PA/ | |
20660 | COMMON /PB/PPION(3,MAXSTR,MAXR) | |
20661 | cc SAVE /PB/ | |
20662 | COMMON /PC/EPION(MAXSTR,MAXR) | |
20663 | cc SAVE /PC/ | |
20664 | COMMON /PD/LPION(MAXSTR,MAXR) | |
20665 | cc SAVE /PD/ | |
20666 | SAVE | |
20667 | * 1. DETERMINE THE MOMENTUM COMPONENT OF THE K* IN THE CMS OF PI-K FRAME | |
20668 | * WE LET I1 TO BE THE K* AND ABSORB I2 | |
20669 | E10=SQRT(E(I1)**2+P(1,I1)**2+P(2,I1)**2+P(3,I1)**2) | |
20670 | E20=SQRT(E(I2)**2+P(1,I2)**2+P(2,I2)**2+P(3,I2)**2) | |
20671 | IF(LB(I2) .EQ. 21 .OR. LB(I2) .EQ. 23) THEN | |
20672 | E(I1)=0. | |
20673 | I=I2 | |
20674 | ELSE | |
20675 | E(I2)=0. | |
20676 | I=I1 | |
20677 | ENDIF | |
20678 | if(LB(I).eq.23) then | |
20679 | LB(I)=30 | |
20680 | else if(LB(I).eq.21) then | |
20681 | LB(I)=-30 | |
20682 | endif | |
20683 | P(1,I)=P(1,I1)+P(1,I2) | |
20684 | P(2,I)=P(2,I1)+P(2,I2) | |
20685 | P(3,I)=P(3,I1)+P(3,I2) | |
20686 | * 2. DETERMINE THE MASS OF K* BY USING THE REACTION KINEMATICS | |
20687 | DM=SQRT((E10+E20)**2-P(1,I)**2-P(2,I)**2-P(3,I)**2) | |
20688 | E(I)=DM | |
20689 | RETURN | |
20690 | END | |
20691 | ||
20692 | c-------------------------------------------------------- | |
20693 | ************************************* | |
20694 | * * | |
20695 | SUBROUTINE pertur(PX,PY,PZ,SRT,IRUN,I1,I2,nt,kp,icont) | |
20696 | * * | |
20697 | * PURPOSE: TO PRODUCE CASCADE AND OMEGA PERTURBATIVELY * | |
20698 | c sp 01/03/01 | |
20699 | * 40 cascade- | |
20700 | * -40 cascade-(bar) | |
20701 | * 41 cascade0 | |
20702 | * -41 cascade0(bar) | |
20703 | * 45 Omega baryon | |
20704 | * -45 Omega baryon(bar) | |
20705 | * 44 Di-Omega | |
20706 | ********************************** | |
20707 | PARAMETER (MAXSTR=150001,MAXR=1,PI=3.1415926) | |
20708 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
20709 | PARAMETER (AMN=0.939457,AMP=0.93828,AP1=0.13496,AP2=0.13957) | |
20710 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974,aks=0.895) | |
20711 | PARAMETER (ACAS=1.3213,AOME=1.6724,AMRHO=0.769,AMOMGA=0.782) | |
20712 | PARAMETER (AETA=0.548,ADIOMG=3.2288) | |
20713 | parameter (maxx=20,maxz=24) | |
20714 | COMMON /AA/ R(3,MAXSTR) | |
20715 | cc SAVE /AA/ | |
20716 | COMMON /BB/ P(3,MAXSTR) | |
20717 | cc SAVE /BB/ | |
20718 | COMMON /CC/ E(MAXSTR) | |
20719 | cc SAVE /CC/ | |
20720 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
20721 | cc SAVE /EE/ | |
20722 | COMMON /HH/ PROPER(MAXSTR) | |
20723 | cc SAVE /HH/ | |
20724 | common /ff/f(-mx:mx,-my:my,-mz:mz,-mpx:mpx,-mpy:mpy,-mpz:mpzp) | |
20725 | cc SAVE /ff/ | |
20726 | common /gg/ dx,dy,dz,dpx,dpy,dpz | |
20727 | cc SAVE /gg/ | |
20728 | COMMON /INPUT/ NSTAR,NDIRCT,DIR | |
20729 | cc SAVE /INPUT/ | |
20730 | COMMON /NN/NNN | |
20731 | cc SAVE /NN/ | |
20732 | COMMON /PA/RPION(3,MAXSTR,MAXR) | |
20733 | cc SAVE /PA/ | |
20734 | COMMON /PB/PPION(3,MAXSTR,MAXR) | |
20735 | cc SAVE /PB/ | |
20736 | COMMON /PC/EPION(MAXSTR,MAXR) | |
20737 | cc SAVE /PC/ | |
20738 | COMMON /PD/LPION(MAXSTR,MAXR) | |
20739 | cc SAVE /PD/ | |
20740 | COMMON /PE/PROPI(MAXSTR,MAXR) | |
20741 | cc SAVE /PE/ | |
20742 | COMMON /RR/ MASSR(0:MAXR) | |
20743 | cc SAVE /RR/ | |
20744 | COMMON /BG/BETAX,BETAY,BETAZ,GAMMA | |
20745 | cc SAVE /BG/ | |
20746 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
20747 | cc SAVE /input1/ | |
20748 | c perturbative method is disabled: | |
20749 | c common /imulst/ iperts | |
20750 | c | |
20751 | COMMON/RNDF77/NSEED | |
20752 | cc SAVE /RNDF77/ | |
20753 | COMMON /dpert/dpertt(MAXSTR,MAXR),dpertp(MAXSTR),dplast(MAXSTR), | |
20754 | 1 dpdcy(MAXSTR),dpdpi(MAXSTR,MAXR),dpt(MAXSTR, MAXR), | |
20755 | 2 dpp1(MAXSTR,MAXR),dppion(MAXSTR,MAXR) | |
20756 | SAVE | |
20757 | kp=kp | |
20758 | nt=nt | |
20759 | ||
20760 | px0 = px | |
20761 | py0 = py | |
20762 | pz0 = pz | |
20763 | LB1 = LB(I1) | |
20764 | EM1 = E(I1) | |
20765 | X1 = R(1,I1) | |
20766 | Y1 = R(2,I1) | |
20767 | Z1 = R(3,I1) | |
20768 | prob1 = PROPER(I1) | |
20769 | c | |
20770 | LB2 = LB(I2) | |
20771 | EM2 = E(I2) | |
20772 | X2 = R(1,I2) | |
20773 | Y2 = R(2,I2) | |
20774 | Z2 = R(3,I2) | |
20775 | prob2 = PROPER(I2) | |
20776 | c | |
20777 | c !! flag for real 2-body process (1/0=no/yes) | |
20778 | icont = 1 | |
20779 | c !! flag for elastic scatt only (-1=no) | |
20780 | icsbel = -1 | |
20781 | ||
20782 | * K-/K*0bar + La/Si --> cascade + pi | |
20783 | * K+/K*0 + La/Si (bar) --> cascade-bar + pi | |
20784 | if( (lb1.eq.21.or.lb1.eq.23.or.iabs(lb1).eq.30) .and. | |
20785 | & (iabs(lb2).ge.14.and.iabs(lb2).le.17) )go to 60 | |
20786 | if( (lb2.eq.21.or.lb2.eq.23.or.iabs(lb2).eq.30) .and. | |
20787 | & (iabs(lb1).ge.14.and.iabs(lb1).le.17) )go to 60 | |
20788 | * K-/K*0bar + cascade --> omega + pi | |
20789 | * K+/K*0 + cascade-bar --> omega-bar + pi | |
20790 | if( (lb1.eq.21.or.lb1.eq.23.or.iabs(lb1).eq.30) .and. | |
20791 | & (iabs(lb2).eq.40.or.iabs(lb2).eq.41) )go to 70 | |
20792 | if( (lb2.eq.21.or.lb2.eq.23.or.iabs(lb2).eq.30) .and. | |
20793 | & (iabs(lb1).eq.40.or.iabs(lb1).eq.41) )go to 70 | |
20794 | c | |
20795 | c annhilation of cascade,cascade-bar, omega,omega-bar | |
20796 | c | |
20797 | * K- + La/Si <-- cascade + pi(eta,rho,omega) | |
20798 | * K+ + La/Si(bar) <-- cascade-bar + pi(eta,rho,omega) | |
20799 | if( (((lb1.ge.3.and.lb1.le.5).or.lb1.eq.0) | |
20800 | & .and.(iabs(lb2).eq.40.or.iabs(lb2).eq.41)) | |
20801 | & .OR. (((lb2.ge.3.and.lb2.le.5).or.lb2.eq.0) | |
20802 | & .and.(iabs(lb1).eq.40.or.iabs(lb1).eq.41)) )go to 90 | |
20803 | * K- + cascade <-- omega + pi | |
20804 | * K+ + cascade-bar <-- omega-bar + pi | |
20805 | c if( (lb1.eq.0.and.iabs(lb2).eq.45) | |
20806 | c & .OR. (lb2.eq.0.and.iabs(lb1).eq.45) ) go to 110 | |
20807 | if( ((lb1.ge.3.and.lb1.le.5).and.iabs(lb2).eq.45) | |
20808 | & .OR.((lb2.ge.3.and.lb2.le.5).and.iabs(lb1).eq.45) )go to 110 | |
20809 | c | |
20810 | ||
20811 | c---------------------------------------------------- | |
20812 | * for process: K-bar + L(S) --> Ca + pi | |
20813 | * | |
20814 | 60 if(iabs(lb1).ge.14 .and. iabs(lb1).le.17)then | |
20815 | asap = e(i1) | |
20816 | akap = e(i2) | |
20817 | idp = i1 | |
20818 | else | |
20819 | asap = e(i2) | |
20820 | akap = e(i1) | |
20821 | idp = i2 | |
20822 | endif | |
20823 | app = 0.138 | |
20824 | if(srt .lt. (acas+app))return | |
20825 | srrt = srt - (acas+app) + (amn+akap) | |
20826 | pkaon = sqrt(((srrt**2-(amn**2+akap**2))/2./amn)**2 - akap**2) | |
20827 | sigca = 1.5*( akNPsg(pkaon)+akNPsg(pkaon) ) | |
20828 | clin pii & pff should be each divided by (4*srt**2), | |
20829 | c but these two factors cancel out in the ratio pii/pff: | |
20830 | pii = sqrt((srt**2-(amn+akap)**2)*(srt**2-(amn-akap)**2)) | |
20831 | pff = sqrt((srt**2-(asap+app)**2)*(srt**2-(asap-app)**2)) | |
20832 | cmat = sigca*pii/pff | |
20833 | sigpi = cmat* | |
20834 | & sqrt((srt**2-(acas+app)**2)*(srt**2-(acas-app)**2))/ | |
20835 | & sqrt((srt**2-(asap+akap)**2)*(srt**2-(asap-akap)**2)) | |
20836 | c | |
20837 | sigeta = 0. | |
20838 | if(srt .gt. (acas+aeta))then | |
20839 | srrt = srt - (acas+aeta) + (amn+akap) | |
20840 | pkaon = sqrt(((srrt**2-(amn**2+akap**2))/2./amn)**2 - akap**2) | |
20841 | sigca = 1.5*( akNPsg(pkaon)+akNPsg(pkaon) ) | |
20842 | cmat = sigca*pii/pff | |
20843 | sigeta = cmat* | |
20844 | & sqrt((srt**2-(acas+aeta)**2)*(srt**2-(acas-aeta)**2))/ | |
20845 | & sqrt((srt**2-(asap+akap)**2)*(srt**2-(asap-akap)**2)) | |
20846 | endif | |
20847 | c | |
20848 | sigca = sigpi + sigeta | |
20849 | sigpe = 0. | |
20850 | clin-2/25/03 disable the perturb option: | |
20851 | c if(iperts .eq. 1) sigpe = 40. !! perturbative xsecn | |
20852 | sig = amax1(sigpe,sigca) | |
20853 | ds = sqrt(sig/31.4) | |
20854 | dsr = ds + 0.1 | |
20855 | ec = (em1+em2+0.02)**2 | |
20856 | call distce(i1,i2,dsr,ds,dt,ec,srt,ic,px,py,pz) | |
20857 | if(ic .eq. -1)return | |
20858 | brpp = sigca/sig | |
20859 | c | |
20860 | c else particle production | |
20861 | if( (lb1.ge.14.and.lb1.le.17) .or. | |
20862 | & (lb2.ge.14.and.lb2.le.17) )then | |
20863 | c !! cascade- or cascde0 | |
20864 | lbpp1 = 40 + int(2*RANART(NSEED)) | |
20865 | else | |
20866 | * elseif(lb1 .eq. -14 .or. lb2 .eq. -14) | |
20867 | c !! cascade-bar- or cascde0 -bar | |
20868 | lbpp1 = -40 - int(2*RANART(NSEED)) | |
20869 | endif | |
20870 | empp1 = acas | |
20871 | if(RANART(NSEED) .lt. sigpi/sigca)then | |
20872 | c !! pion | |
20873 | lbpp2 = 3 + int(3*RANART(NSEED)) | |
20874 | empp2 = 0.138 | |
20875 | else | |
20876 | c !! eta | |
20877 | lbpp2 = 0 | |
20878 | empp2 = aeta | |
20879 | endif | |
20880 | c* check real process of cascade(bar) and pion formation | |
20881 | if(RANART(NSEED) .lt. brpp)then | |
20882 | c !! real process flag | |
20883 | icont = 0 | |
20884 | lb(i1) = lbpp1 | |
20885 | e(i1) = empp1 | |
20886 | c !! cascade formed with prob Gam | |
20887 | proper(i1) = brpp | |
20888 | lb(i2) = lbpp2 | |
20889 | e(i2) = empp2 | |
20890 | c !! pion/eta formed with prob 1. | |
20891 | proper(i2) = 1. | |
20892 | endif | |
20893 | c else only cascade(bar) formed perturbatively | |
20894 | go to 700 | |
20895 | ||
20896 | c---------------------------------------------------- | |
20897 | * for process: Cas(bar) + K_bar(K) --> Om(bar) + pi !! eta | |
20898 | * | |
20899 | 70 if(iabs(lb1).eq.40 .or. iabs(lb1).eq.41)then | |
20900 | acap = e(i1) | |
20901 | akap = e(i2) | |
20902 | idp = i1 | |
20903 | else | |
20904 | acap = e(i2) | |
20905 | akap = e(i1) | |
20906 | idp = i2 | |
20907 | endif | |
20908 | app = 0.138 | |
20909 | * ames = aeta | |
20910 | c !! only pion | |
20911 | ames = 0.138 | |
20912 | if(srt .lt. (aome+ames))return | |
20913 | srrt = srt - (aome+ames) + (amn+akap) | |
20914 | pkaon = sqrt(((srrt**2-(amn**2+akap**2))/2./amn)**2 - akap**2) | |
20915 | c use K(bar) + Ca --> Om + eta xsecn same as K(bar) + N --> Si + Pi | |
20916 | * as Omega have no resonances | |
20917 | c** using same matrix elements as K-bar + N -> Si + pi | |
20918 | sigomm = 1.5*( akNPsg(pkaon)+akNPsg(pkaon) ) | |
20919 | cmat = sigomm* | |
20920 | & sqrt((srt**2-(amn+akap)**2)*(srt**2-(amn-akap)**2))/ | |
20921 | & sqrt((srt**2-(asa+app)**2)*(srt**2-(asa-app)**2)) | |
20922 | sigom = cmat* | |
20923 | & sqrt((srt**2-(aome+ames)**2)*(srt**2-(aome-ames)**2))/ | |
20924 | & sqrt((srt**2-(acap+akap)**2)*(srt**2-(acap-akap)**2)) | |
20925 | sigpe = 0. | |
20926 | clin-2/25/03 disable the perturb option: | |
20927 | c if(iperts .eq. 1) sigpe = 40. !! perturbative xsecn | |
20928 | sig = amax1(sigpe,sigom) | |
20929 | ds = sqrt(sig/31.4) | |
20930 | dsr = ds + 0.1 | |
20931 | ec = (em1+em2+0.02)**2 | |
20932 | call distce(i1,i2,dsr,ds,dt,ec,srt,ic,px,py,pz) | |
20933 | if(ic .eq. -1)return | |
20934 | brpp = sigom/sig | |
20935 | c | |
20936 | c else particle production | |
20937 | if( (lb1.ge.40.and.lb1.le.41) .or. | |
20938 | & (lb2.ge.40.and.lb2.le.41) )then | |
20939 | c !! omega | |
20940 | lbpp1 = 45 | |
20941 | else | |
20942 | * elseif(lb1 .eq. -40 .or. lb2 .eq. -40) | |
20943 | c !! omega-bar | |
20944 | lbpp1 = -45 | |
20945 | endif | |
20946 | empp1 = aome | |
20947 | * lbpp2 = 0 !! eta | |
20948 | c !! pion | |
20949 | lbpp2 = 3 + int(3*RANART(NSEED)) | |
20950 | empp2 = ames | |
20951 | c | |
20952 | c* check real process of omega(bar) and pion formation | |
20953 | xrand=RANART(NSEED) | |
20954 | if(xrand .lt. (proper(idp)*brpp))then | |
20955 | c !! real process flag | |
20956 | icont = 0 | |
20957 | lb(i1) = lbpp1 | |
20958 | e(i1) = empp1 | |
20959 | c !! P_Om = P_Cas*Gam | |
20960 | proper(i1) = proper(idp)*brpp | |
20961 | lb(i2) = lbpp2 | |
20962 | e(i2) = empp2 | |
20963 | c !! pion formed with prob 1. | |
20964 | proper(i2) = 1. | |
20965 | elseif(xrand.lt.brpp) then | |
20966 | c else omega(bar) formed perturbatively and cascade destroyed | |
20967 | e(idp) = 0. | |
20968 | endif | |
20969 | go to 700 | |
20970 | ||
20971 | c----------------------------------------------------------- | |
20972 | * for process: Ca + pi/eta --> K-bar + L(S) | |
20973 | * | |
20974 | 90 if(iabs(lb1).eq.40 .or. iabs(lb1).eq.41)then | |
20975 | acap = e(i1) | |
20976 | app = e(i2) | |
20977 | idp = i1 | |
20978 | idn = i2 | |
20979 | else | |
20980 | acap = e(i2) | |
20981 | app = e(i1) | |
20982 | idp = i2 | |
20983 | idn = i1 | |
20984 | endif | |
20985 | c akal = (aka+aks)/2. !! average of K and K* taken | |
20986 | c !! using K only | |
20987 | akal = aka | |
20988 | c | |
20989 | alas = ala | |
20990 | if(srt .le. (alas+aka))return | |
20991 | srrt = srt - (acap+app) + (amn+aka) | |
20992 | pkaon = sqrt(((srrt**2-(amn**2+aka**2))/2./amn)**2 - aka**2) | |
20993 | c** using same matrix elements as K-bar + N -> La/Si + pi | |
20994 | sigca = 1.5*( akNPsg(pkaon)+akNPsg(pkaon) ) | |
20995 | cmat = sigca* | |
20996 | & sqrt((srt**2-(amn+aka)**2)*(srt**2-(amn-aka)**2))/ | |
20997 | & sqrt((srt**2-(alas+0.138)**2)*(srt**2-(alas-0.138)**2)) | |
20998 | sigca = cmat* | |
20999 | & sqrt((srt**2-(acap+app)**2)*(srt**2-(acap-app)**2))/ | |
21000 | & sqrt((srt**2-(alas+aka)**2)*(srt**2-(alas-aka)**2)) | |
21001 | c !! pi | |
21002 | dfr = 1./3. | |
21003 | c !! eta | |
21004 | if(lb(idn).eq.0)dfr = 1. | |
21005 | sigcal = sigca*dfr*(srt**2-(alas+aka)**2)* | |
21006 | & (srt**2-(alas-aka)**2)/(srt**2-(acap+app)**2)/ | |
21007 | & (srt**2-(acap-app)**2) | |
21008 | c | |
21009 | alas = ASA | |
21010 | if(srt .le. (alas+aka))then | |
21011 | sigcas = 0. | |
21012 | else | |
21013 | srrt = srt - (acap+app) + (amn+aka) | |
21014 | pkaon = sqrt(((srrt**2-(amn**2+aka**2))/2./amn)**2 - aka**2) | |
21015 | c use K(bar) + La/Si --> Ca + Pi xsecn same as K(bar) + N --> Si + Pi | |
21016 | c** using same matrix elements as K-bar + N -> La/Si + pi | |
21017 | sigca = 1.5*( akNPsg(pkaon)+akNPsg(pkaon) ) | |
21018 | cmat = sigca* | |
21019 | & sqrt((srt**2-(amn+aka)**2)*(srt**2-(amn-aka)**2))/ | |
21020 | & sqrt((srt**2-(alas+0.138)**2)*(srt**2-(alas-0.138)**2)) | |
21021 | sigca = cmat* | |
21022 | & sqrt((srt**2-(acap+app)**2)*(srt**2-(acap-app)**2))/ | |
21023 | & sqrt((srt**2-(alas+aka)**2)*(srt**2-(alas-aka)**2)) | |
21024 | c !! pi | |
21025 | dfr = 1. | |
21026 | c !! eta | |
21027 | if(lb(idn).eq.0)dfr = 3. | |
21028 | sigcas = sigca*dfr*(srt**2-(alas+aka)**2)* | |
21029 | & (srt**2-(alas-aka)**2)/(srt**2-(acap+app)**2)/ | |
21030 | & (srt**2-(acap-app)**2) | |
21031 | endif | |
21032 | c | |
21033 | sig = sigcal + sigcas | |
21034 | brpp = 1. | |
21035 | ds = sqrt(sig/31.4) | |
21036 | dsr = ds + 0.1 | |
21037 | ec = (em1+em2+0.02)**2 | |
21038 | call distce(i1,i2,dsr,ds,dt,ec,srt,ic,px,py,pz) | |
21039 | c | |
21040 | clin-2/25/03: checking elastic scatt after failure of inelastic scatt gives | |
21041 | c conditional probability (in general incorrect), tell Pal to correct: | |
21042 | if(ic .eq. -1)then | |
21043 | c check for elastic scatt, no particle annhilation | |
21044 | c !! elastic cross section of 20 mb | |
21045 | ds = sqrt(20.0/31.4) | |
21046 | dsr = ds + 0.1 | |
21047 | call distce(i1,i2,dsr,ds,dt,ec,srt,icsbel,px,py,pz) | |
21048 | if(icsbel .eq. -1)return | |
21049 | empp1 = EM1 | |
21050 | empp2 = EM2 | |
21051 | go to 700 | |
21052 | endif | |
21053 | c | |
21054 | c else pert. produced cascade(bar) is annhilated OR real process | |
21055 | c | |
21056 | * DECIDE LAMBDA OR SIGMA PRODUCTION | |
21057 | c | |
21058 | IF(sigcal/sig .GT. RANART(NSEED))THEN | |
21059 | if(lb1.eq.40.or.lb1.eq.41.or.lb2.eq.40.or.lb2.eq.41)then | |
21060 | lbpp1 = 21 | |
21061 | lbpp2 = 14 | |
21062 | else | |
21063 | lbpp1 = 23 | |
21064 | lbpp2 = -14 | |
21065 | endif | |
21066 | alas = ala | |
21067 | ELSE | |
21068 | if(lb1.eq.40.or.lb1.eq.41.or.lb2.eq.40.or.lb2.eq.41)then | |
21069 | lbpp1 = 21 | |
21070 | lbpp2 = 15 + int(3 * RANART(NSEED)) | |
21071 | else | |
21072 | lbpp1 = 23 | |
21073 | lbpp2 = -15 - int(3 * RANART(NSEED)) | |
21074 | endif | |
21075 | alas = ASA | |
21076 | ENDIF | |
21077 | empp1 = aka | |
21078 | empp2 = alas | |
21079 | c | |
21080 | c check for real process for L/S(bar) and K(bar) formation | |
21081 | if(RANART(NSEED) .lt. proper(idp))then | |
21082 | * real process | |
21083 | c !! real process flag | |
21084 | icont = 0 | |
21085 | lb(i1) = lbpp1 | |
21086 | e(i1) = empp1 | |
21087 | c !! K(bar) formed with prob 1. | |
21088 | proper(i1) = 1. | |
21089 | lb(i2) = lbpp2 | |
21090 | e(i2) = empp2 | |
21091 | c !! L/S(bar) formed with prob 1. | |
21092 | proper(i2) = 1. | |
21093 | go to 700 | |
21094 | else | |
21095 | c else only cascade(bar) annhilation & go out | |
21096 | e(idp) = 0. | |
21097 | endif | |
21098 | return | |
21099 | c | |
21100 | c---------------------------------------------------- | |
21101 | * for process: Om(bar) + pi --> Cas(bar) + K_bar(K) | |
21102 | * | |
21103 | 110 if(lb1 .eq. 45 .or. lb1 .eq. -45)then | |
21104 | aomp = e(i1) | |
21105 | app = e(i2) | |
21106 | idp = i1 | |
21107 | idn = i2 | |
21108 | else | |
21109 | aomp = e(i2) | |
21110 | app = e(i1) | |
21111 | idp = i2 | |
21112 | idn = i1 | |
21113 | endif | |
21114 | c akal = (aka+aks)/2. !! average of K and K* taken | |
21115 | c !! using K only | |
21116 | akal = aka | |
21117 | if(srt .le. (acas+aka))return | |
21118 | srrt = srt - (aome+app) + (amn+aka) | |
21119 | pkaon = sqrt(((srrt**2-(amn**2+aka**2))/2./amn)**2 - aka**2) | |
21120 | c use K(bar) + Ca --> Om + eta xsecn same as K(bar) + N --> Si + Pi | |
21121 | c** using same matrix elements as K-bar + N -> La/Si + pi | |
21122 | sigca = 1.5*( akNPsg(pkaon)+akNPsg(pkaon) ) | |
21123 | cmat = sigca* | |
21124 | & sqrt((srt**2-(amn+aka)**2)*(srt**2-(amn-aka)**2))/ | |
21125 | & sqrt((srt**2-(asa+0.138)**2)*(srt**2-(asa-0.138)**2)) | |
21126 | sigom = cmat* | |
21127 | & sqrt((srt**2-(aomp+app)**2)*(srt**2-(aomp-app)**2))/ | |
21128 | & sqrt((srt**2-(acas+aka)**2)*(srt**2-(acas-aka)**2)) | |
21129 | c dfr = 2. !! eta | |
21130 | c !! pion | |
21131 | dfr = 2./3. | |
21132 | sigom = sigom*dfr*(srt**2-(acas+aka)**2)* | |
21133 | & (srt**2-(acas-aka)**2)/(srt**2-(aomp+app)**2)/ | |
21134 | & (srt**2-(aomp-app)**2) | |
21135 | c | |
21136 | brpp = 1. | |
21137 | ds = sqrt(sigom/31.4) | |
21138 | dsr = ds + 0.1 | |
21139 | ec = (em1+em2+0.02)**2 | |
21140 | call distce(i1,i2,dsr,ds,dt,ec,srt,ic,px,py,pz) | |
21141 | c | |
21142 | clin-2/25/03: checking elastic scatt after failure of inelastic scatt gives | |
21143 | c conditional probability (in general incorrect), tell Pal to correct: | |
21144 | if(ic .eq. -1)then | |
21145 | c check for elastic scatt, no particle annhilation | |
21146 | c !! elastic cross section of 20 mb | |
21147 | ds = sqrt(20.0/31.4) | |
21148 | dsr = ds + 0.1 | |
21149 | call distce(i1,i2,dsr,ds,dt,ec,srt,icsbel,px,py,pz) | |
21150 | if(icsbel .eq. -1)return | |
21151 | empp1 = EM1 | |
21152 | empp2 = EM2 | |
21153 | go to 700 | |
21154 | endif | |
21155 | c | |
21156 | c else pert. produced omega(bar) annhilated OR real process | |
21157 | c annhilate only pert. omega, rest from hijing go out WITHOUT annhil. | |
21158 | if(lb1.eq.45 .or. lb2.eq.45)then | |
21159 | c !! Ca | |
21160 | lbpp1 = 40 + int(2*RANART(NSEED)) | |
21161 | c !! K- | |
21162 | lbpp2 = 21 | |
21163 | else | |
21164 | * elseif(lb1 .eq. -45 .or. lb2 .eq. -45) | |
21165 | c !! Ca-bar | |
21166 | lbpp1 = -40 - int(2*RANART(NSEED)) | |
21167 | c !! K+ | |
21168 | lbpp2 = 23 | |
21169 | endif | |
21170 | empp1 = acas | |
21171 | empp2 = aka | |
21172 | c | |
21173 | c check for real process for Cas(bar) and K(bar) formation | |
21174 | if(RANART(NSEED) .lt. proper(idp))then | |
21175 | c !! real process flag | |
21176 | icont = 0 | |
21177 | lb(i1) = lbpp1 | |
21178 | e(i1) = empp1 | |
21179 | c !! P_Cas(bar) = P_Om(bar) | |
21180 | proper(i1) = proper(idp) | |
21181 | lb(i2) = lbpp2 | |
21182 | e(i2) = empp2 | |
21183 | c !! K(bar) formed with prob 1. | |
21184 | proper(i2) = 1. | |
21185 | c | |
21186 | else | |
21187 | c else Cascade(bar) produced and Omega(bar) annhilated | |
21188 | e(idp) = 0. | |
21189 | endif | |
21190 | c !! for produced particles | |
21191 | go to 700 | |
21192 | c | |
21193 | c----------------------------------------------------------- | |
21194 | 700 continue | |
21195 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
21196 | * ENERGY CONSERVATION | |
21197 | PR2 = (SRT**2 - EMpp1**2 - EMpp2**2)**2 | |
21198 | & - 4.0 * (EMpp1*EMpp2)**2 | |
21199 | IF(PR2.LE.0.)PR2=0.00000001 | |
21200 | PR=SQRT(PR2)/(2.*SRT) | |
21201 | * using isotropic | |
21202 | C1 = 1.0 - 2.0 * RANART(NSEED) | |
21203 | T1 = 2.0 * PI * RANART(NSEED) | |
21204 | S1 = SQRT( 1.0 - C1**2 ) | |
21205 | CT1 = COS(T1) | |
21206 | ST1 = SIN(T1) | |
21207 | * THE MOMENTUM IN THE CMS IN THE FINAL STATE | |
21208 | PZ = PR * C1 | |
21209 | PX = PR * S1*CT1 | |
21210 | PY = PR * S1*ST1 | |
21211 | * ROTATE IT | |
21212 | CALL ROTATE(PX0,PY0,PZ0,PX,PY,PZ) | |
21213 | if(icont .eq. 0)return | |
21214 | c | |
21215 | * LORENTZ-TRANSFORMATION INTO CMS FRAME | |
21216 | E1CM = SQRT (EMpp1**2 + PX**2 + PY**2 + PZ**2) | |
21217 | P1BETA = PX*BETAX + PY*BETAY + PZ*BETAZ | |
21218 | TRANSF = GAMMA * ( GAMMA * P1BETA / (GAMMA + 1) + E1CM ) | |
21219 | Ppt11 = BETAX * TRANSF + PX | |
21220 | Ppt12 = BETAY * TRANSF + PY | |
21221 | Ppt13 = BETAZ * TRANSF + PZ | |
21222 | c | |
21223 | cc** for elastic scattering update the momentum of pertb particles | |
21224 | if(icsbel .ne. -1)then | |
21225 | c if(EMpp1 .gt. 0.9)then | |
21226 | p(1,i1) = Ppt11 | |
21227 | p(2,i1) = Ppt12 | |
21228 | p(3,i1) = Ppt13 | |
21229 | c else | |
21230 | E2CM = SQRT (EMpp2**2 + PX**2 + PY**2 + PZ**2) | |
21231 | TRANSF = GAMMA * ( -GAMMA * P1BETA / (GAMMA + 1) + E2CM ) | |
21232 | Ppt21 = BETAX * TRANSF - PX | |
21233 | Ppt22 = BETAY * TRANSF - PY | |
21234 | Ppt23 = BETAZ * TRANSF - PZ | |
21235 | p(1,i2) = Ppt21 | |
21236 | p(2,i2) = Ppt22 | |
21237 | p(3,i2) = Ppt23 | |
21238 | c endif | |
21239 | return | |
21240 | endif | |
21241 | clin-5/2008: | |
21242 | c2008 X01 = 1.0 - 2.0 * RANART(NSEED) | |
21243 | c Y01 = 1.0 - 2.0 * RANART(NSEED) | |
21244 | c Z01 = 1.0 - 2.0 * RANART(NSEED) | |
21245 | c IF ((X01*X01+Y01*Y01+Z01*Z01) .GT. 1.0) GOTO 2008 | |
21246 | c Xpt=X1+0.5*x01 | |
21247 | c Ypt=Y1+0.5*y01 | |
21248 | c Zpt=Z1+0.5*z01 | |
21249 | Xpt=X1 | |
21250 | Ypt=Y1 | |
21251 | Zpt=Z1 | |
21252 | c | |
21253 | c | |
21254 | c if(lbpp1 .eq. 45)then | |
21255 | c write(*,*)'II lb1,lb2,lbpp1,empp1,proper(idp),brpp' | |
21256 | c write(*,*)lb1,lb2,lbpp1,empp1,proper(idp),brpp | |
21257 | c endif | |
21258 | c | |
21259 | NNN=NNN+1 | |
21260 | PROPI(NNN,IRUN)= proper(idp)*brpp | |
21261 | LPION(NNN,IRUN)= lbpp1 | |
21262 | EPION(NNN,IRUN)= empp1 | |
21263 | RPION(1,NNN,IRUN)=Xpt | |
21264 | RPION(2,NNN,IRUN)=Ypt | |
21265 | RPION(3,NNN,IRUN)=Zpt | |
21266 | PPION(1,NNN,IRUN)=Ppt11 | |
21267 | PPION(2,NNN,IRUN)=Ppt12 | |
21268 | PPION(3,NNN,IRUN)=Ppt13 | |
21269 | clin-5/2008: | |
21270 | dppion(nnn,irun)=dpertp(i1)*dpertp(i2) | |
21271 | RETURN | |
21272 | END | |
21273 | ********************************** | |
21274 | * sp 12/08/00 * | |
21275 | SUBROUTINE Crhb(PX,PY,PZ,SRT,I1,I2,IBLOCK) | |
21276 | * PURPOSE: * | |
21277 | * DEALING WITH hyperon+N(D,N*)->hyp+N(D,N*) elastic PROCESS * | |
21278 | * NOTE : * | |
21279 | * | |
21280 | * QUANTITIES: * | |
21281 | * PX,PY,PZ - MOMENTUM COORDINATES OF ONE PARTICLE IN CM FRAME* | |
21282 | * SRT - SQRT OF S * | |
21283 | * IBLOCK - THE INFORMATION BACK * | |
21284 | * 144-> hyp+N(D,N*)->hyp+N(D,N*) | |
21285 | ********************************** | |
21286 | PARAMETER (MAXSTR=150001,MAXR=1,AMN=0.939457, | |
21287 | 1 AMP=0.93828,AP1=0.13496, | |
21288 | 2 AP2=0.13957,AM0=1.232,PI=3.1415926,CUTOFF=1.8966,AVMASS=0.9383) | |
21289 | PARAMETER (AKA=0.498,ALA=1.1157,ASA=1.1974) | |
21290 | parameter (MX=4,MY=4,MZ=8,MPX=4,MPY=4,mpz=10,mpzp=10) | |
21291 | COMMON /AA/ R(3,MAXSTR) | |
21292 | cc SAVE /AA/ | |
21293 | COMMON /BB/ P(3,MAXSTR) | |
21294 | cc SAVE /BB/ | |
21295 | COMMON /CC/ E(MAXSTR) | |
21296 | cc SAVE /CC/ | |
21297 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
21298 | cc SAVE /EE/ | |
21299 | common/input1/ MASSPR,MASSTA,ISEED,IAVOID,DT | |
21300 | cc SAVE /input1/ | |
21301 | COMMON/RNDF77/NSEED | |
21302 | cc SAVE /RNDF77/ | |
21303 | SAVE | |
21304 | ||
21305 | PX0=PX | |
21306 | PY0=PY | |
21307 | PZ0=PZ | |
21308 | *----------------------------------------------------------------------- | |
21309 | IBLOCK=144 | |
21310 | NTAG=0 | |
21311 | EM1=E(I1) | |
21312 | EM2=E(I2) | |
21313 | *----------------------------------------------------------------------- | |
21314 | * CALCULATE THE MAGNITUDE OF THE FINAL MOMENTUM THROUGH | |
21315 | * ENERGY CONSERVATION | |
21316 | PR2 = (SRT**2 - EM1**2 - EM2**2)**2 | |
21317 | 1 - 4.0 * (EM1*EM2)**2 | |
21318 | IF(PR2.LE.0.)PR2=1.e-09 | |
21319 | PR=SQRT(PR2)/(2.*SRT) | |
21320 | C1 = 1.0 - 2.0 * RANART(NSEED) | |
21321 | T1 = 2.0 * PI * RANART(NSEED) | |
21322 | S1 = SQRT( 1.0 - C1**2 ) | |
21323 | CT1 = COS(T1) | |
21324 | ST1 = SIN(T1) | |
21325 | PZ = PR * C1 | |
21326 | PX = PR * S1*CT1 | |
21327 | PY = PR * S1*ST1 | |
21328 | RETURN | |
21329 | END | |
21330 | **************************************** | |
21331 | c sp 04/05/01 | |
21332 | * Purpose: lambda-baryon elastic xsection as a functon of their cms energy | |
21333 | subroutine lambar(i1,i2,srt,siglab) | |
21334 | * srt = DSQRT(s) in GeV * | |
21335 | * siglab = lambda-nuclar elastic cross section in mb | |
21336 | * = 12 + 0.43/p_lab**3.3 (mb) | |
21337 | * | |
21338 | * (2) Calculate p(lab) from srt [GeV], since the formular in the | |
21339 | * reference applies only to the case of a p_bar on a proton at rest | |
21340 | * Formula used: srt**2=2.*pmass*(pmass+sqrt(pmass**2+plab**2)) | |
21341 | ***************************** | |
21342 | PARAMETER (MAXSTR=150001) | |
21343 | COMMON /AA/ R(3,MAXSTR) | |
21344 | cc SAVE /AA/ | |
21345 | COMMON /BB/ P(3,MAXSTR) | |
21346 | cc SAVE /BB/ | |
21347 | COMMON /CC/ E(MAXSTR) | |
21348 | cc SAVE /CC/ | |
21349 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
21350 | cc SAVE /EE/ | |
21351 | SAVE | |
21352 | ||
21353 | siglab=1.e-06 | |
21354 | if( iabs(lb(i1)).ge.14.and.iabs(lb(i1)).le.17 )then | |
21355 | eml = e(i1) | |
21356 | emb = e(i2) | |
21357 | else | |
21358 | eml = e(i2) | |
21359 | emb = e(i1) | |
21360 | endif | |
21361 | pthr = srt**2-eml**2-emb**2 | |
21362 | if(pthr .gt. 0.)then | |
21363 | plab2=(pthr/2./emb)**2-eml**2 | |
21364 | if(plab2.gt.0)then | |
21365 | plab=sqrt(plab2) | |
21366 | siglab=12. + 0.43/(plab**3.3) | |
21367 | if(siglab.gt.200.)siglab=200. | |
21368 | endif | |
21369 | endif | |
21370 | return | |
21371 | END | |
21372 | C------------------------------------------------------------------ | |
21373 | clin-7/26/03 improve speed | |
21374 | *************************************** | |
21375 | SUBROUTINE distc0(drmax,deltr0,DT, | |
21376 | 1 Ifirst,PX1CM,PY1CM,PZ1CM, | |
21377 | 2 x1,y1,z1,px1,py1,pz1,em1,x2,y2,z2,px2,py2,pz2,em2) | |
21378 | * PURPOSE : CHECK IF THE COLLISION BETWEEN TWO PARTICLES CAN HAPPEN | |
21379 | * BY CHECKING | |
21380 | * (2) IF PARTICLE WILL PASS EACH OTHER WITHIN | |
21381 | * TWO HARD CORE RADIUS. | |
21382 | * (3) IF PARTICLES WILL GET CLOSER. | |
21383 | * VARIABLES : | |
21384 | * Ifirst=1 COLLISION may HAPPENED | |
21385 | * Ifirst=-1 COLLISION CAN NOT HAPPEN | |
21386 | ***************************************** | |
21387 | COMMON /BG/ BETAX,BETAY,BETAZ,GAMMA | |
21388 | cc SAVE /BG/ | |
21389 | SAVE | |
21390 | deltr0=deltr0 | |
21391 | Ifirst=-1 | |
21392 | E1=SQRT(EM1**2+PX1**2+PY1**2+PZ1**2) | |
21393 | *NOW PARTICLES ARE CLOSE ENOUGH TO EACH OTHER ! | |
21394 | E2 = SQRT ( EM2**2 + PX2**2 + PY2**2 + PZ2**2 ) | |
21395 | *NOW THERE IS ENOUGH ENERGY AVAILABLE ! | |
21396 | *LORENTZ-TRANSFORMATION IN I1-I2-C.M. SYSTEM | |
21397 | * BETAX, BETAY, BETAZ AND GAMMA HAVE BEEN GIVEN IN THE SUBROUTINE CMS | |
21398 | *TRANSFORMATION OF MOMENTA (PX1CM = - PX2CM) | |
21399 | P1BETA = PX1*BETAX + PY1*BETAY + PZ1 * BETAZ | |
21400 | TRANSF = GAMMA * ( GAMMA * P1BETA / (GAMMA + 1) - E1 ) | |
21401 | PRCM = SQRT (PX1CM**2 + PY1CM**2 + PZ1CM**2) | |
21402 | IF (PRCM .LE. 0.00001) return | |
21403 | *TRANSFORMATION OF SPATIAL DISTANCE | |
21404 | DRBETA = BETAX*(X1-X2) + BETAY*(Y1-Y2) + BETAZ*(Z1-Z2) | |
21405 | TRANSF = GAMMA * GAMMA * DRBETA / (GAMMA + 1) | |
21406 | DXCM = BETAX * TRANSF + X1 - X2 | |
21407 | DYCM = BETAY * TRANSF + Y1 - Y2 | |
21408 | DZCM = BETAZ * TRANSF + Z1 - Z2 | |
21409 | *DETERMINING IF THIS IS THE POINT OF CLOSEST APPROACH | |
21410 | DRCM = SQRT (DXCM**2 + DYCM**2 + DZCM**2 ) | |
21411 | DZZ = (PX1CM*DXCM + PY1CM*DYCM + PZ1CM*DZCM) / PRCM | |
21412 | if ((drcm**2 - dzz**2) .le. 0.) then | |
21413 | BBB = 0. | |
21414 | else | |
21415 | BBB = SQRT (DRCM**2 - DZZ**2) | |
21416 | end if | |
21417 | *WILL PARTICLE PASS EACH OTHER WITHIN 2 * HARD CORE RADIUS ? | |
21418 | IF (BBB .GT. drmax) return | |
21419 | RELVEL = PRCM * (1.0/E1 + 1.0/E2) | |
21420 | DDD = RELVEL * DT * 0.5 | |
21421 | *WILL PARTICLES GET CLOSER ? | |
21422 | IF (ABS(DDD) .LT. ABS(DZZ)) return | |
21423 | Ifirst=1 | |
21424 | RETURN | |
21425 | END | |
21426 | *--------------------------------------------------------------------------- | |
21427 | c | |
21428 | clin-8/2008 B+B->Deuteron+Meson cross section in mb: | |
21429 | subroutine sbbdm(srt,sdprod,ianti,lbm,xmm,pfinal) | |
21430 | PARAMETER (xmd=1.8756,AP1=0.13496,AP2=0.13957, | |
21431 | 1 xmrho=0.770,xmomega=0.782,xmeta=0.548,srt0=2.012) | |
21432 | common/leadng/lb1,px1,py1,pz1,em1,e1,xfnl,yfnl,zfnl,tfnl, | |
21433 | 1 px1n,py1n,pz1n,dp1n | |
21434 | common /dpi/em2,lb2 | |
21435 | common /para8/ idpert,npertd,idxsec | |
21436 | COMMON/RNDF77/NSEED | |
21437 | SAVE | |
21438 | c | |
21439 | sdprod=0. | |
21440 | sbbdpi=0. | |
21441 | sbbdrho=0. | |
21442 | sbbdomega=0. | |
21443 | sbbdeta=0. | |
21444 | if(srt.le.(em1+em2)) return | |
21445 | c | |
21446 | ilb1=iabs(lb1) | |
21447 | ilb2=iabs(lb2) | |
21448 | ctest off check Xsec using fixed mass for resonances: | |
21449 | c if(ilb1.ge.6.and.ilb1.le.9) then | |
21450 | c em1=1.232 | |
21451 | c elseif(ilb1.ge.10.and.ilb1.le.11) then | |
21452 | c em1=1.44 | |
21453 | c elseif(ilb1.ge.12.and.ilb1.le.13) then | |
21454 | c em1=1.535 | |
21455 | c endif | |
21456 | c if(ilb2.ge.6.and.ilb2.le.9) then | |
21457 | c em2=1.232 | |
21458 | c elseif(ilb2.ge.10.and.ilb2.le.11) then | |
21459 | c em2=1.44 | |
21460 | c elseif(ilb2.ge.12.and.ilb2.le.13) then | |
21461 | c em2=1.535 | |
21462 | c endif | |
21463 | c | |
21464 | s=srt**2 | |
21465 | pinitial=sqrt((s-(em1+em2)**2)*(s-(em1-em2)**2))/2./srt | |
21466 | fs=fnndpi(s) | |
21467 | c Determine isospin and spin factors for the ratio between | |
21468 | c BB->Deuteron+Meson and Deuteron+Meson->BB cross sections: | |
21469 | if(idxsec.eq.1.or.idxsec.eq.2) then | |
21470 | c Assume B+B -> d+Meson has the same cross sections as N+N -> d+pi: | |
21471 | else | |
21472 | c Assume d+Meson -> B+B has the same cross sections as d+pi -> N+N, | |
21473 | c then determine B+B -> d+Meson cross sections: | |
21474 | if(ilb1.ge.1.and.ilb1.le.2.and. | |
21475 | 1 ilb2.ge.1.and.ilb2.le.2) then | |
21476 | pifactor=9./8. | |
21477 | elseif((ilb1.ge.1.and.ilb1.le.2.and. | |
21478 | 1 ilb2.ge.6.and.ilb2.le.9).or. | |
21479 | 2 (ilb2.ge.1.and.ilb2.le.2.and. | |
21480 | 1 ilb1.ge.6.and.ilb1.le.9)) then | |
21481 | pifactor=9./64. | |
21482 | elseif((ilb1.ge.1.and.ilb1.le.2.and. | |
21483 | 1 ilb2.ge.10.and.ilb2.le.13).or. | |
21484 | 2 (ilb2.ge.1.and.ilb2.le.2.and. | |
21485 | 1 ilb1.ge.10.and.ilb1.le.13)) then | |
21486 | pifactor=9./16. | |
21487 | elseif(ilb1.ge.6.and.ilb1.le.9.and. | |
21488 | 1 ilb2.ge.6.and.ilb2.le.9) then | |
21489 | pifactor=9./128. | |
21490 | elseif((ilb1.ge.6.and.ilb1.le.9.and. | |
21491 | 1 ilb2.ge.10.and.ilb2.le.13).or. | |
21492 | 2 (ilb2.ge.6.and.ilb2.le.9.and. | |
21493 | 1 ilb1.ge.10.and.ilb1.le.13)) then | |
21494 | pifactor=9./64. | |
21495 | elseif((ilb1.ge.10.and.ilb1.le.11.and. | |
21496 | 1 ilb2.ge.10.and.ilb2.le.11).or. | |
21497 | 2 (ilb2.ge.12.and.ilb2.le.13.and. | |
21498 | 1 ilb1.ge.12.and.ilb1.le.13)) then | |
21499 | pifactor=9./8. | |
21500 | elseif((ilb1.ge.10.and.ilb1.le.11.and. | |
21501 | 1 ilb2.ge.12.and.ilb2.le.13).or. | |
21502 | 2 (ilb2.ge.10.and.ilb2.le.11.and. | |
21503 | 1 ilb1.ge.12.and.ilb1.le.13)) then | |
21504 | pifactor=9./16. | |
21505 | endif | |
21506 | endif | |
21507 | c d pi: DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
21508 | * (1) FOR P+P->Deuteron+pi+: | |
21509 | IF((ilb1*ilb2).EQ.1)THEN | |
21510 | lbm=5 | |
21511 | if(ianti.eq.1) lbm=3 | |
21512 | xmm=ap2 | |
21513 | * (2)FOR N+N->Deuteron+pi-: | |
21514 | ELSEIF(ilb1.EQ.2.AND.ilb2.EQ.2)THEN | |
21515 | lbm=3 | |
21516 | if(ianti.eq.1) lbm=5 | |
21517 | xmm=ap2 | |
21518 | * (3)FOR N+P->Deuteron+pi0: | |
21519 | ELSEIF((ilb1*ilb2).EQ.2)THEN | |
21520 | lbm=4 | |
21521 | xmm=ap1 | |
21522 | ELSE | |
21523 | c For baryon resonances, use isospin-averaged cross sections: | |
21524 | lbm=3+int(3 * RANART(NSEED)) | |
21525 | if(lbm.eq.4) then | |
21526 | xmm=ap1 | |
21527 | else | |
21528 | xmm=ap2 | |
21529 | endif | |
21530 | ENDIF | |
21531 | c | |
21532 | if(srt.ge.(xmd+xmm)) then | |
21533 | pfinal=sqrt((s-(xmd+xmm)**2)*(s-(xmd-xmm)**2))/2./srt | |
21534 | if((ilb1.eq.1.and.ilb2.eq.1).or. | |
21535 | 1 (ilb1.eq.2.and.ilb2.eq.2)) then | |
21536 | c for pp or nn initial states: | |
21537 | sbbdpi=fs*pfinal/pinitial/4. | |
21538 | elseif((ilb1.eq.1.and.ilb2.eq.2).or. | |
21539 | 1 (ilb1.eq.2.and.ilb2.eq.1)) then | |
21540 | c factor of 1/2 for pn or np initial states: | |
21541 | sbbdpi=fs*pfinal/pinitial/4./2. | |
21542 | else | |
21543 | c for other BB initial states (spin- and isospin averaged): | |
21544 | if(idxsec.eq.1) then | |
21545 | c 1: assume the same |matrix element|**2 (after averaging over initial | |
21546 | c spins and isospins) for B+B -> deuteron+meson at the same sqrt(s); | |
21547 | sbbdpi=fs*pfinal/pinitial*3./16. | |
21548 | elseif(idxsec.eq.2.or.idxsec.eq.4) then | |
21549 | threshold=amax1(xmd+xmm,em1+em2) | |
21550 | snew=(srt-threshold+srt0)**2 | |
21551 | if(idxsec.eq.2) then | |
21552 | c 2: assume the same |matrix element|**2 for B+B -> deuteron+meson | |
21553 | c at the same sqrt(s)-threshold: | |
21554 | sbbdpi=fnndpi(snew)*pfinal/pinitial*3./16. | |
21555 | elseif(idxsec.eq.4) then | |
21556 | c 4: assume the same |matrix element|**2 for B+B <- deuteron+meson | |
21557 | c at the same sqrt(s)-threshold: | |
21558 | sbbdpi=fnndpi(snew)*pfinal/pinitial/6.*pifactor | |
21559 | endif | |
21560 | elseif(idxsec.eq.3) then | |
21561 | c 3: assume the same |matrix element|**2 for B+B <- deuteron+meson | |
21562 | c at the same sqrt(s): | |
21563 | sbbdpi=fs*pfinal/pinitial/6.*pifactor | |
21564 | endif | |
21565 | c | |
21566 | endif | |
21567 | endif | |
21568 | c | |
21569 | * d rho: DETERMINE THE CROSS SECTION TO THIS FINAL STATE: | |
21570 | if(srt.gt.(xmd+xmrho)) then | |
21571 | pfinal=sqrt((s-(xmd+xmrho)**2)*(s-(xmd-xmrho)**2))/2./srt | |
21572 | if(idxsec.eq.1) then | |
21573 | sbbdrho=fs*pfinal/pinitial*3./16. | |
21574 | elseif(idxsec.eq.2.or.idxsec.eq.4) then | |
21575 | threshold=amax1(xmd+xmrho,em1+em2) | |
21576 | snew=(srt-threshold+srt0)**2 | |
21577 | if(idxsec.eq.2) then | |
21578 | sbbdrho=fnndpi(snew)*pfinal/pinitial*3./16. | |
21579 | elseif(idxsec.eq.4) then | |
21580 | c The spin- and isospin-averaged factor is 3-times larger for rho: | |
21581 | sbbdrho=fnndpi(snew)*pfinal/pinitial/6.*(pifactor*3.) | |
21582 | endif | |
21583 | elseif(idxsec.eq.3) then | |
21584 | sbbdrho=fs*pfinal/pinitial/6.*(pifactor*3.) | |
21585 | endif | |
21586 | endif | |
21587 | c | |
21588 | * d omega: DETERMINE THE CROSS SECTION TO THIS FINAL STATE: | |
21589 | if(srt.gt.(xmd+xmomega)) then | |
21590 | pfinal=sqrt((s-(xmd+xmomega)**2)*(s-(xmd-xmomega)**2))/2./srt | |
21591 | if(idxsec.eq.1) then | |
21592 | sbbdomega=fs*pfinal/pinitial*3./16. | |
21593 | elseif(idxsec.eq.2.or.idxsec.eq.4) then | |
21594 | threshold=amax1(xmd+xmomega,em1+em2) | |
21595 | snew=(srt-threshold+srt0)**2 | |
21596 | if(idxsec.eq.2) then | |
21597 | sbbdomega=fnndpi(snew)*pfinal/pinitial*3./16. | |
21598 | elseif(idxsec.eq.4) then | |
21599 | sbbdomega=fnndpi(snew)*pfinal/pinitial/6.*pifactor | |
21600 | endif | |
21601 | elseif(idxsec.eq.3) then | |
21602 | sbbdomega=fs*pfinal/pinitial/6.*pifactor | |
21603 | endif | |
21604 | endif | |
21605 | c | |
21606 | * d eta: DETERMINE THE CROSS SECTION TO THIS FINAL STATE: | |
21607 | if(srt.gt.(xmd+xmeta)) then | |
21608 | pfinal=sqrt((s-(xmd+xmeta)**2)*(s-(xmd-xmeta)**2))/2./srt | |
21609 | if(idxsec.eq.1) then | |
21610 | sbbdeta=fs*pfinal/pinitial*3./16. | |
21611 | elseif(idxsec.eq.2.or.idxsec.eq.4) then | |
21612 | threshold=amax1(xmd+xmeta,em1+em2) | |
21613 | snew=(srt-threshold+srt0)**2 | |
21614 | if(idxsec.eq.2) then | |
21615 | sbbdeta=fnndpi(snew)*pfinal/pinitial*3./16. | |
21616 | elseif(idxsec.eq.4) then | |
21617 | sbbdeta=fnndpi(snew)*pfinal/pinitial/6.*(pifactor/3.) | |
21618 | endif | |
21619 | elseif(idxsec.eq.3) then | |
21620 | sbbdeta=fs*pfinal/pinitial/6.*(pifactor/3.) | |
21621 | endif | |
21622 | endif | |
21623 | c | |
21624 | sdprod=sbbdpi+sbbdrho+sbbdomega+sbbdeta | |
21625 | ctest off | |
21626 | c write(99,111) srt,sbbdpi,sbbdrho,sbbdomega,sbbdeta,sdprod | |
21627 | c 111 format(6(f8.2,1x)) | |
21628 | c | |
21629 | if(sdprod.le.0) return | |
21630 | c | |
21631 | c choose final state and assign masses here: | |
21632 | x1=RANART(NSEED) | |
21633 | if(x1.le.sbbdpi/sdprod) then | |
21634 | c use the above-determined lbm and xmm. | |
21635 | elseif(x1.le.(sbbdpi+sbbdrho)/sdprod) then | |
21636 | lbm=25+int(3*RANART(NSEED)) | |
21637 | xmm=xmrho | |
21638 | elseif(x1.le.(sbbdpi+sbbdrho+sbbdomega)/sdprod) then | |
21639 | lbm=28 | |
21640 | xmm=xmomega | |
21641 | else | |
21642 | lbm=0 | |
21643 | xmm=xmeta | |
21644 | endif | |
21645 | c | |
21646 | return | |
21647 | end | |
21648 | c | |
21649 | c Generate angular distribution of Deuteron in the CMS frame: | |
21650 | subroutine bbdangle(pxd,pyd,pzd,nt,ipert1,ianti,idloop,pfinal, | |
21651 | 1 dprob1,lbm) | |
21652 | PARAMETER (PI=3.1415926) | |
21653 | common/leadng/lb1,px1,py1,pz1,em1,e1,xfnl,yfnl,zfnl,tfnl, | |
21654 | 1 px1n,py1n,pz1n,dp1n | |
21655 | common /dpi/em2,lb2 | |
21656 | COMMON/RNDF77/NSEED | |
21657 | common /para8/ idpert,npertd,idxsec | |
21658 | COMMON /AREVT/ IAEVT, IARUN, MISS | |
21659 | SAVE | |
21660 | c take isotropic distribution for now: | |
21661 | C1=1.0-2.0*RANART(NSEED) | |
21662 | T1=2.0*PI*RANART(NSEED) | |
21663 | S1=SQRT(1.0-C1**2) | |
21664 | CT1=COS(T1) | |
21665 | ST1=SIN(T1) | |
21666 | * THE MOMENTUM IN THE CMS IN THE FINAL STATE | |
21667 | PZd=pfinal*C1 | |
21668 | PXd=pfinal*S1*CT1 | |
21669 | PYd=pfinal*S1*ST1 | |
21670 | clin-5/2008 track the number of produced deuterons: | |
21671 | if(idpert.eq.1.and.npertd.ge.1) then | |
21672 | dprob=dprob1 | |
21673 | elseif(idpert.eq.2.and.npertd.ge.1) then | |
21674 | dprob=1./float(npertd) | |
21675 | endif | |
21676 | c if(ianti.eq.0) then | |
21677 | c if(idpert.eq.0.or.(idpert.eq.1.and.ipert1.eq.0).or. | |
21678 | c 1 (idpert.eq.2.and.idloop.eq.(npertd+1))) then | |
21679 | c write (91,*) lb1,' *',lb2,' ->d+',lbm,' (regular d prodn) | |
21680 | c 1 @evt#',iaevt,' @nt=',nt | |
21681 | c elseif((idpert.eq.1.or.idpert.eq.2).and.idloop.eq.npertd) then | |
21682 | c write (91,*) lb1,' *',lb2,' ->d+',lbm,' (pert d prodn) | |
21683 | c 1 @evt#',iaevt,' @nt=',nt,' @prob=',dprob | |
21684 | c endif | |
21685 | c else | |
21686 | c if(idpert.eq.0.or.(idpert.eq.1.and.ipert1.eq.0).or. | |
21687 | c 1 (idpert.eq.2.and.idloop.eq.(npertd+1))) then | |
21688 | c write (91,*) lb1,' *',lb2,' ->d+',lbm,' (regular dbar prodn) | |
21689 | c 1 @evt#',iaevt,' @nt=',nt | |
21690 | c elseif((idpert.eq.1.or.idpert.eq.2).and.idloop.eq.npertd) then | |
21691 | c write (91,*) lb1,' *',lb2,' ->d+',lbm,' (pert dbar prodn) | |
21692 | c 1 @evt#',iaevt,' @nt=',nt,' @prob=',dprob | |
21693 | c endif | |
21694 | c endif | |
21695 | c | |
21696 | return | |
21697 | end | |
21698 | c | |
21699 | c Deuteron+Meson->B+B cross section (in mb) | |
21700 | subroutine sdmbb(SRT,sdm,ianti) | |
21701 | PARAMETER (AMN=0.939457,AMP=0.93828, | |
21702 | 1 AM0=1.232,AM1440=1.44,AM1535=1.535,srt0=2.012) | |
21703 | common/leadng/lb1,px1,py1,pz1,em1,e1,xfnl,yfnl,zfnl,tfnl, | |
21704 | 1 px1n,py1n,pz1n,dp1n | |
21705 | common /dpi/em2,lb2 | |
21706 | common /dpifsl/lbnn1,lbnn2,lbnd1,lbnd2,lbns1,lbns2,lbnp1,lbnp2, | |
21707 | 1 lbdd1,lbdd2,lbds1,lbds2,lbdp1,lbdp2,lbss1,lbss2, | |
21708 | 2 lbsp1,lbsp2,lbpp1,lbpp2 | |
21709 | common /dpifsm/xmnn1,xmnn2,xmnd1,xmnd2,xmns1,xmns2,xmnp1,xmnp2, | |
21710 | 1 xmdd1,xmdd2,xmds1,xmds2,xmdp1,xmdp2,xmss1,xmss2, | |
21711 | 2 xmsp1,xmsp2,xmpp1,xmpp2 | |
21712 | common /dpisig/sdmel,sdmnn,sdmnd,sdmns,sdmnp,sdmdd,sdmds,sdmdp, | |
21713 | 1 sdmss,sdmsp,sdmpp | |
21714 | common /para8/ idpert,npertd,idxsec | |
21715 | COMMON/RNDF77/NSEED | |
21716 | SAVE | |
21717 | c | |
21718 | sdm=0. | |
21719 | sdmel=0. | |
21720 | sdmnn=0. | |
21721 | sdmnd=0. | |
21722 | sdmns=0. | |
21723 | sdmnp=0. | |
21724 | sdmdd=0. | |
21725 | sdmds=0. | |
21726 | sdmdp=0. | |
21727 | sdmss=0. | |
21728 | sdmsp=0. | |
21729 | sdmpp=0. | |
21730 | ctest off check Xsec using fixed mass for resonances: | |
21731 | c if(lb1.ge.25.and.lb1.le.27) then | |
21732 | c em1=0.776 | |
21733 | c elseif(lb1.eq.28) then | |
21734 | c em1=0.783 | |
21735 | c elseif(lb1.eq.0) then | |
21736 | c em1=0.548 | |
21737 | c endif | |
21738 | c if(lb2.ge.25.and.lb2.le.27) then | |
21739 | c em2=0.776 | |
21740 | c elseif(lb2.eq.28) then | |
21741 | c em2=0.783 | |
21742 | c elseif(lb2.eq.0) then | |
21743 | c em2=0.548 | |
21744 | c endif | |
21745 | c | |
21746 | if(srt.le.(em1+em2)) return | |
21747 | s=srt**2 | |
21748 | pinitial=sqrt((s-(em1+em2)**2)*(s-(em1-em2)**2))/2./srt | |
21749 | fs=fnndpi(s) | |
21750 | c Determine isospin and spin factors for the ratio between | |
21751 | c Deuteron+Meson->BB and BB->Deuteron+Meson cross sections: | |
21752 | if(idxsec.eq.1.or.idxsec.eq.2) then | |
21753 | c Assume B+B -> d+Meson has the same cross sections as N+N -> d+pi, | |
21754 | c then determine d+Meson -> B+B cross sections: | |
21755 | if((lb1.ge.3.and.lb1.le.5).or. | |
21756 | 1 (lb2.ge.3.and.lb2.le.5)) then | |
21757 | xnnfactor=8./9. | |
21758 | elseif((lb1.ge.25.and.lb1.le.27).or. | |
21759 | 1 (lb2.ge.25.and.lb2.le.27)) then | |
21760 | xnnfactor=8./27. | |
21761 | elseif(lb1.eq.28.or.lb2.eq.28) then | |
21762 | xnnfactor=8./9. | |
21763 | elseif(lb1.eq.0.or.lb2.eq.0) then | |
21764 | xnnfactor=8./3. | |
21765 | endif | |
21766 | else | |
21767 | c Assume d+Meson -> B+B has the same cross sections as d+pi -> N+N: | |
21768 | endif | |
21769 | clin-9/2008 For elastic collisions: | |
21770 | if(idxsec.eq.1.or.idxsec.eq.3) then | |
21771 | c 1/3: assume the same |matrix element|**2 (after averaging over initial | |
21772 | c spins and isospins) for d+Meson elastic at the same sqrt(s); | |
21773 | sdmel=fdpiel(s) | |
21774 | elseif(idxsec.eq.2.or.idxsec.eq.4) then | |
21775 | c 2/4: assume the same |matrix element|**2 (after averaging over initial | |
21776 | c spins and isospins) for d+Meson elastic at the same sqrt(s)-threshold: | |
21777 | threshold=em1+em2 | |
21778 | snew=(srt-threshold+srt0)**2 | |
21779 | sdmel=fdpiel(snew) | |
21780 | endif | |
21781 | c | |
21782 | * NN: DETERMINE THE CHARGE STATES OF PARTICLESIN THE FINAL STATE | |
21783 | IF(((lb1.eq.5.or.lb2.eq.5.or.lb1.eq.27.or.lb2.eq.27) | |
21784 | 1 .and.ianti.eq.0).or. | |
21785 | 2 ((lb1.eq.3.or.lb2.eq.3.or.lb1.eq.25.or.lb2.eq.25) | |
21786 | 3 .and.ianti.eq.1))THEN | |
21787 | * (1) FOR Deuteron+(pi+,rho+) -> P+P or DeuteronBar+(pi-,rho-)-> PBar+PBar: | |
21788 | lbnn1=1 | |
21789 | lbnn2=1 | |
21790 | xmnn1=amp | |
21791 | xmnn2=amp | |
21792 | ELSEIF(lb1.eq.3.or.lb2.eq.3.or.lb1.eq.26.or.lb2.eq.26 | |
21793 | 1 .or.lb1.eq.28.or.lb2.eq.28.or.lb1.eq.0.or.lb2.eq.0)THEN | |
21794 | * (2) FOR Deuteron+(pi0,rho0,omega,eta) -> N+P | |
21795 | * or DeuteronBar+(pi0,rho0,omega,eta) ->NBar+PBar: | |
21796 | lbnn1=2 | |
21797 | lbnn2=1 | |
21798 | xmnn1=amn | |
21799 | xmnn2=amp | |
21800 | ELSE | |
21801 | * (3) FOR Deuteron+(pi-,rho-) -> N+N or DeuteronBar+(pi+,rho+)-> NBar+NBar: | |
21802 | lbnn1=2 | |
21803 | lbnn2=2 | |
21804 | xmnn1=amn | |
21805 | xmnn2=amn | |
21806 | ENDIF | |
21807 | if(srt.gt.(xmnn1+xmnn2)) then | |
21808 | pfinal=sqrt((s-(xmnn1+xmnn2)**2)*(s-(xmnn1-xmnn2)**2))/2./srt | |
21809 | if(idxsec.eq.1) then | |
21810 | c 1: assume the same |matrix element|**2 (after averaging over initial | |
21811 | c spins and isospins) for B+B -> deuteron+meson at the same sqrt(s); | |
21812 | sdmnn=fs*pfinal/pinitial*3./16.*xnnfactor | |
21813 | elseif(idxsec.eq.2.or.idxsec.eq.4) then | |
21814 | threshold=amax1(xmnn1+xmnn2,em1+em2) | |
21815 | snew=(srt-threshold+srt0)**2 | |
21816 | if(idxsec.eq.2) then | |
21817 | c 2: assume the same |matrix element|**2 for B+B -> deuteron+meson | |
21818 | c at the same sqrt(s)-threshold: | |
21819 | sdmnn=fnndpi(snew)*pfinal/pinitial*3./16.*xnnfactor | |
21820 | elseif(idxsec.eq.4) then | |
21821 | c 4: assume the same |matrix element|**2 for B+B <- deuteron+meson | |
21822 | c at the same sqrt(s)-threshold: | |
21823 | sdmnn=fnndpi(snew)*pfinal/pinitial/6. | |
21824 | endif | |
21825 | elseif(idxsec.eq.3) then | |
21826 | c 3: assume the same |matrix element|**2 for B+B <- deuteron+meson | |
21827 | c at the same sqrt(s): | |
21828 | sdmnn=fs*pfinal/pinitial/6. | |
21829 | endif | |
21830 | endif | |
21831 | c | |
21832 | * ND: DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
21833 | lbnd1=1+int(2*RANART(NSEED)) | |
21834 | lbnd2=6+int(4*RANART(NSEED)) | |
21835 | if(lbnd1.eq.1) then | |
21836 | xmnd1=amp | |
21837 | elseif(lbnd1.eq.2) then | |
21838 | xmnd1=amn | |
21839 | endif | |
21840 | xmnd2=am0 | |
21841 | if(srt.gt.(xmnd1+xmnd2)) then | |
21842 | pfinal=sqrt((s-(xmnd1+xmnd2)**2)*(s-(xmnd1-xmnd2)**2))/2./srt | |
21843 | if(idxsec.eq.1) then | |
21844 | c The spin- and isospin-averaged factor is 8-times larger for ND: | |
21845 | sdmnd=fs*pfinal/pinitial*3./16.*(xnnfactor*8.) | |
21846 | elseif(idxsec.eq.2.or.idxsec.eq.4) then | |
21847 | threshold=amax1(xmnd1+xmnd2,em1+em2) | |
21848 | snew=(srt-threshold+srt0)**2 | |
21849 | if(idxsec.eq.2) then | |
21850 | sdmnd=fnndpi(snew)*pfinal/pinitial*3./16.*(xnnfactor*8.) | |
21851 | elseif(idxsec.eq.4) then | |
21852 | sdmnd=fnndpi(snew)*pfinal/pinitial/6. | |
21853 | endif | |
21854 | elseif(idxsec.eq.3) then | |
21855 | sdmnd=fs*pfinal/pinitial/6. | |
21856 | endif | |
21857 | endif | |
21858 | c | |
21859 | * NS: DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
21860 | lbns1=1+int(2*RANART(NSEED)) | |
21861 | lbns2=10+int(2*RANART(NSEED)) | |
21862 | if(lbns1.eq.1) then | |
21863 | xmns1=amp | |
21864 | elseif(lbns1.eq.2) then | |
21865 | xmns1=amn | |
21866 | endif | |
21867 | xmns2=am1440 | |
21868 | if(srt.gt.(xmns1+xmns2)) then | |
21869 | pfinal=sqrt((s-(xmns1+xmns2)**2)*(s-(xmns1-xmns2)**2))/2./srt | |
21870 | if(idxsec.eq.1) then | |
21871 | sdmns=fs*pfinal/pinitial*3./16.*(xnnfactor*2.) | |
21872 | elseif(idxsec.eq.2.or.idxsec.eq.4) then | |
21873 | threshold=amax1(xmns1+xmns2,em1+em2) | |
21874 | snew=(srt-threshold+srt0)**2 | |
21875 | if(idxsec.eq.2) then | |
21876 | sdmns=fnndpi(snew)*pfinal/pinitial*3./16.*(xnnfactor*2.) | |
21877 | elseif(idxsec.eq.4) then | |
21878 | sdmns=fnndpi(snew)*pfinal/pinitial/6. | |
21879 | endif | |
21880 | elseif(idxsec.eq.3) then | |
21881 | sdmns=fs*pfinal/pinitial/6. | |
21882 | endif | |
21883 | endif | |
21884 | c | |
21885 | * NP: DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
21886 | lbnp1=1+int(2*RANART(NSEED)) | |
21887 | lbnp2=12+int(2*RANART(NSEED)) | |
21888 | if(lbnp1.eq.1) then | |
21889 | xmnp1=amp | |
21890 | elseif(lbnp1.eq.2) then | |
21891 | xmnp1=amn | |
21892 | endif | |
21893 | xmnp2=am1535 | |
21894 | if(srt.gt.(xmnp1+xmnp2)) then | |
21895 | pfinal=sqrt((s-(xmnp1+xmnp2)**2)*(s-(xmnp1-xmnp2)**2))/2./srt | |
21896 | if(idxsec.eq.1) then | |
21897 | sdmnp=fs*pfinal/pinitial*3./16.*(xnnfactor*2.) | |
21898 | elseif(idxsec.eq.2.or.idxsec.eq.4) then | |
21899 | threshold=amax1(xmnp1+xmnp2,em1+em2) | |
21900 | snew=(srt-threshold+srt0)**2 | |
21901 | if(idxsec.eq.2) then | |
21902 | sdmnp=fnndpi(snew)*pfinal/pinitial*3./16.*(xnnfactor*2.) | |
21903 | elseif(idxsec.eq.4) then | |
21904 | sdmnp=fnndpi(snew)*pfinal/pinitial/6. | |
21905 | endif | |
21906 | elseif(idxsec.eq.3) then | |
21907 | sdmnp=fs*pfinal/pinitial/6. | |
21908 | endif | |
21909 | endif | |
21910 | c | |
21911 | * DD: DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
21912 | lbdd1=6+int(4*RANART(NSEED)) | |
21913 | lbdd2=6+int(4*RANART(NSEED)) | |
21914 | xmdd1=am0 | |
21915 | xmdd2=am0 | |
21916 | if(srt.gt.(xmdd1+xmdd2)) then | |
21917 | pfinal=sqrt((s-(xmdd1+xmdd2)**2)*(s-(xmdd1-xmdd2)**2))/2./srt | |
21918 | if(idxsec.eq.1) then | |
21919 | sdmdd=fs*pfinal/pinitial*3./16.*(xnnfactor*16.) | |
21920 | elseif(idxsec.eq.2.or.idxsec.eq.4) then | |
21921 | threshold=amax1(xmdd1+xmdd2,em1+em2) | |
21922 | snew=(srt-threshold+srt0)**2 | |
21923 | if(idxsec.eq.2) then | |
21924 | sdmdd=fnndpi(snew)*pfinal/pinitial*3./16.*(xnnfactor*16.) | |
21925 | elseif(idxsec.eq.4) then | |
21926 | sdmdd=fnndpi(snew)*pfinal/pinitial/6. | |
21927 | endif | |
21928 | elseif(idxsec.eq.3) then | |
21929 | sdmdd=fs*pfinal/pinitial/6. | |
21930 | endif | |
21931 | endif | |
21932 | c | |
21933 | * DS: DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
21934 | lbds1=6+int(4*RANART(NSEED)) | |
21935 | lbds2=10+int(2*RANART(NSEED)) | |
21936 | xmds1=am0 | |
21937 | xmds2=am1440 | |
21938 | if(srt.gt.(xmds1+xmds2)) then | |
21939 | pfinal=sqrt((s-(xmds1+xmds2)**2)*(s-(xmds1-xmds2)**2))/2./srt | |
21940 | if(idxsec.eq.1) then | |
21941 | sdmds=fs*pfinal/pinitial*3./16.*(xnnfactor*8.) | |
21942 | elseif(idxsec.eq.2.or.idxsec.eq.4) then | |
21943 | threshold=amax1(xmds1+xmds2,em1+em2) | |
21944 | snew=(srt-threshold+srt0)**2 | |
21945 | if(idxsec.eq.2) then | |
21946 | sdmds=fnndpi(snew)*pfinal/pinitial*3./16.*(xnnfactor*8.) | |
21947 | elseif(idxsec.eq.4) then | |
21948 | sdmds=fnndpi(snew)*pfinal/pinitial/6. | |
21949 | endif | |
21950 | elseif(idxsec.eq.3) then | |
21951 | sdmds=fs*pfinal/pinitial/6. | |
21952 | endif | |
21953 | endif | |
21954 | c | |
21955 | * DP: DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
21956 | lbdp1=6+int(4*RANART(NSEED)) | |
21957 | lbdp2=12+int(2*RANART(NSEED)) | |
21958 | xmdp1=am0 | |
21959 | xmdp2=am1535 | |
21960 | if(srt.gt.(xmdp1+xmdp2)) then | |
21961 | pfinal=sqrt((s-(xmdp1+xmdp2)**2)*(s-(xmdp1-xmdp2)**2))/2./srt | |
21962 | if(idxsec.eq.1) then | |
21963 | sdmdp=fs*pfinal/pinitial*3./16.*(xnnfactor*8.) | |
21964 | elseif(idxsec.eq.2.or.idxsec.eq.4) then | |
21965 | threshold=amax1(xmdp1+xmdp2,em1+em2) | |
21966 | snew=(srt-threshold+srt0)**2 | |
21967 | if(idxsec.eq.2) then | |
21968 | sdmdp=fnndpi(snew)*pfinal/pinitial*3./16.*(xnnfactor*8.) | |
21969 | elseif(idxsec.eq.4) then | |
21970 | sdmdp=fnndpi(snew)*pfinal/pinitial/6. | |
21971 | endif | |
21972 | elseif(idxsec.eq.3) then | |
21973 | sdmdp=fs*pfinal/pinitial/6. | |
21974 | endif | |
21975 | endif | |
21976 | c | |
21977 | * SS: DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
21978 | lbss1=10+int(2*RANART(NSEED)) | |
21979 | lbss2=10+int(2*RANART(NSEED)) | |
21980 | xmss1=am1440 | |
21981 | xmss2=am1440 | |
21982 | if(srt.gt.(xmss1+xmss2)) then | |
21983 | pfinal=sqrt((s-(xmss1+xmss2)**2)*(s-(xmss1-xmss2)**2))/2./srt | |
21984 | if(idxsec.eq.1) then | |
21985 | sdmss=fs*pfinal/pinitial*3./16.*xnnfactor | |
21986 | elseif(idxsec.eq.2.or.idxsec.eq.4) then | |
21987 | threshold=amax1(xmss1+xmss2,em1+em2) | |
21988 | snew=(srt-threshold+srt0)**2 | |
21989 | if(idxsec.eq.2) then | |
21990 | sdmss=fnndpi(snew)*pfinal/pinitial*3./16.*xnnfactor | |
21991 | elseif(idxsec.eq.4) then | |
21992 | sdmss=fnndpi(snew)*pfinal/pinitial/6. | |
21993 | endif | |
21994 | elseif(idxsec.eq.3) then | |
21995 | sdmns=fs*pfinal/pinitial/6. | |
21996 | endif | |
21997 | endif | |
21998 | c | |
21999 | * SP: DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
22000 | lbsp1=10+int(2*RANART(NSEED)) | |
22001 | lbsp2=12+int(2*RANART(NSEED)) | |
22002 | xmsp1=am1440 | |
22003 | xmsp2=am1535 | |
22004 | if(srt.gt.(xmsp1+xmsp2)) then | |
22005 | pfinal=sqrt((s-(xmsp1+xmsp2)**2)*(s-(xmsp1-xmsp2)**2))/2./srt | |
22006 | if(idxsec.eq.1) then | |
22007 | sdmsp=fs*pfinal/pinitial*3./16.*(xnnfactor*2.) | |
22008 | elseif(idxsec.eq.2.or.idxsec.eq.4) then | |
22009 | threshold=amax1(xmsp1+xmsp2,em1+em2) | |
22010 | snew=(srt-threshold+srt0)**2 | |
22011 | if(idxsec.eq.2) then | |
22012 | sdmsp=fnndpi(snew)*pfinal/pinitial*3./16.*(xnnfactor*2.) | |
22013 | elseif(idxsec.eq.4) then | |
22014 | sdmsp=fnndpi(snew)*pfinal/pinitial/6. | |
22015 | endif | |
22016 | elseif(idxsec.eq.3) then | |
22017 | sdmsp=fs*pfinal/pinitial/6. | |
22018 | endif | |
22019 | endif | |
22020 | c | |
22021 | * PP: DETERMINE THE CHARGE STATES OF PARTICLES IN THE FINAL STATE | |
22022 | lbpp1=12+int(2*RANART(NSEED)) | |
22023 | lbpp2=12+int(2*RANART(NSEED)) | |
22024 | xmpp1=am1535 | |
22025 | xmpp2=am1535 | |
22026 | if(srt.gt.(xmpp1+xmpp2)) then | |
22027 | pfinal=sqrt((s-(xmpp1+xmpp2)**2)*(s-(xmpp1-xmpp2)**2))/2./srt | |
22028 | if(idxsec.eq.1) then | |
22029 | sdmpp=fs*pfinal/pinitial*3./16.*xnnfactor | |
22030 | elseif(idxsec.eq.2.or.idxsec.eq.4) then | |
22031 | threshold=amax1(xmpp1+xmpp2,em1+em2) | |
22032 | snew=(srt-threshold+srt0)**2 | |
22033 | if(idxsec.eq.2) then | |
22034 | sdmpp=fnndpi(snew)*pfinal/pinitial*3./16.*xnnfactor | |
22035 | elseif(idxsec.eq.4) then | |
22036 | sdmpp=fnndpi(snew)*pfinal/pinitial/6. | |
22037 | endif | |
22038 | elseif(idxsec.eq.3) then | |
22039 | sdmpp=fs*pfinal/pinitial/6. | |
22040 | endif | |
22041 | endif | |
22042 | c | |
22043 | sdm=sdmel+sdmnn+sdmnd+sdmns+sdmnp+sdmdd+sdmds+sdmdp | |
22044 | 1 +sdmss+sdmsp+sdmpp | |
22045 | if(ianti.eq.1) then | |
22046 | lbnn1=-lbnn1 | |
22047 | lbnn2=-lbnn2 | |
22048 | lbnd1=-lbnd1 | |
22049 | lbnd2=-lbnd2 | |
22050 | lbns1=-lbns1 | |
22051 | lbns2=-lbns2 | |
22052 | lbnp1=-lbnp1 | |
22053 | lbnp2=-lbnp2 | |
22054 | lbdd1=-lbdd1 | |
22055 | lbdd2=-lbdd2 | |
22056 | lbds1=-lbds1 | |
22057 | lbds2=-lbds2 | |
22058 | lbdp1=-lbdp1 | |
22059 | lbdp2=-lbdp2 | |
22060 | lbss1=-lbss1 | |
22061 | lbss2=-lbss2 | |
22062 | lbsp1=-lbsp1 | |
22063 | lbsp2=-lbsp2 | |
22064 | lbpp1=-lbpp1 | |
22065 | lbpp2=-lbpp2 | |
22066 | endif | |
22067 | ctest off | |
22068 | c write(98,100) srt,sdmnn,sdmnd,sdmns,sdmnp,sdmdd,sdmds,sdmdp, | |
22069 | c 1 sdmss,sdmsp,sdmpp,sdm | |
22070 | c 100 format(f5.2,11(1x,f5.1)) | |
22071 | c | |
22072 | return | |
22073 | end | |
22074 | c | |
22075 | clin-9/2008 Deuteron+Meson ->B+B and elastic collisions | |
22076 | SUBROUTINE crdmbb(PX,PY,PZ,SRT,I1,I2,IBLOCK, | |
22077 | 1 NTAG,sig,NT,ianti) | |
22078 | PARAMETER (MAXSTR=150001,MAXR=1) | |
22079 | COMMON /AA/R(3,MAXSTR) | |
22080 | COMMON /BB/ P(3,MAXSTR) | |
22081 | COMMON /BG/BETAX,BETAY,BETAZ,GAMMA | |
22082 | COMMON /CC/ E(MAXSTR) | |
22083 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
22084 | COMMON /AREVT/ IAEVT, IARUN, MISS | |
22085 | common/leadng/lb1,px1,py1,pz1,em1,e1,xfnl,yfnl,zfnl,tfnl, | |
22086 | 1 px1n,py1n,pz1n,dp1n | |
22087 | common /dpi/em2,lb2 | |
22088 | common /para8/ idpert,npertd,idxsec | |
22089 | COMMON /dpert/dpertt(MAXSTR,MAXR),dpertp(MAXSTR),dplast(MAXSTR), | |
22090 | 1 dpdcy(MAXSTR),dpdpi(MAXSTR,MAXR),dpt(MAXSTR, MAXR), | |
22091 | 2 dpp1(MAXSTR,MAXR),dppion(MAXSTR,MAXR) | |
22092 | common /dpifsl/lbnn1,lbnn2,lbnd1,lbnd2,lbns1,lbns2,lbnp1,lbnp2, | |
22093 | 1 lbdd1,lbdd2,lbds1,lbds2,lbdp1,lbdp2,lbss1,lbss2, | |
22094 | 2 lbsp1,lbsp2,lbpp1,lbpp2 | |
22095 | common /dpifsm/xmnn1,xmnn2,xmnd1,xmnd2,xmns1,xmns2,xmnp1,xmnp2, | |
22096 | 1 xmdd1,xmdd2,xmds1,xmds2,xmdp1,xmdp2,xmss1,xmss2, | |
22097 | 2 xmsp1,xmsp2,xmpp1,xmpp2 | |
22098 | common /dpisig/sdmel,sdmnn,sdmnd,sdmns,sdmnp,sdmdd,sdmds,sdmdp, | |
22099 | 1 sdmss,sdmsp,sdmpp | |
22100 | COMMON/RNDF77/NSEED | |
22101 | SAVE | |
22102 | *----------------------------------------------------------------------- | |
22103 | IBLOCK=0 | |
22104 | NTAG=0 | |
22105 | EM1=E(I1) | |
22106 | EM2=E(I2) | |
22107 | s=srt**2 | |
22108 | if(sig.le.0) return | |
22109 | c | |
22110 | if(iabs(lb1).eq.42) then | |
22111 | ideut=i1 | |
22112 | lbm=lb2 | |
22113 | idm=i2 | |
22114 | else | |
22115 | ideut=i2 | |
22116 | lbm=lb1 | |
22117 | idm=i1 | |
22118 | endif | |
22119 | cccc Elastic collision or destruction of perturbatively-produced deuterons: | |
22120 | if((idpert.eq.1.or.idpert.eq.2).and.dpertp(ideut).ne.1.) then | |
22121 | c choose reaction channels: | |
22122 | x1=RANART(NSEED) | |
22123 | if(x1.le.sdmel/sig)then | |
22124 | c Elastic collisions: | |
22125 | c if(ianti.eq.0) then | |
22126 | c write(91,*) ' d+',lbm,' (pert d M elastic) @nt=',nt | |
22127 | c 1 ,' @prob=',dpertp(ideut) | |
22128 | c else | |
22129 | c write(91,*) ' d+',lbm,' (pert dbar M elastic) @nt=',nt | |
22130 | c 1 ,' @prob=',dpertp(ideut) | |
22131 | c endif | |
22132 | pfinal=sqrt((s-(em1+em2)**2)*(s-(em1-em2)**2))/2./srt | |
22133 | CALL dmelangle(pxn,pyn,pzn,pfinal) | |
22134 | CALL ROTATE(PX,PY,PZ,Pxn,Pyn,Pzn) | |
22135 | EdCM=SQRT(E(ideut)**2+Pxn**2+Pyn**2+Pzn**2) | |
22136 | PdBETA=Pxn*BETAX+Pyn*BETAY+Pzn*BETAZ | |
22137 | TRANSF=GAMMA*(GAMMA*PdBETA/(GAMMA+1.)+EdCM) | |
22138 | Pt1d=BETAX*TRANSF+Pxn | |
22139 | Pt2d=BETAY*TRANSF+Pyn | |
22140 | Pt3d=BETAZ*TRANSF+Pzn | |
22141 | p(1,ideut)=pt1d | |
22142 | p(2,ideut)=pt2d | |
22143 | p(3,ideut)=pt3d | |
22144 | IBLOCK=504 | |
22145 | PX1=P(1,I1) | |
22146 | PY1=P(2,I1) | |
22147 | PZ1=P(3,I1) | |
22148 | ID(I1)=2 | |
22149 | ID(I2)=2 | |
22150 | c Change the position of the perturbative deuteron to that of | |
22151 | c the meson to avoid consecutive collisions between them: | |
22152 | R(1,ideut)=R(1,idm) | |
22153 | R(2,ideut)=R(2,idm) | |
22154 | R(3,ideut)=R(3,idm) | |
22155 | else | |
22156 | c Destruction of deuterons: | |
22157 | c if(ianti.eq.0) then | |
22158 | c write(91,*) ' d+',lbm,' ->BB (pert d destrn) @nt=',nt | |
22159 | c 1 ,' @prob=',dpertp(ideut) | |
22160 | c else | |
22161 | c write(91,*) ' d+',lbm,' ->BB (pert dbar destrn) @nt=',nt | |
22162 | c 1 ,' @prob=',dpertp(ideut) | |
22163 | c endif | |
22164 | e(ideut)=0. | |
22165 | IBLOCK=502 | |
22166 | endif | |
22167 | return | |
22168 | endif | |
22169 | c | |
22170 | cccc Destruction of regularly-produced deuterons: | |
22171 | IBLOCK=502 | |
22172 | c choose final state and assign masses here: | |
22173 | x1=RANART(NSEED) | |
22174 | if(x1.le.sdmnn/sig)then | |
22175 | lbb1=lbnn1 | |
22176 | lbb2=lbnn2 | |
22177 | xmb1=xmnn1 | |
22178 | xmb2=xmnn2 | |
22179 | elseif(x1.le.(sdmnn+sdmnd)/sig)then | |
22180 | lbb1=lbnd1 | |
22181 | lbb2=lbnd2 | |
22182 | xmb1=xmnd1 | |
22183 | xmb2=xmnd2 | |
22184 | elseif(x1.le.(sdmnn+sdmnd+sdmns)/sig)then | |
22185 | lbb1=lbns1 | |
22186 | lbb2=lbns2 | |
22187 | xmb1=xmns1 | |
22188 | xmb2=xmns2 | |
22189 | elseif(x1.le.(sdmnn+sdmnd+sdmns+sdmnp)/sig)then | |
22190 | lbb1=lbnp1 | |
22191 | lbb2=lbnp2 | |
22192 | xmb1=xmnp1 | |
22193 | xmb2=xmnp2 | |
22194 | elseif(x1.le.(sdmnn+sdmnd+sdmns+sdmnp+sdmdd)/sig)then | |
22195 | lbb1=lbdd1 | |
22196 | lbb2=lbdd2 | |
22197 | xmb1=xmdd1 | |
22198 | xmb2=xmdd2 | |
22199 | elseif(x1.le.(sdmnn+sdmnd+sdmns+sdmnp+sdmdd+sdmds)/sig)then | |
22200 | lbb1=lbds1 | |
22201 | lbb2=lbds2 | |
22202 | xmb1=xmds1 | |
22203 | xmb2=xmds2 | |
22204 | elseif(x1.le.(sdmnn+sdmnd+sdmns+sdmnp+sdmdd+sdmds+sdmdp)/sig)then | |
22205 | lbb1=lbdp1 | |
22206 | lbb2=lbdp2 | |
22207 | xmb1=xmdp1 | |
22208 | xmb2=xmdp2 | |
22209 | elseif(x1.le.(sdmnn+sdmnd+sdmns+sdmnp+sdmdd+sdmds+sdmdp | |
22210 | 1 +sdmss)/sig)then | |
22211 | lbb1=lbss1 | |
22212 | lbb2=lbss2 | |
22213 | xmb1=xmss1 | |
22214 | xmb2=xmss2 | |
22215 | elseif(x1.le.(sdmnn+sdmnd+sdmns+sdmnp+sdmdd+sdmds+sdmdp | |
22216 | 1 +sdmss+sdmsp)/sig)then | |
22217 | lbb1=lbsp1 | |
22218 | lbb2=lbsp2 | |
22219 | xmb1=xmsp1 | |
22220 | xmb2=xmsp2 | |
22221 | elseif(x1.le.(sdmnn+sdmnd+sdmns+sdmnp+sdmdd+sdmds+sdmdp | |
22222 | 1 +sdmss+sdmsp+sdmpp)/sig)then | |
22223 | lbb1=lbpp1 | |
22224 | lbb2=lbpp2 | |
22225 | xmb1=xmpp1 | |
22226 | xmb2=xmpp2 | |
22227 | else | |
22228 | c Elastic collision: | |
22229 | lbb1=lb1 | |
22230 | lbb2=lb2 | |
22231 | xmb1=em1 | |
22232 | xmb2=em2 | |
22233 | IBLOCK=504 | |
22234 | endif | |
22235 | LB(I1)=lbb1 | |
22236 | E(i1)=xmb1 | |
22237 | LB(I2)=lbb2 | |
22238 | E(I2)=xmb2 | |
22239 | lb1=lb(i1) | |
22240 | lb2=lb(i2) | |
22241 | pfinal=sqrt((s-(xmb1+xmb2)**2)*(s-(xmb1-xmb2)**2))/2./srt | |
22242 | c | |
22243 | if(iblock.eq.502) then | |
22244 | CALL dmangle(pxn,pyn,pzn,nt,ianti,pfinal,lbm) | |
22245 | elseif(iblock.eq.504) then | |
22246 | c if(ianti.eq.0) then | |
22247 | c write (91,*) ' d+',lbm,' (regular d M elastic) @evt#', | |
22248 | c 1 iaevt,' @nt=',nt,' lb1,2=',lb1,lb2 | |
22249 | c else | |
22250 | c write (91,*) ' d+',lbm,' (regular dbar M elastic) @evt#', | |
22251 | c 1 iaevt,' @nt=',nt,' lb1,2=',lb1,lb2 | |
22252 | c endif | |
22253 | CALL dmelangle(pxn,pyn,pzn,pfinal) | |
22254 | else | |
22255 | print *, 'Wrong iblock number in crdmbb()' | |
22256 | stop | |
22257 | endif | |
22258 | * ROTATE THE MOMENTA OF PARTICLES IN THE CMS OF P1+P2 | |
22259 | c (This is not needed for isotropic distributions) | |
22260 | CALL ROTATE(PX,PY,PZ,Pxn,Pyn,Pzn) | |
22261 | * LORENTZ-TRANSFORMATION OF THE MOMENTUM OF PARTICLES IN THE FINAL STATE | |
22262 | * FROM THE NUCLEUS-NUCLEUS CMS. FRAME INTO LAB FRAME: | |
22263 | * For the 1st baryon: | |
22264 | E1CM=SQRT(E(I1)**2+Pxn**2+Pyn**2+Pzn**2) | |
22265 | P1BETA=Pxn*BETAX+Pyn*BETAY+Pzn*BETAZ | |
22266 | TRANSF=GAMMA*(GAMMA*P1BETA/(GAMMA+1.)+E1CM) | |
22267 | Pt1i1=BETAX*TRANSF+Pxn | |
22268 | Pt2i1=BETAY*TRANSF+Pyn | |
22269 | Pt3i1=BETAZ*TRANSF+Pzn | |
22270 | c | |
22271 | p(1,i1)=pt1i1 | |
22272 | p(2,i1)=pt2i1 | |
22273 | p(3,i1)=pt3i1 | |
22274 | * For the 2nd baryon: | |
22275 | E2CM=SQRT(E(I2)**2+Pxn**2+Pyn**2+Pzn**2) | |
22276 | P2BETA=-Pxn*BETAX-Pyn*BETAY-Pzn*BETAZ | |
22277 | TRANSF=GAMMA*(GAMMA*P2BETA/(GAMMA+1.)+E2CM) | |
22278 | Pt1I2=BETAX*TRANSF-Pxn | |
22279 | Pt2I2=BETAY*TRANSF-Pyn | |
22280 | Pt3I2=BETAZ*TRANSF-Pzn | |
22281 | c | |
22282 | p(1,i2)=pt1i2 | |
22283 | p(2,i2)=pt2i2 | |
22284 | p(3,i2)=pt3i2 | |
22285 | c | |
22286 | PX1=P(1,I1) | |
22287 | PY1=P(2,I1) | |
22288 | PZ1=P(3,I1) | |
22289 | EM1=E(I1) | |
22290 | EM2=E(I2) | |
22291 | ID(I1)=2 | |
22292 | ID(I2)=2 | |
22293 | RETURN | |
22294 | END | |
22295 | c | |
22296 | c Generate angular distribution of BB from d+meson in the CMS frame: | |
22297 | subroutine dmangle(pxn,pyn,pzn,nt,ianti,pfinal,lbm) | |
22298 | PARAMETER (PI=3.1415926) | |
22299 | common/leadng/lb1,px1,py1,pz1,em1,e1,xfnl,yfnl,zfnl,tfnl, | |
22300 | 1 px1n,py1n,pz1n,dp1n | |
22301 | common /dpi/em2,lb2 | |
22302 | COMMON /AREVT/ IAEVT, IARUN, MISS | |
22303 | COMMON/RNDF77/NSEED | |
22304 | SAVE | |
22305 | c take isotropic distribution for now: | |
22306 | C1=1.0-2.0*RANART(NSEED) | |
22307 | T1=2.0*PI*RANART(NSEED) | |
22308 | S1=SQRT(1.0-C1**2) | |
22309 | CT1=COS(T1) | |
22310 | ST1=SIN(T1) | |
22311 | * THE MOMENTUM IN THE CMS IN THE FINAL STATE | |
22312 | Pzn=pfinal*C1 | |
22313 | Pxn=pfinal*S1*CT1 | |
22314 | Pyn=pfinal*S1*ST1 | |
22315 | clin-5/2008 track the number of regularly-destructed deuterons: | |
22316 | c if(ianti.eq.0) then | |
22317 | c write (91,*) ' d+',lbm,' ->BB (regular d destrn) @evt#', | |
22318 | c 1 iaevt,' @nt=',nt,' lb1,2=',lb1,lb2 | |
22319 | c else | |
22320 | c write (91,*) ' d+',lbm,' ->BB (regular dbar destrn) @evt#', | |
22321 | c 1 iaevt,' @nt=',nt,' lb1,2=',lb1,lb2 | |
22322 | c endif | |
22323 | c | |
22324 | return | |
22325 | end | |
22326 | c | |
22327 | c Angular distribution of d+meson elastic collisions in the CMS frame: | |
22328 | subroutine dmelangle(pxn,pyn,pzn,pfinal) | |
22329 | PARAMETER (PI=3.1415926) | |
22330 | COMMON/RNDF77/NSEED | |
22331 | SAVE | |
22332 | c take isotropic distribution for now: | |
22333 | C1=1.0-2.0*RANART(NSEED) | |
22334 | T1=2.0*PI*RANART(NSEED) | |
22335 | S1=SQRT(1.0-C1**2) | |
22336 | CT1=COS(T1) | |
22337 | ST1=SIN(T1) | |
22338 | * THE MOMENTUM IN THE CMS IN THE FINAL STATE | |
22339 | Pzn=pfinal*C1 | |
22340 | Pxn=pfinal*S1*CT1 | |
22341 | Pyn=pfinal*S1*ST1 | |
22342 | return | |
22343 | end | |
22344 | c | |
22345 | clin-9/2008 Deuteron+Baryon elastic cross section (in mb) | |
22346 | subroutine sdbelastic(SRT,sdb) | |
22347 | PARAMETER (srt0=2.012) | |
22348 | common/leadng/lb1,px1,py1,pz1,em1,e1,xfnl,yfnl,zfnl,tfnl, | |
22349 | 1 px1n,py1n,pz1n,dp1n | |
22350 | common /dpi/em2,lb2 | |
22351 | common /para8/ idpert,npertd,idxsec | |
22352 | SAVE | |
22353 | c | |
22354 | sdb=0. | |
22355 | sdbel=0. | |
22356 | if(srt.le.(em1+em2)) return | |
22357 | s=srt**2 | |
22358 | c For elastic collisions: | |
22359 | if(idxsec.eq.1.or.idxsec.eq.3) then | |
22360 | c 1/3: assume the same |matrix element|**2 (after averaging over initial | |
22361 | c spins and isospins) for d+Baryon elastic at the same sqrt(s); | |
22362 | sdbel=fdbel(s) | |
22363 | elseif(idxsec.eq.2.or.idxsec.eq.4) then | |
22364 | c 2/4: assume the same |matrix element|**2 (after averaging over initial | |
22365 | c spins and isospins) for d+Baryon elastic at the same sqrt(s)-threshold: | |
22366 | threshold=em1+em2 | |
22367 | snew=(srt-threshold+srt0)**2 | |
22368 | sdbel=fdbel(snew) | |
22369 | endif | |
22370 | sdb=sdbel | |
22371 | return | |
22372 | end | |
22373 | clin-9/2008 Deuteron+Baryon elastic collisions | |
22374 | SUBROUTINE crdbel(PX,PY,PZ,SRT,I1,I2,IBLOCK, | |
22375 | 1 NTAG,sig,NT,ianti) | |
22376 | PARAMETER (MAXSTR=150001,MAXR=1) | |
22377 | COMMON /AA/R(3,MAXSTR) | |
22378 | COMMON /BB/ P(3,MAXSTR) | |
22379 | COMMON /BG/BETAX,BETAY,BETAZ,GAMMA | |
22380 | COMMON /CC/ E(MAXSTR) | |
22381 | COMMON /EE/ ID(MAXSTR),LB(MAXSTR) | |
22382 | COMMON /AREVT/ IAEVT, IARUN, MISS | |
22383 | common/leadng/lb1,px1,py1,pz1,em1,e1,xfnl,yfnl,zfnl,tfnl, | |
22384 | 1 px1n,py1n,pz1n,dp1n | |
22385 | common /dpi/em2,lb2 | |
22386 | common /para8/ idpert,npertd,idxsec | |
22387 | COMMON /dpert/dpertt(MAXSTR,MAXR),dpertp(MAXSTR),dplast(MAXSTR), | |
22388 | 1 dpdcy(MAXSTR),dpdpi(MAXSTR,MAXR),dpt(MAXSTR, MAXR), | |
22389 | 2 dpp1(MAXSTR,MAXR),dppion(MAXSTR,MAXR) | |
22390 | SAVE | |
22391 | *----------------------------------------------------------------------- | |
22392 | IBLOCK=0 | |
22393 | NTAG=0 | |
22394 | EM1=E(I1) | |
22395 | EM2=E(I2) | |
22396 | s=srt**2 | |
22397 | if(sig.le.0) return | |
22398 | IBLOCK=503 | |
22399 | c | |
22400 | if(iabs(lb1).eq.42) then | |
22401 | ideut=i1 | |
22402 | lbb=lb2 | |
22403 | idb=i2 | |
22404 | else | |
22405 | ideut=i2 | |
22406 | lbb=lb1 | |
22407 | idb=i1 | |
22408 | endif | |
22409 | cccc Elastic collision of perturbatively-produced deuterons: | |
22410 | if((idpert.eq.1.or.idpert.eq.2).and.dpertp(ideut).ne.1.) then | |
22411 | c if(ianti.eq.0) then | |
22412 | c write(91,*) ' d+',lbb,' (pert d B elastic) @nt=',nt | |
22413 | c 1 ,' @prob=',dpertp(ideut),p(1,idb),p(2,idb) | |
22414 | c 2 ,p(1,ideut),p(2,ideut) | |
22415 | c else | |
22416 | c write(91,*) ' d+',lbb,' (pert dbar Bbar elastic) @nt=',nt | |
22417 | c 1 ,' @prob=',dpertp(ideut),p(1,idb),p(2,idb) | |
22418 | c 2 ,p(1,ideut),p(2,ideut) | |
22419 | c endif | |
22420 | pfinal=sqrt((s-(em1+em2)**2)*(s-(em1-em2)**2))/2./srt | |
22421 | CALL dbelangle(pxn,pyn,pzn,pfinal) | |
22422 | CALL ROTATE(PX,PY,PZ,Pxn,Pyn,Pzn) | |
22423 | EdCM=SQRT(E(ideut)**2+Pxn**2+Pyn**2+Pzn**2) | |
22424 | PdBETA=Pxn*BETAX+Pyn*BETAY+Pzn*BETAZ | |
22425 | TRANSF=GAMMA*(GAMMA*PdBETA/(GAMMA+1.)+EdCM) | |
22426 | Pt1d=BETAX*TRANSF+Pxn | |
22427 | Pt2d=BETAY*TRANSF+Pyn | |
22428 | Pt3d=BETAZ*TRANSF+Pzn | |
22429 | p(1,ideut)=pt1d | |
22430 | p(2,ideut)=pt2d | |
22431 | p(3,ideut)=pt3d | |
22432 | PX1=P(1,I1) | |
22433 | PY1=P(2,I1) | |
22434 | PZ1=P(3,I1) | |
22435 | ID(I1)=2 | |
22436 | ID(I2)=2 | |
22437 | c Change the position of the perturbative deuteron to that of | |
22438 | c the baryon to avoid consecutive collisions between them: | |
22439 | R(1,ideut)=R(1,idb) | |
22440 | R(2,ideut)=R(2,idb) | |
22441 | R(3,ideut)=R(3,idb) | |
22442 | return | |
22443 | endif | |
22444 | c | |
22445 | c Elastic collision of regularly-produced deuterons: | |
22446 | c if(ianti.eq.0) then | |
22447 | c write (91,*) ' d+',lbb,' (regular d B elastic) @evt#', | |
22448 | c 1 iaevt,' @nt=',nt,' lb1,2=',lb1,lb2 | |
22449 | c else | |
22450 | c write (91,*) ' d+',lbb,' (regular dbar Bbar elastic) @evt#', | |
22451 | c 1 iaevt,' @nt=',nt,' lb1,2=',lb1,lb2 | |
22452 | c endif | |
22453 | pfinal=sqrt((s-(em1+em2)**2)*(s-(em1-em2)**2))/2./srt | |
22454 | CALL dbelangle(pxn,pyn,pzn,pfinal) | |
22455 | * ROTATE THE MOMENTA OF PARTICLES IN THE CMS OF P1+P2 | |
22456 | c (This is not needed for isotropic distributions) | |
22457 | CALL ROTATE(PX,PY,PZ,Pxn,Pyn,Pzn) | |
22458 | * LORENTZ-TRANSFORMATION OF THE MOMENTUM OF PARTICLES IN THE FINAL STATE | |
22459 | * FROM THE NUCLEUS-NUCLEUS CMS. FRAME INTO LAB FRAME: | |
22460 | * For the 1st baryon: | |
22461 | E1CM=SQRT(E(I1)**2+Pxn**2+Pyn**2+Pzn**2) | |
22462 | P1BETA=Pxn*BETAX+Pyn*BETAY+Pzn*BETAZ | |
22463 | TRANSF=GAMMA*(GAMMA*P1BETA/(GAMMA+1.)+E1CM) | |
22464 | Pt1i1=BETAX*TRANSF+Pxn | |
22465 | Pt2i1=BETAY*TRANSF+Pyn | |
22466 | Pt3i1=BETAZ*TRANSF+Pzn | |
22467 | c | |
22468 | p(1,i1)=pt1i1 | |
22469 | p(2,i1)=pt2i1 | |
22470 | p(3,i1)=pt3i1 | |
22471 | * For the 2nd baryon: | |
22472 | E2CM=SQRT(E(I2)**2+Pxn**2+Pyn**2+Pzn**2) | |
22473 | P2BETA=-Pxn*BETAX-Pyn*BETAY-Pzn*BETAZ | |
22474 | TRANSF=GAMMA*(GAMMA*P2BETA/(GAMMA+1.)+E2CM) | |
22475 | Pt1I2=BETAX*TRANSF-Pxn | |
22476 | Pt2I2=BETAY*TRANSF-Pyn | |
22477 | Pt3I2=BETAZ*TRANSF-Pzn | |
22478 | c | |
22479 | p(1,i2)=pt1i2 | |
22480 | p(2,i2)=pt2i2 | |
22481 | p(3,i2)=pt3i2 | |
22482 | c | |
22483 | PX1=P(1,I1) | |
22484 | PY1=P(2,I1) | |
22485 | PZ1=P(3,I1) | |
22486 | EM1=E(I1) | |
22487 | EM2=E(I2) | |
22488 | ID(I1)=2 | |
22489 | ID(I2)=2 | |
22490 | RETURN | |
22491 | END | |
22492 | c | |
22493 | c Part of the cross section function of NN->Deuteron+Pi (in mb): | |
22494 | function fnndpi(s) | |
22495 | parameter(srt0=2.012) | |
22496 | if(s.le.srt0**2) then | |
22497 | fnndpi=0. | |
22498 | else | |
22499 | fnndpi=26.*exp(-(s-4.65)**2/0.1)+4.*exp(-(s-4.65)**2/2.) | |
22500 | 1 +0.28*exp(-(s-6.)**2/10.) | |
22501 | endif | |
22502 | return | |
22503 | end | |
22504 | c | |
22505 | c Angular distribution of d+baryon elastic collisions in the CMS frame: | |
22506 | subroutine dbelangle(pxn,pyn,pzn,pfinal) | |
22507 | PARAMETER (PI=3.1415926) | |
22508 | COMMON/RNDF77/NSEED | |
22509 | SAVE | |
22510 | c take isotropic distribution for now: | |
22511 | C1=1.0-2.0*RANART(NSEED) | |
22512 | T1=2.0*PI*RANART(NSEED) | |
22513 | S1=SQRT(1.0-C1**2) | |
22514 | CT1=COS(T1) | |
22515 | ST1=SIN(T1) | |
22516 | * THE MOMENTUM IN THE CMS IN THE FINAL STATE | |
22517 | Pzn=pfinal*C1 | |
22518 | Pxn=pfinal*S1*CT1 | |
22519 | Pyn=pfinal*S1*ST1 | |
22520 | return | |
22521 | end | |
22522 | c | |
22523 | c Cross section of Deuteron+Pi elastic (in mb): | |
22524 | function fdpiel(s) | |
22525 | parameter(srt0=2.012) | |
22526 | if(s.le.srt0**2) then | |
22527 | fdpiel=0. | |
22528 | else | |
22529 | fdpiel=63.*exp(-(s-4.67)**2/0.15)+15.*exp(-(s-6.25)**2/0.3) | |
22530 | endif | |
22531 | return | |
22532 | end | |
22533 | c | |
22534 | c Cross section of Deuteron+N elastic (in mb): | |
22535 | function fdbel(s) | |
22536 | parameter(srt0=2.012) | |
22537 | if(s.le.srt0**2) then | |
22538 | fdbel=0. | |
22539 | else | |
22540 | fdbel=2500.*exp(-(s-7.93)**2/0.003) | |
22541 | 1 +300.*exp(-(s-7.93)**2/0.1)+10. | |
22542 | endif | |
22543 | return | |
22544 | end |