8.3. Converted data objects and other information#

This section briefly describes what is converted, in what way, and how the converted objects should be used in the analysis.

8.3.1. Charged Final State Particles#

BASF and BASF2 use different Helix parameterisations, however there is a well defined transformation from one parameterisation to the other. The Belle MDST format stores in addition to the five helix parameters also the reference point (or pivot point), which is assumed to be always point (0,0,0) in the case of Belle II MDST format. Therefore in the conversion process any charged track found in Belle MDST with a pivot point different from (0,0,0) is first transformed such that its pivot point becomes (0,0,0). This is especially important in the case of conversion of V0’s daughter tracks.

Note

There is nothing special to note regarding the usage of converted charged tracks in BASF2. Use the usual fillParticleList(...) or fillParticleLists(...) analysis functions to create and fill charged kaon, pion, electron, muon and proton ParticleList s.

Particle Identification#

Despite the different parameterisations, charged final state particles can still be reconstructed using the fillParticleList function in basf2. But due to the different definition, as well as detector, it is not recommended to use Belle II style PID in b2bii.

basf provided three different packages for PID:
  • atc_pid (KID) to separate kaons and pions, but also used for proton id

  • eID (electron ID) to separate electrons from hadrons

  • muid (muon ID) to separate muons from hadrons

Each of them in its own way combined information collected from various sub detector systems (CDC, ACC, TOF, ECL, KLM). The combination of individual likelihoods from each sub detector system is in some cases (eID) combined with the usage of external information, such as a priori probabilities of each particle type that is read from the Belle DB. Due to this fact the Belle-like PID probabilities can not be reproduced in BASF2 from the raw likelihoods and special Belle-legacy variables that reproduce them are introduced.

Alternatively, we can use the following predefined Belle-style PID variables to reproduce them:

Separation

basf

basf2

\(K\) vs \(\pi\)

atc_pid(3,1,5,3,2).prob(…)

atcPIDBelle(3,2)

\(p\) vs \(\pi\)

atc_pid(3,1,5,4,2).prob(…)

atcPIDBelle(4,2)

\(p\) vs \(K\)

atc_pid(3,1,5,4,3).prob(…)

atcPIDBelle(4,3)

electron vs hadron

eid.prob(3,-1,5)

eIDBelle

muon likelihood

Muid_mdst.Muon_likelihood()

muIDBelle

muon likelihood quality flag

Muid_mdst.Prerejection()

muIDBelleQuality

8.3.2. Neutral Final State Particles#

When it comes to ECL related objects the BASF and basf2 MDST data formats differ substantially, which makes one-to-one conversion impossible. The reconstructed ECL clusters, both charged (with matched charged track) and neutral (without matched charged track), are in BASF stored as Mdst_ecl (and Mdst_ecl_aux) and in BASF2 as ECLClusters. These two data types match quite well. However, the BASF MDST format has two additional data types: Mdst_Gamma and Mdst_Pi0, for which there is no equivalent data type in the BASF2 MDST format. Instead, the B2BII converter by default creates gamma:mdst and pi0:mdst ParticleLists, which are filled with particle objects created for each Mdst_Gamma and Mdst_Pi0 entry.

Warning

Use gamma:mdst and pi0:mdst ParticleLists. Don’t use fillParticleList(...) to create photon candidates and don’t reconstruct pi0 candidates from pairs of two photons by yourself.

Note

A mass-constrained fit has been applied to pi0 candidates in Mdst_Pi0. However, the covariance matrix is not stored in panther tables. If you need this information in the analysis, you can redo the mass-constrained fit in basf2.

You can also set the argument convertNbar of convertBelleMdstToBelleIIMdst to true to copy particles with an energy above 500 MeV in gamma:mdst and create a ParticleList anti-n0:mdst. In the steering file, you should use the module BelleNbarMVA to evaluate an MVA dedicated to the separation of anti-neutrons from photons. Assuming that you have appended the globaltag BellePID, the call would be your_path.add_module('BelleNbarMVA', particleList='anti-n0:mdst', identifier='nbarMVA'), where the identifier is a pre-trained model stored in BellePID and illustrated in BN1592. As for the kinematic variable, you are advised to use reconstructDecayWithNeutralHadron to reconstruct the neutral hadron’s 4-momentum with mother mass constraint.

8.3.3. V0 Particles#

As mentioned above (section on charged final state particles) all charged tracks are parametrised with helix with the reference point set to (0,0,0) in BASF2. This is not optimal in the case of V0s whose decay vertices can be far away from the origin. Therefore all V0 candidates from the Mdst_Vee2 table in BASF are converted to Particles and collected in the K_S0:mdst, Lambda0:mdst, and gamma:v0mdst ParticleLists. The created particles have momentum and decay vertex position set to values given in Belle’s Mdst_Vee2 table and their daughters particles with momentum and position at the pivot equal to V0 decay vertex. In addition, The Belle’s quality indicators for \(K_S^0\) and \(\Lambda\) are converted as well and attached as extraInfo variables.

Quality indicator#

The quality indicators for \(K_S^0\) and \(\Lambda\) as estimated by the findKs and nisKsFinder (for \(K_S^0\)), and FindLambda (for \(\Lambda^0\)) are available as

basf

basf2

findKs.goodKs()

extraInfo(goodKs)

nisKsFinder.nb_vlike()

extraInfo(ksnbVLike)

nisKsFinder.nb_nolam()

extraInfo(ksnbNoLam)

nisKsFinder.standard()

extraInfo(ksnbStandard)

findLambda.goodLambda()

extraInfo(goodLambda)

The vertex fit information of V0 particles is also attached as extraInfo variables.

Note

goodBelleKshort and goodBelleLambda return the values of extraInfo(goodKs) and extraInfo(goodLambda).

8.3.4. \(K_{L}^{0}\) Particles#

\(K_{L}^{0}\) candidates are stored in the default K_L0:mdst ParticleList.

Note

Use K_L0:mdst ParticleList. Don’t use fillParticleList(...).

In Belle there was no explicit MC Matching for \(K_L^0\). Instead, people used a hack. If a (MC) \(K_L^0\) in Gen_HEPEVT panther table is found, we set a relation to the (best) reconstructed \(K_L^0\) with no associated ECLCluster and within 15 degrees in \(\phi\) and \(\theta\). The cluster position for KLMClusters is only available if a \(K_L^0\) was associated to it, since this information is extracted from the \(K_L^0\).

8.3.5. Event Classification flags#

Event classification is a sort of Data-mining process, which separates the Belle data sample into several skims based on the underlying physics process. As an event-based flag, event classification flags are converted and attached as eventExtraInfo.

Use the following Belle II variables to get the corresponding event classification flags:

basf

basf2

evtcls_flag(N)

eventExtraInfo(evtcls_flagN)

evtcls_flag2(N)

eventExtraInfo(evtcls_flag1N)

evtcls_hadronic_flag(N)

eventExtraInfo(evtcls_hadronic_flagN)

Note

Explanation of the event type can be found at here. Please refer to bn390 for the details of Hadronic Event Selection.