Package madgraph :: Package various :: Module process_checks
[hide private]
[frames] | no frames]

Module process_checks

source code

Several different checks for processes (and hence models): permutation tests, gauge invariance tests, lorentz invariance tests. Also class for evaluation of Python matrix elements, MatrixElementEvaluator.

Classes [hide private]
  MatrixElementEvaluator
Class taking care of matrix element evaluation, storing relevant quantities for speedup.
Functions [hide private]
 
run_multiprocs_no_crossings(function, multiprocess, stored_quantities, *args)
A wrapper function for running an iteration of a function over a multiprocess, without having to first create a process list (which makes a big difference for very large multiprocesses.
source code
 
check_already_checked(is_ids, fs_ids, sorted_ids, process, model, id_anti_id_dict={})
Check if process already checked, if so return True, otherwise add process and antiprocess to sorted_ids.
source code
 
check_processes(processes, param_card=None, quick=[])
Check processes by generating them with all possible orderings of particles (which means different diagram building and Helas calls), and comparing the resulting matrix element values.
source code
 
check_process(process, evaluator, quick)
Check the helas calls for a process by generating the process using all different permutations of the process legs (or, if quick, use a subset of permutations), and check that the matrix element is invariant under this.
source code
 
output_comparisons(comparison_results)
Present the results of a comparison in a nice list format mode short: return the number of fail process
source code
 
fixed_string_length(mystr, length)
Helper function to fix the length of a string by cutting it or adding extra space.
source code
 
check_gauge(processes, param_card=None)
Check gauge invariance of the processes by using the BRS check.
source code
 
check_gauge_process(process, evaluator)
Check gauge invariance for the process, unless it is already done.
source code
 
output_gauge(comparison_results, output='text')
Present the results of a comparison in a nice list format
source code
 
check_lorentz(processes, param_card=None)
Check if the square matrix element (sum over helicity) is lorentz invariant by boosting the momenta with different value.
source code
 
check_lorentz_process(process, evaluator)
Check gauge invariance for the process, unless it is already done.
source code
 
boost_momenta(p, boost_direction=1, beta=0.5)
boost the set momenta in the 'boost direction' by the 'beta' factor
source code
 
output_lorentz_inv(comparison_results, output='text')
Present the results of a comparison in a nice list format if output='fail' return the number of failed process -- for test--
source code
Variables [hide private]
  logger = logging.getLogger('madgraph.various.process_checks')
  __package__ = 'madgraph.various'
Function Details [hide private]

run_multiprocs_no_crossings(function, multiprocess, stored_quantities, *args)

source code 

A wrapper function for running an iteration of a function over a multiprocess, without having to first create a process list (which makes a big difference for very large multiprocesses. stored_quantities is a dictionary for any quantities that we want to reuse between runs.

check_gauge(processes, param_card=None)

source code 

Check gauge invariance of the processes by using the BRS check. For one of the massless external bosons (e.g. gluon or photon), replace the polarization vector (epsilon_mu) with its momentum (p_mu)