6.1.1. Standard Particles

Warning

Construction site!

At the moment, we are in a strange situation where some of the standard particle lists are actually not recommended for use with recent data processings.

However, some of these lists have been tested and can be used.

Tip

The following pi0 and V0 standard lists are good (i.e. recommended for use):

However, please check this Neutrals Performance confluence page for the latest updates.

Tip

The following standard lepton lists are good (i.e. recommended for use):

for a choice of the input listtype parameter among:

  • ‘UniformEff60’

  • ‘UniformEff70’

  • ‘UniformEff80’

  • ‘UniformEff90’

  • ‘UniformEff95’

However, please check the Lepton ID Performance confluence page for the latest updates.

The ultimate goal is that these standard particle lists will provide recommended selection criteria for final-state particles, and in some cases, for composite particles. The recommended selections will be provided by the performance group(s). Furthermore the intention is that systematics will be provided centrally for these recommended lists. For information about their status, please see BII-4105.

There are also some skimming, development and legacy lists available. These are specifically for use in skims, for study, or for comparison with Belle and old simulations. If you don’t know that you specifically need these legacy/skim lists, then avoid them.

Default final-state particle list builder functions

stdPi0s.stdPi0s(listtype='eff60_May2020', path=None, loadPhotonBeamBackgroundMVA=False)[source]

Function to prepare one of several standardized types of pi0 lists:

  • ‘all’ using gamma:all

  • ‘eff10_May2020’ gamma:pi0eff10_May2020, mass range selection, 10% pi0 efficiency list, optimized in May 2020

  • ‘eff20_May2020’ gamma:pi0eff20_May2020, mass range selection, 20% pi0 efficiency list, optimized in May 2020

  • ‘eff30_May2020’ gamma:pi0eff30_May2020, mass range selection, 30% pi0 efficiency list, optimized in May 2020

  • ‘eff40_May2020’ gamma:pi0eff40_May2020, mass range selection, 40% pi0 efficiency list, optimized in May 2020

  • ‘eff50_May2020’ gamma:pi0eff50_May2020, mass range selection, 50% pi0 efficiency list, optimized in May 2020

  • ‘eff60_May2020’ gamma:pi0eff60_May2020, mass range selection, 60% pi0 efficiency list, optimized in May 2020

You can also append “Fit” to the listtype which will run a mass fit and require that the fit did not fail. For example: “pi0:eff50_May2020Fit” is the 50% efficiency list plus a not-failing mass fit.

Parameters
  • listtype (str) – name of standard list

  • path (basf2.Path) – modules are added to this path

  • loadPhotonBeamBackgroundMVA (bool) – If true, photon candidates will be assigned a beam background probability.

stdV0s.stdKshorts(prioritiseV0=True, fitter='TreeFit', path=None)[source]

Load a combined list of the Kshorts list from V0 objects merged with a list of particles combined using the analysis ParticleCombiner module.

The ParticleList is named K_S0:merged. A vertex fit is performed and only candidates with an invariant mass in the range \(0.450 < M < 0.550~GeV\), and for which the vertex fit did not fail, are kept.

The vertex fitter can be selected among TreeFit, KFit, and Rave.

Parameters
  • prioritiseV0 (bool) – should the V0 mdst objects be prioritised when merging?

  • fitter (str) – vertex fitter name, valid options are TreeFit, KFit, and Rave.

  • path (basf2.Path) – the path to load the modules

stdV0s.stdLambdas(prioritiseV0=True, fitter='TreeFit', path=None)[source]

Load a combined list of the Lambda list from V0 objects merged with a list of particles combined using the analysis ParticleCombiner module.

The ParticleList is named Lambda0:merged. A vertex fit is performed and only candidates with an invariant mass in the range \(1.10 < M < 1.13~GeV\), and for which the vertex fit did not fail, are kept.

The vertex fitter can be selected among TreeFit, KFit, and Rave.

Parameters
  • prioritiseV0 (bool) – should the V0 mdst objects be prioritised when merging?

  • fitter (str) – vertex fitter name, valid options are TreeFit, KFit, and Rave.

  • path (basf2.Path) – the path to load the modules

