]>
Commit | Line | Data |
---|---|---|
e74335a4 | 1 | * $Id$ |
2 | ||
3 | C********************************************************************* | |
4 | ||
5 | FUNCTION ULMASS_HIJING(KF) | |
6 | ||
7 | C...Purpose: to give the mass of a particle/parton. | |
8 | #include "ludat1_hijing.inc" | |
9 | #include "ludat2_hijing.inc" | |
10 | ||
11 | C...Reset variables. Compressed code. | |
12 | ULMASS_HIJING=0. | |
13 | KFA=IABS(KF) | |
14 | KC=LUCOMP_HIJING(KF) | |
15 | IF(KC.EQ.0) RETURN | |
16 | PARF(106)=PMAS(6,1) | |
17 | PARF(107)=PMAS(7,1) | |
18 | PARF(108)=PMAS(8,1) | |
19 | ||
20 | C...Guarantee use of constituent masses for internal checks. | |
21 | IF((MSTJ(93).EQ.1.OR.MSTJ(93).EQ.2).AND.KFA.LE.10) THEN | |
22 | ULMASS_HIJING=PARF(100+KFA) | |
23 | IF(MSTJ(93).EQ.2) ULMASS_HIJING=MAX(0.,ULMASS_HIJING-PARF(121)) | |
24 | ||
25 | C...Masses that can be read directly off table. | |
26 | ELSEIF(KFA.LE.100.OR.KC.LE.80.OR.KC.GT.100) THEN | |
27 | ULMASS_HIJING=PMAS(KC,1) | |
28 | ||
29 | C...Find constituent partons and their masses. | |
30 | ELSE | |
31 | KFLA=MOD(KFA/1000,10) | |
32 | KFLB=MOD(KFA/100,10) | |
33 | KFLC=MOD(KFA/10,10) | |
34 | KFLS=MOD(KFA,10) | |
35 | KFLR=MOD(KFA/10000,10) | |
36 | PMA=PARF(100+KFLA) | |
37 | PMB=PARF(100+KFLB) | |
38 | PMC=PARF(100+KFLC) | |
39 | ||
40 | C...Construct masses for various meson, diquark and baryon cases. | |
41 | IF(KFLA.EQ.0.AND.KFLR.EQ.0.AND.KFLS.LE.3) THEN | |
42 | IF(KFLS.EQ.1) PMSPL=-3./(PMB*PMC) | |
43 | IF(KFLS.GE.3) PMSPL=1./(PMB*PMC) | |
44 | ULMASS_HIJING=PARF(111)+PMB+PMC+PARF(113)*PARF(101)**2*PMSPL | |
45 | ELSEIF(KFLA.EQ.0) THEN | |
46 | KMUL=2 | |
47 | IF(KFLS.EQ.1) KMUL=3 | |
48 | IF(KFLR.EQ.2) KMUL=4 | |
49 | IF(KFLS.EQ.5) KMUL=5 | |
50 | ULMASS_HIJING=PARF(113+KMUL)+PMB+PMC | |
51 | ELSEIF(KFLC.EQ.0) THEN | |
52 | IF(KFLS.EQ.1) PMSPL=-3./(PMA*PMB) | |
53 | IF(KFLS.EQ.3) PMSPL=1./(PMA*PMB) | |
54 | ULMASS_HIJING=2.*PARF(112)/3.+PMA+PMB+PARF(114)*PARF(101)**2 | |
55 | $ *PMSPL | |
56 | IF(MSTJ(93).EQ.1) ULMASS_HIJING=PMA+PMB | |
57 | IF(MSTJ(93).EQ.2) ULMASS_HIJING=MAX(0.,ULMASS_HIJING-PARF(122) | |
58 | $ -2.*PARF(112)/3.) | |
59 | ELSE | |
60 | IF(KFLS.EQ.2.AND.KFLA.EQ.KFLB) THEN | |
61 | PMSPL=1./(PMA*PMB)-2./(PMA*PMC)-2./(PMB*PMC) | |
62 | ELSEIF(KFLS.EQ.2.AND.KFLB.GE.KFLC) THEN | |
63 | PMSPL=-2./(PMA*PMB)-2./(PMA*PMC)+1./(PMB*PMC) | |
64 | ELSEIF(KFLS.EQ.2) THEN | |
65 | PMSPL=-3./(PMB*PMC) | |
66 | ELSE | |
67 | PMSPL=1./(PMA*PMB)+1./(PMA*PMC)+1./(PMB*PMC) | |
68 | ENDIF | |
69 | ULMASS_HIJING=PARF(112)+PMA+PMB+PMC+PARF(114)*PARF(101)**2 | |
70 | $ *PMSPL | |
71 | ENDIF | |
72 | ENDIF | |
73 | ||
74 | C...Optional mass broadening according to truncated Breit-Wigner | |
75 | C...(either in m or in m^2). | |
76 | IF(MSTJ(24).GE.1.AND.PMAS(KC,2).GT.1E-4) THEN | |
77 | IF(MSTJ(24).EQ.1.OR.(MSTJ(24).EQ.2.AND.KFA.GT.100)) THEN | |
78 | ULMASS_HIJING=ULMASS_HIJING+0.5*PMAS(KC,2)*TAN((2. | |
79 | $ *RLU_HIJING(0)-1.)*ATAN(2.*PMAS(KC,3)/PMAS(KC,2))) | |
80 | ELSE | |
81 | PM0=ULMASS_HIJING | |
82 | PMLOW=ATAN((MAX(0.,PM0-PMAS(KC,3))**2-PM0**2)/ | |
83 | & (PM0*PMAS(KC,2))) | |
84 | PMUPP=ATAN((PM0+PMAS(KC,3))**2-PM0**2)/(PM0*PMAS(KC,2)) | |
85 | ULMASS_HIJING=SQRT(MAX(0.,PM0**2+PM0*PMAS(KC,2)*TAN(PMLOW+ | |
86 | & (PMUPP-PMLOW)*RLU_HIJING(0)))) | |
87 | ENDIF | |
88 | ENDIF | |
89 | MSTJ(93)=0 | |
90 | ||
91 | RETURN | |
92 | END |