Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ îðèãèíàëüíîãî äîêóìåíòà : http://comphep.sinp.msu.ru/_media/manual-3.3.pdf
Äàòà èçìåíåíèÿ: Sun May 29 21:19:25 2005
Äàòà èíäåêñèðîâàíèÿ: Mon Oct 1 19:33:29 2012
Êîäèðîâêà: ISO8859-5
CompHEP- a package for evaluation of Feynman diagrams and integration over multi-particle phase space
E.Boos M.Dubinin V.Edneral D.Kovalenko A.Kryukov V.Savrin Skobeltsyn Institute of Nuclear Physics, Moscow State University S.Shichanin Institute for High Energy Physics, Protvino, Russia A.Semenov Joint Institute for Nuclear Research, Dubna, Russia User's manual for version 33 Preprint INP-MSU 98-41/542 A.Pukhov V.Ilyin

contact persons: Alexander Pukhov: pukhov@theory.npi.msu.su and Viacheslav Ilyin: ilyin@theory.npi.msu.su


1


Contents
1 Preface 6 1.1 Intro duction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2 History and contributions . . . . . . . . . . . . . . . . . . . . 8 1.3 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 10 2 Installation pro cedure 2.1 CompHEP Web page . . . . . . . . . . . . 2.2 License . . . . . . . . . . . . . . . . . . . . . 2.3 How to get the co des . . . . . . . . . . . . . 2.4 Compilation pro cedure . . . . . . . . . . . . 2.5 User installation and start of the CompHEP 2.6 Installation under MS Windows9x/NT . . . .... .... .... .... session .... . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 12 12 13 13 16 17 18 18 18 22 23 23 26 27 31 32 33 34 35 35 36 37 38 39 39 40 41

3 User guide 3.1 Elements of the user interface . . . . . . . . . . . . . . . 3.1.1 Graphical interface . . . . . . . . . . . . . . . . . 3.1.2 Interface for a text-screen mo de . . . . . . . . . . 3.2 Menu system for symb olic calculation . . . . . . . . . . . 3.2.1 Choice of the mo del and work with it . . . . . . . 3.2.2 Input of the pro cess . . . . . . . . . . . . . . . . . 3.2.3 Squaring of diagrams and symb olic calculation . . 3.2.4 Output of results and launching of the numerical culation . . . . . . . . . . . . . . . . . . . . . . . 3.2.5 Non-interactive session . . . . . . . . . . . . . . . 3.3 Numerical calculation by CompHEP . . . . . . . . . . . 3.3.1 Sketch of the menu system . . . . . . . . . . . . . 3.3.2 Numeration of Monte Carlo sessions . . . . . . . . 3.3.3 QCD scale . . . . . . . . . . . . . . . . . . . . . . 3.3.4 Breit-Wigner propagator . . . . . . . . . . . . . . 3.3.5 Phase space functions . . . . . . . . . . . . . . . 3.3.6 Cuts . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.7 Kinematics . . . . . . . . . . . . . . . . . . . . . 3.3.8 Regularization . . . . . . . . . . . . . . . . . . . . 3.3.9 VEGAS menu . . . . . . . . . . . . . . . . . . . . 3.3.10 Batch calculations . . . . . . . . . . . . . . . . . 2

.. .. .. .. .. .. .. cal.. .. .. .. .. .. .. .. .. .. .. .. ..


3.4

3.5

3.6

3.3.11 Integration by means of the Simpson metho d 3.3.12 Pro cess of two particle decay . . . . . . . . . CompHEP event generator . . . . . . . . . . . . . 3.4.1 Concept of the event generator . . . . . . . 3.4.2 The genEvents command . . . . . . . . . . . CompHEP files and commands . . . . . . . . . . . 3.5.1 Files and commands in the working directory 3.5.2 Scheme of calls in the CompHEP session . . 3.5.3 LOCK files . . . . . . . . . . . . . . . . . . User programs in CompHEP . . . . . . . . . . . . . 3.6.1 Concept of user program implementation . . 3.6.2 Fortran case . . . . . . . . . . . . . . . . . 3.6.3 C case . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

43 43 44 44 44 48 48 49 51 51 51 52 53 56 56 56 56 57 60 62 64 64 67 69 70

4 Implementation of mo dels of particle interactions 4.1 Definition of a mo del in CompHEP . . . . . . . . . 4.1.1 Indep endent parameters of the mo del . . . . 4.1.2 Constraints b etween the parameters . . . . . 4.1.3 Description of particles . . . . . . . . . . . . 4.1.4 Ghost fields in CompHEP . . . . . . . . . . 4.1.5 Interaction vertices . . . . . . . . . . . . . . 4.2 Examples . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Implementation of QCD Lagrangian . . . . . 4.2.2 Neutrino as a Ma jorana fermion . . . . . . . 4.2.3 Lepto quarks . . . . . . . . . . . . . . . . . . 4.3 LanHEP and SUSY mo dels . . . . . . . . . . . . .

5 CompHEP output files A 5.1 L TEX output . . . . . . . . . . . . . . . . . . . . . . . 5.2 Symb olic answer in Reduce and Mathematica formats 5.2.1 General structure . . . . . . . . . . . . . . . . . 5.2.2 Example: Summation of diagrams and symb olic gration by means of the Reduce package . . . . 5.3 Reduce program . . . . . . . . . . . . . . . . . . . . . 5.4 Fortran output files . . . . . . . . . . . . . . . . . . . 5.5 C output files . . . . . . . . . . . . . . . . . . . . . . .

71 . . . . 71 . . . . 72 . . . . 72 inte. . . . 73 . . . . 75 . . . . 79 . . . . 81

3


App endix

83

A Self-check of the CompHEP package 83 A.1 Check of the built-in symb olic calculator . . . . . . . . . . . . 83 A.2 Comparison of results pro duced in two different gauges . . . . 83 A.3 Automatic check for a set of pro cesses . . . . . . . . . . . . . 84 B Ghost fields and the squared diagram technique Feynman gauge B.1 The problem . . . . . . . . . . . . . . . . . . . . B.2 Incoming and outgoing ghosts . . . . . . . . . . B.3 Massless vector-particle case . . . . . . . . . . . B.4 Summation of ghost diagrams in CompHEP . . B.5 Gauge symmetry and cancellations . . . . . . . C Distribution functions and b eam sp ectra C.1 CTEQ4m distribution functions . . . . . C.2 MRS structure functions . . . . . . . . . C.3 Backscattered photon sp ectrum . . . . . C.4 Weizsaecker-Williams approximation . . C.5 ISR and Beamstrahlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . for the t'Ho oft85 . . . . . . . . 85 . . . . . . . . 87 . . . . . . . . 88 . . . . . . . . 89 . . . . . . . . 89 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 90 91 91 91 92 93 93 94 95 95 95 97 98 100 100 102 103 103 105

D Monte Carlo phase space integration D.1 Adaptive Monte Carlo integration package Vegas D.1.1 Imp ortance sampling . . . . . . . . . . . D.1.2 Stratified sampling . . . . . . . . . . . . D.2 Parameterization of multi-particle phase space . D.2.1 Parameterization via decay scheme . . . D.2.2 Polar vectors . . . . . . . . . . . . . . . D.2.3 Smo othing . . . . . . . . . . . . . . . . . E Lagrangian of the Standard Mo del E.1 Gauge theories . . . . . . . . . . . . E.2 QCD Lagrangian . . . . . . . . . . . E.3 Lagrangian of electroweak interactions E.3.1 Vector b osons . . . . . . . . . E.3.2 Lagrangian of Higgs field . . . ... ... .. ... ... . . . . . . . . . . . . . . .

4


E.3.3 Gauge fixing and ghost terms for the t'Ho oft-Feynman gauge . . . . . . . . . . . . . . . . . . . . . . . . . . E.3.4 Unitary gauge . . . . . . . . . . . . . . . . . . . . . . E.3.5 Summary of vertices for the b oson sector . . . . . . . E.3.6 Interaction of vector b osons with fermions . . . . . . E.3.7 Interaction of the Higgs doublet with fermions and generation of fermion masses . . . . . . . . . . . . . . . . E.3.8 Quarks and leptons . . . . . . . . . . . . . . . . . . . References Pictures and figures

. . . .

107 109 109 110

. 111 . 112 114 118

5


1
1.1

Preface
Intro duction

CompHEP is a package for automatic calculations of elementary particle decay and collision prop erties in the lowest order of p erturbation theory (the tree approximation). The main idea prescrib ed into the CompHEP is to make available passing on from the Lagrangian to the final distributions effectively with a high level of automation. Other packages created to solve a similar problem are FeynArts/FeynCalc[1], GRACE[2], HELAS[3], MADGRAPH[4]. See also the review [5]. CompHEP is a menu-driven system with the context help. The notations used in CompHEP are very similar to those used in particle physics. The present version has 4 built-in physical mo dels. Two of them are the versions of the Standard Mo del (SU(3)xSU(2)xU(1)) in the unitary and t'Ho oft - Feynman gauges. The user can change particle interaction and mo del parameters. It is also p ossible to create new mo dels of particle interaction. In the present version p olarizations are not taken into account. Averaging over initial and summing over final p olarizations are p erformed automatically. The CompHEP package consists of two parts: symb olic and numerical. The symb olic part is written in the C programming language. It pro duces Fortran and C co des for a squared matrix element, and they are used in the numerical calculation later on. There are two versions of the numerical part: one is written in Fortran and another one is done in C. The facilities of b oth versions are almost equal. The C version has more comfortable interface but it do es not p ossess an option to generate events and do es not p erform calculations with a quadruple precision. The symb olic part of CompHEP lets the user: Ç select a pro cess by sp ecifying incoming and outgoing particles for the decays of 1 2, . . . , 1 5 typ es and the collisions of 2 2, . . . , 2 4 typ es; Ç generate Feynman diagrams, display them, and create the corresp ondA ing L TEX output; Ç exclude some diagrams; 6


Ç generate and display squared Feynman diagrams; Ç calculate analytical expressions corresp onding to squared diagrams by using the fast built-in symb olic calculator; Ç save symb olic results corresp onding to the squared diagrams calculated in the Reduce and Mathematica co des for further symb olic manipulations; Ç generate the optimized Fortran and C co des for the squared matrix elements for further numerical calculations; Ç launch the built-in interpreter for numerical calculations; The numerical part of CompHEP offers to: Ç convolute the squared matrix element with structure b eam sp ectra. CTEQ and MRS parton distribution ISR and Beamstrahlung sp ectra of electrons, the laser trum, and the Weizsaecker-Williams photon structure available; functions and functions, the photon sp ecfunctions are

Ç mo dify physical parameters (total energy, charges, masses etc.) involved in the pro cess; Ç select the scale parameter for evaluation of the QCD coupling constant and parton structure functions; Ç intro duce various kinematic cuts. Ç define the kinematic scheme (phase space parameterization) for effective Monte Carlo integration; Ç intro duce a phase space mapping in order to smo oth sharp p eaks of a squared matrix element and structure functions; Ç p erform a Monte Carlo phase space integration by Vegas; Ç store values of the calculated matrix element in a file for subsequent event generation; 7


Ç generate events; Ç display distributions in various kinematic variables;
A Ç create the graphical and L TEX outputs for histograms.

See the review [6] ab out physical results pro duced by means of CompHEP.

1.2

History and contributions

The CompHEP pro ject was founded in 1989 by the group of physicists and programmers of D.V. Skob eltsyn Institute of Nuclear Physics of Moscow State University. The pro ject was initiated by Edward Bo os, Viacheslav Ilyin and Victor Savrin. The primary formulation of physical problems for the pro ject was done by E. Bo os, Mikhail Dubinin, and Dmitri Slavnov. The first software working group was organized and managed by V. Ilyin. The main author of the CompHEP software is Alexander Pukhov. He has develop ed almost all algorithms and data-representation structures of the package. Namely, the structure of physical mo del database, the algorithm for generation of Feynman diagrams, the algorithm for evaluation of squared matrix elements, the structure of output co des for different programming languages, the algorithm for optimization of numerical co des, the algorithm for phase-space integration with smo othing of propagator p eaks. He also has created the sp ecialized symb olic manipulation package for CompHEP. The first version of the package app eared in 1989 [8, 9]. It was written in the Turbo Pascal programming language for the MS-DOS op eration system. The program pro duced a co de for calculation of squared diagrams, written in the Reduce symb olic manipulation language. Routines for evaluation of the color factors were written by Alexander Kryukov. The Reduce co degeneration routines were written by Alexander Taranov and A. Pukhov. The authors of CompHEP were b eing lead by an idea to create a user friendly software. So they paid a sp ecial attention to the interface and datarepresentation facilities. The general part of graphical interface was designed by A. Pukhov. The routines for graphic representation of diagrams were written by Victor Edneral. The context-sensitive help facility was designed by

8


Sergey Shichanin. The program for the CompHEP database table manipuA lation was done by A. Kryukov. Later on the plot drawing and L TEX output were designed by V. Edneral, A. Pukhov and S. Shichanin. The CompHEP symb olic answers were compared by Mikhail Dubinin with a large numb er of known symb olic expressions for differential and integral cross sections [20]. Starting from this p oint the physicists of CompHEP group E. Bo os, M. Dubinin, and V. Ilyin applied CompHEP for studying new physics signals and relevant backgrounds. In 1991 CompHEP got the built-in symb olic manipulation package created by A. Pukhov and the Fortran co de output written by A. Pukhov and S. Shichanin [10]. In 1992 Andrei Davydychev prop osed to use the t'Ho oft-Feynman gauge for evaluation of squared diagrams. This idea was realized by A. Pukhov. It has op ened the real p ossibility to calculate any 2 -> 4 pro cess with the help of the CompHEP package. In the same year V. Ilyin and S. Shichanin designed a Fortran program of phase-space integration for 2 -> 3 pro cesses and A. Pukhov develop ed the numerical interpreter for 2 -> 2 pro cesses. These achievements were announced in [10]. The numerical results by CompHEP for a large set of pro cesses were compared with the GRACE package [21]. E. Bo os, M .Dubinin, V .Ilyin and S .Shichanin p erformed some other cross-checks of the CompHEP package. Later on A. Belyaev, E. Bo os and L. Dudko compared CompHEP with the FNAL program VECBOS [22] and extensive cross-checks of numerical results for e+ , e- 4 f er mions set of pro cesses have b een p erformed by M. Dubinin [23]. In 1993 the symb olic part of CompHEP was rewritten in the C programming language by V. Edneral [14]. The realization of the Turbo Pascal graphic routines by means of X11 to ols was done by Andrey Semenov [15]. It has op ened the way to create the version for UNIX workstations [14, 11, 7]. The main problem remaining in this version was the phase-space integration. CompHEP created the Fortran co de for squared matrix elements with a high level of automation. Generally the matrix elements have a lot of singularities caused by the propagators of virtual particles. In order to succeed in the Monte Carlo phase-space integration of singular matrix elements the user was forced every time to mo dify the program of phase-space parameterization. For automation of this op eration step A. Pukhov prop osed a general ap9


proach to the generation of multi-particle kinematics and to the regularization of matrix elements. In 1995-96 this scheme was realized by A. Pukhov, Dmitri Kovalenko and V. Ilyin [12, 13, 19]. At the same time V. Ilyin wrote new Fortran interface programs like menus and together with A. Kryukov emb edded the parton structure functions in CompHEP. Later on the structurefunction package was improved by A. Pukhov to include the regularization of integration over Feynman parameters. As a result we get a version which provides the user with a p ossibility of automatic evaluation starting from the input of Lagrangian and finishing with distributions in physical parameters. The corresp onding service for a histogram filling also was done by A. Pukhov. The list of needed distributions was compiled by E. Bo os. During this work it was realized that the Fortran programming language is not convenient for the future development of the numerical part of CompHEP. In 1997 the C co de output for the numerical calculation was designed and the Fortran program for the numerical evaluation was rewritten in C as well. This work was done by A. Pukhov. In the same year A. Kryukov imp orted CompHEP onto the MS-Windows95/NT platform. The development of CompHEP was b eing under a continuous pressure of physicists' requests. The works of E. Bo os, M. Dubinin, V. Ilyin, V. Savrin and S. Shichanin, who first used CompHEP for physical calculations, at the same time were defining a direction of the package development. They also contribute to and are resp onsible for debugging the package. It must b e esp ecially noted the role of E. Bo os and V. Ilyin in the p opularization of CompHEP for the scientific community. The manual was written by A. Pukhov, V. Savrin, and S. Shichanin.

1.3

Acknowledgments

The CompHEP pro ject was supp orted by Russian State Program on High Energy Physics; RFBR (93-02-14428, 96-02-19773a, 96-02-18635, 98-02-17699); ISF (M9B000, M9B300); INTAS (1010-CT93-0024, 93-1180, 93-1180ext,96-0842); Japanese So ciety for the Promotion of Science; Japanese companies KASUMI Co, Ltd. and SECOM Co, Ltd.; Royal So ciety of London (UK); 10


Organizing Committee of the AIHENP series of International Workshops. During a long time the CompHEP group had not got a p ossibility to develop the pro ject on UNIX workstations in Russia. The adaptation of the package for different UNIX platforms was done during the visits of the group memb ers to various universities and scientific centers of the world. We very much appreciate this supp ort and are grateful for co op eration to our foreign colleagues Y. Shimizu, (KEK, Japan), H.S. Song (Seoul National University, Korea), O. Eb oli (University of Sao Paulo, Brazil), H.-J. Schreib er (DESY, Germany). We acknowledge b eneficial discussions with F. Cuyp ers, I. Ginzburg, F. Gutbro d, B. Mele, M. Sachwitz, W. von Schlipp e, P. Osland, and memb ers of Minami-Tateya group (KEK), and their b enevolent attitude to our pro ject during many years. In this context we are esp ecially grateful to D. Perret-Gallix. We also express our gratitude to our colleagues A. Taranov, P. Baikov, H. Eck, L. Gladilin, P. Silaev, S. Ostap chenko who contributed to the development of CompHEP software as well as to A. Davydychev, A. Ro dionov and D. Slavnov for some helpful ideas. We thank S. Ambrosanio and A. Belyaev for their numerous rep orts on CompHEP bugs.

11


2
2.1

Installation procedure
CompHEP Web page

CompHEP co des and manual are disp osed on the following Web site http://theory.npi.msu.su/~comphep Also there is a mirror in DESY http://www.ifh.de/~pukhov

2.2

License
Non-profit Use License Agreement

This Agreement is to b e held b etween the Authors of the CompHEP program and a Party which acquires the program. On acquiring the program the Party agrees to b e b ound by terms of this Agreement. 1. This License entitles the Licensee (one p erson) and the Licensee's research group to obtain a copy of the source or executable co de of CompHEP and to use the acquired program for academic research or other non-profit purp oses within the research group; or, it entitles the Licensee (a company, organization or computing center) to install the program and allow an access to the executable co de to the memb ers of the Licensee for academic research or other non-profit use. 2. No user or site will re-distribute the source co de or executable co de to a third party in the mo dified form. Any re-distribution must b e accompanied with the current license. 3. Publications which result from using the program will contain references to the articles describing CompHEP. See the necessary references on the CompHEP Web page. 4. This License do es not p ermit any commercial (profit-making or proprietary) use or re-licensing or re-distributions. Persons interested in a for-profit use should contact the Authors. 5. The Authors of CompHEP do not guarantee that the program is free of errors or meets its sp ecification and cannot b e held resp onsible for loss or consequential damage as a result of using it. 12


2.3

How to get the co des

If you agree with the license ab ove, you may get CompHEP co de for the version 33 on the CompHEP Web page. The name of received file should b e comphep 33.#.tar.gz where # denotes a numb er of release. Unpack this file by gzip -d comphep 33.#.tar.gz tar -xf comphep 33.#.tar As a result a directory comphep 33.# should b e created. This directory contains source co des of the CompHEP package for UNIX platforms. After compilation of these co des the CompHEP binary executable files app ear in the same directory. We shall refer to it b elow as a CompHEP ro ot directory.

2.4

Compilation pro cedure

In order to compile the CompHEP source co de you need a C compiler with the X11 graphics library. If you would like to use Fortran for numerical evaluation you need also a Fortran compiler. The compilation of the CompHEP C source co de is launched by the ./create c command started from the CompHEP ro ot directory. If the C compiler is detected and the C sources are compiled successfully you will see the message: "C-part of code has been successfully compiled and linked." "CompHEP could be started." Otherwise the corresp onding error message comes out. See the next section for a discussion of p ossible problems. If the Fortran compiler is available and you would like to use Fortran for numerical calculation launch the ./create f command. If the Fortran compiler is detected and the Fortran sources are also compiled successfully, the message app ears: 13


"Fortran code has been successfully compiled." See the next section in the case of problem with compilation. The files in the CompHEP ro ot directory will b e used only for reading and execution during the user session. It provides us with a p ossibility to have one CompHEP ro ot directory for several users. To set the appropriate files mo des start the ./set mod command. Each user has to create his own directory to work with CompHEP. See an instruction for the user installation in the next section. However for an express check of compiled version you could go to the ./test directory and launch ./comphep there. Possible problems Due to its first instruction the create c command tests the existence of the CC file in the CompHEP ro ot directory. If this file exists, the C compiler name and its options are read from this file. Otherwise, as we usually have at the first start of create c, this file is created and contains default parameters. After that the create c program tests the necessary compiler options. For this goal it generates various programs with the same name test.c and tries to compile and link them. If compilation is not satisfactory, the create c command finishes with the corresp onding error message and asks you to rewrite the command file CC in order to fit the requirement. The current test file test.c is saved. So in the case of such an error you could up date your CC file and start create c again. The options listed b elow must b e supp orted by C compiler: - the ANSI mo de of function prototyp es; - the signed char typ e; - an access to the X11 include and library files. An example of contents of the CC file for Linux platform is presented b elow: gcc -fsigned-char -I/usr/X11R6/include -L/usr/X11R6/lib 14


The work of create f is similar to that of create c describ ed ab ove. The Fortran compiler must p ossess long character variables (e.g. CHARACTER*5000). The name of Fortran compiler and options of compilation are stored in the F77 file. If all tests are passed on successfully the message app ears: C (Fortran) compiler OK. Starting CompHEP compilation. source code

If your UNIX platform is one of the listed: Linux, IRIX, IRIX64, HP-UX, AIX, OSF1, the necessary options are known from the b eginning except of the path to X11. Anyway, in the case of some problem on this step you can send a request for help to the CompHEP authors. A correction of the CC and F77 files could b e used to tune compiler options according to your UNIX platform. In this case you should create CC or F77 by starting makeCC or makeF77, p erform tunings in the CC or F77 files and launch create c or create f after that. For example, you could switch on an optimization flag. C compiler tuning There are two macro definitions for the C co de, which could b e tune: The first one is STRSIZ. This is a maximum size of strings in pHEP mo dels. By default STRSIZ=2048. If you would like to CompHEP some new interaction with a very cumb ersome vertex to increase this size by the -DSTRSIZ= option. The second macro defines a typ e of integer numb ers which are used in symb olic calculations by CompHEP. By default CompHEP uses the 'long' typ e. -DNUM LONG LONG forces the compiler to use 'long long'. This typ e is not the ANSI standard and, p erhaps, it is not supp orted in your case. Different realizations of the 'long long' typ e use different formats for reading and writing such numb ers. The user may sp ecify this format defining the 'NUM STR'. By default CompHEP uses 15 useful to the Comemb ed in you have


#define NUM STR "lld" -DNUM DOUBLE option forces CompHEP to emulate integer numb ers via 'double' float ones. The makeCC program inserts an option which guarantees 8-byte size integer calculation in CompHEP. If the size of the standard `long' typ e is not enough, then the 'double' one is used.

2.5

User installation and start of the CompHEP session

The CompHEP ro ot directory is not intended to start a session. For this purp ose the user has to prepare a sp ecial working directory. A few working directories may b e created for various tasks and by different users. In order to provide the programs with an access to the CompHEP files and commands the environment variable COMPHEP should contain the corresp onding path. We recommend to define the COMPHEP variable in the user startup file. The name of the startup file and the syntax of the assignment instruction dep ends on the command interpreter. For example, in the case of tcsh the name of startup file is ~/.tcshrc or ~/.cshrc and the assignment is realized by the instruction setenv COMPHEP Let you have defined the COMPHEP variable and create a directory, say, WORK for the CompHEP session. To prepare this directory for pro cessing call the program instal l from within this directory: $COMPHEP/install As a result the following sub-directories and files should app ear in your WORK directory: models/ tmp/ results/ comphep comphep.ini The directory models is used for files which describ e mo dels of particle interactions. The directory tmp is created for temp oral files. The directory results is assigned for a CompHEP output. To start a CompHEP session you should issue a command ./comphep The comphep.ini file allows to cho ose an appropriate text font for the CompHEP window, select the color or colorless mo de for the window and 16


