How to use MadGraph/MadEvent?

Takeo Moroi (Tohoku)

Outline
1. Introduction
2. Installation
3. Deﬁne your own model
4. Cross section
5. And beyond...

1. Introduction
MadGraph• Automatic calculation of helicity amplitude– For a given process, all the relevant diagrams are automatically listed up– 4-momenta and helicities of external legs are ﬁxed

• It can deal with only tree-level processes
MadEvent• Automatic event generation (at the parton level)• For your favorite model, you obtain cross sections (andmany more which I don’t understand yet)You can do something like this: e+ e− → uūgDiagrams by MadG raph
131ue

421graph

13e

2

13eu
Au

e
4u

5u

Z

2graphueue

35u

Ae+ e- -> u u~ gu
Z

4u

u

4ue

e
52graph

352graph4

2. Installation
You should install:• MadGraph V4.x (which also contains MadEvent)
http://madgraph.roma2.infn.it/• ROOT (Version 5.xx)
http://root.cern.ch/• Pythia and PGS package
http://madgraph.roma2.infn.it/Necessary ﬁles:• If you just want to calculate cross section at the partonlevel, you only need MadGraph / MadEvent• If you are interested in something more (like hadronization, detector simulation, also so on), you need all
Notice:• They run on Linux machine• ROOT should be installed before Pythia and PGS package

Installation of MadGraph / MadEvent
1. Get source ﬁle from Roma server
2. Untar it at, for example, ˜/, then the directory MG ME V4.0
(or whatever) is made3. Do make in ˜/MG ME V4.0

Installation of ROOT
1. Make ˜/ROOT directory
2. Download the source ﬁle from CERN into ˜/ROOT
3. Go into ˜/ROOT/root and do ./configure
4. Do ./make; this will take a few hours
5. Do ./make install
Binary ﬁles are also available, but I haven’t checked if theywork well or not...

Variables ROOTSYS, LD LIBRARY PATH, and PATH should
be properly deﬁned• Add the following lines in your .cshrc ﬁlesetenv ROOTSYS ˜/ROOT/root
setenv PATH $PATH:$ROOTSYS/bin
setenv LD LIBRARY PATH $LD LIBRARY PATH:$ROOTSYS/lib• For those who use bash: do something...
Run root; something happens if it’s working
If you run root in ˜/ROOT/root/tutorials/, you can see what
you can (potentially) do with ROOT

Installation of Pythia and PGS package
1. Get source ﬁle from Roma server
2. Untar it in the directory ˜/MG ME V4.0
3. Do makeThe directory pythia-pgs/ should be in the same directory asTemplate/3. Deﬁne your own modelFirst, let us deﬁne a new model• Your model should be deﬁned in a new directory under:
˜/MG ME V4.0/Models/• Following models are already deﬁned and available
sm, smckm, sm nohiggs, mssm, 2hdm, · · ·Hereafter, I show how new models can be analyzed⇒ As an example, I consider case with an exotic fermion

1. Make a new directory• Template is available in ˜/MG ME V4.0/usrmod• You should better leave the original usrmod directory untouched> cd ˜/MG ME V4.0/Models> cp -R usrmod MyModel (or whatever name you like)2. Modify .dat ﬁles• particles.dat
List of particles and properties• interactions.datInteractions• VariableName.dat
List of fundamental variables to calculate coupling constants• These ﬁles are in ˜/MG ME V4.0/Models/MyModelparticles.dat: MODEL EXTENSION section#MODEL EXTENSIONxf xf~ F S XFMASS XFWIDTH
# END

SXF

8

1: Particle name
2: Anti-particle name (“tilde” is usually for anti-fermion)
3: F for fermion (S: scalar / V: vector)
4: S for straight line in Feynman diag. (D: dotted / W: wavy)
5: Variable name for the mass of new particle
6: Variable name for the width of new particle
7: S for color singlet (T: triplet / O: octet)
8: Name used in Feynman diagram
9: Particle id. number (8 is actually for t in PDG code)interactions.dat: USRVertex section (at the end)
#USRVertex
xf xf a GAXF QED
1: particle 1
2: particle 2
3: particle 3 (photon, in this case)
4: Variable name for the coupling
5: Class: QED or QCD
You can introduce all the renormalizable interactions

