1 | ********************************************************************************
|
---|
2 | * *
|
---|
3 | * h h ooo w w ttttttt ooo *
|
---|
4 | * h h o o w w t o o *
|
---|
5 | * hhhhh o o w w w t o o *
|
---|
6 | * h h o o w w w t o o *
|
---|
7 | * h h ooo ww ww t ooo *
|
---|
8 | * *
|
---|
9 | * *
|
---|
10 | * Use MadGraph's usrmod2...? *
|
---|
11 | * *
|
---|
12 | * M. Herquet - Nikhef (TH) *
|
---|
13 | * *
|
---|
14 | ********************************************************************************
|
---|
15 |
|
---|
16 | IMPORTANT WARNING for users of older usrmod versions: starting with version 2,
|
---|
17 | the usrmod script has been deeply redesigned for various reasons (see 'What's
|
---|
18 | new ?' below). It is _not_ compatible with the previous usrmod versions, neither
|
---|
19 | it is with the former MG model directory structures. It is only compatible with
|
---|
20 | the model files produced with or following the conventions of the MG interface
|
---|
21 | to the FeynRules Feynman rule generator (see http://feynrules.phys.ucl.ac.be).
|
---|
22 |
|
---|
23 | Table of contents:
|
---|
24 | -----------------
|
---|
25 |
|
---|
26 | 1) Introduction
|
---|
27 | 2) What's new compare to previous versions ?
|
---|
28 | 3) Step-by-step how-to
|
---|
29 | 4) Advanced tips and tricks
|
---|
30 | 5) Parsing library and database format reference
|
---|
31 |
|
---|
32 | Introduction
|
---|
33 | ------------
|
---|
34 | This program should be seen as the successor of the original usrmod model written
|
---|
35 | by Simon de Visscher in 2006 to deal with user defined MG models using the SM as a
|
---|
36 | basis. Thanks to the implementation of new BSM models using the FR package, and to
|
---|
37 | the uniformisation of conventions for model files, the usrmod version 2 allows the
|
---|
38 | user to start from _any_ existing MG model and to implement (almost) _any_ desired
|
---|
39 | change, incl. adding/modifying/removing particles, interactions and external
|
---|
40 | parameters.
|
---|
41 |
|
---|
42 | What's new ?
|
---|
43 | ------------
|
---|
44 |
|
---|
45 | Step-by-step how-to
|
---|
46 | -------------------
|
---|
47 |
|
---|
48 | To create a new MG model using usrmod2, all you need is a valid MG model
|
---|
49 | (FeynRules format):
|
---|
50 |
|
---|
51 | 1) Copy the original model directory to a new location, e.g:
|
---|
52 | cp -R my_model new_model
|
---|
53 |
|
---|
54 | 2) Go to this model directory, e.g.
|
---|
55 | cd new_model
|
---|
56 |
|
---|
57 | 3) Create a usrmod "archive" to record the initial state of the model, e.g.
|
---|
58 | ../usrmod2/usrmod2.py save
|
---|
59 |
|
---|
60 | 4) Modify the files:
|
---|
61 | particles.dat: to add or remove particles, or to modify particle properties
|
---|
62 | interactions.dat: to add or remove interactions, or to modify interactions
|
---|
63 | properties
|
---|
64 | ident_card.dat: to add, remove or modify external parameters read by MG in
|
---|
65 | the param_card.dat
|
---|
66 |
|
---|
67 | 5) Use the usrmod "create" mode to create a consistent set of Fortran files
|
---|
68 | for your new model:
|
---|
69 | ../usrmod2/usrmod2.py create
|
---|
70 | and give a look to the output to see if it makes sense.
|
---|
71 |
|
---|
72 | 6) Edit the coupl_definition??.inc files to modify coupling expressions.
|
---|
73 | Definitions of the newly created couplings are all grouped in the last of these
|
---|
74 | files.
|
---|
75 |
|
---|
76 | 7) Edit the default parameter values in the param_card.dat file
|
---|
77 |
|
---|
78 | 8) Type "make testprog" and "./testprog" to test your model compiles properly.
|
---|
79 |
|
---|
80 | 9) If you are satisfied with your modifications, save them like in 3). If not,
|
---|
81 | go back to 4) (but all changes in 6) and 7) will be lost!). If you want to start
|
---|
82 | from a "fresh" copy of the model files, type
|
---|
83 | ../usrmod2/usrmod2.py restore
|
---|
84 |
|
---|
85 | Tips and tricks
|
---|
86 | ---------------
|
---|
87 |
|
---|
88 | Q: "How to get some extra help ?"
|
---|
89 | A: ../usrmod2/usrmod2.py -h
|
---|
90 |
|
---|
91 | Q: "How to use another model directory than the current path ?"
|
---|
92 | A: Use the -p option
|
---|
93 |
|
---|
94 | Q: "How to save multiple steps during model creation ?"
|
---|
95 | A: Use the -f option while saving/creating/restoring to create/use different
|
---|
96 | archive files. Beware the size of each of these binary archive file is
|
---|
97 | roughly equal to the total size of the model directory!
|
---|
98 |
|
---|
99 | Q: "How to get more information about what's going one when the script is
|
---|
100 | running ?"
|
---|
101 | A: Use the -v verbose option, useful for debugging. Always use this when reporting
|
---|
102 | a bug.
|
---|
103 |
|
---|
104 | Q: "How can I add an internal parameter ?"
|
---|
105 | A: Simply edit directly the input.inc file and maybe "param_write.inc" if you want
|
---|
106 | to see this parameter value in the standard logs. No other file should be modified.
|
---|
107 |
|
---|
108 | Q: "How can I add a new interaction with an unsupported type, e.g FFFF ?"
|
---|
109 | A: Hack manually the _ref_types variable in the Interaction Python class defined
|
---|
110 | in the hepobjects module. But be aware that MG/HELAS only supports a limited set of
|
---|
111 | Lorentz structure for the interactions.
|
---|
112 |
|
---|
113 | Q: "Why some interactions/parameters are modified when I only edit the particle
|
---|
114 | list ?"
|
---|
115 | A: The usrmod2 scripts run many internal consistency checks. For example, a
|
---|
116 | particle cannot be added w/o adding the corresponding mass and width parameters,
|
---|
117 | if a particle is removed, the associated interactions are also automaticaly
|
---|
118 | removed, ... Because of this, modifying one file can have an impact on the
|
---|
119 | other ones.
|
---|
120 |
|
---|
121 | Q: "Who should I congratulate/blame for this wonderful/horrible piece of code ?"
|
---|
122 | A: All comments can be sent to mherquet@nikhef.nl
|
---|
123 |
|
---|
124 |
|
---|