also switch on/off the sound signal. The syntax of this file is self-explanatory.

2.6

Installation under MS Windows9x/NT

The CompHEP Windows9x/NT version is distributed in a compiled form due to the absence of standard C/Fortran compiler under the Windows9x/NT. Thus the program do es not provide the user with compiling and linking options within the working session. The user should use the "Numerical interpreter" option to get numerical results. The installation file bNNi.zip (where NN denotes a numb er of the release) is available to copy from the CompHEP Web-page. The installation pro cedure is the following: 1) create an installation directory and copy the distributive bNNi.zip to this directory; 2) unpack the distributive file bNNi.zip by the command unzip bNNi.zip As a result a set of files and sub directories should b e created. This set corresp onds to the user working directory in the UNIX release (see section 2.5). Executable and other files corresp onding to those in the CompHEP ro ot directory of the UNIX version (see section 2.3) are stored in the sub directory bin. To start a CompHEP session the user should launch the command comphep.pif in the installation directory. Contact p erson for the Windows9x/NT version of CompHEP is A.P. Kryukov (e-mail: kryukov@theory.npi.msu.su).

17


3
3.1

User guide
Elements of the user interface

CompHEP software is written in C and Fortran. The symb olic part is done in C. The numerical one was written in Fortran but later on was converted to C. However b oth versions of numerical part are now available. The C programs use a graphical window interface based on the X11 or MS-Windows facilities, whereas the Fortran ones use only a standard input/output. So in the latter case the service is more ugly. 3.1.1 Graphical interface

There are the following elements of the user interface in the CompHEP package: On-line Help, Menu, Message, String Editor, Table Editor, Diagram Viewer and Plot Viewer. You can control them using the Arrows keys, Enter, Esc1 , Backspace, PgUp/PgDn2 keys and the mouse click. CompHEP is sensitive to the left mouse button release. You can toggle on/off colors and a sound for the CompHEP session as well as cho ose the most appropriate font for the CompHEP window. Just edit comphep.ini which app ears as a result of user installation (Section 2.5). We hop e the syntax is obvious. 1. On-line Help. At almost every p oint when CompHEP is waiting for your input, you can press the F1 key to get a context sensitive help information. If the screen height is not enough to display the full help message, you will see the PgDn mark in the right-b ottom corner of the help window. To get the next page of the message press the PgDn key or click the mark. To close the help window press the Esc key or click the asterisk in the top-left corner of the help b order. 2. Menu. The menu program displays a list of menu functions. One of them is highlighted. See a typical example of menu in Fig.1. Use the arrow keys or a mouse click to highlight a desired function. Press the Enter key or click on the highlighted function to activate it.
1 2

Use the 'Ctrl [' sequence if the Esc key is absent on your keyboard On some keyboards there are Prev/Next instead of PgUp/PgDn

18


If the menu is to o large you will see only a part of it. Use the PgDn/PgUp buttons or click on the corresp onding marks in the menu corners to scroll. In order to get back to the previous menu level press the Esc key or click the asterisk in the top-left corner of the menu b order. The menu program is also sensitive to the functional keys F1, F2, ..,F9. The list of active functional keys dep ends on the program p oint and is displayed on the b ottom line of the screen. Generally the functional keys activate the following programs: F1F2F3F4F6F9Help Manual Mo dels Diagrams Results Quit : : : : : : displays a help message ab out the highlighted menu function; displays an information ab out service facilities. displays contents of the current mo del of particle interactions. browses the generated Feynman diagrams. views and deletes CompHEP output files. quits the CompHEP session.

To call one of these programs just press the functional key or click on the corresp onding symb ol on the b ottom line of the screen. The digit keys act as the functional keys. For example, '3' acts as F3. 3. Message. CompHEP writes informative and dialogue messages during the session. The informative messages finish with the "Press any key" string. You can continue your work either following this instruction or clicking the mouse on the message area. In the second case the message has a lab el (Y/N?). You should press the Y or N key or just click on them in the message window to answer `Yes' or `No'. 4. String Editor. If you would like to enter a new pro cess or change a parameter value, CompHEP calls the String Editor. As a rule, previous information ab out this item is available and the kept string is displayed. If you would like to edit the original string, use the left/right arrow keys or the mouse click to put the cursor on the desired p osition. Otherwise, if the fist input character is a printing symb ol, the original string will b e deleted. The Delete key works as the Backspace key and removes a character left to the cursor. To terminate the input you can press Enter to accept the resulting string or the Esc key to cancel it. 19


5. Table Editor. CompHEP uses tables to store the information ab out parameters, particles, vertices, cuts and distributions. For all these cases any unit (displayed as a table line) consists of several fields (table columns). The program Table Editor is invented to provide the user a p ossibility to view and change the table contents. In some program p oints the Table Editor is used to browse a table contents without a p ermission to change data. Table is displayed on the screen as it follows (see Fig.3). The top line of the window contains a title of the table. Below there are table columns surrounded by a frame b ox. The columns are separated by vertical lines. The first horizontal line contains column names. One cell (a line - column intersection) is highlighted. If the table is op en for changes, the highlighted cell contains the cursor. The ordering numb er of the corresp onding line is displayed in the top-right corner of the window. To change p osition of the cursor and the highlighted cell one can use the arrow keys, the Tab key and the mouse click. If one typ es any printing symb ol it will b e inserted into the table at the cursor p osition. The PgUp, PgDn keys are used to scroll the table. The F1 and F2 functional keys provide information ab out the meaning of table fields and ab out facilities of the Table Editor. To exit the table one has to press the Esc key. There are some auxiliary commands which help the user to op erate the tables. These commands can b e realized by means of Control symb ols or by mouse click on the command lab el displayed on the table b order: Top (^ T) moves the cursor ( highlighted cell) to the top line of the table. Bottom (^ B) moves the cursor ( highlighted cell) to the b ottom line of the table. GoTo (^ G) moves the cursor to the line directed by the user. Find (^ F) searches the string directed by the user. Find again (^ A) rep eats previous command Find. Zoom (^ Z) key switches on the zo om mo de to view/edit contents of the highlighted cell. In this case CompHEP op ens a sp ecial window and the field text wraps this window. To terminate the Zoom mo de one has either to press Enter to accept changes or Esc to forget them. ErrMess (^ E) redisplays an error message concerning the contents of one of the tables which has b een previously generated by CompHEP. The ab ove commands are available in b oth mo des of the Table Editor. The lab els of these commands are disp osed on the b ottom b order of the table. The following commands are available only if the table is op en for changes: 20


Clr (^ C) clears the contents of the current field right to the cursor p osition. Rest (^ R) restores the contents of the current field which existed b efore last entering the corresp onding cell. Del (^ D) cuts the current line from the table and put it into the buffer. New (^ N) creates a new line and fill it with the buffer contents. Also you can press the Enter key to create a new line. Size (^ S) allows the user to change the width of current field. This command is active only if the cursor is disp osed in the column whose name is surrounded by the '>','<' symb ols. The lab els of these commands are disp osed on the top b order of the window. 6. Diagram Viewer. This program was designed to display several Feynman diagrams on the screen. The Viewer splits the screen into rectangle cells and puts the diagram images in these cells one by one. One cell is marked by surrounding b ox frame. The total numb er of diagrams and the ordinal numb er of the marked one are displayed in the right-top corner of the screen. See an example in Fig.4. The numb er of diagrams which can b e displayed simultaneously dep ends on the window size. If you would like to see more diagrams on one screen, increase the window using the window manager. You can use the PgDn/PgUp keys to scroll diagram set. The Home/End keys display the b eginning/end of the set. To display a diagram with some ordinal numb er you should press the '#' key and after that the needed numb er. You can move the p osition of the surrounding b ox by the Arrows keys or by the mouse click. To finish work with the Diagram Viewer press the Esc key. The lab els for the ab ove commands are displayed on the b ottom b order of the window and you may use the mouse click to activate one of them. The Diagram Viewer may have some optional functions which dep end on the context. The lab els for these functions are shown on the top b order of the window. One of them generates a file with graphical diagram image A in the L TEX format. Press the F1 key to get an information ab out these commands. You may use the mouse click on the lab el or its first symb ol to activate the function.

21


7. Plot Viewer. This program is designed to display smo oth curves and histograms. Examples are presented in Fig.10 and Fig.7. Being launched the Plot Viewer displays a picture and waits for the keyb oard signal as it is shown in Fig.10. The program ends with pressing the Esc key. If some other key is pressed then the user gets a menu which you can see in Fig.7. This menu allows to change the limits of vertical axis and its scale. Note that the logarithmic scale is available only if the lower limit is p ositive and the ratio of upp er and lower limits is more then ten. To re-display the plot cho ose the 'Redraw plot' option. The menu also provides the user with a p ossibility to save a graphical A plot image as a L TEX file and as a numerical table. The name of the corresp onding file is displayed on the screen just after writing the file. The numerical table created in this way can b e displayed on the screen later on by the command $COMPHEP/tab view < table file This tab view is just the same Plot Viewer but compiled as a stand-along program. The 'Exit Plot' menu function completes the Plot Viewer session. 3.1.2 Interface for a text-screen mo de

Only the standard input/output Fortran facilities are used for this part of CompHEP. So the service is primitive. The user input here is a string terminated by the Enter key. 1. Menu. When you work with the menu the numerated list of menu functions is displayed. Possible inputs are: H - to get help information ab out the th menu function; - to execute the corresp onding menu function; X - to quit the current menu. The lower case characters h and x may b e used also as key characters of the ab ove commands. You can see in Fig.2 how this menu lo oks like on the display. 2. Tables. Tables are used to enter and change information ab out physical cuts and a phase space regularization. When you use this program a numerated list of elements is displayed. Elements which have a numb er older than 22


9 are numerated by letters (A,B,C,D ...). Under this list you see a prompt for commands: N - new, D - delete, C - change, X - quit. N is used to insert a new table line. The subsequent input dep ends on the table. D is used to delete records enumerated in . For example, D13A will delete the first, third and tenth records. C allows you to change contents of the th item. X is used to quit. The lower case characters n, d, c and x may b e used also as key characters of the ab ove commands. 3. Viewer. When you browse the help information or some file contents the following commands may b e used: to lo ok at the next page typ e the Spacebar key; to lo ok at the preceding page typ e `b'; to exit from the viewer typ e `x'.

3.2

Menu system for symb olic calculation

The scheme of menus for the symb olic calculation session is presented in Fig.5. 3.2.1 Choice of the mo del and work with it

Menu 1. This menu contains a list of available mo dels. It offers you an option to select a mo del of elementary particle interaction for subsequent work. There are four mo dels built in CompHEP: quantum electro dynamics, the mo del of electroweak four-fermion interaction, and two versions of the Standard Mo del. The QED mo del is included as an example of realization of the simplest particle interaction scheme in CompHEP. The four-fermion interaction mo del gives an example of realization of the four-fermion interaction in the CompHEP notations. The Standard Mo del is presented in two gauges: the unitary one and the t'Ho oft-Feynman one. We recommend to cho ose the latter for calculations b ecause the ultra-violet cancellations b etween diagrams caused by gauge invariance are absent in this case. See the 23


discussion in Section B. The Standard Mo del in the unitary gauge is used for verification of gauge invariance. The b ottom menu function provides you with a p ossibility to include a new mo del into the CompHEP list. New mo del is created as a copy of one of existing mo dels. On the next menu level you can change this copy. If you cho ose the "New Mo del" menu function you will b e prompted for a new mo del name and a template source. CompHEP adds the underscore symb ol ' ' in front of the name of new mo del. It serves to distinguish user's mo dels from the built-in ones. To cho ose a template the list of existing mo dels app ears. Menu 2. The first function of this menu lets you enter the physical pro cess which you wish to deal with. A format of pro cess sp ecification is explained b elow. You can also use the context help facility pressing the F1 key on any step of the input. Before entering a pro cess you may also edit the mo del contents by means of the Edit Model menu. Later on you will b e able only to browse the mo del contents (by pressing F3), but not to change it. If the currently used mo del is a user-created one, the menu function Delete model removes this mo del and CompHEP returns to Menu 1. In the case of a built-in mo del Delete model restores the default version of mo del instead. Before the deletion or restoration the corresp onding warning app ears and you can cancel the op eration. Menu 3. Information ab out a mo del is stored in four tables. Generally they are text files which are disp osed in user's models directory and may b e corrected by an ordinary text editor. But we strongly recommend to use CompHEP facilities to edit these files b ecause in this case CompHEP can control p ossible mistakes of the user input. CompHEP displays a menu of mo del tables. By cho osing a p osition of this menu you can edit the corresp onding part of the mo del. The Parameters, Constraints, Particles and Vertices menu functions let you browse and edit corresp ondingly: 1. indep endent parameters of the chosen mo del; 2. parameters dep ending on the basic ones; 3. list of particles and their prop erties; 24


4. vertices of interaction. See Section 4.1 for the format of these tables and also Section 3.1.1 for the explanation of facilities of the table editor. CompHEP verifies the mo del when you try to leave this menu after some changes made in one of the tables. If some error is detected the corresp onding message app ears and no exit from the menu o ccurs. This message contains the diagnostics, the table name, and the numb er of line where the error has b een detected. You can recall this message later on within the table editor by pressing the Ctrl E key. The check stops when the first error is detected. You can fix the error and try to leave the Edit Model menu once more. When you enter the Edit Model menu the current version of the mo del is saved and you have a p ossibility to return to this version forgetting your corrections. Just answer N the question Save correction ? Y/N? which app ears every time when you try to leave this menu after correcting the mo del. There is a sequence of p oints which are b eing checked: Ç correctness of identifiers and numb ers; Ç declaration of an identifier b efore its use in the expression; Ç declaration of a particle b efore its use in the vertex; Ç correctness of algebraic expressions; Ç compatibility of Lorentz indices; Ç existence of the conjugated vertex. See Section 4.1 for a full list of requirements on the mo del.

25


3.2.2

Input of the pro cess

After activating the Enter process function of Menu 3 the list of particles together with their notation conventions is displayed. The notation of antiparticle is shown in parentheses after that of particle. In the case of the Standard Mo del the corresp onding screen is shown in Fig.6. If the list is to o long one may use the PgUp and PgDn buttons to scroll it. In the b ottom part of the screen the prompt 'Enter process:' app ears. The syntax for the input is: P1[,P2] -> P3,P4 [,...,[N*x]] These 'P1'..'P4' are particle names, N is a numb er of inclusive particles. The sets of in- and out-particles are separated by the arrow '->' formed of two printing symb ols. The particles inside of each set are separated by commas. The total numb er of particles should not exceed 6. For example, the input u, U -> G, G denotes the pro cess of annihilation of the u-quark and u-quark into two gluons. ? One can also construct inclusive pro cesses. For example, the input u,U -> G,G,2*x is a request to construct all pro cesses of annihilation of the u-quark and u-quark into two gluons accompanied by two arbitrary particles. ? If the program finds an unknown name among the in-particles it will try to consider it as a name of comp osite particle and will ask you ab out its parton contents. For instance, after the input e,p -> 3*x the question app ears: Is 'p' a composite particle Y/N ? If you cho ose 'Y' you will b e prompted to sp ecify the parton structure of 'p'. A p ossible input is 'p' consists of: u, U, d, D , G If one enters a collision pro cess, the information on total energy of colliding particles in the center-of-mass system is demanded: Enter Sqrt(S) in GeV: 300 CompHEP generates only those channels where the total mass of incoming particles and the total mass of outgoing particles are smaller than Sqrt(S). On the next step of input you are prompted to exclude diagrams with sp ecified virtual particles. The input should b e 26


Exclude diagrams with : P 1 > n1 [, P 2 > n2 ...] where P 1, P 2, ... are particle names, n1, n2, .. are the quantity limits. Such an input means that diagrams where the numb er of virtual particles Pi is more than ni will not b e constructed. For example: Exclude diagrams with : W + > 1 means that only those diagrams will b e generated which contain less than two virtual W-b osons. Several restrictions separated by commas are allowed. If one has a restriction for a particle, the restriction for the corresp onding anti-particle is not needed. If one would like to forbid the app earance of some virtual particle P at all, the input "P > 0" may b e shortened to the "P ". This option may b e used to exclude diagrams which are suppressed due to a large virtual particle mass, or a small coupling constant, or for some other reasons. Use the empty input to get a full set of diagrams. Use the Esc key to return to the previous level of input and the F1 key to get the online help. After the input is completed CompHEP starts the Feynman diagram generation. If the numb er of generated diagrams is zero the corresp onding warning app ears and you return to the b eginning of pro cess input, otherwise the next menu app ears. 3.2.3 Squaring of diagrams and symb olic calculation

Menu 5. This menu app ears on the screen just after construction of Feynman diagrams and together with the information ab out numb ers of diagrams and subpro cesses generated. The first function of this menu (Squaring) is the instruction for CompHEP to create squared diagrams. CompHEP uses the squared diagram technique for evaluation of squared matrix elements. See Section B for details. The View diagrams function gives you a to ol to view a graphic representation of generated Feynman diagrams, to remove some diagrams b efore the A squaring and to create the L TEX output for undeleted diagrams. If a few subpro cesses have b een generated then the subpro cess menu app ears after an activation of the View diagrams menu function. There is a p ossibility to remove all diagrams in the highlighted subpro cess by pressing the F7 button. In its turn the F8 key restores all diagrams of the highlighted 27


subpro cess deleted b efore. When you cho ose a subpro cess the diagram graphic viewer is launched. See Section 3.1.1 for details or use the F 1 and F 2 functional keys for online help. Here we would like to note some p eculiarities of constructed diagrams. Ç Incoming particles are drawn on the left side of diagrams, whereas the outgoing ones are shown on the right.
1 Ç Particles with spins 0, 2 , 1 are represented by the dotted, solid, and dashed line corresp ondingly.

Ç Charged particles are represented by arrow lines. The arrow indicates the direction of particle (not anti-particle) propagation. Ç Incoming and outgoing particles are lab eled by relevant names in the end of the line. Virtual particles are lab eled by their names at the mid-line. If a particle is not self-conjugated, the particle's name is used for the lab eling (not the anti-particle's one). Ç In the case of collision pro cess a first colliding particle is disp osed in the top part of picture, whereas the second one is drawn in the b ottom part. Ç CompHEP pro duces only one representative of a set of diagrams which can b e transformed one to another by replacing the identical outgoing particles. For example, CompHEP creates only one diagram for the e1, E 1 -> A, A pro cess, whereas all textb o oks present two diagrams in this case. In other words, momenta are not assigned to the outgoing particles on the step of diagrams generation. Ç CompHEP do es not generate diagrams with Faddeev-Pop ov and Goldstone ghosts3 . Such diagrams are restored on the step of squared diagram evaluation. Any ghost has a real particle as a prototyp e (see Section 4.1.4). As a rule, a diagram with ghosts has got the parent
3 In the following text we use Goldstone ghost instead of commonly used Goldstone boson. For our convenience we name both of these two kinds of fields and the auxiliary tensor field as ghosts.

28


diagram where ghosts are replaced by real particles. During the calculation of these parent diagrams the contributions of the corresp onding ghost diagrams are also calculated and added to the contribution of the parent one (see Section B). There exist some exceptions from this rule. For example, the Standard Mo del contains the vertex with four Goldstone b osons asso ciated with the Z -b oson, however the Z 4 vertex is absent in the theory. To provide a p ossibility to take into account the ghost diagrams with a four-Goldstone vertex CompHEP generates false diagrams with Z 4 interaction. Ç Vertices with a complicated color structure, for example, the four-gluon one, are implemented by means of unphysical tensor field. This field is treated by CompHEP as a sp ecial gluon ghost and do es not app ear in the constructed diagrams. A contribution of the four-gluon vertex is restored when squared diagrams are evaluated, in the same manner as the contribution of Faddeev-Pop ov and Goldstone ghosts. See Sections 4.1.4, 4.1.5, 4.2 for further explanations. Menu 6. The View squared diagrams function is similar to the View diagram one of the previous menu but is applied to the set of squared diagrams. Each squared diagram is a graphic representation of AB contribution in the squared matrix element, where A and B are some amplitudes corresp onding to Feynman diagrams. Let us summarize some features of CompHEP squared diagrams generation: Ç CompHEP never constructs b oth AB and B A diagrams but only one of them. Instead, for simplicity, CompHEP calculates 2 Re(AB ) on the symb olic and numerical levels. Ç CompHEP constructs only one representative of a set of diagrams which can b e transformed one to another by p ermutation of identical outgoing particles. The needed symmetrization for such particles is p erformed later on, at the step of numerical or symb olic summation. Ç Each CompHEP diagram represents a set of squared diagrams where some physical particles are replaced by their ghosts in all p ossible ways

29


according to the existing vertices of the mo del. To see the ghost squared diagrams for each displayed one just press the 'G' key. If you browse the squared diagrams after usage of the Symbolic calculation function you will see that each of the squared diagrams is marked by one of the following lab els CALC, ZERO, Out of memory, Del. They mean that the diagram has b een successfully calculated; gives a zero contribution; cannot b e calculated; or has b een deleted, corresp ondingly. The Symbolic calculation function starts symb olic evaluation of the generated squared diagrams. This evaluation is p erformed by the built-in symb olic calculator created sp ecially in the framework of the CompHEP pro ject. During the calculation the information ab out a numb er of calculated diagrams and ab out a step of evaluation of the current diagram is shown. The Reduce program function creates a co de of symb olic evaluation in the format of Reduce language [33] separately for each squared diagram. These co des are not used for the further CompHEP pro cessing, but they can b e useful for cross-checking the CompHEP software. On one hand, one can investigate the Reduce co de to get conviction that it correctly calculates a contribution of the squared diagram. On the other hand, you may compare the result of the Reduce evaluation of diagram co de with the result of builtin symb olic calculator. There are some to ols created for this purp ose. See Section A for details. General purp ose of a package like CompHEP is to create the corresp onding C or Fortran source co de for further numerical pro cessing and compile this co de using the corresp onding system facilities. User's control is not necessary for this step as well as for the step of symb olic calculations. CompHEP provides the user with a p ossibility to p erform the ab ove steps in a non-interactive mo de. To start the non-interactive session one could activate the Make n comphep c or Make n comphep f menu function. Then the current interactive session ends and a new batch pro cess starts. See Section 3.2.5 for details of the non-interactive calculations in CompHEP. As the outcome, the executable file n comphep c or n comphep f is created for the further numerical precessing. You may find it in the results directory. For the time of batch calculation the LOCK file app ears in the user working directory to prevent a double start of the CompHEP package within the same place of the file system. As a rule the System Administrator requires to start a large job in a 30


sp ecial batch regime. The execution of one of the Make n comphep functions may require large computer resources for some pro cesses with large numb er of diagrams. In this case you could correct your comphep command file according to the System Administrator rules. The corresp onding calls are disp osed after lab els 24) and 25) in this file. 3.2.4 Output of results and launching of the numerical calculation

Menu 7. The View squared diagrams function is identical to the same function of the previous menu. Following a logic of the program you can reach this menu only if all squared diagrams are marked either as deleted or as calculated. If you undelete some diagrams then you will b e returned to the previous menu. The Write results function lets you save the results of symb olic calculation in terms of one of computer languages for further numerical or symb olic evaluation. See Menu 8 for details. The files are saved in the user's results sub-directory. The next three menu functions realize numerical calculations in CompHEP, particularly Monte Carlo sessions. The first one calls the built-in numerical interpreter of the obtained symb olic expression. This program has almost the same p ossibilities as the numerical co de pro duced by the C -compiler, but works slower than the compiled option. The menu function C-compiler/Fortran compiler calls the corresp onding compiler to create and launch an executable file n comphep c/n comphep f in the directory results. It is assumed that the corresp onding source co de was created earlier using the Write results menu function. Menu 8. This menu provides the user a p ossibility to save the obtained symb olic results in different formats. The Reduce and Mathematica outputs may b e used for further symb olic manipulation. For example, you can get symb olic representation of a sum of all diagrams, p erform some substitutions or expansions, evaluate the symb olic expression for the total cross-section or width of the pro cess. As a rule such manipulations are p ossible and reasonable for the pro cesses with a small numb er of final particles. The structure of the symb olic output and some programs for manipulation with the Reduce output are describ ed in Section 5.

