当前位置:首页 >> >>

Monte Carlo Program KoralW 1.42 for All Four-Fermion Final States in e+e

CERN-TH/98-242 UTHEP-98-0702

arXiv:hep-ph/9906277v1 7 Jun 1999

Monte Carlo Program KoralW 1.42 for All Four-Fermion Final States in e+e? Collisions?
S. Jadacha,b , W. Placzeke,a , M. Skrzypeka,b,? , B.F.L. Warda,c,d and Z. W?sb,a,? a a CERN, Theory Division, CH-1211 Geneva 23, Switzerland, b Institute of Nuclear Physics, ul. Kawiory 26a, 30-055 Cracow, Poland, c Department of Physics and Astronomy, The University of Tennessee, Knoxville, Tennessee 37996-1200, d SLAC, Stanford University, Stanford, California 94309, e Institute of Computer Science, Jagellonian University, ul. Nawojki 11, Cracow, Poland

Abstract The Monte Carlo program KoralW version 1.42 is presented. It generates all four-fermion ?nal states with multibranch dedicated Monte Carlo pre-samplers and complete, massive, Born matrix elements. The presamplers cover the entire phase space. Multiphoton bremsstrahlung is implemented in the ISR approximation within the YFS formulation with the O(α3 ) leading-log matrix element. The anomalous W W V couplings are implemented in CC03 approximation. The standard decay libraries (JETSET, PHOTOS, TAUOLA) are interfaced. The semi-analytical CC03-type code KorWan for di?erential and total cross-sections is included.

Computer Physics Communications 119 (1999) 1
? Work supported in part by Polish Government grants KBN 2P03B08414, KBN 2P03B14715, the US DoE contracts DE-FG05-91ER40627 and DE-AC03-76SF00515, the Maria Sklodowska-Curie Joint Fund II PAA/DOE-97-316, and the Polish-French Collaboration within IN2P3 through LAPP Annecy. ? Supported at the time of performing part of this study by a stipend within the EU grant no ERBCIPDCT940016 at the Inst. f¨r Theoretische Physik, Karlsruhe Universit¨t, Karlsruhe, Germany. u a

CERN-TH/98-242 UTHEP-98-0702 July 1998

NEW VERSION SUMMARY Title of the program: KoralW, version 1.42. Reference to original program: Comput. Phys. Commun. 94 (1996) 215. Authors of original program: M. Skrzypek, S. Jadach, W. Placzek and Z. W?s a Computer: any computer with the FORTRAN 77 compiler and the UNIX operating system Operating system: UNIX (program tested under AIX 4.x, HP-UX 10.x), Linux Programming language used: FORTRAN 77 High-speed storage required: < 10 MB No. of cards in combined program and test deck: about 30,000 plus 11,261+5,970+2,264 of physics generators libraries (JETSET+TAUOLA+PHOTOS) plus 369,331 of an external matrix element library (GRACE). Keywords: Radiative corrections, initial-state radiation (ISR), leading-logarithms (LL) approximation, heavy boson W , 4-fermion processes, Monte Carlo (MC) simulation/generation, quantum electrodynamics (QED), quantum chromodynamics (QCD), Yennie-Frautschi-Suura (YFS) exponentiation, Standard Model (SM), LEP2. Nature of the physical problem: The W -pair production and decay is and will be used as an important data point for precise tests of the standard electroweak theory at LEP2 and higher energies. The e?ects due to background processes, QED bremsstrahlung and apparatus e?ciency have to be subtracted from the data. The program deals with all e+ e? processes leading to 4-fermion ?nal states accompanied with multiphoton initialstate radiation. It also includes the e?ects of the Coulomb correction, ‘naive’ QCD, anomalous couplings, quarks hadronization, τ decays, and photon radiation in leptonic decays. Method of solution: The Monte Carlo methods are used to simulate all 4-fermion ?nalstate processes in the e+ e? collisions in the presence of multiphoton initial-state radiation. The latter is described in the framework of the YFS exclusive exponentiation. The W pair production is included in a ‘natural’ way as a subset of the Feynman diagrams for the above processes, but it can also be generated exclusively by switching to the so-called CC03 process. The Monte Carlo generation is done on an event-by-event basis, with constant or variable weights, where an event is represented by ?avours and four-momenta of all respective particles – supplemented with a collection of weights, if the variable weight option is chosen. After the event generation is completed the program provides the cross sections together with their statistical errors for all the processes involved. Any experimental cuts and apparatus e?ciencies may be introduced easily by rejecting some of the generated events. Restrictions on the complexity of the problem: Only processes with 4-f ermion ?nal states are considered. QED radiative corrections are implemented in terms of multiphoton ISR in the YFS Monte Carlo framework with the O(α3 ) LL-type matrix element. For the CC03 subset of diagrams the Coulomb correction for the intermediate W W states is also included. The ?nal-state QED radiation is generated for charged leptons with the help of the program PHOTOS in the LL approximation (up to two photons). QCD 1

e?ects are included in the so-called “naive QCD” approximation. A part of electroweak corrections is incorporated in the “improved Born approximation” (through appropriate renormalization scheme). Anomalous triple gauge boson couplings are implemented only in the CC03 subset of diagrams (i.e. the W -pair production). Quadruple gauge boson couplings are not implemented. The τ -decays and quark hadronization are performed, respectively, with the help of the dedicated packages TAUOLA and JETSET. Typical running time: On IBM PowerPC M43P240 (266 MHz, 65 CERN units) installation one needs: (a) 2.5 sec per 1000 constant-weight events and 0.6 sec per 1000 variable-weight events for CC03 matrix element and (b) 12500 sec per 1000 constantweight events and 6 sec per 1000 variable-weight events for a complete 4-fermion matrix element (GRACE). These results are for a default/recommended setting of input parameters but with all decay libraries switched OFF.




As LEP2 approaches the 200 GeV centre-of-mass energy regime, the need for reliable calculations of the so-called signal CC03 and general background processes in e+ e? → ? ? W + W ? → f1 f2 f3 f4 becomes more and more immediate. Moreover, with the added need for the accommodation of arbitrary detector cuts in these calculations, the only practical solution is the Monte Carlo event generator realization of the calculation, wherein these cuts may be imposed on an event-by-event basis. In the present paper, we provide, in version 1.42 of the program KoralW [1] such an event generator in which all relevant 4-f ermion processes, both charged-current (CC) and neutral-current (NC) ones, in ? ? e+ e? → f1 f2 f3 f4 , in the LEP2 200 GeV regime are realized in the presence of the YFS [2] exponentiated initial-state multiple photon radiation (ISR). More precisely, in the W W sector this version of the program has as its ultimate objective the sub-per-cent precision regime of 0.5% as called for in the LEP2 Workshop Report of Ref. [3]. Thus, when compared with version 1.02 [1], the inclusion of the 4? ? f ermion background processes for the e+ e? → W + W ? → f1 f2 f3 f4 signal is an essential improvement. This is described in detail in Section 3. In addition, new physics anomalous couplings are now featured for the CC03 class of graphs – these were absent from version 1.02. The ISR is now calculated through the O(α3 ) LL in the YFS exponentiated framework; in Ref. [1], it was only calculated through the O(α2 ) LL in the same framework. The Coulomb correction is now implemented in a way that is more reliable near the threshold, following the authors of Ref. [4]. The leading QCD correction, as well as the CKM matrix, is now featured following Ref. [5]; in version 1.02, these corrections are absent. Two other e?ects featured in the current version, which are missing in version 1.02, are the colour reconnection e?ect, which we model after Ref. [6], and the Bose-Einstein e?ect, which we take after the authors of Ref. [7]. In addition, three choices of renormalization scheme are available. Considerable technical precision checks of the program have been made, using semi-analytical results as described below, so that we have established the technical precision of the program at the level of 0.2%. The primary missing ingredient for the ?nal step to a total precision tag of 0.5% is the implementation of the exact O(α) electroweak corrections for the CC03 class of graphs in the YFS exponentiated framework, with the consequent intermediate-state n(γ) soft radiative e?ects, as we have already published using the program YFSWW3-1.11 in Ref. [8]. These e?ects will be incorporated in a later version of KoralW [9]. As a result of the studies done in Refs. [8, 10, 11] and for the preparation the current paper, we can already safely set, in the current version 1.42 of KoralW, the precision tag for the cross section normalization, ? ? for the process e+ e? → W + W ? → f1 f2 f3 f4 , to 2% in the LEP2 energy regime, where it is understood that a cut of some type is used to de?ne the two W ’s. The same 2% precision tag should remain valid also for the Z-Z physics, even though a formal study is missing. This, however, may not be true in general 4-f ermion ?nal-state processes. Here, the precision may depend very much on a particular ?nal state under consideration, a choice of physical observables, experimental cuts, events selection criteria, etc. Thus, it requires a more dedicated study. The most problematic are the processes with electron(s) 3

and/or positron(s) in the ?nal state, particularly when regions of small scattering angles are allowed (e.g. selection criteria allow some of the particles to be lost in the beam pipe) and/or events with high-pT photons are accepted. Various problems that can be encountered there are discussed in some detail in Subsections 3.2.4 and 3.3.2. Nevertheless, at the Born level, our program can be used in all regions of the phase space, including the most singular ones. Also, an important technical step has been achieved, which is indispensable for a reliable solution of bremsstrahlung implementation in the general case. Let us also point out that contributions of the 4-f ermion processes from some regions of the phase space are implicitly included in 2-f ermion generators as a part of radiative corrections (analytically cancelled out with the leading O(α2 ) virtual corrections). One needs to be cautious about this point so as to avoid double counting. The outline of the paper is as follows. We present in detail the overall structure of the program in Section 2. In Section 3, we fully describe the 4-fermion phase-space generation and the corresponding matrix elements used in the calculations of the program, the generation of the energy distribution due to ISR in the program, and the semi-analytical CC03 distributions contained in the program. Section 4 describes the practical use of the program, so that it should help the user to take advantage of the program’s capabilities in an e?cient and easy manner. Appendices contain useful technical information on the construction and use of the program, its matrix elements, its input/output, etc.


Structure of the Program

In this section we provide the reader with a brief guide of the KoralW program. We will describe its main routines, libraries and interfaces. We want to note here that the program, in its distribution version, is prepared for a UNIX-type operating system that supports directories and make command. Namely, we have divided the source code into a number of subdirectories, in order to make the structure more transparent and easier to handle. Also the structure of Makefile-s is provided, for easier compilation, as well as some other auxiliary functions (e.g. clean-up). This structure, which is in fact not very complicated, can be in principle avoided and code can be transformed into a single FORTRAN ?le. Some care must be taken while handling the ampli4f.grc.all routines where certain include ?les with the same name, have di?erent contents in di?erent subdirectories. Also, note that the following three directories: ampli4f, ampli4f.grc.all and ampli4f.grc.all-old are mutually exclusive, i.e. they contain three versions of the same routines and only one at a time can be used by the program.


ampli4f—Template of the Library

Dummy directory for the external matrix element library, to be ?lled in by the user. The front-end routines ampini and amp4f are expected by KoralW to be put here by the user. We expect the user to replace this directory with his/her own code, e.g. with their favourite parametrization of anomalous couplings. 4


ampli4f.grc.all—All Four-Fermion Library

An implemented library of external matrix elements for all four-fermion ?nal states has been generated by the GRACE v. 2 package [12]. This dedicated code has been provided for KoralW with the courtesy of the Minami-Tateya Group of KEK. The directory amp4f contains routines for the actual computation of matrix elements. The auxiliary library is located in the directory channel. The routines speci?c to KoralW, which transmit and reset parameters and dip-switches of GRACE routines are located in the directory grc4f init. Finally, the front-end routines ampini and amp4f are in the amp4f directory.


ampli4f.grc.all-old—Old CC-all Library

An old version1 of the library of external matrix elements for all W W -type ?nal states, generated by the GRACE v. 1 package [13]. This library contains all the scripts capable of building the FORTRAN code from scratch with the help of the symbolic package GRACE. The scripts are located in the subdirectory grace4f init. All of the FORTRAN ?les and directories created by the scripts can be identi?ed by the word expression “.auto.” in their names. Similarly, the template ?les used by the scripts are marked with the word expression “.template.”.


demo—Demonstration Programs

This subdirectory contains two demonstration subprograms: KWdemo and KWdemo2. Generally the user is supposed to provide his/her own main program. Nevertheless the two subprograms quoted here are simple examples of a main program. KWdemo is the ?rst of them. It has a double role as a useful template and as a ?rst cross-check that the MC generator KoralW runs correctly on a given installation. The essential part of this program is a loop in which a series of KoralW events is generated. It also reads the input from a disk ?le, but no histogramming is performed and most of output is from the generator itself. At the end of the program, a MC integrated cross section of KoralW is compared with a semi-analytical result from KorWan. The program is compiled/linked and executed, with the help of the make?le, for two data sets, as follows: make KWdemoCC03 and make KWdemoGRCall. The two data sets for the two separate runs are: ? demo.14x/190gev/KWdemo.input.CC03 for which the CC03 “signal” process is simulated (internal matrix element), the ISR is on, with hadronization, tau decays, no CKM mixing, weighted events. ? KWdemo.input.GRCall for all four-fermion matrix elements form GRACE (external ME), hadronization, tau decays, weighted events.

See Sect. 3.2.3 for explanation why we have decided to keep this “old” package.


KWdemo2 is the second example. Apart from the loop in which series of KoralW events is produced the example of histogramming with proper normalization is also included. It is done in the subprogram ROBOL. The program is compiled/linked and executed, with the help of the make?le, for two data sets, as follows: make KWdemo2HADR and make KWdemo2SEMI. The two data sets provided for the two separate runs are: ? KWdemo2.input.HADR CC03 “signal” process is simulated, (internal matrix element), the ISR is on, all four-quark channels only – selected with Umask matrix (see Appendix B for a de?nition), WtMain = 1 events. ? KWdemo2.input.SEMI CC03 “signal” process is simulated (internal matrix element), the ISR is on, anomalous triple gauge boson coupling constants are activated, see data ?le, semi-leptonic channel only – selected with the Umask matrix. Variableweight events are generated and analysed.



A handy FORTRAN histogramming package, GlibK [14], is provided in this directory. It is used by KoralW both for hard-coded internal bookkeeping and for some optional “external” tests. The package is similar in its usage to the classic HBOOK package of CERNLIB.


interfaces—Interfaces to the Libraries

Interfaces to external libraries are collected in this directory. 1. tohep ?lls in the /HEPEVT/ common block, decays τ leptons (with TAUOLA) and generates bremsstrahlung in W decays as well as secondary decays (with PHOTOS). 2. tohad does the hadronization (with the help of JETSET) along with necessary colour (re)connection. 3. The interface to the external matrix elements is provided by the routines ampinw and ampext. The ?rst performs the necessary initializations. It calls the user-supplied initialization routine ampini. Some additional parameters (apart from xpar) can be reached by the user with the help of masow and kwparm2 routines. The ampext transmits to KoralW the value of the external matrix element that it calculates by a call to the user-supplied routine amp4f. It also allows, with the help of the dip-switch key cms eff, choosing the four-vectors supplied for this calculation to be in the LAB or e?ective CMS (default) frames.