stdCharged.stdE(listtype='good', method=None, classification=None, path=None)[source]

Function to prepare one of several standardized types of electron lists. See the documentation of stdLep for details.

It also accepts any of the legacy definitions for the listtype parameter to fall back to the stdCharged behaviour:

  • ‘all’

  • ‘good’

  • ‘loosepid’

  • ‘loose’

  • ‘higheff’

  • ‘95eff’

  • ‘90eff’

  • ‘85eff’

stdCharged.stdMu(listtype='good', method=None, classification=None, path=None)[source]

Function to prepare one of several standardized types of muon lists. See the documentation of stdLep for details.

It also accepts any of the legacy definitions for the listtype parameter to fall back to the stdCharged behaviour:

  • ‘all’

  • ‘good’

  • ‘loosepid’

  • ‘loose’

  • ‘higheff’

  • ‘95eff’

  • ‘90eff’

  • ‘85eff’

stdCharged.stdLep(pdgId, listtype, method, classification, path=None)[source]

Function to prepare one of several standardized types of lepton (\(e,\mu\)) lists:

  • ‘UniformEff60’ 60% lepton efficiency list, uniform in a given multi-dimensional parametrisation.

  • ‘UniformEff70’ 70% lepton efficiency list, uniform in a given multi-dimensional parametrisation.

  • ‘UniformEff80’ 80% lepton efficiency list, uniform in a given multi-dimensional parametrisation.

  • ‘UniformEff90’ 90% lepton efficiency list, uniform in a given multi-dimensional parametrisation.

  • ‘UniformEff95’ 95% lepton efficiency list, uniform in a given multi-dimensional parametrisation.

The function will select particles according to the chosen listtype, and decorate each candidate with the nominal Data/MC \(\ell\) ID efficiency and \(\pi,K\) fake rate correction factors and their stat, syst uncertainty, reading the info from the Conditions Database.

Parameters
  • pdgId (int) – the lepton pdg code.

  • listtype (str) – name of standard list. Choose among the above values.

  • method (str) – the PID method: ‘likelihood’ or ‘bdt’.

  • classification (str) – the type of classifier: ‘binary’ (one-vs-pion) or ‘global’ (one-vs-all).

  • path (basf2.Path) – modules are added to this path.

Other functions available

Warning

These other functions are not recommended for normal use without some study of the selection, or if you are working on skimming. If you use and improve these lists, please report in a performance meeting and make a pull request.

stdCharged.stdCharged(particletype, listtype, path)[source]
Function to prepare one of several standardized types of charged particle lists:
  • ‘all’ with no cuts on track

  • ‘good’ high purity lists for data studies

  • ‘loosepid’ loose selections for skimming, PID cut only

  • ‘loose’ loose selections for skimming

  • ‘higheff’ high efficiency list with loose global ID cut for data studies

  • ‘mostlikely’ list with the highest PID likelihood

Also the following lists, which may or may not be available depending on the release
  • ‘99eff’ with 99% selection efficiency (calculated for 1<p<4 GeV) and good track (MC only)

  • ‘95eff’ with 95% selection efficiency (calculated for 1<p<4 GeV) and good track (MC only)

  • ‘90eff’ with 90% selection efficiency (calculated for 1<p<4 GeV) and good track (MC only)

  • ‘85eff’ with 85% selection efficiency (calculated for 1<p<4 GeV) and good track (MC only)

Parameters
  • particletype – type of charged particle to make a list of

  • listtype – name of standard list

  • path – modules are added to this path

stdCharged.stdMostLikely(pidPriors=None, suffix='', custom_cuts='', path=None)[source]

Function to prepare most likely particle lists according to PID likelihood, refer to stdCharged for details

Parameters
  • pidPriors – list of 6 float numbers used to reweight PID likelihoods

  • suffix – string added to the end of particle list names

  • custom_cuts – custom selection cut string, if empty, standard track quality cuts will be applied

  • path – modules are added to this path

stdPhotons.loadStdGoodBellePhoton(path)[source]

