Belle II Software  release-08-01-10
Variables.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 
26  double particleP(const Particle* part);
27 
31  double particleE(const Particle* part);
32 
33 
37  double particlePx(const Particle* part);
38 
42  double particlePy(const Particle* part);
43 
47  double particlePz(const Particle* part);
48 
52  double particlePt(const Particle* part);
53 
57  double particlePErr(const Particle* part);
58 
62  double particlePxErr(const Particle* part);
63 
67  double particlePyErr(const Particle* part);
68 
72  double particlePzErr(const Particle* part);
73 
77  double particlePtErr(const Particle* part);
78 
82  double particleTheta(const Particle* part);
83 
87  double particleThetaErr(const Particle* part);
88 
92  double particleCosTheta(const Particle* part);
93 
97  double particleCosThetaErr(const Particle* part);
98 
102  double particlePhi(const Particle* part);
103 
107  double particlePhiErr(const Particle* part);
108 
113  double particleXp(const Particle* part);
114 
118  int particlePDGCode(const Particle* part);
119 
123  double cosAngleBetweenMomentumAndVertexVectorInXYPlane(const Particle* part);
124 
128  double cosAngleBetweenMomentumAndVertexVector(const Particle* part);
129 
134  double cosThetaBetweenParticleAndNominalB(const Particle* part);
135 
140  double cosToThrustOfEvent(const Particle* part);
141 
146  double covMatrixElement(const Particle*, const std::vector<double>& element);
147 
153  double momentumDeviationChi2(const Particle*);
154 
158  double particleMass(const Particle* part);
159 
163  double particleDMass(const Particle* part);
164 
168  double particleInvariantMassFromDaughters(const Particle* part);
169 
173  double particleInvariantMassLambda(const Particle* part);
174 
178  double particleInvariantMassError(const Particle* part);
179 
183  double particleInvariantMassSignificance(const Particle* part);
184 
188  double particleMassSquared(const Particle* part);
189 
193  double particleQ(const Particle* part);
194 
198  double particleDQ(const Particle* part);
199 
203  double particleMbc(const Particle* part);
204 
208  double particleDeltaE(const Particle* part);
209 
213  double recoilPx(const Particle* particle);
214 
218  double recoilPy(const Particle* particle);
219 
223  double recoilPz(const Particle* particle);
224 
228  double recoilMomentum(const Particle* particle);
229 
233  double recoilMomentumTheta(const Particle* part);
234 
238  double recoilMomentumPhi(const Particle* part);
239 
245  double m2RecoilSignalSide(const Particle* part);
246 
250  double ImpactXY(const Particle* particle);
251 
255  double recoilEnergy(const Particle* particle);
256 
260  double recoilMass(const Particle* particle);
261 
266  double recoilMassSquared(const Particle* particle);
267 
276  double recoilMCDecayType(const Particle* particle);
277 
281  void checkMCParticleDecay(MCParticle* mcp, int& decayType, bool recursive);
282 
286  bool False(const Particle*);
287 
291  bool True(const Particle*);
295  double infinity(const Particle*);
296 
300  double random(const Particle*);
301 
305  double eventRandom(const Particle*);
306 
310  double b2bTheta(const Particle* particle);
311 
315  double b2bPhi(const Particle* particle);
316 
320  double b2bClusterTheta(const Particle* particle);
321 
325  double b2bClusterPhi(const Particle* particle);
326 
336  double ArmenterosLongitudinalMomentumAsymmetry(const Particle* part);
337 
342  double ArmenterosDaughter1Qt(const Particle* part);
343 
348  double ArmenterosDaughter2Qt(const Particle* part);
349  }
351 } // Belle2 namespace
Abstract base class for different kinds of events.