kwlund—JETSET and PHOTOS libraries

JETSET v. 7.4 [15] and PHOTOS [16] are located here. Note that the common block /HEPEVT/ is expected to contain single-precision (REAL*4) variables. 6


model—Matrix Elements

The “model” weights are calculated here. 1. The CC03 matrix element is calculated by wwborn. It takes as an input massive four-vectors of ?nal fermions (assumed to be in their rest frame with beams along the z-axis, e? in the +z direction). Next, it “reduces” these four-vectors to the massless ones2 in three ways. The “sophisticated” method, which reconstructs angles (invkin) and rebuilds four-vectors with the same angles and zero masses (kineww). The next method simply rescales the three-momenta, thus breaking the overall momentum conservation. The third provided option is “no reduction at all”. These massless four-vectors are transmitted to wwborn massless that does the actual calculation with the help of the wwprod and wdecay routines. If anomalous couplings are requested the wwamgc routine is called instead of wwprod. 2. The ISR photonic corrections (the so-called beta-functions) up to the third order are provided by the routine betar, which in turn calls the d isr* routines to construct the actual real and virtual bremsstrahlung contributions. 3. The Coulomb correction is located in culmc routine. It is used by Monte Carlo routines. Semi-analytical routines have an identical correction implemented in the culsan routine in semian directory.


semian—Semi-analytical Routines

This directory contains a package for semi-analytical calculations. 1. The total cross section σ, with or without ISR, is provided by the korwan routine. For the di?erential dσ/d log v it uses the yfspho function. For the total σ with ISR, korwan integrates yfspho and, in the case of no radiation, σ is provided by the function xsmuta; this in turn integrates the d1muta, which integrates d2muta, the actual two-dimensional di?erential cross-section. The function yfspho provides various kinds of one-dimensional photonic distributions dσ/dv (with soft residual subtracted) or dσ/d log v. It uses xsmuta as well. 2. The one-dimensional distribution of the single-W invariant mass is provided by the s1wan function. 3. The two-dimensional distribution of the double-W invariant mass is provided by the s1s2wan function. √ √ 4. The average mass, (1/σ) dvds1 ds2 ( s1 + s2 ? 2MW )dσ/(dvds1ds2 ), is calculated by the mavrg routine with the help of korwan with negative s-variable input parameter.

Note that for the CC-all and NC-all modes the fully massive matrix element is used, see Sect. 3.2.2.


√ 5. The average mass loss, ( s/2)(1/σ) dv v dσ/dv, is calculated by the mloss routine with the help of korwan with negative keypho input parameter.


tauola—TAUOLA library

It is the directory with the TAUOLA library [17] for simulation of τ -decays. Note that, as usual, in the distribution version of TAUOLA the parameters in the τ -decay modes are not adjusted appropriately. We recommend that user replaces this version of TAUOLA by the version of his/her own collaboration3 .


korww—“Central Processing Unit”

This directory contains the actual Monte Carlo event generator. Subprograms used directly by the user are the following: ? KW ReaDataX – the subprogram used to read, from the disk ?le, the default input data of KoralW and subsequently the data of the user into the array xpar at the very beginning of the use of KoralW. (This subprogram did not exist in the version 1.41.) ? KW Initialize – the subprogram that does all initializations of internal variables – it calls several initializers of the main internal modules of the generator, such as karlud(-1,...), and of TAUOLA and the external matrix element. It prints out directly or indirectly all the input parameters. (This subprogram replaces the koralw(-1,xpar,npar) entry in version 1.41.) ? KW Make – the most important subprogram of KoralW. It generates single MC events. Functionally it is the high-level management subprogram in the event generation. It invokes: 1. karlud, which provides the four-momenta of the outgoing fermions and the ISR photons along with the value of the crude distribution, 2. KW model 4f, which computes the Born matrix elements either CC03 or CC/NCall, and all additional e?ects requested by the user, e.g. anomalous couplings and/or the Coulomb correction, 3. betar, which calculates the QED ISR corrections up to third order, 4. tohep, tohad, the programs from TAUOLA, PHOTOS and JETSET libraries, which perform, respectively, τ -decays, generation of bremsstrahlung in W and τ decays, and hadronization. KW Make also decides about the rejection of an event in the case of a constant-weight event, or of a semi-constant-weight event.

In case it is impossible, please contact the authors.


? KW Finalize does all ?nal bookkeeping, including the calculation of the integrated (total) cross section. It prints a summary output on all series of generated MC events. (This subprogram replaces the koralw(1,xpar,npar) entry in version 1.41.) The other important internal units of the generator are: ? karlud The routine karlud manages the actual phase-space point generation. Upon initialization in mode=?1, the event generation sequence in mode=0 is the following: 1. yfsgen generates the s′ variable and the ISR photons in the LAB frame. 2. decay generates the decay channel based on pretabulated cross-sections (and stores its ID number in the variable label). 3. make phsp point * generates four-vectors of fermions depending on the type of the ?nal states drawn. It takes place in the e?ective CMS frame, i.e. the rest frame of the outgoing fermions. There are two di?erent generators provided in this place. 4. from cms eff transforms the four-momenta of the event from the e?ective CMS to the LAB frame. 5. selecto imposes cuts on the four-momenta. The selecto routine contains the built-in cut-o?s, whereas the user selecto routine is provided for the user-de?ned cuts – it is located in the ?le demo.14x/user selecto.f and by default no cuts are applied there. It is a matter of e?ciency that as many of the cuts as possible should be imposed in this low-level routine to avoid further, time-consuming, steps of event generation for events that are to be rejected. 6. get phsp weight * calculates the crude distribution (the crude weight) for the accepted event. 7. karlud calculates necessary overall normalization factors. mode= 1 and 2 provide, as usual, some post-generation information. In the following * is a wildcard for a part of a routine name. ? make phsp point * calls the * brancher routines that do the random choice of kinematical branch to be generated according to the preset probabilities. It should be noted that these probabilities are dummy parameters and can be changed by the user, e.g. to cross-check the program or to ?ne-tune its e?ciency. It is also possible to add some more branches to the generator. Next, make phsp point * calls the * spacegen routines in order to build the actual four-momenta. ? get phsp weight * performs the summation over various branches of the multibranch four-fermion crude distribution in order to construct the total normalization of the event. It also uses the * spacegen routines.


? * spacegen. The actual hard-core of the generation and normalization of the four-fermion phase-space point. It is based on a complicated series of kinematicalvariables generation. It is performed in various frames, in various orders and with di?erent types of singular behaviour, depending on the ?nal state and, subsequently, on the branch chosen at a given time by the program on previous stages of event generation. Details of the algorithm will be presented elsewhere [9].


B.E. directory for the Bose-Einstein e?ect

The package of programs in subdirectory B.E. implements the Bose-Einstein (BE) e?ect in the hadronization using, the “weight method” described in Ref. [7]. It is not the integral part of the MC generator but rather a stand-alone application of KoralW. It has a double role: (1) to illustrate how to implement the Bose-Einstein e?ect according to the method of Ref. [7], (2) to provide an example (template) of the use of KoralW in a C++ environment. The entire exercise on BE is implemented in C++. KoralW provides “raw” events, which are translated to C++ structures, and the whole process of constructing the BE weight, analysing events (i.e. de?ning jets, eliminating combinatorial background, ?tting the W mass), histogramming and graphical output is done in C++. There are only several lines of Fortran code (in ReaData.f) in the entire subdirectory B.E. The histogramming, ?tting and graphics are done with the novel ROOT system [18], also entirely in C++. The topography of the B.E. directory is the following: B.E./src – sources and compilation/link objects, B.E./run – data ?les and outputs for/from runs, B.E./fig – analysing results from ../run, all plotting/?tting, etc., B.E./bak – attics. See also README ?le in B.E. directory. The source ?les and executables are in B.E./src directory. Let us very brie?y characterize their functionality: ? rmain.C is the main program. It runs the main loop over events. ? Semaph class is used by rmain.C to manage main loop over events using information from “semaphore” disk ?les4 . ? ROBOL class procedures are called in rmain.C. It manages the generation of events, the calculation of the BE weight, and the analysis of MC events, all by dedicated classes. ? KoralwMaker class provides for the C++/F77 interface with the KoralW event generator. It transfers input data from the main program, which is in C++, to the KoralW generator, which is in F77. It also picks up the output data (events) from KoralW and makes them accessible to ROBOL and other C++ classes.

The Semaph class is a translation from the analogous F77 subprogram in BHLUMI [19].


? KorEvent is a class for the single MC event from KoralW, with some additional data ?elds/members for the analysis. The ROBOL procedures handle the current MC event as a KorEvent object. ? PartLund is a class for a single particle in a format very close to the PDG/LUND convention – a single event of the type KorEvent is simply a list of objects of the type PartLund. ? VLorentz is a class for describing the single Lorentz four-momentum. It provides some basic functionality such as linear algebra and dot-product. It is used to construct the type PartLund in other places of the package. ? BEwtMaker is a class in which the current event de?ned by the KoralwMaker object gets assigned the BE weight. ? JetAnalyzer is a class in which the current event undergoes standard analysis – four jets are de?ned, the combinatorial background is eliminated and the masses of jet pairs are recorded in histograms/ntuples. Note that F77 externals are referred to only in KoralwMaker and Semaph classes. The only extra F77 code is composed of two tiny routines in ReaData.f (they interface OPEN/CLOSE functions of F77). The input data for the run and the resulting histograms are stored in run subdirectory. In particular the run/172GeV.4J is the most important subdirectory. The ?nal analysis of the MC results is done in fig subdirectory, using several C++/CINT scripts processed by ROOT. In particular all eight ?gures of Ref. [7] are produced by them. For instance the plot with the ?t of the two-jet distribution with the BreitWigner formula is made by the macro view-FitJetBE.C. It reads histograms from the run/200GeV.4J/rmain.root ?le, which can be produced with “make 172GeV.4J-start”. For more details on how to run the production-analysis sequence of the programs, see the ?les README and src/Makefile. Let us ?nally advertise that it is possible, in particular, to get a menu of graphics programs with the command “make fig” and to produce the on-line documentation of all our C++ classes in the html format and view it with the html browser with a single command: “make dok-view”. In the preparation on the F77/C++ interface we pro?ted a lot from inspecting the C++ code of ATLFAST [20] and from discussions with the authors of this program. Helpful discussions with the authors of the ROOT system are also acknowledged.


Details of the Program
Four-Fermion Phase-Space Generation

The generation of the four-fermion phase space in KoralW is based on a multibranch type of Monte Carlo algorithm, cf. e.g. [17, 21–24]. The cross-section is calculated in the usual 11

way, as an average of the ratio of the exact matrix element to the crude one, averaged over the crude distribution: σ = dPhsp |M|2 = |M|2 ? fCR d?, ρ
d? ρ

(1) (2)


? d? = dPhsp fCR = ρ

?i dPhspi pi fCR ,

where pi is a probability of generating the branch i and dPhspi is already parametrized by angles and masses de?ned in branch-dependent Lorentz frames: dPhspi = dsi dsi 1 2
j=1,2,3 i d cos θj dφi λi . j j


Equation (2) describes a general framework for generating arbitrary phase-space con?g?i urations. The process speci?c information (and the di?culty!) is hidden in the fCR ?i functions. Each branch of fCR is designed to describe a certain type of singularity that is encountered in the Feynman graphs. As an example, the t-channel singularities can be thought of as 1/t, as the s-channel ones as resonances, etc. But this is of course process-dependent. In the case of four-fermion ?nal states there is nearly a hundred different possible ?nal states, each of them having up to over a hundred Feynman graphs in the matrix element, each graph having a di?erent structure of singularities. Of course there is a lot of symmetries and similarities that can be employed in constructing the generator branches. Nonetheless, the number of di?erent branches exceeds ?fty in the case of KoralW. In fact each branch i of Eq. (2) consists of many “sub-branches”, which split on subsequent lower levels of generation. The total number of such “elementary” branches would exceed a million. Just by looking at this large number, one can realize that optimalization must play an essential role in the algorithm. Indeed, there is a large number of internal parameters and coe?cients, as pi of Eq. (2), that must be ?ne-tuned in order to enhance the desired singularities and damp the others for given ?nal-state con?gurations. ?i In the KoralW code we have implemented two di?erent sets of libraries of these fCR functions. In addition there is a third possibility of using both libraries simultaneously in a stochastic mixture. These packages provide a powerful tool for controlling the complicated and sometimes numerically unstable integration. Moreover, the coe?cients pi of Eq. (2) are dummy parameters of the generators and can be changed by the user for the consistency tests. Details of the actual algorithms will be presented elsewhere [9].


External Matrix Element

In its present version, KoralW includes an interface to the external library calculating the correction weight due to a di?erent, external, matrix element. The idea behind this is that 12

the user may occasionally wish to replace the internal matrix element by a di?erent one, for instance including special combinations of the anomalous couplings. Thanks to the modular structure of KoralW and, in particular, to the factorizability5 of the approximate QED matrix element into the Born matrix element and the QED part, it is straightforward to replace the existing Born-level matrix element with any other one, provided that the external library is able to calculate the corresponding matrix elements out of the externally generated four-momenta. To this end the external program provided by the user must be able to calculate the matrix element, completely normalized (in picobarns) but without any additional factors such as ?ux-factor 1/(2s′ ), etc. In the following subsections we will explain how to use the interface and describe in more detail the external libraries supplied with KoralW. 3.2.1 Interface

A prede?ned interface, now included in KoralW, will activate user-supplied routines with the help of the Key4f key. For Key4f=0 no external matrix element is included and for Key4f=1 it is active. The new position of the weight switch KeyWgt is also introduced. For KeyWgt=2, the generation is done in two steps: in the ?rst step the program generates constant-weight events according to CC03 distribution and in the second step the external weights are calculated and transmitted to the common block /wgtall/ without rejection, i.e. the user gets variable-weight events. In order to avoid possible overwriting errors in the execution, the communication of the libraries with the main generator is done through dedicated interface routines. On the side of the generator the ?le amp4f ini.f in the directory interfaces contains the “bu?er” subprograms. On the user side, his/her own directory has to replace the directory ampli4f. The following two routines have to be provided by the user: 1. ampini(xpar,npar), which initializes the external matrix element library. The standard input parameter array xpar can be used there for initialization purposes (entries above 4000). The additional parameters are made available to the user by calling the subroutine masow(sin2w,gpicb,amaf) with sin2w being the sin2 θW , gpicob the conversion factor to picobarns and amaf(20) the matrix of fermion masses. 2. amp4f(q1,ifbm1,q2,ifbm2,p1,ifl1,p2,ifl2,p3,ifl3,p4,ifl4,wtmd4f,wt4f) should calculate the new matrix element squared wtmd4f, fully normalized, but without any additional factors such as e.g. ?ux factor 1/(2s′ ). The arguments q1,ifbm1,q2,ifbm2,p1,ifl1,p2,ifl2,p3,ifl3,p4,ifl4 denote respectively fourmomenta and identi?ers (according to the PDG conventions [25]) of the initial-state e?ective beams and the ?nal-state fermions before the ?nal-state bremsstrahlung generation. In fact the four-momenta of the ?nal-state fermions are always supplied
It is important to stress that this practical factorizability of the algorithm is due to the approximation in the treatment of complete bremsstrahlung. Omitted non-factorizable corrections may produce severe e?ects in certain ?nal-state con?gurations, see Section 3.3.2 for details.


