Belle II Software  release-05-02-19
Variables.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Marko Staric, Anze Zupanc, Thomas Keck *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <mdst/dataobjects/MCParticle.h>
14 #include <vector>
15 
16 namespace Belle2 {
21  class Particle;
22 
23  namespace Variable {
24 
28  double particleP(const Particle* part);
29 
33  double particleE(const Particle* part);
34 
35 
39  double particlePx(const Particle* part);
40 
44  double particlePy(const Particle* part);
45 
49  double particlePz(const Particle* part);
50 
54  double particlePt(const Particle* part);
55 
59  double particlePErr(const Particle* part);
60 
64  double particlePxErr(const Particle* part);
65 
69  double particlePyErr(const Particle* part);
70 
74  double particlePzErr(const Particle* part);
75 
79  double particlePtErr(const Particle* part);
80 
84  double particleTheta(const Particle* part);
85 
89  double particleThetaErr(const Particle* part);
90 
94  double particleCosTheta(const Particle* part);
95 
99  double particleCosThetaErr(const Particle* part);
100 
104  double particlePhi(const Particle* part);
105 
109  double particlePhiErr(const Particle* part);
110 
115  double particleXp(const Particle* part);
116 
120  double particlePDGCode(const Particle* part);
121 
125  double cosAngleBetweenMomentumAndVertexVectorInXYPlane(const Particle* part);
126 
130  double cosAngleBetweenMomentumAndVertexVector(const Particle* part);
131 
136  double cosThetaBetweenParticleAndNominalB(const Particle* part);
137 
142  double cosToThrustOfEvent(const Particle* part);
143 
148  double covMatrixElement(const Particle*, const std::vector<double>& element);
149 
155  double momentumDeviationChi2(const Particle*);
156 
160  double particleMass(const Particle* part);
161 
165  double particleDMass(const Particle* part);
166 
170  double particleInvariantMassFromDaughters(const Particle* part);
171 
175  double particleInvariantMassLambda(const Particle* part);
176 
180  double particleInvariantMassError(const Particle* part);
181 
185  double particleInvariantMassSignificance(const Particle* part);
186 
190  double particleMassSquared(const Particle* part);
191 
195  double particleQ(const Particle* part);
196 
200  double particleDQ(const Particle* part);
201 
205  double particleMbc(const Particle* part);
206 
210  double particleDeltaE(const Particle* part);
211 
215  double recoilPx(const Particle* particle);
216 
220  double recoilPy(const Particle* particle);
221 
225  double recoilPz(const Particle* particle);
226 
230  double recoilMomentum(const Particle* particle);
231 
235  double recoilMomentumTheta(const Particle* part);
236 
240  double recoilMomentumPhi(const Particle* part);
241 
247  double m2RecoilSignalSide(const Particle* part);
248 
252  double ImpactXY(const Particle* particle);
253 
257  double recoilEnergy(const Particle* particle);
258 
262  double recoilMass(const Particle* particle);
263 
268  double recoilMassSquared(const Particle* particle);
269 
278  double recoilMCDecayType(const Particle* particle);
279 
283  void checkMCParticleDecay(MCParticle* mcp, int& decayType, bool recursive);
284 
288  double False(const Particle*);
289 
293  double True(const Particle*);
297  double infinity(const Particle*);
298 
302  double random(const Particle*);
303 
307  double eventRandom(const Particle*);
308 
312  double b2bTheta(const Particle* particle);
313 
317  double b2bPhi(const Particle* particle);
318 
322  double b2bClusterTheta(const Particle* particle);
323 
327  double b2bClusterPhi(const Particle* particle);
328 
338  double ArmenterosLongitudinalMomentumAsymmetry(const Particle* part);
339 
344  double ArmenterosDaughter1Qt(const Particle* part);
345 
350  double ArmenterosDaughter2Qt(const Particle* part);
351  }
353 } // Belle2 namespace
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19