Belle II Software light-2509-fornax
V0DaughterTrackVariables.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 <framework/gearbox/Const.h>
12
13#include <Math/Vector2D.h>
14#include <Math/Vector3D.h>
15
16namespace Belle2 {
21 class Particle;
22
23 namespace Variable {
24
28 double v0DaughterTrackNRemovedHits(const Particle* part, const std::vector<double>& daughterID);
29
33 double v0DaughterD0(const Particle* particle, const std::vector<double>& daughterID);
34
38 double v0DaughterD0Diff(const Particle* particle);
39
43 double v0DaughterZ0(const Particle* particle, const std::vector<double>& daughterID);
44
48 double v0DaughterZ0Diff(const Particle* particle);
49
53 double v0DaughterHelixWithTrueVertexAsPivotD0Pull(const Particle* part, const std::vector<double>& daughterID);
54
58 double v0DaughterHelixWithTrueVertexAsPivotPhi0Pull(const Particle* part, const std::vector<double>& daughterID);
59
63 double v0DaughterHelixWithTrueVertexAsPivotOmegaPull(const Particle* part, const std::vector<double>& daughterID);
64
68 double v0DaughterHelixWithTrueVertexAsPivotZ0Pull(const Particle* part, const std::vector<double>& daughterID);
69
73 double v0DaughterHelixWithTrueVertexAsPivotTanLambdaPull(const Particle* part, const std::vector<double>& daughterID);
74
78 double v0DaughterTrackParam5AtIPPerigee(const Particle* part, const std::vector<double>& params);
79
84 double v0DaughterTrackParamCov5x5AtIPPerigee(const Particle* part, const std::vector<double>& params);
85
90 int v0DaughtersShareInnermostHit(const Particle* part);
91
95 bool v0DaughtersShareInnermostUHit(const Particle* part);
96
100 bool v0DaughtersShareInnermostVHit(const Particle* part);
101
107 double getV0DaughterTrackDetNHits(const Particle* particle, const double daughterID, const Const::EDetector& det);
108
110 double getHelixParameterPullOfV0DaughterWithTrueVertexAsPivotAtIndex(const Particle* particle, const double daughterID,
111 const int tauIndex);
112
114 int convertedPhotonErrorChecks(const Particle* gamma, const std::vector<double>& daughterIndices);
115
117 int convertedPhotonLoadHelixParams(const Particle* gamma, int daughterIndex1, int daughterIndex2, double& Phi01, double& D01,
118 double& Omega1, double& Z01, double& TanLambda1, double& Phi02, double& D02, double& Omega2, double& Z02,
119 double& TanLambda2);
120
124 double convertedPhotonInvariantMass(const Particle* gamma, const std::vector<double>& daughterIndices);
125
129 double convertedPhotonDelTanLambda(const Particle* gamma, const std::vector<double>& daughterIndices);
130
134 double convertedPhotonDelR(const Particle* gamma, const std::vector<double>& daughterIndices);
135
137 std::pair<double, double> convertedPhotonZ1Z2(const Particle* gamma, const std::vector<double>& daughterIndices);
138
142 double convertedPhotonDelZ(const Particle* gamma, const std::vector<double>& daughterIndices);
143
147 double convertedPhotonZ(const Particle* gamma, const std::vector<double>& daughterIndices);
148
150 ROOT::Math::XYVector convertedPhotonXY(const Particle* gamma, const std::vector<double>& daughterIndices);
151
155 double convertedPhotonX(const Particle* gamma, const std::vector<double>& daughterIndices);
156
160 double convertedPhotonY(const Particle* gamma, const std::vector<double>& daughterIndices);
161
165 double convertedPhotonRho(const Particle* gamma, const std::vector<double>& daughterIndices);
166
170 ROOT::Math::XYZVector convertedPhoton3Momentum(const Particle* gamma, const std::vector<double>& daughterIndices);
171
175 double convertedPhotonPx(const Particle* gamma, const std::vector<double>& daughterIndices);
176
180 double convertedPhotonPy(const Particle* gamma, const std::vector<double>& daughterIndices);
181
185 double convertedPhotonPz(const Particle* gamma, const std::vector<double>& daughterIndices);
186
187
188 }
190} // Belle2 namespace
EDetector
Enum for identifying the detector components (detector and subdetector).
Definition Const.h:42
Class to store reconstructed particles.
Definition Particle.h:76
Abstract base class for different kinds of events.