by KoralW to amp4f in the same order as in the /cms eff momdec/ common block. The additional vector of weights wt4f(i), i=1,9 may optionally be ?lled in by the routine amp4f. It is not used in the program but only transmitted to the KoralW optional weights common block /wgtall/ as wtset(40+i). The wtmd4f is put into wtset(40). 3.2.2 All Four-Fermion Library of GRACE v. 2

A working example of the above interfacing philosophy is the library of all four-fermion matrix elements. It is produced by the package for automated calculations GRACE version 2 [12] and provided for KoralW by courtesy of the Minami-Tateya Group of KEK. It consists of a set of fully massive matrix elements for all possible four-fermion processes in the e+ e? collisions. Let us describe some features of the package: 1. The CKM matrix is diagonal. For the non-diagonal CC ?nal states the internal CC03 massless matrix element is used as a temporary ?x. For the non-diagonal, doubly-CKM-suppressed MIX-type ?nal states, i.e. simultaneously CC- and NCtype (u?s?, u? u, cdd?, c? c), the external matrix element (it is without CC03 graphs s u bb? ? c bb? due to the diagonal structure of the CKM matrix) is incoherently added to the internal one (containing CC03 graphs only) and the interference of these two is neglected. 2. It can be downgraded to the CC03 case with the help of the dipswitch iswitch=0 in the amp4f routine. 3. There are Higgs exchange-graphs included, activated by the dipswitch jhiggs in the ?le grc4f init/setmas koralw.f, cf. GRACE manual [12] for details of the model. 4. The gluon-exchange graphs can be activated with the help of the dipswitch jgluon in the ?le grc4f init/setmas koralw.f, cf. GRACE manual [12] for details. 3.2.3 CC-All Library of GRACE v. 1

There is yet another external library distributed with KoralW. It is a library of massive matrix elements for the CC-type processes. It is based on the earlier version 1 of the GRACE package [13]. The important di?erence, as compared with the previous library, is that complete set of scripts can be found in here to generate the library from scratch, i.e. to build it by the algebraic program GRACE and then custom-?t for the KoralW. It requires the GRACE v. 1 package to be installed. Also, the complicated structure of make?les and scripts may pose some portability problems. We have developed the package on an HP735 computer running HP-UX v. 9.x. Currently, this library is obviously inferior to the GRACE v. 2 library, and we do not recommend using it for the standard applications. On the other hand, for an advanced user, it gives a possibility to de?ne his/her own modi?ed “Standard Model” at the 14

Lagrangian level (within the GRACE system) and then directly have a ready-to-plug-in code generated. For this and some other reasons we decided to keep it in the distribution version. We recommend the interested users to contact us directly for more information on its use. 3.2.4 Cuts, Instabilities and Precision

The following set of primary cuts at the low level of MC generation is introduced in KoralW v. 1.42 (in subroutine selecto in korww/karludw.f): 1. on the invariant-mass squared of produced pairs in ?nal states with two or more ? electrons/positrons, e+ (p1 )e? (p2 )f (p3 )f(p4 ): (p1 + p2 )2 > arbitr1, (p3 + p4 )2 > + ? arbitr1; in the case of e (p1 )e (p2 )e+ (p3 )e? (p4 ) ?nal state, additionally, (p1 + p4 )2 > arbitr1, (p2 + p3 )2 > arbitr1 are required; 2. on angles of charged fermions with respect to the beams: ∠(pi , beamj ) > themin [rad] 3. on transverse momenta of visible charged fermions p2 > arbitr with p2 de?ned as T T p2 = 4 (p2 (1) + p2 (2)) summed over all charged fermions with the angles greater T i i i than themin with respect to the beams; ? 4. on transverse momenta of photons for e+ e? f f-type ?nal states: 2 2 4 4 < arbitr2 + i pi (2) i pi (1) The default and recommended values of these cuts are: arbitr = 600 GeV2 for minimal visible p2 , T ? arbitr1 = 8 GeV2 for minimal invariant mass in e+ e? f f, ?6 themin = 1×10 rad for minimal angle with beam, ? arbitr2 = 300 GeV2 for maximal p2 of photons in e+ e? f f . T Let us now turn to the basic question: Do we need these cuts and why? Before we try to answer it, let us stress that these cuts can be removed completely. Both the presamplers cover the entire four-fermion phase space, no part of it is cut-out during the generation process. The above cuts are imposed after the generation is completed, but before the matrix element is calculated. Now, coming back to the basic question, there are two reasons for non-zero recommended values of the cuts: ? Technical problems in the evaluation of the external matrix element. It can be numerically unstable for some extreme four-momenta con?gurations (when some of the invariants become very small). 1. For the CC-type processes we have not encountered any instabilities in any region of the phase space while using presampler No. 1 in the entire phase-


space, so no cuts are needed6 . In the case of presampler No. 2 we noticed some residual instabilities that can be cut out with the angular cut themin = 1×10?6 rad. This cut in?uences the total cross-section at the level of 1-2 per mille and therefore can be neglected within current precision requirements. (The presence of instabilities only in presampler No. 2 is due to the fact that this presampler is more oriented on the singular con?gurations and in a sense reaches “closer” to the singularities than the other one.) 2. The other two cuts are for the processes classi?ed as NC-type. The instabilities show up either for small transfers in the t-channel-dominated con?gurations (cut out by arbitr) or for small invariant masses of fermion pairs (cut out by arbitr1). Note that the arbitr cut, although de?ned by transverse momenta, is intended to assure that the energy of the (other and undetected) ?nal-state electron, even if lost in the beam pipe, is noticeably smaller than the beam energy. 3. The above three cuts have proved to us to be su?cient to deal with the Bornlevel instabilities in the matrix element (see previous footnote). Unfortunately the picture gets more complicated in the presence of ISR bremsstrahlung. Namely, with the emission of the transverse photons the e?ective CMS frame that we use to de?ne the four-momenta for the matrix element calculation gets rotated with respect to the LAB frame in which the cuts are imposed (see Ref. [1] for details on the construction of this e?ective frame). As a result, a “large-angle-event” in the LAB frame can lead to the highly collinear and numerically unstable matrix-element calculation in the e?ective CMS frame. For that reason the arbitr2 cut is introduced along with the relatively high values of arbitr and arbitr1 cuts. In principle, the instabilities of points 1 and 2 can be cured with the help of quadruple-precision arithmetics. It is an easy task on the IBM or SGI workstations as they support COMPLEX*32 type and the upgrade can be done easily with the help of the compiler options. This cures the technical side of the problem. However, the problem described in point 3 will remain unsolved, as the cross-section (and weights!), although numerically stable, will be huge and very likely physically wrong in the presence of transverse photons. It is due to the ill-de?ned simulation of the missing complete O(α) matrix element and the use of the e?ective beams technique. ? Physical problems. At the end of the last point we already presented one aspect of physical inaccuracy due to the lack of a complete O(α) matrix element. The other related fundamental problem is due to the fact that the bremsstrahlung process is
Of course we cannot guarantee that these instabilities would not show up with some combination of input parameters, with su?ciently long series of generated events or even on some platforms other than the ones we tried.


treated in the Initial State Radiation approximation. It means that only the schannel type radiation is generated. In the case of electrons in the ?nal state, one often encounters for example the Bhabha-like con?gurations that are dominated by t-channel-type diagrams. The radiation, however, is neither generated according to nor corrected for these con?gurations. This can lead to severe inaccuracies in the results. We refer the reader to Section 3.3.2 for more information. To summarize, the technical instabilities in the Born cross section can be cured either by going to the quadruple precision or by implementing relatively modest cuts, weaker than the recommended ones. The inclusion of bremsstrahlung makes the picture complicated. Because of the limitations of the e?ective beams technique, even the recommended strong cuts do not remove the instabilities completely. On the other hand, even if the quadruple precision is used one is still limited, in loosening cuts, by the physical meaningfulness of the results, and, on the technical side, by large overweights due to overestimated cross-sections. This subject requires further study, see also Section 3.3.2. Let us also note that in the case of the CC03-type presampler all the cuts are reset by the program to no-cuts values. Together with the prede?ned cuts in the selecto routine, we provide another routine, user selecto, in which the user can implement his/her own cuts. This routine is located in the same ?le korww/karludw.f. If the user requires some stringent additional (pre)cuts they can be placed there. This may increase the speed of the program (depending on how many events are rejected by the cuts) as the matrix element will not be calculated for unaccepted events. The user interested in the complete or nearly complete phase-space coverage should start with setting all cuts to zero and inspecting overweighted events. (The arbitr2, if set to a negative or zero value, will be reset by the program to its maximal value, i.e. the value of the s parameter). The maximal weights for rejection can be adjusted in the input parameters later on. As an example of such a routine, we provide the routine user selecto canonical with the canonical cuts as de?ned at the LEP2 Workshop [3]. With its help we have for example reproduced, within an accuracy of a few per mille, the results given in Tables 6-8 (see p. 241 of Vol. 1) in Ref. [3] (with the exception of entry 14 of Table 7).



In the present version of our program we upgraded the ISR exponentiated matrix element with third-order LL corrections. We know that these e?ects are small, especially for the Yennie-Frautschi-Suura-type exponentiation we use, see Ref. [26]; this new contribution may nevertheless be useful for estimating theoretical systematics due to QED higher orders. The reader should keep in mind that the new third-order LL corrections in?uence longitudinal momenta of ISR photons and add nothing new in the pT distributions of the ISR photons. Let us write the master equation for the total cross section, with new terms


due to third-order LL corrections:


1 n!



d3 qi 0 qi



d3 ki ? S(p1 , p2 , ki) δ (4) p1 + p2 ? 0 ki




qi ?

ki Θcm ? (4)

exp 2α?B +

d k? S(p1 , p2 , k)(1 ? Θcm ) ? k0

R ?(3) β0 (pR , qs ) + r i=1

i=1 R ?(3) β1 (pR , qs , ki ) r

? S(ki )


n R R ?(3) ?(3) β3 (pR , qs , ki , kj , kl ) β2 (pR , qs , ki, kj ) r r + , ? ? ? ? ? S(ki )S(kj ) S(ki )S(kj )S(kl ) i>j>l

2 ? where S(p1 , p2 , k) = ?(α/4π 2 ) (p1 /kp1 ) ? (p2 /kp2 ) is the real photon infrared (IR) n √ 0 factor and Θcm = θ (ki ? ? s/2) cuts out the singular IR region, already included to ? i=1

all orders in the YFS form factor [1, 2]. In Eq. (4) we use essentially the same notation R as in Ref. [1], except for pR = Rpr , r = 1, 2 and qs = Rqs , s = 1, ..., 4. Note that the r “reduction procedure” R does not act on photons. The new third-order non-IR functions ?(3) ? βl , l = 0, ..., 3 are de?ned below. In our O(α3 ) LL calculation all β’s are proportional to the basic lowest-order (Born) distribution
R R R ? bR = b0 (pR , qj ) = β0 (pR , pR , q1 , ..., q4 ) = 0 i 1 2 (0)

1 (2π)4 2s′ [2(2π)3 ]4


|MBorn |2 ,


in which fermion momenta are adjusted (with R-procedure) in such a way that the Born matrix element MBorn is calculated at the reduced centre-of-mass energy s′ = (p1 + p2 ? n 2 i=1 ki ) . 3.3.1 ISR up to Third Order

?(r) The O(αr ) functions βi , see [2], are residuals of the removal of IR virtual and real singularities. They are therefore IR-?nite. In the YFS [2] scheme, they are obtained from the O(αr ) “raw” di?erential distributions, which originate from the Feynman diagrams. This is also the case in the O(α1 ) YFS-exponentiated matrix element of BHLUMI [27] or YFS2 [28] and YFS3 [29]. Sometimes the more “economical” source of raw di?erential distributions is not the Feynman rules but the LL approximation, especially for O(γ 2 ) and O(γ 3 ) corrections, where γ=2 α π ln s ?1 . m2 e (6)

Here, in our calculation, we employ the LL approximation up to O(γ 3 ). The ?rst step in our procedure of deducing the third-order LL exclusive distribution is to examine triple convolution of the Altarelli-Parisi (AP) non-singlet evolution equation. This is done separately for two e± incoming lines and the convolution of the two results 18

is examined once again (truncating the ?nal result up to O(γ 3 )). It can also be done in one step, using a triple convolution of the AP equation, with a “double” AP kernel acting on both e± lines. All the above is a one-dimensional exercise, i.e. variables in the AP equation are interpreted as ratios of the photon energies to the e± energies, and the photons are assumed to have exactly zero transverse momentum. The above calculation is rather straightforward, quite similar to that done in Ref. [30], and we shall here skip this part. With the explicit longitudinal momentum of up to 3 photons, we supplement them with the smooth pT distribution, getting in this way what we call the “LL ansatz” for full di?erential distributions, with up to three real photons. In the ansatz we are careful to reproduce all correct soft-photon limits, i.e. for any con?guration with any number of photons being soft. In the above construction, virtual up to O(γ 3 ) corrections are kept all the way through the construction procedure, and the cancellation of IR singularities is kept perfect. The resulting O(γ 3 )-?nite pT ansatz for nγ = 0, 1, 2, 3 photons reads as follows: 1 1 1 + 2B(1) + [2B(1)]2 + [2B(1)]3 bR , 0 2 6 1 (3) ? D[1] (k1 ) = S(k1 )χ(α1 , β1 ) 1 + [3B(1) + B(z1 )]2 2 1 + (2B(1))2 + (2B(1))(B(1) + B(z1 )) + (2B(z1 ))2 bR , 0 6 1 1 (3) ? ? ? ? + [4B(1) + B(z1 ) + B(z1 z2 )] D[2] (k1 , k2 ) = S(k1 )S(k2 )χ(α1 , β1 )χ(α2 , β2 ) 2 6 (3) ? ? ? D (k1 , k2 , k3 ) = S(k1 )S(k2 )S(k3 ) χ(α1 , β1 )χ(α? , β ? )χ(α? , β ?) bR , D[0] =
(3) [3] 2 2 3 3 0

bR , 0

χ(a, b) ≡ ((1 ? a) + (1 ? b) )/2, 3 γ B(z) = A(z), A(z) = + ln ε ? ln z, 2 4 where αi and βi are the familiar Sudakov variables αi = (kip1 )/(p1 p2 ), βi = (ki p2 )/(p1 p2 )





while “starred” variables take into account the e?ects of energy loss due to prior emissions
? ? α2 = α2 /(1 ? α1 ), β2 = β2 /(1 ? β1 ), ? ? α3 = α3 /(1 ? α1 ? α2 ), β3 = β3 /(1 ? β1 ? β2 ),


