Changes between Version 12 and Version 13 of LoopInducedTimesTree


Ignore:
Timestamp:
06/16/17 18:05:14 (5 months ago)
Author:
Valentin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • LoopInducedTimesTree

    v12 v13  
    208208 
    209209You can then simply run the command 'prepare_model_for_loopInducedXTrees' to preprocess your model before running loop-induced x tree computation as instructed above. 
     210 
     211Notice that if the "background" tree-level structure is very different than the loop-induced ones you are interfering against, then it might be a good idea to add the corresponding tree-level topologies to the multi-channel. 
     212This can be achieved with the following small modifications. Around line 104 of the file '<MG_root_path>/madgraph/various/diagram_symmetry.py' , to the lines 
     213{{{ 
     214        base_diagrams = base_objects.DiagramList( 
     215                   [(d.get_contracted_loop_diagram(base_model,FDStructRepo) if 
     216                   isinstance(d,loop_base_objects.LoopDiagram) else d) for d in 
     217               matrix_element.get('base_amplitude').get('loop_diagrams') \ 
     218                                                            if d.get('type')>0]) 
     219        diagrams = matrix_element.get_loop_diagrams() 
     220}}} 
     221Add the following ones right below: 
     222{{{ 
     223        base_diagrams.extend([(d.get_contracted_loop_diagram(base_model,FDStructRepo) if 
     224                   isinstance(d,loop_base_objects.LoopUVCTDiagram) else d) for d in 
     225               matrix_element.get('base_amplitude').get('loop_UVCT_diagrams')]) 
     226        diagrams.extend(matrix_element.get_loop_UVCT_diagrams()) 
     227}}} 
     228And then around the line 317 of '<MG_root_path>/madgraph/iolibs/group_subprocs.py' , to the line 
     229{{{ 
     230       diagrams = [(d.get_contracted_loop_diagram(model,FDStructRepo) if 
     231                   isinstance(d,loop_base_objects.LoopDiagram) else d) for d in 
     232                 me.get('base_amplitude').get('loop_diagrams') if d.get('type')>0] 
     233}}} 
     234Add the following one, right below: 
     235{{{ 
     236      diagrams.extend([(d.get_contracted_loop_diagram(model,FDStructRepo) if 
     237                   isinstance(d,loop_base_objects.LoopUVCTDiagram) else d) for d in 
     238                  me.get('base_amplitude').get('loop_UVCT_diagrams')]) 
     239}}} 
     240Finally, when using these modifications and in order to activate all these extra integration channels, you must set 
     241{{{ 
     242    MG5_aMC>set group_subprocesses False 
     243}}} 
     244before the generation of your process (irrespectively of your MG5aMC distribution this time).