VariableName.dat• Deﬁne variables which will be used in couplings.f later• You can make a comment using #xfcharge # charge of xf

3. Go one-step further• Run perl script to make param card.dat and couplings.f> ConversionScript.pl• Modify param card.dat– Deﬁne the size of fundamental parameters (numericalvalues)• Modify couplings.f– Deﬁne how the coupling constants are related to fundamental parametersparam card.dat: various places for new particles
Block MASS
...
#...
DECAY

#

Mass spectrum (kinematic masses)

8
PDG

5.00000000e+02
Width# XFMASS

8

1.00000000e+00# XFWIDTH

11.00000000e+00# xfcharge...
BLOCK MGUSER

couplings.f: UserMode couplings sectionc************************************
c UserMode couplings
c************************************GAXF(1) = ee * xfcharge
GAXF(2) = ee * xfcharge• Variable ee is deﬁned as electric charge in this program• In HELAS, GAXF is used as (chiral) gauge couling constant– GAXF(1): for left-handed– GAXF(2): for right-handed4. Cross section
1. Make a new directory for the study• All the ﬁles to be used are in Template directory• It is better to leave Template directory clean> cd ˜/MG ME V4.0
> cp -R Template NewModel (or what-so-ever)2. Modify xxx card.dat ﬁles in Cards directory• All the information should be in Card ﬁles
> cd ˜/MG ME V4.0/NewModel/Cards• At least, modify the following ﬁles– proc card.dat
Deﬁne the process you study– run card.dat
Deﬁne the collider and MC parameters• param card.dat is automatically replaced later• There exist other Card ﬁlespythia card.dat, plot card.dat

proc card.dat: Deﬁne the process#*********************************************************# Process(es) requested : mg2 input*#*********************************************************# Begin PROCESS # This is TAG. Do not modify this linep p > xf xf~
QCD=99
QED=99end_coup# First Process# Max QCD couplings# Max QED couplings# End the couplings input

done# this tells MG there are no more procs# End PROCESS# This is TAG. Do not modify this line

proc card.dat: Model information / multiparticle deﬁnitions#*********************************************************# Model information*#*********************************************************# Begin MODEL # This is TAG. Do not modify this line
MyModel# EndMODEL # This is TAG. Do not modify this line#*********************************************************# Start multiparticle definitions*#*********************************************************# Begin MULTIPARTICLES # This is TAG.
P uu~dd~ss~cc~g
J uu~dd~ss~cc~g
L e+e-mu+mu-ta+ta-veve~# End MULTIPARTICLES # This is TAG.

run card.dat: Number of event sample⇒ Sample ﬁles for LEP, Tevatron, and LHC are available– run card-LEP-3.dat– run card-TEV-20.dat– run card-LHC-40.dat#*********************************************************# Number of events and rnd seed*#*********************************************************
10000 = nevents ! Number of unweighted events requested
0 = iseed! rnd seed

run card.dat: Initial particles#*********************************************************# Collider type and energy*#*********************************************************
1 = lpp1! beam 1 type (0=NO PDF)
1 = lpp2! beam 2 type (0=NO PDF)
7000 = ebeam1 ! beam 1 energy in GeV
7000 = ebeam2 ! beam 2 energy in GeV⇒ lpp1 / lpp2 = 0 for electron, 1 for proton3. Now, you can run the program> cd ˜/MG ME V4.0/NewModel> ./bin/newprocess> ./bin/generate events
Use the NetScape to see what’s going on

5. And beyond...
There are much more to be done with MG / ME

• Hadronization• Event generation• MC Simulation including detector eﬀects (with PGS)
• ···So, play with MG / ME, and have fun!