Package madgraph :: Package loop :: Module loop_exporters :: Class LoopProcessOptimizedExporterFortranSA
[hide private]
[frames] | no frames]

Class LoopProcessOptimizedExporterFortranSA

source code

                                 object --+        
                                          |        
                        LoopExporterFortran --+    
                                              |    
                             object --+       |    
                                      |       |    
iolibs.export_v4.ProcessExporterFortran --+   |    
                                          |   |    
  iolibs.export_v4.ProcessExporterFortranSA --+    
                                              |    
                   LoopProcessExporterFortranSA --+
                                                  |
                                                 LoopProcessOptimizedExporterFortranSA
Known Subclasses:

Class to take care of exporting a set of loop matrix elements in the Fortran format which exploits the Pozzorini method of representing the loop numerators as polynomial to render its evaluations faster.

Instance Methods [hide private]
 
__init__(self, mgme_dir='', dir_path='', opt=None)
Initiate the LoopProcessOptimizedExporterFortranSA with directory information on where to find all the loop-related source files, like CutTools and TIR
source code
 
copy_v4template(self, modelname)
Additional actions needed for setup of Template
source code
 
link_files_from_Subprocesses(self, proc_name='')
Does the same as the mother routine except that it also links coef_specs.inc in the HELAS folder.
source code
 
link_TIR(self, targetPath, libpath, libname, tir_name='TIR')
Link the TIR source directory inside the target path given in argument
source code
 
write_matrix_element_v4(self, writer, matrix_element, fortran_model, proc_id='', config_map=[])
Writes loop_matrix.f, CT_interface.f,TIR_interface.f,GOLEM_inteface.f and loop_num.f only but with the optimized FortranModel
source code
 
set_TIR_replace_dict_entries(self)
Specify the entries of the replacement dictionary which depend on the choice of Tensor Integral Reduction (TIR) libraries specified by the user and their availability on the system.
source code
 
set_optimized_output_specific_replace_dict_entries(self, matrix_element)
Specify the entries of the replacement dictionary which are specific to the optimized output and only relevant to it (the more general entries are set in the the mother class LoopProcessExporterFortranSA.
source code
 
write_loop_num(self, writer, matrix_element, fortran_model)
Create the file containing the core subroutine called by CutTools which contains the Helas calls building the loop
source code
 
write_CT_interface(self, writer, matrix_element)
We can re-use the mother one for the loop optimized output.
source code
 
write_TIR_interface(self, writer, matrix_element)
Create the file TIR_interface.f which does NOT contain the subroutine defining the loop HELAS-like calls along with the general interfacing subroutine.
source code
 
write_GOLEM_interface(self, writer, matrix_element)
Create the file GOLEM_interface.f which does NOT contain the subroutine defining the loop HELAS-like calls along with the general interfacing subroutine.
source code
 
write_polynomial_subroutines(self, writer, matrix_element)
Subroutine to create all the subroutines relevant for handling the polynomials representing the loop numerator
source code
 
write_mp_compute_loop_coefs(self, writer, matrix_element, fortran_model, noSplit=False)
Create the write_mp_compute_loop_coefs.f file.
source code
 
fix_coef_specs(self, overall_max_lwf_size, overall_max_loop_vert_rank)
If processes with different maximum loop wavefunction size or different maximum loop vertex rank have to be output together, then the file 'coef.inc' in the HELAS Source folder must contain the overall maximum of these quantities.
source code
 
setup_check_sa_replacement_dictionary(self, split_orders, squared_orders, amps_orders)
Sets up the replacement dictionary for the writeout of the steering file check_sa.f
source code
 
write_loopmatrix(self, writer, matrix_element, fortran_model, noSplit=False, write_auxiliary_files=True)
Create the loop_matrix.f file.
source code

Inherited from LoopProcessExporterFortranSA: cat_coeff, compiler_choice, convert_model_to_mg4, generate_general_replace_dict, generate_loop_subprocess, generate_subprocess_directory_v4, get_ME_identifier, get_amp_to_jamp_map, get_color_matrix, make, make_model_symbolic_link, make_source_links, split_HELASCALLS, turn_to_mp_calls, write_born_amps_and_wfs, write_bornmatrix, write_check_sa, write_improve_ps, write_makefile_TIR

Inherited from LoopExporterFortran: get_aloha_model, link_CutTools, write_mp_files

Inherited from iolibs.export_v4.ProcessExporterFortranSA: export_model_files, finalize_v4_directory, write_check_sa_splitOrders, write_source_makefile

Inherited from iolibs.export_v4.ProcessExporterFortran: coeff, export_helas, format_integer_list, get_JAMP_coefs, get_JAMP_lines, get_JAMP_lines_split_order, get_amp2_lines, get_color_data_lines, get_den_factor_line, get_helicity_lines, get_ic_line, get_icolamp_lines, get_leshouche_lines, get_mg5_info_lines, get_pdf_lines, get_process_info_lines, get_split_orders_lines, replace_make_opt_c_compiler, replace_make_opt_f_compiler, set_chosen_SO_index, set_compiler, set_cpp_compiler, set_fortran_compiler, write_configs_file, write_configs_file_from_diagrams, write_helamp_madspin, write_leshouche_file, write_maxamps_file, write_maxparticles_file, write_nexternal_file, write_nexternal_madspin, write_ngraphs_file, write_pmass_file, write_procdef_mg5, write_props_file

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]
  template_dir = '/Users/omatt/Documents/eclipse/madgraph5/MG5_a...
  group_loops = True
  all_tir = ['pjfry', 'iregi', 'golem']

