1 #include "isajet/pilot.h"
4 C Returns the mass of the particle with IDENT code ID.
5 C Quark-based IDENT code.
6 C Ver 7.10: Update masses and split B baryon degeneracy.
8 #if defined(CERNLIB_IMPNONE)
11 #include "isajet/itapes.inc"
12 #include "isajet/qlmass.inc"
15 REAL AMMES0(10),AMMES1(10),AMBAR0(30),AMBAR1(30)
16 INTEGER IFL1,IFL2,IFL3,JSPIN,INDEX,IFL1A,IFL2A,IFL3A,IDA
19 C pi0, pi+, eta, k+, k0, etap, ad0, d-, ds-, etac
21 DATA AMMES0/.13496,.13957,.54745,.49367,.49767,.95775,1.8645
22 $,1.8693,1.9688,2.9788/
25 C rho0, rho+, omega, k*+, k*0, phi, ad*0, d*-, d*s-, jpsi
27 DATA AMMES1/.7681,.7681,.78195,.89159,.89610,1.0194,2.0071
28 $,2.0101,2.1103,3.0969/
30 C 1/2+ baryon mass table
31 C x,p,n,-,-,s+,s0,s-,l,xi0,xi-,x,x,x
32 C sc++,sc+,sc0,lc+,usc.,dsc.,ssc.,sdc.,suc.,ucc.,dcc.,scc.
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./
38 C 3/2+ baryon mass table
39 C dl++,dl+,dl0,dl-,-,s*+,s*0,s*-,x,xi*0,xi*-,om-,x,x
40 C uuc*,udc*,ddc*,x,usc*,dsc*,ssc*,x,x,,ucc*,dcc*,scc*,ccc*
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
50 CALL FLAVOR(ID,IFL1,IFL2,IFL3,JSPIN,INDEX)
55 IF(IDA.GT.10000.OR.JSPIN.GT.1) GO TO 500
59 IF(ID.NE.0.AND.MOD(ID,100).EQ.0) THEN
60 AMASS=AMLEP(IFL1A)+AMLEP(IFL2A)
62 C b and t particles. Only a few b masses are known, but we
63 C guess a few others to make sure decays are allowed:
65 ELSEIF(IFL3A.GT.4) THEN
66 IF(IDA.EQ.150.OR.IDA.EQ.250) THEN
68 ELSEIF(IDA.EQ.151.OR.IDA.EQ.251) THEN
70 ELSEIF(IDA.EQ.350) THEN
72 ELSEIF(IDA.EQ.351) THEN
74 ELSEIF(IDA.EQ.2150) THEN
76 ELSEIF(IDA.EQ.1150.OR.IDA.EQ.1250.OR.IDA.EQ.2250) THEN
78 ELSEIF(IDA.EQ.2151) THEN
80 ELSEIF(IDA.EQ.1151.OR.IDA.EQ.1251.OR.IDA.EQ.2251) THEN
81 AMASS=5.641+0.171+0.04
83 AMASS=AMLEP(IFL2A)+AMLEP(IFL3A)-.03+.04*JSPIN
84 IF(IFL1.NE.0) AMASS=AMASS+AMLEP(IFL1A)
89 ELSEIF(IFL2.EQ.0) THEN
94 ELSEIF(IFL1.EQ.0) THEN
95 INDEX=INDEX-36*JSPIN-NQLEP
97 AMASS=(1-JSPIN)*AMMES0(INDEX)+JSPIN*AMMES1(INDEX)
102 INDEX=INDEX-109*JSPIN-36*NMES-NQLEP
104 AMASS=(1-JSPIN)*AMBAR0(INDEX)+JSPIN*AMBAR1(INDEX)
108 C Special hadrons - used only in B decays
110 500 IF(IDA.EQ.10121.OR.IDA.EQ.10111) THEN
112 ELSEIF(IDA.EQ.10131.OR.IDA.EQ.10231) THEN
114 ELSEIF(IDA.EQ.30131.OR.IDA.EQ.30231) THEN
116 ELSEIF(IDA.EQ.132) THEN
118 ELSEIF(IDA.EQ.232) THEN
120 ELSEIF(IDA.EQ.10110) THEN
122 ELSEIF(IDA.EQ.112) THEN
124 ELSEIF(IDA.EQ.10441) THEN
126 ELSEIF(IDA.EQ.20440) THEN
128 ELSEIF(IDA.EQ.20441) THEN
130 ELSEIF(IDA.EQ.20442) THEN