13#include <analysis/VariableManager/Manager.h>
14#include <framework/geometry/B2Vector3.h>
31 double particleTagVx(
const Particle* particle);
38 double particleTagVy(
const Particle* particle);
45 double particleTagVz(
const Particle* particle);
53 double particleTruthTagVx(
const Particle* particle);
60 double particleTruthTagVy(
const Particle* particle);
67 double particleTruthTagVz(
const Particle* particle);
74 double particleTagVpVal(
const Particle* particle);
81 double particleTagVNTracks(
const Particle* particle);
88 double particleTagVNTracks(
const Particle* particle);
95 double particleTagVNDF(
const Particle* particle);
102 double particleTagVChi2(
const Particle* particle);
109 double particleTagVChi2IP(
const Particle* particle);
117 double particleTagVxErr(
const Particle* particle);
124 double particleTagVyErr(
const Particle* particle);
131 double particleTagVzErr(
const Particle* particle);
138 double particleDeltaT(
const Particle* particle);
145 double particleDeltaTBelle(
const Particle* particle);
153 double particleDeltaTErr(
const Particle* particle);
160 double particleDeltaTRes(
const Particle* particle);
167 double particleMCDeltaTau(
const Particle* particle);
174 double particleMCDeltaT(
const Particle* particle);
181 double particleMCDeltaL(
const Particle* particle);
189 double particleDeltaZ(
const Particle* particle);
196 double particleDeltaZErr(
const Particle* particle);
203 double particleDeltaB(
const Particle* particle);
210 double particleDeltaBErr(
const Particle* particle);
216 double vertexBoostDirection(
const Particle* particle);
222 double vertexOrthogonalBoostDirection(
const Particle* particle);
228 double vertexTruthBoostDirection(
const Particle* particle);
234 double vertexTruthOrthogonalBoostDirection(
const Particle* particle);
240 double vertexErrBoostDirection(
const Particle* particle);
246 double vertexErrOrthBoostDirection(
const Particle* particle);
254 double tagVBoostDirection(
const Particle* particle);
260 double tagVOrthogonalBoostDirection(
const Particle* particle);
266 double tagVTruthBoostDirection(
const Particle* particle);
272 double tagVTruthOrthogonalBoostDirection(
const Particle* particle);
278 double tagVErrBoostDirection(
const Particle* particle);
284 double tagVErrOrthogonalBoostDirection(
const Particle* particle);
289 double particleCosThetaBoostDirection(
const Particle* part);
295 double particleInternalTagVMCFlavor(
const Particle* particle);
301 double tagTrackMomentum(
const Particle* part,
const std::vector<double>& trackIndex);
307 double tagTrackMomentumX(
const Particle* part,
const std::vector<double>& trackIndex);
313 double tagTrackMomentumY(
const Particle* part,
const std::vector<double>& trackIndex);
319 double tagTrackMomentumZ(
const Particle* part,
const std::vector<double>& trackIndex);
325 double tagTrackD0(
const Particle* part,
const std::vector<double>& trackIndex);
331 double tagTrackZ0(
const Particle* part,
const std::vector<double>& trackIndex);
337 double particleTagVNFitTracks(
const Particle* particle);
343 double tagTrackRaveWeight(
const Particle* part,
const std::vector<double>& trackIndex);
349 double tagTrackDistanceToConstraint(
const Particle* part,
const std::vector<double>& trackIndex);
357 double tagTrackDistanceToConstraintErr(
const Particle* part,
const std::vector<double>& trackIndex);
364 double tagTrackDistanceToConstraintSignificance(
const Particle* part,
const std::vector<double>& trackIndex);
371 double tagVDistanceToConstraint(
const Particle* part);
378 double tagVDistanceToConstraintErr(
const Particle* part);
384 double tagVDistanceToConstraintSignificance(
const Particle* part);
391 double tagTrackDistanceToTagV(
const Particle* part,
const std::vector<double>& trackIndex);
398 double tagTrackDistanceToTagVErr(
const Particle* part,
const std::vector<double>& trackIndex);
405 double tagTrackDistanceToTagVSignificance(
const Particle* part,
const std::vector<double>& trackIndex);
412 double tagTrackTrueDistanceToTagV(
const Particle* part,
const std::vector<double>& trackIndex);
419 B2Vector3D tagTrackTrueVecToTagV(
const Particle* part,
const std::vector<double>& trackIndex);
426 double tagTrackTrueVecToTagVX(
const Particle* part,
const std::vector<double>& trackIndex);
433 double tagTrackTrueVecToTagVY(
const Particle* part,
const std::vector<double>& trackIndex);
440 double tagTrackTrueVecToTagVZ(
const Particle* part,
const std::vector<double>& trackIndex);
446 B2Vector3D tagTrackTrueMomentum(
const Particle* part,
const std::vector<double>& trackIndex);
452 double tagTrackTrueMomentumX(
const Particle* part,
const std::vector<double>& trackIndex);
458 double tagTrackTrueMomentumY(
const Particle* part,
const std::vector<double>& trackIndex);
464 double tagTrackTrueMomentumZ(
const Particle* part,
const std::vector<double>& trackIndex);
470 B2Vector3D tagTrackTrueOrigin(
const Particle* part,
const std::vector<double>& trackIndex);
476 double tagTrackTrueOriginX(
const Particle* part,
const std::vector<double>& trackIndex);
482 double tagTrackTrueOriginY(
const Particle* part,
const std::vector<double>& trackIndex);
488 double tagTrackTrueOriginZ(
const Particle* part,
const std::vector<double>& trackIndex);
497 int fitTruthStatus(
const Particle* part);
506 int rollbackStatus(
const Particle* part);
516 typedef double (*TagTrFPtr)(
const Particle*,
const std::vector<double>&);
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.