31


Otherwise the C and Fortran outputs are used to get numerical results. They may b e compiled and linked with the library of CompHEP routines for phase space integration. The pro duced executable program allows one to obtain numerical values of the total cross-section or width, distributions and an event flow, taking into account a variety of cuts. In order to create an executable file for numerical calculations based on the C/Fortran output use functions of Menu 6 or launch the $COMPHEP/make n comphep program as it has b een explained in Section 3.5. 3.2.5 Non-interactive session

CompHEP was created as a program for calculation in the interactive regime. But in practice long-time calculations are typical. Due to this circumstance we have implemented the batch (or, say, `blind') calculation mo de into CompHEP. If one launches s comphep with an option "-blind", e.g. $COMPHEP/s comphep -blind STRING then CompHEP do es not op en the X11 window and reads the control characters from STRING. For imitating functional keys the following control characters are defined: '{': Escap e key ']': Right Arrow '[': Left Arrow key '}': Enter key So, the user has a p ossibility to concatenate into STRING a list of commands which simulate the keyb oard and execute s comphep in the noninteractive mo de. The work of s comphep in the blind mo de is simplified a little. It automatically passes by all warnings and messages answering 'Y' (Yes) any question itself. The CompHEP title screen is missed in this mo de and the simulation of keyb oard hit, which is used to leave the first screen, is not needed. An example of the blind session is realized in your comphep command file. When you activate the Make n comphep c function of Menu 6 then s comphep ends with an exit co de 24 and $COMPHEP/s comphep -blind "]}}]]]}9" is launched. The ab ove command p erforms symb olical calculations and writes down the C-co de for the squared matrix element into the directory 32


results. Note that the last symb ol '9' simulates the work of the F9 functional key which in its turn completes the session (See Section 3.1.1). Another utilization of the blind mo de is a check of CompHEP for some huge set of pro cesses (Section A).

3.3

Numerical calculation by CompHEP

In the framework of CompHEP package there are four ways to realize numerical calculations, namely using: 1) built-in interpreter 2) compiled C output 3) compiled double precision (REAL*8) Fortran output 4) compiled quadruple precision (REAL*16) Fortran output. For the first two items calculations are p erformed with a double precision. The interpreter works slower compared with the stand-alone compiled executables, but it do es not need such steps as the storage and compilation of symb olic output. So it is reasonable to use the interpreter either in the case of simple pro cess or if you have no compiler at all. The general functionality scheme is the same for all four cases. The main differences are: - for the first two items the user interface is more comfortable b ecause it is based on graphic terminal facilities; - results of calculation pro duced by the interpreter are displayed on the screen only, whereas in other cases they are stored onto a disk either; - batch calculations (set of evaluations launched by one job task) are not available for the interpreter; - for the current version only Fortran programs provide the user with a p ossibility to generate an event flow. The interpreter is launched from within the symb olic session. Compiled programs can b e created and started under the symb olic session (see Menu 7 in Fig.5) or created by means of Section 3.5 commands and launched as an indep endent pro cess. 33


3.3.1

Sketch of the menu system

A general scheme of CompHEP numerical calculations is presented in Fig.8. The CompHEP screen with the menu numb er 1 is presented in Figs. 1 and 2. Three functions of this menu launch integration programs. One of them is Monte Carlo program Vegas [31, 32]. The other one is the ordinary Simpson integration routine which can op erate only for the simplest 2 -> 2 typ e of reactions. The Batch menu function is used to organize a set of Vegas evaluations in the non-interactive mo de (see Section 3.3.10). Other menu items are needed to set an environment for integration. Below we briefly describ e all of them. More detailed explanation is given in the following sections. By means of the Subprocess function the user may select one subpro cess for a further pro cessing. This function is active only if several subpro cesses have b een evaluated symb olically b efore. The name of current subpro cess is displayed on the screen (Fig.1 and Fig.2). Subpro cess summation is not implemented in the current version. The In state function gives the user an option to cho ose structure functions for incoming particles and assign some values for their momenta. The GeV units are assumed for the momenta. This menu function is available for collision pro cesses only. The Model parameters function allows the user to assign a new value to any indep endent parameter involved in the evaluation. After an activation of this function the corresp onding menu of parameters with information ab out their values is displayed. As a result of changing the indep endent parameters some constrained parameter can get non-evaluated as a result of a negative square ro ot argument or division by zero in the relevant expressions. In this case an error message app ears on the screen and the user is required to cho ose an admissible set of parameter values. Although the user may assign some value to the QCD strong coupling parameter GG it do es not influence on results of calculation. This parameter will b e reset according to the rules defined by the QCD scale menu function. CompHEP substitutes a Breit-Wigner exact propagator for the s-channel virtual particles. This trick is needed to avoid the integral divergence near the mass p ole and is motivated by high order corrections. The way of implementation of the Breit-Wigner propagator is driven by the Breit-Wigner menu function. See Section (3.3.4) for details. The Cuts menu function provides the user with a p ossibility to cut a phase 34


space volume. A set of physical variables which could b e used to construct a cut function is describ ed in Section 3.3.5. Details of the Cuts menu pro cessing are given in Section 3.3.6. The Kinematics and Regularization menu functions are used to construct an appropriate mapping of phase space onto the Vegas integration volume. This is imp ortant for successful Monte Carlo integration. 3.3.2 Numeration of Monte Carlo sessions

CompHEP numerical calculations are organized as a sequence of Monte Carlo integration sessions. Each session has its ordinal numb er. The current session numb er is displayed. All results of calculations are written into the results directory. To distinguish files pro duced in different sessions we include a session numb er N in the output file names. To distinguish files pro duced by n comphep f from those pro duced by n comphep c we use prefixes 'c ' and 'f ' as required. The results of integration and all settings are stored in the proto col file f prt N (c prt N). Events generated by n comphep f are stacked in the file events N. A current version of the n comphep c program do es not save events. The latest settings are saved in the file f session.dat (c session.dat) when n comphep is quitted. On a next launch this file is scanned to restore the last settings. 3.3.3 QCD scale

CompHEP substitutes the QCD strong coupling constant as a function of the (6) parameter and the Q2 scale value. It is calculated in the next-tonext-to-leading order (NLLO) and dep ends on a numb er of quark flavors (nf) with masses less than Q (see Eq.9.5a of [36]). Relevant constants (nf ) are recalculated from (6) according to the matching equation (9.7) of [36]. If the user is going to change a numerical value of (6) or the Q2 scale definition he should call the necessary function of Menu 4. For the Q2 choice he will b e prompted what kind of scale he would like to implement, namely, the constant scale or the running one. In the first case a subsequent input of numb er in GeV units is exp ected. In the second case CompHEP provides the user with a p ossibility to define the Q2 scale as a squared sum of particle momenta. Digits on input will b e transformed into ordinal momentum 35


numb ers. For example: the input '13' will b e treated as Q2 = |(p1 - p3)2 |. If Q2 is defined as a constant, the corresp onding value of = GG2 /(4 ) is displayed on the screen. The (s) plot for a user-defined region of s is available also by means of the corresp onding function of Menu 4. The same Q2 scale is used as an argument of parton distribution functions. 3.3.4 Breit-Wigner propagator

The propagator of virtual particle has a p ole at p2 = m2 : 1 . 2 - m2 p If the p ole is situated inside the phase space volume it leads to a nonintegrable singularity. The general solution of this problem is an account of sp ecial set of high order corrections [42]. They transform the propagator to the Breit-Wigner form 1 , 2 - m2 - i Ç (p2 ) Ç m p

where the value (m2 ) is the particle width (reversed mean life time). First problem which app ears in a way of implementation of this expression is a choice of (p2 ) dep endence. The value is essential near the p ole p oint p2 = m2 . Thus, for the first approximation we can put (p2 ) = (m2 ) = const. It corresp onds to the p osition OFF of 'S dependence' switch. In some pap ers it is declared that (p2 ) = (m2 ) Ç p2 /m describ es the p ole shap e b etter. This choice corresp onds to the p osition ON of 'S dependence' switch. The second and even more imp ortant problem is a gauge symmetry breaking. Generally we have this symmetry in any order of p erturbation theory but the intervention of a part of higher order terms to the lowest order expression via the Breit-Wigner propagator can break it. The gauge symmetry is resp onsible for some cancellation of diagram contributions (see Section B.5), and its violation, in turn, prevents the cancellations and can lead to a completely wrong result. The user could solve this problem by setting the Gauge invariance menu switch to the p osition ON. In this case the contribution of a diagram which do es not contain the Breit-Wigner propagator is multiplied by factor [37, 38] (p2 - m2 )2 (p2 - m2 )2 + (w idth(p2 ) Ç m) 36
2

.

(1)


This trick corresp onds to the symb olic summation of all diagram contributions at a common denominator expression and to a subsequent substitution of the width term into the factored denominator. The trick allows to keep all gauge-motivated cancellations. As a defect of the trick it must b e mentioned that the factor (1) kills a contribution of non-resonant diagrams in the resonance p oint [39]. If the particle width is very small such an approximation is reasonable, but in some cases it can also lead to an error. 3.3.5 Phase space functions

There is a sp ecial set of phase space functions which may b e used to construct cuts and distributions in the framework of CompHEP. The general notation lo oks like (Key Character)(momentum set). A set of momenta is represented as a set of digits. Any digit corresp onds to a momentum numb er. For example, C13 means a cosine of the angle b etween momenta p1 and p3 . The momenta are assigned to particles according to their sequence in the pro cess name. Below we list the available key characters and explain the meaning of the corresp onding physical functions. A - angle in degree units. C - cosine of angle. J - jet cone angle. The jet cone angle Jij is defined as y 2 + 2 , where y is the pseudo-rapidity difference and is the azimuth angle difference for momenta pi and pj . E - energy of the particle set. M - mass of the particle set. P - cosine in the rest frame of pair. Pij is defined as follows: we imply a b o ost in the direction of pi + pj to get the rest frame of the pair. Then P is a cosine of angle b etween the transformed pi and the direction of b o ost. T - transverse momentum of the particle set. 37


S - squared invariant mass of the particle set. Y - rapidity of the particle set. U - user's implemented function. The character string following U is passed on to the user Fortran/C function usrfun(str) which, as it is assumed, calculates a corresp onding value. See Section 3.6 for further explanations. Zero comp onents of all momenta are p ositive, and the conservation law means that the sum of momenta of incoming particles is equal to that of outgoing particles. Relative momenta signs for the S function are substituted automatically. There are some natural requirements on the momentum set, namely: a) the momentum sets following A, C, J, P must consist of two elements; b) the momenta following M, P, T must b elong to outgoing particles only; c) any momentum can app ear only once in one set. 3.3.6 Cuts

The Cuts menu function op ens a table for cuts definition. This table consists of three columns. The phase space function in notations of Section 3.3.5 must b e written in the first column. The second and the third columns define the minimal and maximal limits for this function. If one of them is empty the corresp onding limit is not applied. Input formats for limits are different for the Fortran and C realizations. In the case of n comphep c and interpreter sessions the user may typ e in the corresp onding fields any algebraic formula which contains numb ers and identifiers enumerated in the Model parameters menu. Parentheses "()" and op erations "+, -, /, , , sq r t()" also are p ermitted. In the case of n comphep f session only numb ers are exp ected in the corresp onding columns. To escap e an input in GeV 2 units in the case of squared momenta function V
min

< S (momenta set) < V
min

max

,
min

the n comphep f program asks the user to put V in the relevant cells. 38

/ |V

| and V

max

/ |V

max

|


It is very imp ortant to note that only the cuts on masses and squared momenta (the S and M cases) are realized via a reduction of the phase space. Other ones are realized by multiplication of squared matrix element by a step function. 3.3.7 Kinematics

The Kinematics function allows to display and change a general scheme of the phase space parameterization. A kinematics scheme in CompHEP is defined by a set of subsequent 1 -> 2 decays of the incoming state into the outgoing particle sets. After activation of this menu function the current decay scheme will b e displayed and a dialogue message will prop ose the user to accept it or put in another one. During the input CompHEP consequently asks the user to define a first outgoing cluster of virtual decay. The user input must b e a sequence of particle (momentum) numb ers without any separating symb ols. It is assumed that particles are numerated in the same order as they are written down in the (sub)pro cess name. An example of kinematics definition for 2 -> 4 pro cess is given by the following lines: 12 -> 3,456 456 -> 56,3 56 -> 5,6 Here the user input is indicated in b old characters. In the framework of such a decay scheme the multi-particle phase space is parameterized by masses of sub-clusters and by two-dimensional spherical angles of 1 -> 2 decays [47, 40]. A choice of kinematics influences on the phase space mapping and by this way it influences on convergence of Monte Carlo integration. See Section D.2. 3.3.8 Regularization

In general case a squared matrix element is to o singular for direct Monte Carlo integration. Singularities of the matrix element are caused by p oles of virtual particle propagators and can have one of the following forms 1/(p2 - m2 ) 39 (2)


1/(p2 - m2 )2 1/((p2 - m2 )2 + (m Ç )2 )

(3) (4)

where m, , and p are the mass, width, and momentum of virtual particle. The Regularization menu function allows the user to p oint out dangerous denominators for automatic smo othing the sharp p eaks of the squared matrix element. The regularization table contains four fields: momenta, mass, width and power. Momentum of virtual particle is a sum of momenta of incoming and outgoing particles. Just typ e the ordering numb ers of these momenta in the Momentum field. The sign is substituted automatically. For example, for a collision pro cess 12 is treated as (p1 + p2) and 134 is treated as (p1 - p3 - p4). Mass and Width describ e a p osition of the p ole. In the case of Fortran program the corresp onding numerical values must b e written down in these fields. In the case of C program the user can write down some algebraic expressions which contain the identifiers enumerated in the Model parameters menu. For t-channel propagators (b oth incoming and outgoing momenta contribute to P ) only a zero value in the Width field is p ermitted b ecause CompHEP ignores particle width term for such propagators. The Power field defines an exp onent of the propagator. Acceptable values are 1 and 2. Of course, in a squared matrix element any propagator app ears to the p ower of 2. But sometimes as a result of gauge cancellations the exp onent can b e efficiently decreased to 1. If the Width field is not equal to 0 such a cancellation is not exp ected and CompHEP will use value 2 for the exp onent ignoring the user input. The work of regularization program is sensitive to the S and M typ es of cuts (see Section 3.3.6) and is not sensitive to other ones. Consequently, if you would like to smo oth some singularity due to the p ole inside the phase space, you should apply the S or M cut to exclude the p ole p oint from the consideration. The algorithm of regularization is explained in Section D.2. 3.3.9 VEGAS menu

See Section D.1 or [31, 32] for explanation of the Vegas algorithm. The work of Vegas program is driven by Menu 6 of Fig.8.

40


The first p osition of this menu starts the pro cess of Monte Carlo integration. It consists of Itmx runs with subsequent adaptation of the Monte Carlo weight function to the integrand. For each run Vegas calls the integrand ab out Ncal l times. The user may set the Itmx and Ncal l parameters applying the next two items of the menu. The results of calculations are displayed on the screen and written to the proto col file. If the required precision of calculation is not reached the user may call the Start integration menu function once more to increase the Monte Carlo statistic. But if the Clear statistic menu function is called, then the next Monte Carlo session will b e started from the b eginning. The Monte Carlo weight function is saved b etween runs anyway. In the case of Fortran n comphep program the user can write weighted events generated by Vegas into a file. The maximum and average values of event weights are displayed on the screen and written into the proto col file. The user must take into account that any new call of the Start integration menu function will rewrite this file. In the case of C version of the n comphep program the user has a p ossibility to fill in some histograms during the Monte Carlo integration. In this case he needs to activate the Set Distribution function. This menu function op ens a table of distributions which can b e filled in by the user. The first column defines a phase space function which the user would like to scan. The set of available functions and the input format are defined in Section 3.3.5. The next two columns define a region of variation of the corresp onding phase space function. There could b e either a numb er or an algebraic expression containing the identifiers listed in the Model parameters menu. The user can browse the distributions using the Display distributions menu function. This menu function asks the user to cho ose one distribution and a numb er of bins. After that the distribution app ears. A call for Clear statistic menu function clears the stored distributions. 3.3.10 Batch calculations

CompHEP was created as a program for calculation in an interactive mo de. But in practice long-time calculations are typical and it is reasonable to p erform them in a batch queue regime. According to this requirement we have implemented the batch (or, say, `blind') calculation mo de in CompHEP. During the work with the n comphep f(c) program in the interactive 41


mo de you have a p ossibility to store all current settings and task parameters in the f(c) batch.dat file. The function Batch of the main menu is used to define such a task and save it in a file. It op ens the Menu 8 (see Fig.8). Its first function app ends parameters of the current session to the f(c) batch.dat file. It is p ossible to join several tasks in one f(c) batch.dat file. For the batch mo de you are provided with a p ossibility to p erform two sessions of Vegas calculation with automatic call for the Clear statistic function b etween the sessions. These sessions are driven by the Itmx1, nCal l1, Itmx2, nCal l2 parameters which in their turn may b e defined by means of functions of Menu 8. The meanings of these parameters are similar to the same name parameters of the Vegas menu. If you put one of these parameters equal to zero then only one session will b e launched. If you set the Generate events switch ON, then the squared matrix elements calculated during the last Vegas session will b e saved in a file for further pro cessing (see Section 3.4). There is a p ossibility to organize cycle calculation within one task. The Table size function defines a numb er of steps for the cycle calculation. The user may cho ose a parameter to scan by means of the Table param function. The last two menu functions allow to set the extreme values for the scanning parameter. Every time when you start n comphep f it checks a presence of the f batch.dat file. If it exists you will b e prompted: Would you like to use the BATCH mode? If you answer 'y' then n comphep reads the tasks from the f batch.dat file and p erforms requested calculations. So, if the f batch.dat file exists the batch calculations can b e launched by the pip e command: echo y |n comphep f The batch calculation in the case of n comphep c is started by n comphep c -batch CompHEP has an internal counter for Monte Carlo sessions which accrues after each Monte Carlo session. All output files have this session numb er as a part of their names. Hence, outputs from different tasks are written down in different files and all results are safely rememb ered after the n comphep run. In the case of cycle calculation the additional joint file f(c) table N M with results of calculation will b e created. Here N and M are the first and the last numb er of session for the current cycle. 42


3.3.11

Integration by means of the Simpson metho d

In the case of 2->2 typ e of pro cess we provide the user with a p ossibility to calculate the cross-section using the adaptive Simpson algorithm. It allows to get the results instantly and with a high precision. Note that some user's settings are ignored when you cho ose this option. Namely, the structure functions are switched off, the center-of-mass rapidity is assigned to zero, regularizations are also ignored and only angle and cosine cuts for incoming and outgoing particles are taken into account. When the Simpson menu function is activated CompHEP tries to evaluate the cross-section. Sometimes it is not p ossible, for example, if the corresp onding value is infinite, as we have in the case of e+ , e+ e+ , e+ reaction. When program detects a p ole inside of the integration region it pro duces an error message like Division by zero Press any key In the ab ove case you should remove the region of small angle scattering by applying the corresp onding cuts and after that activate the Simpson function once more. If the cross-section is successfully integrated the result is displayed on the screen. Menu 6 which is also displayed on the screen (see Fig.8) has the following options: a) to set relative precision of integral evaluation. A default value is 10-4 ; b) to display dep endence of the differential cross-section on the cosine of the scattering angle; c) to calculate and display on the screen the total cross-section or the forward-backward asymmetry as a function of any parameter involved in the calculation. 3.3.12 Pro cess of two particle decay

In the case of 1->2 decay pro cess the menu scheme describ ed ab ove is not used b ecause in this simple case the phase space integration is not needed. CompHEP writes on the screen the calculated particle width. If a multichannel pro cess like Z->2*x has b een intro duced then branchings for all decay mo des are displayed (Fig.9). The menu on the screen contains only one 43


function which provides the user with a p ossibility to calculate the total particle width as a function of one of the mo del parameters.

3.4
3.4.1

CompHEP event generator
Concept of the event generator

The pro cedure of event generation consists of two steps. During the evaluation of cross section by Vegas CompHEP writes down the calculated squared matrix elements into a binary file events N, where N is the session numb er. These files are compact owing to o ccupation of approximately four bytes p er one event. All CompHEP settings and a current state of the random numb er generator are stored there to o. On the next step stand-along command genEvents restores the event flow based on this file. It rep eats the Vegas session, but instead of the real matrix element evaluation it reads the corresp onding values from the file. This trick allows one to rep eat with a high sp eed the calculation of particle momenta and event weights pro duced earlier during the original Monte Carlo integration. Note that the CompHEP generates the partonic level events. CompHEP passes the task of fragmentation to other programs like PYTHIA [41]. 3.4.2 The genEvents command

To restore events from the events N file the user should use the $COPMHEP/genEvents command. In b eing launched it is waiting for user commands. These instructions are read from the standard input and the outcome is directed to the standard output. Any instruction should b e terminated by the end-of-line symb ol (the Enter key). The first instruction should contain an event file name, say, event 1. If such a file exists and has an appropriate format, genEvents writes the pro cess name, e.g. PROCESS: e1,E1 -> e2,E2 Then the line(s) with a physical cut definition could follow. The format of these lines is: [function identifier] [min.limit] [max.limit]

44


See Section 3.3.5 for a format of the function identifier. The limits are just numb ers. For the case of the S function instead of the values of squared momentum Val the user has to put in the quantity V al/ |V al|, similar to the case of cut definition in Section 3.3.6. The last line of input may b e empty or contain a desired distribution sp ecification. For the first case the weighted event flow will b e created. Otherwise the corresp onding distribution will b e pro duced. The format of input which sp ecifies a distribution is the same as that for cuts, but contains an addition field which defines the numb er of bins: [function identifier] [min.limit] [max.limit] [number of bins] The numb er of bins has not to exceed 300. The genEvents command verifies the input. But the user-friendly interface is not implemented here. For the case of wrong input the error message app ears and the program terminates. So, in order to escap e the rep etition of typing we recommend to store the input in a file and pass it to genEvents by $COMPHEP/genEvents < user input file or cat user input file | $COMPHEP/genEvents Let us give an example of user input file: event 1 A13 5 175 A15 5 175 M35 1 100 50 It is an instruction to build a 50 bin distribution for the invariant mass of 3rd and 5th particles under condition of a 5 degree cut for the angle b etween the momenta of these particles and the collision axis. To get a matching of particles with their momenta see the pro cess string in the corresp onding proto col file f prt N. The output for the distribution has got the following formats. 1. The pro cess string: PROCESS: e1 , E1 -> e2 , E2 2. The name of the X-axis in double quotas, limits for the axis and a numb er of bins: "Cosine(p1,p3)" from -1.0 to 1.00 N bins = 10 3. The name of the Y-axis: 45


Diff. cross section [pb] 4. The sequence of N bins lines for the averaged differential cross section for each bin and its statistical uncertainty separated by "+/-": .............. 8.0978E+02 +/- 9.2786E+00 ............... The following normalization of data is assumed: a sum of all values of the first column multiplied by the bin size is equal to the cross section. The graphical image of the distribution may b e displayed by the $COMPHEP/tab view command. One of the ways to use it is the long pip e: cat user input file | $COMPHEP/genEvents |$COMPHEP/tab view The options of the tab view program are describ ed in Section 3.1.1. See Fig.7 as an example of plot representation. One more p ossibility is to save the intermediate result and then use it: cat user input file | $COMPHEP/genEvents > hist file $COMPHEP/view tab < hist file. To generate the event flow the user has to enter an empty line instead of the distribution definition. After that the genEvents program writes down the weighted events in the standard output. The first six lines of output contain general information ab out the pro cess, namely the pro cess name, masses of particles, structure function records, the QCD scale, and values of center-of-mass energy and rapidity. For example, PROCESS: e1 , E1 -> e2 , E2 MASSES: 0.000000E+00 0.000000E+00 1.057000E-01 StructFun1: OFF StructFun2: OFF QCD constant scale: 9.12E+01, Lambda6=1.18E-01 GeV SQRT(S): 9.000E+01 Rapidity: 0.000E+00 1.057000E-01

The sign of rapidity is defined in such a way that its change towards a p ositive value corresp onds to an acceleration of the first incoming particle. The seventh line contains the column titles. The following lines contain columns of numerical information ab out events. In the first column the event weights are written down. They are normalized so that the sum of all numb ers of the first column gives the calculated cross section or decay width. 46


The other columns contain the comp onents of three-momenta of particles. The corresp onding momentum and comp onent numb ers are describ ed by the seventh (title) line of the output. For example, P2 3 means the third comp onent of the second momentum. Note that the 3rd comp onent is assigned to the collision axis. The first incoming particle has this comp onent p ositive while the second one has it negative. There are no columns for the momenta of incoming particles which are equal to zero by definition, for example, for the 1st and 2nd comp onents of momenta of colliding particles. The event flow output is normally very large, so we recommend to redirect the output to the subsequent program for some pro cessing cat user input file | $COMPHEP/genEvents | userProcessing A few such programs were created in the framework of CompHEP pro ject. They are disp osed in the $COMPHEP directory. I. unweight. It transforms weighted events into unweighted ones. It needs a parameter maxw which sp ecifies the maximum value of weights. Indeed this program transforms the floating numb er weight into the integer numb er one according to the following expression f loor ( w eig ht w eig ht w eig ht )+p - f loor ( ) maxw maxw maxw ,

where f loor (x) function rounds x downwards to the nearest integer and p(x) is the random function which equals 1 with probability x and zero otherwise. If the integer weight do es not equal zero then this event is written down into the output in the same format as the unweighted event flow. The true maximum weight may b e found in the proto col file. I I. filterD2. This program generates decays of one of outgoing particles into two others. It needs 6 arguments: 1) name of disintegrated particle; 2) name of the first decay particle; 3) numerical value of the mass of the first particle; 4) name of the second decay particle; 5) numerical value of the mass of the second particle; 6) branching fraction for this decay mo de. For example, filterD2 Z e2 0.1 E2 0.1 0.034 47


