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 nExtraPXDHits(
const Particle*);
207 double svdFirstSampleTime(
const Particle*);
213 double trackFindingFailureFlag(
const Particle*);
219 double trackHelixExtTheta(
const Particle* part,
const std::vector<double>& pars);
225 double trackHelixExtPhi(
const Particle* part,
const std::vector<double>& pars);
242 double trackFitHypothesisPDG(
const Particle* part);
245 double getHelixMCD0(
const Particle* part);
248 double getHelixMCPhi0(
const Particle* part);
251 double getHelixMCOmega(
const Particle* part);
254 double getHelixMCZ0(
const Particle* part);
257 double getHelixMCTanLambda(
const Particle* part);
260 double getHelixD0Pull(
const Particle* part);
263 double getHelixPhi0Pull(
const Particle* part);
266 double getHelixOmegaPull(
const Particle* part);
269 double getHelixZ0Pull(
const Particle* part);
272 double getHelixTanLambdaPull(
const Particle* part);
275 ROOT::Math::XYZVector getPositionOnHelix(
const Particle* part,
const std::vector<double>& pars);
278 double isTrackFlippedAndRefitted(
const Particle* part);
281 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.