madgraph 5 – the all-new matrix element generator for...

22
Johan Alwall - MadGraph 5 1 MadGraph 5 – The All-New Matrix Element generator for Everything Johan Alwall Fermilab WCLHC Theory meeting, Irvine, Dec 9, 2010 For the MadGraph 5 team: J.A. Fabio Maltoni (Louvain) Olivier Mattelaer (Louvain) Tim Stelzer (UIUC) and Michel Herquet

Upload: others

Post on 04-Apr-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

Johan Alwall - MadGraph 5 1

MadGraph 5 – The All-New Matrix Element generator for Everything

Johan AlwallFermilab

WCLHC Theory meeting, Irvine, Dec 9, 2010

For the MadGraph 5 team:J.A. Fabio Maltoni (Louvain)

Olivier Mattelaer (Louvain) Tim Stelzer (UIUC)

and Michel Herquet

Page 2: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

2Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 2

The LHC is on track!

but where are we heading...?

Page 3: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

3Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 3

What will be needed for the LHC?

NLOEffective theories

Matrix Elements

Exotic modelsAdvanced analysis

techniques

Very exotic models

Merging ME/PS

Multi-jet samples

Decay Packages

Decay chains

Cluster/Grid computing

Exp-TH communication

User friendlinessTesting/robustness

Page 4: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

4Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 4

MadGraph/MadEvent 4

● One of the most widely used automatized matrix element generators– Specify any process using simple syntax– > 1500 registered users (+ CDF/D0/CMS/ATLAS/...)

● Originally written by Tim Stelzer in 1994● Phase space integrator/event generator

MadEvent by F. Maltoni and T. Stelzer in 2002● MadGraph/MadEvent v. 4 in 2006

Page 5: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

5Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 5

Why new MadGraph?

● First version of core code from 1994● Written in Fortran 77 (→ many restrictions)

– Fixed array sizes– No recursion– Difficult to modularize (no OO, dynamic libraries,...)– Difficult to extend– Limited (no) standard libraries+ Intrinsically fast

Page 6: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

6Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 6

MadGraph 5

● Development started November 2009● Programming language: Python

– (Very) high level, modern programming language– Easy to learn/write/maintain– Intrinsically slow, but fast standard libraries (99% of

calculations) and easily extendable● Modular program structure

– Diagram generation / Color algebra / Helas objects / Diagram drawing / I/O libraries / …

Page 7: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

7Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 7

Innovations● Completely new diagram generation algorithm

– Makes optimal use of model information– Improved speed of produced code (up to factor ~4)

● Generic and “smart” new color calculation library● New, fast and generic diagram drawing library● Improved fermion flow treatment (Majorana particles etc.)● Fast and flexible generation of decay chains● Fast multiprocess generation● Output formats: MadEvent/Standalone, C++ SA, Pythia 8● User friendly command line interface with tab completion,

tutorial, inline help, etc.● ... and (much) more!!!

Page 8: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

8Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 8

Highlights

Automatic writing of HELAS routines for vertices with any Lorentz structure

Effective vertices with any number of particles

Multi-fermion vertices

New color structures (color sextets and εijk)

Fast, unlimited-length decay chains

Multiple output formats, including Fortran and C++

Output of matrix elements for Pythia 8

Compact organization of subprocesses and integration channels in MadEvent

Page 9: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

9Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 9

Speed benchmarks

Full MadEvent subprocess directory output, including diagram drawing

Computer: Sony Vaio TZ

Page 10: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

10Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 10

Speed benchmarks

Full MadEvent subprocess directory output, including diagram drawing

Computer: Sony Vaio TZ

Page 11: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

11Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 11

Decay chain example

Process: g g > go go Decay: go > u ul~ Decay: ul~ > d~ x1- Decay: x1- > e- sve~ Decay: sve~ > ve~ n1 Decay: go > u ul~ Decay: ul~ > d~ x1- Decay: x1- > e- sve~ Decay: sve~ > ve~ n1(10 FS particles. Generation time: 5 s)