Inherited from LoopProcessExporterFortranSA: MadLoop_banner

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, mgme_dir='', dir_path='', opt=None)
(Constructor)

source code 

Initiate the LoopProcessOptimizedExporterFortranSA with directory information on where to find all the loop-related source files, like CutTools and TIR

Overrides: object.__init__

copy_v4template(self, modelname)

source code 

Additional actions needed for setup of Template

Overrides: iolibs.export_v4.ProcessExporterFortran.copy_v4template

link_files_from_Subprocesses(self, proc_name='')

source code 

Does the same as the mother routine except that it also links coef_specs.inc in the HELAS folder.

Overrides: LoopProcessExporterFortranSA.link_files_from_Subprocesses

write_matrix_element_v4(self, writer, matrix_element, fortran_model, proc_id='', config_map=[])

source code 

Writes loop_matrix.f, CT_interface.f,TIR_interface.f,GOLEM_inteface.f and loop_num.f only but with the optimized FortranModel

Overrides: iolibs.export_v4.ProcessExporterFortran.write_matrix_element_v4

write_loop_num(self, writer, matrix_element, fortran_model)

source code 

Create the file containing the core subroutine called by CutTools which contains the Helas calls building the loop

Overrides: LoopProcessExporterFortranSA.write_loop_num

write_CT_interface(self, writer, matrix_element)

source code 

We can re-use the mother one for the loop optimized output.

Overrides: LoopProcessExporterFortranSA.write_CT_interface

fix_coef_specs(self, overall_max_lwf_size, overall_max_loop_vert_rank)

source code 

If processes with different maximum loop wavefunction size or different maximum loop vertex rank have to be output together, then the file 'coef.inc' in the HELAS Source folder must contain the overall maximum of these quantities. It is not safe though, and the user has been appropriatly warned at the output stage

write_loopmatrix(self, writer, matrix_element, fortran_model, noSplit=False, write_auxiliary_files=True)

source code 

Create the loop_matrix.f file.

Overrides: LoopProcessExporterFortranSA.write_loopmatrix

Class Variable Details [hide private]

template_dir

Value:
'/Users/omatt/Documents/eclipse/madgraph5/MG5_aMC_v2_2_2/madgraph/ioli\
bs/template_files/loop_optimized'