|
def | load_standard_lists (self, path) |
|
def | build_lists (self, path) |
|
def | __description__ (self) |
|
def | __category__ (self) |
|
def | __authors__ (self) |
|
def | __contact__ (self) |
|
def | code (self) |
|
def | additional_setup (self, path) |
|
def | validation_histograms (self, path) |
|
def | __call__ (self, path) |
|
def | postskim_path (self) |
|
def | skim_event_cuts (self, cut, *path) |
|
def | TestFiles (self) |
|
def | flag (self) |
|
def | initialise_skim_flag (self, path) |
|
def | update_skim_flag (self, path) |
|
def | __str__ (self) |
|
def | __name__ (self) |
|
def | set_skim_logging (self) |
|
def | output_udst (self, path) |
|
def | apply_hlt_hadron_cut_if_required (self, path) |
|
|
| mc |
|
| SkimLists |
|
| name |
|
| OutputFileName |
|
| additionalDataDescription |
|
|
| NoisyModules = None |
|
string | TestSampleProcess = "mixed" |
|
dictionary | MergeDataStructures = {} |
|
bool | ApplyHLTHadronCut = False |
|
bool | produce_on_tau_samples = True |
|
bool | produces_mdst_by_default = False |
|
| validation_sample = None |
|
bool | mc = True |
|
| analysisGlobaltag = None |
|
list | SkimLists = [] |
|
|
list | __authors__ = ["Ilya Komarov"] |
|
string | __description__ = "Systematics skim of :math:`ee\\to ee\\ell\\ell`" |
|
| __contact__ = __liaison__ |
|
string | __category__ = "systematics, lepton ID" |
|
| _MainPath = None |
|
| _ConditionalPath = None |
|
Definition at line 377 of file systematics.py.
◆ __call__()
def __call__ |
( |
|
self, |
|
|
|
path |
|
) |
| |
|
inherited |
Produce the skim particle lists and write uDST file.
Parameters:
path (basf2.Path): Skim path to be processed.
Reimplemented in CombinedSkim.
Definition at line 214 of file core.py.
◆ _method_unchanged()
def _method_unchanged |
( |
|
self, |
|
|
|
method |
|
) |
| |
|
privateinherited |
Check if the method of the class is the same as in its parent class, or if it has
been overridden.
Useful for determining if *e.g.* `validation_histograms` has been defined for a
particular skim.
Definition at line 375 of file core.py.
◆ additional_setup()
def additional_setup |
( |
|
self, |
|
|
|
path |
|
) |
| |
|
inherited |
Perform any setup steps necessary before running the skim.
Warning:
Standard particle lists should *not* be loaded in here. This should be done
by overriding the method `BaseSkim.load_standard_lists`. This is crucial for
avoiding loading lists twice when combining skims for production.
Parameters:
path (basf2.Path): Skim path to be processed.
Reimplemented in TDCPV_ccs, TDCPV_qqs, TauThrust, TauGeneric, Random, BaseFEISkim, ALP3Gamma, and CombinedSkim.
Definition at line 176 of file core.py.
◆ apply_hlt_hadron_cut_if_required()
def apply_hlt_hadron_cut_if_required |
( |
|
self, |
|
|
|
path |
|
) |
| |
|
inherited |
Apply the ``hlt_hadron`` selection if the property ``ApplyHLTHadronCut`` is True.
Parameters:
path (basf2.Path): Skim path to be processed.
Reimplemented in CombinedSkim.
Definition at line 452 of file core.py.
◆ build_lists()
def build_lists |
( |
|
self, |
|
|
|
path |
|
) |
| |
Create the skim lists to be saved in the output uDST. This function is where
the main skim cuts should be applied. This function should return a list of
particle list names.
Parameters:
path (basf2.Path): Skim path to be processed.
.. versionchanged:: release-06-00-00
Previously, this function was expected to set the attribute
`BaseSkim.SkimLists`. Now this is handled by `BaseSkim`, and this function is
expected to return the list of particle list names.
Reimplemented from BaseSkim.
Definition at line 386 of file systematics.py.
◆ code()
Eight-digit code assigned to this skim in the registry.
Definition at line 126 of file core.py.
◆ flag()
Event-level variable indicating whether an event passes the skim or not. To use
the skim flag without writing uDST output, use the argument ``udstOutput=False``
when instantiating the skim class.
Reimplemented in CombinedSkim.
Definition at line 347 of file core.py.
◆ initialise_skim_flag()
def initialise_skim_flag |
( |
|
self, |
|
|
|
path |
|
) |
| |
|
inherited |
Add the module `skim.utils.flags.InitialiseSkimFlag` to the path, which
initialises flag for this skim to zero.
Reimplemented in CombinedSkim.
Definition at line 355 of file core.py.
◆ load_standard_lists()
def load_standard_lists |
( |
|
self, |
|
|
|
path |
|
) |
| |
Load any standard lists. This code will be run before any
`BaseSkim.additional_setup` and `BaseSkim.build_lists`.
Note:
This is separated into its own function so that when skims are combined, any
standard lists used by two skims can be loaded just once.
Parameters:
path (basf2.Path): Skim path to be processed.
Reimplemented from BaseSkim.
Definition at line 383 of file systematics.py.
◆ output_udst()
def output_udst |
( |
|
self, |
|
|
|
path |
|
) |
| |
|
inherited |
Write the skim particle lists to an output uDST and print a summary of the
skim list statistics.
Parameters:
path (basf2.Path): Skim path to be processed.
Reimplemented in CombinedSkim.
Definition at line 425 of file core.py.
◆ postskim_path()
def postskim_path |
( |
|
self | ) |
|
|
inherited |
Return the skim path.
* If `BaseSkim.skim_event_cuts` has been run, then the skim lists will only be
created on a conditional path, so subsequent modules should be added to the
conditional path.
* If `BaseSkim.skim_event_cuts` has not been run, then the main analysis path is
returned.
Definition at line 244 of file core.py.
◆ set_skim_logging()
def set_skim_logging |
( |
|
self | ) |
|
|
inherited |
Turns the log level to ERROR for selected modules to decrease the total size
of the skim log files. Additional modules can be silenced by setting the attribute
`NoisyModules` for an individual skim.
Parameters:
path (basf2.Path): Skim path to be processed.
.. warning::
This method works by inspecting the modules added to the path, and setting
the log level to ERROR. This method should be called *after* all
skim-related modules are added to the path.
Reimplemented in CombinedSkim.
Definition at line 399 of file core.py.
◆ skim_event_cuts()
def skim_event_cuts |
( |
|
self, |
|
|
|
cut, |
|
|
* |
path |
|
) |
| |
|
inherited |
Apply event-level cuts in a skim-safe way.
Parameters:
cut (str): Event-level cut to be applied.
path (basf2.Path): Skim path to be processed.
Returns:
Path on which the rest of this skim should be processed.
On this path, only events which passed the event-level cut will
be processed further.
.. Tip::
If running this function in `BaseSkim.additional_setup` or
`BaseSkim.build_lists`, redefine the ``path`` to the path returned by
`BaseSkim.skim_event_cuts`, *e.g.*
.. code-block:: python
def build_lists(self, path):
path = self.skim_event_cuts("nTracks>4", path=path)
# rest of skim list building...
.. Note::
The motivation for using this function over `applyEventCuts` is that
`applyEventCuts` completely removes events from processing. If we combine
multiple skims in a single steering file (which is done in production), and
the first has a set of event-level cuts, then all the remaining skims will
never even see those events.
Internally, this function creates a new path, which is only processed for
events passing the event-level cut. To avoid issues around particles not
being available on the main path (leading to noisy error logs), we need to
add the rest of the skim to this path. So this new path is assigned to the
attribute ``BaseSkim._ConditionalPath``, and ``BaseSkim.__call__`` will run
all remaining methods on this path.
Definition at line 272 of file core.py.
◆ TestFiles()
Location of test MDST sample. To modify this, set the property
`BaseSkim.TestSampleProcess`, and this function will find an appropriate test
sample from the list in
``/group/belle2/dataprod/MC/SkimTraining/SampleLists/TestFiles.yaml``
If no sample can be found, an empty list is returned.
Reimplemented in CombinedSkim.
Definition at line 324 of file core.py.
◆ update_skim_flag()
def update_skim_flag |
( |
|
self, |
|
|
|
path |
|
) |
| |
|
inherited |
Add the module `skim.utils.flags.UpdateSkimFlag` to the path, which
updates flag for this skim.
.. Warning::
If a conditional path has been created before this, then this function
*must* run on the conditional path, since the skim lists are not guaranteed
to exist for all events on the main path.
Reimplemented in CombinedSkim.
Definition at line 362 of file core.py.
◆ validation_histograms()
def validation_histograms |
( |
|
self, |
|
|
|
path |
|
) |
| |
|
inherited |
Create validation histograms for the skim.
Parameters:
path (basf2.Path): Skim path to be processed.
Reimplemented in TDCPV_ccs, TDCPV_qqs, TauThrust, TauGeneric, TauLFV, SystematicsPhiGamma, SLUntagged, PRsemileptonicUntagged, CharmoniumPsi, LowMassTwoTrack, LeptonicUntagged, feiSLBplus, feiSLB0, feiHadronicBplus, feiHadronicB0, inclusiveBplusToKplusNuNu, BtoXll, BtoXgamma, BtoD0h_Kshh, BtoD0h_hh, BtoD0h_Kspipipi0, and BtoD0h_Kspi0.
Definition at line 206 of file core.py.
The documentation for this class was generated from the following file: