11#include <framework/gearbox/Const.h>
13#include <Math/Vector2D.h>
14#include <Math/Vector3D.h>
28 double v0DaughterTrackNRemovedHits(
const Particle* part,
const std::vector<double>& daughterID);
33 double v0DaughterD0(
const Particle* particle,
const std::vector<double>& daughterID);
38 double v0DaughterD0Diff(
const Particle* particle);
43 double v0DaughterZ0(
const Particle* particle,
const std::vector<double>& daughterID);
48 double v0DaughterZ0Diff(
const Particle* particle);
53 double v0DaughterHelixWithTrueVertexAsPivotD0Pull(
const Particle* part,
const std::vector<double>& daughterID);
58 double v0DaughterHelixWithTrueVertexAsPivotPhi0Pull(
const Particle* part,
const std::vector<double>& daughterID);
63 double v0DaughterHelixWithTrueVertexAsPivotOmegaPull(
const Particle* part,
const std::vector<double>& daughterID);
68 double v0DaughterHelixWithTrueVertexAsPivotZ0Pull(
const Particle* part,
const std::vector<double>& daughterID);
73 double v0DaughterHelixWithTrueVertexAsPivotTanLambdaPull(
const Particle* part,
const std::vector<double>& daughterID);
78 double v0DaughterTrackParam5AtIPPerigee(
const Particle* part,
const std::vector<double>& params);
84 double v0DaughterTrackParamCov5x5AtIPPerigee(
const Particle* part,
const std::vector<double>& params);
90 int v0DaughtersShareInnermostHit(
const Particle* part);
95 bool v0DaughtersShareInnermostUHit(
const Particle* part);
100 bool v0DaughtersShareInnermostVHit(
const Particle* part);
107 double getV0DaughterTrackDetNHits(
const Particle* particle,
const double daughterID,
const Const::EDetector& det);
110 double getHelixParameterPullOfV0DaughterWithTrueVertexAsPivotAtIndex(
const Particle* particle,
const double daughterID,
114 int convertedPhotonErrorChecks(
const Particle* gamma,
const std::vector<double>& daughterIndices);
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,
124 double convertedPhotonInvariantMass(
const Particle* gamma,
const std::vector<double>& daughterIndices);
129 double convertedPhotonDelTanLambda(
const Particle* gamma,
const std::vector<double>& daughterIndices);
134 double convertedPhotonDelR(
const Particle* gamma,
const std::vector<double>& daughterIndices);
137 std::pair<double, double> convertedPhotonZ1Z2(
const Particle* gamma,
const std::vector<double>& daughterIndices);
142 double convertedPhotonDelZ(
const Particle* gamma,
const std::vector<double>& daughterIndices);
147 double convertedPhotonZ(
const Particle* gamma,
const std::vector<double>& daughterIndices);
150 ROOT::Math::XYVector convertedPhotonXY(
const Particle* gamma,
const std::vector<double>& daughterIndices);
155 double convertedPhotonX(
const Particle* gamma,
const std::vector<double>& daughterIndices);
160 double convertedPhotonY(
const Particle* gamma,
const std::vector<double>& daughterIndices);
165 double convertedPhotonRho(
const Particle* gamma,
const std::vector<double>& daughterIndices);
170 ROOT::Math::XYZVector convertedPhoton3Momentum(
const Particle* gamma,
const std::vector<double>& daughterIndices);
175 double convertedPhotonPx(
const Particle* gamma,
const std::vector<double>& daughterIndices);
180 double convertedPhotonPy(
const Particle* gamma,
const std::vector<double>& daughterIndices);
185 double convertedPhotonPz(
const Particle* gamma,
const std::vector<double>& daughterIndices);
EDetector
Enum for identifying the detector components (detector and subdetector).
Class to store reconstructed particles.
Abstract base class for different kinds of events.