11#include <analysis/VariableManager/Manager.h>
12#include <framework/gearbox/Const.h>
13#include <framework/geometry/B2Vector3.h>
34 double trackNCDCHits(
const Particle* part);
39 double trackNSVDHits(
const Particle* part);
44 double trackNPXDHits(
const Particle* part);
49 double trackNVXDHits(
const Particle* part);
54 double trackNDF(
const Particle* part);
59 double trackChi2(
const Particle* part);
64 double trackFirstSVDLayer(
const Particle* part);
69 double trackFirstPXDLayer(
const Particle* part);
74 double trackFirstCDCLayer(
const Particle* part);
79 double trackLastCDCLayer(
const Particle* part);
84 double trackD0(
const Particle* part);
89 double trackPhi0(
const Particle* part);
94 double trackOmega(
const Particle* part);
99 double trackZ0(
const Particle* part);
104 double trackTanLambda(
const Particle* part);
109 double trackD0FromIP(
const Particle* part);
114 double trackZ0FromIP(
const Particle* part);
119 double trackPhi0FromIP(
const Particle* part);
124 double trackD0Error(
const Particle* part);
129 double trackPhi0Error(
const Particle* part);
134 double trackOmegaError(
const Particle* part);
139 double trackZ0Error(
const Particle* part);
144 double trackTanLambdaError(
const Particle* part);
149 double trackFitCovariance(
const Particle* particle,
const std::vector<double>& indices);
154 double trackPValue(
const Particle* part);
160 double trackNECLClusters(
const Particle* part);
165 double nExtraCDCHits(
const Particle*);
171 double nExtraCDCHitsPostCleaning(
const Particle*);
176 double hasExtraCDCHitsInLayer(
const Particle*,
const std::vector<double>& layer);
181 double hasExtraCDCHitsInSuperLayer(
const Particle*,
const std::vector<double>& layer);
186 double nExtraCDCSegments(
const Particle*);
191 double nExtraVXDHitsInLayer(
const Particle*,
const std::vector<double>& layer);
196 double nExtraVXDHits(
const Particle*);
201 double svdFirstSampleTime(
const Particle*);
207 double trackFindingFailureFlag(
const Particle*);
213 double trackHelixExtTheta(
const Particle* part,
const std::vector<double>& pars);
219 double trackHelixExtPhi(
const Particle* part,
const std::vector<double>& pars);
236 double trackFitHypothesisPDG(
const Particle* part);
239 double getHelixMCD0(
const Particle* part);
242 double getHelixMCPhi0(
const Particle* part);
245 double getHelixMCOmega(
const Particle* part);
248 double getHelixMCZ0(
const Particle* part);
251 double getHelixMCTanLambda(
const Particle* part);
254 double getHelixD0Pull(
const Particle* part);
257 double getHelixPhi0Pull(
const Particle* part);
260 double getHelixOmegaPull(
const Particle* part);
263 double getHelixZ0Pull(
const Particle* part);
266 double getHelixTanLambdaPull(
const Particle* part);
269 B2Vector3D getPositionOnHelix(
const Particle* part,
const std::vector<double>& pars);
272 double isTrackFlippedAndRefitted(
const Particle* part);
275 double getTrackTime(
const Particle* part);
EDetector
Enum for identifying the detector components (detector and subdetector).
std::function< VarVariant(const Particle *)> FunctionPtr
functions stored take a const Particle* and return VarVariant.
B2Vector3< double > B2Vector3D
typedef for common usage with double
Abstract base class for different kinds of events.