Belle II Software  release-05-01-25
V0DaughterTrackVariables.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2014-2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Kota Nakagiri, Yuma Uematsu *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <analysis/dataobjects/Particle.h>
14 #include <framework/gearbox/Const.h>
15 
16 namespace Belle2 {
22  namespace Variable {
23 
27  double v0DaughterTrackNCDCHits(const Particle* part, const std::vector<double>& daughterID);
28 
32  double v0DaughterTrackNSVDHits(const Particle* part, const std::vector<double>& daughterID);
33 
37  double v0DaughterTrackNPXDHits(const Particle* part, const std::vector<double>& daughterID);
38 
42  double v0DaughterTrackNVXDHits(const Particle* part, const std::vector<double>& daughterID);
43 
47  double v0DaughterTrackFirstSVDLayer(const Particle* part, const std::vector<double>& daughterID);
48 
52  double v0DaughterTrackFirstPXDLayer(const Particle* part, const std::vector<double>& daughterID);
53 
57  double v0DaughterTrackFirstCDCLayer(const Particle* part, const std::vector<double>& daughterID);
58 
62  double v0DaughterTrackLastCDCLayer(const Particle* part, const std::vector<double>& daughterID);
63 
67  double v0DaughterTrackPValue(const Particle* part, const std::vector<double>& daughterID);
68 
72  double v0DaughterTrackD0(const Particle* part, const std::vector<double>& daughterID);
73 
77  double v0DaughterTrackPhi0(const Particle* part, const std::vector<double>& daughterID);
78 
82  double v0DaughterTrackOmega(const Particle* part, const std::vector<double>& daughterID);
83 
87  double v0DaughterTrackZ0(const Particle* part, const std::vector<double>& daughterID);
88 
92  double v0DaughterTrackTanLambda(const Particle* part, const std::vector<double>& daughterID);
93 
97  double v0DaughterTrackD0Error(const Particle* part, const std::vector<double>& daughterID);
98 
102  double v0DaughterTrackPhi0Error(const Particle* part, const std::vector<double>& daughterID);
103 
107  double v0DaughterTrackOmegaError(const Particle* part, const std::vector<double>& daughterID);
108 
112  double v0DaughterTrackZ0Error(const Particle* part, const std::vector<double>& daughterID);
113 
117  double v0DaughterTrackTanLambdaError(const Particle* part, const std::vector<double>& daughterID);
118 
122  double v0DaughterHelixWithTrueVertexAsPivotD0Pull(const Particle* part, const std::vector<double>& daughterID);
123 
127  double v0DaughterHelixWithTrueVertexAsPivotPhi0Pull(const Particle* part, const std::vector<double>& daughterID);
128 
132  double v0DaughterHelixWithTrueVertexAsPivotOmegaPull(const Particle* part, const std::vector<double>& daughterID);
133 
137  double v0DaughterHelixWithTrueVertexAsPivotZ0Pull(const Particle* part, const std::vector<double>& daughterID);
138 
142  double v0DaughterHelixWithTrueVertexAsPivotTanLambdaPull(const Particle* part, const std::vector<double>& daughterID);
143 
147  double v0DaughterHelixWithOriginAsPivotD0Pull(const Particle* part, const std::vector<double>& daughterID);
148 
152  double v0DaughterHelixWithOriginAsPivotPhi0Pull(const Particle* part, const std::vector<double>& daughterID);
153 
157  double v0DaughterHelixWithOriginAsPivotOmegaPull(const Particle* part, const std::vector<double>& daughterID);
158 
162  double v0DaughterHelixWithOriginAsPivotZ0Pull(const Particle* part, const std::vector<double>& daughterID);
163 
167  double v0DaughterHelixWithOriginAsPivotTanLambdaPull(const Particle* part, const std::vector<double>& daughterID);
168 
172  double v0DaughterTrackParam5AtIPPerigee(const Particle* part, const std::vector<double>& params);
173 
178  double v0DaughterTrackParamCov5x5AtIPPerigee(const Particle* part, const std::vector<double>& params);
179 
180 
186  double getV0DaughterTrackDetNHits(const Particle* particle, const double daughterID, const Const::EDetector& det);
187 
189  const TrackFitResult* getTrackFitResultFromV0DaughterParticle(const Particle* particle, const double daughterID);
190 
192  double getv0DaughterTrackParamAtIndex(const Particle* particle, const double daughterID, const int tauIndex);
193 
195  double getv0DaughterTrackParamErrorAtIndex(const Particle* particle, const double daughterID, const int tauIndex);
196 
198  double getHelixParameterPullOfV0DaughterWithTrueVertexAsPivotAtIndex(const Particle* particle, const double daughterID,
199  const int tauIndex);
200 
202  double getHelixParameterPullOfV0DaughterWithOriginAsPivotAtIndex(const Particle* particle, const double daughterID,
203  const int tauIndex);
204 
205  }
207 } // Belle2 namespace
Belle2::Const::EDetector
EDetector
Enum for identifying the detector components (detector and subdetector).
Definition: Const.h:44
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19