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

Created by Olivier Mattelaer on

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.