Package madgraph :: Package iolibs :: Module export_fks :: Class ProcessExporterFortranFKS
[hide private]
[frames] | no frames]

Class ProcessExporterFortranFKS

source code

                                  object --+        
                                           |        
     loop.loop_exporters.LoopExporterFortran --+    
                                               |    
                          object --+           |    
                                   |           |    
           export_v4.VirtualExporter --+       |    
                                       |       |    
        export_v4.ProcessExporterFortran --+   |    
                                           |   |    
          export_v4.ProcessExporterFortranSA --+    
                                               |    
loop.loop_exporters.LoopProcessExporterFortranSA --+
                                                   |
                                                  ProcessExporterFortranFKS
Known Subclasses:

Class to take care of exporting a set of matrix elements to Fortran (v4) format.

Instance Methods [hide private]
 
copy_fkstemplate(self)
create the directory run_name as a copy of the MadEvent Template, and clean the directory For now it is just the same as copy_v4template, but it will be modified
source code
 
write_makefile_TIR(self, writer, link_tir_libs, tir_libs, tir_include=[])
Create the file makefile_loop which links to the TIR libraries.
source code
 
write_make_opts(self, writer, link_tir_libs, tir_libs)
Create the file make_opts which links to the TIR libraries.
source code
 
copy_python_files(self)
copy python files required for the Template
source code
 
convert_model(self, model, wanted_lorentz=[], wanted_couplings=[])
Caches the aloha model created here when writing out the aloha fortran subroutine.
source code
 
write_maxparticles_file(self, writer, maxparticles)
Write the maxparticles.inc file for MadEvent
source code
 
write_maxconfigs_file(self, writer, maxconfigs)
Write the maxconfigs.inc file for MadEvent
source code
 
write_procdef_mg5(self, file_pos, modelname, process_str)
write an equivalent of the MG4 proc_card in order that all the Madevent Perl script of MadEvent4 are still working properly for pure MG5 run.
source code
 
write_init_map(self, file_pos, initial_states)
Write an initial state process map.
source code
 
get_ME_identifier(self, matrix_element, *args, **opts)
A function returning a string uniquely identifying the matrix element given in argument so that it can be used as a prefix to all MadLoop5 subroutines and common blocks related to it.
source code
 
write_coef_specs_file(self, virt_me_list)
writes the coef_specs.inc in the DHELAS folder.
source code
 
generate_directories_fks(self, matrix_element, fortran_model, me_number, me_ntot, path='/Users/omattelaer/Documents/workspace/3.0.1/MG5_aMC_v3_0_1', OLP='MadLoop')
Generate the Pxxxxx_i directories for a subprocess in MadFKS, including the necessary matrix.f and various helper files
source code
 
create_run_card(self, processes, history) source code
 
pass_information_from_cmd(self, cmd)
pass information from the command interface to the exporter.
source code
 
finalize(self, matrix_elements, history, mg5options, flaglist)
Finalize FKS directory by creating jpeg diagrams, html pages,proc_card_mg5.dat and madevent.tar.gz and create the MA5 card if necessary.
source code
 