and we de?ne z-variables as z1 = (1 ? α1 )(1 ? β1 ), z1 z2 = (1 ? α1 ? α2 )(1 ? β1 ? β2 ). (10)

The ε variable is an infrared cut-o? (an IR-regulator in√ AP kernel), which de?nes the the 0 lower limit of photon energy in our phase space, k > ε s/2. Note also that the fact that 19

? γ comes from the angular integration over S(k) is essential for the exact IR cancellations ?(3) between the virtual and real photons. The ?rst step on the way to β[n] is to remove IR virtual corrections (because they are already present in the YFS form factor) β[n] = exp ?γ

1 + ln ε 4

D[n] (k1 , ..., kn )


O(γ 3 )

and the resulting distributions (programmed this way in our code) read as follows: 1 γ 3 bR , 0 6 2 γ2 γ2 2 γ 1 γ 2 γ (3) ? ln z + ln z bR , ? ln z ? β[1] (k1 ) = S(k1 )χ(α1 , β1 ) 1 + + 0 2 2 2 4 8 24 γ γ γ (3) ? ? ? ? β[2] (k1 , k2 ) = S(k1 )S(k2 )χ(α1 , β1 )χ(α2 , β2 ) 1 + ? ln z1 ? ln(z1 z2 ) bR , 0 2 6 6 (3) ? ? ? ? ? ? ? β[3] (k1 , k2 , k3 ) = S(k1 )S(k2 )S(k3 ) χ(α1 , β1 )χ(α2 , β2 )χ(α3 , β3 ) bR . 0 β[0] =


γ 1 γ + 2 2 2




We assume tacitly that Bose symmetrization is done in the above expressions, for n = 2, 3. Finally, the real IR-parts are subtracted properly as follows:
(3) ?(3) β0 = β[0] , (3) ?(3) ?(2) ? β1 (k1 ) = β[1] (k1 ) ? S(k1 )β0 ,

(3) ?(3) β3 (k1 , k2 , k3) = β[3] (k1 , k2 , k3)

(3) ?(3) ?(2) ?(2) ?(1) ? ? ? ? β2 (k1 , k2 ) = β[2] (k1 , k2 ) ? S(k1 )β1 (k2 ) ? β1 (k1 )S(k2 ), ?S(k1 )S(k2 )β0


?(0) ? ? ? ? S(k1 )S(k2 )S(k3 )β0 .

?(2) ?(2) ?(2) ? ? ? ? β2 (k1 , k2 )S(k3 ) ? β2 (k1 , k3 )S(k2 ) ? S(k1 )β2 (k2 , k3 ) ?(1) ?(1) ?(1) ? ? ? ? ? ? ? β1 (k1 )S(k2 )S(k3 ) ? S(k1 )β1 (k2 )S(k3 ) ? S(k1 )S(k2 )β1 (k3 )

The above subtraction is done numerically in the program. This completes the de?nition of our O(γ 3 ) matrix element. Let us note ?nally that the above parametrization was essentially copied from the KK Monte Carlo for fermion-pair production [31]. 3.3.2 Non-ISR Corrections

As was already mentioned in Subsection 3.2.4, in the processes with at least one e+ e? pair in the ?nal state some problems are encountered when we try to include the leading QED corrections by convoluting the s-channel-type ISR bremsstrahlung with the Born? like e+ e? → e+ e? f f process, calculated in the “e?ective beams” rest frame, i.e. in the rest frame of the incoming e+ e? , with reduced energies after emission of the ISR photons. Generally, such an approach leads to two kinds of problems7 : (1) too much radiation
Here, we do not discuss the problem that arises when any of the electrons/positrons are lost in the beam pipe; this requires special treatment.


is generated, particularly in the high photon-pT range, and (2) the event weights are submitted to huge ?uctuations. All this is because the cross section in the above 4-fermion production channels is dominated by the low-angle Bhabha-like processes, where the tchannel γ exchange plays a crucial role. As a result, the photon radiation is governed by ln(|t|/m2 ) rather than by ln(s/m2 ). These two “big logs” di?er by a factor ln(s/|t|), which e e can be sizeable at low angles (in fact, it can itself be regarded as a “big log”); this factor can explain an excess of the ISR bremsstrahlung when generated as in the s-channel. The reason for too many high-pT ISR photons is that in the low-angle Bhabha-like process the interferences between the electron and positron lines become very small, while the destructive interference between initial- and ?nal-state emissions becomes strong, see e.g. Ref [27]. As a result, the emission of high-pT photons is strongly suppressed, while in the current implementation of the s-channel-type of the ISR photon generation this interference is absent and cannot damp the pT of photons. The ultimate solution to this problem is the inclusion of the bremsstrahlung generation of both the s-channel and tchannel in the MC algorithm. This, however, is not easy to implement into the current structure of the program8 . The second kind of problems, i.e. the strong ?uctuations of the event weights, are partly connected to the ?rst one. Namely, the emission of the high-pT ISR photons can boost the fermions to very small angles con?guration, where the “e?ective” Born-like cross section is huge, even if, in the LAB frame, the ?nal electrons/positrons are emitted at moderate angles. This can also cause some numerical instabilities in the matrix element calculation, as has been discussed in Subsection 3.2.4. This de?ciency can be partly cured by solving the ?rst problem, i.e. by damping the high-pT photon radiation. But even after this is done, some huge weight can still appear as some residual high-pT photons still remain, e.g. in the con?gurations where only one of the electrons/positrons is emitted at low angles. We could try to overcome the above di?culties by imposing some additional cuts on ? the e+ e? f f events, as described in Subsection 3.2.4. Our experience shows, however, that even the presence of strong cuts does not solve the problems completely, although it can stabilize the event generation considerably. Besides, some of those cuts may not be easy to implement in the real experiment. In the mean time we are preparing an intermediate solution, without going into the t-channel bremsstrahlung generation and/or the exact (o?-shell) O(α) matrix element, which eliminates extra cuts. We are constructing an additional weight that would emulate the main features of the t-channel bremsstrahlung. As a guideline, we use the YFS approach [2] to the radiative Bhabha-like process, looking at the behaviour of the hard bremsstrahlung matrix element at low angles. Since this solution is not yet ready, we do not include it in the current version of KoralW. Instead, we add a dummy routine eexx wt cor (the ?le model/eexxcor.f) as an “open slot” where the real one will be “plugged in” when completed.

We consider this solution for the future versions of KoralW.



Additional Corrections (CC03-Based)

In this section we will describe the additional corrections that are imposed on top of the Born-level W W matrix element. All these corrections have one common feature – they are justi?ed/calculated for the CC03 subset of graphs only. However, it is of great importance to have them incorporated, all at the same time, into the complete charged current (CC-all) matrix element in one way or another. A detailed study on this subject has been presented in Ref. [11] on the example of the KoralW and grc4f codes. On the one hand, it proved that the “common-sense interpolation” does make sense, provided one performs some minimum set of cross-checks. On the other hand, it showed that indeed it is a “code-dependent” procedure and the di?erences can be of the order of a few per mille. The possible choices for adding corrections are for example: additive versus multiplicative method or the amplitude level versus the squared amplitude level. In the following we will describe some of the e?ects: naive QCD, the non-diagonal CKM matrix, the Coulomb correction and the anomalous couplings. In the future we hope that this list will be extended by the complete O(α) corrections for the on-shell W W production, available in the literature [32–36] and already implemented by us in another Monte Carlo code – YFSWW [37, 38]. 3.4.1 Naive QCD and CKM Matrix

For the W W -type ?nal states the naive QCD correction (NQCD) and the non-diagonal CKM matrix are applied as a multiplicative correction to the whole matrix element. In principle these corrections are justi?ed for the CC03 subset of graphs only. However, as the background graphs contribute very little at LEP energies, we follow the standard approach [3] and apply them to the entire CC-all matrix element
external |MCCall (i, j)|2 = |MCCall (i, j)|2 RCKM (i) RCKM (j) N QCD N QCD


where |MCCall (i, j)|2 is the matrix element for the (i, j) decay channel of the W -pair as external used by KoralW for calculating weights and |MCCall (i, j)|2 the external matrix element supplied to KoralW by the external library for the (i, j) decay channel of the W -pair. We note in passing that in the CC03 case, the CKM and NQCD corrections are already included in the |MCC03 (i, j)|2 and there is no need for the correcting factor RCKM in N QCD this case. The correction itself is calculated for each W as the ratio of appropriate W branching ratios: RCKM (i) = N QCD Br(i) Br0 (eνe ) , Br(eνe ) Br0 (i) (15)

with Br0 being the “bare” W branching ratios (1/3 and 1/9). The physical W branching ratios are set either directly to ?xed values (KeyBra=1), corresponding to αS = 0.12, or calculated according to the formula of [39] based on the CKM matrix (KeyBra=2): 1 + αS 1 π , Br(q) = |VCKM (q)|2 3 1 + 2 αS 3 π 22 Br(l) = 1 1 . 2 9 1 + 3 αS π (16)

In either case the ΓW is forced to be recalculated by the program. The third option KeyBra=0 is equivalent to KeyBra=2 with the diagonal CKM matrix (1/3 for quarks and 1/9 for leptons) and ΓW not recalculated. The formula used for ΓW recalculation (default if the input value of ΓW is negative) is the following: ΓW =
3 3G? MW √ 2 2π


2 αS 3 π



Note that, unlike the situation in the previous versions of KoralW, here, the W branching ratios are used solely for the normalization of the matrix element. For the ZZ-type ?nal states, NQCD is applied directly as a multiplicative correction
external |MN Call (i, j)|2 = |MN Call (i, j)|2 RN QCD (i)RN QCD (j),


RN QCD (q) = 1 +

αS , RN QCD (l) = 1, π


to the whole matrix element, for each generated quark pair. The Z-width is however not corrected automatically, and the user must take care of it by himself/herself (since it enters the program through the input parameters, it can easily be set to the appropriate value). 3.4.2 Coulomb Correction

The Coulomb correction is taken from Ref. [4], Eq. (9). It is the ?rst-order formula: √ αQED s |κ|2 ? p2 RCoul = 1 + π ? 2 arctan , (20) 4p 2p?κ
2 s ? 4MW 1 2 , (s ? 2s(s1 + s2 ) + (s1 ? s2 )2 ), E = 4s 4MW

p2 =



1 MW 2

E 2 + Γ2 ? E W


1 MW 2

E 2 + Γ2 + E . W


In the case of the CC03 matrix element, RCoul is a simple over-all multiplicative correction. In the case of the CC-all matrix element, it is implemented in the code in the form of an additive correction based on the CC03 matrix element only, and Eq. (14) now becomes:
external |MCCall (i, j)|2 = |MCCall (i, j)|2 RCKM (i)RCKM (j) + |MCC03 (i, j)|2 (RCoul ? 1). (23) N QCD N QCD

An identical correction is applied to the CC03 semi-analytical formula.



Anomalous Couplings

In the case of the complete charged current, CC-all, matrix element, the anomalous couplings are implemented in the code in the form of an additive correction. Equations (14) and (23) take on their ?nal form: |MCCall (i, j)|2 =
external |MCCall (i, j)|2 RCKM (i)RCKM (j) N QCD N QCD


ACC |MCC03 (i, j)|2 RCoul ? |MCC03 (i, j)|2 ,


which gives the complete description of the matrix element of KoralW, including all the “additional” e?ects. In the current version of the program we implement three parametrizations of the anomalous W W V couplings (V = γ or Z). A particular parametrization can be chosen by the user with the help of the input parameter switch KeyAcc. Values of these couplings are transferred to the program through the input parameters vector xpar, and they have to be set up appropriately by the user in the initialization mode. The parametrizations of the triple gauge boson couplings are the following: ? KeyAcc=0: the Standard Model (SM) (non-anomalous) couplings.
V V V ? KeyAcc=1: {g1 , κV , λV , g4 , g5 , κV , λV } ∈ C, (V = γ, Z) ? ? The above set represents the most general parametrization of the W W V couplings that can be observable in the process where the vector bosons couple to e?ectively massless fermions [40]; see also Ref. [41] and references therein. In general, there are 7 complex-number-valued couplings for each γ and Z, so altogether one needs to supply 14 complex (or 28 real) numbers in this case. This can be done through the xpar vector entries: xpar(21-57), see Table 2 for more details. The SM values for these couplings are: V g1 = κV = 1, V V ? λV = g4 = g5 = κV = λV = 0. ?

This parametrization has been present in KoralW since the version 1.03 and is backward compatible. The new parametrizations added in this version of the program, for KeyAcc=2,3, are described below. ? KeyAcc=2: {δZ , xγ , xZ , yγ , yZ } ∈ R This set of 5 real-number parameters represents deviations of the C- and P -conserving couplings from their SM values; see Ref. [41] and references therein. It can be related to the previous parametrization as follows:
γ g1 = 1, Z g1 = 1 + tan θW δZ , κγ = 1 + xγ , κZ = 1 + tan θW (xZ + δZ ),


λγ = y γ , λZ = y Z , V V ? λV = g4 = g5 = κV = λV = 0. ? The values of the above 5 parameters are sent to the program through the xpar vector entries: xpar(61-65); see Table 2 for details. For the SM they are all zero. This parametrization is convenient for studies of the C- and P -conserving W W V couplings. ? KeyAcc=3: {αW φ , αBφ , αW } ∈ R This parametrization of 3 real-number-valued couplings corresponds to a direct extension of the SM formalism in terms of a linear realization of the symmetry, which can be achieved if a relatively light Higgs boson is assumed to exist, see Ref. [41] and references therein. Its relation to the most general parametrization (for KeyAcc=1) reads: αW φ , c2 W κγ = 1 + αW φ + αBφ , s2 W κZ = 1 + αW φ ? 2 αBφ , cW λγ = λZ = αW , V V ? λV = g4 = g5 = κV = λV = 0, ?
Z g1 = 1 + γ g1 = 1,

where sW = sin θW , cW = cos θW . Values of the above 3 parameters are sent to the program through the xpar vector entries: xpar(71-73), see Table 2 for details. For the SM they all are zero.


Renormalization Schemes

The choice of renormalization scheme is a direct result of the freedom in the renormalization procedure of the electroweak sector. One can choose a di?erent set of input parameters used to express the cross-section. There is a large number of di?erent schemes available in the literature; see, for instance [42]. All these schemes are more or less educated, but ad hoc inclusions of some EW radiative corrections, and are done by hand on the “bare Born” by means of improving its parameters. Therefore they can in principle vary from the “bare” (not corrected) result and, among themselves, as much as 15%; see for example [32]. In KoralW we have implemented three di?erent schemes. Any of them can be chosen with the help of the input parameter KeyMix: ? KeyMix=0 “LEP2 Workshop scheme”: √ 2 αW =(input), sin2 θW = παW /( 2G? MW ), g 2 = 4παW / sin2 θW ; 25

