]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | *CMZ : 17/07/98 15.44.33 by Federico Carminati |
2 | *-- Author : | |
3 | C********************************************************************* | |
4 | ||
5 | SUBROUTINE LUNAME(KF,CHAU) | |
6 | ||
7 | C...Purpose: to give the particle/parton name as a character string. | |
8 | *KEEP,LUDAT1. | |
9 | COMMON /LUDAT1/ MSTU(200),PARU(200),MSTJ(200),PARJ(200) | |
10 | SAVE /LUDAT1/ | |
11 | *KEEP,LUDAT2. | |
12 | COMMON /LUDAT2/ KCHG(500,3),PMAS(500,4),PARF(2000),VCKM(4,4) | |
13 | SAVE /LUDAT2/ | |
14 | *KEEP,LUDAT4. | |
15 | COMMON /LUDAT4/ CHAF(500) | |
16 | SAVE /LUDAT4/ | |
17 | *KEND. | |
18 | CHARACTER CHAF*8 | |
19 | CHARACTER CHAU*16 | |
20 | ||
21 | C...Initial values. Charge. Subdivide code. | |
22 | CHAU=' ' | |
23 | KFA=IABS(KF) | |
24 | KC=LUCOMP(KF) | |
25 | IF(KC.EQ.0) RETURN | |
26 | KQ=LUCHGE(KF) | |
27 | KFLA=MOD(KFA/1000,10) | |
28 | KFLB=MOD(KFA/100,10) | |
29 | KFLC=MOD(KFA/10,10) | |
30 | KFLS=MOD(KFA,10) | |
31 | KFLR=MOD(KFA/10000,10) | |
32 | ||
33 | C...Read out root name and spin for simple particle. | |
34 | IF(KFA.LE.100.OR.(KFA.GT.100.AND.KC.GT.100)) THEN | |
35 | CHAU=CHAF(KC) | |
36 | LEN=0 | |
37 | DO 100 LEM=1,8 | |
38 | 100 IF(CHAU(LEM:LEM).NE.' ') LEN=LEM | |
39 | ||
40 | C...Construct root name for diquark. Add on spin. | |
41 | ELSEIF(KFLC.EQ.0) THEN | |
42 | CHAU(1:2)=CHAF(KFLA)(1:1)//CHAF(KFLB)(1:1) | |
43 | IF(KFLS.EQ.1) CHAU(3:4)='_0' | |
44 | IF(KFLS.EQ.3) CHAU(3:4)='_1' | |
45 | LEN=4 | |
46 | ||
47 | C...Construct root name for heavy meson. Add on spin and heavy flavour. | |
48 | ELSEIF(KFLA.EQ.0) THEN | |
49 | IF(KFLB.EQ.5) CHAU(1:1)='B' | |
50 | IF(KFLB.EQ.6) CHAU(1:1)='T' | |
51 | IF(KFLB.EQ.7) CHAU(1:1)='L' | |
52 | IF(KFLB.EQ.8) CHAU(1:1)='H' | |
53 | LEN=1 | |
54 | IF(KFLR.EQ.0.AND.KFLS.EQ.1) THEN | |
55 | ELSEIF(KFLR.EQ.0.AND.KFLS.EQ.3) THEN | |
56 | CHAU(2:2)='*' | |
57 | LEN=2 | |
58 | ELSEIF(KFLR.EQ.1.AND.KFLS.EQ.3) THEN | |
59 | CHAU(2:3)='_1' | |
60 | LEN=3 | |
61 | ELSEIF(KFLR.EQ.1.AND.KFLS.EQ.1) THEN | |
62 | CHAU(2:4)='*_0' | |
63 | LEN=4 | |
64 | ELSEIF(KFLR.EQ.2) THEN | |
65 | CHAU(2:4)='*_1' | |
66 | LEN=4 | |
67 | ELSEIF(KFLS.EQ.5) THEN | |
68 | CHAU(2:4)='*_2' | |
69 | LEN=4 | |
70 | ENDIF | |
71 | IF(KFLC.GE.3.AND.KFLR.EQ.0.AND.KFLS.LE.3) THEN | |
72 | CHAU(LEN+1:LEN+2)='_'//CHAF(KFLC)(1:1) | |
73 | LEN=LEN+2 | |
74 | ELSEIF(KFLC.GE.3) THEN | |
75 | CHAU(LEN+1:LEN+1)=CHAF(KFLC)(1:1) | |
76 | LEN=LEN+1 | |
77 | ENDIF | |
78 | ||
79 | C...Construct root name and spin for heavy baryon. | |
80 | ELSE | |
81 | IF(KFLB.LE.2.AND.KFLC.LE.2) THEN | |
82 | CHAU='Sigma ' | |
83 | IF(KFLC.GT.KFLB) CHAU='Lambda' | |
84 | IF(KFLS.EQ.4) CHAU='Sigma*' | |
85 | LEN=5 | |
86 | IF(CHAU(6:6).NE.' ') LEN=6 | |
87 | ELSEIF(KFLB.LE.2.OR.KFLC.LE.2) THEN | |
88 | CHAU='Xi ' | |
89 | IF(KFLA.GT.KFLB.AND.KFLB.GT.KFLC) CHAU='Xi''' | |
90 | IF(KFLS.EQ.4) CHAU='Xi*' | |
91 | LEN=2 | |
92 | IF(CHAU(3:3).NE.' ') LEN=3 | |
93 | ELSE | |
94 | CHAU='Omega ' | |
95 | IF(KFLA.GT.KFLB.AND.KFLB.GT.KFLC) CHAU='Omega''' | |
96 | IF(KFLS.EQ.4) CHAU='Omega*' | |
97 | LEN=5 | |
98 | IF(CHAU(6:6).NE.' ') LEN=6 | |
99 | ENDIF | |
100 | ||
101 | C...Add on heavy flavour content for heavy baryon. | |
102 | CHAU(LEN+1:LEN+2)='_'//CHAF(KFLA)(1:1) | |
103 | LEN=LEN+2 | |
104 | IF(KFLB.GE.KFLC.AND.KFLC.GE.4) THEN | |
105 | CHAU(LEN+1:LEN+2)=CHAF(KFLB)(1:1)//CHAF(KFLC)(1:1) | |
106 | LEN=LEN+2 | |
107 | ELSEIF(KFLB.GE.KFLC.AND.KFLB.GE.4) THEN | |
108 | CHAU(LEN+1:LEN+1)=CHAF(KFLB)(1:1) | |
109 | LEN=LEN+1 | |
110 | ELSEIF(KFLC.GT.KFLB.AND.KFLB.GE.4) THEN | |
111 | CHAU(LEN+1:LEN+2)=CHAF(KFLC)(1:1)//CHAF(KFLB)(1:1) | |
112 | LEN=LEN+2 | |
113 | ELSEIF(KFLC.GT.KFLB.AND.KFLC.GE.4) THEN | |
114 | CHAU(LEN+1:LEN+1)=CHAF(KFLC)(1:1) | |
115 | LEN=LEN+1 | |
116 | ENDIF | |
117 | ENDIF | |
118 | ||
119 | C...Add on bar sign for antiparticle (where necessary). | |
120 | IF(KF.GT.0.OR.LEN.EQ.0) THEN | |
121 | ELSEIF(KFA.GT.10.AND.KFA.LE.40.AND.KQ.NE.0) THEN | |
122 | ELSEIF(KFA.EQ.89.OR.(KFA.GE.91.AND.KFA.LE.99)) THEN | |
123 | ELSEIF(KFA.GT.100.AND.KFLA.EQ.0.AND.KQ.NE.0) THEN | |
124 | ELSEIF(MSTU(15).LE.1) THEN | |
125 | CHAU(LEN+1:LEN+1)='~' | |
126 | LEN=LEN+1 | |
127 | ELSE | |
128 | CHAU(LEN+1:LEN+3)='bar' | |
129 | LEN=LEN+3 | |
130 | ENDIF | |
131 | ||
132 | C...Add on charge where applicable (conventional cases skipped). | |
133 | IF(KQ.EQ.6) CHAU(LEN+1:LEN+2)='++' | |
134 | IF(KQ.EQ.-6) CHAU(LEN+1:LEN+2)='--' | |
135 | IF(KQ.EQ.3) CHAU(LEN+1:LEN+1)='+' | |
136 | IF(KQ.EQ.-3) CHAU(LEN+1:LEN+1)='-' | |
137 | IF(KQ.EQ.0.AND.(KFA.LE.22.OR.LEN.EQ.0)) THEN | |
138 | ELSEIF(KQ.EQ.0.AND.(KFA.GE.81.AND.KFA.LE.100)) THEN | |
139 | ELSEIF(KFA.GT.100.AND.KFLA.EQ.0.AND.KFLB.EQ.KFLC.AND. | |
140 | &KFLB.NE.1) THEN | |
141 | ELSEIF(KQ.EQ.0) THEN | |
142 | CHAU(LEN+1:LEN+1)='0' | |
143 | ENDIF | |
144 | ||
145 | RETURN | |
146 | END |