1 C*********************************************************************
2 C*********************************************************************
6 C* The Lund Monte Carlo for Jet Fragmentation and e+e- Physics **
8 C* JETSET version 7.4 **
10 C* Torbjorn Sjostrand **
11 C* Department of theoretical physics 2 **
12 C* University of Lund **
13 C* Solvegatan 14A, S-223 62 Lund, Sweden **
14 C* E-mail torbjorn@thep.lu.se **
15 C* phone +46 - 46 - 222 48 16 **
17 C* LUSHOW is written together with Mats Bengtsson **
19 C* The latest program version and documentation is found on WWW **
20 C* http://thep.lu.se/tf2/staff/torbjorn/Welcome.html **
22 C* Copyright Torbjorn Sjostrand and CERN, Geneva 1993 **
24 C*********************************************************************
25 C*********************************************************************
27 C List of subprograms in order of appearance, with main purpose *
28 C (S = subroutine, F = function, B = block data) *
30 C S LU1ENT to fill one entry (= parton or particle) *
31 C S LU2ENT to fill two entries *
32 C S LU3ENT to fill three entries *
33 C S LU4ENT to fill four entries *
34 C S LUJOIN to connect entries with colour flow information *
35 C S LUGIVE to fill (or query) commonblock variables *
36 C S LUEXEC to administrate fragmentation and decay chain *
37 C S LUPREP to rearrange showered partons along strings *
38 C S LUSTRF to do string fragmentation of jet system *
39 C S LUINDF to do independent fragmentation of one or many jets *
40 C S LUDECY to do the decay of a particle *
41 C S LUKFDI to select parton and hadron flavours in fragm *
42 C S LUPTDI to select transverse momenta in fragm *
43 C S LUZDIS to select longitudinal scaling variable in fragm *
44 C S LUSHOW to do timelike parton shower evolution *
45 C S LUBOEI to include Bose-Einstein effects (crudely) *
46 C F ULMASS to give the mass of a particle or parton *
47 C S LUNAME to give the name of a particle or parton *
48 C F LUCHGE to give three times the electric charge *
49 C F LUCOMP to compress standard KF flavour code to internal KC *
50 C S LUERRM to write error messages and abort faulty run *
51 C F ULALEM to give the alpha_electromagnetic value *
52 C F ULALPS to give the alpha_strong value *
53 C F ULANGL to give the angle from known x and y components *
54 C F RLU to provide a random number generator *
55 C S RLUGET to save the state of the random number generator *
56 C S RLUSET to set the state of the random number generator *
57 C S LUROBO to rotate and/or boost an event *
58 C S LUEDIT to remove unwanted entries from record *
59 C S LULIST to list event record or particle data *
60 C S LULOGO to write a logo for JETSET and PYTHIA *
61 C S LUUPDA to update particle data *
62 C F KLU to provide integer-valued event information *
63 C F PLU to provide real-valued event information *
64 C S LUSPHE to perform sphericity analysis *
65 C S LUTHRU to perform thrust analysis *
66 C S LUCLUS to perform three-dimensional cluster analysis *
67 C S LUCELL to perform cluster analysis in (eta, phi, E_T) *
68 C S LUJMAS to give high and low jet mass of event *
69 C S LUFOWO to give Fox-Wolfram moments *
70 C S LUTABU to analyze events, with tabular output *
72 C S LUEEVT to administrate the generation of an e+e- event *
73 C S LUXTOT to give the total cross-section at given CM energy *
74 C S LURADK to generate initial state photon radiation *
75 C S LUXKFL to select flavour of primary qqbar pair *
76 C S LUXJET to select (matrix element) jet multiplicity *
77 C S LUX3JT to select kinematics of three-jet event *
78 C S LUX4JT to select kinematics of four-jet event *
79 C S LUXDIF to select angular orientation of event *
80 C S LUONIA to perform generation of onium decay to gluons *
82 C S LUHEPC to convert between /LUJETS/ and /HEPEVT/ records *
83 C S LUTEST to test the proper functioning of the package *
84 C B LUDATA to contain default values and particle data *
86 C*********************************************************************
88 SUBROUTINE LU1ENT(IP,KF,PE,THE,PHI)
90 C...Purpose: to store one parton/particle in commonblock LUJETS.
91 COMMON/LUJETS/N,K(4000,5),P(4000,5),V(4000,5)
92 COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
93 COMMON/LUDAT2/KCHG(500,3),PMAS(500,4),PARF(2000),VCKM(4,4)
94 SAVE /LUJETS/,/LUDAT1/,/LUDAT2/
98 IF(MSTU(12).GE.1) CALL LULIST(0)
100 IF(IPA.GT.MSTU(4)) CALL LUERRM(21,
101 &'(LU1ENT:) writing outside LUJETS memory')
103 IF(KC.EQ.0) CALL LUERRM(12,'(LU1ENT:) unknown flavour code')
105 C...Find mass. Reset K, P and V vectors.
107 IF(MSTU(10).EQ.1) PM=P(IPA,5)
108 IF(MSTU(10).GE.2) PM=ULMASS(KF)
115 C...Store parton/particle in K and P vectors.
117 IF(IP.LT.0) K(IPA,1)=2
121 PA=SQRT(P(IPA,4)**2-P(IPA,5)**2)
122 P(IPA,1)=PA*SIN(THE)*COS(PHI)
123 P(IPA,2)=PA*SIN(THE)*SIN(PHI)
126 C...Set N. Optionally fragment/decay.
128 IF(IP.EQ.0) CALL LUEXEC