pdf#

Column production methods related to the PDF weights.

Classes:

pdf_weights(*args[, requires_func, ...])

class pdf_weights(*args, requires_func=law.util.no_value, setup_func=law.util.no_value, sandbox=law.util.no_value, call_force=law.util.no_value, pick_cached_result=law.util.no_value, inst_dict=None, **kwargs)[source]#

Bases: Producer

Methods:

call_func(events[, outlier_threshold, ...])

Producer that determines the pdf up and down variations on an event-by-event basis.

skip_func()

Attributes:

data_only

mc_only

nominal_only

produces

shifts_only

uses

call_func(events, outlier_threshold=0.5, outlier_action='ignore', outlier_log_mode='warning', **kwargs)#

Producer that determines the pdf up and down variations on an event-by-event basis. This producer assumes that the nominal entry is always the first LHEPdfWeight value and that the nominal weight is already included in the LHEWeight. Can only be called with MC datasets.

The outlier_action defines the procedure of how to handle events with a pdf uncertainty above the outlier_threshold. Supported modes are: :rtype: Array

  • "ignore": events are kept unmodified

  • "remove": pdf weight nominal/up/down are all set to 0

  • "raise": an exception is raised

Additionally, the verbosity of the procedure can be set with outlier_log_mode, which offers the following options:

  • "none": no message is given

  • "info": a logger.info message is given

  • "debug": a logger.debug message is given

  • "warning": a logger.warning message is given

Resources:

data_only = False#
mc_only = True#
nominal_only = False#
produces = {'pdf_weight', 'pdf_weight_down', 'pdf_weight_up'}#
shifts_only = None#
skip_func()#
uses = {'LHEPdfWeight'}#