normalization#

Column production methods related to sample normalization event weights.

Classes:

normalization_weights(*args[, ...])

class normalization_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, **kwargs)

Uses luminosity information of internal py:attr:config_inst, the cross section of a process obtained through category_ids and the sum of event weights from the py:attr:selection_stats attribute to assign each event a normalization weight.

requires_func(reqs)

Adds the requirements needed by the underlying py:attr:task to access selection stats into reqs.

setup_func(reqs, inputs, reader_targets)

Sets up objects required by the computation of normalization weights and stores them as instance attributes: :rtype: None

skip_func()

Attributes:

data_only

mc_only

nominal_only

produces

shifts_only

uses

call_func(events, **kwargs)#

Uses luminosity information of internal py:attr:config_inst, the cross section of a process obtained through category_ids and the sum of event weights from the py:attr:selection_stats attribute to assign each event a normalization weight.

Return type:

Array

data_only = False#
mc_only = True#
nominal_only = False#
produces = {<class 'columnflow.production.processes.process_ids'>, 'normalization_weight'}#
requires_func(reqs)#

Adds the requirements needed by the underlying py:attr:task to access selection stats into reqs.

Return type:

None

setup_func(reqs, inputs, reader_targets)#

Sets up objects required by the computation of normalization weights and stores them as instance attributes: :rtype: None

  • py:attr:selection_stats: The stats dict loaded from the output of MergeSelectionsStats.

  • py:attr:sum_weights_table: A sparse array serving as a lookup table for the sum of event weights per process id.

  • py:attr:xs_table: A sparse array serving as a lookup table for cross sections of all processes known to the config of the task, with keys being process ids.

shifts_only = None#
skip_func()#
uses = {<class 'columnflow.production.processes.process_ids'>, 'mc_weight'}#