hVersion i≡ 3.0.0_beta hDate i≡ Aug 30 2020 1
〈Version〉≡3.0.0_beta
〈Date〉≡Aug 30 2020
1
WHIZARD1
Wolfgang Kilian,2 Thorsten Ohl,3 Jürgen Reuter4
Version 3.0.0 beta, Aug 30 2020with contributions from: Fabian Bach, Tim Barklow, VincentBettaque, Mikael Berggren, Hans-Werner Boschmann, Felix
Braam, Simon Brass, Pia Bredt, Bijan Chokoufé Nejad, ChristianFleper, David Gordo Gomez, Akiya Miyamoto, Moritz Preißer,
Vincent Rothe, Sebastian Schmidt, Marco Sekulla, So Young Shim,Christian Speckner, Pascal Stienemeier, Manuel Utsch, Christian
Weiss, Daniel Wiesler, Zhijie Zhao
1The original meaning of the acronym is W , Higgs, Z, And Respective Decays. Thecurrent program is much more than that, however.
2e-mail: [email protected]: [email protected]: [email protected]
Abstract
WHIZARD is an application of the VAMP algorithm: Adaptive multi-channel inte-gration and event generation. The bare VAMP library is augmented by modulesfor Lorentz algebra, particles, phase space, etc., such that physical processeswith arbitrary complex final states [well, in principle. . . ] can be integrated andunweighted events be generated.
blha
qft
com
bina
toric
s
beam
sm
atrix
_ele
men
ts
basi
cs
syst
em
type
s
me_
met
hods
pars
ing
varia
bles
phys
ics
utili
ties
expr
_bas
e
parti
cles
rng
qed_
even
ts
fks
mod
el_f
eatu
res
thre
shol
d
phas
e_sp
ace
gosa
m
mat
chin
g
show
er
proc
ess_
inte
grat
ion
mul
i
pyth
ia8
tauo
la
mci
open
loop
sre
cola
vega
s
test
ing
trans
form
s
whi
zard
_cor
e
Figure 1: Overall folder structure1
Contents
1 Changes 27
2 Preliminaries 28
3 Utilities 303.1 File Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.1.1 Deleting a file . . . . . . . . . . . . . . . . . . . . . . . . . 313.2 File Registries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.1 File handle . . . . . . . . . . . . . . . . . . . . . . . . . . 323.2.2 File handles registry . . . . . . . . . . . . . . . . . . . . . 34
3.3 String Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.3.1 Upper and Lower Case . . . . . . . . . . . . . . . . . . . . 373.3.2 C-Fortran String Conversion . . . . . . . . . . . . . . . . 383.3.3 Number Conversion . . . . . . . . . . . . . . . . . . . . . 393.3.4 String splitting . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4 Format Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.4.1 Line Output . . . . . . . . . . . . . . . . . . . . . . . . . 423.4.2 Array Output . . . . . . . . . . . . . . . . . . . . . . . . . 433.4.3 TEX-compatible Output . . . . . . . . . . . . . . . . . . . 443.4.4 Metapost-compatible Output . . . . . . . . . . . . . . . . 453.4.5 Conditional Formatting . . . . . . . . . . . . . . . . . . . 453.4.6 Guard tiny values . . . . . . . . . . . . . . . . . . . . . . 463.4.7 Compressed output of integer arrays . . . . . . . . . . . . 46
3.5 Format Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 473.6 Numeric Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4 Testing 564.1 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.1.1 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 574.1.2 Type for storing test results . . . . . . . . . . . . . . . . . 574.1.3 Wrapup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.1.4 Tool for Unit Tests . . . . . . . . . . . . . . . . . . . . . . 60
5 System: Interfaces and Handlers 635.1 Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.1.1 Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645.1.2 Text Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . 645.1.3 IOSTAT Codes . . . . . . . . . . . . . . . . . . . . . . . . 64
2
5.1.4 Character Codes . . . . . . . . . . . . . . . . . . . . . . . 645.2 C wrapper for sigaction . . . . . . . . . . . . . . . . . . . . . . . 655.3 C wrapper for printf . . . . . . . . . . . . . . . . . . . . . . . . . 675.4 Error, Message and Signal Handling . . . . . . . . . . . . . . . . 68
5.4.1 Logfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.4.2 Checking values . . . . . . . . . . . . . . . . . . . . . . . . 895.4.3 Suppression of numerical noise . . . . . . . . . . . . . . . 925.4.4 Signal handling . . . . . . . . . . . . . . . . . . . . . . . . 93
5.5 Operating-system interface . . . . . . . . . . . . . . . . . . . . . 965.5.1 Path variables . . . . . . . . . . . . . . . . . . . . . . . . 965.5.2 System dependencies . . . . . . . . . . . . . . . . . . . . . 975.5.3 Dynamic linking . . . . . . . . . . . . . . . . . . . . . . . 1045.5.4 Predicates . . . . . . . . . . . . . . . . . . . . . . . . . . . 1085.5.5 Shell access . . . . . . . . . . . . . . . . . . . . . . . . . . 1085.5.6 Querying for a directory . . . . . . . . . . . . . . . . . . . 1095.5.7 Pack/unpack . . . . . . . . . . . . . . . . . . . . . . . . . 1095.5.8 Fortran compiler and linker . . . . . . . . . . . . . . . . . 1105.5.9 Controlling OpenMP . . . . . . . . . . . . . . . . . . . . . 1135.5.10 Controlling MPI . . . . . . . . . . . . . . . . . . . . . . . 1155.5.11 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.6 Interface for formatted I/O . . . . . . . . . . . . . . . . . . . . . 1185.6.1 Parsing a C format string . . . . . . . . . . . . . . . . . . 1195.6.2 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1265.6.3 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.7 CPU timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1285.7.1 Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345.7.2 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
6 Combinatorics 1426.1 Bytes and such . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
6.1.1 8-bit words: bytes . . . . . . . . . . . . . . . . . . . . . . 1446.1.2 32-bit words . . . . . . . . . . . . . . . . . . . . . . . . . . 1456.1.3 Operations on 32-bit words . . . . . . . . . . . . . . . . . 1486.1.4 64-bit words . . . . . . . . . . . . . . . . . . . . . . . . . . 151
6.2 Hashtables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1536.2.1 The hash function . . . . . . . . . . . . . . . . . . . . . . 1536.2.2 The hash table . . . . . . . . . . . . . . . . . . . . . . . . 1546.2.3 Hashtable insertion . . . . . . . . . . . . . . . . . . . . . . 1566.2.4 Hashtable lookup . . . . . . . . . . . . . . . . . . . . . . . 157
6.3 MD5 Checksums . . . . . . . . . . . . . . . . . . . . . . . . . . . 1586.3.1 Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1596.3.2 Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . 1616.3.3 Message I/O . . . . . . . . . . . . . . . . . . . . . . . . . 1636.3.4 Auxiliary functions . . . . . . . . . . . . . . . . . . . . . . 1656.3.5 Auxiliary stuff . . . . . . . . . . . . . . . . . . . . . . . . 1656.3.6 MD5 algorithm . . . . . . . . . . . . . . . . . . . . . . . . 1666.3.7 User interface . . . . . . . . . . . . . . . . . . . . . . . . . 1686.3.8 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
6.4 Permutations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1716.4.1 Permutations . . . . . . . . . . . . . . . . . . . . . . . . . 172
3
6.4.2 Operations on binary codes . . . . . . . . . . . . . . . . . 1776.5 Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
6.5.1 Implementation . . . . . . . . . . . . . . . . . . . . . . . . 1786.5.2 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
6.6 Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856.6.1 Initializer and finalizer . . . . . . . . . . . . . . . . . . . . 1866.6.2 Segment finding and memory mapping . . . . . . . . . . . 1876.6.3 Grid manipulations . . . . . . . . . . . . . . . . . . . . . . 1896.6.4 Input and Output to screen and disk . . . . . . . . . . . . 1906.6.5 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1936.6.6 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
7 Text handling 2067.1 Internal files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
7.1.1 The line type . . . . . . . . . . . . . . . . . . . . . . . . . 2087.1.2 The ifile type . . . . . . . . . . . . . . . . . . . . . . . . . 2097.1.3 I/O on ifiles . . . . . . . . . . . . . . . . . . . . . . . . . . 2107.1.4 Ifile tools . . . . . . . . . . . . . . . . . . . . . . . . . . . 2137.1.5 Line pointers . . . . . . . . . . . . . . . . . . . . . . . . . 2137.1.6 Access lines via pointers . . . . . . . . . . . . . . . . . . . 214
7.2 Lexer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2167.2.1 Input streams . . . . . . . . . . . . . . . . . . . . . . . . . 2177.2.2 Keyword list . . . . . . . . . . . . . . . . . . . . . . . . . 2217.2.3 Lexeme templates . . . . . . . . . . . . . . . . . . . . . . 2237.2.4 The lexer setup . . . . . . . . . . . . . . . . . . . . . . . . 2277.2.5 The lexeme type . . . . . . . . . . . . . . . . . . . . . . . 2307.2.6 The lexer object . . . . . . . . . . . . . . . . . . . . . . . 2337.2.7 The lexer routine . . . . . . . . . . . . . . . . . . . . . . . 2347.2.8 Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . 2377.2.9 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
7.3 Syntax rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2417.3.1 Syntax rules . . . . . . . . . . . . . . . . . . . . . . . . . . 2417.3.2 I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2447.3.3 Completing syntax rules . . . . . . . . . . . . . . . . . . . 2467.3.4 Accessing rules . . . . . . . . . . . . . . . . . . . . . . . . 2487.3.5 Syntax tables . . . . . . . . . . . . . . . . . . . . . . . . . 2507.3.6 Accessing the syntax table . . . . . . . . . . . . . . . . . . 2567.3.7 I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
7.4 The parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2597.4.1 The token type . . . . . . . . . . . . . . . . . . . . . . . . 2597.4.2 Retrieve token contents . . . . . . . . . . . . . . . . . . . 2647.4.3 The parse tree: nodes . . . . . . . . . . . . . . . . . . . . 2667.4.4 Filling nodes . . . . . . . . . . . . . . . . . . . . . . . . . 2687.4.5 Accessing nodes . . . . . . . . . . . . . . . . . . . . . . . 2727.4.6 The parse tree . . . . . . . . . . . . . . . . . . . . . . . . 2767.4.7 Access the parser . . . . . . . . . . . . . . . . . . . . . . . 2827.4.8 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2837.4.9 Applications . . . . . . . . . . . . . . . . . . . . . . . . . 2847.4.10 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
7.5 XML Parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
4
7.5.1 Cached Stream . . . . . . . . . . . . . . . . . . . . . . . . 2887.5.2 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . 2897.5.3 The Tag Type . . . . . . . . . . . . . . . . . . . . . . . . 2917.5.4 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2987.5.5 Auxiliary Routines . . . . . . . . . . . . . . . . . . . . . . 2997.5.6 Basic Tag I/O . . . . . . . . . . . . . . . . . . . . . . . . 2997.5.7 Optional Tag . . . . . . . . . . . . . . . . . . . . . . . . . 3027.5.8 Optional Tag . . . . . . . . . . . . . . . . . . . . . . . . . 3047.5.9 Basic Tag I/O . . . . . . . . . . . . . . . . . . . . . . . . 306
8 Random-Number Generator 3088.1 Generic Random-Number Generator . . . . . . . . . . . . . . . . 310
8.1.1 Generator type . . . . . . . . . . . . . . . . . . . . . . . . 3108.1.2 RNG Factory . . . . . . . . . . . . . . . . . . . . . . . . . 3128.1.3 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
8.2 Select from a weighted sample . . . . . . . . . . . . . . . . . . . . 3208.2.1 Selector type . . . . . . . . . . . . . . . . . . . . . . . . . 3208.2.2 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
8.3 TAO Random-Number Generator . . . . . . . . . . . . . . . . . . 3268.3.1 Generator type . . . . . . . . . . . . . . . . . . . . . . . . 3278.3.2 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
8.4 RNG Stream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3338.4.1 Factory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3398.4.2 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
8.5 Dispatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3488.5.1 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
9 Physics 3549.1 Physics Constants . . . . . . . . . . . . . . . . . . . . . . . . . . 356
9.1.1 Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3569.1.2 SM and QCD constants . . . . . . . . . . . . . . . . . . . 3579.1.3 Parameter Reference values . . . . . . . . . . . . . . . . . 3579.1.4 Particle codes . . . . . . . . . . . . . . . . . . . . . . . . . 3579.1.5 Spin codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 3599.1.6 NLO status codes . . . . . . . . . . . . . . . . . . . . . . 3599.1.7 Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
9.2 C-compatible Particle Type . . . . . . . . . . . . . . . . . . . . . 3639.3 Lorentz algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
9.3.1 Three-vectors . . . . . . . . . . . . . . . . . . . . . . . . . 3659.3.2 Four-vectors . . . . . . . . . . . . . . . . . . . . . . . . . . 3719.3.3 Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . 3779.3.4 Angles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3839.3.5 More kinematical functions (some redundant) . . . . . . . 3899.3.6 Lorentz transformations . . . . . . . . . . . . . . . . . . . 3939.3.7 Functions of Lorentz transformations . . . . . . . . . . . . 3959.3.8 Invariants . . . . . . . . . . . . . . . . . . . . . . . . . . . 3959.3.9 Boosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4019.3.10 Rotations . . . . . . . . . . . . . . . . . . . . . . . . . . . 4039.3.11 Composite Lorentz transformations . . . . . . . . . . . . . 4059.3.12 Applying Lorentz transformations . . . . . . . . . . . . . 406
5
9.3.13 Special Lorentz transformations . . . . . . . . . . . . . . . 4079.3.14 Special functions . . . . . . . . . . . . . . . . . . . . . . . 409
9.4 Special Physics functions . . . . . . . . . . . . . . . . . . . . . . . 4149.4.1 Running αs . . . . . . . . . . . . . . . . . . . . . . . . . . 4149.4.2 Catani-Seymour Parameters . . . . . . . . . . . . . . . . . 4179.4.3 Mathematical Functions . . . . . . . . . . . . . . . . . . . 4189.4.4 Loop Integrals . . . . . . . . . . . . . . . . . . . . . . . . 4199.4.5 More on αs . . . . . . . . . . . . . . . . . . . . . . . . . . 4219.4.6 Functions for Catani-Seymour dipoles . . . . . . . . . . . 4229.4.7 Distributions for integrated dipoles and such . . . . . . . 4249.4.8 Splitting Functions . . . . . . . . . . . . . . . . . . . . . . 4339.4.9 Top width . . . . . . . . . . . . . . . . . . . . . . . . . . . 4349.4.10 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
9.5 QCD Coupling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4439.5.1 Coupling: Abstract Data Type . . . . . . . . . . . . . . . 4439.5.2 Fixed Coupling . . . . . . . . . . . . . . . . . . . . . . . . 4449.5.3 Running Coupling . . . . . . . . . . . . . . . . . . . . . . 4459.5.4 Running Coupling, determined by ΛQCD . . . . . . . . . . 4469.5.5 QCD Wrapper type . . . . . . . . . . . . . . . . . . . . . 4479.5.6 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
9.6 QED Coupling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4539.6.1 QED type . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
9.7 Shower algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . 4559.7.1 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
10 QED Parton Distribution Functions 45810.1 Electron PDFs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
10.1.1 The physics for electron beam structure functions . . . . 45910.1.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . 461
11 Quantum Field Theory Concepts 46411.1 Model Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
11.1.1 Physics Parameters . . . . . . . . . . . . . . . . . . . . . . 46611.1.2 Field Data . . . . . . . . . . . . . . . . . . . . . . . . . . 47011.1.3 Vertex data . . . . . . . . . . . . . . . . . . . . . . . . . . 48611.1.4 Vertex lookup table . . . . . . . . . . . . . . . . . . . . . 48911.1.5 Model Data Record . . . . . . . . . . . . . . . . . . . . . 49311.1.6 Toy Models . . . . . . . . . . . . . . . . . . . . . . . . . . 509
11.2 Model Testbed . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51511.2.1 Abstract Model Handlers . . . . . . . . . . . . . . . . . . 515
11.3 Helicities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51711.3.1 Helicity types . . . . . . . . . . . . . . . . . . . . . . . . . 51711.3.2 Predicates . . . . . . . . . . . . . . . . . . . . . . . . . . . 52011.3.3 Accessing contents . . . . . . . . . . . . . . . . . . . . . . 52111.3.4 Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . 52111.3.5 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
11.4 Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52411.4.1 The color type . . . . . . . . . . . . . . . . . . . . . . . . 52411.4.2 Predicates . . . . . . . . . . . . . . . . . . . . . . . . . . . 53011.4.3 Accessing contents . . . . . . . . . . . . . . . . . . . . . . 532
6
11.4.4 Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . 53311.4.5 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53511.4.6 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 54611.4.7 The Madgraph color model . . . . . . . . . . . . . . . . . 551
11.5 Flavors: Particle properties . . . . . . . . . . . . . . . . . . . . . 55411.5.1 The flavor type . . . . . . . . . . . . . . . . . . . . . . . . 554
11.6 Quantum numbers . . . . . . . . . . . . . . . . . . . . . . . . . . 57111.6.1 The quantum number type . . . . . . . . . . . . . . . . . 57111.6.2 I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57411.6.3 Accessing contents . . . . . . . . . . . . . . . . . . . . . . 57611.6.4 Predicates . . . . . . . . . . . . . . . . . . . . . . . . . . . 57811.6.5 Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . 57911.6.6 Operations . . . . . . . . . . . . . . . . . . . . . . . . . . 58211.6.7 The quantum number mask . . . . . . . . . . . . . . . . . 58611.6.8 Setting mask components . . . . . . . . . . . . . . . . . . 58811.6.9 Mask predicates . . . . . . . . . . . . . . . . . . . . . . . 58911.6.10 Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . 59011.6.11 Mask comparisons . . . . . . . . . . . . . . . . . . . . . . 59011.6.12 Apply a mask . . . . . . . . . . . . . . . . . . . . . . . . . 590
12 Transition Matrices and Evaluation 59312.1 State matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
12.1.1 Nodes of the quantum state trie . . . . . . . . . . . . . . 59412.1.2 State matrix . . . . . . . . . . . . . . . . . . . . . . . . . 59912.1.3 State iterators . . . . . . . . . . . . . . . . . . . . . . . . 61612.1.4 Operations on quantum states . . . . . . . . . . . . . . . 62312.1.5 Factorization . . . . . . . . . . . . . . . . . . . . . . . . . 63012.1.6 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
12.2 Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65012.2.1 External interaction links . . . . . . . . . . . . . . . . . . 65812.2.2 Internal relations . . . . . . . . . . . . . . . . . . . . . . . 65912.2.3 The interaction type . . . . . . . . . . . . . . . . . . . . . 66112.2.4 Methods inherited from the state matrix member . . . . . 66912.2.5 Accessing contents . . . . . . . . . . . . . . . . . . . . . . 68012.2.6 Modifying contents . . . . . . . . . . . . . . . . . . . . . . 68512.2.7 Handling Linked interactions . . . . . . . . . . . . . . . . 68712.2.8 Recovering connections . . . . . . . . . . . . . . . . . . . 69312.2.9 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
12.3 Matrix element evaluation . . . . . . . . . . . . . . . . . . . . . . 69812.3.1 Array of pairings . . . . . . . . . . . . . . . . . . . . . . . 69912.3.2 The evaluator type . . . . . . . . . . . . . . . . . . . . . . 70012.3.3 Auxiliary structures for evaluator creation . . . . . . . . . 70312.3.4 Creating an evaluator: Matrix multiplication . . . . . . . 71112.3.5 Creating an evaluator: square . . . . . . . . . . . . . . . . 72112.3.6 Creating an evaluator: identity . . . . . . . . . . . . . . . 73812.3.7 Creating an evaluator: quantum number sum . . . . . . . 73912.3.8 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 74112.3.9 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
7
13 Sindarin Built-In Types 75313.1 Particle Specifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
13.1.1 Base type . . . . . . . . . . . . . . . . . . . . . . . . . . . 75513.1.2 Wrapper type . . . . . . . . . . . . . . . . . . . . . . . . . 75613.1.3 The atomic type . . . . . . . . . . . . . . . . . . . . . . . 75813.1.4 List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76313.1.5 Sum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76613.1.6 Expression Expansion . . . . . . . . . . . . . . . . . . . . 76813.1.7 Unit Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
13.2 PDG arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77413.2.1 Type definition . . . . . . . . . . . . . . . . . . . . . . . . 77513.2.2 Basic operations . . . . . . . . . . . . . . . . . . . . . . . 77613.2.3 Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . 77913.2.4 Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78613.2.5 PDG array list . . . . . . . . . . . . . . . . . . . . . . . . 78713.2.6 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
13.3 Jets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80513.3.1 Re-exported symbols . . . . . . . . . . . . . . . . . . . . . 80513.3.2 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
13.4 Subevents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80913.4.1 Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80913.4.2 subevents . . . . . . . . . . . . . . . . . . . . . . . . . . . 82113.4.3 Eliminate numerical noise . . . . . . . . . . . . . . . . . . 836
13.5 Analysis tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83813.5.1 Output formats . . . . . . . . . . . . . . . . . . . . . . . . 83813.5.2 Graph options . . . . . . . . . . . . . . . . . . . . . . . . 83913.5.3 Drawing options . . . . . . . . . . . . . . . . . . . . . . . 84413.5.4 Observables . . . . . . . . . . . . . . . . . . . . . . . . . . 84813.5.5 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85213.5.6 Histograms . . . . . . . . . . . . . . . . . . . . . . . . . . 85413.5.7 Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86413.5.8 Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87013.5.9 Analysis objects . . . . . . . . . . . . . . . . . . . . . . . 87613.5.10 Analysis object iterator . . . . . . . . . . . . . . . . . . . 88213.5.11 Analysis store . . . . . . . . . . . . . . . . . . . . . . . . . 88513.5.12 LATEX driver file . . . . . . . . . . . . . . . . . . . . . . . 88813.5.13 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88913.5.14 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 898
14 Matrix Element Handling 90214.1 Process data block . . . . . . . . . . . . . . . . . . . . . . . . . . 90514.2 Process library interface . . . . . . . . . . . . . . . . . . . . . . . 911
14.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 91114.2.2 Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . 91214.2.3 The module . . . . . . . . . . . . . . . . . . . . . . . . . . 91214.2.4 Writers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91314.2.5 Process records in the library driver . . . . . . . . . . . . 91714.2.6 The process library driver object . . . . . . . . . . . . . . 92014.2.7 Write makefile . . . . . . . . . . . . . . . . . . . . . . . . 92414.2.8 Write driver file . . . . . . . . . . . . . . . . . . . . . . . . 927
8
14.2.9 Interface bodies for informational functions . . . . . . . . 93114.2.10 Interfaces for C-library matrix element . . . . . . . . . . . 94614.2.11 Retrieving the tables . . . . . . . . . . . . . . . . . . . . . 94714.2.12 Returning a procedure pointer . . . . . . . . . . . . . . . 94914.2.13 Hooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95114.2.14 Make source, compile, link . . . . . . . . . . . . . . . . . . 95114.2.15 Clean up generated files . . . . . . . . . . . . . . . . . . . 95414.2.16 Further Tools . . . . . . . . . . . . . . . . . . . . . . . . . 95614.2.17 Load the library . . . . . . . . . . . . . . . . . . . . . . . 95614.2.18 MD5 sums . . . . . . . . . . . . . . . . . . . . . . . . . . 96014.2.19 Unit Test . . . . . . . . . . . . . . . . . . . . . . . . . . . 962
14.3 Abstract process core configuration . . . . . . . . . . . . . . . . . 99214.3.1 Process core definition type . . . . . . . . . . . . . . . . . 99214.3.2 Process core template . . . . . . . . . . . . . . . . . . . . 99514.3.3 Process driver . . . . . . . . . . . . . . . . . . . . . . . . . 99614.3.4 Process driver for intrinsic process . . . . . . . . . . . . . 996
14.4 Process library access . . . . . . . . . . . . . . . . . . . . . . . . 99714.4.1 Auxiliary stuff . . . . . . . . . . . . . . . . . . . . . . . . 99814.4.2 Process definition objects . . . . . . . . . . . . . . . . . . 99814.4.3 Process library . . . . . . . . . . . . . . . . . . . . . . . . 102614.4.4 Use the library . . . . . . . . . . . . . . . . . . . . . . . . 104214.4.5 Collect model-specific libraries . . . . . . . . . . . . . . . 104514.4.6 Unit Test . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047
14.5 Process Library Stacks . . . . . . . . . . . . . . . . . . . . . . . . 107014.5.1 The stack entry type . . . . . . . . . . . . . . . . . . . . . 107114.5.2 The prclib stack type . . . . . . . . . . . . . . . . . . . . 107114.5.3 Operating on Stacks . . . . . . . . . . . . . . . . . . . . . 107214.5.4 Accessing Contents . . . . . . . . . . . . . . . . . . . . . . 107214.5.5 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074
14.6 Trivial matrix element for tests . . . . . . . . . . . . . . . . . . . 107614.6.1 Process definition . . . . . . . . . . . . . . . . . . . . . . . 107714.6.2 Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107914.6.3 Shortcut . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108014.6.4 Unit Test . . . . . . . . . . . . . . . . . . . . . . . . . . . 1082
15 Particles 109115.1 su(N) Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1093
15.1.1 su(N) fundamental representation . . . . . . . . . . . . . 109315.1.2 Mapping between helicity and matrix index . . . . . . . . 109415.1.3 Generator Basis: Cartan Generators . . . . . . . . . . . . 109515.1.4 Roots (Off-Diagonal Generators) . . . . . . . . . . . . . . 109915.1.5 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1101
15.2 Bloch Representation . . . . . . . . . . . . . . . . . . . . . . . . . 110915.2.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . 111015.2.2 The basic polarization type . . . . . . . . . . . . . . . . . 111115.2.3 Direct Access . . . . . . . . . . . . . . . . . . . . . . . . . 111115.2.4 Raw I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . 111215.2.5 Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 111315.2.6 Diagonal density matrix . . . . . . . . . . . . . . . . . . . 111515.2.7 Massless density matrix . . . . . . . . . . . . . . . . . . . 1116
9
15.2.8 Arbitrary density matrix . . . . . . . . . . . . . . . . . . . 111715.2.9 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1119
15.3 Polarization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113315.3.1 The polarization type . . . . . . . . . . . . . . . . . . . . 113415.3.2 Basic initializer and finalizer . . . . . . . . . . . . . . . . 113415.3.3 I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113615.3.4 Accessing contents . . . . . . . . . . . . . . . . . . . . . . 113715.3.5 Mapping between polarization and state matrix . . . . . . 113815.3.6 Specific initializers . . . . . . . . . . . . . . . . . . . . . . 114015.3.7 Operations . . . . . . . . . . . . . . . . . . . . . . . . . . 114315.3.8 Polarization Iterator . . . . . . . . . . . . . . . . . . . . . 114415.3.9 Sparse Matrix . . . . . . . . . . . . . . . . . . . . . . . . . 114815.3.10 Polarization Matrix . . . . . . . . . . . . . . . . . . . . . 115015.3.11 Data Transformation . . . . . . . . . . . . . . . . . . . . . 115415.3.12 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155
15.4 Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116515.4.1 The particle type . . . . . . . . . . . . . . . . . . . . . . . 116515.4.2 Particle sets . . . . . . . . . . . . . . . . . . . . . . . . . . 118215.4.3 Manual build . . . . . . . . . . . . . . . . . . . . . . . . . 118615.4.4 Extract/modify contents . . . . . . . . . . . . . . . . . . . 119015.4.5 I/O formats . . . . . . . . . . . . . . . . . . . . . . . . . . 120115.4.6 Expression interface . . . . . . . . . . . . . . . . . . . . . 122315.4.7 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1226
16 Beams 124816.1 Beam structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1250
16.1.1 Beam structure elements . . . . . . . . . . . . . . . . . . . 125016.1.2 Beam structure type . . . . . . . . . . . . . . . . . . . . . 125116.1.3 Polarization . . . . . . . . . . . . . . . . . . . . . . . . . . 125616.1.4 Beam momenta . . . . . . . . . . . . . . . . . . . . . . . . 125716.1.5 Get contents . . . . . . . . . . . . . . . . . . . . . . . . . 125816.1.6 Unit Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263
16.2 Beams for collisions and decays . . . . . . . . . . . . . . . . . . . 127016.2.1 Beam data . . . . . . . . . . . . . . . . . . . . . . . . . . 127016.2.2 Initializers: beam structure . . . . . . . . . . . . . . . . . 127616.2.3 Initializers: collisions . . . . . . . . . . . . . . . . . . . . . 127716.2.4 Initializers: decays . . . . . . . . . . . . . . . . . . . . . . 127916.2.5 The beams type . . . . . . . . . . . . . . . . . . . . . . . 128016.2.6 Inherited procedures . . . . . . . . . . . . . . . . . . . . . 128216.2.7 Accessing contents . . . . . . . . . . . . . . . . . . . . . . 128216.2.8 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283
16.3 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129416.3.1 Momentum splitting . . . . . . . . . . . . . . . . . . . . . 129416.3.2 Constant data . . . . . . . . . . . . . . . . . . . . . . . . 129616.3.3 Sampling recoil . . . . . . . . . . . . . . . . . . . . . . . . 129816.3.4 Splitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130016.3.5 Recovering the splitting . . . . . . . . . . . . . . . . . . . 130216.3.6 Extract data . . . . . . . . . . . . . . . . . . . . . . . . . 130316.3.7 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1304
16.4 Mappings for structure functions . . . . . . . . . . . . . . . . . . 1325
10
16.4.1 Base type . . . . . . . . . . . . . . . . . . . . . . . . . . . 132616.4.2 Methods for self-tests . . . . . . . . . . . . . . . . . . . . 132816.4.3 Implementation: standard mapping . . . . . . . . . . . . 133016.4.4 Implementation: resonance pair mapping . . . . . . . . . 133216.4.5 Implementation: resonance single mapping . . . . . . . . 133416.4.6 Implementation: on-shell mapping . . . . . . . . . . . . . 133516.4.7 Implementation: on-shell single mapping . . . . . . . . . . 133716.4.8 Implementation: endpoint mapping . . . . . . . . . . . . 133916.4.9 Implementation: endpoint mapping with resonance . . . . 134116.4.10 Implementation: endpoint mapping for on-shell particle . 134316.4.11 Implementation: ISR endpoint mapping . . . . . . . . . . 134516.4.12 Implementation: ISR endpoint mapping, resonant . . . . 134716.4.13 Implementation: ISR on-shell mapping . . . . . . . . . . . 135016.4.14 Implementation: Endpoint + ISR power mapping . . . . 135216.4.15 Implementation: Endpoint + ISR + resonance . . . . . . 135416.4.16 Implementation: Endpoint + ISR power mapping, on-shell 135716.4.17 Basic formulas . . . . . . . . . . . . . . . . . . . . . . . . 135916.4.18 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1378
16.5 Structure function base . . . . . . . . . . . . . . . . . . . . . . . 140116.5.1 Abstract rescale data-type . . . . . . . . . . . . . . . . . . 140216.5.2 Abstract structure-function data type . . . . . . . . . . . 140516.5.3 Structure-function chain configuration . . . . . . . . . . . 140716.5.4 Structure-function instance . . . . . . . . . . . . . . . . . 140816.5.5 Accessing the structure function . . . . . . . . . . . . . . 142116.5.6 Direct calculations . . . . . . . . . . . . . . . . . . . . . . 142316.5.7 Structure-function instance . . . . . . . . . . . . . . . . . 142416.5.8 Structure-function chain . . . . . . . . . . . . . . . . . . . 142416.5.9 Chain instances . . . . . . . . . . . . . . . . . . . . . . . . 142916.5.10 Access to the chain instance . . . . . . . . . . . . . . . . . 144516.5.11 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 144816.5.12 Test implementation: structure function . . . . . . . . . . 144916.5.13 Test implementation: pair spectrum . . . . . . . . . . . . 145516.5.14 Test implementation: generator spectrum . . . . . . . . . 1460
16.6 Photon radiation: ISR . . . . . . . . . . . . . . . . . . . . . . . . 150616.6.1 Physics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150716.6.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . 150816.6.3 The ISR data block . . . . . . . . . . . . . . . . . . . . . 150816.6.4 The ISR object . . . . . . . . . . . . . . . . . . . . . . . . 151316.6.5 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . 151416.6.6 ISR application . . . . . . . . . . . . . . . . . . . . . . . . 151716.6.7 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1518
16.7 EPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153216.7.1 Physics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153216.7.2 The EPA data block . . . . . . . . . . . . . . . . . . . . . 153416.7.3 The EPA object . . . . . . . . . . . . . . . . . . . . . . . 153816.7.4 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . 154016.7.5 EPA application . . . . . . . . . . . . . . . . . . . . . . . 154316.7.6 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1545
16.8 EWA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155716.8.1 Physics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1557
11
16.8.2 The EWA data block . . . . . . . . . . . . . . . . . . . . . 155916.8.3 The EWA object . . . . . . . . . . . . . . . . . . . . . . . 156416.8.4 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . 156816.8.5 EWA application . . . . . . . . . . . . . . . . . . . . . . . 157116.8.6 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1572
16.9 Energy-scan spectrum . . . . . . . . . . . . . . . . . . . . . . . . 158516.9.1 Data type . . . . . . . . . . . . . . . . . . . . . . . . . . . 158616.9.2 The Energy-scan object . . . . . . . . . . . . . . . . . . . 158816.9.3 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . 159016.9.4 Energy scan application . . . . . . . . . . . . . . . . . . . 159116.9.5 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1592
16.10Gaussian beam spread . . . . . . . . . . . . . . . . . . . . . . . . 159616.10.1 The beam-data file registry . . . . . . . . . . . . . . . . . 159716.10.2 Data type . . . . . . . . . . . . . . . . . . . . . . . . . . . 159716.10.3 The gaussian object . . . . . . . . . . . . . . . . . . . . . 159916.10.4 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . 160116.10.5 gaussian application . . . . . . . . . . . . . . . . . . . . . 160316.10.6 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1603
16.11Using beam event data . . . . . . . . . . . . . . . . . . . . . . . . 160816.11.1 The beam-data file registry . . . . . . . . . . . . . . . . . 160816.11.2 Data type . . . . . . . . . . . . . . . . . . . . . . . . . . . 160916.11.3 The beam events object . . . . . . . . . . . . . . . . . . . 161216.11.4 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . 161416.11.5 Beam events application . . . . . . . . . . . . . . . . . . . 161616.11.6 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1616
16.12Lepton collider beamstrahlung: CIRCE1 . . . . . . . . . . . . . . 162316.12.1 Physics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162316.12.2 The CIRCE1 data block . . . . . . . . . . . . . . . . . . . 162416.12.3 Random Number Generator for CIRCE . . . . . . . . . . 162816.12.4 The CIRCE1 object . . . . . . . . . . . . . . . . . . . . . 162816.12.5 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . 163316.12.6 CIRCE1 application . . . . . . . . . . . . . . . . . . . . . 163516.12.7 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1636
16.13Lepton Collider Beamstrahlung and Photon collider: CIRCE2 . . 164416.13.1 Physics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164416.13.2 The CIRCE2 data block . . . . . . . . . . . . . . . . . . . 164416.13.3 Random Number Generator for CIRCE . . . . . . . . . . 164916.13.4 The CIRCE2 object . . . . . . . . . . . . . . . . . . . . . 164916.13.5 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . 165216.13.6 CIRCE2 application . . . . . . . . . . . . . . . . . . . . . 165416.13.7 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1655
16.14HOPPET interface . . . . . . . . . . . . . . . . . . . . . . . . . . 166316.15Builtin PDF sets . . . . . . . . . . . . . . . . . . . . . . . . . . . 1664
16.15.1 The module . . . . . . . . . . . . . . . . . . . . . . . . . . 166416.15.2 Codes for default PDF sets . . . . . . . . . . . . . . . . . 166416.15.3 The PDF builtin data block . . . . . . . . . . . . . . . . . 166516.15.4 The PDF object . . . . . . . . . . . . . . . . . . . . . . . 166816.15.5 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . 167016.15.6 Structure function . . . . . . . . . . . . . . . . . . . . . . 167216.15.7 Strong Coupling . . . . . . . . . . . . . . . . . . . . . . . 1673
12
16.15.8 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 167416.16LHAPDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1681
16.16.1 The module . . . . . . . . . . . . . . . . . . . . . . . . . . 168116.16.2 Codes for default PDF sets . . . . . . . . . . . . . . . . . 168216.16.3 LHAPDF library interface . . . . . . . . . . . . . . . . . . 168216.16.4 The LHAPDF status . . . . . . . . . . . . . . . . . . . . . 168416.16.5 LHAPDF initialization . . . . . . . . . . . . . . . . . . . . 168516.16.6 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . 168616.16.7 The LHAPDF data block . . . . . . . . . . . . . . . . . . 168816.16.8 The LHAPDF object . . . . . . . . . . . . . . . . . . . . . 169316.16.9 Structure function . . . . . . . . . . . . . . . . . . . . . . 169516.16.10Strong Coupling . . . . . . . . . . . . . . . . . . . . . . . 169716.16.11Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1699
16.17Easy PDF Access . . . . . . . . . . . . . . . . . . . . . . . . . . . 170516.18Dispatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1708
16.18.1 QCD coupling . . . . . . . . . . . . . . . . . . . . . . . . 1717
17 Interface for Matrix Element Objects 172017.1 Abstract process core . . . . . . . . . . . . . . . . . . . . . . . . . 1721
17.1.1 The process core . . . . . . . . . . . . . . . . . . . . . . . 172217.1.2 Storage for intermediate results . . . . . . . . . . . . . . . 172717.1.3 Helicity selection data . . . . . . . . . . . . . . . . . . . . 1728
17.2 Test process type . . . . . . . . . . . . . . . . . . . . . . . . . . . 172917.3 Template matrix elements . . . . . . . . . . . . . . . . . . . . . . 1732
17.3.1 Process definition . . . . . . . . . . . . . . . . . . . . . . . 173317.3.2 The Template Matrix element writer . . . . . . . . . . . . 173617.3.3 Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174917.3.4 High-level process definition . . . . . . . . . . . . . . . . . 175017.3.5 The prc template me t wrapper . . . . . . . . . . . . . . 175017.3.6 Unit Test . . . . . . . . . . . . . . . . . . . . . . . . . . . 1755
17.4 O’MEGA Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 176317.4.1 Process definition . . . . . . . . . . . . . . . . . . . . . . . 176417.4.2 The O’MEGA writer . . . . . . . . . . . . . . . . . . . . . . 176817.4.3 Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178017.4.4 High-level process definition . . . . . . . . . . . . . . . . . 178117.4.5 The prc omega t wrapper . . . . . . . . . . . . . . . . . . 178217.4.6 Unit Test . . . . . . . . . . . . . . . . . . . . . . . . . . . 1789
17.5 External matrix elements (squared) . . . . . . . . . . . . . . . . . 181217.5.1 Handling of structure functions . . . . . . . . . . . . . . . 181317.5.2 Abstract interface to external matrix elements . . . . . . 181517.5.3 external test . . . . . . . . . . . . . . . . . . . . . . . . . 183017.5.4 Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . 1834
18 Generic Event Handling 184818.1 Generic Event Handling . . . . . . . . . . . . . . . . . . . . . . . 1849
18.1.1 generic event type . . . . . . . . . . . . . . . . . . . . . . 185018.1.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . 185018.1.3 Access particle set . . . . . . . . . . . . . . . . . . . . . . 185118.1.4 Access sqme and weight . . . . . . . . . . . . . . . . . . . 185218.1.5 Pure Virtual Methods . . . . . . . . . . . . . . . . . . . . 1857
13
18.1.6 Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186118.1.7 Event normalization . . . . . . . . . . . . . . . . . . . . . 186218.1.8 Callback container . . . . . . . . . . . . . . . . . . . . . . 1863
18.2 Event Handle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186518.3 Event Sample Data . . . . . . . . . . . . . . . . . . . . . . . . . . 1865
18.3.1 Event Sample Data . . . . . . . . . . . . . . . . . . . . . . 186618.3.2 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1868
18.4 Abstract I/O Handler . . . . . . . . . . . . . . . . . . . . . . . . 187218.4.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187318.4.2 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1878
18.5 Direct Event Access . . . . . . . . . . . . . . . . . . . . . . . . . 188518.5.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188618.5.2 Common Methods . . . . . . . . . . . . . . . . . . . . . . 188618.5.3 Retrieve individual contents . . . . . . . . . . . . . . . . . 188918.5.4 Manual access . . . . . . . . . . . . . . . . . . . . . . . . 189018.5.5 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1892
18.6 Event Generation Checkpoints . . . . . . . . . . . . . . . . . . . 189618.6.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189718.6.2 Specific Methods . . . . . . . . . . . . . . . . . . . . . . . 189718.6.3 Common Methods . . . . . . . . . . . . . . . . . . . . . . 189718.6.4 Message header . . . . . . . . . . . . . . . . . . . . . . . . 190118.6.5 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1901
18.7 Event Generation Callback . . . . . . . . . . . . . . . . . . . . . 190418.7.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190418.7.2 Specific Methods . . . . . . . . . . . . . . . . . . . . . . . 190518.7.3 Common Methods . . . . . . . . . . . . . . . . . . . . . . 1905
18.8 Event Weight Output . . . . . . . . . . . . . . . . . . . . . . . . 190718.8.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190818.8.2 Specific Methods . . . . . . . . . . . . . . . . . . . . . . . 190818.8.3 Common Methods . . . . . . . . . . . . . . . . . . . . . . 190818.8.4 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1912
18.9 Event Dump Output . . . . . . . . . . . . . . . . . . . . . . . . . 191718.9.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191818.9.2 Specific Methods . . . . . . . . . . . . . . . . . . . . . . . 191818.9.3 Common Methods . . . . . . . . . . . . . . . . . . . . . . 191818.9.4 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1923
18.10ASCII File Formats . . . . . . . . . . . . . . . . . . . . . . . . . 192618.10.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192618.10.2 Specific Methods . . . . . . . . . . . . . . . . . . . . . . . 192818.10.3 Common Methods . . . . . . . . . . . . . . . . . . . . . . 192918.10.4 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 1935
18.11HEP Common Blocks . . . . . . . . . . . . . . . . . . . . . . . . 195618.11.1 Event characteristics . . . . . . . . . . . . . . . . . . . . . 195718.11.2 Particle characteristics . . . . . . . . . . . . . . . . . . . . 195818.11.3 The HEPRUP common block . . . . . . . . . . . . . . . . 195818.11.4 Run parameter output (verbose) . . . . . . . . . . . . . . 196618.11.5 Run parameter output (other formats) . . . . . . . . . . . 196718.11.6 The HEPEUP common block . . . . . . . . . . . . . . . . 196818.11.7 The HEPEVT and HEPEV4 common block . . . . . . . . 197218.11.8 Event output . . . . . . . . . . . . . . . . . . . . . . . . . 1977
14
18.11.9 Event output in various formats . . . . . . . . . . . . . . 197918.11.10Event input in various formats . . . . . . . . . . . . . . . 198218.11.11Data Transfer: particle sets . . . . . . . . . . . . . . . . . 1982
18.12HepMC events . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198618.12.1 Interface check . . . . . . . . . . . . . . . . . . . . . . . . 198718.12.2 FourVector . . . . . . . . . . . . . . . . . . . . . . . . . . 198718.12.3 Polarization . . . . . . . . . . . . . . . . . . . . . . . . . . 199018.12.4 GenParticle . . . . . . . . . . . . . . . . . . . . . . . . . . 199318.12.5 GenVertex . . . . . . . . . . . . . . . . . . . . . . . . . . . 200118.12.6 Vertex-particle-in iterator . . . . . . . . . . . . . . . . . . 200518.12.7 Vertex-particle-out iterator . . . . . . . . . . . . . . . . . 200818.12.8 GenEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . 201018.12.9 Event-particle iterator . . . . . . . . . . . . . . . . . . . . 202018.12.10I/O streams . . . . . . . . . . . . . . . . . . . . . . . . . . 202318.12.11Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2026
18.13LCIO events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203018.13.1 Interface check . . . . . . . . . . . . . . . . . . . . . . . . 203118.13.2 LCIO Run Header . . . . . . . . . . . . . . . . . . . . . . 203118.13.3 LCIO Event and LC Collection . . . . . . . . . . . . . . . 203318.13.4 LCIO Particle . . . . . . . . . . . . . . . . . . . . . . . . . 204018.13.5 Polarization . . . . . . . . . . . . . . . . . . . . . . . . . . 204418.13.6 LCIO Writer type . . . . . . . . . . . . . . . . . . . . . . 205018.13.7 LCIO Reader type . . . . . . . . . . . . . . . . . . . . . . 205118.13.8 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2054
18.14HEP Common and Events . . . . . . . . . . . . . . . . . . . . . . 205818.14.1 Data Transfer: events . . . . . . . . . . . . . . . . . . . . 205918.14.2 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073
18.15LHEF Input/Output . . . . . . . . . . . . . . . . . . . . . . . . . 207818.15.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207918.15.2 Specific Methods . . . . . . . . . . . . . . . . . . . . . . . 207918.15.3 Common Methods . . . . . . . . . . . . . . . . . . . . . . 208018.15.4 Les Houches Event File: header/footer . . . . . . . . . . . 209118.15.5 Version-Specific Code: 1.0 . . . . . . . . . . . . . . . . . . 209218.15.6 Version-Specific Code: 2.0 . . . . . . . . . . . . . . . . . . 209318.15.7 Version-Specific Code: 3.0 . . . . . . . . . . . . . . . . . . 209618.15.8 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2100
18.16STDHEP File Formats . . . . . . . . . . . . . . . . . . . . . . . . 211418.16.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211518.16.2 Specific Methods . . . . . . . . . . . . . . . . . . . . . . . 211618.16.3 Common Methods . . . . . . . . . . . . . . . . . . . . . . 211618.16.4 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 212318.16.5 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2124
18.17HepMC Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213418.17.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213518.17.2 Specific Methods . . . . . . . . . . . . . . . . . . . . . . . 213518.17.3 Common Methods . . . . . . . . . . . . . . . . . . . . . . 213618.17.4 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2142
18.18LCIO Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215118.18.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215218.18.2 Specific Methods . . . . . . . . . . . . . . . . . . . . . . . 2152
15
18.18.3 Common Methods . . . . . . . . . . . . . . . . . . . . . . 215318.18.4 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2159
19 Phase Space 216519.1 Abstract phase-space module . . . . . . . . . . . . . . . . . . . . 2168
19.1.1 Phase-space channels . . . . . . . . . . . . . . . . . . . . . 216819.1.2 Property collection . . . . . . . . . . . . . . . . . . . . . . 217319.1.3 Kinematics configuration . . . . . . . . . . . . . . . . . . 217619.1.4 Extract data . . . . . . . . . . . . . . . . . . . . . . . . . 218119.1.5 Phase-space point instance . . . . . . . . . . . . . . . . . 218319.1.6 Auxiliary stuff . . . . . . . . . . . . . . . . . . . . . . . . 219319.1.7 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2193
19.2 Dummy phase space . . . . . . . . . . . . . . . . . . . . . . . . . 220819.2.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 220819.2.2 Kinematics implementation . . . . . . . . . . . . . . . . . 221019.2.3 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2211
19.3 Single-particle phase space . . . . . . . . . . . . . . . . . . . . . . 221419.3.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 221419.3.2 Kinematics implementation . . . . . . . . . . . . . . . . . 221619.3.3 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2220
19.4 Flat RAMBO phase space . . . . . . . . . . . . . . . . . . . . . . 222919.4.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 222919.4.2 Kinematics implementation . . . . . . . . . . . . . . . . . 223119.4.3 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2236
19.5 Resonance Handler . . . . . . . . . . . . . . . . . . . . . . . . . . 224519.5.1 Decay products (contributors) . . . . . . . . . . . . . . . 224519.5.2 Resonance info object . . . . . . . . . . . . . . . . . . . . 224619.5.3 Resonance history object . . . . . . . . . . . . . . . . . . 224919.5.4 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . 225519.5.5 OMega restriction strings . . . . . . . . . . . . . . . . . . 225719.5.6 Resonance history as tree . . . . . . . . . . . . . . . . . . 225719.5.7 Resonance history set . . . . . . . . . . . . . . . . . . . . 226219.5.8 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2267
19.6 Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228419.6.1 Default parameters . . . . . . . . . . . . . . . . . . . . . . 228419.6.2 The Mapping type . . . . . . . . . . . . . . . . . . . . . . 228619.6.3 Screen output . . . . . . . . . . . . . . . . . . . . . . . . . 228619.6.4 Define a mapping . . . . . . . . . . . . . . . . . . . . . . . 228719.6.5 Retrieve contents . . . . . . . . . . . . . . . . . . . . . . . 228919.6.6 Compare mappings . . . . . . . . . . . . . . . . . . . . . . 229119.6.7 Mappings of the invariant mass . . . . . . . . . . . . . . . 229119.6.8 Step mapping . . . . . . . . . . . . . . . . . . . . . . . . . 229719.6.9 Mappings of the polar angle . . . . . . . . . . . . . . . . . 2300
19.7 Phase-space trees . . . . . . . . . . . . . . . . . . . . . . . . . . . 230319.7.1 Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230419.7.2 The phase-space tree type . . . . . . . . . . . . . . . . . . 230619.7.3 PHS tree setup . . . . . . . . . . . . . . . . . . . . . . . . 231019.7.4 Phase-space evaluation . . . . . . . . . . . . . . . . . . . . 232219.7.5 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2332
19.8 The phase-space forest . . . . . . . . . . . . . . . . . . . . . . . . 2337
16
19.8.1 Phase-space setup parameters . . . . . . . . . . . . . . . . 233819.8.2 Equivalences . . . . . . . . . . . . . . . . . . . . . . . . . 234019.8.3 Groves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234219.8.4 The forest type . . . . . . . . . . . . . . . . . . . . . . . . 234419.8.5 Screen output . . . . . . . . . . . . . . . . . . . . . . . . . 234619.8.6 Accessing contents . . . . . . . . . . . . . . . . . . . . . . 234919.8.7 Read the phase space setup from file . . . . . . . . . . . . 235219.8.8 Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . 235819.8.9 Accessing the particle arrays . . . . . . . . . . . . . . . . 236019.8.10 Find equivalences among phase-space trees . . . . . . . . 236319.8.11 Interface for channel equivalences . . . . . . . . . . . . . . 236419.8.12 Phase-space evaluation . . . . . . . . . . . . . . . . . . . . 236519.8.13 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2368
19.9 Finding phase space parameterizations . . . . . . . . . . . . . . . 237319.9.1 The mapping modes . . . . . . . . . . . . . . . . . . . . . 237419.9.2 The cascade type . . . . . . . . . . . . . . . . . . . . . . . 237519.9.3 Creating new cascades . . . . . . . . . . . . . . . . . . . . 238219.9.4 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238319.9.5 Hash entries for cascades . . . . . . . . . . . . . . . . . . 238419.9.6 The cascade set . . . . . . . . . . . . . . . . . . . . . . . . 238719.9.7 Adding cascades . . . . . . . . . . . . . . . . . . . . . . . 239719.9.8 External particles . . . . . . . . . . . . . . . . . . . . . . . 240019.9.9 Cascade combination I: flavor assignment . . . . . . . . . 240219.9.10 Cascade combination II: kinematics setup and check . . . 240319.9.11 Cascade combination III: node connections and tree fusion 240919.9.12 Cascade set generation . . . . . . . . . . . . . . . . . . . . 241219.9.13 Groves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241519.9.14 Generate the phase space file . . . . . . . . . . . . . . . . 241619.9.15 Return the resonance histories for subtraction . . . . . . . 241819.9.16 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2420
19.10WOOD phase space . . . . . . . . . . . . . . . . . . . . . . . . . 242319.10.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 242419.10.2 Phase-space generation . . . . . . . . . . . . . . . . . . . 242719.10.3 Phase-space configuration . . . . . . . . . . . . . . . . . . 243119.10.4 Kinematics implementation . . . . . . . . . . . . . . . . . 243819.10.5 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 243919.10.6 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441
19.11The FKS phase space . . . . . . . . . . . . . . . . . . . . . . . . 245919.11.1 Creation of the real phase space - FSR . . . . . . . . . . . 248819.11.2 Creation of the real phase space - ISR . . . . . . . . . . . 250219.11.3 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2523
19.12Dispatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253919.12.1 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549
19.13A lexer for O’Mega’s phase-space output . . . . . . . . . . . . . . 255319.14An alternative cascades module . . . . . . . . . . . . . . . . . . . 2570
19.14.1 Particle properties . . . . . . . . . . . . . . . . . . . . . . 257219.14.2 The mapping modes . . . . . . . . . . . . . . . . . . . . . 257319.14.3 Grove properties . . . . . . . . . . . . . . . . . . . . . . . 257319.14.4 The tree type . . . . . . . . . . . . . . . . . . . . . . . . . 257319.14.5 Add entries to the tree . . . . . . . . . . . . . . . . . . . . 2575
17
19.14.6 Graph types . . . . . . . . . . . . . . . . . . . . . . . . . . 257719.14.7 The node types . . . . . . . . . . . . . . . . . . . . . . . . 257919.14.8 The grove list . . . . . . . . . . . . . . . . . . . . . . . . . 259019.14.9 The feyngraph set . . . . . . . . . . . . . . . . . . . . . . 259519.14.10Construct the feyngraph set . . . . . . . . . . . . . . . . . 259619.14.11Particle properties . . . . . . . . . . . . . . . . . . . . . . 260019.14.12Reconstruction of trees . . . . . . . . . . . . . . . . . . . 260819.14.13Mapping calculations . . . . . . . . . . . . . . . . . . . . . 263319.14.14Fill the grove list . . . . . . . . . . . . . . . . . . . . . . . 264519.14.15Remove equivalent channels . . . . . . . . . . . . . . . . . 264919.14.16Write the phase-space file . . . . . . . . . . . . . . . . . . 265219.14.17Invert a graph . . . . . . . . . . . . . . . . . . . . . . . . 265519.14.18Find phase-space parametrizations . . . . . . . . . . . . . 265819.14.19Return the resonance histories for subtraction . . . . . . . 2670
20 VEGAS Integration 267620.1 Integration modes . . . . . . . . . . . . . . . . . . . . . . . . . . 267720.2 Type: vegas func t . . . . . . . . . . . . . . . . . . . . . . . . . . 267720.3 Type: vegas config t . . . . . . . . . . . . . . . . . . . . . . . . . 267720.4 Type: vegas grid t . . . . . . . . . . . . . . . . . . . . . . . . . . 267920.5 Type: vegas result t . . . . . . . . . . . . . . . . . . . . . . . . . 268420.6 Type: vegas t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268720.7 Get-/Set-methods . . . . . . . . . . . . . . . . . . . . . . . . . . 268920.8 Grid resize- and refinement . . . . . . . . . . . . . . . . . . . . . 269520.9 Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269820.10I/0 operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270720.11Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271320.12VAMP2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2726
20.12.1 Type: vamp2 func t . . . . . . . . . . . . . . . . . . . . . 272620.12.2 Type: vamp2 config t . . . . . . . . . . . . . . . . . . . . 272920.12.3 Type: vamp2 result t . . . . . . . . . . . . . . . . . . . . 273120.12.4 Type: vamp2 equivalences t . . . . . . . . . . . . . . . . . 273120.12.5 Type: vamp2 t . . . . . . . . . . . . . . . . . . . . . . . . 2736
20.13Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2755
21 Multi-Channel Integration 276821.1 Generic Integrator . . . . . . . . . . . . . . . . . . . . . . . . . . 2769
21.1.1 MCI: integrator . . . . . . . . . . . . . . . . . . . . . . . . 276921.1.2 MCI instance . . . . . . . . . . . . . . . . . . . . . . . . . 277921.1.3 MCI state . . . . . . . . . . . . . . . . . . . . . . . . . . . 278421.1.4 MCI sampler . . . . . . . . . . . . . . . . . . . . . . . . . 278621.1.5 Results record . . . . . . . . . . . . . . . . . . . . . . . . 278821.1.6 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2789
21.2 Iterations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281421.2.1 The iterations list . . . . . . . . . . . . . . . . . . . . . . 281521.2.2 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281721.2.3 Iteration Multipliers . . . . . . . . . . . . . . . . . . . . . 281921.2.4 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2819
21.3 Integration results . . . . . . . . . . . . . . . . . . . . . . . . . . 282121.3.1 Integration results entry . . . . . . . . . . . . . . . . . . . 2822
18
21.3.2 Combined integration results . . . . . . . . . . . . . . . . 282821.3.3 Access results . . . . . . . . . . . . . . . . . . . . . . . . . 283921.3.4 Results display . . . . . . . . . . . . . . . . . . . . . . . . 284421.3.5 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2849
21.4 Dummy integrator . . . . . . . . . . . . . . . . . . . . . . . . . . 285421.4.1 Integrator . . . . . . . . . . . . . . . . . . . . . . . . . . . 285421.4.2 Integrator instance . . . . . . . . . . . . . . . . . . . . . . 285721.4.3 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2860
21.5 Simple midpoint integration . . . . . . . . . . . . . . . . . . . . . 286321.5.1 Integrator . . . . . . . . . . . . . . . . . . . . . . . . . . . 286321.5.2 Integrator instance . . . . . . . . . . . . . . . . . . . . . . 287021.5.3 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2874
21.6 VAMP interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289121.6.1 Grid parameters . . . . . . . . . . . . . . . . . . . . . . . 289221.6.2 History parameters . . . . . . . . . . . . . . . . . . . . . . 289321.6.3 Integration pass . . . . . . . . . . . . . . . . . . . . . . . 289321.6.4 Integrator . . . . . . . . . . . . . . . . . . . . . . . . . . . 290021.6.5 Sampler as Workspace . . . . . . . . . . . . . . . . . . . . 292221.6.6 Integrator instance . . . . . . . . . . . . . . . . . . . . . . 292221.6.7 Sampling function . . . . . . . . . . . . . . . . . . . . . . 293221.6.8 Integrator instance: evaluation . . . . . . . . . . . . . . . 293321.6.9 VAMP exceptions . . . . . . . . . . . . . . . . . . . . . . 293521.6.10 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 2936
21.7 Multi-channel integration with VAMP2 . . . . . . . . . . . . . . 297621.7.1 Type: mci vamp2 func t . . . . . . . . . . . . . . . . . . . 297721.7.2 Type: mci vamp2 config t . . . . . . . . . . . . . . . . . . 297921.7.3 Integration pass . . . . . . . . . . . . . . . . . . . . . . . 297921.7.4 Integrator . . . . . . . . . . . . . . . . . . . . . . . . . . . 298721.7.5 Event generation . . . . . . . . . . . . . . . . . . . . . . . 300421.7.6 Integrator instance . . . . . . . . . . . . . . . . . . . . . . 300621.7.7 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 3011
21.8 Dispatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302221.8.1 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 3026
22 Parton shower and interface to PYTHIA6 303022.1 Basics of the shower . . . . . . . . . . . . . . . . . . . . . . . . . 3030
22.1.1 Shower implementations . . . . . . . . . . . . . . . . . . . 303122.1.2 Shower settings . . . . . . . . . . . . . . . . . . . . . . . . 303222.1.3 Abstract Shower Type . . . . . . . . . . . . . . . . . . . . 303622.1.4 Additional parameters . . . . . . . . . . . . . . . . . . . . 303922.1.5 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 3042
22.2 Parton module for the shower . . . . . . . . . . . . . . . . . . . . 304422.2.1 The basic type defintions . . . . . . . . . . . . . . . . . . 304522.2.2 Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304622.2.3 The analytic FSR . . . . . . . . . . . . . . . . . . . . . . 3062
22.3 Main shower module . . . . . . . . . . . . . . . . . . . . . . . . . 306722.4 Interface to PYTHIA 6 . . . . . . . . . . . . . . . . . . . . . . . 314622.5 Interface to PYTHIA 8 . . . . . . . . . . . . . . . . . . . . . . . 3181
19
23 Multiple Interactions (MPI) Code 318623.1 The Multiple Interactions main module . . . . . . . . . . . . . . 3186
23.1.1 The main Multiple Interactions type . . . . . . . . . . . . 3186
24 BLHA Interface 319024.1 Module definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 319024.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3224
24.2.1 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 3248
25 GoSam Interface 325325.1 Gosam Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 3255
26 OpenLoops Interface 3269
27 FKS Subtraction Scheme 328427.1 Brief outline of FKS subtraction . . . . . . . . . . . . . . . . . . 328427.2 Identifying singular regions . . . . . . . . . . . . . . . . . . . . . 328727.3 FKS Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3289
27.3.1 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 337327.4 Virtual contribution to the cross section . . . . . . . . . . . . . . 338927.5 Real Subtraction . . . . . . . . . . . . . . . . . . . . . . . . . . . 3406
27.5.1 Soft mismatch . . . . . . . . . . . . . . . . . . . . . . . . 341427.5.2 Collinear and soft-collinear subtraction terms . . . . . . . 341727.5.3 Real Subtraction . . . . . . . . . . . . . . . . . . . . . . . 342227.5.4 The real contribution to the cross section . . . . . . . . . 342427.5.5 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 3448
27.6 Combining the FKS Pieces . . . . . . . . . . . . . . . . . . . . . 345227.6.1 Putting it together . . . . . . . . . . . . . . . . . . . . . . 3454
27.7 Contribution of divergencies due to PDF Evolution . . . . . . . . 345827.8 Dispatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3465
28 Model Handling and Features 346728.1 Automatic generation of process components . . . . . . . . . . . 3469
28.1.1 Constraints: Abstract types . . . . . . . . . . . . . . . . . 346928.1.2 Specific constraints . . . . . . . . . . . . . . . . . . . . . . 347228.1.3 Tables of states . . . . . . . . . . . . . . . . . . . . . . . . 348128.1.4 Top-level methods . . . . . . . . . . . . . . . . . . . . . . 348728.1.5 Splitting algorithm . . . . . . . . . . . . . . . . . . . . . . 348828.1.6 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349328.1.7 Access results . . . . . . . . . . . . . . . . . . . . . . . . . 349328.1.8 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 3495
28.2 Creating the real flavor structure . . . . . . . . . . . . . . . . . . 350328.2.1 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 3527
28.3 Sindarin Expression Implementation . . . . . . . . . . . . . . . . 353728.3.1 Tree nodes . . . . . . . . . . . . . . . . . . . . . . . . . . 353828.3.2 Operation types . . . . . . . . . . . . . . . . . . . . . . . 355428.3.3 Specific operators . . . . . . . . . . . . . . . . . . . . . . . 355928.3.4 Compiling the parse tree . . . . . . . . . . . . . . . . . . . 358928.3.5 Auxiliary functions for the compiler . . . . . . . . . . . . 364928.3.6 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 3650
20
28.3.7 Evaluation syntax . . . . . . . . . . . . . . . . . . . . . . 365728.3.8 Set up appropriate parse trees . . . . . . . . . . . . . . . 366728.3.9 The evaluation tree . . . . . . . . . . . . . . . . . . . . . . 366828.3.10 Direct evaluation . . . . . . . . . . . . . . . . . . . . . . . 367828.3.11 Factory Type . . . . . . . . . . . . . . . . . . . . . . . . . 368228.3.12 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 3683
28.4 Physics Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369028.4.1 Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369028.4.2 Physics Parameters . . . . . . . . . . . . . . . . . . . . . . 369128.4.3 SLHA block register . . . . . . . . . . . . . . . . . . . . . 369528.4.4 Model Object . . . . . . . . . . . . . . . . . . . . . . . . . 369528.4.5 Model Access via Variables . . . . . . . . . . . . . . . . . 370628.4.6 UFO models . . . . . . . . . . . . . . . . . . . . . . . . . 370728.4.7 Scheme handling . . . . . . . . . . . . . . . . . . . . . . . 370928.4.8 SLHA-type interface . . . . . . . . . . . . . . . . . . . . . 371228.4.9 Reading models from file . . . . . . . . . . . . . . . . . . 371528.4.10 Test models . . . . . . . . . . . . . . . . . . . . . . . . . . 373028.4.11 Model list . . . . . . . . . . . . . . . . . . . . . . . . . . . 373028.4.12 Model instances . . . . . . . . . . . . . . . . . . . . . . . 373528.4.13 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 3736
28.5 The SUSY Les Houches Accord . . . . . . . . . . . . . . . . . . . 375428.5.1 Preprocessor . . . . . . . . . . . . . . . . . . . . . . . . . 375428.5.2 Lexer and syntax . . . . . . . . . . . . . . . . . . . . . . . 375728.5.3 Interpreter . . . . . . . . . . . . . . . . . . . . . . . . . . 375928.5.4 Auxiliary function . . . . . . . . . . . . . . . . . . . . . . 376428.5.5 Parsing custom SLHA files . . . . . . . . . . . . . . . . . 377728.5.6 Parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377828.5.7 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377928.5.8 Dispatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378028.5.9 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 3781
29 Infrastructure for threshold processes 378529.0.1 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 3985
30 Integration and Process Objects 399230.1 Process observables . . . . . . . . . . . . . . . . . . . . . . . . . . 3994
30.1.1 Abstract base type . . . . . . . . . . . . . . . . . . . . . . 399530.1.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . 399630.1.3 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 399830.1.4 Implementation for partonic events . . . . . . . . . . . . . 399930.1.5 Implementation for full events . . . . . . . . . . . . . . . . 4006
30.2 Parton states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401330.2.1 Abstract base type . . . . . . . . . . . . . . . . . . . . . . 401430.2.2 Common Initialization . . . . . . . . . . . . . . . . . . . . 401730.2.3 Evaluator initialization: isolated state . . . . . . . . . . . 401830.2.4 Evaluator initialization: connected state . . . . . . . . . . 402130.2.5 Cuts and expressions . . . . . . . . . . . . . . . . . . . . . 402430.2.6 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 402630.2.7 Accessing the state . . . . . . . . . . . . . . . . . . . . . . 402930.2.8 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4030
21
30.3 Process component management . . . . . . . . . . . . . . . . . . 403430.3.1 Abstract base type . . . . . . . . . . . . . . . . . . . . . . 403430.3.2 Core management . . . . . . . . . . . . . . . . . . . . . . 403530.3.3 Process component manager . . . . . . . . . . . . . . . . 403630.3.4 Initialization methods . . . . . . . . . . . . . . . . . . . . 403830.3.5 Manager instance . . . . . . . . . . . . . . . . . . . . . . . 4044
30.4 The process object . . . . . . . . . . . . . . . . . . . . . . . . . . 404530.4.1 Process status . . . . . . . . . . . . . . . . . . . . . . . . 404630.4.2 Process status . . . . . . . . . . . . . . . . . . . . . . . . 404630.4.3 The process type . . . . . . . . . . . . . . . . . . . . . . . 404730.4.4 Process pointer . . . . . . . . . . . . . . . . . . . . . . . . 404830.4.5 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404830.4.6 Process component manager . . . . . . . . . . . . . . . . 405530.4.7 Core management . . . . . . . . . . . . . . . . . . . . . . 405630.4.8 Default iterations . . . . . . . . . . . . . . . . . . . . . . . 409030.4.9 Constant process data . . . . . . . . . . . . . . . . . . . . 409230.4.10 Compute an amplitude . . . . . . . . . . . . . . . . . . . 410030.4.11 NLO specifics . . . . . . . . . . . . . . . . . . . . . . . . . 4105
30.5 Process config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410930.5.1 Output selection flags . . . . . . . . . . . . . . . . . . . . 411030.5.2 Generic configuration data . . . . . . . . . . . . . . . . . 411130.5.3 Environment . . . . . . . . . . . . . . . . . . . . . . . . . 411530.5.4 Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . 412030.5.5 Phase-space configuration . . . . . . . . . . . . . . . . . . 412530.5.6 Beam configuration . . . . . . . . . . . . . . . . . . . . . . 412630.5.7 Process components . . . . . . . . . . . . . . . . . . . . . 413230.5.8 Process terms . . . . . . . . . . . . . . . . . . . . . . . . . 4137
30.6 Process call statistics . . . . . . . . . . . . . . . . . . . . . . . . . 414530.7 Multi-channel integration . . . . . . . . . . . . . . . . . . . . . . 4148
30.7.1 Process MCI entry . . . . . . . . . . . . . . . . . . . . . . 414830.7.2 MC parameter set and MCI instance . . . . . . . . . . . . 4158
30.8 Process component manager . . . . . . . . . . . . . . . . . . . . . 416130.8.1 Default process component manager . . . . . . . . . . . . 416230.8.2 Implementations for the default manager . . . . . . . . . 416430.8.3 NLO process component manager . . . . . . . . . . . . . 4168
30.9 Kinematics instance . . . . . . . . . . . . . . . . . . . . . . . . . 419430.10Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4204
30.10.1 Term instance . . . . . . . . . . . . . . . . . . . . . . . . . 420630.10.2 The process instance . . . . . . . . . . . . . . . . . . . . . 4245
30.11Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428930.12Process Stacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4329
30.12.1 The process entry type . . . . . . . . . . . . . . . . . . . . 433030.12.2 The process stack type . . . . . . . . . . . . . . . . . . . . 433030.12.3 Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433330.12.4 Push . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433330.12.5 Data Access . . . . . . . . . . . . . . . . . . . . . . . . . . 433530.12.6 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4336
22
31 Matching 434331.1 Abstract Matching Type . . . . . . . . . . . . . . . . . . . . . . . 4344
31.1.1 Matching implementations . . . . . . . . . . . . . . . . . . 434631.2 MLM Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434731.3 CKKW matching . . . . . . . . . . . . . . . . . . . . . . . . . . . 435731.4 POWHEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4367
31.4.1 Base types for settings and data . . . . . . . . . . . . . . 436831.4.2 Upper bounding functions and sudakovs . . . . . . . . . . 437531.4.3 Main POWHEG class . . . . . . . . . . . . . . . . . . . . 439231.4.4 αs and its reweighting . . . . . . . . . . . . . . . . . . . . 440331.4.5 POWHEG hook . . . . . . . . . . . . . . . . . . . . . . . 440731.4.6 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4409
32 Event Implementation 441432.1 Abstract Event Transforms . . . . . . . . . . . . . . . . . . . . . 4415
32.1.1 Abstract base type . . . . . . . . . . . . . . . . . . . . . . 441632.1.2 Implementation: Trivial transform . . . . . . . . . . . . . 442232.1.3 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4424
32.2 Hadronization interface . . . . . . . . . . . . . . . . . . . . . . . 442732.2.1 Hadronization implementations . . . . . . . . . . . . . . . 442832.2.2 Hadronization settings . . . . . . . . . . . . . . . . . . . . 442932.2.3 Abstract Hadronization Type . . . . . . . . . . . . . . . . 443032.2.4 WHIZARD Hadronization Type . . . . . . . . . . . . . . . . 443232.2.5 PYTHIA6 Hadronization Type . . . . . . . . . . . . . . . . 443532.2.6 PYTHIA8 Hadronization . . . . . . . . . . . . . . . . . . . 443732.2.7 Hadronization Event Transform . . . . . . . . . . . . . . . 4440
32.3 Resonance Insertion . . . . . . . . . . . . . . . . . . . . . . . . . 444332.3.1 Resonance-Insertion Event Transform . . . . . . . . . . . 444432.3.2 Set contained data . . . . . . . . . . . . . . . . . . . . . . 444632.3.3 Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444732.3.4 Runtime calculations . . . . . . . . . . . . . . . . . . . . . 444932.3.5 Sanity check . . . . . . . . . . . . . . . . . . . . . . . . . 445332.3.6 API implementation . . . . . . . . . . . . . . . . . . . . . 445332.3.7 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4456
32.4 Recoil kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . 447132.4.1 φ sampler . . . . . . . . . . . . . . . . . . . . . . . . . . . 447232.4.2 Q2 sampler . . . . . . . . . . . . . . . . . . . . . . . . . . 447232.4.3 Kinematics functions . . . . . . . . . . . . . . . . . . . . . 447332.4.4 Iterative solution of kinematics constraints . . . . . . . . 447532.4.5 Generate recoil event . . . . . . . . . . . . . . . . . . . . . 447932.4.6 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4480
32.5 Transverse momentum for the ISR and EPA approximations . . . 449432.5.1 Event transform type . . . . . . . . . . . . . . . . . . . . 449532.5.2 ISR/EPA distinction . . . . . . . . . . . . . . . . . . . . . 449632.5.3 Photon insertion modes . . . . . . . . . . . . . . . . . . . 449732.5.4 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449832.5.5 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . 450132.5.6 Fetch event data . . . . . . . . . . . . . . . . . . . . . . . 450332.5.7 Two-parton recoil . . . . . . . . . . . . . . . . . . . . . . 450632.5.8 Transform the event . . . . . . . . . . . . . . . . . . . . . 4508
23
32.5.9 Implemented methods . . . . . . . . . . . . . . . . . . . . 450832.5.10 Unit tests: ISR . . . . . . . . . . . . . . . . . . . . . . . . 451032.5.11 Unit tests: EPA . . . . . . . . . . . . . . . . . . . . . . . 4518
32.6 Decays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452432.6.1 Final-State Particle Configuration . . . . . . . . . . . . . 452532.6.2 Final-State Particle . . . . . . . . . . . . . . . . . . . . . 452632.6.3 Decay Term Configuration . . . . . . . . . . . . . . . . . . 452732.6.4 Decay Term . . . . . . . . . . . . . . . . . . . . . . . . . . 452932.6.5 Decay Root Configuration . . . . . . . . . . . . . . . . . . 453232.6.6 Decay Root Instance . . . . . . . . . . . . . . . . . . . . . 453632.6.7 Decay Configuration . . . . . . . . . . . . . . . . . . . . . 454132.6.8 Decay Instance . . . . . . . . . . . . . . . . . . . . . . . . 454432.6.9 Stable Particles . . . . . . . . . . . . . . . . . . . . . . . . 454632.6.10 Unstable Particles . . . . . . . . . . . . . . . . . . . . . . 454832.6.11 Decay Chain . . . . . . . . . . . . . . . . . . . . . . . . . 455432.6.12 Decay as Event Transform . . . . . . . . . . . . . . . . . . 455932.6.13 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4564
32.7 Tau decays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457732.7.1 Tau Decays Event Transform . . . . . . . . . . . . . . . . 4577
32.8 Shower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457932.8.1 Configuration Parameters . . . . . . . . . . . . . . . . . . 458032.8.2 Event Transform . . . . . . . . . . . . . . . . . . . . . . . 458032.8.3 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4586
32.9 Fixed Order NLO Events . . . . . . . . . . . . . . . . . . . . . . 459432.10Complete Events . . . . . . . . . . . . . . . . . . . . . . . . . . . 4609
32.10.1 Event configuration . . . . . . . . . . . . . . . . . . . . . 461032.10.2 The event type . . . . . . . . . . . . . . . . . . . . . . . . 461132.10.3 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . 461632.10.4 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 461932.10.5 Reset to empty state . . . . . . . . . . . . . . . . . . . . . 462332.10.6 Squared Matrix Element and Weight . . . . . . . . . . . . 462432.10.7 Generation . . . . . . . . . . . . . . . . . . . . . . . . . . 462632.10.8 Recovering an event . . . . . . . . . . . . . . . . . . . . . 462732.10.9 Access content . . . . . . . . . . . . . . . . . . . . . . . . 463032.10.10Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4634
32.11Raw Event I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464532.11.1 File Format Version . . . . . . . . . . . . . . . . . . . . . 464532.11.2 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464632.11.3 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4654
32.12Dispatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466132.12.1 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4673
33 Integration and Simulation 468033.1 User-controlled File I/O . . . . . . . . . . . . . . . . . . . . . . . 4680
33.1.1 The file type . . . . . . . . . . . . . . . . . . . . . . . . . 468033.1.2 The file list . . . . . . . . . . . . . . . . . . . . . . . . . . 4683
33.2 Runtime data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468833.2.1 Strategy for models and variables . . . . . . . . . . . . . . 468833.2.2 Container for parse nodes . . . . . . . . . . . . . . . . . . 468933.2.3 The data type . . . . . . . . . . . . . . . . . . . . . . . . 4692
24
33.2.4 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469233.2.5 Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469633.2.6 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . 469633.2.7 Local copies . . . . . . . . . . . . . . . . . . . . . . . . . . 469733.2.8 Exported objects . . . . . . . . . . . . . . . . . . . . . . . 470133.2.9 Finalization . . . . . . . . . . . . . . . . . . . . . . . . . . 470333.2.10 Model Management . . . . . . . . . . . . . . . . . . . . . 470433.2.11 Managing Variables . . . . . . . . . . . . . . . . . . . . . 470733.2.12 Further Content . . . . . . . . . . . . . . . . . . . . . . . 471333.2.13 Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . 471433.2.14 Unit Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4719
33.3 Select implementations . . . . . . . . . . . . . . . . . . . . . . . . 473733.3.1 Process Core Definition . . . . . . . . . . . . . . . . . . . 473733.3.2 Process core allocation . . . . . . . . . . . . . . . . . . . . 474133.3.3 Process core update and restoration . . . . . . . . . . . . 474233.3.4 Unit Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4743
33.4 Process Configuration . . . . . . . . . . . . . . . . . . . . . . . . 475633.4.1 Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . 475633.4.2 Unit Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4761
33.5 Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476833.5.1 The data type . . . . . . . . . . . . . . . . . . . . . . . . 476833.5.2 API for library compilation and loading . . . . . . . . . . 477133.5.3 Compiling static executable . . . . . . . . . . . . . . . . . 477233.5.4 API for executable compilation . . . . . . . . . . . . . . . 477633.5.5 Unit Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 477733.5.6 Test static build . . . . . . . . . . . . . . . . . . . . . . . 4782
33.6 Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478633.6.1 The integration type . . . . . . . . . . . . . . . . . . . . . 478733.6.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . 478733.6.3 Integration . . . . . . . . . . . . . . . . . . . . . . . . . . 479333.6.4 API for integration objects . . . . . . . . . . . . . . . . . 479533.6.5 Unit Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4801
33.7 Event Streams . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482233.7.1 Event Stream Array . . . . . . . . . . . . . . . . . . . . . 482233.7.2 Unit Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4828
33.8 Restricted Subprocesses . . . . . . . . . . . . . . . . . . . . . . . 483733.8.1 Process configuration . . . . . . . . . . . . . . . . . . . . 483833.8.2 Resonant-subprocess set manager . . . . . . . . . . . . . . 483933.8.3 Resonance history set . . . . . . . . . . . . . . . . . . . . 484033.8.4 Library for the resonance history set . . . . . . . . . . . . 484133.8.5 Process objects and instances . . . . . . . . . . . . . . . . 484633.8.6 Event transform connection . . . . . . . . . . . . . . . . . 484833.8.7 Wrappers for runtime calculations . . . . . . . . . . . . . 484933.8.8 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4851
33.9 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487533.9.1 Event counting . . . . . . . . . . . . . . . . . . . . . . . . 487633.9.2 Simulation: component sets . . . . . . . . . . . . . . . . . 488033.9.3 Process-core Safe . . . . . . . . . . . . . . . . . . . . . . . 488233.9.4 Process Object . . . . . . . . . . . . . . . . . . . . . . . . 488233.9.5 Simulation-entry object . . . . . . . . . . . . . . . . . . . 4883
25
33.9.6 Handling resonant subprocesses . . . . . . . . . . . . . . . 490033.9.7 Entries for alternative environment . . . . . . . . . . . . . 490333.9.8 The simulation object . . . . . . . . . . . . . . . . . . . . 490533.9.9 Direct event access . . . . . . . . . . . . . . . . . . . . . . 493233.9.10 Event Stream I/O . . . . . . . . . . . . . . . . . . . . . . 493233.9.11 Event Stream Array . . . . . . . . . . . . . . . . . . . . . 493433.9.12 Recover event . . . . . . . . . . . . . . . . . . . . . . . . . 493633.9.13 Extract contents of the simulation object . . . . . . . . . 493633.9.14 Auxiliary . . . . . . . . . . . . . . . . . . . . . . . . . . . 494033.9.15 Unit tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 4940
34 More Unit Tests 498334.1 Expression Testing . . . . . . . . . . . . . . . . . . . . . . . . . . 4983
34.1.1 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4984
35 Top Level 500035.1 Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5001
35.1.1 The command type . . . . . . . . . . . . . . . . . . . . . . 500235.1.2 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500635.1.3 Specific command types . . . . . . . . . . . . . . . . . . . 500735.1.4 User-controlled output to data files . . . . . . . . . . . . . 508535.1.5 Print custom-formatted values . . . . . . . . . . . . . . . 508735.1.6 The command list . . . . . . . . . . . . . . . . . . . . . . 513735.1