write_real_from_born_configs(self, writer, matrix_element, fortran_model)
Writes the real_from_born_configs.inc file that contains the mapping to go for a given born configuration (that is used e.g.
source code
 
write_real_from_born_configs_dummy(self, writer, matrix_element, fortran_model)
write a dummy file
source code
 
write_amp_split_orders_file(self, writer, amp_split_orders)
write the include file with the information of the coupling power for the differen entries in the amp_split array
source code
 
write_orders_file(self, writer, matrix_element)
writes the include file with the informations about coupling orders.
source code
 
write_get_mass_width_file(self, writer, makeinc, model)
Write the get_mass_width_file.f file for MG4.
source code
 
write_configs_and_props_info_declarations(self, writer, max_iconfig, max_leg_number, nfksconfs, fortran_model)
writes the declarations for the variables relevant for configs_and_props
source code
 
write_configs_and_props_info_file(self, filename, matrix_element)
writes the configs_and_props_info.inc file that cointains all the (real-emission) configurations (IFOREST) as well as the masses and widths of intermediate particles
source code
 
write_leshouche_info_declarations(self, writer, nfksconfs, maxproc, maxflow, nexternal, fortran_model)
writes the declarations for the variables relevant for leshouche_info
source code
 
write_genps(self, writer, maxproc, ngraphs, ncolor, maxflow, fortran_model)
writes the genps.inc file
source code
 
write_leshouche_info_file(self, filename, matrix_element)
writes the leshouche_info.inc file which contains the LHA informations for all the real emission processes
source code
 
write_real_wrappers(self, writer_me, writer_lum, matrix_element, sqsolist, fortran_model)
writes the wrappers which allows to chose among the different real matrix elements and among the different parton luminosities and among the various helper functions for the split-orders
source code
 
draw_feynman_diagrams(self, matrix_element)
Create the ps files containing the feynman diagrams for the born process, as well as for all the real emission processes
source code
 
write_real_matrix_elements(self, matrix_element, fortran_model)
writes the matrix_i.f files which contain the real matrix elements
source code
 
write_extra_cnt_wrapper(self, writer, cnt_me_list, fortran_model)
write a wrapper for the extra born counterterms that may be present e.g.
source code
 
write_split_me_fks(self, writer, matrix_element, fortran_model, proc_type, proc_prefix='', start_dict={})
Export a matrix element using the split_order format proc_type is either born, bhel, real or cnt, start_dict contains additional infos to be put in replace_dict
source code
 
write_pdf_calls(self, matrix_element, fortran_model)
writes the parton_lum_i.f files which contain the real matrix elements.
source code
 
generate_born_fks_files(self, matrix_element, fortran_model, me_number, path)
generates the files needed for the born amplitude in the P* directory, which will be needed by the P* directories
source code
 
generate_virtuals_from_OLP(self, process_list, export_path, OLP)
Generates the library for computing the loop matrix elements necessary for this process using the OLP specified.
source code
 
write_BinothLHA_inc(self, processes, proc_to_label, SubProcPath)
Write the file Binoth_proc.inc in each SubProcess directory so as to provide the right process_label to use in the OLP call to get the loop matrix element evaluation.
source code
 
parse_contract_file(self, contract_file_path)
Parses the BLHA contract file, make sure all parameters could be understood by the OLP and return a mapping of the processes (characterized by the pdg's of the initial and final state particles) to their process label.
source code
 
generate_virt_directory(self, loop_matrix_element, fortran_model, dir_name)
writes the V**** directory inside the P**** directories specified in dir_name
source code
 
write_lh_order(self, filename, process_list, OLP='MadLoop')
Creates the OLE_order.lh file.
source code
 
write_born_fks(self, writer, fksborn, fortran_model)
Export a matrix element to a born.f file in MadFKS format
source code
 
write_born_hel(self, writer, fksborn, fortran_model)
Export a matrix element to a born_hel.f file in MadFKS format
source code
 
write_sborn_sf(self, writer, me, nsqorders, fortran_model)
Creates the sborn_sf.f file, containing the calls to the different color linked borns
source code
 
get_chargeprod(self, charge_list, ninitial, n, m)
return the product of charges (as a string) of particles m and n.
source code
 
write_b_sf_fks(self, writer, fksborn, ilink, fortran_model)
Create the b_sf_xxx.f file for the ilink-th soft linked born
source code
 
write_born_nhel_file(self, writer, me, nflows, fortran_model)
Write the born_nhel.inc file for MG4.
source code
 
write_nfksconfigs_file(self, writer, fksborn, fortran_model)
Writes the content of nFKSconfigs.inc, which just gives the total FKS dirs as a parameter.
source code
 
write_fks_info_file(self, writer, fksborn, fortran_model)
Writes the content of fks_info.inc, which lists the informations on the possible splittings of the born ME.
source code
 
write_pdf_file(self, writer, matrix_element, n, fortran_model)
Write the auto_dsig.f file for MadFKS, which contains pdf call information
source code
 
write_coloramps_file(self, writer, mapconfigs, me, fortran_model)
Write the coloramps.inc file for MadEvent
source code
 
write_born_leshouche_file(self, writer, me, fortran_model)
Write the leshouche.inc file for MG4
source code
 
write_born_conf_file(self, writer, me, fortran_model)
Write the configs.inc file for the list of born matrix-elements
source code
 
write_born_props_file(self, writer, me, s_and_t_channels, fortran_model)
Write the configs.inc file for the list of born matrix-elements
source code
 
write_dname_file(self, writer, matrix_element, fortran_model)
Write the dname.mg file for MG4
source code
 
write_iproc_file(self, writer, me_number)
Write the iproc.dat file for MG4
source code
 
get_fks_j_from_i_lines(self, me, i=0)
generate the lines for fks.inc describing initializating the fks_j_from_i array
source code
 
get_leshouche_lines(self, matrix_element, ime)
Write the leshouche.inc file for MG4
source code
 
get_leshouche_lines_dummy(self, matrix_element, ime)
As get_leshouche_lines, but for 'fake' real emission processes (LOonly In this case, write born color structure times ij -> i,j splitting)
source code
 
get_den_factor_lines(self, fks_born, born_me=None)
returns the lines with the information on the denominator keeping care of the identical particle factors in the various real emissions If born_me is procided, it is used instead of fksborn.born_me
source code
 
get_ij_lines(self, fks_born)
returns the lines with the information on the particle number of the born that splits
source code
 
get_pdf_lines_mir(self, matrix_element, ninitial, subproc_group=False, mirror=False)
Generate the PDF lines for the auto_dsig.f file
source code
 
get_color_data_lines_from_color_matrix(self, color_matrix, n=6)
Return the color matrix definition lines for the given color_matrix.
source code
 
write_maxamps_file(self, writer, maxamps, maxflows, maxproc, maxsproc)
Write the maxamps.inc file for MG4.
source code
 
write_ncombs_file(self, writer, matrix_element, fortran_model)
Write the ncombs.inc file for MadEvent.
source code
 
write_config_subproc_map_file(self, writer, s_and_t_channels)
Write a dummy config_subproc.inc file for MadEvent
source code
 
write_colors_file(self, writer, matrix_element)
Write the get_color.f file for MadEvent, which returns color for all particles used in the matrix element.
source code
 
write_props_file(self, writer, matrix_element, fortran_model, s_and_t_channels)
Write the props.inc file for MadEvent.
source code
 
write_subproc(self, writer, subprocdir)
Append this subprocess to the subproc.mg file for MG4
source code

Inherited from loop.loop_exporters.LoopProcessExporterFortranSA: __init__, cat_coeff, compiler_choice, copy_template, generate_general_replace_dict, generate_loop_subprocess, generate_subprocess_directory, get_SubProc_folder_name, get_amp_to_jamp_map, get_color_matrix, get_context, link_files_from_Subprocesses, loop_additional_template_setup, make, make_model_symbolic_link, make_source_links, split_HELASCALLS, turn_to_mp_calls, write_CT_interface, write_born_amps_and_wfs, write_bornmatrix, write_check_sa, write_f2py_check_sa, write_f2py_makefile, write_f2py_splitter, write_improve_ps, write_loop_makefile_definitions, write_loop_matrix_element_v4, write_loop_num, write_loopmatrix, write_process_info_file

Inherited from loop.loop_exporters.LoopExporterFortran: get_aloha_model, link_CutTools, write_mp_files

Inherited from export_v4.ProcessExporterFortranSA: create_MA5_cards, export_model_files, write_check_sa_splitOrders, write_matrix_element_v4, write_source_makefile

Inherited from export_v4.ProcessExporterFortran: coeff, create_default_madanalysis5_cards, create_proc_charac, export_helas, export_processes, 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_mg5_info_lines, get_pdf_lines, get_process_info_lines, get_source_libraries_list, get_split_orders_lines, modify_grouping, 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_nexternal_file, write_nexternal_madspin, write_ngraphs_file, write_pdf_opendata, write_pmass_file

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

Class Variables [hide private]

Inherited from loop.loop_exporters.LoopProcessExporterFortranSA: MadLoop_banner, madloop_makefile_name, template_dir

Inherited from loop.loop_exporters.LoopExporterFortran: default_opt, include_names

Inherited from export_v4.ProcessExporterFortranSA: matrix_template

Inherited from export_v4.ProcessExporterFortran: grouped_mode

Inherited from export_v4.VirtualExporter: check, exporter, output, sa_symmetry

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

convert_model(self, model, wanted_lorentz=[], wanted_couplings=[])

source code 

Caches the aloha model created here when writing out the aloha fortran subroutine.

Overrides: export_v4.VirtualExporter.convert_model

write_maxparticles_file(self, writer, maxparticles)

source code 

Write the maxparticles.inc file for MadEvent

Overrides: export_v4.ProcessExporterFortran.write_maxparticles_file

write_procdef_mg5(self, file_pos, modelname, process_str)

source code 

write an equivalent of the MG4 proc_card in order that all the Madevent Perl script of MadEvent4 are still working properly for pure MG5 run.

Overrides: export_v4.ProcessExporterFortran.write_procdef_mg5

write_init_map(self, file_pos, initial_states)

source code 

Write an initial state process map. Each possible PDF combination gets an unique identifier.

get_ME_identifier(self, matrix_element, *args, **opts)

source code 

A function returning a string uniquely identifying the matrix element given in argument so that it can be used as a prefix to all MadLoop5 subroutines and common blocks related to it. This allows to compile several processes into one library as requested by the BLHA (Binoth LesHouches Accord) guidelines. The MadFKS design necessitates that there is no process prefix.

Overrides: loop.loop_exporters.LoopProcessExporterFortranSA.get_ME_identifier

write_coef_specs_file(self, virt_me_list)

source code 

writes the coef_specs.inc in the DHELAS folder. Should not be called in the non-optimized mode

create_run_card(self, processes, history)

source code 
Overrides: export_v4.ProcessExporterFortran.create_run_card

pass_information_from_cmd(self, cmd)

source code 

pass information from the command interface to the exporter. Please do not modify any object of the interface from the exporter.

Overrides: export_v4.VirtualExporter.pass_information_from_cmd

finalize(self, matrix_elements, history, mg5options, flaglist)

source code 
Finalize FKS directory by creating jpeg diagrams, html
        pages,proc_card_mg5.dat and madevent.tar.gz and create the MA5 card if
necessary.

Overrides: export_v4.VirtualExporter.finalize

write_real_from_born_configs(self, writer, matrix_element, fortran_model)

source code 

Writes the real_from_born_configs.inc file that contains the mapping to go for a given born configuration (that is used e.g. in the multi-channel phase-space integration to the corresponding real-emission diagram, i.e. the real emission diagram in which the combined ij is split in i_fks and j_fks.

write_orders_file(self, writer, matrix_element)

source code 

writes the include file with the informations about coupling orders. In particular this file should contain the constraints requested by the user for all the orders which are split

write_get_mass_width_file(self, writer, makeinc, model)

source code 

Write the get_mass_width_file.f file for MG4. Also update the makeinc.inc file

write_extra_cnt_wrapper(self, writer, cnt_me_list, fortran_model)

source code 

write a wrapper for the extra born counterterms that may be present e.g. if the process has gluon at the born

write_pdf_calls(self, matrix_element, fortran_model)

source code 

writes the parton_lum_i.f files which contain the real matrix elements. If no real emission existst, write the one for the born

write_BinothLHA_inc(self, processes, proc_to_label, SubProcPath)

source code 

Write the file Binoth_proc.inc in each SubProcess directory so as to provide the right process_label to use in the OLP call to get the loop matrix element evaluation. The proc_to_label is the dictionary of the format of the one returned by the function parse_contract_file.

parse_contract_file(self, contract_file_path)

source code 

Parses the BLHA contract file, make sure all parameters could be understood by the OLP and return a mapping of the processes (characterized by the pdg's of the initial and final state particles) to their process label. The format of the mapping is {((in_pdgs),(out_pdgs)):proc_label}.

write_lh_order(self, filename, process_list, OLP='MadLoop')

source code 

Creates the OLE_order.lh file. This function should be edited according to the OLP which is used. For now it is generic.

get_chargeprod(self, charge_list, ninitial, n, m)

source code 

return the product of charges (as a string) of particles m and n. Special sign conventions may be needed for initial/final state particles

write_born_nhel_file(self, writer, me, nflows, fortran_model)

source code 

Write the born_nhel.inc file for MG4. Write the maximum as they are typically used for setting array limits.

write_nfksconfigs_file(self, writer, fksborn, fortran_model)

source code 

Writes the content of nFKSconfigs.inc, which just gives the total FKS dirs as a parameter. nFKSconfigs is always >=1 (use a fake configuration for LOonly)

write_fks_info_file(self, writer, fksborn, fortran_model)

source code 

Writes the content of fks_info.inc, which lists the informations on the possible splittings of the born ME. nconfs is always >=1 (use a fake configuration for LOonly). The fake configuration use an 'antigluon' (id -21, color=8) as i_fks and the last colored particle as j_fks.

get_leshouche_lines(self, matrix_element, ime)

source code 

Write the leshouche.inc file for MG4

Overrides: export_v4.ProcessExporterFortran.get_leshouche_lines

get_color_data_lines_from_color_matrix(self, color_matrix, n=6)

source code 

Return the color matrix definition lines for the given color_matrix. Split rows in chunks of size n.

write_maxamps_file(self, writer, maxamps, maxflows, maxproc, maxsproc)

source code 

Write the maxamps.inc file for MG4.

Overrides: export_v4.ProcessExporterFortran.write_maxamps_file

write_props_file(self, writer, matrix_element, fortran_model, s_and_t_channels)

source code 

Write the props.inc file for MadEvent. Needs input from write_configs_file. With respect to the parent routine, it has some more specific formats that allow the props.inc file to be read by the link program

Overrides: export_v4.ProcessExporterFortran.write_props_file