Belle II Software  release-05-02-19
VertexVariables.h
1 /**************************************************************************
2 * BASF2 (Belle Analysis Framework 2) *
3 * Copyright(C) 2018 - Belle II Collaboration *
4 * *
5 * Author: The Belle II Collaboration *
6 * Contributors: Luigi Li Gioi, Sviatoslav Bilokin *
7 * *
8 * This software is provided "as is" without any warranty. *
9 **************************************************************************/
10 
11 #pragma once
12 // Own include
13 #include <analysis/VariableManager/Manager.h>
14 
15 
16 // dataobjects
17 #include <analysis/dataobjects/Particle.h>
18 
19 namespace Belle2 {
24  class Particle;
25 
26  namespace Variable {
27  // Generated vertex information
31  double mcDecayVertexX(const Particle* part);
32 
36  double mcDecayVertexY(const Particle* part);
37 
41  double mcDecayVertexZ(const Particle* part);
42 
46  double mcDecayVertexRho(const Particle* part);
47 
51  double mcDecayVertexFromIPX(const Particle* part);
52 
56  double mcDecayVertexFromIPY(const Particle* part);
57 
61  double mcDecayVertexFromIPZ(const Particle* part);
62 
66  double mcDecayVertexFromIPRho(const Particle* part);
67 
71  double mcDecayVertexFromIPDistance(const Particle* part);
72 
76  double mcProductionVertexX(const Particle* part);
77 
81  double mcProductionVertexY(const Particle* part);
82 
86  double mcProductionVertexZ(const Particle* part);
87 
91  double mcProductionVertexFromIPX(const Particle* part);
92 
96  double mcProductionVertexFromIPY(const Particle* part);
97 
101  double mcProductionVertexFromIPZ(const Particle* part);
102 
106  double particleX(const Particle* part);
107 
111  double particleY(const Particle* part);
112 
116  double particleZ(const Particle* part);
117 
121  double particleDX(const Particle* part);
122 
126  double particleDY(const Particle* part);
127 
131  double particleDZ(const Particle* part);
132 
136  double particleDXUncertainty(const Particle* part);
137 
141  double particleDYUncertainty(const Particle* part);
142 
146  double particleDZUncertainty(const Particle* part);
150  double particleDRho(const Particle* part);
151 
155  double particleDPhi(const Particle* part);
156 
160  double particleDCosTheta(const Particle* part);
164  double particleDistance(const Particle* part);
165 
170  double particleDistanceSignificance(const Particle* part);
171  // Production vertex position
175  double particleProductionX(const Particle* part);
179  double particleProductionY(const Particle* part);
183  double particleProductionZ(const Particle* part);
187  Manager::FunctionPtr particleProductionCovElement(const std::vector<std::string>& arguments);
191  double particleProductionXErr(const Particle* part);
195  double particleProductionYErr(const Particle* part);
199  double particleProductionZErr(const Particle* part);
200  }
202 } //namespace Belle2
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::Variable::Manager::FunctionPtr
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:118