? KeyMix=1 “G? scheme”: √ 2 2 2 αW = 2G? MW sin2 θW /π, sin2 θW = 1 ? MW /MZ , g 2 = 4παW / sin2 θW ; ? KeyMix=2 “bare Born” (for tests only): 2 2 αW = αQED = 1/137, sin2 θW = 1 ? MW /MZ , g 2 = 4παW / sin2 θW . Note that this key has changed its meaning with respect to the earlier versions of the KoralW code, where it simply changed the de?nition of sin2 θW , leaving changes of the other input parameters directly to the user. Now it does the complete rede?nition of the required input parameters according to the chosen scheme. The reader may have noticed that the options KeyMix=1 and KeyMix=2 have changed since the previous version, whereas the setting KeyMix=0 remained unchanged. Finally, let us comment on the issue of the recommended setting. The ultimate criterion of choosing the scheme would be the comparison with the exact electroweak corrections. This has been studied only for the on-shell case [3], and no unique answer was given. Favoured were, however, the “Workshop” or “G? ” type schemes. In fact, it would most likely be impossible to distinguish them experimentally, as for example these two favoured schemes di?er at the per mille level, far less than the correction itself.


Colour (Re)Connection
Colour Connection

The ?nal state of KoralW generation consists of four fermions and an arbitrary number of real photons. Later, external libraries are called, if necessary, to perform, for instance, the τ decay and/or hadronization of the quark pairs. In most cases, the information stored by KoralW in the standard event record COMMON /HEPEVT/ [25] is su?cient. However, there exists a sub-class of four-quark ?nal states where the intermediate state can consist of two distinct con?gurations of colourless quark-pairs, e.g. for the u?, dd ?nal u ? ? state the colourless pairs of quarks chosen for hadronization can be either ud and d? or u? u u ? This ambiguity has to be determined by KoralW, so that appropriate information and dd. can be passed to the hadronization package JETSET [15]. In our program, the random choice is made with the help of the weight wCC = |M1 |2 , |M1 |2 + |M2 |2

where M1 and M2 represent spin amplitudes squared (and appropriately summed over spin degrees of freedom) for the two possible colour-singlet con?gurations. The choice is performed with the help of a call to the routine spdetx(ireco). The output parameter ireco=0,1 denote that the colourless object should be formed either from the ?rst-second and third-fourth quark pairs in the ?nal state (as located in the COMMON /HEPEVT/) or from the ?rst-fourth and second-third quark pairs, respectively. As an input for the routine spdetx(ireco), the appropriate spin amplitudes hidden in internal common blocks of the GRACE routines are used. The routine spdetx(ireco) 26

consists of the routine spdetc generated by the GRACE package [12], which is adapted to our purposes. 3.6.2 Colour Reconnection

Since in the LEP2 energy range the average distance between the W + and W ? decay vertices is much smaller than the typical hadronic size, the fragmentation of two W ’s may not be independent. One of the physical e?ects related to this problem is the colour reconnection between decay products of di?erent W ’s9 . Several models have been proposed to describe this phenomenon and estimate its in?uence on the W -mass measurement; see e.g. Ref. [6] and references therein. The current version of KoralW does not include any of these models; it uses instead the user-supplied value of the colour-reconnection probability PReco (see Table 1) to generate quark-antiquark colour objects from the decay products of two di?erent W ’s. These objects are then processed by the JETSET routines to result in the ?nal-state hadrons. This, rather simplistic, approach to the colour reconnection problem does not deal, of course, with all the aspects of this phenomenon, but it can be used for some simple estimate of its in?uence on physical observables. In detailed studies, however, this has to be confronted with the results of dedicated models.


Bose-Einstein E?ect in Hadronization

It is generally expected that in the double hadronic decay of the W -pair, because of the space-time overlap of the two hadronization processes, the two W ’s cannot be treated as completely independent. Consequently, one may see experimentally some e?ects due to a “cross-talk” between the decays of the two W ’s. One of the possible e?ects (in addition to colour reconnection) could be a deformation of the hadron distributions due to the “coherence/interference” e?ects in the hadronization process called the Bose-Einstein e?ect. This e?ect is of interest in itself, on the other hand it also can obscure the measurement of the W mass in the decay of W -pair using four-jet ?nal states. There are a variety of models, see [6], describing the BE e?ect. In particular, the JETSET package implements one of these models with the help of routine LuBoEi. The LuBoEi routine introduces additional smearing of the momenta of the hadrons, after standard hadronization, so that the Bose-Einstein e?ect is reproduced. In KoralW we include an example of the alternative model, see Ref. [7], where this additional smearing is done not by means of direct manipulation of the hadron momenta, but with the help of an additional special weight. In principle, this method is safer because it does not introduce spurious long-range correlations of hadrons; it is therefore more relevant to W -mass measurement from jet-jet
In the general case, not restricted just to the W -pair production and decay at the CC03 approximation, the quark pairs, as explained above, can originate also from decays of Z’s or virtual γ’s, and the quark-pair colour-singlet ambiguity can already exist in that step. Independently, in the second step, the colour arrangement may need to be rede?ned, i.e. reconnected, owing to the ?nal-state gluonic/hadronic interactions.


e?ective masses than the LuBoEi procedure. The BE weight itself is programmed in the C++ class BEwtMaker in subdirectory B.E./src. (It uses the additional C++ functions hidden in the ?le partit1.C.) The code is rather compact, the bulk of the code is the construction of “clusters” of pions of the same sign, which are in some sense close to one another in the phase space (their relative hyper-velocity is below certain maximum value). The subdirectories B.E./src and B.E./fig contain the complete tool-box for analysing the BE weight and ?nding out how big the BE e?ect is in the ?tted W mass. For more details on this analysis of the BE e?ect programmed in the subdirectory B.E., see Ref. [7].


Energy Distributions

In this section we describe part of the code responsible for the generation of the s′ photonic variable and decay channel type. The important observation is that the ISR photons and ?nal-state fermions are coupled solely by the s′ variable. This variable, on the one hand, determines the amount of energy radiated by the photons and at the same time provides the e?ective CMS energy of the ?nal fermions. Its generation is therefore an important step in the algorithm. As usual in the Monte Carlo algorithms, one can start from anything like the s′ distribution, at the end of the MC generation procedure, this dummy distribution will be transformed into what we want and the original one will get eliminated (by reweighting and/or rejecting MC events). The price for starting with a bad distribution is, as usual, in the e?ectiveness of the program. Since the cross-section varies by orders of magnitude with the energy and between various ?nal states, the overhead in e?ciency can be really big. For that reason we decided to pretabulate s′ distributions. It is done for each ?nal state separately and for the “standard” set of cuts, as given in Sect. 3.2.4. We see the potential disadvantage of this organization as well. In the case of cuts different from the “standard” ones, pretabulated spectra would gradually become ine?cient. In our opinion, the gains due to the precise tune-up outweigh, however, the loses. In fact, one can always generate another set of ?les with new spectra, if one is interested in very di?erent cuts. We have created semi-automated tools for this task (not distributed with KoralW 1.42) and encourage the interested user to contact us directly. There is yet another trick that we used here. It seems natural that the pretabulated distributions are Born cross sections (as a function of CMS energy). For the s′ generation, they will be convoluted with the structure-function-type photonic density, with proper soft singularity, and they are used directly for ?avour generation. However, the complicated four-fermion phase space leads, in some places, to events that are over-weighted with respect to the global rejection weight. A global increase of the rejection weight would cause an unnecessary loss of e?ectiveness in the case of a run with constant weight. The pretabulation procedure distributions provide, as a by-product, an e?cient tool for compensating the above e?ect: with their help, we may provide the system of additional compensating weights, depending on the ?avours and the CMS energy. In order to do it in a transparent way, we therefore pretabulated the maximal weights, in addition to the total cross sections. And in fact it is these maximal weights that the program uses for 28

the generation of s′ at the crude level in the CC/NC-all mode. In the CC03 mode, the total cross section is used and the weights are well behaved. We provide also an option for generating the distributions from the user-supplied function. The function is called phot spec crud and the appropriate dip-switch i file=0 is located in karlud routine. It is capable of reproducing the distributions used in the previous versions of KoralW. At the technical level the organization is the following. The pretabulated ?les, located in the directory data files, are: data wtmax.fit.smp1, data wtmax.fit.smp2 and data xsect.fit. They contain distributions of the maximal weight for two presamplers and the total cross section, respectively. They are tabulated as a function of the total energy for each ?nal state separately. The tabulation is done in the energy range from 50 GeV to 250 GeV; beyond these limits, a ?at-distribution-matching value at 250 GeV is used. The give phot spec crud routine reads these ?les and stores the data in some local internal variables. KoralW uses another set of matrices with di?erent binning (currently the ?ner one): prob * * (here * denotes a wildcard for a part of a variable name), and a di?erent energy range, from some emin set to 1 GeV in the korww routine, to the √ emax= s. The arrays prob * * contain channel-dependent distributions for the channel choice as well as an inclusive distribution for the s′ generation.


Semi-analytical Distributions

The package for semi-analytical calculations distributed with KoralW integrates the CC03 matrix element, based on the formulas of Ref. [43]. The calculation is done in massless approximation. Additional corrections due to NQCD, the non-diagonal CKM matrix and the Coulomb e?ect are included in the formulas. It is done exactly as in the Monte Carlo generator, so the two nicely cross-check each other. The Initial State Radiation is also included. It is done in the LL approximation, by means of the Structure Function formalism. The SFs are implemented up to the third order with the YFS-type exponentiation and the non-leading YFS form factor [26, 30]. For the actual calculations we provide a number of di?erent approximations of these SFs, as listed in Table 14. For more details on the integration method see Ref. [10]. In the current version of KoralW the semi-analytical part of the program is enlarged with two functions s1wan(s1) and s1s2wan(s1,s2) for the one- and two-dimensional distributions of the single and double W invariant masses. These functions require standard initialization of the korwan routine. Optionally, if the KorWan input parameter KeyMod is increased by 10000 the calculations in KorWan are not executed and only the initialization is performed. In addition we provide two simple applications of KorWan: the average mass and √ average mass-loss calculations. The average mass is de?ned as (1/σ) dvds1 ds2 ( s1 + √ s2 ?2MW )dσ/(dvds1ds2 ), with v being the photonic variable v = 1?s′ /s and s1 , s2 being the invariant masses of the “W -states”. This calculation can be performed by invoking KorWan with a negative value of the s-variable input parameter. Alternatively, one can simply use the dedicated routine mavrg with arguments as given in Table 12. The average 29

√ mass loss is de?ned as ( s/2)(1/σ) dv v dσ/dv with v = 1?s′ /s. This calculation can be performed by invoking KorWan with the negative KeyPho input parameter. Alternatively, one can simply use the dedicated routine mloss with arguments as given in Table 13.


Practical Use of the Program

In this section we will familiarize the reader with the input and output parameters, and the usage of the present version of the KoralW package. We will also present two simple demonstration main programs using the KoralW package. Their double role is to serve as a useful template for the user to create his/her own main program and to help the user to check quickly that the KoralW generators runs correctly. We shall describe in detail all input parameters of KoralW. We will also give a similar information on the semi-analytical routine korwan.


Principal entries of KoralW

The principal entries of the KoralW package, which the user has to call in his/her application in order to generate series of the MC events, were already listed and described brie?y in Subsection 2.11. Here we shall add more information on their functionality. The calling sequence constituting a typical Monte Carlo run will look as follows:
CALL KW ReaDataX(’./data DEFAULTS’,1,10000,xpar) CALL KW ReaDataX(’./user.input’ ,0,10000,xpar) CALL KW Initialize(xpar) DO loop=1,10000 CALL KW Make ENDDO CALL KW Finalize CALL KW GetXSecMC(XSecMC,XErrMC) ! reading general defaults ! reading user input ! initialize generator ! loop over MC events ! generate single MC event ! final book-keeping, print ! get total cross section

In the ?rst call of KW ReaDataX, default data is read into the array REAL*8 xpar(10000). The KoralW has almost no data hidden in the source code. (This is not true for TAUOLA and JETSET). The ?le data DEFAULTS is read ?rst into array xpar. This ?le we provide in the distribution subdirectory data files. The user should never modify it. It can be copied to a local directory or, better, a symbolic link should be created to the original data files/data DEFAULTS. The data DEFAULTS is rather big and the user is usually interested only in changing some subset of these data. In the second call on KW ReaDataX the user can overwrite the default data with his/her own smaller set on input data which are placed in the user.input ?le. For example the simplest input data, which de?nes only CMS energy looks as follows: BeginX *<ia><----data-----><-------------------comments-------------> 1 190d0 CmsEne =CMS total energy [GeV] EndX 30

As we see, data cards start with the keyword BeginX and end with the keyword EndX. The comment lines are allowed – they start with * in the ?rst column. The data themselves are in a ?xed format, with the address i in xpar(i) followed by the data value and trailing comment. The four examples of input data sets for the two demonstration programs KWdemo.f and KWdemo2.f in the subdirectory demo.14x/190gev provide useful templates for the typical user data. The complete set of all user data in data DEFAULTS is described in very detail in Tables 1–6. Obviously, the user is interested in manipulating only some of them and will stick to default values in most of the cases. The KW Initialize is invoked to initialize the generator. It reads input data from array xpar, prints them and sends down to various modules and auxiliary libraries. The programs have to be called in strictly the same order as in the above example. At this point we are ready to generate series of the MC events. The generation of a single event is done with the help of KW Make. After the generation loop is completed, we may invoke KW Finalize, which does ?nal book-keeping, prints various pieces of information on the MC run, and calculates the total MC integrated cross section in picobarns. In order to obtain this cross section the user may call the routine KW GetXSecMC(XSecMC,XErrMC).


Input/Output Parameters

As we have already explained in the previous section, the input parameters enter through the xpar array, being a parameter of CALL KW Initialize. The meaning of all of them is given in Tables 1–6. The principal output of KoralW is the Monte Carlo event, which is just a list of ?nal-state four-momenta in [GeV] units and ?avours, encoded in the standard /hepevt/ common block. At the present version we still provide REAL*4 version of the /hepevt/ common block. If the user is interested in the parton momenta before hadronization, then, in addition to /hepevt/ common block, they are also available through
CALL KW GetMomDec(p1,p2,p3,p4) ! get momenta of four final fermions ! get beam momenta CALL KW GetBeams(q1,q2) CALL KW GetPhotAll(NphAll,PhoAll) ! get photon multiplicity and momenta

Alternatively, all the four-momenta are available via the internal commons /momset/ and /momdec/, see Tables 7 and 8 for details. For some special purposes, also the four-momenta in the e?ective CMS frame (used by default by the code for matrix elements calculation) are provided in the common block /cms eff momdec/, as given in Table 9. They may be useful for example to impose some additional cuts. However, care must be taken, since such cuts might be unphysical. In the case of a MC run with variable-weight events, the user is provided with a main weight through
CALL KW GetWtMain(WtMain) ! get main Monte Carlo weight

Of course, for constant-weight runs WtMain = 1. For special purposes the user may be also interested in auxiliary weights, which are provided with the help of 31

