]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ISAJET/code/amass.F
Updated a bit with:
[u/mrichter/AliRoot.git] / ISAJET / code / amass.F
CommitLineData
0795afa3 1#include "isajet/pilot.h"
2 FUNCTION AMASS(ID)
3C
4C Returns the mass of the particle with IDENT code ID.
5C Quark-based IDENT code.
6C Ver 7.10: Update masses and split B baryon degeneracy.
7C
8#if defined(CERNLIB_IMPNONE)
9 IMPLICIT NONE
10#endif
11#include "isajet/itapes.inc"
12#include "isajet/qlmass.inc"
13 INTEGER ID
14 REAL AMASS
15 REAL AMMES0(10),AMMES1(10),AMBAR0(30),AMBAR1(30)
16 INTEGER IFL1,IFL2,IFL3,JSPIN,INDEX,IFL1A,IFL2A,IFL3A,IDA
17C
18C 0- meson mass table
19C pi0, pi+, eta, k+, k0, etap, ad0, d-, ds-, etac
20C
21 DATA AMMES0/.13496,.13957,.54745,.49367,.49767,.95775,1.8645
22 $,1.8693,1.9688,2.9788/
23C
24C 1- meson mass table
25C rho0, rho+, omega, k*+, k*0, phi, ad*0, d*-, d*s-, jpsi
26C
27 DATA AMMES1/.7681,.7681,.78195,.89159,.89610,1.0194,2.0071
28 $,2.0101,2.1103,3.0969/
29C
30C 1/2+ baryon mass table
31C x,p,n,-,-,s+,s0,s-,l,xi0,xi-,x,x,x
32C sc++,sc+,sc0,lc+,usc.,dsc.,ssc.,sdc.,suc.,ucc.,dcc.,scc.
33C
34 DATA AMBAR0/-1.,.93828,.93957,2*-1.,1.1894,1.1925,1.1974
35 $,1.1156,1.3149,1.3213,3*-1.,2.4527,2.4529,2.4525,2.2849
36 $,2.50,2.50,2.60,2.40,2.40,3.55,3.55,3.70,4*-1./
37C
38C 3/2+ baryon mass table
39C dl++,dl+,dl0,dl-,-,s*+,s*0,s*-,x,xi*0,xi*-,om-,x,x
40C uuc*,udc*,ddc*,x,usc*,dsc*,ssc*,x,x,,ucc*,dcc*,scc*,ccc*
41C
42 DATA AMBAR1/1.232,1.232,1.232,1.232,-1.,1.3823,1.3820
43 $,1.3875,-1.,1.5318,1.5350,1.6722,2*-1.
44 $,2.63,2.63,2.63,-1.,2.70,2.70,2.80,2*-1.,3.75,3.75
45 $,3.90,4.80,3*-1./
46C
47C Entry
48C
49 AMASS=-1.
50 CALL FLAVOR(ID,IFL1,IFL2,IFL3,JSPIN,INDEX)
51 IDA=IABS(ID)
52 IFL1A=IABS(IFL1)
53 IFL2A=IABS(IFL2)
54 IFL3A=IABS(IFL3)
55 IF(IDA.GT.10000.OR.JSPIN.GT.1) GO TO 500
56C
57C Diquarks
58C
59 IF(ID.NE.0.AND.MOD(ID,100).EQ.0) THEN
60 AMASS=AMLEP(IFL1A)+AMLEP(IFL2A)
61C
62C b and t particles. Only a few b masses are known, but we
63C guess a few others to make sure decays are allowed:
64C
65 ELSEIF(IFL3A.GT.4) THEN
66 IF(IDA.EQ.150.OR.IDA.EQ.250) THEN
67 AMASS=5.2786
68 ELSEIF(IDA.EQ.151.OR.IDA.EQ.251) THEN
69 AMASS=5.3246
70 ELSEIF(IDA.EQ.350) THEN
71 AMASS=5.3693
72 ELSEIF(IDA.EQ.351) THEN
73 AMASS=5.3693+0.04
74 ELSEIF(IDA.EQ.2150) THEN
75 AMASS=5.641
76 ELSEIF(IDA.EQ.1150.OR.IDA.EQ.1250.OR.IDA.EQ.2250) THEN
77 AMASS=5.641+0.171
78 ELSEIF(IDA.EQ.2151) THEN
79 AMASS=5.641+.04
80 ELSEIF(IDA.EQ.1151.OR.IDA.EQ.1251.OR.IDA.EQ.2251) THEN
81 AMASS=5.641+0.171+0.04
82 ELSE
83 AMASS=AMLEP(IFL2A)+AMLEP(IFL3A)-.03+.04*JSPIN
84 IF(IFL1.NE.0) AMASS=AMASS+AMLEP(IFL1A)
85 ENDIF
86C
87C Quarks and leptons
88C
89 ELSEIF(IFL2.EQ.0) THEN
90 AMASS=AMLEP(INDEX)
91C
92C Mesons
93C
94 ELSEIF(IFL1.EQ.0) THEN
95 INDEX=INDEX-36*JSPIN-NQLEP
96 INDEX=INDEX-13
97 AMASS=(1-JSPIN)*AMMES0(INDEX)+JSPIN*AMMES1(INDEX)
98C
99C Baryons
100C
101 ELSE
102 INDEX=INDEX-109*JSPIN-36*NMES-NQLEP
103 INDEX=INDEX-13
104 AMASS=(1-JSPIN)*AMBAR0(INDEX)+JSPIN*AMBAR1(INDEX)
105 ENDIF
106 RETURN
107C
108C Special hadrons - used only in B decays
109C
110500 IF(IDA.EQ.10121.OR.IDA.EQ.10111) THEN
111 AMASS=1.230
112 ELSEIF(IDA.EQ.10131.OR.IDA.EQ.10231) THEN
113 AMASS=1.273
114 ELSEIF(IDA.EQ.30131.OR.IDA.EQ.30231) THEN
115 AMASS=1.412
116 ELSEIF(IDA.EQ.132) THEN
117 AMASS=1.4254
118 ELSEIF(IDA.EQ.232) THEN
119 AMASS=1.4324
120 ELSEIF(IDA.EQ.10110) THEN
121 AMASS=0.980+0.020
122 ELSEIF(IDA.EQ.112) THEN
123 AMASS=1.275
124 ELSEIF(IDA.EQ.10441) THEN
125 AMASS=3.686
126 ELSEIF(IDA.EQ.20440) THEN
127 AMASS=3.4151
128 ELSEIF(IDA.EQ.20441) THEN
129 AMASS=3.51053
130 ELSEIF(IDA.EQ.20442) THEN
131 AMASS=3.56617
132 ELSE
133 AMASS=0
134 ENDIF
135 RETURN
136 END