11#include <analysis/VariableManager/Manager.h>
12#include <framework/gearbox/Const.h>
14#include <Math/Vector3D.h>
35 double trackNCDCHits(
const Particle* part);
40 double trackNSVDHits(
const Particle* part);
45 double trackNPXDHits(
const Particle* part);
50 double trackNVXDHits(
const Particle* part);
55 double trackNDF(
const Particle* part);
60 double trackChi2(
const Particle* part);
65 double trackFirstSVDLayer(
const Particle* part);
70 double trackFirstPXDLayer(
const Particle* part);
75 double trackFirstCDCLayer(
const Particle* part);
80 double trackLastCDCLayer(
const Particle* part);
85 double trackD0(
const Particle* part);
90 double trackPhi0(
const Particle* part);
95 double trackOmega(
const Particle* part);
100 double trackZ0(
const Particle* part);
105 double trackTanLambda(
const Particle* part);
110 double trackD0FromIP(
const Particle* part);
115 double trackZ0FromIP(
const Particle* part);
120 double trackPhi0FromIP(
const Particle* part);
125 double trackD0Error(
const Particle* part);
130 double trackPhi0Error(
const Particle* part);
135 double trackOmegaError(
const Particle* part);
140 double trackZ0Error(
const Particle* part);
145 double trackTanLambdaError(
const Particle* part);
150 double trackFitCovariance(
const Particle* particle,
const std::vector<double>& indices);
155 double trackPValue(
const Particle* part);
161 double trackNECLClusters(
const Particle* part);
166 double nExtraCDCHits(
const Particle*);
172 double nExtraCDCHitsPostCleaning(
const Particle*);
177 double hasExtraCDCHitsInLayer(
const Particle*,
const std::vector<double>& layer);
182 double hasExtraCDCHitsInSuperLayer(
const Particle*,
const std::vector<double>& layer);
187 double nExtraCDCSegments(
const Particle*);
192 double nExtraVXDHitsInLayer(
const Particle*,
const std::vector<double>& layer);
197 double nExtraVXDHits(
const Particle*);
202 double svdFirstSampleTime(
const Particle*);
208 double trackFindingFailureFlag(
const Particle*);
214 double trackHelixExtTheta(
const Particle* part,
const std::vector<double>& pars);
220 double trackHelixExtPhi(
const Particle* part,
const std::vector<double>& pars);
237 double trackFitHypothesisPDG(
const Particle* part);
240 double getHelixMCD0(
const Particle* part);
243 double getHelixMCPhi0(
const Particle* part);
246 double getHelixMCOmega(
const Particle* part);
249 double getHelixMCZ0(
const Particle* part);
252 double getHelixMCTanLambda(
const Particle* part);
255 double getHelixD0Pull(
const Particle* part);
258 double getHelixPhi0Pull(
const Particle* part);
261 double getHelixOmegaPull(
const Particle* part);
264 double getHelixZ0Pull(
const Particle* part);
267 double getHelixTanLambdaPull(
const Particle* part);
270 ROOT::Math::XYZVector getPositionOnHelix(
const Particle* part,
const std::vector<double>& pars);
273 double isTrackFlippedAndRefitted(
const Particle* part);
276 double getTrackTime(
const Particle* part);
EDetector
Enum for identifying the detector components (detector and subdetector).
Class to store reconstructed particles.
std::function< VarVariant(const Particle *)> FunctionPtr
functions stored take a const Particle* and return VarVariant.
Abstract base class for different kinds of events.