Page 12: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

12Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 12

Automatic HELAS routines

● Universal FeynRules Output (UFO) – Includes color and Lorentz structure– Allows for complete specification of effective/non-

renormalizable vertices– Allows for automatic output of model parameter

calculations for any model and language● Automatic Language-independent Output of Helicity

Amplitudes (ALOHA) – Automatic generation the necessary helicity amplitude

code for any new model (including effective theories, multi-fermion vertices,...) in Fortran/C++/Python/...

with P. de Aquino, C. Duhr, W. Link

Page 13: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

13Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 13

Universal FeynRules Output (UFO)

vertices.py:V_2 = Vertex(name = 'V_2',             particles = [ P.G, P.G, P.G ],             color = [ 'f(1,2,3)' ],             lorentz = [ L.VVV1 ],             couplings = {(0,0):C.GC_4})

particles.py:G = Particle(pdg_code = 21,             name = 'G',             antiname = 'G',             spin = 3,             color = 8,             mass = 'ZERO',             width = 'ZERO',             texname = 'G',             antitexname = 'G',             line = 'curly',             charge = 0,             LeptonNumber = 0,             GhostNumber = 0)

lorentz.py:VVV1 = Lorentz(name = 'VVV1',               spins = [ 3, 3, 3 ],               Structure =

'P(3,1)*Metric(1,2) ­ P(3,2)*Metric(1,2) ­ P(2,1)*Metric(1,3) + P(2,3)*Metric(1,3) + P(1,2)*Metric(2,3) ­ P(1,3)*Metric(2,3)')

couplings.py:GC_4 = Coupling(name = 'GC_4',                value = '­G',                order = {'QCD':1})

Page 14: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

14Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 14