will generate decays of the Z b oson into muons. This program reads event flow from the standard input and writes down generated events into the standard output. It can b e used just after genEvents and after unweight. I I I. filterDN This function can generate more complicated sub-decays, for example, 1->3 ones. It is assumed that b efore its usage the events of corresp onding decay have b een generated by CompHEP, transformed into the unweighted format, and stored in some file. The name of this file must b e passed to filterDN as the first argument. Numerical value of the corresp onding branching fraction must b e passed as the second argument. You can obtain a wrong result using some part of the whole event sample b ecause Vegas generates strongly correlated events according to the Stratified Sampling algorithm (see Section D.1). If events are written down in some file they may b e mixed up by means of the $COMPHEP/randomize program. The first argument of this function is a name of the file where events are stored. The randomized event flow is directed to the standard output. The programs mentioned ab ove, namely unweight, filterD2, filterDN, randomize, can have three optional arguments. They must b e some integers which are used to re-initialize the starting p oint of the random numb er generator 4 . The generated event flow can b e transformed to the table of distribution of some physical variable by means of the mk tab program. This program needs four arguments, namely, a name of variable in format of Section 3.3.5, minimum and maximum limits of this variable and a numb er of bins, which cannot exceed 300. The mk tab program reads the event flow in the standard input and writes the generated table down to the standard output. This table can b e transformed into a plot by means of the tab view utility.

3.5
3.5.1

CompHEP files and commands
Files and commands in the working directory

We shall use an alias name WORK for the directory which has b een created by the user during the CompHEP installation (Section 2.5). It contains the following sub-directories and files: models/ results/ tmp/ comphep comphep.ini
4

We use standard random number generator drand48.

48


The models directory contains files which describ e physical mo dels. When you mo dify a mo del or create a new one all changes are kept in this directory. The directory results keeps a CompHEP output which is pro duced as a result of symb olic or numerical calculations. The directory tmp is used for temp orary files. The file tmp/safe keeps user settings b etween the sessions. If this file exists the symb olic session starts its work with reading this file to restore the user settings of the previous session. A bug presenting in this file could b e a reason for a fatal error in the b eginning of the CompHEP session. In the case of such an error we recommend to remove the tmp/safe file. All these directories are necessary for CompHEP work. Absence of one of them will lead to a fatal error. You can toggle on/off the color and the sound for a CompHEP session as well as cho ose the most appropriate font for your X-terminal. To do this just edit the comphep.ini file. We hop e the syntax there is self-explanatory enough. The command ./comphep starts a CompHEP session. This is a shell script which calls commands disp osed in the CompHEP ro ot directory. It is assumed that the $COMPHEP environment variable (see Section 2.5) p oints to this directory. 3.5.2 Scheme of calls in the CompHEP session

The command ./comphep b eing issued from within the WORK directory launches the $COMPHEP/s comphep command. The latter is the main CompHEP program. Prefix 's ' denotes symb olic. It p erforms symb olic calculations and generates the C and Fortran co des of calculated Feynman diagrams. Below we would like to describ e commands for compilation and numerical mo dule launching. The command names in the C and Fortran cases are distinguished by suffixes 'c' and 'f ' corresp ondingly. We shall use the '*' symb ol as a common notation for these 'c' and 'f '. The general scheme of calls can b e presented by the following diagram

49


s comphep launch n comphep *

make n comphep * n comphep *

nCompil * ld *

The binary executable n comphep * is created in the WORK/results subdirectory as a result of compilation. Other commands are disp osed in the $COMPHEP directory. They are shell scripts except of binary s comphep. It is assumed that s comphep and launch n comphep are started from the WORK directory, whereas other commands are started from within the WORK/results sub-directory. The program nCompil * compiles the source co de pro duced prior by s comphep. After successful compilation it creates a library of ob ject files and then removes the source and the ob ject files. Another command ld * calls a linker to create the executable file n comphep * for numerical job. The command make n comphep with parameter 'c' or 'f ' is used to start nCompil * and ld * subsequently. In its turn, make n comphep is started by launch n comphep in a sp ecial window. In the case of successful compilation the window is closed and just created n comphep * is started in another window. If you copy $COMPHEP/make n comphep into your WORK/ directory, then launch n comphep will call for your own version. It gives you a p ossibility to mo dify a compilation pro cedure if necessary. The s comphep command starts launch n comphep via the functions ............ C-compiler Fortran compiler of Menu 6 (Fig.5) and thus the chain of ab ove calls is realized. If you have prepared the C or Fortran co des you could compile them outside of the symb olic session by the make n comphep command with the c/f argument started from within the results directory. Let us say some words ab out other programs stored in the $COMPHEP directory. The program genEvents is used to prepare an event flow and histograms using the information saved by Monte Carlo session. The programs unweight, randomize, filter2D, filterND, and mk tab transform the event flow generated by genEvents. See Section 3.4 for details. The program tab view 50


provides the user with a p ossibility of visual presentation of distributions. See Section 3.1. 3.5.3 LOCK files

WORK/comphep creates a file LOCK in the WORK/ directory. Presence of the LOCK file prevents a double launching of WORK/comphep from within the same place of the file system. LOCK is automatically removed in the end of the WORK/comphep session. In the same manner $COMPHEP/launch n comphep creates a file c LOCK or f LOCK in the WORK/results sub-directory. If your session has b een canceled abnormally you have to remove these LOCK, f LOCK, c LOCK files manually b efore launching the next session.

3.6
3.6.1

User programs in CompHEP
Concept of user program implementation

We provide the user with a p ossibility to attach his own co des to the n comphep f(c) and genEvents programs. In this way you are able to 1) expand the set of phase space functions for cuts and histograms 2) implement new structure functions. CompHEP archive file num f(c).a contains some patch programs. When you create your version of these programs and pass the names of its ob ject files to the linker, they will b e emb edded into the executable file. In the case of n comphep f(c) command the following instruction do es this job: $COMPHEP/make n comphep f(c) userObjectFiles.o It is assumed that the ab ove command is started from within the user's directory results which contains sources or their archives. The genEvents file is disp osed in the $COMPHEP directory and generally cannot b e mo dified by the user. But one could create his own version of this program. In this case use
f77 -o userEvents $COMPHEP/events.o userObjFile.o $COMPHEP/num f.a

51


3.6.2

Fortran case

5

The user phase space function is evaluated by REAL*8 FUNCTION USRFUN(CHARACTER *9 TEXT) The patch is disp osed in the file $COMPHEP/f source/usr/u var.f. This function is called by n comphep f and $COMPHEP/genEvents programs if the phase space function whose name b egins with the 'U' character is used (see Section 3.3.5). The characters following 'U' are passed to the USRFUN routine as its argument. To create this function one needs to know the particle momenta. They are stored in COMMON/PVECT/ REAL*8 P(0:3,100) The first argument of array P is a Lorentz momentum comp onent. P (0, N ) is the energy of the N th particle. We have P (0, N ) > 0 as for incoming as for outgoing particles. In the case of collision pro cess P (3, N ) is a pro jection of the particle space momentum onto the collision axis. The direction of this axis is chosen so that P (3, 1) > 0 and P (3, 2) < 0. The second argument of this array is a momentum ordering numb er. The first momentum numb ers are assigned to incoming particles and the subsequent ones are assigned to outgoing particles. The numb ers of incoming and outgoing particles and a corresp ondence b etween the particle name and the momentum numb er may b e determined by means of service functions describ ed in Section 5.4. The work of user structure function is controlled by a set of routines. The patches for them are disp osed in $COMPHEP/f source/usr/sf prv.f. All of them should b e realized by the user: 1. LOGICAL FUNCTION P PRV(CHARACTER*6 P NAME) returns TRUE if the user structure function can b e applied to the P NAME particle. It is used to create the menu of p ossible structure functions for the particle P NAME. 2. SUBROUTINE M PRV(I) is called for the user input of the structure function parameters just after the user structure function has b een chosen. It is assumed that this routine saves values of the entered parameters in some COMMON for subsequent usage in
Below we insert parameter type definitions into headers of the Fortran routines. It is done for brevity only and contradicts to the Fortran style
5

52


N PRV describ ed b elow. The argument 'I' here and in the following means an incoming parton numb er. It can b e 1 or 2. 3. CHARACTER*60 FUNCTION N PRV(I) returns the structure function name. If the structure function has a few tuning parameters then the values of these parameters must b e included in the returned name. CompHEP uses the structure function name to keep information ab out parameters. 4. LOGICAL FUNCTION R PRV(I,CHARACTER*60 NAME, REAL*8 CMASS, REAL*8 BE) checks NAME. If NAME has the same format as the one pro duced by N PRV(), R PRV() should read the parameter values, store them in some global variables for subsequent usage, and return TRUE. Otherwise FALSE is returned. REAL*8 CMASS and REAL*8 BE are outgoing parameters. The first one must b e equal to the mass on the comp osite particle which constituents are describ ed by user's structure function. The second one informs CompHEP that the structure function is singular as (1 - X )(B E -1) , where 0 < B E 1. In the nonsingular case B E = 1 must b e returned. 5. REAL*8 FUNCTION C PRV(I,REAL*8 X) returns the value of structure function divided by B E (1 - X )(B E -1) . Here X is the Feynman scaling variable. It is assumed that p ossible structure function parameters having b een stored by R PRV are used for evaluation. The structure function is normalized so that be(1 - x)
be-1

c pr v (i, x)dx of initial structure a copy of it returns

is a probability to find the ith parton with fractions [x, x + dx] momentum. In the simplest case, if the user would like to implement a new function without singularity and extra parameters, he can just take the $COMPHEP/f source/usr/sf prv.f file, improve P PRV so that .T RU E . anyway, and rewrite originally trivial C PRV. 3.6.3 C case

The user phase space function has a prototyp e double usrfun(char * name) The patch is disp osed in the file $COMPHEP/c source/num/userFun.c. This 53


function is called by n comphep c programs if the phase space function whose name is started from the 'U' character is used (see Section 3.3.5). The characters following 'U' are passed to the usrfun routine as its argument. Particle momenta which are needed to evaluate usrfun are stored in the global variable double pvect[400] th The m comp onent of k th momentum o ccupies the m + 4 (k - 1) p osition in pvect. We assume that 'm' varies from 0 to 3 and the 'k' momentum counter starts from 1. The agreement ab out momentum signs is the same as in the Fortran case. The numb er of incoming and outgoing particles and the corresp ondence b etween the particle name and momentum numb er can b e determined by means of service functions describ ed in Section 5.5. The work of user structure function is driven by a set of routines similar to those of the Fortran case. All of them have to b e realized by the user if he would like to implement a particular structure function. Patches for these routines are disp osed in $COMPHEP/c source/num/strfun/sf prv.c. This file contains: 1) int p prv(char *particleName) returns 1 if the user structure function can b e implemented to the particleName particle. Otherwise 0 should b e returned. It is used to create a menu of p ossible structure functions; 2) void m prv(int i) is called for the user input of the structure function parameters just after the particular structure function is chosen. It is assumed that the input is saved in some static variables. The argument 'i' here and b elow means an incoming parton numb er. It could b e 1 or 2; 3) void n prv(int i, char * funcName ) returns the structure function name. If the structure function has a few tuning parameters then values of these parameters have to b e included in funcName. CompHEP uses the structure function name to keep information ab out parameters; 4) int r prv(int i, char *funcName) checks funcName. If funcName has an appropriate format, r prv must read the value of parameters, store them in some global variables and returns 1. Otherwise 0 is returned; 5) int mass prv(int i) 54


returns the mass of the comp osite particle which constituents are describ ed by this structure function. 6) double be prv(int i) p erforms needed initializations b efore structure function evaluation. It returns parameter be which informs CompHEP that the structure function is singular as (1 - x)
(be-1)

;

7) double c prv(int i, double x) returns the value of structure function divided by be(1 - x)(be-1) , where x is the Feynman scaling variable. It is assumed that p ossible turning parameters have b een stored by r prv in some static variables. In the simplest case, if the user would like to implement a new structure function without singularity and extra parameters, he may take a copy of the $COMPHEP/c source/num/strfun/sf prv.c file, improve p prv so that it returns 1 in any case, and rewrite the originally trivial c prv function.

55


4
4.1

Implementation of models of particle interactions
Definition of a mo del in CompHEP

Description of particle interaction mo del in CompHEP consists of four parts. They are parameters, constrains, particles, and vertices. 4.1.1 Indep endent parameters of the mo del

The Table Parameters consists of three fields: 1. Name for an identifier of the parameter. It may contain up to 6 characters. The first character must b e a letter, others may b e either letters or digits; CompHEP identifiers are sensitive to the case of characters. Also names of different identifiers must b e different after rewriting them in the low case. For example, if the identifier "Me" is used in the table for the electron mass, then the forms "ME", "mE","me" are forbidden as for new definitions as for identification of the electron mass. There are some reserved names which cannot b e used here: Ç i is reserved for imaginary unity; Ç Sqrt2 is reserved for 2;

Ç p1,p2,p3,... are reserved for particle momenta; Ç G5 is used for the 5 Dirac matrix;

Ç m1,...,M1,... are reserved for Lorentz indices of particles;

2. Value for a numerical value of parameter in some p ower of GeV units; 3. Comment for brief description of a parameter. 4.1.2 Constraints b etween the parameters

The Table Constraints consists of three fields:

56


1. Name for the constrained parameter. The requirements for this field are the same as for the name of indep endent parameres (see ab ove); 2. Expression which must b e an algebraic formula comp osed of: Ç integer numb ers,

Ç identifiers defined ab ove in this Table,

Ç identifiers enumerated in the Parameters Table, Ç parentheses (), arithmetic op erators +, -, /, *, **, and the sq r t() function.

For raising to a p ower the second op erand must b e an integer; 3. Comment for brief description of parameters. 4.1.3 Description of particles

Each row in the Particles Table describ es a particle - anti-particle pair. The rows consist of 10 fields: 1. Ful l name for a full name of particle. Just for clear orientation, not pro cessed anywhere; 2&3. "A" and "A+" containing designations of the particle and anti-particle, resp ectively. Any character is allowed. The name may contain one symb ol, two symb ols or three symb ols started from '~'. For a completely neutral particle the "A" and "A+" fields must b e identical; 4. 2*Spin for a doubled particle spin: 0 for scalar, 1 for spinor and 2 for vector particles. Neutral spinor particle is teated as a Ma jorana one. 5. Mass for a mass identifier or symb ol '0'. In the first case its value must b e defined in the Parameters or Constraints table. If this field contains zero, then CompHEP considers this particle as massless; 6. Width for a particle decay width. It must contain an identifier defined in the first two tables or '0';

57


7. Color for a dimension of the color SU(3) group representation. You have to cho ose among 1, 3, 8. Unity corresp onds to a colorless particle. Three corresp onds to a color triplet (fundamental representation). In this case the anti-particle "A+" is transformed by conjugated ? representation. 3 Eight corresp onds to a color o ctet (adjoint representation); 8. Aux for an auxiliary field which allows to mo dify particle propagators. If the Aux field is empty the standard expressions for propagators are substituted: (a) spin 0 case: (p1 + p2 ) ; (2 )4 i(M 2 - p2 ) 1

< 0|T [A(p1 ), A+ (p2 )]|0 >= S cP r (p1 , p2 , M ) = (b) spin 1/2 case:

< 0|T [A(p1 ), A+ (p2 ) 0 ]|0 >= ( p1 + M ) S cP r (p1 , p2 , M ) , where p = pÅ
Å

.
0

Here "A+ " is the Hermitian conjugation of "A"; thus the Dirac matrix is needed to make the Dirac conjugate field; (c) spin 1 case:
m m

< 0|T [A

1

(p1 ), (A

2

)+ (p2 )]0 > = -(g m1 m2 + pm1 pm2 /M 2 ) 2 1 ç S cP r (p1 , p2 , M ) . (5)

Zero mass vector particle must b e marked as a gauge one using the Aux field (see b elow). Possible ob jects for the Aux field are:

58


'l','L' is p ermitted for massless fermions ( 2*spin = 1 ) only. The propagator is changed to p1 (1 + 5 ) S cP r (p1 , p2 , M ) . 2 This is a way to intro duce a left-handed fermion as a neutrino or a massless p olarized fermion. When CompHEP p erforms the averaging over incoming particle p olarizations it takes into account that there is only one p olarization state; 'r','R' is p ermitted for massless fermion ( 2*spin=1 ) particle only. They change the propagator for p1 (1 - 5 ) S cP r (p1 , p2 , M ) . 2 This is a way to intro duce right-handed fermions; '*' is p ermitted for massive particle only. In this case S cP r (p1 , p2 , M ) is replaced to (p1 + p2 ) . (2 )4 i M 2 In the case of vector particle we also remove pm1 pm2 term in the 1 2 propagator numerator (5). Such particles cannot app ear as incoming or outgoing ones. They are used to describ e a p oint-like interaction as one has in the electroweak 4-fermion interaction mo del; 'G','g' is p ermitted for vector ( 2*spin=2 ) particle. In this case the propagator of vector particle accepts the Feynman form -g
m1 m
2

S cP r (p1 , p2 , M ) ;

9&10. LaTeX(A) and LaTeX(A+) for particle and anti-particle designations A A in the L TEX format. They are substituted in the L TEX image of Feynman diagrams generated by CompHEP. The names are used in the mathematical mo de.

59


4.1.4

Ghost fields in CompHEP

CompHEP constructs a list of quantum fields according to the Table of particles describ ed ab ove. Besides of names enumerated in this table CompHEP generates auxiliary fields, for example, the Faddeev-Pop ov ghosts [42]. We use the name ghost for all of them. The ghost fields do not corresp ond to physical degrees of freedom, but each of them has some real particle as a prototyp e. The names of ghost fields are constructed by CompHEP from the prototyp e particle name followed by a suffix which sp ecify a typ e of ghost. The particle name and the suffix are separated by the dot symb ol. It is assumed that the ghost fields explicitly app ear in the vertices of interactions together with real particle fields and thus contribute to the particle interaction. Below we list CompHEP ghost fields. Faddeev-Pop ov ghost and anti-ghost. They are generated for any gauge vector particle, in other words, for those particles which have the mark 'g' in the 'Aux' column of the Particles Table describ ed in the previous section. The names of Faddeev-Pop ov ghosts and anti-ghosts are constructed by means of suffixes 'c' and 'C' resp ectively. For example, G.c, G.C are gluon ghosts and W+.c, W+.C, W-.c, W-.C are W-b oson ghosts. The op eration of Hermitian conjugation transforms a Faddeev-Pop ov ghost to itself whereas an anti-ghost is transformed to itself with the opp osite sign. Thus the rules of Hermitian conjugation of gluon and W-b oson ghosts are (G.c) (G.C ) (W+.c) (W+.C)
+ + + +

= = = =

G.c -G.C W-.c -W-.C

Faddeev-Pop ov (anti)ghosts are scalar, anti-commutative fields 6 . The nonzero propagators for these fields are: < 0|T [A+.c(p1 ), A.C (p2 )]|0 >=< 0|T [A+.C(p1 ), A.c(p2 )]|0 >= S cP r (p1 , p2 , M ),
6

The well-known spin-statistic relation is not valid for unphysical fields.

60


where M is a mass of the prototyp e particle. This equality of masses is a consequence of the choice of the t'Ho oft-Feynman gauge. The app earance of the Faddeev-Pop ov ghosts in gauge theories can b e explained in the following way. In the case of the t'Ho oft-Feynman gauge the quantum field of massless gauge particle has two unphysical comp onents, b ecause the four-dimensional vector field describ es a particle with two p olarization states. The contributions of Faddeev-Pop ov ghost and anti-ghost comp ensate the contribution of these unphysical p olarizations. In the case of massive gauge b oson there are three physical p olarizations and the comp ensation by means of Faddeev-Pop ov ghosts lo oks wrong from the viewp oint of naive arguments based on counting degrees of freedom. Indeed, in this case one additional Goldstone ghost app ears [42]. Goldstone ghost. It is generated for any massive gauge vector particles. The name of this field is constructed by means of suffix 'f '. For example, W+.f, W-.f are the W-b oson Goldstone ghosts. This ghost is scalar, commutative, and satisfies the same conjugation rule as the prototyp e particle. For example, (W + .f )+ = W - .f . The nonzero propagators for these fields are: T [A+.f(p1 ), A.f (p2 )] = S cP r (p1 , p2 , M ), where M is a mass of the prototyp e particle. Tensor ghost. Whereas the Faddeev-Pop ov and Goldstone ghosts are standard elements of mo dern quantum field theory, the tensor ghost is an original CompHEP invention. This is an auxiliary field with a p oint-like propagator which is used to construct vertices with complicated color structure, for example, the four-gluon vertex. The tensor ghost is generated automatically for any vector particle with a non-trivial SU(3) color group representation. Its name is constructed by means of suffix 't'. This ghost is commutative, and satisfies the same conjugation rule as the prototyp e particles. It is Lorentz-transformed like a tensor field. The propagator is < 0|T [A+.t
m1 M
1

(p1 ), A.t

m2 M

2

(p2 )]|0 >=

1 (p1 + p2 ) g (2 )4 i

m1 m

2

g

M1 M

2

. (6)

61


4.1.5

Interaction vertices

The Table Vertices contains interaction vertices. The first four fields A1, A2, A3, A4 include the names of the interacting particles. These fields must contain particle names in CompHEP notation. A4 may b e empty. The last two fields 'Factor' and 'LorentzPart' define a vertex itself. Let S b e the action, then a functional derivative of S over fields is represented as S = A1[m1] (p1) A2[m2] (p2) A3[m3] (p3) [ A4[m4] (p4)] (2 )4 (p1 + p2 + p3 [+p4]) [0] C olor S tr uctur e Ç F actor Ç Lor entz P ar t . (7) Here p and m denote 4-momenta and Lorentz indices. The brackets [ ] are used to mark the optional parts of expression. Thus, A4, p4, and m4 app ear only in the case of four particle vertex. In the case of anti-commuting fields the right-side derivatives are assumed. The Fourier transformation is defined by A(x) = exp(-ik x)A(k ) d4 k . (8) 'Factor' must b e a rational monomial constructed of the mo del identifiers, integer numb ers and imaginary unity. 'LorentzPart' must b e a tensor or Dirac -matrix expression. Co efficients of this expression are p olynomials of the mo del identifiers and scalar pro ducts of momenta. The division '/' op erator is forbidden in 'LorentzPart'. It must b e transferred to the 'Factor' field. Similar to the Reduce notation, in order to construct scalar pro ducts of momenta, momentum comp onents, and metric tensors we use the dot symb ol, for example, p1.p2 is gÅ pÅ p ; 12 m p1.m2 is p1 2 ; m1.m2 is gm1 m2 . To implement the Dirac -matrix with index m we use a symb ol G(m), whereas G(p) denotes pÅ Å . Anti-commutation relations for matrices should b e written as G(v 1) G(v 2) + G(v 2) G(v 1) = 2 v 1.v 2, (9) 62


