![]() |
Belle II Software
release-06-02-00
|


Public Member Functions | |
| def | additional_setup (self, path) |
| def | __description__ (self) |
| def | __category__ (self) |
| def | __authors__ (self) |
| def | __contact__ (self) |
| def | code (self) |
| def | load_standard_lists (self, path) |
| def | build_lists (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) |
Static Public Member Functions | |
| def | fei_precuts (path) |
| def | run_fei_for_skims (FEIChannelArgs, FEIPrefix, analysisGlobaltag, *path) |
| def | setup_fei_aliases (FEIChannelArgs) |
Public Attributes | |
| mc | |
| SkimLists | |
| name | |
| OutputFileName | |
| additionalDataDescription | |
Private Member Functions | |
| def | _method_unchanged (self, method) |
Private Attributes | |
| _ConditionalPath | |
| _udstOutput | |
| _validation | |
Static Private Attributes | |
| list | __authors__ = ["Racha Cheaib", "Hannah Wakeling", "Phil Grace"] |
| __contact__ = __liaison__ | |
| string | __category__ = "physics, Full Event Interpretation" |
| _MainPath = None | |
Base class for FEI skims. Applies event-level pre-cuts and applies the FEI.
|
inherited |
Produce the skim particle lists and write uDST file.
Parameters:
path (basf2.Path): Skim path to be processed.
Reimplemented in CombinedSkim.
|
privateinherited |
| def additional_setup | ( | self, | |
| path | |||
| ) |
Apply pre-FEI event-level cuts and apply the FEI. This setup function is run
by all FEI skims, so they all have the save event-level pre-cuts.
This function passes `FEIChannelArgs` to the cached function `run_fei_for_skims`
to avoid applying the FEI twice.
See also:
`fei_precuts` for event-level cut definitions.
Reimplemented from BaseSkim.
Definition at line 225 of file fei.py.
|
inherited |
Apply the ``hlt_hadron`` selection if the property ``ApplyHLTHadronCut`` is True.
Parameters:
path (basf2.Path): Skim path to be processed.
Reimplemented in CombinedSkim.
|
inherited |
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 in TDCPV_ccs, TDCPV_qqs, TauThrust, TauGeneric, TauLFV, SystematicsBhabha, SystematicsKshort, SystematicsJpsi, SystematicsRadMuMuFromHLTFlag, SystematicsFourLeptonFromHLTFlag, Random, SystematicsPhiGamma, SystematicsLambda, SystematicsRadEE, SystematicsEELL, SystematicsRadMuMu, Resonance, SystematicsTracking, SystematicsDstar, B0toDstarl_Kpi_Kpipi0_Kpipipi, SLUntagged, PRsemileptonicUntagged, InclusiveLambda, CharmoniumPsi, BottomoniumUpsilon, BottomoniumEtabExclusive, SingleTagPseudoScalar, LowMassTwoTrack, TwoTrackLeptonsForLuminosity, dilepton, LeptonicUntagged, feiSL, feiHadronic, feiSLBplus, feiSLB0, feiHadronicBplus, feiHadronicB0, inclusiveBplusToKplusNuNu, BtoXll_LFV, BtoXll, BtoXgamma, AA2uuuu, InelasticDarkMatterWithDarkHiggs, BtoKplusLLP, InelasticDarkMatter, RadBhabhaV0Control, DielectronPlusMissingEnergy, GammaGammaControlKLMDark, EGammaControlDark, LFVZpVisible, ElectronMuonPlusMissingEnergy, DimuonPlusMissingEnergy, ALP3Gamma, SinglePhotonDark, DstToD0Pi_D0ToVGamma, EarlyData_DstToD0Pi_D0ToHpHmPi0, EarlyData_DstToD0Pi_D0ToHpJmPi0, DstToD0Pi_D0ToHpJmKs, DstToD0Pi_D0ToNeutrals, DstToD0Pi_D0ToHpJmEta, DstToD0Pi_D0ToHpHmHpJm, DstToD0Pi_D0ToKsOmega, DstToD0Pi_D0ToHpHmPi0, DstToD0Pi_D0ToHpJmPi0, DstToD0Pi_D0ToHpJm, DstToDpPi0_DpToHpPi0, LambdacTopHpJm, XToDp_DpToHpHmJp, XToDp_DpToKsHp, DstToD0Pi_D0ToRare, XToD0_D0ToNeutrals, XToD0_D0ToHpJm, BtoRhopRhom, BtoHad3Tracks1Pi0, BtoHad1Pi0, BtoHadTracks, BtoPi0Pi0, B0toD0Kpipi0_pi0, B0toDstarD, B0toDD_Kpipi_Kspi, BtoD0rho_Kpipipi_Kpipi0, BtoD0rho_Kpi, BtoD0h_Kshh, BtoD0h_Kpipipi_Kpipi0, BtoD0h_Kpi, BtoD0h_hh, B0toDstarRho_D0pi_Kpipipi_Kpipi0, B0toDstarRho_D0pi_Kpi, B0toDrho_Kspi, B0toDrho_Kpipi, B0toDstarPi_D0pi_Kpipipi_Kpipi0, B0toDstarPi_D0pi_Kpi, B0toDpi_Kspi, B0toDpi_Kpipi, BtoD0h_Kspipipi0, BtoD0h_Kspi0, and CombinedSkim.
|
inherited |
|
static |
Skim pre-cuts are applied before running the FEI, to reduce computation time.
This setup function is run by all FEI skims, so they all have the save
event-level pre-cuts:
* :math:`n_{\\text{cleaned tracks}} \\geq 3`
* :math:`n_{\\text{cleaned ECL clusters}} \\geq 3`
* :math:`\\text{Visible energy of event (CMS frame)}>4~{\\rm GeV}`
We define "cleaned" tracks and clusters as:
* Cleaned tracks (``pi+:FEI_cleaned``): :math:`d_0 < 0.5~{\\rm cm}`,
:math:`|z_0| < 2~{\\rm cm}`, and :math:`p_T > 0.1~{\\rm GeV}` * Cleaned ECL
clusters (``gamma:FEI_cleaned``): :math:`0.296706 < \\theta < 2.61799`, and
:math:`E>0.1~{\\rm GeV}`
|
inherited |
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.
|
inherited |
Add the module `skim.utils.flags.InitialiseSkimFlag` to the path, which initialises flag for this skim to zero.
Reimplemented in CombinedSkim.
|
inherited |
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 in TDCPV_ccs, TDCPV_qqs, TauThrust, TauGeneric, TauLFV, SystematicsBhabha, SystematicsKshort, SystematicsJpsi, SystematicsRadMuMuFromHLTFlag, SystematicsFourLeptonFromHLTFlag, Random, SystematicsPhiGamma, SystematicsLambda, SystematicsRadEE, SystematicsEELL, SystematicsRadMuMu, Resonance, SystematicsTracking, SystematicsDstar, B0toDstarl_Kpi_Kpipi0_Kpipipi, SLUntagged, PRsemileptonicUntagged, InclusiveLambda, CharmoniumPsi, BottomoniumUpsilon, BottomoniumEtabExclusive, SingleTagPseudoScalar, dilepton, LeptonicUntagged, BtoXll_LFV, BtoXll, BtoXgamma, AA2uuuu, InelasticDarkMatterWithDarkHiggs, BtoKplusLLP, InelasticDarkMatter, RadBhabhaV0Control, DielectronPlusMissingEnergy, GammaGammaControlKLMDark, EGammaControlDark, LFVZpVisible, ElectronMuonPlusMissingEnergy, DimuonPlusMissingEnergy, SinglePhotonDark, DstToD0Pi_D0ToVGamma, EarlyData_DstToD0Pi_D0ToHpHmPi0, EarlyData_DstToD0Pi_D0ToHpJmPi0, DstToD0Pi_D0ToHpJmKs, DstToD0Pi_D0ToNeutrals, DstToD0Pi_D0ToHpJmEta, DstToD0Pi_D0ToHpHmHpJm, DstToD0Pi_D0ToKsOmega, DstToD0Pi_D0ToHpHmPi0, DstToD0Pi_D0ToHpJmPi0, DstToD0Pi_D0ToHpJm, DstToDpPi0_DpToHpPi0, LambdacTopHpJm, XToDp_DpToHpHmJp, XToDp_DpToKsHp, DstToD0Pi_D0ToRare, XToD0_D0ToNeutrals, BtoRhopRhom, BtoHad3Tracks1Pi0, BtoHad1Pi0, BtoHadTracks, BtoPi0Pi0, B0toD0Kpipi0_pi0, B0toDstarD, B0toDD_Kpipi_Kspi, BtoD0rho_Kpipipi_Kpipi0, BtoD0rho_Kpi, BtoD0h_Kshh, BtoD0h_Kpipipi_Kpipi0, BtoD0h_Kpi, BtoD0h_hh, B0toDstarRho_D0pi_Kpipipi_Kpipi0, B0toDstarRho_D0pi_Kpi, B0toDrho_Kspi, B0toDrho_Kpipi, B0toDstarPi_D0pi_Kpipipi_Kpipi0, B0toDstarPi_D0pi_Kpi, B0toDpi_Kspi, B0toDpi_Kpipi, BtoD0h_Kspipipi0, BtoD0h_Kspi0, and CombinedSkim.
|
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.
|
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.
|
static |
Reconstruct hadronic and semileptonic :math:`B^0` and :math:`B^+` tags using
the generically trained FEI.
Parameters:
FEIChannelArgs (dict(str, bool)): A dict of keyword-boolean pairs to be
passed to `fei.get_default_channels`.
FEIPrefix (str): Prefix label for the FEI training used in the FEI skims.
path (`basf2.Path`): The skim path to be processed.
|
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.
|
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.
|
inherited |
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.
|
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.
|
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.