ALOHA outputvoid VVV1_0(complex<double> V1[], complex<double> V2[], complex<double> V3[],    complex<double> C, complex<double> & vertex){  double P2[4], P3[4], P1[4];   P2[0] = V2[4].real();   P2[1] = V2[5].real();   P2[2] = V2[5].imag();   P2[3] = V2[4].imag();   P3[0] = V3[4].real();   P3[1] = V3[5].real();   P3[2] = V3[5].imag();   P3[3] = V3[4].imag();   P1[0] = V1[4].real();   P1[1] = V1[5].real();   P1[2] = V1[5].imag();   P1[3] = V1[4].imag();   vertex = C * ((V3[0] * ((V1[0] * ((V2[1] * (complex<double> (0., ­1.) * P1[1]      + complex<double> (0., 1.) * P3[1])) + ((V2[2] * (complex<double> (0.,      ­1.) * P1[2] + complex<double> (0., 1.) * P3[2])) + (V2[3] *      (complex<double> (0., ­1.) * P1[3] + complex<double> (0., 1.) *      P3[3]))))) + ((V2[0] * ((V1[1] * (complex<double> (0., 1.) * P2[1] +      complex<double> (0., ­1.) * P3[1])) + ((V1[2] * (complex<double> (0., 1.)      * P2[2] + complex<double> (0., ­1.) * P3[2])) + (V1[3] * (complex<double>      (0., 1.) * P2[3] + complex<double> (0., ­1.) * P3[3]))))) + ((P1[0] *      (complex<double> (0., 1.) * (V2[1] * V1[1]) + complex<double> (0., 1.) *      (V2[2] * V1[2]) + complex<double> (0., 1.) * (V2[3] * V1[3]))) + (P2[0] *      (complex<double> (0., ­1.) * (V2[1] * V1[1]) + complex<double> (0., ­1.)      * (V2[2] * V1[2]) + complex<double> (0., ­1.) * (V2[3] * V1[3]))))))) +      ((V3[1] * ((V1[1] * ((V2[0] * (complex<double> (0., ­1.) * P1[0] +      complex<double> (0., 1.) * P3[0])) + ((V2[2] * (complex<double> (0., 1.)      * P1[2] + complex<double> (0., ­1.) * P3[2])) + (V2[3] * (complex<double>      (0., 1.) * P1[3] + complex<double> (0., ­1.) * P3[3]))))) + ((V2[1] *      ...

Page 15: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

15Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 15

Multi-particle vertices

● Higgs effective couplings to gluons– From non-commutativity of QCD, get

H + 2-, 3- and 4-gluon vertices– In MG4: 5-particle vertex handled by using non-

propagating tensor particles

T

T

Page 16: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

16Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 16

Effective multi-particle vertices

● In MG5: Use 5-particle vertex directly!

(Thoroughly tested against MG4)

Page 17: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

17Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 17

Multi-fermion vertices

● Extra difficulty in multi-fermion vertices: Fermion flow– Using convention based on particle ordering as

IOIOIO... (incoming-outgoing)– Example: u u t t ≠ u t u t

u

u

t

t

D6

u

u

t

t

Z'

u t

u t

Page 18: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

18Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 18

Q & A● “Do I need to learn Python now?”

– Not unless you want to make additions to the core code of MadGraph. The standard MadGraph output is still Fortran, and MadEvent works as before.

● “Can I use jet matching with my favorite new physics model?”– Yes you can! Matching between MadEvent and

Pythia works as before, for any model.● “Where can I get all this amazing stuff?”

– At https://launchpad.net/madgraph5 (or simply google for MadGraph 5)

Page 19: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

19Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 19

Conclusions

● MadGraph 5 is now a full-fledged replacement for older MadGraph versions, with important and unprecedented improvements in all directions.

● Core MadGraph 5 v. 0.5 available, 0.6.0 (with multiple additions) released in the coming week

● Stay tuned for more exciting stuff in the near future (NLO, fast multijet, BSM decay package, FeynRules developments, ...)

Page 20: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

20Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 20

Test suite

● Unit (= method) tests, Acceptance tests and Parallel tests[alwall@alwall­laptop madgraph5] python tests/test_manager.py...Test a complete decay chain process gp>jg,j>jjj,j>jjj ... okTest a complete decay chain process pp>jj,j>jj with QED=2, QCD=2 ... okTest the functions for checking equal decay chains ... okTest the HelasMultiProcess with the processes uu~>uu~ ... okSetting up and testing pp > nj based on multiparticle lists, ... okTest decay chain with majorana particles e+e­>n1n1 ... okTest a multistage decay g g > d d~, d > g d, d~ > g d~, g > u u~ g ... okTest error raising in HelasWavefunction __init__, get and set ... okTest filters for wavefunction properties ... okTest the color basis building for uu~ > aggg (3! elements) ... okTest the color flow decomposition of various color strings ... okTest the colorize function for uu~ > gg ... okTest the colorize function for uu~ > ggg ... okTest the Nc power restriction during color basis building ... okTest index fixing for immutable color string ... okTest the color matrix building for gg > n*g with n up to 3 ... okTest the color matrix building for qq~ > n*(qq~) with n up to 2 ... ok­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­Ran 356 tests in 44.487s

Page 21: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

21Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 21

FeynRules SM and MSSM

● SM and MSSM models from FeynRules– Full models tested against CompHep/CalcHep– Reduced models (diagonal CKM, Higgs coupling to

3rd generation, sfermion mixing only for 3rd generation, CP-invariant) against MG4 models

● Over 6000 2->2 and 2->3 processes tested with accuracy within 10-6

● All Helicity amplitudes, color factors, mass and width effects, as well as fermion flow effects

Page 22: MadGraph 5 – The All-New Matrix Element generator for Everythinghep.ps.uci.edu/~wclhc10/WCLHC-101210-Alwall.pdf · 2010-12-11 · Johan Alwall - MadGraph 5 1 MadGraph 5 – The

22Johan Alwall - MadGraph 5Johan Alwall - MadGraph 5 22

Pythia 8 interface

● Fully working interface for automatic generation of Pythia 8 processes from MadGraph 5