CALL KW GetWtAll(WtMain,WtCrud,WtSet) ! get all Monte Carlo weights

where REAL*8 WtSet(100) is an array of weights described in Table 10. Alternatively these weights are available from the common block /wtset/, see Table 10. The auxiliary weight should be de?ned as WtCrud*WtSet(i), and the corresponding integrated cross section simply obtained by multiplying its average by the crude normalization cross section, which is provided through
CALL KW GetXSecNR(XSecNR,XErrNR) ! get normalization x-section

The complete description of post-generation output parameters from KW Finalize is collected in Table 11. Finally, the description of input-output parameters of the semi-analytical routine korwan is given in Table 14. It should be recalled here, that the semi-analytical functions s1wan and s1s2wan are initialized by the korwan routine. To this end, for pure initialization, a special setting of its KeyMod argument, KeyMod > 10000, is provided. Tables 12 and 13 describe the input/output of the mavrg and mloss routines.


Printouts of the Program

In this section we describe a printout of the demonstration program KWdemo in the all-fourfermion mode, shown in Appendix C. The printout starts with the detailed speci?cation of the actually used input parameters. Also, logos of all the activated libraries (TAUOLA, PHOTOS, JETSET) are printed here. Next, the printout of one full event (in the standard PDG convention) is shown. The ?nal reports of KoralW are collected in four windows: A, B, C and D. Window A provides a technical internal report of the karlud routine, i.e. information on the crude distribution and the Born matrix element. The line a0 gives the total number of generated weighted events. The line a1 shows the number of events with the negative weight wtcrud. This entry should be equal to zero. The line a2 provides the value of the master crude distribution. The line a3 shows the average of the weight wtcrud, and the line a4 – the corresponding “cross section” (no matrix element is included here – only the crude distribution formula). The lines a5-a8 repeat the information of the lines a0-a1 and a3-a4, but for the weight with the Born matrix element, i.e. wtcrud*wtset(1). The lines a9-a11 provide information on how many of the events have the weight wtcrud*wtset(1) over the wtmax, the maximal weight for rejection. Their contribution to the cross section in absolute units (picobarns) and relative to the Born cross section is listed in a10 and ? a11, respectively. Note that there are no β-functions included in any of the printouts in Window A. Window B is devoted to the technical information on the QED radiative corrections in di?erent orders in α within the YFS framework. This information is quite important, because it shows how big the contributions of subsequent orders of the perturbative series are, and thus allows us to estimate the missing higher-order e?ects. The entries b3b6 provide the values of the total cross section (in picobarns) in the orders O(α0 )exp O(α3 )exp , while the entries b17-b19 give the di?erences of these values in subsequent orders. 32

The entries b7-b16 contain the information on the contributions from the individual YFS ? residuals βi , also in di?erent orders in α. The di?erences between various residuals and various orders for a given residual are provided in the entries b20-b25. Window C is the most important from the user’s point of view. It provides the total number of generated events (c1), the number of accepted events (c2), the best-order total cross section (in picobarns) with the absolute error (c3), as well as the relative error (c4), for the generated statistics sample. Then the information on the negative-weight events is given as a number of such events (c5) and their relative contribution to the cross section (c6), followed by similar information on the overweighted events (c7 and c8, respectively). All these four numbers should be as small as possible. Window D contains some supplementary information and is printed out only if the 4-fermion matrix element is included in the calculation. Part I provides the values of the average weight (d1) and the total cross section (d2) for the W W process (if such exist for a given ?nal state). Part II contains some additional information on the 4-fermion process, as: the average Born level weight (d3), the average total weight (d4), the total cross section (d5) – this should be the same as in Window C (entry c3), the relative contribution to the cross section of the non-W W diagrams, i.e. the size of the background to the W -pair production (d6, calculated from entries d2 and d5, and d7, calculated from a dedicated weight, monitored during the event generation). Finally, the report on di?erent channels is printed out. It includes the codes of the decay W and/or Z channels (?rst column), the ?avours of the ?nal-state fermions in the “human-readable” format (second column), the values of the total cross section and its absolute error (in pb) for individuals channels (third column), the ratio of the maximum weight over the average weight (fourth column) and over the average non-zero weight (?fth column), the fraction of events generated for a given channel with respect to the total number of events (sixth column) and a similar fraction for non-zero-weight events (last column). The last line of this report provides the value of the total cross section and its error (in pb) summed over all open channels. This completes the description of the output of KoralW. The remaining entries shown in the demo output are produced by the demo main program.


Random Number Generators

The KoralW code uses exclusively one of three random number generators: RANMAR, ECURAN or CARRAN. These single precision generators are called by one double precision interface routine VARRAN. The choice between generators is done with the help of the key KeyRnd (1 =RANMAR, 2 =ECURAN, 3 =CARRAN). In order to avoid possible interference with libraries, RANMAR of KoralW is renamed to MARRAN. JETSET, PHOTOS and TAUOLA have their own independent random number generators.


We thank the CERN TH and EP Divisions and all four LEP Collaborations for their support. Two of us (W. P. and M. S.) also thank Prof. Lee L. Riedinger for the support and kind hospitality of the Department of Physics and Astronomy of the University of Tennessee, Knoxville, TN, where part of this work was done. Two of us (M. S. and Z. W.) would like to thank Prof. W. Hollik for the hospitality of ITP, Karlsruhe Universit¨t. We a would like to express our gratitude to S. Jezequel, M. Gr¨ newald and M. Witek for their u help in testing the program and valuable comments.


Appendix A: Program Parameters and Their Settings
Parameter cmsene gmu alfwin amaz gammz amaw gammw vvmin vvmax wtmax amh agh alpha s arbitr arbitr1 themin arbitr2 wtmax cc03 PReco Position and meaning √ xpar(1) (=180) : s, centre-of-mass (CMS) energy [GeV] xpar(2) (=1.16639d-5) : GF , Fermi constant in [GeV] xpar(3) (=128.07d0): 1/αW inverse QED coupling constant at MW scale xpar(4) (=91.1888): MZ , mass of Z boson [GeV] xpar(5) (=2.4974): ΓZ , width of Z boson in [GeV] xpar(6) (=80.230): MW , mass of W boson [GeV] xpar(7) (=-2.03): ΓW , width of W boson [GeV], for (gammw < 0) ΓW is recalculated from G? , MW and αS xpar(8) (=1d-6): Minimum v-variable (dimensionless), infra-red cut-o? xpar(9) (=0.99): Maximum value of v-variable xpar(10) (=-1): Maximum weight for rejection, for wtmax < 0 rede?ned inside program xpar(11) (=1000): Higgs mass [GeV] xpar(12) (=1): Higgs width [GeV] xpar(13) (=0.12): QCD coupling constant xpar(14) (=600): minimum visible pT [GeV2 ] ? xpar(15) (=8): invariant-mass cut for e+ e? f f [GeV2 ] xpar(16) (=1d-6): minimum θ [rad] relative to beam (0=no cut) ? xpar(17) (=300): maximum pT of photons in e+ e? f f channels [GeV2 ] (if arbitr2 ≤ 0 then no cut) xpar(18) (=-1): maximum CC03 weight for rejection in KeySmp=0, for wtmax < 0 rede?ned inside program xpar(19) (=0): Colour Reconnection Probability

Table 1: List of input parameters of the KoralW generator in xpar vector. Default values in brackets.



g1(1) kap(1) lam(1) g4(1) g5(1) kapt(1) lamt(1) g1(2) kap(2) lam(2) g4(2) g5(2) kapt(2) lamt(2) delta Z x gamma xZ y gamma yZ alpha Wphi alpha Bphi alpha W

Position and meaning xpar(21-57): Values of TGCs: set 1, most general set – complex numbers, default values are wild random, not shown z =DCMPLX(xpar(21),xpar(31)) = g1 , for W W Z vertex =DCMPLX(xpar(22),xpar(32)) = κz , for W W Z vertex =DCMPLX(xpar(23),xpar(33)) = λz , for W W Z vertex z =DCMPLX(xpar(24),xpar(34)) = g4 , for W W Z vertex z =DCMPLX(xpar(25),xpar(35)) = g5 , for W W Z vertex =DCMPLX(xpar(26),xpar(36)) = κz , for W W Z vertex ? ? z , for W W Z vertex =DCMPLX(xpar(27),xpar(37)) = λ g =DCMPLX(xpar(41),xpar(51)) = g1 , for W W γ vertex =DCMPLX(xpar(42),xpar(52)) = κg , for W W γ vertex =DCMPLX(xpar(43),xpar(53)) = λg , for W W γ vertex g =DCMPLX(xpar(44),xpar(54)) = g4 , for W W γ vertex g =DCMPLX(xpar(45),xpar(55)) = g5 , for W W γ vertex =DCMPLX(xpar(46),xpar(56)) = κg , for W W γ vertex ? ? g , for W W γ vertex =DCMPLX(xpar(47),xpar(57)) = λ xpar(61-65): Values of TGCs: set 2, see CERN 96-01, Vol. 1, p. 525 =xpar(61) = δZ =xpar(62) = xγ =xpar(63) = xZ =xpar(64) = yγ =xpar(65) = yZ xpar(71-73): Values of TGCs: set 3, see CERN 96-01, Vol. 1, p. 525 =xpar(71) = αW φ =xpar(72) = αBφ =xpar(73) = αW

Table 2: List of input parameters of the KoralW generator in xpar vector (cont.). Default values in brackets.


Variable KeyISR









Position and meaning xpar(1011) (=1) =0 Initial State Radiation is OFF =1 Initial State Radiation is ON xpar(1012) (=0) Final State Radiation switch, INACTIVE xpar(1013) (=1) =0 sets to zero the Next-to Leading α/π terms in the YFS form factor, useful for comparisons =1 the α/π terms are kept in the YFS form factor xpar(1014) (=1) =0 Coulomb correction is OFF =1 Coulomb correction is ON xpar(1021) (=1) sets W branching ratios, used for normalization of CC03 matrix element only =0 Born values (no mixing) with Naive QCD (if αS = 0: ud, cs = 1/3, eν, ?ν, τ ν = 1/9, others = 0) =1 with CKM mixing and Naive QCD, de?ned in KW Initialize =2 with CKM mixing and Naive QCD, calculated in IBA from the CKM matrix (PDG ’98) xpar(1022) (=1) =0 Massless kinematics; τ decay, radiative corrections in decay and hadronization must be switched o? =1 Massive kinematics, masses of fermions are read from xpar xpar(1023) (=0) =0 Z width in Z propagator: (s/MZ )ΓZ =1 Z width in Z propagator: MZ ΓZ =2 no Z width in Z propagator xpar(1024) (=1) =0 spin e?ects are switched OFF in W decays, for tests only =1 spin e?ects are switched ON in W decays xpar(1025) (=0) =0 “sophisticated” reduction of massive to massless four-vectors for CC03 internal Matrix Element =1 “brute-force” reduction of massive to massless four-vectors for CC03 internal Matrix Element, four-momentum NON-conserving =2 no reduction at all of massive to massless four-vectors for CC03 internal Matrix Element xpar(1026) (=0) =0 W width in W propagator: (s/MW )ΓW =1 W width in W propagator: MW ΓW =2 no W width in W propagator

Table 3: List of input parameters of the KoralW generator in xpar vector (cont.). Default values in brackets.


Parameter KeyWgt








Position and meaning xpar(1031) (=0) =0 constant weight wtmod=1, for apparatus Monte Carlo =1 variable weight wtmod events =2 for special purposes: wtmod=1 for internal matrix element, AND varying weight for external matrix element xpar(1032) (=1) =1 RANMAR random number generator =2 ECURAN random number generator =3 CARRAN random number generator xpar(1033) (=2) =0 presampler set as in KoralW v. 1.02-1.2x, i.e. CC03 oriented =1 ?rst presampler for all 4-fermion ?nal states =2 second presampler for all 4-fermion ?nal states =3 50/50 mixed (1+2) presampler for all 4-fermion ?nal states xpar(1041) (=0) =0 “renormalization scheme” of LEP2 Workshop (recommended) =1 “renormalization scheme” based on G? =2 “bare Born” (for tests) xpar(1042) (=1) =0 External Matrix Element OFF =1 External Matrix Element ON xpar(1043) (=0) =0 anomalous W W V couplings in internal CC03 matrix element OFF >0 anomalous W W V couplings in internal CC03 matrix element ON =1 the most general (complex number) TGCs in the notation of K. Hagiwara et al., Nucl. Phys. B282 (1987) 253 =2 parametrization of CERN 96-01, Vol. 1, p. 525: δZ , xγ , xZ , yγ , yZ =3 parametrization of CERN 96-01, Vol. 1, p. 525: αW φ , αBφ , αW xpar(1044) (=1) KeyZon=0 ZZ type ?nal states OFF KeyZon=1 ZZ type ?nal states ON xpar(1045) (=1) KeyWon=0 WW type ?nal states OFF KeyWon=1 WW type ?nal states ON

Table 4: List of input parameters of the KoralW generator in xpar vector (cont.). Default values in brackets.


Parameter KeyDwm


Nout Jak1 Jak2



ifhadM ifhadP


Position and meaning xpar(1055) (=0) Sets decay channel of W ? or “Z1 ” resonance, depending on KeyWon/KeyZon =0 inclusive, otherwise exclusive modes for W are =1 2 3 4 5 6 7 8 9 ud cd us cs ub cb eν ?ν τ ν and for Z are =1 2 3 4 5 6 7 8 =9 10 11 dd uu ss cc bb ee ?? τ τ νe νe ν? ν? ντ ντ xpar(1056) (=0) Sets decay channel of W + or “Z2 ” resonance, depending on KeyWon/KeyZon, similar assignments as for W ? or “Z1 ” Note: In the inclusive assignment KeyDwm=0, KeyDwp=0 the auxiliary user mask Umask is used by the program. It allows the user to con?gure arbitrary menu of KeyDwm, KeyDwp. The Umask is passed through xpar(1101)-xpar(1302) parameters. Final states that may come from either W W or ZZ are classi?ed as W W -type except for ussu, ubbu, cddc and cbbc, which are classi?ed as ZZ-type. See Appendix B for more details. xpar(1057) (=-1) Output unit number for the generator (if < 0 then Nout=16) xpar(1071) (=0) Input for TAUOLA, de?nes decay mode of τ + in W + decay xpar(1072) (=0) Input for TAUOLA, de?nes decay mode of τ ? in W ? decay Jak1,Jak2 = -1 TAUOLA is switched OFF Jak1,Jak2 = 0 requests all τ ± decay channels to be simulated Jak1,Jak2 > 0 single speci?c τ ± decay channel, see TAUOLA manual xpar(1073) (=1) Input for TAUOLA, radiative corrections in leptonic τ decays switch itdkrc=1 corrections are ON itdkrc=0 corrections are OFF xpar(1074) (=1) : PHOTOS, activation switch =1 PHOTOS is ON =0 PHOTOS is OFF xpar(1075) (=1) : W ? hadronization activation switch (JETSET) xpar(1075) (=1) : W + hadronization activation switch (JETSET) ifhadm,ifhadp=1 hadronization is ON ifhadm,ifhadp=0 hadronization is OFF In the present version ifhadm and ifhadp have to be equal! xpar(1101-1302) user supplied Umask to activate a speci?c menu of the ?nal states.