where v 1, v 2 are momenta or indices. The 5 matrix is denoted by G5. It is defined by equation 5 = i 0 1 2
3

The numb er of fermion fields in one vertex must b e two or zero. If you would like to implement a four-fermion interaction, use an auxiliary unphysical field which may b e constructed by means of the '*' symb ol in the 'Aux' column of the particle table (see Section 4.1.3). CompHEP interprets the anti-particle spinor field as the Hermitian conjugated particle field, rather than the Dirac conjugated one. Also it is assumed that all spinor fields are written in the Ma jorana basis and the matrix of C-conjugation is equal to (-0 ) 7 . After substitution C -0 all p ossible vertices could b e written as A1(p1) 0 G(v 1) G(v 2) . . . G(v n) A2(p2) where A1 and A2 are some spinor fields, each of them corresp onding to particle or anti-particle. This form of Lagrangian is assumed in the vertex expression (7). 0 is substituted by CompHEP automatically in the case of a spinor particle vertex and is not exp ected in LorentzPart of (7). Note that structures like m1.m2 and p1.m2 are forbidden for the vertex with fermions. In order to implement these structures use the equation (9). Let us note that by definition (7) the LorentzPart has the corresp onding symmetry prop erty in the case when identical particles app ear in one vertex. This symmetry is not checked by CompHEP, but its absence will lead to wrong results. The following equation may b e used to check the symmetry in the case of fermion vertex: A1(p1) 0 G(v 1) G(v 2) . . . [G5] . . . G(v n) A2(p2) = A2(p2) 0 (-G(v n)) . . . [G5] . . . (-G(v 2)) (-G(v 1)) A1(p1) .

(10)

It may b e useful also to check the Lagrangian self-conjugation prop erty. Note that the anticommutation of A1 and A2 is already taken into account in (10).
Above the Ma jorana spinor was defined as a Hermitian In the same time it must be C -self-conjugated too: = C we get the phase of C which is different from one chosen in
7

self-conjugated one: = + . ? T . Following these requests the textbook [42]

63


ColorStructure is substituted by CompHEP automatically. For a colorless particle vertex it is equal to 1. For (3 ç ? and for (8 ç 8) vertices the 3) unity tensor is substituted. If CompHEP meets a vertex with three particles in the adjoint representation (8 ç 8 ç 8), it substitutes - i f (a1, a2, a3),
where f213 are the structure constants of SU(3). Color indices a1, a2, a3 are taken in the same order as they app ear in the particle columns. For the (3 ç ? ç 8) vertex CompHEP substitutes 3

1? (i, i, a), 2 where (? i, a) are the Gell-Mann matrices. More complicated color struci, tures are not implemented yet, but it is p ossible to construct them by means of unphysical particles (Aux='*') or tensor ghosts (Section 4.1.4). In the case of tensor auxiliary field use the capital 'M' for designation of the second Lorentz index of this field as it is shown in equation (6).

4.2
4.2.1

Examples
Implementation of QCD Lagrangian

3-gluon vertex. Lagrangian (40) contains the following 3-gluon vertex: S
3G

=-

g 2

(Å G - G )f G G d4 x = -g Å Å

1 Å2 G1 g Å

Å1 Å

3

f

1 2

3

2 3 GÅ2 G3 d4 x , Å

where G is the gluon field, g is the strong coupling constant. Applying the Å Fourier transformation (8) we get S = (2 )4 g (p1 +p2 +p3 ) i f p Å2 g 1
Å1 Å
3

3G

1 2

3

3 2 1 G1 (p1 )G2 (p2 )GÅ3 (p3 )d4 p1 d4 p2 d4 p3 . Å Å

This vertex contains three identical fields, so the calculation of functional derivatives gives us six terms: S3g = (2 )4 (p1 + p2 + p3 ) i f1 2 3 1 (p ) G2 (p ) G3 (p ) G Å1 1 Å2 2 Å3 3 Å Å2 Å1 Å3 Å2 Å1 Å3 + p Å3 g Å1 Å2 - p Å3 g Å1 Å2 + p Å1 g Å2 Å3 - p 2 1 g - p3 g g (p1 g 3 1 2 64

Å2 Å

3

).


Comparing this expression with the CompHEP vertex representation (7) where ColorFactor is (- i f1 2 3 ) we get F actor ÇLor entz P ar t = - g (pÅ2 -pÅ2 )g 1 3
Å1 Å
3

+(pÅ3 -pÅ3 )g 2 1

Å1 Å

2

+(pÅ1 -pÅ1 )g 3 2

Å2 Å

3

.

CompHEP uses the notation GG for the strong coupling constant g . So for the 3-gluon vertex in the CompHEP format we finally get
A1 G A2 G A3 G A4 Factor GG Lorentz part m1.m2*(p1-p2).m3+m2.m3*(p2-p3).m1+m3.m1*(p3-p1).m2

Quark-gluon interaction. The interaction of a gluon with a quark is describ ed by the following term of Lagrangian (40): S
Qq G

=g

^ G (x)q (x) Å t q (x) d4 x . ? Å

Applying the Fourier transformation and substituting q = q + 0 we get ? S
Qq G

= g (2 )

4

^ (p1 + p2 + p3 )G (p3 )q + (p1 ) 0 Å t q (p2 ) d4 p1 d4 p2 d4 p3 ; Å
Å

SQqG ^j = g (2 )4 (p1 + p2 + p3 )(t )i 0 q (p1 ) q j (p2 ) G (p3 ) Å
+ i

3

.

^j The factor (2 )4 (p1 + p2 + p3 )(t )i 0 is substituted by CompHEP automatically. Thus, the quark-gluon interaction is implemented in the CompHEP Vertex table as the following record: A1 A2 Qq A3 A4 G Factor Lorentz part GG G(m3)

where q and Q are designations for a quark and a corresp onding antiquark. Interaction of ghosts with gluon. This interaction is describ ed by the non-linear term of (42), namely SccG = -g ?
c (x) Å (f G (x)c (x))d4 x ; ? Å

65


Fourier transformation and subsequent evaluation of functional derivatives gives us SccG = -g (2 ) ?
4 (p1 +p2 +p3 )c (p1 )(-i p2 -i p3 )Å3 f G3 (p3 )c (p2 )d4 p1 d4 p2 d4 p ? Å 1 2 3

SccG ? = g (2 )4 (p1 + p2 + p3 )pÅ3 i f 1 3 c1 (p1 ) c2 (p2 ) G3 (p3 ) ? Å

3

.

The factor (2 )4 (p1 + p2 + p3 )(- i f1 2 3 ) is substituted by CompHEP. Thus, this interaction may b e implemented as the following record in the Vertex table. A1 A2 G.C G.c A3 G A4 Factor Lorentz part -GG p1.m3

where G.C and G.c are the CompHEP notations for the Faddeev-Pop ov ghosts c and c resp ectively. ? 4-gluon interaction. Besides the 3-gluon interaction term the Lagrangian (40) contains also the term of 4-gluon interaction: g 2 ÅÅ g g f G (x)G (x)f GÅ (x)G (x)d4 x . Å 4 The Fourier transformation and functional differentiation lead us to the expression which contains three different S U (3) color structures: S
4G

=-

S4G = -g 2 (2 )4 (p1 + p2 + p3 + p4 ) 3 (p ) G4 (p ) G (p1 ) G (p2 ) GÅ3 3 Å4 4
1 Å1 2 Å2

ç
3

f

1

2

f

3

4

(g

Å1 Å

3

g

Å2 Å

4

+f

1

4

f

2

3

(g

Å1 Å

2

g

Å3 Å

-g

Å1 Å

4

g

Å2 Å

3

)+f ).

1

3

f

2

4

(g

Å1 Å

2

g

Å3 Å

4

4

-g

Å1 Å

3

g

Å2 Å

-g

Å1 Å

4

g

Å2 Å

)

4

(11)

The complicated color structure of this vertex cannot b e directly written down in the CompHEP format. To implement this vertex we use the follow ing trick. We intro duce an auxiliary tensor field tÅ (x) and the Lagrangian of its interaction with the gluon field: S
aux

=

ig f t 2



Å

(x)GÅ (x)G (x) -

1 t 2



Å

(x)t



Å

(x) d4 x .

66


It is easy to notice that the functional integration over the auxiliary field t (x) repro duces the term of 4-gluon interaction in the partition function:
Å

e

iS

4G

(G)

=

e

iS

aux

(G,t) x,,Å,

d t (x) . Å

For each colored vector particle CompHEP adds a tensor field with the same color to the internal list of quantum fields. The propagator of this 1 field (6) corresp onds to the Lagrangian (- 2 t Å (x)t Å (x)). Consequently, in order to realize the 4-gluon interaction we must intro duce a vertex for the interaction of the gluon with this tensor field S StGG G (p1)G (p2) t
1 Å1 2 Å2 3 Å3 Å tGG

ig = 2

f t



Å

(x)G (x)G (x)d4 x ; Å
1 2
3 3

3

(p3 )

= (2 )4 (p1 + p2 + p3 )(- i f g ç (g 2
Å2 Å
3

)

g

Å1 Å

3

-g

Å1 Å

3

g

Å2 Å

).

In CompHEP notations this vertex lo oks like the following A1 A2 GG A3 A4 G.t Factor Lorentz part GG/Sqrt2 m2.m3*m1.M3 -m1.m3*m2.M3

where G.t is a CompHEP notation for the auxiliary tensor field t asso ciated Å with the vector field G. Capital M denotes the second Lorentz index of the tensor field. From the viewp oint of the Feynman diagram technique such realization of the 4-gluon interaction means that instead of one 4-gluon vertex we substitute three sub-diagrams presented in Fig.13. Contribution of each of these diagrams corresp onds to one of the terms of expression (11). 4.2.2 Neutrino as a Ma jorana fermion

It is well known that in the Standard Mo del only the left comp onent of massless neutrino takes part in interactions. So one can describ e neutrino by a Ma jorana field which has the same numb er of degrees of freedom as a left Dirac one. To realize such a particle in the framework of CompHEPone 67


should add the following record to the table of particles: Full name neutrino A MN A+ MN 2*spin 1 mass 0 width 0 color 1 aux

In terms of Dirac field a neutrino app ears in the Standard Mo del Lagrangian in the following way (55)8 : L


=

e i? ? ? ( Å Å - ( Å )Å ) + ZÅ Å (1 - 5 ) 2 4 sin w cos w e -? +? WÅ e Å (1 - 5 ) + WÅ Å (1 - 5 )e , (12) + 2 2 sin w

where e is the electron field. To rewrite it in terms of a Ma jorana fermion let us p erform the substitution 1 1 = (1 - 5 )l + (1 + 5 )r , 2 2 where l and r are Ma jorana fermions. Omitting Lagrangian for r and applying the following identities for Ma jorana fermions i? ? ? ( Å 5 Å - ( Å )Å 5 ) = Å = 0 4 which can b e obtained by means of (10), we get e i? ? ? (l Å Å l - ( Å l )Å l ) - Z Å l Å 5 l 4 4 sin w cos w e -? +? + WÅ e Å (1 - 5 )l + WÅ l Å (1 - 5 )e . 2 2 sin w =

L



Here the first term is the free Lagrangian for a massless Ma jorana fermion. Other terms define the interaction. Using the definition (7) we can rewrite
8

where Y = -1, 1 = , 2 = e , g2 = e/ sin w , g1 = e/ cos

w

68


them in the CompHEP notations: A1 MN E1 MN A2 MN MN e1 A3 Z WW+ A4 Factor -EE/(2*SW*CW) EE/(2*Sqrt2*SW) EE/(2*Sqrt2*SW) Lorentz part G(m3)*G5 G(m3)*(1-G5) G(m3)*(1-G5)

Let us emphasize that there are two identical neutrino fields in that term of the Lagrangian which describ es the interaction of neutrinos with a Z b oson. It leads to the additional factor 2 and to the symmetry prop erty of the corresp onding vertex. One of the typical mistakes in realization of such a vertex is an intro duction of the G(m3)*(1-G5) term which breaks the symmetry prop erty. Correct evaluation of the functional derivative (7) with the help of the identity (10) never pro duces such a term. 4.2.3 Lepto quarks

In this section we present an example of Lagrangian which contains the matrix of C-conjugation. Such matrix app ears in interactions violating the fermion numb er conservation. Let e and u b e the fermion fields of electron and u-quark, resp ectively, interacting with the scalar complex leptoquark field F
c ? ? L = c (1 + 5 )e F + e (1 + 5 )u F u +

? ? where c = T C and c = C T . u u e e In the Ma jorana basis which is used in CompHEP the charge conjugation op erator C = - 0 . So the Lagrangian can b e presented in the form L = -T 0 (1 + 5 )e F - + 0 (1 + 5 ) 0 ( 0 )T + F u e u T0 5 +0 5 ++ = -u (1 + )e F + u (1 + )e F .
+

Direct implementation of the definition (7) gives us the Vertex table

69


A1 A2 u e1 E1 U

A3 A4 Factor Lorentz part F -lamb da (1+G5) F+ lamb da (1+G5)

By means of equation (10) we can rewrite this table in the equivalent form: A1 A2 e1 u U E1 A3 A4 Factor Lorentz part F -lamb da (1+G5) F+ lamb da (1+G5)

4.3

LanHEP and SUSY mo dels

There is a p ossibility of automatic conversion of the Lagrangian written in the compact form in the co ordinate space into the CompHEP table format. It can b e p erformed by means of the LanHEP program written by A. Semenov [16]. The input is expressed in terms of complex ob jects, such as a covariant derivative and a gauge field tensor. The LanHEP program was used [17] to generate CompHEP mo del files for the Minimal Sup ersymmetric Mo del. Another result pro duced by LanHEP is the realization the general two-Higgs-doublet mo del [18] The CompHEP WWW page contains references to the LanHEP co de and to the MSSM Lagrangian mo del files.

70


5
5.1

CompHEP output files
A L TEX output

CompHEP uses the Axodraw package by J.A.M. Vermaseren [45] to write A diagrams and plots in L TEX format. To use this package the Axodraw style should b e included in the documentstyle statement. An example would b e \documentstyle[axodraw]{article} Under kind p ermission of the author we put a copy of axodraw.sty file in the $COMPHEP/ directory. One bug in the axis drawing routine has b een corrected. The Axodraw syntax is very easy and you can alter the CompHEP output to get some lo cal correction in picture if any. The user can also change line A width, scale of picture, and size of characters. The corresp onding L TEX and Axodraw instructions are presented in the b eginning of the output. For example, { \small \SetWidth{0.7} \SetScale{1.0} \unitlength=1.0 pt ............ % % % % letter size control line width control line scale control text position control

} Note that the \SetScale instruction influences on p ositions of lines, whereas the \unitlength variable is resp onsible for p osition if texts. Consequently, if the user would like to change the scale of picture, he must improve these instructions in the same manner. For instance, to increase the picture by two times use \SetScale{2.0} \unitlength=2.0 pt % picture size control % picture size control

A In the case of Feynman diagram output CompHEP substitutes L TEX names of particles as they are defined in the Particle table (see Section 4.1.3).

71


5.2
5.2.1

Symb olic answer in Reduce and Mathematica formats
General structure

The CompHEP symb olic output can b e used for further manipulation with an answer which has b een obtained by means of the built-in symb olic calculator. It might b e a summation of all diagrams to a common denominator expression, a symb olic integration of answer, a representation of answer as a function of sp ecial set of variables and so on. We have tried to present results in the form which can b e easily used for different purp oses. All diagram contributions for one subpro cess are stored in one file. The subpro cess ordering numb er is attached to the file name. For example, the symb1.red and symb1.m files are generated to present the symb olic answer of the first subpro cess in the Reduce [33] and Mathematica [34] format corresp ondingly. The structure of the output file can b e describ ed by the following scheme:
Initial declarations; initS um(); Answer for the first diagram; addT oS um(); Answer for the second diagram; addT oS um(); ................... ................... f inishS um();

'Initial declarations' includes the declaration of vector variables for momenta and the conservation law relations for them, the declaration of indep endent parameters involved in calculation and numerical values of them, the declaration of constrained parameters and substitution rules for them, and, at last, the declaration of the pro cess name. The momenta are named p1, p2, p3, .... They are assigned to particles according to a particle sequence in the pro cess name. The signs of momenta are defined in such a way that the sum of momenta of incoming particles is equal to the sum of momenta of outgoing particles. The list of substitutions of numerical values for indep endent parameters is written down in variable par ameter s. The list of substitutions for the constrained parameters is stored in variable substitutions. The lists 72


of incoming and outgoing particles are stored in variables inP ar ticles and outP ar ticles resp ectively. CompHEP writes down subsequently expressions for diagram contributions and after any record it calls a summation pro cedure addT oS um(). Just b efore and after summation the pro cedures initS um() and f inishS um() are called. These three pro cedures must b e written by the user and loaded in advance. Such a construction of the output allows one to use it for different purp oses creating appropriate pro cedures. Now we shall explain the structure of diagram contribution. It is started from a pseudo-graphic diagram image like in Fig.11. After that assignments for totF actor , numer ator , denominator variables follow: totF actor is a ration function dep ending on mo del parameters; numer ator is a p olynomial of mo del parameters and momenta scalar pro ducts; denominator is presented as a pro duct of propagator denominators pr opD en(P , M ass, W idth) , where P , M ass, and W idth are the momentum, mass, and width of the corresp onding virtual particle. In the case W idth = 0 pr opD en must b e defined as (M ass2 - P 2 ). The treatment of the W idth argument can b e arranged by the user as he likes. In these terms the diagram contribution to the squared matrix element may b e expressed in the following way: numer ator . denominator As it was mentioned ab ove (Section 3.2.3) the result obtained by summation of all diagrams must b e symmetrized in the case of identical outgoing particles. This work may b e done by the f inishS um() pro cedure. totF actor 5.2.2 Example: Summation of diagrams and symb olic integration by means of the Reduce package

We have prepared some summation programs for working with Reduce output. They are: 73


sum.r ed which presents the squared matrix element as a common denominator expression; sum2pole.r ed which presents the squared matrix element as a sum of p ole terms; sum2tot.r ed which presents a symb olical expression for the total cross section. The last two options are available only for 2->2 pro cesses. These files are stored in the C O M P H E P /test directory. Let you prepare the symb olic output symb1.red for the Compton scattering A,e1 -> A,e1 in the framework of QED mo del 9 . Launch the Reduce system from within the result directory. The p ossible Reduce sessions are:
%1 in"$COMPHEP/test/sum.red"$ in"symb1.red"$ sum;

% loading the summation package % reading contributions of diagrams % writing the answer

(32*ee**4*(2*p1.p2**4-4*p1.p2**3*p1.p3+3*p1.p2**2*p1.p3**2-2*p1.p2**2*p1.p3 *me**2-p1.p2*p1.p3**3 + 2*p1.p2*p1.p3**2*me**2 + p1.p3**2*me**4)) /(propden(-p1-p2,me,0)**2*propden(p2-p3,me,0)**2)$ %2 in"$COMPHEP/test/sum2pole.red"$ % loading the summation package in"symb1.red"$ % reading contributions of diagrams sum; % writing the answer 2*ee**4*(4*sp(me)**2*me**4 + 8*sp(me)*up(me)*me**4 + 4*sp(me)*me**2 + sp(me)*t+ 4*up(me)**2*me**4 + 5*up(me)*me**2 - up(me)*s + 1)$

Here s = (p1 + p2)2 ; t = (p1 - p3)2 ; the functions sp, tp, up are defined by the following way sp(x) = 1/(s - x2 ); up(x) = 1/(1 - u2 ) w her e u = (p1 - p4) tp(x) = 1/(t - x2 );
2

%3 in"$COMPHEP/test/sum2tot.red"$ % loading the summation package
9

In other CompHEP models the electron is massless.

74


in"symb1.red"$ % reading contributions of diagrams sum; % writing answer for total cross section (ee**4*(2*s**4*log(s/me**2) + s**4 - 12*s**3*log(s/me**2)*me**2 + 14*s**3*me**2 - 6*s**2*log(s/me**2)*me**4 - 16*s**2*me**4 + 2*s*me**6 - me**8))/(16*s **2*pi*(s**3 - 3*s**2*me**2 + 3*s*me**4 - me**6))$

Sometimes the expression for total cross-section includes a cumb ersome square ro ot of kinematic variables which app ears as a result of evaluation of integrand limits. In this case the integration routine intro duces a new variable be_ for this square ro ot to express the total cross-section in a more compact form. The substitution for the be_**2 is generated by the integration routine. There are similar packages sum.m, sum2pole.m, and sum2tot.m for operation with the Mathematica output.

5.3

Reduce program

The Reduce program was the first CompHEP output which op ened the p ossibility to pro duce some physical results by means of this package. Later on, when the CompHEP built-in symb olic calculator was created, the Reduce output b ecame unnecessary. But we still keep it in the package for testing. The CompHEP symb olic calculator lo oks like a black b ox. On the contrary the Reduce program is written in terms which can b e understo o d and checked. The comparison of result pro duced by the built-in symb olic calculator with that of Reduce evaluation of the generated co de is a go o d check of CompHEP software (see Section A). Below we shall describ e the structure of Reduce program. CompHEP generates a separate file for each squared diagram. The files are named as pNNN-MMM.red where NNN is the subpro cess numb er and MMM is the diagram ordering numb er. The file b egins with from the declaration of momenta and Lorentz indices. For example, % ----------- VARIABLES -----------------vector A,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,ZERO_; vector m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12,m13,m14,m15,m16; 75


% %--------MASS P1 MASS P2 MASS P3 MASS P4 %-------Let p4 Let p5 Let p6

Mass shell declarations ----------= 0$ MSHELL P1$ = 0$ MSHELL P2$ = Mm$ MSHELL P3$ = Mm$ MSHELL P4$

Momentum substitutions -------= +p1+p2-p3$ = +p1+p2$ = -p1-p2$

Vector A is used by the Reduce package to construct the 5 matrix, 5 = G(ln, A). Vectors whose names b egin with 'p' are used for designation of momenta. Vectors whose names b egin with 'm' are reserved for Lorentz indices. We see then the mass-shell declarations for incoming and outgoing particles. After that the file contains the substitutions of momenta of on-shell and virtual particles which we have according to the conservation law. Then the diagram total factor with self explanatory comments is written down. For example, in the case of e+ e- Å+ Å- pro cess we have %---------- Factors --------------SymmFact:=1/1$ % Diagram symmetry factor AverFact:=1/4$ % Normalization factor of polarization average FermFact:=1$ % (-1)**(number of in-fermion particles) ColorFact:=1/1$ % QCD color weight of diagram % totFactor_:=EE**4$ totFactor_:=totFactor_*SymmFact*AverFact*FermFact*ColorFact$ These declarations are self-explanatory except, mayb e, of the S y mmF act variable. Generally S y mmF act = N/D where N is equal to 1 in the case of left-right squared diagram symmetry. Otherwise the factor equals 2. D is a factorial connected with presence of identical outgoing particles and partially reduced by a numb er of various p ossibilities to assign the momenta of outgoing particles to the corresp onding diagram lines. 76


