# What is the connection between integration channels and diagrams in MadGraph 5?

Created by Olivier Mattelaer on
Keywords:
channel

In fact they are no one to one link between the diagram and the channel of integration (quote G).
Each G corresponds to a channel of integration this means to a different peak structure of the integrand (looks to the madevent paper for more information).

So I would say that those information shouldn't be use in any analysis since
1) Those number are not gauge invariant
2) Those number are not really the contribution of a single diagram.

This being said, here is the technical details between the link of the diagram used to identified the peak structure (and other type of related optimisation):

In MadGraph 5, the phase space structures ("diagrams") of multiple subprocesses (matrix elements) are in general combined in each integration channels, which speeds up the code considerably compared to the MadGraph 4 treatment where each subprocess had its own directory for integration. You can find more details about this in the MadGraph 5 release paper. So the numbering of the channels is no longer, as you have noticed, directly associated with the diagram numbers. However, there is still a direct coupling between diagrams and channels. This coupling is given by the config_subproc_map.inc file and the symfact.dat files. Take as an example the process p p > j j, and the subprocess directory P0_qq_qq. This directory combines all processes q q > q q, i.e., u u > u u, u u~ > u u~, u u~ > d d~, etc. Each process (matrix element) corresponds to a matrix.f file, according to the order given in processes.dat:

1 u u > u u,c c > c c,d d > d d,s s > s s
mirror none
2 u u~ > u u~,c c~ > c c~,d d~ > d d~,s s~ > s s~
mirror u~ u > u u~,c~ c > c c~,d~ d > d d~,s~ s > s s~
3 u~ u~ > u~ u~,c~ c~ > c~ c~,d~ d~ > d~ d~,s~ s~ > s~ s~
mirror none
4 u c > u c,u d > u d,u s > u s,c d > c d,c s > c s,d s > d s
mirror c u > u c,d u > u d,s u > u s,d c > c d,s c > c s,s d > d s
5 u u~ > c c~,u u~ > d d~,u u~ > s s~,c c~ > u u~,c c~ > d d~,c c~ > s s~,d d~ > u u~,d d~ > c c~,d d~ > s s~,s s~ > u u~,s s~ > c c~,s s~ > d d~
mirror u~ u > c c~,u~ u > d d~,u~ u > s s~,c~ c > u u~,c~ c > d d~,c~ c > s s~,d~ d > u u~,d~ d > c c~,d~ d > s s~,s~ s > u u~,s~ s > c c~,s~ s > d d~
6 u c~ > u c~,u d~ > u d~,u s~ > u s~,c u~ > c u~,c d~ > c d~,c s~ > c s~,d u~ > d u~,d c~ > d c~,d s~ > d s~,s u~ > s u~,s c~ > s c~,s d~ > s d~
mirror c~ u > u c~,d~ u > u d~,s~ u > u s~,u~ c > c u~,d~ c > c d~,s~ c > c s~,u~ d > d u~,c~ d > d c~,s~ d > d s~,u~ s > s u~,c~ s > s c~,d~ s > s d~
7 u~ c~ > u~ c~,u~ d~ > u~ d~,u~ s~ > u~ s~,c~ d~ > c~ d~,c~ s~ > c~ s~,d~ s~ > d~ s~
mirror c~ u~ > u~ c~,d~ u~ > u~ d~,s~ u~ > u~ s~,d~ c~ > c~ d~,s~ c~ > c~ s~,s~ d~ > d~ s~

(All processes in each of the 7 subprocesses (and their mirror processes, i.e., with exchange of the initial state particles) have identical matrix elements, and are represented by a single matrix.f file).

The connection between the diagrams of the processes and the integration channels is given by config_subproc_map.inc:

DATA (CONFSUB(I,1),I=1,7)/1,2,1,1,0,1,1/
DATA (CONFSUB(I,2),I=1,7)/2,0,2,0,0,0,0/
DATA (CONFSUB(I,3),I=1,7)/0,1,0,0,1,0,0/

The columns are subprocesses, and the rows give the channels, while the numbers are the diagrams. So channel 1 (G1) corresponds to the 1st diagrams in subprocess 1, 2nd in subprocess 2, etc. Finally, there are diagrams that have symmetric divergency structures when you make a permutation of final-state particles. An example here is diagram 1 and 2, which correspond to the t- and u-channel diagram in u u > u u respectively. MadGraph recognizes this symmetry, and combines also these symmetric channels, so you will find only 2 integration channels in this subprocess directory, G1 and G3. These symmetric channels are given by the file symfact.dat, in this case:

1 1
2 -1
3 1

The "-1" after the 2 means that channel 2 is combined with channel 1. The corresponding permutations is given by the file symperms.inc.

If you are wondering which contribution each subprocess and permutation gives to a given channel, this info is given in the G*/log.txt files. Take G1 as an example. After each iteration, the relative weights are written out for each contributing process and each permutation:
...
Relative summed weights:
0.2561E-01 0.0000E+00 0.1052E+00 0.6983E-01 0.8473E-02 0.0000E+00 0.1188E+00 0.1208E+00 ...
0.5452E-01 0.0000E+00 0.0000E+00 0.0000E+00 0.1091E-01 0.0000E+00 0.0000E+00 0.0000E+00 ...
...
There are 14 entries in each row, corresponding to the 7 processes and their mirror processes (proc1 mirror1 proc2 mirror2 etc). The rows correspond to the permutation channels.