hVersioni 3.0.0 beta · Wolfgang Kilian,2 Thorsten Ohl,3 Jurgen Reuter4 Version 3.0.0 beta, Aug 30...

5228
hVersion i3.0.0_beta hDate iAug 30 2020 1

Transcript of hVersioni 3.0.0 beta · Wolfgang Kilian,2 Thorsten Ohl,3 Jurgen Reuter4 Version 3.0.0 beta, Aug 30...

  • 〈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_

    pdf

    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