Version 3 (modified by md987, 8 years ago) (diff)


MadWeight Analyzer

Automatic Documentation

Automatic Documentation of Python script in MW (done by epydoc)

Aim of the tool

MadWeight Analyzer creates a fortran code specific for each process. This gives the best(s) parametrization of the phase space for perform an integration with the matrix Element comming from the specified Feynman Diagram and from the Transfert functions. As we remind below, the phase space parametrization can be consider like a big puzzle where we have to find the piece which match the best. For this purpose, MadWeight Analyzer returns all the possibility which minimizes the number of unaligned peaked.

Object Structuration

As we have said the change of variable is a combinaison a puzzle piece, more exactely we have a set of local change of variable that we use to parametrize the all pahse space parametrisation. We made a distinction between two type of change of variable. Those wich restore the Energy impulsion conservation and the others (Enlarged Constraint Sector). All impulsion needed in this change of variable are treated in a second type of structure : the blob

Enlarged Constraint Sector

We have 6 different analytical change of variable

  • A: zero neutrino
  • B: one neutrino
  • C: one neutrino and one non massive particle
  • D: 2 neutrinos (ttbar like)
  • E: 2 neutrinos (HWW like)
  • F: 2 neutrinos (WW in T channel like)

Remarq that a blob can be a fuse particle, that authorizes us to choose wich propagator to allign (among the mother of the neutrino)

Blob Generation

A blob is generated step by step in choosing a block at each step.

Building Blok

We have 5 different analytical change of variable

  • A: 1 neut+3 free propagator -> allign 3 invariant mass
  • B: 1 neut+2 free propagator -> allign 2 invariant mass and generated one angle for the neutrino
  • C: 1 neut+1 free propagator -> allign 1 invariant mass and generated the two angles for the neutrino
  • D: 0 neut -> allign 1 invariant mass
  • E: 0 neut -> allign 2 invariant mass
Blob Solution

A lot of combinaison of this Bloks are possible. The first choice is trivial: We have to take the Block A if we can, then B and C. But the choice to do an D or an E (or nothing) is relativly equivalent and a lot of choice are available. MadWeight Analyzer will only give (up to) tree possibility:

  • Take at most at possible D-E (in this order)
  • Do not perform any change of variable of the type D-E
  • Do not perform any change of variable of the type E

Python Code

Step of the program

The code works in each Subprocesses in 4 step:

  1. Read the Feynam diagram, store the info in objects and reorganize the information for later purpose
  2. Find the best(s) Enlarged constraint sector for this diagram.
  3. define how to generate each blob
  4. Write the output file (fortran code)

Request Input

MadWeight Analyzer read 4 files:

  1. SubProcesses/MW_P..../python_data.txt (come from madgraph) This file contains all the feynman diagram information
  2. SubProcesses/MW_P..../ (come from madgraph) In This file we read the pid number of the external particle
  3. Soure/Transfer_fct/ Gives the information (from the transfer functions) on which type of particle have a sufficient large TF on this momenta to enter in a D or E change of variable.
  4. Card/param_card.dat Give the parameter. (we use only the width of the particle)


MadWeight Analyzer returns 4 types of file:

  1. main_code.f : gives the different step of the change of variable : main_code.f
  2. initialize some parameter for fortran:
  3. create a unique vector for the mass/width of particle.:
  4. multi_channel.f: defines the importance off each change of variables points by poins in the PS


In the MadWeight_card.dat you can choose an number of option

Block_name TAG * default value* utility
MW_Gen 1. 1 In ECS, choice which propagator to allign 1: thiner 2: nearest of the neutrino
MW_Gen 2. 1 In Blob, choice which propagator to allign 1: thiner 2: nearest
MW_Gen 3. 4 Maximal number of ECS consider
MW_Gen 4. T Use type 1 solution for blob
MW_Gen 5. T Use type 2 solution for blob
MW_Gen 6. T Use type 3 solution for blob
MW_Gen 11. T Authorize ECS type A
MW_Gen 12. T Authorize ECS type B
MW_Gen 13. T Authorize ECS type C
MW_Gen 14. T Authorize ECS type D
MW_Gen 15. T Authorize ECS type E
MW_Gen 16. T Authorize ECS type F
MW_Run 3. T control the efficiency of each block

More Code information: Class

Automatic Documentation of Python script in MW (done by epydoc)

We Have 4 mother Class in Madweight Analyzer

  1. Particle
    1. Propagator
    2. Ext_part
  2. Diagram
    1. MG_diagram
    2. ECS_sector
    3. Blob_sector
  3. Level_generation
    1. Blob_solution
    2. ECS_sector
  4. Block_sector
    1. Block_b 2.Block_ecs

We have also defined three 'tool' object

  1. Mod_file
  2. Multi_list
  3. Option For more information look at MadWeightDiagramClass

-- Main.OlivierMattelaer - 22 Feb 2008

Attachments (5)

Download all attachments as: .zip