scanparamcardhandling(input_path=<function <lambda> at 0x10bb649b0>,
store_for_scan=<function <lambda> at 0x10bb442a8>,
get_run_name=<function <lambda> at 0x10bb44320>,
set_run_name=<function <lambda> at 0x10bb44398>,
result_path=<function <lambda> at 0x10bb44410>,
ignoreerror=<class 'madgraph.interface.common_run_interface.ZeroResult'>,
iteratorclass=<class 'models.check_param_card.ParamCardIterator'>,
summaryorder=<function <lambda> at 0x10bb44488>,
check_card=<function <lambda> at 0x10bb44500>)
| source code
|
This is a decorator for customizing/using scan over the param_card (or technically other)
This should be use like this:
@scanparamcardhandling(arguments)
def run_launch(self, *args, **opts)
possible arguments are listed above and should be function who takes a single
argument the instance of intereset. those return
input_path -> function that return the path of the card to read
store_for_scan -> function that return a dict of entry to keep in memory
get_run_name -> function that return the string with the current run_name
set_run_name -> function that return the function that allow the set the next run_name
result_path -> function that return the path of the summary result to write
ignoreerror -> one class of error which are not for the error
IteratorClass -> class to use for the iterator
summaryorder -> function that return the function to call to get the order
advanced:
check_card -> function that return the function to read the card and init stuff (compute auto-width/init self.iterator/...)
This function should define the self.param_card_iterator if a scan exists
and the one calling the auto-width functionalities/...
All the function are taking a single argument (an instance of the class on which the decorator is used)
and they can either return themself a function or a string.
Note:
1. the link to auto-width is not fully trivial due to the model handling
a. If you inherit from CommonRunCmd (or if the self.mother is). Then
everything should be automatic.
b. If you do not you can/should create the funtion self.get_model().
Which returns the appropriate MG model (like the one from import_ufo.import_model)
c. You can also have full control by defining your own do_compute_widths(self, line)
functions.
|