Table 5: List of input parameters of the KoralW generator in xpar vector (cont.). Default values in brackets.


Parameter amel alfinv gpicob br(1:20) amafin(20)


Meaning xpar(100) (=0.51099906d-3) Electron mass used by the bremsstrahlung generator, reset to amafin(11) xpar(101) (=137.0359895) 1/α(0) Inverse QED coupling constant at Thomson scale Q2 =0 xpar(102) (=389.37966d6) Conversion factor from GeV?2 to pb xpar(131-139) W branching ratios; numbering of entries is: 1 = ud, 2 = cd, 3 = us, 4 = cs, 5 = ub, 6 = cb, 7 = e, 8 = ?, 9 = τ xpar(500 +10*KF +6) Masses of the W decay products; used entries KF (in PDG notation) are: 1 = d, 2 = u, 3 = s, 4 = c, 5 = b, 6 = t, 11 = e, 12 = νe , 13 = ?, 14 = ν? , 15 = τ, 16 = ντ ; masses of τ and ντ have to be independently set to the same numerical values in intialization of TAUOLA xpar(111-119) CKM matrix elements

Table 6: List of input parameters of the KoralW generator in xpar vector (cont.). Default values in brackets.

Parameter qeff1(4) qeff2(4) sphum(4) sphot(100,4) nphot

Meaning E?ective parameter for matrix element (e? e?ective beam, CMS) E?ective parameter for matrix element (e+ e?ective beam, CMS) Sum of four-momenta of ISR photons, CMS Four-momenta of ISR photons, CMS Multiplicity of ISR photons

Table 7: List of four-momenta in the internal common block /momset/ of the KoralW generator.

Parameter q1(4) q2(4) p1(4) p2(4) p3(4) p4(4)

Meaning Four-momentum Four-momentum Four-momentum Four-momentum Four-momentum Four-momentum

of of of of of of

the the the the the the

W ? /Z1 resonance, = p1 + p2 , in CMS W + /Z2 resonance, = p3 + p4 , in CMS fermion from W ? /Z1 decay, CMS antifermion from W ? /Z1 decay, CMS fermion from W + /Z2 decay, CMS antifermion from W + /Z2 decay, CMS

Table 8: List of four-momenta in the internal common block /momdec/ of the KoralW generator.


Parameter effbeam1(4) effbeam2(4) effp1(4) effp2(4) effp3(4) effp4(4)

Meaning Four-momentum Four-momentum Four-momentum Four-momentum Four-momentum Four-momentum

of of of of of of

the the the the the the

e? beam, along z-axis, in e?ective CMS e+ beam, in e?ective CMS fermion from W ? /Z1 decay, e?ective CMS antifermion from W ? /Z1 decay, e?ective CMS fermion from W + /Z2 decay, e?ective CMS antifermion from W + /Z2 decay, e?ective CMS

Table 9: List of four-momenta in the internal common block /cms eff momdec/ of the KoralW generator.

Parameter wtcrud wtmod

wtset(1-100) wtset(1) wtset(2) wtset(3) wtset(4) wtset(10) wtset(11) wtset(12) wtset(13) wtset(14) wtset(15) wtset(16) wtset(17) wtset(18) wtset(19) wtset(40) wtset(41-49)

Meaning Crude weight, necessary to build the total weight out of wtset Best weight For KeyISR=0 wtmod=wtcrud*wtset(1), For KeyISR=1 wtmod=wtcrud*wtset(4) ? Born matrix element with various β contributions – to get total weight must be multiplied by wtcrud ? Zero-order complete (β0 ) ? ? First-order complete (β0 + β1 ) ? ? ? Second-order complete (β0 + β1 + β2 ) ?0 + β1 + β2 + β3 ) ? ? ? Third-order complete (β 0 ) contribution O(α O(α1 ) 0-real, 1-virtual photon contribution O(α1 ) 1-real, 0-virtual photon contribution O(α2 ) 0-real, 2-virtual photon contribution O(α2 ) 1-real, 1-virtual photon contribution O(α2 ) 2-real, 0-virtual photon contribution O(α3 ) 0-real, 3-virtual photon contribution O(α3 ) 1-real, 2-virtual photon contribution O(α3 ) 2-real, 1-virtual photon contribution O(α3 ) 3-real, 0-virtual photon contribution wtmod4f, external matrix element wt4f(1-9) additional weights from ext. matrix element, if provided

Table 10: List of output weights in the common block /wgtall/ of the KoralW generator.


Parameter XSecMC



Meaning Principal best total Monte Carlo cross section [pb] For KeyISR=0 Born cross section For KeyISR=1 third-order exponentiated cross section Its absolute error [pb] Normalization cross section: For KeyWgt=0 principal cross section XSecMC [pb], For KeyWgt=1 crude cross section XCrude [pb] Its absolute error [pb] Total number of generated Monte Carlo events

Table 11: List of output parameters of KoralW generator transferred through parameters of the getter type subprograms KW GetXSecMC(XSecMC,XErrMC), KW GetNevMC(NevMC) and KW GetXSecNR(XSecNR,XErrNR).

Parameter svar keypho kaccbre dmavrg dmerr

Meaning INPUT s, CMS energy squared [GeV2 ] As KeyMod of korwan As KeyPre of korwan OUTPUT Mass average in GeV Absolute error in GeV

Table 12: List of arguments of the mavrg routine.

Parameter svar keypho eeps vvloss vverr

Meaning INPUT s, CMS energy squared [GeV2 ] As KeyMod of korwan Absolute precision of integration OUTPUT Average mass loss in GeV Absolute error in GeV

Table 13: List of arguments of the mloss routine.


Parameter svar vvmin vvmax keymod


xsect errabs

Meaning INPUT s, CMS energy squared [GeV2 ] vmin , minimal v variable, in most cases should be set to 0 vmax , maximal v variable De?nes type of structure functions used for ISR: = 0 No ISR, Born, =300 Zero Order, YFS style, =301 First Order, YFS style, =302 Second Order, YFS style, =303 Third Order, YFS style, =502 Second Order, Gribov-Kuraev-Fadin style, =310 First-Order YFS Beta0 only, =311 First-Order YFS Beta1 only, =320 Second-Order YFS Beta0 only, =321 Second-Order YFS Beta1 only, =322 Second-Order YFS Beta2 only, <0 as (-keymod) but multiplied by v di?erential distribution dσ/d log v De?nes precision level of the computation For KeyMod=0 No ISR, Born, in (eνe ) channel =1 absolute error 1 × 10?5 [pb] =2 absolute error 1 × 10?6 [pb] =3 absolute error 1 × 10?7 [pb] For KeyMod>0 ISR, in (eνe ) channel =1 absolute error 3 × 10?5 [pb] =2 absolute error 1 × 10?5 [pb] =3 absolute error 1 × 10?6 [pb] =4 absolute error 1 × 10?7 [pb] OUTPUT Cross section [pb] Absolute error [pb]

Table 14: List of arguments of the korwan routine.


Appendix B: Umask matrix for Final States–Default values
In this appendix we present the template mask for specifying ?nal states in the fully inclusive 4-f ermion mode, i.e. with KeyWon=KeyZon=1, KeyDwm=KeyDwp=0. The mask below opens all channels allowed by the program. To exclude some of them, appropriate zeros should be put into the Umask matrix. There is a total of 202 entries in it, corresponding to an easy-to-handle classi?cation: 9 × 9 of W × W decay modes and 11 × 11 of Z × Z decay modes. This way some decay channels are doubly counted as some ?nal states can be both W W - and ZZ-type. To avoid such double-counting in the event generation, appropriate entries in the mask are set to 0. Regardless of the input values used, the program always checks for these MIX-type channels and always assigns them either to W W or to ZZ. Therefore the user can safely use the mask with all entries set to 1. The actual mask used by the program after this internal veri?cation is printed to the output ?le. Note also that we adopted a convention that four of the MIX-type ?nal states (u?s?, u? u, cdd?, c? c) are s u bb? ? c bb? coded as ZZ (xpar(1205), xpar(1215), xpar(1227) and xpar(1229)) whereas other MIX-types as W W (cf. Subsection 3.2.2). Finally, it should be kept in mind that this is one mask for all channels and not two separate masks for W W and ZZ ones.
xpar(1101-1302)= Umask: Wm= 1:ud 2:cd 3:us 4:cs 5:ub 6:cb 7:el 8:mu 9:ta /Wp= xpar(1101-1109): 1 1 1 1 1 1 1 1 1 1:ud xpar(1110-1118): 1 0 1 1 1 1 1 1 1 2:cd ... 1 1 0 1 1 1 1 1 1 3:us 1 1 1 1 1 1 1 1 1 4:cs 1 1 1 1 0 1 1 1 1 5:ub 1 1 1 1 1 0 1 1 1 6:cb 1 1 1 1 1 1 1 1 1 7:el 1 1 1 1 1 1 1 1 1 8:mu xpar(1173-1181): 1 1 1 1 1 1 1 1 1 9:ta Z1= 1:d 2:u 3:s 4:c 5:b 6:el 7:mu 8:ta 9:ve 10vm 11vt /Z2= xpar(1182-1192): 1 0 0 0 0 0 0 0 0 0 0 1:d xpar(1193-1203): 0 1 0 0 0 0 0 0 0 0 0 2:u ... 1 1 1 0 0 0 0 0 0 0 0 3:s 1 1 0 1 0 0 0 0 0 0 0 4:c 1 1 1 1 1 0 0 0 0 0 0 5:b 1 1 1 1 1 1 0 0 0 0 0 6:el 1 1 1 1 1 1 1 0 0 0 0 7:mu 1 1 1 1 1 1 1 1 0 0 0 8:ta 1 1 1 1 1 0 1 1 1 0 0 9:ve 1 1 1 1 1 1 0 1 1 1 0 10vm xpar(1292-1302): 1 1 1 1 1 1 1 0 1 1 1 11vt


Appendix C: Output of the Demo Program

*************************************************************** *************************************************************** *************************************************************** * ### ### ### ### * * ### ### #### ###### ## ## ### ### * * ### ### ## ## ## ## #### ## ### ### * * ###### ## ## ## ## ## ## ## ### ### * * ###### ## ## ##### ## ## ## ### # ### * * ### ### ## ## ## ## ######## ## ### ### ### * * ### ### #### ## ## ## ## ####### #### #### * * ### ### version 1.42.3 ## ## * *************************************************************** ********************** March 1999 ************************* *************************************************************** Last modification: 3.17.1999 *************************************************************** * Written by: * * S. Jadach (Stanislaw.Jadach@cern.ch) * * W. Placzek (Wieslaw.Placzek@cern.ch) * * M. Skrzypek (Maciej.Skrzypek@cern.ch) * * B.F.L. Ward (bflw@slac.stanford.edu) * * Z. Was (Zbigniew.Was@cern.ch) * * Papers: * * M. Skrzypek, S. Jadach, W. Placzek, Z. Was * * CERN-TH/95-205, Jul 1995, CPC 94 (1996) 216 * * M. Skrzypek, S. Jadach, M. Martinez, W. Placzek, Z. Was * * CERN-TH/95-246, Sep 1995, Phys. Lett. B372 (1996) 289 * * S. Jadach, W. Placzek, M. Skrzypek, B.F.L. Ward, Z. Was * * CERN-TH/98-242, UTHEP-98-0702, Jul 1998, submitted to CPC * * M. Skrzypek, S. Jadach, W. Placzek, B.F.L. Ward, Z. Was * * CERN-TH/99-06, UTHEP-98-1001, Jan 1999, proc. of RADCOR98 * * Related papers: * * T. Ishikawa, Y. Kurihara, M. Skrzypek, Z. Was * * CERN-TH/97-11, Jan 1997, Eur. Phys. J. C4 (1998) 75 * * S. Jadach, K. Zalewski * * CERN-TH/97-29, Jan 1997, Acta Phys. Pol. B28 (1997) 1363 * * WWW: * * \protect\vrule width0pt\protect\href{http://hpjmiady.ifj.edu.pl/}{http://hpjmi * Acknowledgements: * * We acknowledge warmly very useful help of: * * M. Martinez in testing versions 1.01 and 1.02, * * M. Gruenewald and A. Valassi in testing version 1.21 * * S. Jezequel in testing versions 1.31-1.33 * * M. Witek in testing version 1.41 * * M. Verzocchi in testing version 1.42 * *************************************************************** *************************************************************************** * KORALW input parameters used * * 190.00000000 CMS energy total CMSENE I.0 * * *********************************************** * * 1101 QED super-switch KeyRad IQ1 * * 1 Init. state Rad. KeyISR IQ2 * * 0 Final state Rad. KeyFSR IQ3 * * 1 Next. To Leading KeyNLL IQ4 * * 1 Coulomb corr. KeyCul IQ5 * * *********************************************** * * 1012 Physics super-switc KeyPhy IP1 * * 0 FS mass reduction KeyRed IP2 * * 1 Spin in W decays KeySpn IP3 * * 0 Z propag. KeyZet IP4 * * 1 Mass kinematics. KeyMas IP5 * * 2 Branching Rat. KeyBra IP6 * * 0 W propag. KeyWu IP7 * * *********************************************** *


* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

211 Technical super-swi KeyTek IT1 * 2 presampler type KeySmp IT2 * 1 rand Numb type KeyRnd IT3 * 1 weighting switch KeyWgt IT4 * *********************************************** * 11010 Miscelaneous KeyMis IM1 * 0 sinW2 input type KeyMix IM2 * 1 4 fermion matr el Key4f IM3 * 0 Anomalous couplings KeyAcc IM4 * 1 WW type final state KeyWon IM5 * 1 ZZ type final state KeyZon IM6 * *********************************************** * 0 W-/Z decay mode KEYDWM ID1 * 0 W+/Z decay mode KEYDWP ID2 * *********************************************** * 1.16639000 G_mu * 1d5 GMU I.1 * 128.07000000 inv alpha_w ALFWIN I.2 * 91.18880000 Z mass [GeV] AMAZ I.3 * 2.49740000 Z width [GeV] GAMMZ I.4 * 80.23000000 W mass [GeV] AMAW I.5 * 2.08545732 W width [GeV] GAMMW I.6 * .00000100 dummy infrared cut VVMIN I.7 * .99000000 v_max ( =1 ) VVMAX I.8 * 2.00000000 max wt for rejectn. WTMAX I.9 * 4.00000000 max wt for CC03 rej WTMAX I10 * .12000000 alpha_s: QCD coupl. ALPHAS I11 * .00000000 Color Re-Con. Prob. PReco I12 * *********************************************** * .23103091 sin(theta_W)**2 SINW2 I13 * *********************************************** * *********************************************** * Z width in Z propagator: s/M_Z *GAMM_Z * *********************************************** * * CKM matrix elements: * .97525000 V_ud VCKM(1,1) IV1 * ..... skipped .... * .99925000 V_tb VCKM(3,3) IV9 * * Unitarity check of the CKM matrix: * * 1.000 .000 .003 * * VV+ = .000 1.000 .000 * * .003 .000 1.000 * * * * Branching ratios of W decays: * * .32097393 ud BR(1) IB1 * ..... skipped .... * .10835195 tau BR(9) IB9 * * fermion masses: * * .01000000 d AMAFIN(1) IM1 * * .00500000 u AMAFIN(2) IM2 * ..... skipped .... * 1.77710000 tau AMAFIN(15) IM10 * * .00100000 vtau AMAFIN(16) IM11 * * * * Predefined cuts on final state fermions * * 600.00000000 min. vis p_t**2 GeV^2 X2 * * 8.00000000 add. cut for e+e-ch+ GeV^2 X3 * * .10000000E-05 min. theta with beam rad X6 * * 300.00000000 max. p_t**2 phot eex GeV^2 X3 * * DECAY LIBRARIES * * 0 TAUOLA for W+ JAK1 IL1 * * 0 TAUOLA for WJAK2 IL2 * * 1 TAUOLA Ord(alpha) ITDKRC IL3 * * 1 PHOTOS IFPHOT IL4 * * 1 JETSET for WIFHADM IL5 * * 1 JETSET for W+ IFHADP IL6 * *************************************************************************** umask_init=>umask: 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0


1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 .0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 .0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 .0 1.0 1.0 1.0 1.0 1.0 1.0 .0 .0 1.0 .0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 .0 .0 .0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 .0 1.0 1.0 1.0 1.0 .0 .0 .0 .0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 1.0 1.0 1.0 .0 1.0 1.0 1.0 .0 .0 .0 .0 .0 1.0 1.0 1.0 .0 1.0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 .0 .0 .0 .0 .0 .0 1.0 1.0 1.0 .0 1.0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 .0 .0 .0 .0 .0 .0 .0 1.0 1.0 1.0 .0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 .0 .0 .0 .0 .0 .0 .0 .0 1.0 1.0 1.0

.0 .0 .0 .0 .0 .0 .0 .0 .0 1.0 1.0

.0 .0 .0 .0 .0 .0 .0 .0 .0 .0 1.0

*************************************************************************** * *****TAUOLA LIBRARY: VERSION 2.6 ****** * * ***********August 1995*************** * * **AUTHORS: S.JADACH, Z.WAS************* * * **R. DECKER, M. JEZABEK, J.H.KUEHN***** * * **AVAILABLE FROM: WASM AT CERNVM ****** * * ***** PUBLISHED IN COMP. PHYS. COMM.*** * * *******CERN-TH-5856 SEPTEMBER 1990***** * * *******CERN-TH-6195 SEPTEMBER 1991***** * * *******CERN-TH-6793 NOVEMBER 1992***** * * **5 or more pi dec.: precision limited * * ******DEXAY ROUTINE: INITIALIZATION**** * * 0 JAK1 = DECAY MODE FERMION1 (TAU+) * * 0 JAK2 = DECAY MODE FERMION2 (TAU-) * *************************************************************************** *************************************************************************** * Window H used only by Grace 2.0 * * Higgs boson parameters * * 1000.00000000 xpar(11)= higgs mass amh H1 * * 1.00000000 xpar(12)= higgs widt agh H2 * * * *************************************************************************** *************************************************************************** * Window X_ZZ * * mm_brancher_ZZ report * * mm_brancher_ZZ is on * * .00000000 prob. for branch NR: 1 X1 * ..... skipped .... * .02232143 prob. for branch NR: 8 X1 * ..... skipped .... * .00000000 prob. for branch NR: 65 X1 * * * ***************************************************************************
Event listing (standard) I 1 2 3 4 5 6 7 8 particle/jet !e-! !e+! (Z0) (Z0) ee+ mumu+ K(I,1) 21 21 11 11 1 1 1 1 sum charge: K(I,2) K(I,3) 11 -11 23 23 11 -11 13 -13 .00 K(I,4) K(I,5) P(I,1) .00000 .00000 -41.18296 41.18296 .01444 -41.19740 -3.64304 44.82600 .00000 P(I,2) .00000 .00000 13.10538 -13.10538 .00373 13.10166 1.49896 -14.60434 .00000 P(I,3) 95.00000 -95.00000 23.92689 -23.92689 -46.54470 70.47158 4.29885 -28.22573 .00000 P(I,4) 95.00000 95.00000 129.21950 60.78049 46.54470 82.67480 5.83179 54.94870 190.00000 P(I,5) .00051 .00051 119.40434 35.41166 .00051 .00051 .10566 .10566 190.00000

0 3 4 0 3 4 1 5 6 1 7 8 3 0 0 3 0 0 4 0 0 4 0 0 sum momentum and inv. mass:

*************************************************************************** * Window X_WW * * mm_brancher_WW report * * mm_brancher_WW is on * * .46296296 prob. for branch NR: 1 X1 * ..... skipped ....


* .00000000 prob. for branch NR: 65 X1 * *************************************************************************** *************************************************************************** * KORALW final report * * Window A * * WEIGHTED evts. * * * * ccru matrix element means: * * a) Born matrix element for CC03 processes * * b) technical crude m.e. for nc processes or * * for keysmp .NE. 0 * * * * xsect with no matrix element * * 10000 total no of events nevtot a0 * * 0 wtcrud < 0 evts nevneg a1 * * 35058.681 sigma_crude Xcrude a2 * * .55820244 +- .64458 <wtcrud>, rel err wtkacr a3 * * 19569.841 +- 12614. phsp. vol, no beta-0 xskr a4 * * * * * * xsect with ccru matrix el. only, no betas * * 10000 total no of events nevtot a5 * * 0 wtcrud*wtborn <0 evt nevneg a6 * * .40047631E-03 +- .27055 <wtcrud*wtborn>, rel wtkabo a7 * * 14.040171 +- 3.7986 sigma (born m.el.) xska0 a8 * * * * xsect over wtmax_cc03 * * ccru matrix el. only, no betas * * 0 evts: wt>wtmax_cc03 nevove a9 * * .00000000E+00 +- .00000E+00 sigma: wt>wtmax_cc03 xskabo a10 * * .00000000E+00 +- .00000E+00 relat sigma: wt>wtma xskabo a11 * *************************************************************************** *************************************************************************** * KORALW final report * * Window B * * Xsec-s in [pb] * * * * 29.68888933 +- 4.74480757 xsec total O(alf0) b3 * * 30.29512756 +- 4.95372145 xsec total O(alf1) b4 * * 30.33902996 +- 4.96038178 xsec total O(alf2) b5 * * 30.33978251 +- 4.96052513 xsec total O(alf3) b6 * * 0 wt<0 events O(alf0) * * 0 wt<0 events O(alf1) * * 0 wt<0 events O(alf2) * * 0 wt<0 events O(alf3) * * 29.68888933 +- 4.74480757 xsec(beta00) O(alf0) b7 * * 31.38896196 +- 5.01650913 xsec(beta01) O(alf1) b8 * ..... skipped .... * .02364120 +- .01578300 xsec(beta21) O(alf3) b15 * * -.00003663 +- -.00003099 xsec(beta30) O(alf3) b16 * * xsec_tot differences * * .60623824 +- .29779330 xstot(alf1-0) O(alf1) b17 * * .04390240 +- .01499107 xstot(alf2-1) O(alf2) b18 * * .00075255 +- .00022070 xstot(alf3-2) O(alf3) b19 * * betas differences * * 1.70007263 +- .27170156 xs(beta01-00) O(alf1) b20 * ..... skipped .... * -.00055056 +- -.00019179 xs(beta21-20) O(alf3) b24 * * -.00003663 +- -.00003099 xs(beta30) O(alf3) b25 * *************************************************************************** *************************************************************************** * KORALW final report * * Window C * * * * BEST order total xsect. * * 10000 total no of events nevtot c1 * * 10000 accepted events NevTru c2 * * 30.339783 +- 4.9605 sigma_tot [pb] xskabo c3 *


