1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
| subroutine idmass(idi,amass)
dimension ammes0(15),ammes1(15),ambar0(30),ambar1(30)
dimension ambarnew(110),ammesnew(116)!gs
dimension amlep(52)
parameter ( nqlep=41,nmes=2)
c-c data amlep/.3,.3,.5,1.6,4.9,30.,-1.,-1.,0.,0.,
data amlep/.002,.005,.100,1.20,4.60,171.,-1.,-1.,0.,0.,0. !11
* ,.511003e-3 !12
* ,0.,.105661,0.,1.807,1.87656,2.8167,3.755,.49767,.49767, !21
* 100.3,100.3,100.5,101.6,104.9,130.,2*-1.,100.,0., !31
* 100.,100.005,100.,100.1,100.,101.8,2*-1.,100.,100., !41
* 80.385,125.7,8*0.,91.1876/ !W,higgs,Z0
c 0- meson mass table
data ammes0/.13499,.13957,.5479 !pi0,pi+-,eta
* ,.49368,.49761,.9578 !K+-, K0,etaprime
* ,1.8648,1.8696,1.968,2.984 !D0,D+-,Ds,etac
1 ,5.279,5.279,5.367,6.276,9.359/ !B+-,B0,Bs,Bc,etab
etc ....
c New particles meson mass table, the mass are put ine the same order at idtrafo !gs
data ammesnew/ 1.170,1.2751,1.2818,1.300,1.370,1.465,1.647, !112 -> 118 !7
* 1.6724,1.2295,1.23,1.3183,1.474,1.504,1.6888,1.720,1.732, !119 -> 229 !7+9
* 1.350,1.386,1.4264,1.453,1.518,1.525,1.562,1.724,1.2295,1.23, !332 -> 123 !16+10
* 1.3,1.3183,1.465,1.474,1.647,1.6724,1.6888,1.720,1.732, !124 -> 214 !26+9
* 1.816,1.909,1.982,2.001,2.090,0.67,1.272,1.403,1.414,1.425, !215 -> 136 !35+10
* 1.4256,1.46,1.58,1.65,1.717,1.773,1.776,1.816,1.83,1.945, !137 -> 318 !45+10
* 1.973,0.67,1.272,1.403,1.414,1.425,1.4356,1.46,1.58,1.65, !319 -> 322 !55+10
* 1.717,1.773,1.776,1.816,1.83,1.945,1.973,2.318,2.4223,2.43, !323 -> 144 !65+10
* 2.4626,2.4,2.4223,2.43,2.4601,2.3178,2.4596,2.5354,2.5719, !145 -> 345 !75+9
* 3.41475,3.51066,3.52538,3.55620,3.637,3.68609,3.77292,3.929, !442 -> 449 !84+8
* 9.8594,9.8928,9.8993,9.9122,10.02326,10.3552,10.5794,10.865, !552 -> 559 !92+8
* 5.698,5.7249,5.7469,5.961,5.698,5.7268,5.7469,5.977, !252 -> 155 !100+8
* 5.82878,5.8397,5.853,5*-1./ !352 -> 455 !108+8
etc ...
c entry
id=idi
amass=0.
if(idi.gt.10000)return
call idflav(id,ifl1,ifl2,ifl3,jspin,ind)
etc ...
c treatment for new mesons
if ( (ifl1.eq.0.and.jspin.ge.2)
. .or.idabs/10.eq.21
. .or.idabs/10.eq.31
. .or.idabs/10.eq.32) goto 600
c diquarks
if(id.ne.0.and.mod(id,100).eq.0) goto 400
if(iabs(ifl1).ge.5.or.iabs(ifl2).ge.5.or.iabs(ifl3).ge.5)
1 goto300
if(ifl2.eq.0) goto200
if(ifl1.eq.0) goto100
c baryons
ind=ind-109*jspin-36*nmes-nqlep
ind=ind-11
amass=(1-jspin)*ambar0(ind)+jspin*ambar1(ind)
return
c mesons
100 continue
ind=ind-36*jspin-nqlep
ind=ind-11
amass=(1-jspin)*ammes0(ind)+jspin*ammes1(ind)
return
c quarks and leptons (+deuteron, triton, alpha, Ks and Kl)
200 continue
amass=amlep(ind)
return
c b and t particles
300 continue
if(ifl1.eq.0)then !mesons
if(iabs(ifl3).eq.5.and.jspin.eq.0)then !bottom spin0 mesons
amass=ammes0(10+iabs(ifl2))
return
elseif(iabs(ifl3).eq.5.and.jspin.eq.1)then !bottom spin1 mesons
amass=ammes1(10+iabs(ifl2))
return
endif
endif
amass=amlep(iabs(ifl2))+amlep(iabs(ifl3))+1.07+.045*jspin
if(ifl1.ne.0) amass=amass+amlep(iabs(ifl1))
return
c diquarks
400 amass=amlep(iabs(ifl1))+amlep(iabs(ifl2))
return
etc ....
600 continue
if(idabs/10.eq.11)ixx=0
if(idabs/10.eq.22)ixx=8
if(idabs/10.eq.33)ixx=16
if(idabs/10.eq.12)ixx=24
if(idabs/10.eq.21)ixx=32
if(idabs/10.eq.13)ixx=40
if(idabs/10.eq.31)ixx=48
if(idabs/10.eq.23)ixx=56
if(idabs/10.eq.32)ixx=64
if(idabs/10.eq.14)ixx=72
if(idabs/10.eq.24)ixx=76
if(idabs/10.eq.34)ixx=80
if(idabs/10.eq.44)ixx=84
if(idabs/10.eq.55)ixx=92
if(idabs/10.eq.25)ixx=100
if(idabs/10.eq.15)ixx=104
if(idabs/10.eq.35)ixx=108
if(idabs/10.eq.45)ixx=112
ix=ixx+jspin-1
amass=ammesnew(ix)
return
!gs-end
end |
Partager