seeds#

Methods related to creating event and object seeds.

Classes:

deterministic_event_seeds(*args[, ...])

deterministic_jet_seeds(*args[, ...])

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

class deterministic_event_seeds(*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)

Produces deterministic event seeds and stores them in events which is also returned.

setup_func(reqs, inputs, reader_targets)

Setup function that defines the vectorized seed creation function once and stores it in the py:attr:create_seed attribute.

Attributes:

data_only

mc_only

nominal_only

produces

shifts_only

uses

call_func(events, **kwargs)#

Produces deterministic event seeds and stores them in events which is also returned.

Return type:

Array

Strategy:
  1. gather a selection of unambiguous integer features

  2. multiply them with a vector of primes

  3. use the resulting integer as an input to sha256 and hex-digest the result

  4. reverse it and int-cast the leading 16 characters, leading to a 64 bit int

data_only = False#
mc_only = False#
nominal_only = False#
produces = {'deterministic_seed'}#
setup_func(reqs, inputs, reader_targets)#

Setup function that defines the vectorized seed creation function once and stores it in the py:attr:create_seed attribute.

Return type:

None

shifts_only = None#
uses = {<Route 'Jet.nConstituents' (tags=optional)>, <Route 'GenJet.pt' (tags=optional)>, <Route 'Muon.jetIdx' (tags=optional)>, <Route 'Photon.pt' (tags=optional)>, 'event', <Route 'Tau.jetIdx' (tags=optional)>, <Route 'SV.pt' (tags=optional)>, 'luminosityBlock', <Route 'GenPart.pt' (tags=optional)>, <Route 'Jet.nElectrons' (tags=optional)>, <Route 'Tau.decayMode' (tags=optional)>, <Route 'Muon.nStations' (tags=optional)>, 'run', <Route 'Jet.nMuons' (tags=optional)>}#
class deterministic_jet_seeds(*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)

Produces deterministic seeds for each jet and stores them in events which is also returned.

Attributes:

data_only

mc_only

nominal_only

produces

shifts_only

uses

call_func(events, **kwargs)#

Produces deterministic seeds for each jet and stores them in events which is also returned. The seeds are based on the event seeds produced by deterministic_event_seeds() which is also used to access the py:attr:create_seed function. The strategy for producing seeds is identical.

Return type:

Array

data_only = False#
mc_only = False#
nominal_only = False#
produces = {'Jet.deterministic_seed'}#
shifts_only = None#
uses = {<class 'columnflow.production.cms.seeds.deterministic_event_seeds'>}#
class deterministic_seeds(*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)

Wrapper producer that invokes deterministic_event_seeds() and deterministic_jet_seeds().

Attributes:

data_only

mc_only

nominal_only

produces

shifts_only

uses

call_func(events, **kwargs)#

Wrapper producer that invokes deterministic_event_seeds() and deterministic_jet_seeds().

Return type:

Array

data_only = False#
mc_only = False#
nominal_only = False#
produces = {<class 'columnflow.production.cms.seeds.deterministic_event_seeds'>, <class 'columnflow.production.cms.seeds.deterministic_jet_seeds'>}#
shifts_only = None#
uses = {<class 'columnflow.production.cms.seeds.deterministic_event_seeds'>, <class 'columnflow.production.cms.seeds.deterministic_jet_seeds'>}#