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 trackQualityIndicator(
const Particle* part);
171 double nExtraCDCHits(
const Particle*);
177 double nExtraCDCHitsPostCleaning(
const Particle*);
182 double hasExtraCDCHitsInLayer(
const Particle*,
const std::vector<double>& layer);
187 double hasExtraCDCHitsInSuperLayer(
const Particle*,
const std::vector<double>& layer);
192 double nExtraCDCSegments(
const Particle*);
197 double nExtraVXDHitsInLayer(
const Particle*,
const std::vector<double>& layer);
202 double nExtraVXDHits(
const Particle*);
207 double nExtraPXDHits(
const Particle*);
212 double svdFirstSampleTime(
const Particle*);
218 double trackFindingFailureFlag(
const Particle*);
224 double trackHelixExtTheta(
const Particle* part,
const std::vector<double>& pars);
230 double trackHelixExtPhi(
const Particle* part,
const std::vector<double>& pars);
247 double trackFitHypothesisPDG(
const Particle* part);
250 double getHelixMCD0(
const Particle* part);
253 double getHelixMCPhi0(
const Particle* part);
256 double getHelixMCOmega(
const Particle* part);
259 double getHelixMCZ0(
const Particle* part);
262 double getHelixMCTanLambda(
const Particle* part);
265 double getHelixD0Pull(
const Particle* part);
268 double getHelixPhi0Pull(
const Particle* part);
271 double getHelixOmegaPull(
const Particle* part);
274 double getHelixZ0Pull(
const Particle* part);
277 double getHelixTanLambdaPull(
const Particle* part);
280 ROOT::Math::XYZVector getPositionOnHelix(
const Particle* part,
const std::vector<double>& pars);
283 double isTrackFlippedAndRefitted(
const Particle* part);
286 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.