Belle II Software  release-08-01-10
FEIVariables.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 #include <vector>
12 
13 namespace Belle2 {
18  class MCParticle;
19  class Particle;
20 
21  namespace Variable {
22  /*
23  * Given a reconstructed B meson candidate e.g. by the FEI the FSP are determined and a relation between reconstructed and generated FSP is drawn.
24  * Afterwards for each FSP the index of the B meson is determined on generator level. The index of the B meson with the most occurrences is returned.
25  * If no B meson found, returns -1.
26  */
27  int mostcommonBTagIndex(const Particle* part);
28  /*
29  Given a MCParticle this function returns the index of the B meson. If now B meson found, returns -1.
30  */
31  int finddescendant(const MCParticle* mcpart);
32  /*
33  Given an index of a B meson candidate, it determines the number of FSP on generator level. These FSP must be stable in the generator and cannot be a radiative particle.
34  */
35  std::vector<int> truthFSPTag(int BTag_index);
36  /*
37  By giving this function a B meson candidate, it will return the percentage of missing particles from the mostcommonBTagIndex.
38  If continuum event this will return -1.
39  */
40  double percentageMissingParticlesBTag(const Particle* part);
41  /*
42  By providing this function with a B meson candidate, it will return the percentage of wrong particles not originating from the mostcommonBTagIndex.
43  If continuum event this will return -1.
44  */
45  double percentageWrongParticlesBTag(const Particle* part);
46  } // Variable namespace
48 } // Belle2 namespace
Abstract base class for different kinds of events.