Belle II Software light-2406-ragdoll
TrackVariables.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 <analysis/VariableManager/Manager.h>
12#include <framework/gearbox/Const.h>
13#include <framework/geometry/B2Vector3.h>
14
15namespace Belle2 {
20 class Particle;
21
22 namespace Variable {
23
29 double trackNHits(const Particle* part, const Const::EDetector& det);
30
34 double trackNCDCHits(const Particle* part);
35
39 double trackNSVDHits(const Particle* part);
40
44 double trackNPXDHits(const Particle* part);
45
49 double trackNVXDHits(const Particle* part);
50
54 double trackNDF(const Particle* part);
55
59 double trackChi2(const Particle* part);
60
64 double trackFirstSVDLayer(const Particle* part);
65
69 double trackFirstPXDLayer(const Particle* part);
70
74 double trackFirstCDCLayer(const Particle* part);
75
79 double trackLastCDCLayer(const Particle* part);
80
84 double trackD0(const Particle* part);
85
89 double trackPhi0(const Particle* part);
90
94 double trackOmega(const Particle* part);
95
99 double trackZ0(const Particle* part);
100
104 double trackTanLambda(const Particle* part);
105
109 double trackD0Error(const Particle* part);
110
114 double trackPhi0Error(const Particle* part);
115
119 double trackOmegaError(const Particle* part);
120
124 double trackZ0Error(const Particle* part);
125
129 double trackTanLambdaError(const Particle* part);
130
134 double trackFitCovariance(const Particle* particle, const std::vector<double>& indices);
135
139 double trackPValue(const Particle* part);
140
145 double trackNECLClusters(const Particle* part);
146
150 double nExtraCDCHits(const Particle*);
151
152 /*
153 * returns the number of CDC hits in the event not assigned to any track
154 * nor very likely beam background (i.e. hits that survive cleanup selection)
155 */
156 double nExtraCDCHitsPostCleaning(const Particle*);
157
158 /*
159 * checks for the presence of a non-assigned hit in the specified CDC layer
160 */
161 double hasExtraCDCHitsInLayer(const Particle*, const std::vector<double>& layer);
162
166 double hasExtraCDCHitsInSuperLayer(const Particle*, const std::vector<double>& layer);
167
171 double nExtraCDCSegments(const Particle*);
172
176 double nExtraVXDHitsInLayer(const Particle*, const std::vector<double>& layer);
177
181 double nExtraVXDHits(const Particle*);
182
186 double svdFirstSampleTime(const Particle*);
187
192 double trackFindingFailureFlag(const Particle*);
193
198 double trackHelixExtTheta(const Particle* part, const std::vector<double>& pars);
199
204 double trackHelixExtPhi(const Particle* part, const std::vector<double>& pars);
205
210 Manager::FunctionPtr trackHelixExtThetaOnDet(const std::vector<std::string>& arguments);
211
216 Manager::FunctionPtr trackHelixExtPhiOnDet(const std::vector<std::string>& arguments);
217
221 double trackFitHypothesisPDG(const Particle* part);
222
224 double getHelixMCD0(const Particle* part);
225
227 double getHelixMCPhi0(const Particle* part);
228
230 double getHelixMCOmega(const Particle* part);
231
233 double getHelixMCZ0(const Particle* part);
234
236 double getHelixMCTanLambda(const Particle* part);
237
239 double getHelixD0Pull(const Particle* part);
240
242 double getHelixPhi0Pull(const Particle* part);
243
245 double getHelixOmegaPull(const Particle* part);
246
248 double getHelixZ0Pull(const Particle* part);
249
251 double getHelixTanLambdaPull(const Particle* part);
252
254 B2Vector3D getPositionOnHelix(const Particle* part, const std::vector<double>& pars);
255
257 double isTrackFlippedAndRefitted(const Particle* part);
258
260 double getTrackTime(const Particle* part);
261
262 }
264} // Belle2 namespace
EDetector
Enum for identifying the detector components (detector and subdetector).
Definition: Const.h:42
std::function< VarVariant(const Particle *)> FunctionPtr
functions stored take a const Particle* and return VarVariant.
Definition: Manager.h:113
B2Vector3< double > B2Vector3D
typedef for common usage with double
Definition: B2Vector3.h:516
Abstract base class for different kinds of events.
Definition: ClusterUtils.h:24