wiki:DevelopmentPage/PlanningGame

Version 13 (modified by Olivier Mattelaer, 14 years ago) ( diff )

--

The planning game

One star: easy to do, and we know how to do it. Two stars: Might be hard, but it is clear how to do it. Three stars: Very hard and/or we do not know how to do it. Consider splitting into smaller stories. Don't change ratings after having started the actual work. It will be used to check prediction accuracy for the next round.

User stories (next milestones 0.4.2 - 0.5.0)

Short name Rating Who ? Description
automatic comparison of matrix elements with MG4 M Scripts for running automatic comparison of the matrix elements for a set of processes between MG4 and MG5
C++ output * J Generation of matrix element files and Helas calls in C++
Pythia 8 process interface J Generation of matrix elements for Pythia 8
diagram shuffle T+J Add the possibility to generate diagrams with a different ordering (i.e. a different set of calls to HELAS) for cross checking produced codes (user simply needs to ask for same process with different ordering)
color-ordered amplitudes F+J Modify the diagram generation to compute the color-ordered amplitudes : keep the cyclic order of the external legs fixed. Feynman rules are without color and slightly different (NB does not need color to be implemented!). This algorithm should scale as 3.8 to the n. Number of diagrams per n gluons amplitudes available in Table 1. of hep-ph/0209271. Implementation idea (JA): Specify combination method in model.
import new FR model format *(*) O+? Add a module to import the new FR model format (still to be defined by FR people, but first examples are apparently ready). Since this format is, for historical reason, very similar to the v5 internal format, the main work should be focused on Lorentz and color structures for which the syntax could (slightly) differ.
export model * O The current model is exported to f77 formats which can be read by ME

User stories (future milestones)

Short name Rating Description
spin correlations for Pythia * We'll need the option to produce not only the squared amplitude but also the full spin correlated matrix for a given process or for a decay process.
inline usrmod Inside the command line, the user can add/remove/modify particle, parameter and interaction lists interactively, and the model as a whole is modified accordingly (i.e., if a particle is removed, all associated interactions/parameters should also be removed). All features of usrmod2 are available.
export model * The current model is exported to various formats which can be read by ME/Pythia8/...
replace particles in diagrams Corresponding to the "replace" script: replace particles in processes, assuming identical diagrams (but not necessarily identical interactions). Useful in particular for l+l-/lvl+jets production, where it would save LOTS of time to just generate for one species of lepton and then replace with all species of leptons (or quarks, for ttbar production!).
non squared amp * The user can get amplitudes for certain processes, not only squared amplitudes (required for NLO purposes)
interference terms (Connected to non squared amp item) Calculate two amplitudes with the same initial and final state but different couplings/orders and generate a matrix.f that returns the interference. Necessary for NLO.
further development of drawing (*) Add other options for drawing, e.g., output using matplotlib or wxPython, export to FeynArts format, add support for bubble and other NLO symbols, …
parallelization (*) Allow to run mg5 on a multiple core machine or on a cluster (using python parallel computing resources http://wiki.python.org/moin/ParallelProcessing ?)
web interface * new online/offline graphical interface based on existing and secure CMS solutions (Grok ? TurboGears ?) requiring only a local html/cgi server, like apache
pedagogical tutorial a "professional" pedagogical set of material (MG5 of course, + web site, + student/teacher booklet, + …) to teach QFT, SM, BSM pheno, .. with MadGraph, or even a book ???
acceptance test suite a test suite wich "emulate" a real user using MG5 and test output with reference data

User stories (implemented)

Short name Rating Milestone Who Description
cmdline * 0.1.0 Michel The user starts mg by typing something like ./bin/mg5 and then enters an interactive session (similar to ROOT or the Python interpreter) when he can access the main program features with basic commands. The command syntax should be summarized in an online help.
autocomplete 0.1.0 Michel System paths and command names are auto completed with TAB in the command line interface.
import v4 * 0.1.0 Michel User can import interactively particle and interaction data from v4 formatted files particles.dat and interactions.dat (FR format only)
test_manager 0.1.0 Olivier Users can run all tests, or a specific subset of them using a user friendly script
diagram generation * 0.2.0 Johan/Michel Giving an abstract process object, mg5 generates all the corresponding diagrams (expressed as a set of vertices), once and only once. To be checked against v4.
harmonize interactions 0.2.0 Johan/Michel Make sure, for internal interactions, all interactions have same structure for incoming/outgoing particles (i.e., FFS/FFV no different from SSS/VVV).
process input * 0.2.0 Michel The user can enter a well defined process request, using the command line interface.
bug with w+/- * 0.2.0 Johan Fix the bug giving 4 diagrams for t e- > ve b
diagram drawing * 0.3.0 O For any diagram object, mg5 renders a graph associated to it and outputs the result in (at least) eps/pdf/jpg
save amps * 0.3.0 T+J All the generated amplitudes are saved using a proprietary format which can be read back.
export amps * 0.3.0 T+J The generated amplitudes are exported to various formats which can be read by ME/Pythia8/...
color * 0.3.0 F+M Given a specific diagram, with specific vertices and particles, MG computes the color contribution by contracting the various color "strings"
save diagrams * 0.3.0 J The generated diagrams are saved with a specific proprietary format.
multiprocesses 0.3.0 J+T Multiparticle labels and multiple processes. Identical processes are grouped in an efficient way. Possibility to run multiprocess generation in parallel?
orders 0.3.0 M+J User can enter max order for diagram generation
save model * 0.3.0 J All the model content is saved using a proprietary format which can be read back.
MadEvent interface 0.4.0 J+M MadEvent subprocess directories automatically generated by MG5
MG5 fully scriptable 0.4.0 O Possibility to create/clean/export/create web page whitout leaving MG5 (i.e. you don't need a script newprocess_mg5 and/or to make cp Template My_run)
decay chains 0.4.0 J Definition of decay chains, reusing the helas calls for the different ingredient processes (core process and decay processes).
memory and time profiling and optimization 0.4.0 J+M Time and memory profiling should be done, to find possible simple improvements. In particular memory might be(come) crucial for generation of e.g. pp > X jjjj and similar multiprocesses with huge numbers of diagrams.
MG4->MG5 proc_card 0.4.0 O Translation of the MG4 proc_card into cmd_interface calls for MG5.
history * 0.4.0 O Possibility to see the history of command and to write those in a files.
MG5 on the Web 0.4.1 O Possibility to choose MG5 instead of MG4 for the Web interface. Make sure also MG5-style decay chain syntax is supported!
test cmdline * 0.4.1 O Possibility to test the cmd_interface module.

User stories (discarded/postponed indefinitely)

initial checks Setup a list of consistency checks on the process requested that have to be fulfilled in order to have a non-zero results. An example is e+e- > n gluons which now runs very slowly. The logic is check what you can get out of e+e- > a, e g > 0, g g > g, e+ e- g > 0, g g g > g and more up to highest vertex possible in the model. This generates a list of procs with a smaller set of external state. Then one iterates with the results until you end up with a number of legs which is of the same number of verteces in the theory. At this point is easy to check if you have a possibility… Johan, in fact the crucial difference here compared to normal diagram generation is that we don't assign number to external legs. So indeed for multi gluon/photon final states it's a big improvment. But for all other processes it's minor.
Note: See TracWiki for help on using the wiki.