The program for evaluation of one squared diagram actually includes the co des for a set of diagrams which app ear after replacing of some physical particles by their ghosts according to the existing interaction vertices. We shall call all diagrams of the set as ghost diagrams. Note that all these diagrams have the same denominator. The evaluation is started from the initialization of variable for the sum of numerators of the set: numerator :=0$ The program for evaluating each diagram of the set is advanced by the pseudo-graphical image of diagram. (See, for example, Fig.11). The name of particle and corresp onding momentum are written down near the line. The Lorentz index is written just on the line. The diagram co de is started from the fermion lo ops evaluation. The program moves along the fermion line and multiplies the vertex and propagator terms. The nospur instruction is declared b efore each lo op evaluation to prevent the default trace evaluation in the end of any instruction. If the result of multiplication contains Lorentz indices which can b e contracted, the program declares the corresp onding vectors as indices by means of the index instruction. As a rule the fermion vertices are multiplied in the order which corresp onds to moving in the direction opp osite to the direction of fermion arrows. But if the diagram contains a vertex with the C-conjugate op erator or Ma jorana particles the order of multiplication is chosen at random, b ecause the propagator lines have different orientations or have no them at all. If the orientation of fermion line is chosen, the vertices are divided into two groups, normal and reverse. For the normal vertex the incoming fermion line is attached to the second fermion, whereas for the reverse vertex it is attached to the first one. CompHEP transforms the reverse vertices to normal form by means of the rule (10) and writes down the corresp onding comment. After the last multiplication the state of the spur switch is restored and the -matrix trace is evaluated with simultaneous multiplication by factor of '-4'. The '4' is needed b ecause the Reduce trace evaluation omits this factor and the minus app ears from the Feynman rules. The next step is the multiplication of vertices and contraction of Lorentz indices . The indices for contraction are declared by the Index instruction b efore the multiplication. The fragment of the corresp onding co de lo oks like

77


Index m2$ Vrt_3:=Vrt_3*Vrt_5$ RemInd m2$ This co de means that the vertex numb er 3 is multiplied by the vertex numb er 5 with contraction of index m2. The result of multiplication is considered as a generalized vertex numb er 3. Here we would like to note that there is a bug in the Reduce package which forbids to convolute several indices in one op eration. To bypass this bug we declare the 'm' vectors as indices step by step and recalculate the expression on each step. If two vertices are connected by a propagator of massive vector particle treated in the physical gauge (5) the co de are organized in the following way. CompHEP writes the co de for the vertices pro duct with contracted indices and the co de for the pro duct of the same vertices with the prior multiplication by relevent momentum. After that these contributions are summarized. Below we present an example of such a co de: Index m1$ Vrt_0:=Vrt_1*Vrt_2$ RemInd m1$ Vrt_L:=Vrt_1$ Vrt_R:=Vrt_2$ Vrt_L:=(Vrt_L where m1=>(+P2+P3)/MZ)$ Vrt_R:=(Vrt_R where m1=>(+(-P2)+(-P3))/MZ)$ Vrt_0:=Vrt_0 + Vrt_L*Vrt_R$ The co de for any diagram evaluation is terminated by instruction numer ator := numer ator + D iag r amF actor GhostF act V r t 1 which summarizes the ghost diagram contributions. Here GhostFact equals (-1)l+v where the l is a numb er of lo ops of Faddeev-Pop ov ghosts and v is a numb er of vector field lines in the diagram. The (-1)v factor app ears b ecause the evaluations discrib ed ab ove corresp ond to substitution of the (gÅ - kÅ k /M 2 ) factor for the propagator and the density matrix of vector field whearas the correct expression has the opp osite sign. The last step of the program is the assignment of variable denominator . It is expressed as a pro duction of pr opD en(P , M ass, W idth) functions as it is explained in Section 5.2. 78


As a result the symb olic answer for the evaluated diagram may b e presented in the form totF actor numer ator . denominator

5.4

Fortran output files

CompHEP Fortran output is used to compile the squared matrix element for subsequent evaluation of cross sections and distributions. The explanation b elow is necessary only if you would like to use the CompHEP Fortran output for other phase space integration program or, vice versa, to use the CompHEP routines to integrate a phase space function pro duced in some other manner outside CompHEP. Below we insert the declaration of parameter typ e into the header of Fortran routine. It is done for brevity only and contradicts to the Fortran style. We use also the Real*X designation for declaring the parameter of floating p oint typ e which is Real*8 or Real*16 dep ending on the typ e of output. FUNCTION LENR() returns 8 in the case when CompHEP pro duces a co de with Real*8 (DOUBLE PRECISION) floating arithmetics or 16 in the case when CompHEP produces a co de with Real*16 (QUADRUPLE PRECISION) floating arithmetics. FUNCTION NIN() returns a numb er of incoming particles. FUNCTION NOUT() returns a numb er of outgoing particles. FUNCTION NPRC() returns a total numb er of subpro cesses. CHARACTER*6 FUNCTION PINF(NSUB,NPRTCL) returns a particle name for the subpro cess NSUB. NPRTCL is the particle ordering numb er in the subpro cess. The first NIN() numb ers numerate the incoming particles. SUBROUTINE PMAS(NSUB,NPRTCL,REAL*X VAL) returns the particle mass. Incoming parameters are: NSUB - the subpro cess numb er and NPRTCL - the ordering numb er of particle. Returned parameter is VAL. In the case when LENR()=8 VAL must b e a REAL*8 variable,

79


otherwise it must b e describ ed as a REAL*16 one. FUNCTION NVAR() returns a numb er of physical parameters involved in the calculation. SUBROUTINE VINF(NUMVAR,CHARACTER *6 NAME,REAL*8 VAL) provides the information ab out physical parameters involved into evaluations. It returns the physical parameter name NAME and its value VAL. The incoming NUMVAR is the parameter ordering numb er which must b e smaller than or equal to NVAR(). SUBROUTINE ASGN(NUMVAR,REAL*8 VALNEW) assigns to the parameter NUMVAR a new value VALNEW. SUBROUTINE VINI makes the initialization of all physical parameters. SUBROUTINE CPTH(CHARACTER*60 PATH, CHARACTER*1 F SLASH) assigns new values to all its parameters. PATH is the path to the CompHEP ro ot directory (see Section 2.5). F SLASH is a symb ol which separates file name in the path. It is "/" or "\" in the UNIX and MS-Windows cases corresp ondingly. REAL*8 FUNCTION SQME(NSUB) returns a numerical value of squared matrix element for the subpro cess NSUB. Summation over out-particle p olarization states and an averaging over in-particle p olarization states are carried out. Information ab out scalar pro ducts of momenta must b e passed on to the SQME through COMMON /SCLR /REAL X PP (15 ) (13)

The assignments of scalar pro duct values to elements of the PP array, like P P (I N D X (k , l)) = pk .p
l

,

must b e done b efore the SQME call. We assume that all four-momenta pi of particles have p ositive energy comp onents (p0 > 0). PP must b e of the i REAL*8 typ e in the case of double precision calculation and of the REAL*16 typ e for the quadruple precision one. SQME is sensitive to the states of LOGICAL flags GWIDTH and RWIDTH from the COMMON/WDTH/GWIDTH,RWIDTH. They define the treatment of particle finite width. The GWIDTH flag indicates that the widths do not break gauge invariance. RWIDTH states that the running widths are substituted. See the discussion in Section 3.3.4. 80


It is assumed that the same units ( for example, p owers of GeV ) are used for momenta and for physical variables. SQME pro duces an answer in the [P ]
(2(N I N ()+N O U T ()-4))

units, where [P] is a unit of momentum. Standard normalization for SQME is used. See Eqs. (23.12) and (23.26) in [36]. When n comphep f calls the SQME function it substitutes momenta in the GeV units. FUNCTION INDX(K,L) returns the p osition of scalar pro duct pk .pl in the PP array (13).

5.5

C output files

CompHEPC-output is quite similar to the Fortran one. Units and normalizations are also the same. Now we shall list the functions and the global constant parameters defined in this output and called by the program n comphep c. Parameter section const int nvar is a numb er of indep endent physical parameters involved in the evaluation of squared matrix element. const int nfunc is a numb er of constrained parameters involved in the evaluation of squared matrix element. int calcFunc(void) calculates all constrained parameters for current values of indep endent ones. It returns 0 in the case of success, otherwise 1. int vinf (int numvar, char *name, double *val) provides the information ab out parameters. Here the incoming parameter numvar is a parameter numb er. The outgoing parameters *name and *val are the parameter name and value, corresp ondingly. If *name or *val is NULL no assignment for the corresp onding parameter will b e done. The parameter numb ers in the range from 1 till nvar are reserved for indep endent parameters and the next nfunc numb ers are used for constraints. Equal-to-zero numvar is asso ciated with the center of mass energy. If the numvar value is out of this range, vinf (..) returns 1. int asgn (int numvar, double valnew); assigns a new value valnew to the numvar parameter. It returns 0 if 0 <= numv ar <= nv ar , or 1 otherwise. 81


Pro cess section const int nin is a numb er of incoming particles const int nout is a numb er of outgoing particles const int nprc is a total numb er of subpro cesses char processch[] contains the pro cess name. It is needed to b e only displayed on the screen during the n comphep c session. int pinf (int nsub, int nprtcl, char *name, double * mass) returns the name and the mass of particle with the nprtcl ordering numb er for the subpro cess nsub. First nin numb ers are reserved for incoming particles, while next nout are assigned to outgoing ones. One can substitute the NULL constant instead of any outgoing parameter if the corresp onding information is not needed. The function returns 0 if nsub <= npr c and npr tcl <= nin + nout , otherwise 1 is returned. The squared matrix element double sqme (int nsub,double * momenta, int * err) returns the numerical value of squared matrix element after summation over out-particle p olarizations and averaging over in-particle p olarizations. Here nsub is a subpro cess numb er, momenta is an array of particle momenta. The ith Lorentz comp onent of the particle numb er N corresp onds to momenta[4*N+i], *err is a return parameter which do es not equal zero if sqme cannot b e evaluated. We assume that the zero Lorentz comp onents of momenta are p ositive and the sum of incoming particle momenta is equal to the sum of outgoing particle momenta. Widths implementation parameters int rwidth, gwidth are the logical variables which define a particle width treatment for calculations of the squared matrix element. They mean running width and gauge invariant width, corresp ondingly . See Section 3.3.4 for details. The value of this variables can b e changed by means of the n comphep c menu.

82


Appendix A Self-check of the CompHEP package

The CompHEP authors have invented some to ols for testing the program. The p ositive result of these checks allows us to justify that CompHEP works correctly. Our tests relate to the symb olic result level and have b een realized with the help of the Reduce [33] symb olic manipulation system. All test routines are stored in the $COMPHEP/test directory. If the user is going to rep eat them he has to copy the corresp onding files into his working directory. All check commands must b e started from the same directory.

A.1

Check of the built-in symb olic calculator

The first check is a comparison of results pro duced by the CompHEP symb olic calculator (Section 5.2) with those by Reduce evaluation of the corresp onding co de (Section 5.3). The p ositive result of this comparison means that our built-in symb olic calculator works correctly. Note that the Reduce co de may b e viewed through by the user and the CompHEP algorithms for evaluation of the squared matrix element can b e verified in this way. The check is realized by means of the program check.red which must b e started from within the Reduce session by instruction in"check.red"; It is assumed that the Reduce co de for diagrams and the corresp onding expressions evaluated by CompHEP are stored in the results directory in advance. The results of this check are saved in the message file. It consists of a list of diagram numb ers accompanied by the lab els OK or Error dep ending on the result of comparison.

A.2

Comparison of results pro duced in two different gauges

The comparison of results pro duced in the unitary gauge and in the t'Ho oftFeynman gauge is a very impressive test of the package. In this way we check not only the CompHEP co de for symb olic evaluation but also the correctness of mo del implementation. 83


To p erform this check we evaluate the symb olic sum of diagrams in different versions of the Standard Mo del and compare results. The non-zero difference is a signal of mistake. Symb olic summation is p erformed by Reduce. This summation is the most difficult step of comparison b ecause the sum of diagrams can b e extremely cumb ersome. The Reduce program cmp.red carries out a summation of symb olic answers written down in results/symb1.red as well as in results /symb1.red and a comparison of the sums. In the case of zero difference cmp.red puts down OK into the message file, otherwise the word Error app ears.

A.3

Automatic check for a set of pro cesses

We have created the unix script commands cycle check and cycle cmp which p erform the ab ove checks automatically for some set of pro cesses. The cycle check needs one numerical parameter which indicates the numb er of mo del which is tested. The cycle cmp needs two numerical parameters which indicate the numb ers of mo dels which are compared. In b oth cases the list of pro cesses is read from the standard input and the generated message files are directed to the standard output device. To simplify these tests we op en a p ossibility to restrict the generated diagrams by excluding particles of the third generation. To realize this p ossibility just pass one addition parameter to cycle check and cycle cmp. The value of this parameter is unessential. We have created various lists of Standard Mo del pro cesses for testing. They are 22 0gen.prc Higgs and vector particles sector for 2->2 pro cesses 11 pro cesses, 142 pro cesses, 22 2gen.prc 2->2 for two generations 22 3gen.prc 2->2 for three generations 294 pro cesses, 23 2gen.prc 2->3 for two generations 455 pro cesses. Each list contains only one representative of the cross-symmetrical processes. The following tests have b een carried out for the current version: cycle_check 4 cycle_check 3 < 22_3gen.prc < 22_3gen.prc 84


cycle_check 4 2g < 23_2gen.prc cycle_cmp 34 < 22_3gen.prc

B
B.1

Ghost fields and the squared diagram technique for the t'Hooft-Feynman gauge
The problem

Every time when we are trying to create a mo del containing a massive vector particle we meet a problem caused by bad asymptotics of its propagator i gÅ - kÅ k /m2 . (2 )4 m2 - k 2 (14)

The (gÅ - kÅ k /m2 ) factor gives a pro jection on physical degrees of freedom in the p olarization space. This term app ears b ecause a 4-comp onent vector field is used to describ e a particle with 3 degrees of freedom. The kÅ k /m2 term leads to a fast growth of amplitudes at high energies, what breaks unitarity and is not compatible with the renormalizability of theory. The problem mentioned ab ove is solved in the framework of gauge field theories where the gauge symmetry is resp onsible for mutual cancellation of rapidly growing contributions of separate diagrams [42]. Let our mo del of particle interaction b e based on a gauge theory. Then on a step of numerical evaluation we exp ect a cancellation of contributions which come from various Feynman diagrams. Consequently, finite precision numerical calculations may lead to wrong results. Accompanying problem is a cumb ersome expression for each diagram as a result of app earance of mutually canceling terms. At the same time there is a freedom in formulation of Feynman rules for gauge theories caused by an ambiguity of gauge fixing terms [42]. These terms mo dify the quadratic part of the Lagrangian and consequently may improve the vector particle propagator. Indeed, in the case of t'Ho oft-Feynman gauge the propagator of vector particle takes the form gÅ i . 4 m2 - k 2 (2 ) 85 (15)


that provides a formulation of the theory where the problem of vector particle propagator is solved explicitly. A price for this solution is an app earance of three additional unphysical particles in the mo del. They are a couple of Faddeev-Pop ov ghosts and one Goldstone ghost. All of them have scalar typ e propagators with the same mass m. Opp osite to (14) the propagator (15) do es not vanish when it pro jected onto the temp oral p olarization state e0 = k /m , (16)

that also leads to the app earance of additional unphysical state. The main principles of gauge invariance guarantee [42] that an expression for the amplitude should b e the same for any gauge if only physical incoming and outgoing states are considered. Generally the t'Ho oft-Feynman gauge solves the problem of cancellations. But while calculating pro cesses with incoming or outgoing massive vector particles, we meet a similar problem. Indeed, we need to multiply the diagram contributions by p olarization vectors. The p olarization vectors (e1 , e2 , e3 ) constitute an orthonormal basis in the sub-space orthogonal to a momentum k . Due to the relation
2 e1 e1 + eÅ e2 + e3 e3 = kÅ k /m2 - g Å Å Å

(17)

at least one of the p olarization vectors has large (of order of k ) comp onents for any choice of p olarization basis. Let vector k have the comp onents k = ( m2 + p2 , 0, 0, p) . Then the p olarization vectors can b e chosen as e1 = (0, 1, 0, 0) ; e2 = (0, 0, 1, 0) ; e3 = (p/m, 0, 0, 1 + p2 /m2 ) . (19) (20) (21) (18)

The first two vectors corresp ond to transversal p olarizations and the third one corresp onds to a longitudinal one. We see that the longitudinal vector has large ( of order of k ) comp onents. It may imply a fast increase of crosssections of pro cesses with the longitudinal p olarizations at high energies or 86


an app earance of cancellations b etween various diagrams. Indeed the second case is realized and, hence, we have got a problem with diagram cancellations. When evaluating squared diagrams we get cumb ersome expressions again as a result of substitution of the pro jector (17).

B.2

Incoming and outgoing ghosts

A solution of the ab ove problem lo oks as a chess sacrifice. The main idea is to include incoming and outgoing unphysical states into the consideration. In the t'Ho oft-Feynman gauge the masses of ghost partners equal the mass of parent vector particle. Let us consider ghost states as unphysical p olarizations alike the temp oral one (16). Note that the Faddeev-Pop ov ghost states and the temp oral state have a negative norm, whereas the Goldstone state has a p ositive norm [42]. So the unphysical p olarizations can give a p ositive as well as a negative contribution to the p olarization sum. The main statement is that a contribution of all unphysical p olarizations to the sum of squared matrix element over p olarizations equals zero [44]. As a result Ai A = (i)Ai A , (22) i i
iS
phy s

iS

all

where i is a multi-index for p olarization states; Ai is an amplitude of the pro cess; Sphys is a set of physical p olarization states; Sall is a full set of p olarizations including unphysical ones; (i) = Á1 dep ending on a signature of the Hilb ert space norm of the p olarization state i. A drawback due to enlarging a set of p olarization states is clear: we have much more matrix element terms for evaluation and subsequent summation. To see an advantage of this trick let us sum the temp oral (16) and longitudinal (21) p olarization contributions. Note that b oth of them have comp onents of order of k , but for calculation of the corresp onding sum we can alter the basis of p olarization states
0 3 e0 e0 - e3 e3 = eÅ e0 - eÅ e3 , Å Å

(23)

and in such a way to have new basis vectors of order of unity in spite of p ossible large value of the momentum k e 0 = (1, 0, 0, 0) ; e 3 = (0, 0, 0, 1) . 87


In other words, the inclusion of the temp oral p olarization replaces the normalization condition (17) by e0 e0 - e 1 e1 - e 2 e2 - e 3 e3 = g Å Å Å Å
Å

.

(24)

which do es not lead to the fatal requirement on a value of p olarization vectors. In the case of unp olarized calculation by the squared diagram technique we substitute gÅ for the p olarization sum according to (24). But now we have to add incoming and outgoing ghost states to the p olarization sum in order to comp ensate the contribution of temp oral p olarization state.

B.3

Massless vector-particle case

We have discussed ab ove the massive vector particle case. The Lagrangian of free massless vector field has got a gauge symmetry. So we need anyway to ensure a gauge symmetry for the interaction mo del to supp ort a compatibility with the free field mo del. In this case the Feynman gauge leads to the propagator (15) with m = 0 and to the app earance of Faddeev-Pop ov ghosts [42]. However a Goldstone ghost do es not app ear and the longitudinal p olarization b ecomes unphysical like temp oral one. Summation over physical p olarization states can b e replaced by that over an extended set of p olarizations like (22). See the corresp onding pro of in [43]. In the framework of amplitude technique there is no reason to include the incoming and outgoing ghost partners of massless vector particle into consideration. Longitudinal p olarization b ecomes unphysical, but the transversal p olarization vectors may b e chosen of the order of unity. On the contrary, in the case of squared diagram technique the extension of p olarization states is very useful and has b een used in numerous calculations. If only physical p olarization states are taken into account, then for the squared diagram evaluation we must convolute free Lorentz indices, which app ear after evaluation of the left and right parts of squared diagram, with the pro jector on physical sub-space. In the massless case this pro jector equals [43] kÅ + k Å , gÅ - (k . ) where is an auxiliary vector with the zero Lorentz norm. Due to the gauge invariance the sum over all diagrams do es not dep end on this , but 88


each squared diagram contribution contains it. This leads to cumb ersome expressions of squared diagram contributions in comparison with the case when the unphysical p olarizations are included into the sum.

B.4

Summation of ghost diagrams in CompHEP

CompHEP uses the squared diagram technique with summation over p olarizations. Basically one squared diagram corresp onds to the Ak A i
iS
all

l i

(25)

contribution in a squared matrix element, where Ak and Al are the amplitudes related to some Feynman diagrams. If we follow an idea of the previous section and take into account the ghost incoming particles, a numb er of squared diagrams increases significantly. For example, in the simplest case of e- , ne , W - pro cess one squared diagram of Fig.12(a) is accompanied by three ghost diagrams with the similar top ology. Let us note that all diagrams of Fig.12 have the same denominators. The numerators of these diagrams are p olynomials of scalar pro ducts of momenta. The p owers of these p olynomials are the same for all diagrams, so one might exp ect that the symb olic sum of all these diagrams has approximately the same size as one term. Following this note CompHEP calculates the symb olic sum of all sets of diagrams which b ecome identical after replacing the ghost particles by their parents.

B.5

Gauge symmetry and cancellations

Cancellation of diagram contributions is an essential p oint b oth for symb olic and numerical pro cessing, b ecause a relatively small variation of one diagram contribution may lead to a significant error. Such variation can b e caused either by finite precision of floating op erations or by correction of Feynman rules, for instance, by including particle widths into consideration, or by removal of some diagram subset. We would like to stress again these obstacles to warn the user. 89


There are two well known examples of gauge cancellations. The first one is the ultraviolet cancellation of terms originating from the propagators of massive vector particles. This problem could b e resolved by the calculation of squared matrix element in the t'Ho oft - Feynman gauge. The second example is the cancelation of double p ole (t-2 ) terms of tchannel photon propagator. There is a wide class of pro cesses where the incoming electron go es out in the forward direction emitting a virtual photon like in Fig.14. The corresp onding diagrams have got the 1/t p ole, where t is the squared momentum of the virtual photon. For the ab ove kinematics the photon app ears very close to its mass shell (t 0), hence this configuration gives a large contribution to the cross section. For the squared matrix element we exp ect the 1/t2 p ole, but it app ears to b e reduced up to 1/t p ole [27] in the zero-electron-mass limit. This fact is caused by electro-magnetic U(1) gauge invariance. If diagrams of Fig.14 typ e contribute to your pro cess, we strongly recommend to to set the 'Gauge invariance' switch ON (see Section 3.3.4) to prevent the gauge symmetry breaking by width terms. Another way to solve this problem is the usage of the Weizsaecker-Williams approximation (see Section C.4).

C
C.1

Distribution functions and beam spectra
CTEQ4m distribution functions

There are several sets of disribution functions presented by CTEQ collaboration which describ e the densities of quarks and gluons in (anti)proton. In CompHEP we have implemented the CTEQ4m[24] set. Apart from the Feynman variable x they dep ends on the QCD-scale parameter Q. The available range is 10-5 < x < 1; 1.6 < Q < 10000 GeV. For p oints outside these ranges the extrap olation is used and the corresp onding warning is directed to the standard output file. The CTEQ4m set of functions is pro duced in the framework of the nextto-leading calculations in the standard M S scheme with s (MZ ) = 0.116. See further explanations in [24].

90


C.2

MRS structure functions

The MRS group also presents several sets of proton structure functions. Two of them are implemented in CompHEP. They are MRS(A ) and MRS(G) [25]. In the A case it is supp osed that the sea quark and gluon densities are parameterized at small x by the x- function where is the same for the gluon and for the sea quarks. This suggestion is motivated by the QCD theory. The G set uses two different parameters for the sea quarks and for the gluon densities. A fit of exp erimental data for the G set is b etter. The next-to-leading order evaluation and the M S factorization scheme are used for evaluation of the Q2 dep endence of structure function. s (MZ ) = 0.113 [0.114] in the A [G] case, corresp ondingly. The available range is 10 5
-5

< x < 1; < Q2 < 1310720 GeV2 .

See complete explanation in [25].

C.3

Backscattered photon sp ectrum

This function describ es the sp ectrum of photons scattered backward from the interaction of laser light with the high energy electron b eam: f (x) = 0, for x > xmax N (1 - x + 1/(1 - x) (1 - 4x/x0 (1 - x/(x0 (1 - x)) ))), for 0 < x < x

max