Load the Belle goodBelle list. Creates a ParticleList named ‘gamma:goodBelle’ with ‘0.5 < goodBelleGamma < 1.5’

Warning

Should only be used for Belle analyses using B2BII.

Parameters

path (basf2.Path) – the path to load the modules

stdPhotons.loadStdSkimPhoton(path)[source]

Function to prepare the skim photon lists.

Warning

Should only be used by skims.

Parameters

path (basf2.Path) – modules are added to this path

stdPi0s.loadStdSkimPi0(path)[source]

Function to prepare the skim pi0 lists.

Warning

Should only be used by skims.

Parameters

path (basf2.Path) –

stdV0s.goodBelleKshort(path)[source]

Load the Belle goodKshort list. Creates a ParticleList named K_S0:legacyGoodKS. A vertex fit is performed and only candidates that satisfy the goodBelleKshort criteria, with an invariant mass in the range \(0.468 < M < 0.528~GeV\), and for which the vertex fit did not fail, are kept

Parameters

path (basf2.Path) – the path to load the modules

stdKlongs.stdKlongs(listtype='allklm', path=None)[source]

Warning

This function is a placeholder for Klong selections. Currently everything but the ‘allklm’ list is disabled pending study.

Prepares the ‘K_L0:allklm’ list with no cuts (all KLM clusters are loaded).

Parameters
  • listtype (str) – name of standard list options (currently only ‘all’ is supported/recommended)

  • path (basf2.Path) – modules are added to this path

stdHyperons.goodOmega(omegatype='loose', path=None)[source]

Select the standard good \(\Omega^-\) ParticleList named Omega-:veryloose, Omega-:loose, or Omega-:tight from the reconstructed Omega-:std.

Parameters
  • omegatype (str) – specify either veryloose, loose, or tight for good ParticleList selection (default veryloose)

  • path (basf2.Path) – modules are added to this path building the Omega-:veryloose, Omega-:loose, or Omega-:tight, list

stdHyperons.goodXi(xitype='loose', path=None)[source]

Select the standard good \(\Xi^-\) ParticleList named Xi-:veryloose, Xi-:loose, or Xi-:tight from the reconstructed Xi-:std.

Parameters
  • xitype (str) – specify either veryloose, loose, or tight for good ParticleList selection (default loose)

  • path (basf2.Path) – modules are added to this path building the Xi-:veryloose, Xi-:loose, or Xi-:tight, list

stdHyperons.goodXi0(xitype='loose', path=None)[source]

Select the standard good \(\Xi^0\) ParticleList named Xi0:veryloose, Xi0:loose, or Xi0:tight from the reconstructed Xi0:std.

Parameters
  • xitype (str) – specify either veryloose, loose, or tight for good ParticleList selection (default loose)

  • path (basf2.Path) – modules are added to this path building the Xi0:veryloose, Xi0:loose, or Xi0:tight, list

stdHyperons.stdOmega(fitter='TreeFit', path=None)[source]

Reconstruct the standard \(\Omega^-\) ParticleList named Omega-:std.

Parameters
  • fitter (str) – specify either KFit or TreeFit for the vertex reconstructions (default TreeFit)

  • path (basf2.Path) – modules are added to this path building the Omega-:std list

stdHyperons.stdXi(fitter='TreeFit', path=None)[source]

Reconstruct the standard \(\Xi^-\) ParticleList named Xi-:std.

Parameters
  • fitter (str) – specify either KFit or TreeFit for the vertex reconstructions (default TreeFit)

  • path (basf2.Path) – modules are added to this path building the Xi-:std list

stdHyperons.stdXi0(gammatype='eff40', path=None, loadPhotonBeamBackgroundMVA=True)[source]

Reconstruct the standard \(\Xi^0\) ParticleList named Xi0:std.

Parameters
  • gammatype (str) – specify either eff60, eff50, eff40, eff30, or eff20 to select the signal efficiency of the photons used in the pi0 reconstruction (default eff40)

  • path (basf2.Path) – modules are added to this path building the Xi0:std list

  • loadPhotonBeamBackgroundMVA (bool) – If true, photon candidates will be assigned a beam background probability.