* .16349903 relative error errela c4 * * 0 events: wt<0 nevneg c5 * * .00000000E+00 +- .00000E+00 xsec/xtot: wt<0 xsneg c6 * * 0 events: wt>wtmax nevove c7 * * .00000000E+00 +- .00000E+00 xsec/xtot: wt>wtmax xsove c8 * *************************************************************************** *************************************************************************** * KORALW final report * * Window D * * * * Complete 4-fermion process * * * * I. Best ord. W-pair total xsect. * * .41443001E-03 +- .27359 <wttww>: WW weight averwt d1 * * 14.529370 +- 3.9751 sigma_WW, best [pb] xskabo d2 * * * * II. Best ord. 4-fermion total xsect. * * 21819.562 +- .74956 <wtbo4f>, rel err averwt d3 * * .86540000E-03 +- .16350 <wttot>,rel err averwt d4 * * 30.339783 +- 4.9605 sigma_4f, best [pb] xskabo d5 * * .52111161 +- .15263 sigma 1-Wpair/4ferm 1-d2/5 d6 * * .52111161 +- .12996 sigma 1-Wpair/4ferm wtbgr d7 * *************************************************************************** *************************************************************************** Decay Report on Different Channels wt_max wt_max nev_ch nev_non0 wm wp human sigma [pb] +- abs_err ------ -------- ------ -------<wt> <wt_non0> tot nev_ch 1 1 dq~uq uq~dq .3863394E+01+- .25E+01 .67E+01 .37E+01 .0011 .5455 2 1 dq~cq uq~dq .0000000E+00+- .00E+00 .67E+01 .37E+01 .0000 .0000 3 1 sq~uq uq~dq .0000000E+00+- .00E+00 .67E+01 .37E+01 .0000 .0000 4 1 sq~cq uq~dq .6681917E-09+- .67E-09 .20E+01 .10E+01 .0002 .5000 ..... skipped .... 11 11 nt~nt nt~nt .0000000E+00+- .00E+00 .10E+01 .10E+01 .0000 .0000 total xsection = 30.3397825138152157 +- 4.96052512935006362 [pb] *************************************************************************** ============ demo ============ 30.33978251 +- 4.96052513 MC Best, XPAR, KoralW ========== End demo ==========


[1] M. Skrzypek, S. Jadach, W. Placzek and Z. W?s, Comput. Phys. Commun. 94, 216 a (1996). [2] D. R. Yennie, S. Frautschi and H. Suura, Ann. Phys. (NY) 13, 379 (1961). [3] Physics at LEP2, edited by G. Altarelli, T. Sj¨strand and F. Zwirner (CERN 96-01, o Geneva, 1996), 2 vols. [4] V. Fadin, V. Khoze, A. Martin and W. Stirling, Phys. Lett. B363, 112 (1995). [5] W. Beenakker et al., in Ref. [3], Vol. 1, p. 79. [6] Z. Kunszt et al., in Ref. [3], Vol. 1, p. 141. [7] S. Jadach and K. Zalewski, Acta Phys. Polon. B28, 1363 (1997). [8] S. Jadach et al., Phys. Lett. B417, 326 (1998). [9] S. Jadach et al., in preparation (unpublished). [10] M. Skrzypek et al., Phys. Lett. B372, 289 (1996). [11] T. Ishikawa, Y. Kurichara, M. Skrzypek and Z. W?s, Eur. Phys. J. C4, 75 (1998), a CERN preprint CERN-TH/97-11. [12] J. Fujimoto et al., GRACE User’s manual, version 2.0, MINAMI-TATEYA collaboration (unpublished). [13] T. Ishikawa et al., GRACE User’s manual, version 1.1, MINAMI-TATEYA collaboration, August 1, 1994 (unpublished). [14] S. Jadach, The FORTRAN code GLIBK, 1995 (unpublished). [15] T. Sj¨strand and M. Bengtsson, Comput. Phys. Commun. 43, 367 (1987). o [16] E. Barberio and Z. W?s, Comput. Phys. Commun. 79, 291 (1994). a [17] R. Decker, S. Jadach, J. H. K¨ hn and Z. W?s, Comput. Phys. Commun. 76, 361 u a (1993). [18] R. Brun and F. Rademakers, Root project, 1998, version 2.00, http://root.cern.ch. [19] S. Jadach et al., Comput. Phys. Commun. 102, 229 (1997). [20] P. Golonka and E. Richter-W?s, ATLFAST, 1997, a http://atlasinfo.cern.ch/Atlas/GROUPS/PHYSICS/HIGGS/Atlfast.html. 50

[21] M. Je˙ abek, Z. W?s, S. Jadach and J. H. K¨ hn, Comput. Phys. Commun. 70, 69 z a u (1992). [22] J. Hilgart, R. Kleiss and F. Le Diberder, Comput. Phys. Commun. 75, 191 (1993). [23] F. A. Berends, R. Pittau and R. Kleiss, Nucl. Phys. B424, 308 (1994). [24] F. A. Berends, R. Pittau and R. Kleiss, Comput. Phys. Commun. 85, 437 (1995). [25] M. Aguilar-Benitez et al., Phys. Rev. D50, 1173 (1994). [26] S. Jadach, M. Skrzypek and B. F. L. Ward, Phys. Lett. B257, 173 (1991). [27] S. Jadach, E. Richter-W?s, B. F. L. Ward and Z. W?s, Comput. Phys. Commun. 70, a a 305 (1992). [28] S. Jadach and B. F. L. Ward, Comput. Phys. Commun. 56, 351 (1990). [29] S. Jadach and B. F. L. Ward, Phys. Lett. B274, 470 (1992). [30] M. Skrzypek, Acta Phys. Polon. B23, 135 (1992). [31] S. Jadach, B. F. L. Ward and Z. W?s, KK Monte Carlo for fermion pairs in e+ e? a collisions, 1998, in preparation. [32] J. Fleischer, F. Jegerlehner and M. Zralek, Z. Phys. C42, 409 (1989). [33] K. Kolodziej and M. Zralek, Phys. Rev. D43, 3619 (1991). [34] M. B¨hm et al., Nucl. Phys. B304, 463 (1988). o [35] W. Beenakker, K. Kolodziej and T. Sack, Phys. Lett. B258, 469 (1991). [36] W. Beenakker, F. Berends and T. Sack, Nucl. Phys. B367, 287 (1991). [37] S. Jadach, W. Placzek, M. Skrzypek and B. F. L. Ward, Phys. Rev. D54, 5434 (1996). [38] S. Jadach et al., Phys. Lett. B417, 326 (1998). [39] A. Denner, Fortschr. Phys. 41, 307 (1993). [40] K. Hagiwara, R. D. Peccei, D. Zeppenfeld and K. Hikasa, Nucl. Phys. B282, 253 (1987). [41] G. Gounaris et al., in Ref. [3], Vol. 1, p. 525. [42] W. Hollik, in Precision Tests of the Standard Electroweak Model, edited by P. Langacker (World Scienti?c, Singapore, 1993), p. 37. [43] T. Muta, R. Najima and S. Wakaizumi, Mod. Phys. Lett. A1, 203 (1986). 51

学霸百科 | 新词新语

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。