where x0 = 4.82, xmax = x0 /(1 + x0 ), N is a normalization factor. The ab ove sp ectrum corresp onds to the sp ecial initial condition when unp olarized photons are created. See [26] for more details.

C.4

Weizsaecker-Williams approximation

Weizsaecker-Williams approximation is used to describ e pro cesses of electropro duction in the case of small angle of charged particle scattering. In this case the virtual photon emitted by the scattering particle app ears near to the mass shell (see Fig.14). It gives a p ossibility to reduce the pro cess of

91


electro-pro duction to the photo-pro duction one with an appropriate photon sp ectrum: f (x) = (q 2 /(2 ))(log((1 - x)/(x2 ))(1 + (1 - x)2 )/x - 2(1 - x - x2 )/x), where is the fine structure constant, q is a charge of incoming particle, m is its mass, = (m/Qmax )2 . Qmax sets out the region of photon virtuality (P 2 > -Q2 ) which contributes to the pro cess. It is assumed that region max of large virtuality can b e taken into account by direct calculation of electropro duction. As a rule this contribution is small enough. Parameters q , m, and Qmax are defined by the user. See [27] for the further explanations. In the case of CompHEP the Weizsaecker-Williams photon sp ectrum is available for charged leptons only.

C.5

ISR and Beamstrahlung
State Radiation) is a pro cess of photon radiation by the incomdue to its interaction with other collision particle. The resulting electron has b een calculated by Kuraev and Fadin [28]. In Comrealize the similar expression by Jadach, Skrzyp ek, and Ward

