]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PYTHIA8/pythia8170/xmldoc/MadGraph5Processes.xml
Protection for dereferencing fTDCErrorBuffer. see ALIROOT-5749
[u/mrichter/AliRoot.git] / PYTHIA8 / pythia8170 / xmldoc / MadGraph5Processes.xml
1 <chapter name="MadGraph 5 Processes">
2
3 <h2>MadGraph 5 Processes</h2>
4
5 By far the easiest way to implement new processes into PYTHIA 8 is 
6 by using the matrix-element generator MadGraph 5. This program has 
7 an option to output the results of a matrix-element calculation 
8 as a set of PYTHIA 8 C++ classes (plus further auxiliary code), 
9 that can then be linked and used as 
10 <aloc href="SemiInternalProcesses">semi-internal</aloc> processes,
11 meaning they are handled identically with normal internal ones.
12 This way, MadGraph 5 can be used to implement processes from 
13 any model that can be written in  terms of a Lagrangian. Any 
14 <ei>2 -> 1</ei>, <ei>2 -> 2</ei> and <ei>2 -> 3</ei> processes 
15 can be implemented, the limit being set by the absence of efficient
16 phase space generator algorithms for higher multiplicities in
17 PYTHIA. Features such as <ei>s</ei>-channel resonances are
18 automatically implemented in the process classes.  Besides the process
19 library and necessary model files, also an example main program is
20 generated for each set of processes, which can be easily modified to
21 perform the desired analyses.
22
23 <p/>
24 In order to create a PYTHIA 8 process library with MadGraph 5, first 
25 download the MadGraph 5 package from 
26 <a href="https://launchpad.net/madgraph5" target="page">
27 https://launchpad.net/madgraph5</a>, and untar the package. You can 
28 then specify the location of your <code>pythia81xx</code> directory 
29 in the file <code>input/mg5_configuration.txt</code>: 
30 <br/><code>pythia8_path = ./pythia81xx</code>
31 <br/>The location can be either relative (to the directory
32 <code>MadGraph5_v_x_x_x/.</code>) or absolute.
33
34 <p/>
35 For any model that is already implemented in the MadGraph 5 package,
36 you can directly use the model. Start the MadGraph 5 interface
37 <code>bin/mg5</code>, and do:
38 <pre>
39 import model model_name  
40 generate your_process_in_mg5_syntax 
41 add process your_next_process_in_mg5_syntax 
42 ...  
43 output pythia8 [path_to_pythia81xx_directory]
44 </pre>
45
46 <p/>
47 For examples of MG5 process syntax, please see
48 <a href="http://madgraph.phys.ucl.ac.be/EXAMPLES/example_mg5.html" 
49 target="page">http://madgraph.phys.ucl.ac.be/EXAMPLES/example_mg5.html</a> 
50 or type <code>help generate</code>. If you specified the path to the 
51 <code>pythia81xx</code> directory in the <code>mg5_configuration</code> 
52 file, you do not need to enter it in the <code>output</code> command.
53
54 <p/>
55 If your preferred model is found on the FeynRules model wiki page,
56 <a href="http://feynrules.irmp.ucl.ac.be/wiki/ModelDatabaseMainPage" 
57 target="page">http://feynrules.irmp.ucl.ac.be/wiki/ModelDatabaseMainPage</a>, 
58 download the UFO (Universal FeynRules Output) tar file for the model, 
59 untar in the <code>models/</code> directory, and use as above.
60
61 <p/>
62 If you want to implement a new model which has not yet been implemented, 
63 you can do this either using the Mathematica package FeynRules (see 
64 <a href="http://feynrules.irmp.ucl.ac.be/" target="page">
65 http://feynrules.irmp.ucl.ac.be/</a>) or directly edit the UFO model 
66 files of the most similar model in the <code>models/</code> directory.
67
68 <p/>
69 The resulting output from the <code>output pythia8</code> command is:
70 <ul>
71 <li>A process directory <code>Processes_modelname</code> with the 
72 model information and the files needed for all processes defined for 
73 this model, placed in the <code>pythia81xx</code> main directory.  
74 The model files are <code>Parameters_modelname.h/cc</code> and
75 <code>HelAmps_modelname.h/cc</code>, and the process files for each 
76 process class (with the same mass, spin and color of the initial/final 
77 state particles) are called <code>Sigma_modelname_processname.h/cc</code>. 
78 The directory also contains a <code>makefile</code> and a model parameter 
79 file <code>param_card_modelname.dat</code>.</li>  
80 <li>An example main program in the directory <code>examples/</code> 
81 (in the <code>pythia81xx</code> main directory) called 
82 <code>main_modelname_N.cc</code> and a corresponding makefile 
83 <code>Makefile_modelname_N</code>. This main program links in the 
84 process classes in the process directory described above. To run the 
85 example main program, just go to the <code>examples/</code> 
86 directory and run 
87 <br/><code>make -f Makefile_modelname_N</code> 
88 <br/>or run <code>launch</code> directly inside the MadGraph 5
89 command line interface.</li>
90 </ul>
91
92 <p/>
93 Note that in order for PYTHIA 8 to be able to automatically decay any
94 new particles, it is necessary to specify the branching ratios of the
95 particles in the <code>param_card</code> file, see 
96 <ref>Ska04,Alw07</ref> for details.
97
98 <p/>
99 For further technical details, please see the MadGraph 5 release paper 
100 <ref>Alw11</ref> and the 
101 <aloc href="SemiInternalProcesses">semi-internal</aloc> processes page.
102
103 <p/>
104 Of course, as with MadGraph 4, MadGraph 5 can also output 
105 files of parton-level events according to the 
106 <aloc href="LesHouchesAccord">LHEF</aloc> standard,
107 that can be read in and processed further by PYTHIA 8. 
108 The advantage is that then the MadGraph 5 phase space generator 
109 can be used, which opens up for processes with more than three 
110 particles in the final state. The disadvantages are that it is less
111 easy to mix and match with existing PYTHIA processes, and that one 
112 needs to regenerate and store large LHEF files for different
113 kinematics cuts or parameter values.
114
115 <p/>
116 Please cite the MadGraph 5 release paper <ref>Alw11</ref> if you use 
117 MadGraph 5 to generate process libraries for PYTHIA 8.
118
119 </chapter>
120
121 <!-- Copyright (C) 2012 Torbjorn Sjostrand -->