== Software.MadWeight Analyzer == === Automatic Documentation === [http://cp3wks05.fynu.ucl.ac.be/MW_epydoc/frames.html 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 1. Find the best(s) Enlarged constraint sector for this diagram. 1. define how to generate each blob 1. 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 1. SubProcesses/MW_P..../leshouches.inc (come from madgraph) In This file we read the pid number of the external particle 1. Soure/Transfer_fct/ordering_file.inc 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. 1. Card/param_card.dat Give the parameter. (we use only the width of the particle) ==== Output ==== MadWeight Analyzer returns 4 types of file: 1. main_code.f : gives the different step of the change of variable : [attachment:main_code.f main_code.f] 2. data.inc: initialize some parameter for fortran: [attachment:data.inc data.inc] 3. pmass2.inc: create a unique vector for the mass/width of particle.: [attachment:pmass2.inc pmass2.inc] 4. multi_channel.f: defines the importance off each change of variables points by poins in the PS ==== Option ==== In the MadWeight_card.dat you can choose an number of option || Options || || '''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 ==== [http://cp3wks05.fynu.ucl.ac.be/MW_epydoc/frames.html Automatic Documentation of Python script in MW (done by epydoc)] We Have 4 mother Class in Madweight Analyzer 1. Particle 2. Propagator 2. Ext_part 1. Diagram 2. MG_diagram 2. ECS_sector 2. Blob_sector 1. Level_generation 2. Blob_solution 2. ECS_sector 1. Block_sector 2. Block_b 2.Block_ecs We have also defined three 'tool' object 1. Mod_file 1. Multi_list 1. Option For more information look at MadWeightDiagramClass -- Main.OlivierMattelaer - 22 Feb 2008