ISR (Initial ing electron sp ectrum of pHEP we [29]:

F (x) = exp( (3/4 - E uler )) (1 - x) -1 ((1 + x2 ) - ((1 + 3x2 ) ln(x)/2 + (1 - x)2 )/2)/(2(1 + )), where m E uler () S C ALE = = = = is is 1/137.0359895 is the fine structure constant; (2 ln(S C ALE /m) - 1)/pi 0.00051099906 is the electron mass; 0.5772156649 is the Euler constant; the gamma function; the energy scale of reaction.

In the Kuraev and Fadin article the parameter SCALE equals to the total energy of the pro cess b ecause they considered the pro cess of direct e+ e- annihilation. In order to apply this structure function to another pro cesses we provide the user with a p ossibility to define this parameter. 92


Beamstrahlung is a pro cess of energy loss by the incoming electron due to its interaction with the electron (p ositron) bunch moving in the opp osite direction. The effective energy sp ectrum of electron can b e describ ed by the following function [30] F (x) = where (x) = 2/(3) (1/x - 1) , zn h(z , Ncl ) = (n + 1, Ncl ) , n1 n!(n/3) and is the incomplete gamma function. Function F (x) dep ends on two parameters, N turn are determined by a bunch design: N
cl

1 [(1 - E Ncl

-N

cl

) (1 - x) +

exp(- (x)) h( (x) 1-x

1/3

, Ncl )] ,

cl

and , which in their

25 2 N , 12 m(x + y ) 5N E = 3 ( + ) , 6m z x y = is numb er particles in the bunch, are sizes of bunch, is a center-of-mass momentum.

where

N x , y , E

z

The Beamstrahlung sp ectrum cannot b e integrated by the current CompHEP version b ecause it contains a -function. Instead of it we provide the user with a p ossibility to integrate the squared matrix element with a convolution of Beamstrahlung and ISR sp ectra.

D
D.1

Monte Carlo phase space integration
Adaptive Monte Carlo integration package Vegas

This section contains a short description of the adaptive Monte Carlo program VEGAS. See for details [31, 32]. 93


The Monte Carlo metho d reduces a task of integral evaluation to the task of mean value calculation. Let g (x) is a density function satisfying g (x) dx = 1, then f (x) dx = f (x)/g (x) g (x) dx = = lim
N

(f (xi )/g (xi ))/N ,

where p oints xi are sampled with the probability density g (x) dx. The uncertainty N of < f /g > estimation by N sample p oints is prop ortional to square ro ot of function's variance divided over N : N = (<(f /g )2> - 2 )/N .

VEGAS uses two techniques which allow to decrease the uncertainty of Monte Carlo calculation, namely the importance sampling and the stratified sampling. D.1.1 Imp ortance sampling

The idea of imp ortance sampling technique is based on diminution of variance by a prop er choice of the density function g(x). The general solution of this problem could b e in cho osing g (x) = |f (x)| / |f (x)| dx. However this solution is useless b ecause it returns us to the problem of evaluation of f (x) integral and requires a generation of sampling p oints for complicated density function. To bypass these problems VEGAS seeks this function in the factored form g (x1 , x2 , . . . , xn ) = g1 (x1 ) g2 (x2 ) . . . gn (xn ). The optimal functions gi (x) could b e easily evaluated in terms of f (x) [31, 32]. VEGAS is an adaptive program. For the first iteration it puts gi (x) = 1. The information ab out f (x) which VEGAS gets during the iteration is used to refine the density function. Generally VEGAS p erforms several iterations improving the density function after each of them. The following parameters manage VEGAS work: 94


1. Itmx is a numb er of iterations; 2. Ncal l is a numb er of integrand calls for one iteration. D.1.2 Stratified sampling

The idea of stratified sampling metho d is to divide a volume of integration into a large numb er of sub-volumes and calculate integrals separately in each sub-volume. This metho d pro duces a smaller uncertainty comparing with the direct Monte Carlo metho d b ecause here the uncertainty is caused only by a function variance in the sub-volumes, while the integrand variation from one sub-volume to another do es not contribute to the uncertainty. The stratified sampling metho d is used to estimate the integral for any VEGAS iteration. The larger numb er Ncall is chosen, the smaller size of sub-volume b ecomes available and, consequently, the more successfully the stratified sampling works.

D.2
D.2.1

Parameterization of multi-particle phase space
Parameterization via decay scheme

The element of phase space volume for a n-particle state is equal to [36]
n

dn (q ) = (2 )4 4 (q - p1 - p2 - p3 - ... - pn )

i=1

(p2 - m2 ) 4 i i d pi . (2 )3

(26)

The same expression is valid for b oth the decay of unstable particle with momentum q and the interaction of two particles with momenta q1 and q2 such that q1 + q2 = q . For further discussion we need a designation for a phase space volume of some subset S of the full n-particle set. According to (26) (p2 - m2 ) 4 i i d pi . (27) d(q , S ) = (2 )4 4 (q - pi ) (2 )3 iS iS Let S1 and S2 b e two disjoint particle subsets, then d(q , S1 S2 ) = 95


ds1 ds2 (2 )4 4 (q - q1 - q2 ) ç d(q , S1 ) d(q , S2 ) ç . 2 2

2 2 (q1 - s1 ) 4 (q2 - s2 ) 4 d q1 dq (2 )3 (2 )3

2

(28)

The ab ove formula expresses a multi-particle volume in terms of twoparticle one, the volumes d(q1 , S1 ) and d(q2 , S2 ) with a reduced numb er of particles, and the virtual squared masses s1 , s2 of clusters S1 , S2 . Recursive application of this formula allows one to express the multiparticle phase space in terms of two-particle phase space. In its turn the two-particle phase space is explicitly describ ed by spherical angle of motion of the first decaying particle in the rest frame of initial state [36]. d(q , [1, 2]) k d , = 2 4(2 )3 q 2 (29)

where k is the absolute value of three-dimensional momentum of outgoing particles in the rest frame. Thus, applying recursively (28) and (29) to (26) we obtain an explicit expression for the phase space volume in terms of the squared masses sj of virtual clusters and the two-dimensional spherical angles j , where j is an ordinal numb er of decay: dn (q ) = k 1 d 2 1 4(2 )2 q
n-1 2 j =2

k j d 2 j . 4(2 )3 sj

n-1

ds
j =2

j

(30)

Here kj is a momentum of outgoing clusters pro duced by decay of the j th cluster in its center-of-mass. The expression (30) means some sequential 1->2 decay scheme which starts from incoming state and finishes with outgoing particles of the process. For example, the integration domain for sj parameters dep ends on this scheme. Below we present two such schemes for a pro cess with four outgoing particles:

96


q

s2 d d d 1 , k1 sd 3 d d d

p
2

1 2

,k p2

p3 3, k p4

3

p1 q 1 , k1 see 2 p2 e 2 , k2 see 3 p3 e 3 , k d d p4

3

In the case of CompHEP pro ject such decay scheme is defined by the user via the `Kinematics' menu (see Section 3.3.7). D.2.2 Polar vectors

To complete phase space parameterization we must fix a p olar co ordinate system cho osing the p olar and the azimuthal angles for each of decays d2 j = d cos j d
j

(31)

We have an ambiguity in the choice of p olar co ordinate. Let us remind that our goal is not only parameterization of phase space but also regularization of the squared matrix element in the phase space manifold. The main idea of such regularization is a cancellation of integrand sharp p eaks by the phase space measure. Originally the phase space measure (30) has no cancellation factors, but we can create them by means of a Jacobian of transformed variables. To get an appropriate Jacobian we need to have the initial phase space variables related to p oles of the squared matrix element. In their turn the p oles of squared matrix element are caused by virtual particle propagators and generally have one of the forms (2), (3) or (4) (Section 3.3.8) dep ending on a squared sum of momenta. Variables sj in (30) are also equal to squared sums of momenta. So, the parameterization (30) allows us to smo oth some p eaks of the matrix element. It app ears to b e that the p olar co ordinates can b e chosen in such a way that all cosj have simple linear relations to the squared sums of momenta [19, 13]. The p olar angle j can b e unambiguously fixed by the polar vector P olej whose space comp onents in the rest frame of decay corresp ond to the j = 0 direction. Let qj 1 and qj 2 b e the momenta of the first and the second

97


clusters pro duced by the j

th

decay. Then
j1 j2

0 0 (P olej + qj 1 )2 = (P olej + qj 1 )2 - | P olej |2 - | q

(P olej + qj 2 ) = (P ole + q

2

0 j

02 j2)

- | P olej | - | q

2

|2 -2cosj | P olej || q
2

j1 j2

| +2cosj | P olej || q

|

|

Thus, in order to get cosj related to a squared sum of some particle momenta we may construct the p olar vector as a sum of particle momenta [19, 13]. For the non-contradictory construction we need to set the decays in some order with a natural requirement that the sub-decays of clusters pro duced by the j th decay have the ordinal numb ers larger than j . In giving such ordering we can construct a p olar vector for each decay based on the incoming momenta and on those of particles pro duced by decays p ossessing smaller ordinal numb ers. The following statements can b e proved. In the framework of any ordered scheme of decays and for any sum P of particle momenta one can find the decay number j such that either P 2 = sj or P might be represented as P olej + qj , where qj is the momentum of one of the clusters in the j th decay and P olej is a polar vector constructed according to the above rule. In other words, any of p oles (2), (3), (4) can b e expressed either in terms of sj parameters or in terms some of cosj for an appropriate choice of the p olar vector [19, 13]. In CompHEP the ordering is arranged automatically, so that all subdecays of the first cluster have smaller numb ers than those of the second cluster. Polar vectors are also constructed automatically according to the list of p eaks prepared by the user. D.2.3 Smo othing

The general idea of the integrand smo othing is trivial. Let us need to evaluate
b a

F (x)dx ,

(32)

and let F (x) have a p eak like f (x), where f (x) is a simple symb olically integrable function in contrast to F (x): g (x) =
x a

f (x )dx .

(33)

98


Now we may represent the integral (32) as
b a

F (x)dx =

g (b) 0

dy

F (g -1(y )) , f (g -1(y ))

(34)

where g -1 (y ) is the inverse function for g (x). The integrand is a smo oth function now. We face very often squared matrix elements which have several p oles in one of variables. For example, the b, ?, Z b, ? and H b, ? virb b b tual subpro cesses may contribute just to the same amplitude. Although in this case we can evaluate the integral function g (x) symb olically, the inverse function g -1 (y ) can b e computed only as a numerical solution of the corresp onding equation. To bypass the calculation of inverse function CompHEP uses the multi-channel Monte Carlo (branching) metho d to smo oth a sum of p eaks. The idea of the branching metho d is the following. Let F (x) have two p eaks, one is similar to f1 (x) and another to f2 (x). f1 (x) and f2 (x) are singular but elementary functions. Then, instead of one integration (32), we could p erform two ones: F (x)dx = F (x)f1 (x) dx + f1 (x) + f2 (x) F (x)f2 (x) dx , f1 (x) + f2 (x) (35)

but now each integration has only a single p eak! It is easy to extend this metho d for an arbitrary numb er of p eaks. The branching metho d was used in [46] to separate p eaks which came from various diagrams. In that pap er there was also prop osed to use the expression (35) where fi (x) is replaced by i fi (x) with a subsequent search for optimal co efficients i . CompHEP passes on this weight optimization to Vegas, combining two integrals in one Vegas hyp ercub e. As was mentioned ab ove, CompHEP automatically searches for a p olar vector for each angle integration in order to reach a linear relation b etween cos and one of the squared sum of momenta which is resp onsible for the p eak. It could happ en that various p eaks need different p olar vectors for the same decay. In this case CompHEP uses the branching metho d again, but now for the whole two-dimension sphere integration. In other words, we use the branching equation (35) where x is the two dimensional sphere angle [19, 13]. 99


E
E.1

Lagrangian of the Standard Model
Gauge theories


Group. Group is defined by its structure constants f symmetric (f = -f ) and ob ey the Jacoby identity:
f f + f f + f f

which are anti-

=0.

Group generators are Hermitian matrices which satisfy the commuta^ tion relations: - = i f . ^^ ^^ ^ In particular the generators in the adjoint representation are ( )i = -i f ^j
i j

.

Group transformation may b e represented with the help of group generators as g (w ) = exp(i ) . ^ ^ We assume that the Killing metric is orthonormal: 1 - f f 2


=



.

This metric allows one to raise and lower the group indices. In the case of orthonormal Killing metric the structure constants are fully antisymmetric under interchange of any pair of indices. Lo cal gauge invariance. It is an invariance of Lagrangian under group transformations g (x) which dep end on a p oint in the space-time manifold. Fields in such theories are divided into two classes: matter fields and gauge fields. The gauge fields A (x) are vector ones. The numb er of such fields is Å equal to the numb er of group generators. The matter fields i (x) can have an arbitrary Lorentz structure. Their internal comp onents are transformed according to some representation of the group. Let D ( ) b e an op erator which p erforms an infinitesimal transformation of fields under the lo cal gauge transformation. For the matter fields we have ^ D ( ) (x) = i (x) (x) . ^ 100


For gauge fields the lo cal gauge transformations are defined by
^ (D ( )AÅ ) (x) = f A (x) (x) + Å (x) . Å

The following expressions, namely a covariant derivative and a gauge field tension, are used to construct a lo cal invariant Lagrangian:
Å

^ (x) = Å (x) - D (AÅ ) (x) = Å (x) - iA (x) (x) ; ^ Å
FÅ (x) = Å A (x) - A (x) + f A (x)A (x) . Å Å

It can b e proved that ^ D ( )[
Å

(x)] = (x) ^

Å

(x) ;

^ (D ( )FÅ ) (x) = f FÅ (x) (x) .

In these terms the Lagrangian of gauge theory is defined by the following expression [42] 1 L = - 2 F Å F Å + Lm ( Å , ) (36) 4g where g is the coupling constant and Lm (Å , ) is some Lagrangian of the matter fields which is invariant under the global gauge transformations. Gauge fixing terms. In order to quantize the gauge theory one must add to (36) gauge fixing term and the corresp onding Faddeev-Pop ov term. The first term breaks the gauge symmetry and in this way removes the divergence of the functional integral. The second term improves the integration measure to provide correct predictions for gauge invariant observables. The general form of the gauge fixing term is L
FG

(x) = -

1 2

( (x))2 .


(37)

The corresp onding Faddeev-Pop ov term is L
FP

= -c (x)(D (c)[ ])(x) , ?

(38)

where c (x) and c (x) are the auxiliary anti-commutative fields. They are ? called the Faddeev-Pop ov ghosts. Note that we may multiply (38) by an 101


arbitrary factor which can b e hidden in the definition of ghost fields. As a rule it is chosen in such a way to provide a convenient form of the ghost propagator. The well-known choice of the gauge fixing terms, the Feynman-like gauge, is 1 LGF = - 2 ( Å A + ...)2 . Å 2g In this case the quadratic part of gauge field Lagrangian takes the simplest form 1 - 2 Å A Å A . (39) 2g The corresp onding Faddeev-Pop ov Lagrangian is L
FP = -c (x)(2c (x) + Å (f A (x)c (x)) + ...) . ? Å

The normalization of LF P is chosen to have the Faddeev-Pop ov ghost propagator equal to the propagator of scalar particle:
T (c (p), c (q )) = (p + q ) ?

1 1 . 4 -p2 i(2 )

Normalization. For the purp oses of applying the p erturbation theory the gauge field is rescaled by substitution A A/g . In this way the coupling constant g leaves the quadratic part of the Lagrangian (36) and app ears in the interaction terms.

E.2

QCD Lagrangian

QCD is a gauge theory based on the S U (3) group. The corresp onding gauge field G (x) is called a gluon. The matter fields qk (x) are quarks. They are Å triplets and are transformed according to the fundamental representation. Index k enumerates a sort of quarks. QCD Lagrangian in the Feynman gauge is written down following the rules (36), (37), (38).

102


L

phy s

1 =- F 4



Å

(x)F



Å

(x) +
k

i (qk (x) ? 2

Å

Å qk

(x) -

? Å qk

(x) Å qk (x)) . (40)

where
Å ^ q (x) = Å q (x) - i g GÅ (x)t q (x) ; FÅ (x) = Å G (x) - G (x) + g f G (x)G (x) ; Å Å

L L
FP

GF

=-

1 2

( Å G )2 ; Å


(41) (42)

c (x) are Faddeev-Pop ov ghosts, g is coupling constant, f are the S U (3) structure constants, t are the generators in the fundamental representation10 .

= -c (x)(2c (x) + g Å (f G (x)c (x))) , ? Å

E.3
E.3.1

Lagrangian of electroweak interactions
Vector b osons

Gauge theory of electroweak interactions is based on the S U (2) ç U (1) group. So, we have a triplet of S U (2) vector fields WÅ (x) and a single vector field BÅ (x). The S U (2) structure constants are presented by the absolutely antisymmetric tensor . The Lagrangian of gauge fields is written down according to (36): L where
F WÅ (x) = Å W (x) - WÅ (x) + g F BÅ (x) = Å B (x) - BÅ (x) ; 2 WÅ (x)W (x) ; GF

1 = - FW 4



Å

(x)F W



Å

(x) -

1 F BÅ (x)F B Å (x) , 4

(43)

g2 is a coupling constant for the S U (2) gauge interaction.
10

t are equal to /2 where are the Gell-Mann matrices.

103


Infinitesimal lo cal gauge transformations are defined as follows
^ (D (w , b)WÅ ) (x) = g2 WÅ (x)w (x) + Å w (x) ; D (w , b)BÅ (x) = Å b(x) .

(44)
+ Å

1 2 Let us express WÅ and WÅ in terms of a mutually conjugated couple W - and WÅ 1 - + WÅ = (WÅ + WÅ )/ 2 ; 2 - + WÅ = (WÅ - WÅ )/(i 2) .

Thus, the Lagrangian of self-interaction for the S U (2) gauge fields in term of W + and W - has the form: ig
2 3 + - - + + - 3 3 - Å W (WÅ W - WÅ W ) + Å W (WÅ W - WÅ W ) - + 3 3 + -Å W (WÅ W - WÅ W )

+g

2 2

1+- +- 3 + - 3 3 - - + WÅ W (WÅ W - WÅ W ) + WÅ W (WÅ W - WÅ W ) 2

. (45)

All matter fields in the electroweak theory are either S U (2) invariant singlets or b elong to its fundamental representation. In the latter case they form doublets. Generators for these doublets are expressed via the Pauli -matrices = /2 . ^ ^ Thus the infinitesimal lo cal gauge transformations for doublets take a form: i g1 i g2 w (x) (x) + ^ Y b(x) (x) . 2 2 Here g1 is the coupling constant of U (1) gauge interaction. The constant Y dep ends on a typ e of the doublet. It is called a hypercharge. In the gauge theory of electroweak interaction the gauge fields interact with a scalar (Higgs) doublet which has a nonzero vacuum state. Without loss of generality one can put Y = 1 for the Higgs doublet. By means of the gauge transformation the vacuum state of this field may b e presented in the form: 0 , = 0 / 2 D (w , b) (x) = 104


where 0 is a real constant. As a result of sp ontaneous symmetry breaking the WÅ and BÅ fields do not corresp ond to physical particles. Physical particles in this mo del are the + - photon (AÅ ), W-b osons (WÅ , WÅ ) and Z-b oson (ZÅ ). The photon field AÅ is a combination of gauge fields resp onsible for the lo cal gauge transformations which save the Higgs vacuum :
3 AÅ = BÅ cos w + WÅ sin w ,

where the mixing angle w = arctan(g2 /g1 ). To complete W + , W - , and A up to the orthonormal basis of gauge fields we intro duce
3 ZÅ = -BÅ sin w + WÅ cos w .

Let w + (x), w - (x), a(x), and z (x) b e parameters of the lo cal gauge trans+ - formation corresp onding to the fields WÅ , WÅ , AÅ , and ZÅ . Then for a matter doublet with a hyp ercharge Y the gauge transformation is given by the following expression: ^ D (w + , w - , a, z ) = i g2 0 w+ 2 w- 0 2 + cos w z E.3.2 1+Y 0
w

+ sin w a
w

1 - Y tan2 0

0 -1 - Y tan2

0 Y -1 . (46)

Lagrangian of Higgs field

In the framework of renormalizable field theory the general expression for the gauge invariant Higgs Lagrangian is: L
H ig g s

=(

Å

)+ (

Å

) -

1 + ( - 2 )2 , 2 20

where is a new coupling constant. Some p erturbations of the Higgs the lo cal gauge transformation which of freedom. To separate physical and p erturbation of the Higgs vacuum we =

vacuum can b e realized by means of do not corresp ond to physical degrees gauge degrees of freedom for a small present in the following form: . (47)

+ i Wf (0 + H - i Zf )/ 2

105


+ Here Wf and Zf are the unphysical Goldstone fields corresp onding tion of the Higgs vacuum caused by the D (w + , 0, 0, 0) and D (0, 0, 0, transformations. The real field H corresp onds to a physical degree of which is assoshated with the Higgs patricle. The term (- (+ - 1 2 )2 ) contains the mass term for the H 2 20

to variaz ) gauge freedom field:

- (0 )2 H 2 , 2 and the following terms of self-interaction for H and the Goldstone fields: - + - 2 + - 2 (Wf Wf + (H 2 + Zf )/2)2 + 20 H (Wf Wf + (H 2 + Zf )/2) . (48) 2

Usually is expressed via the mass of H -b oson MH : = Let us remind that
Å

MH 0

2

.

^ = Å - D (W +Å , W -Å , AÅ , ZÅ ) ,

where due to (46) ^ D (W +Å , W -Å , AÅ , ZÅ ) = + 2 i g2 WÅ (0 + H - i Zf ) + i (2 sin w AÅ + cos w (1 - tanw )ZÅ ) W + - (2iWÅ Wf - ZÅ (0 + H - i Zf )/ cos w )/ 2 2
+ f

. (49)

^ ^ The term (DÅ )+ (D Å ) gives us the mass terms for the W and Z -b osons: g2 2
2 0

WW

+ Å



1 + 2

g 2 0 2 cos

2

ZÅ Z Å ,
w

(50)

and the following terms describing the interaction of a couple of vector b osons with Higgs and Goldstones:
2 g2 ( 4 + WÅ W -Å 2 + - (H 2 + Zf + 20 H + 2Wf Wf )

106


).

+ - +4AÅ AÅ sin2 w Wf Wf ZÅ Z Å + - 2 +2 ((H 2 + Zf )/2 + 0 H + (1 - 2 sin2 w )2 Wf Wf ) cos w + - +4AÅ Z Å tan w (1 - 2 sin2 w )Wf Wf + - -2i tan w WÅ (cos w AÅ - sin w Z Å )(0 + H - i Zf )Wf + - +2i tan w WÅ (cos w AÅ - sin w Z Å )(0 + H + i Zf )Wf

(51)

The constant 0 now can b e expressed in terms of the W -b oson mass MW : 0 = 2 MW /g2 . The Z -b oson mass is related to the W -b oson mass by means of constraint: MZ = MW / cos w . ^ ^ The term (-(DÅ ) Å + - (DÅ )+ Å ) gives us off-diagonal quadratic terms: 1 1 + - - + (WÅ Å Wf + WÅ Å Wf ) + ZÅ Å Zf (52) -g2 0 2 cos w and the following terms of interaction: g2 ( 2
- + + - - + + - -H (WÅ Å Wf + WÅ Å Wf ) + ( Å H )(WÅ Wf + WÅ Wf )

- + + - + - - + -i(Zf (WÅ Å Wf - WÅ Å Wf ) + ( Å Zf )(WÅ Wf - WÅ Wf ))

).

- + + - +i(2 sin w AÅ + cos w (1 - tan2 w )ZÅ )(Wf Å Wf - Wf Å Wf ) +( Å H )ZÅ Zf / cos w - ( Å Zf )ZÅ H/cosw (53)

The off-diagonal quadratic terms are canceled by the gauge fixing terms. See b elow. E.3.3 Gauge fixing and ghost terms for the t'Ho oft-Feynman gauge

In the case of t'Ho oft-Feynman gauge the gauge fixing terms are 1 1 + + - ( Å AÅ )2 - ( Å ZÅ + MZ Zf )2 - | Å WÅ + MW Wf |2 . 2 2 107


The squared divergences of fields transform the quadratic part of Lagrangian for vector b osons to a diagonal form like (39). The squared Goldstone field terms give a mass to the Goldstone particle equal to the mass of the corresp onding vector b oson field. The off-diagonal quadratic terms, which follow from the gauge fixing Lagrangian, cancel the off-diagonal terms (52) up to complete divergency terms. According to the general rule (38) the Faddeev-Pop ov Lagrangian is -Ac D (W + c, Wc- , Ac , Zc )( Å AÅ ) ? -Zc D (W + c, Wc- , Ac , Zc )( Å ZÅ + MZ Zf ) ? + + -Wc- D (W + c, Wc- , Ac Zc )( Å WÅ + MW Wf ) ? - - -Wc+ D (W + c, Wc- , Ac , Zc )( Å WÅ + MW Wf ) . ? Note that due to (44)
+ ^+ D WÅ = i g2 (WÅ (sin w Ac + cos w Zc ) - Wc+ (sin w AÅ + cos w ZÅ )) + Å W + - ^ D AÅ = -i g2 sin w (WÅ Wc- - WÅ Wc+ ) + Å Ac ; + - ^ D ZÅ = -i g2 cos w (WÅ Wc- - WÅ Wc+ ) + Å Zc , + c

;

and according to (49) DW
+ f f

DZ

g2 + (Wc+ (H - i Zf ) + i (2 sin w Ac + cos w (1 - tan2 w )Zc ) Wf ) ; 2 g 2 Zc H + - = M Z Zc + ( - i(Wc- Wf - Wc+ Wf )) . 2 cos w = Wc+ M
W

+

After substitution of these derivatives to the Faddeev-Pop ov Lagrangian we see that it contains the quadratic part: -Ac 2Ac - Zc 2Zc - Wc- (2Wc+ + MW Wc+ ) - Wc+ (2Wc- + MW Wc- ) , ? ? ? ? and the following vertices of interaction: -g2 (
+ - i sin w ( Å Ac )(WÅ Wc- - WÅ Wc+ ) ? + - +i cos w ( Å Zc )(WÅ Wc- - WÅ Wc+ ) ? MZ Zc Zc H ? + - + - i(Wc- Wf - Wc+ Wf ) 2 cos w + -i( Å Wc- )(WÅ (sin w Ac + cos w Zc ) - Wc+ (sin w AÅ + cos w ZÅ )) ?

108


+

). E.3.4

MW Wc- ? + (Wc+ (H - i Zf ) + i (2 sin w Ac + cos w (1 - tan2 w )Zc ) Wf ))) 2 - +i( Å Wc+ )(WÅ (sin w Ac + cos w Zc ) - Wc- (sin w AÅ + cos w ZÅ )) ? MW Wc+ ? - (Wc- (H + i Zf ) - i (2 sin w Ac + cos w (1 - tan2 w )Zc ) Wf ))) + 2 (54)

Unitary gauge

The unitary gauge may b e considered as a limit of of the following gauge fixing Lagrangian: 1 M2 M2 + - - ( Å AÅ )2 - Z (Zf )2 - W (Wf Wf ) . 2 2 In this limit one gets Zf = 0 and Wf = 0, what decreases a numb er of vertices. Under these constraints the Faddeev-Pop ov Lagrangian (38) takes the form: g2 H )Zc 2 cos w g2 g2 -Wc- MW (MW + H )Wc+ - Wc+ MW (MW + H )Wc- . ? ? 2 2 Integration over Ac and Ac can b e p erformed explicitly and gives a result ? which do es not dep end on other fields. So Ac and Ac ghosts may b e omitted. ? In the unitary gauge only physical p olarization states of the incoming and outgoing W Á and Z b osons are considered. So WcÁ and Zc are not needed in the external lines of Feynman diagrams and may b e omitted also in tree level calculations. Consequently, in the unitary gauge all ghost and Goldstone fields may b e omitted.
+ - -Ac Å (-i g2 sin w (WÅ Wc- - WÅ Wc+ ) + Å Ac ) - Zc MZ (MZ + ? ?

E.3.5

Summary of vertices for the b oson sector

In the case of t'Ho oft-Feynman gauge the full set of vertices is describ ed by expressions (45), (48), (51), (53), and (54), where W
3 Å

= sin w AÅ + cos w ZÅ ; g 2 MH 2Mw 109
2

=

.


The coupling constants g2 and g1 may b e expressed in terms of the electromagnetic coupling constant: g2 = e sin w and g1 = e cos w . In the case of unitary gauge the interaction is defined by a subset of vertices which app ears after removing the Faddeev-Pop ov ghosts and the Goldstone fields. E.3.6 Interaction of vector b osons with fermions

Exp eriments in particle physics show that the W -b osons interact with lefthanded comp onents of fermions 1 - 5 . = 2
L

Thus, the S U (2) group must transform only the left-handed fermion comp onents. The initial Lagrangian of fermion field has the corresp onding global symmetry only if all fermions are massless. Indeed, the Lagrangian of free massless fermion field splits into two indep endent parts: L= i 2 i = 2 ? ? (Å Å - ( Å )Å )

i? ? ? ? (L Å Å L - ( Å L )Å L ) + (R Å Å - ( Å R )Å R ) , 2

which allows to apply the S U (2) gauge transformations to the left-handed comp onents of fermion doublets. In the same time the mass term contains a pro duct of left-handed and right-handed fermion comp onents: ? ? ? m = m(L R + R L ) , what forbids an app earance of such terms in the invariant Lagrangian. Later on we shall show how such fermion particles will acquire masses in result of the gauge invariant interaction of formerly massless fermion fields with the Higgs doublet. Whereas S U (2) transforms only the left-handed comp onents of doublets, U (1) interacts with b oth. Left-handed and right-handed comp onents of fermions must have the same electric charge. It allows to find the hyp ercharge of right-handed comp onents if a hyp ercharge of left-handed doublet is known. The U (1) gauge field BÅ is equal to cos w AÅ - sin w ZÅ . So, 110


the electromagnetic coupling constant for right-handed fermion with a hyp ercharge Y R is (g1 Y R cos w )/2. Comparing it with the expression (46) we see that the hyp ercharges of right-handed comp onents of doublet are Y Y
R 1 R 2

= 1+Y , = Y -1.

Thus, we may unambiguously write down the vertices of interactions asso ciated with the covariant derivative: + g2 ? ? 0 WÅ 1+Y 0 2 + sin w AÅ 1 2 - WÅ 0 0 Y -1 2 + cos w Z +
Å

1 - Y tan2 0

w

g1 (cos w AÅ - sin w ZÅ ) 2

0 -1 - Y tan2
1

w

Å Å

L 1 L 2

?

?

2

Y +1 0 0 Y -1

Å Å

R 1 R 2

.

After matrix multiplication we obtain: g2 -? +? WÅ 2 Å (1 - 5 )1 + WÅ 1 Å (1 - 5 )2 22 g1 ? ZÅ 1 Å (1 - 5 - 2(Y + 1) sin2 w )1 + 4 sin w ? -2 Å (1 - 5 + 2(Y - 1) sin2 w )2 g1 ? ? + cos w AÅ (Y + 1)1 Å 1 + (Y - 1)2 Å 2 . 2 E.3.7

(55)

Interaction of the Higgs doublet with fermions and generation of fermion masses

The mass terms for fermions in the electroweak theory are generated via their S U (2) ç U (1) invariant Yukawa interaction with Higgs doublet. Namely, the Yukawa Lagrangian m2 2 ? L i R ? R i L m1 2 ? L ij j R ? R i ij L i 1 - 1 j - i 2 + 2 i - 0 0 pro duces the mass terms for doublet comp onents ? ? -m1 1 1 - m2 2 2 , 111


which are accompanied by vertices of interactions of fermions with Goldstone fields: - m1 g 2 2MW m2 g 2 - 2MW i +? -? ? ? (Wf 2 (1 + 5 )1 - Wf 1 (1 - 5 )2 ) + H 1 1 + iZf 1 5 1 2 i +? -? ? ? (Wf 1 (1 + 5 )2 - Wf 2 (1 - 5 )1 ) + H 2 2 - iZf 2 5 2 . 2 (56)

If there are several doublets with the same hyp ercharge, then a general form of Yukawa Lagrangian contains a pro duct of terms from different doublets. Such terms form two mass matrices: one for upp er and another for lower fermions. Each of these matrices can b e diagonalized by means of the unitary transformation of doublets, but this cannot b e done for b oth of them at the same time. In this case the basis of doublets is chosen in such a way to present one of these matrices, for example, for upp er fermions, in the diagonal form. Then the physical particles corresp ond to linear combinations of lower doublet fields realized by some unitary matrix which is called a mixing matrix. Generally the Lagrangian is written down in terms of fermion fields which directly corresp ond to particles. Interactions of such fields with A, Z , H , and Zf are the same as defined by (55) and (56), whereas interactions with W Á Á and Wf contain elements of the mixing matrix. E.3.8 Quarks and leptons

The Standard Mo del contains three doublets of leptons with a hyp ercharge Y = -1: e Å , e- Å- -
1 and three doublets of quarks with a hyp ercharge Y = 3 :

u d

c s

t b

.

Neutrinos, the upp er comp onents of lepton doublets, are so far massless as a result of exp erimental measurements. So the mixing matrix for leptons 112


is not needed. Meantime b oth the upp er and down comp onents of quark doublets have nonzero masses. The corresp onding mixing matrix is named the Cabibb o-Kobayashi-Maskawa matrix. It expresses the lower comp onents of quark doublets in terms of the real quark fields:


d K obay ashi d s = M osk aw a s . b matr ix b









113


References
[1] J. Kublb eck, M. B? ? ohm, A. Denner, Comp. Phys. Comm. 60 (1990) 165 R. Mertig, M. B? ohm, A. Denner, Comp. Phys. Comm. 60 (1990) 345 [2] T. Tanaka, T. Kaneko, Y. Shimizu, Comp. Phys. Comm. 64 (1991) 149 T. Ishikawa, T. Kaneko, K. Kato, S. Kawabata, Y. Shimizu, T. Tanaka, GRACE manual, version 1.0, KEK Rep ort 92-19, 1993 [3] H. Murayama, I. Watanab e, K. Hagiwara, HELAS: HELicity Amplitude Subroutine for Feynman Diagram Evaluation, KEK Rep ort 91-11, 1992 [4] T. Stelzer, W. F. Long, Comp. Phys. Comm. 81 (1998) 357 [5] R. Harlander, M. Steinhauser, Automatic computation of Feynman diagrams, hep-ph/9812357. [6] P.A. Baikov et al., Physical results by means of CompHEP, in: Pro c. of X Workshop on High Energy Physics and Quantum Field Theory (QFTHEP-95), ed. by B.Levtchenko, V.Savrin, Moscow, 1996, p.101 (hep-ph/9701412) [7] E.E. Bo os, M.N. Dubinin, V.A. Ilyin, A.E. Pukhov, V.I. Savrin, CompHEP: specialized package for automatic calculations of elementary particle decays and col lisions, SNUTP rep ort 94-116, Seoul, 1994 (hepph/9503280) [8] E. Bo os, M. Dubinin, V. Edneral, V. Ilyin, A. Kryukov, A. Pukhov, A. Ro dionov, V. Savrin, D. Slavnov, A. Taranov, CompHEP - computer system for calculation of particles col lision characteristics at high energies, preprint INP MSU 89-63/140, Moscow, 1989 [9] E. Bo os, M. Dubinin, V. Edneral, V. Ilyin, A. Kryukov, A. Pukhov, V. Savrin, S. Shichanin, A. Taranov, in: "New Computing Techniques in Physics Research", Pro c. of Int. Workshop on Software Engineering, Artificial Intelligence and Exp ert Systems for High Energy and Nuclear Physics (AI'90), ed. by D. Perret-Gallix and W. Wo jcik, Editions du CNRS, 1990, p. 573

114


[10] E. Bo os, M. Dubinin, V. Edneral, V. Ilyin, A. Kryukov, A. Pukhov, S. Shichanin, in: "New Computing Techniques in Physics Research I I", Pro c. of Int. Workshop on Software Engineering, Artificial Intelligence and Exp ert Systems for High Energy and Nuclear Physics (AI'91), ed. ed.by D. Perret-Gallix, World Scientific, Singap ore, 1992, p. 665. [11] A. Pukhov, in: "New Computing Techniques in Physics Research I I I", Pro c. of Int. Workshop on Software Engineering, Artificial Intelligence and Exp ert Systems for High Energy and Nuclear Physics (AI'92), ed. ed. by K.-H. Becks and D. Perret-Gallix, World Scientific, Singap ore, 1993, p. 473 [12] V.A. Ilyin et al., in "New Computing Techniques in Physics Research IV", Pro c. of Int. Workshop on Software Engineering, Artificial Intelligence and Exp ert Systems for High Energy and Nuclear Physics (AI'94), ed. by B. Denby and D. Perret-Gallix, World Scientific, Singap ore, 1995, p.295 [13] D. Kovalenko, A. Pukhov, Nucl. Instr. and Meth. A389 (1997) 299 [14] V. Edneral, A. Semenov, The Translation of Computer Programs from Environment Turbo PASCAL/DOS to C/UNIX, preprint INP MSU 9326/318, Moscow, 1993 (in Russian) [15] V. Edneral, A. Semenov The Emulation of Graphic Library of BORLAND Turbo C/PASCAL at the Environment of OS UNIX, preprint INP MSU 93-27/319, 1993 (in Russian) [16] A. Semenov, LanHEP -- a package for automatic generation of Feynman rules. User's manual, preprint INP MSU 96-24/431, Moscow, 1996 (hepph/9608488) A. Semenov. Nucl. Instr. and Meth. A393 (1997) 293 A. Semenov. LanHEP - a package for automatic generation of Feynman rules from the Lagrangian. Updated version 1.3, preprint INP MSU 98- 2/503, Moscow, 1998 [17] A. Belyaev, A. Gladyshev, A. Semenov, preprint IFT-P-093-97 (hepph/9712303). 115


[18] M. Dubinin, A. Semenov, hep-ph/9812246 [19] V.A. Ilyin, D.N. Kovalenko, A.E. Pukhov, Recursive algorithm for the generation of relativistic kinematics for col lisions and decays with regularizations of sharp peaks, Int. J. Mo d. Phys. C7 (1996) 761 (hepph/9612479) [20] E.E. Bo os, M.N. Dubinin, V.F. Edneral, V.A. Ilyin, A.P. Kryukov, A.E. Pukhov, S.A. Shichanin, Applications of CompHEP system to particle processes calculation, NPI MSU rep ort 91-9-213, Moscow, 1991 [21] E.E. Bo os, M.N. Dubinin, V.A. Ilyin, A.E. Pukhov, S.A. Shichanin, T. Kaneko, S. Kawabata, Y. Kurihara, Y. Shimizu, H. Tanaka, Automatic calculation in high-energy physics by GRACE/CHANEL and CompHEP, Int. J. Mo d. Phys. C5 (1994) 615 [22] A. Belyaev, E. Bo os, L. Dudko, A. Pukhov, W + 2 jets production at Tevatron: VECBOS and CompHEP comparison, D0 note 2784, 1995 (hep-ph/9511306) [23] Event generators for WW physics (conveners D. Bardin, R. Kleiss), in "Physics at LEP2", ed.by G. Altarelli, T. Sjostrand, F. Zwirner, CERN rep ort 96-01, vol.I I, Geneva, 1996, p.3 Standard Model Processes (conveners F. Boudjema, B. Mele), in "Physics at LEP2", ed.by G. Altarelli, T. Sjostrand, F. Zwirner, CERN rep ort 96-01, vol.I, Geneva, 1996, p.207 [24] H.L. Lai, J. Huston, S. Kuhlmann, F. Olness, J. Owens, D. Sop er W.K. Tung, H. Weerts, Phys. Rev. D55 (1997) 1280 [25] A.D. Martin, R.G. Rob erts and W.J. Stirling, Phys. Lett. B354 (1995) 155 [26] I.F. Ginzburg, G.L. Kotkin, V.G. Serb o, V.I. Telnov, Nucl. Instr. and Meth. 205 (183) 47 [27] V.M. Budnev et al., Phys. Rep. 15C (1975) 181 S. Frixione et al., Phys. Lett. B319 (1993) 339

116


[28] E. Kuraev, V. Fadin, Sov. J. Nucl. Phys. 41 (1985) 466 [29] S. Jadach, B. Ward Comp. Phys. Commun. 56 (1990) 351 S. Jadach, M. Skrzyp ek, Z.Phys. C 49,(1991) 577 [30] P. Chen, Phys. Rev. D46 (1992) 1186 [31] G.P. Lepage, Journal of Comput. Phys. 27 (1978) 192 [32] W.H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery, Numerical Recipes in Fortran, Cambridge University Press, 1992 [33] A. Hearn, J. Fitch, REDUCE User's Manual, v.3.6, RAND Publication CP78 (Rev. 7/95) [34] S. Wolfram, MATHEMATICA, Addison-Wesley, 1991 [35] J.A.M. Vermaseren, Symbolic manipulation with FORM, version 2: Tutorial and Reference Manual, CAN, 1992 [36] Review of Particles Prop erties, Phys.Rev. D54, 1996 [37] U. Baur, J. Vermaseren, D. Zepp enfeld, Nucl. Phys. B375 (1992) 2 [38] Y. Kurihara, D. Perret-Gallix, Y. Shimizu, Phys. Lett. B349 (1995) 367 [39] E. Bo os, M. Dubinin, L. Dudko, Int. J. Mo d. Phys. A11 (1996) 5015 [40] V. Ilyin, D. Kovalenko, A. Pukhov, Int. J. Mo d. Phys. C7 (1996) 761 D. Kovalenko, A. Pukhov, Nucl. Instr. and Meth. A389 (1997) 299 [41] T. Sjostrand, Comp. Phys. Comm. 82 (1994) 74 [42] J.B. Bjorken, S.D. Drell, Relativistic quantum fields, McGraw-Hill, New York, 1965 C. Itzykson, J. Zub er. Quantum Field Theory, McGraw-Hill, New York, 1980 [43] T.-P. Cheng and L.-F. Li, Gauge theory of elementary particle physics, Oxford Univ. Press, 1984 117


[44] L. Baulieu, Phys. Rep. 129 (1985) 1 [45] J.A.M. Vermaseren, Comp. Phys. Comm. 83 (1994) 45 [46] F.A. Berends, R. Pittau, R. Kleiss, Comp. Phys. Comm. 85 (1995) 437 [47] E. Byckling, K. Ka jantie, Particle Kinematics, John Wiley & Sons, 1973

118


Pictures and figures

Figure 1: Example of the CompHEP menu

****************************************************************** * MAIN MENU * * CompHEP numerical module u ,D -> b ,B ,W+ * ****************************************************************** * x: Exit hN: Help (N-menu position) m: MAIN menu * * * * 1: Subprocess 2: IN state * * 3: Model parameters 4: QCD SCALE * * 5: Breit-Wigner 6: Cuts * * 7: Kinematics 8: Regularization * * 9: Vegas 10: Simpson * * 11: Batch 12: View result * ***************************************************************** Type number of menu position and press ENTER:_

Figure 2: Example of the Fortran menu

119


Figure 3: Example of the CompHEP tables

Figure 4: Example of the CompHEP diagram images 120


Menu 1 QED Fermi model St. model(unit. gauge) St. model(Feyn. gauge) MSSM (unit. gauge) MSSM (Feyn. gauge) CREATE NEW MODEL Menu 2 Enter process Edit model Delete model Menu 3 Parameters Constraints Particles Vertices Menu 4 Enter process: _____ partons: _____ CMS Energy in GeV: _____ Exclude diagrams with: ___ Menu 5 Squaring View diagrams Menu 6 View squared diagrams Symbolic calculation REDUCE program Make n_comphep_c Make n_comphep_f

Menu 8 REDUCE code MATHEMATICA code FORM code C code(for num. calc.) Fortran Real*8 code Fortran Real*16 code

Menu 7 View squared diagrams Write results Numerical Interpreter C-compiler Fortran compiler

Figure 5: Menu scheme for the symb olic session

121


Figure 6: Example of the pro cess input

Figure 7: Example of the plot image 122


Menu 1
Subprocess IN state Model parameters QCD scale Breit-Wigner Cuts Kinematics Regularization Vegas Simpson Batch

Menu 2
S.F.1 OFF S.F.2 OFF Momentum P1[GeV]=1000 Momentum P2[GeV]=1000

Menu 5
Gauge invariance OFF/ON S dependence OFF/ON

Menu 8 Menu 3
OFF ISR&Beamstralung CTEQ4m MRS(A') MRS(G) Laser photon beam Equiv.Photon. Appr. Add to batch file Itmx1 = 5 Ncall1 = 10000 Itmx2 = 5 Ncall2 = 1000 Generate events ON/OFF Table size = 5 Tab. param.= SQRTS Min. val = 100 Max. val = 500

Menu 6
Start integration Itmx=5 nCall=10000 Clear statistic Write events to file(OFF/ON) Set distributions Display distributions

Menu 4
QCD Lambda6=0.1GeV Q^2=(91.187GeV)^2/(p1+...)^2 Alpha(S) plot

Menu 7
Set precision Anglular dependence Parameter dependence

Figure 8: Menu scheme for the numerical session

123


Figure 9: Representation of results for 1->2 pro cesses

Figure 10: Plot for a 2->2 pro cess 124


e1 E2 ! E2 e1 ==>==\ /==<====!==<==\ /==>== P1 | | P4 ! P4 | | P1 | | ! | | E1 | A | e2 ! e2 | A | E1 ==<==@-1---@==>====!==>==@---2-@==<== P2 P5 P3 ! P3 -P6 P2

Figure 11: Example of pseudo-graphic diagram image

e1 n1 ! n1 e1 ==>==@==>====!==>===@==>== | ! | W+| ! W+| | ! | -----@--<----!--<---@----A WWA a)

e1 n1 ! n1 e1 ==>==@==>====!==>===@==>= | ! | W+| ! W+| | ! | -----@--<----!--<---@----A W-.f W-.f A b)

e1 n1 ! n1 e1 ==>==@==>====!==>===@==>== | ! | W+| ! W+| | ! | --<--@--<----!--<---@--<-A.C W-.C W-.C A.C c)

e1 n1 ! n1 e1 ==>==@==>====!==>===@==>== | ! | W+| ! W+| | ! | -->--@--<----!--<---@-->-A.c W-.c W-.c A.c d)

Figure 12: Ghost diagrams

125


G

1

G

3

G

1

G G.t

3

G

1

G

3

G

1

G

3

=

+

G.t

+

G.t

G

2

G

4

G

2

G

4

G

2

G

4

G

2

G

4

Figure 13: Splitting of four-gluon vertex

e

-

E EE




e

-

p p

2

p

1

3

Figure 14: Example of pro cess with the 1/t2 p ole cancellation.

126