Belle II Software  release-06-00-14
VertexVariables.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 // Own include
11 #include <analysis/VariableManager/Manager.h>
12 
13 
14 // dataobjects
15 #include <analysis/dataobjects/Particle.h>
16 
17 namespace Belle2 {
22  class Particle;
23 
24  namespace Variable {
25  // Generated vertex information
29  double mcDecayVertexX(const Particle* part);
30 
34  double mcDecayVertexY(const Particle* part);
35 
39  double mcDecayVertexZ(const Particle* part);
40 
44  double mcDecayVertexRho(const Particle* part);
45 
49  double mcDecayVertexFromIPX(const Particle* part);
50 
54  double mcDecayVertexFromIPY(const Particle* part);
55 
59  double mcDecayVertexFromIPZ(const Particle* part);
60 
64  double mcDecayVertexFromIPRho(const Particle* part);
65 
69  double mcDecayVertexFromIPDistance(const Particle* part);
70 
74  double mcProductionVertexX(const Particle* part);
75 
79  double mcProductionVertexY(const Particle* part);
80 
84  double mcProductionVertexZ(const Particle* part);
85 
89  double mcProductionVertexFromIPX(const Particle* part);
90 
94  double mcProductionVertexFromIPY(const Particle* part);
95 
99  double mcProductionVertexFromIPZ(const Particle* part);
100 
104  double particleX(const Particle* part);
105 
109  double particleY(const Particle* part);
110 
114  double particleZ(const Particle* part);
115 
119  double particleDX(const Particle* part);
120 
124  double particleDY(const Particle* part);
125 
129  double particleDZ(const Particle* part);
130 
134  double particleDXUncertainty(const Particle* part);
135 
139  double particleDYUncertainty(const Particle* part);
140 
144  double particleDZUncertainty(const Particle* part);
148  double particleDRho(const Particle* part);
149 
153  double particleDPhi(const Particle* part);
154 
158  double particleDCosTheta(const Particle* part);
162  double particleDistance(const Particle* part);
163 
168  double particleDistanceSignificance(const Particle* part);
169  // Production vertex position
173  double particleProductionX(const Particle* part);
177  double particleProductionY(const Particle* part);
181  double particleProductionZ(const Particle* part);
185  Manager::FunctionPtr particleProductionCovElement(const std::vector<std::string>& arguments);
189  double particleProductionXErr(const Particle* part);
193  double particleProductionYErr(const Particle* part);
197  double particleProductionZErr(const Particle* part);
198  }
200 } //namespace Belle2
std::function< double(const Particle *)> FunctionPtr
NOTE: the python interface is documented manually in analysis/doc/Variables.rst (because we use ROOT ...
Definition: Manager.h:108
Abstract base class for different kinds of events.