13#include <analysis/VariableManager/Manager.h>
15#include <Math/Vector3D.h>
32 double particleTagVx(
const Particle* particle);
39 double particleTagVy(
const Particle* particle);
46 double particleTagVz(
const Particle* particle);
53 double getY4Sx(
const Particle* part);
60 double getY4Sy(
const Particle* part);
67 double getY4Sz(
const Particle* part);
74 double getSigBdecayTime(
const Particle* part);
81 double getTagBdecayTime(
const Particle* part);
88 double getDeltaT3D(
const Particle* part);
95 double particleTruthTagVx(
const Particle* particle);
102 double particleTruthTagVy(
const Particle* particle);
109 double particleTruthTagVz(
const Particle* particle);
116 double particleTagVpVal(
const Particle* particle);
123 double particleTagVNTracks(
const Particle* particle);
130 double particleTagVNTracks(
const Particle* particle);
137 double particleTagVNDF(
const Particle* particle);
144 double particleTagVChi2(
const Particle* particle);
151 double particleTagVChi2IP(
const Particle* particle);
159 double particleTagVxErr(
const Particle* particle);
166 double particleTagVyErr(
const Particle* particle);
173 double particleTagVzErr(
const Particle* particle);
180 double particleDeltaT(
const Particle* particle);
187 double particleDeltaTBelle(
const Particle* particle);
195 double particleDeltaTErr(
const Particle* particle);
202 double particleDeltaTRes(
const Particle* particle);
209 double particleMCDeltaTau(
const Particle* particle);
216 double particleMCDeltaT(
const Particle* particle);
223 double particleMCDeltaL(
const Particle* particle);
231 double particleDeltaZ(
const Particle* particle);
238 double particleDeltaZErr(
const Particle* particle);
245 double particleDeltaB(
const Particle* particle);
252 double particleDeltaBErr(
const Particle* particle);
258 double vertexBoostDirection(
const Particle* particle);
264 double vertexOrthogonalBoostDirection(
const Particle* particle);
270 double vertexTruthBoostDirection(
const Particle* particle);
276 double vertexTruthOrthogonalBoostDirection(
const Particle* particle);
282 double vertexErrBoostDirection(
const Particle* particle);
288 double vertexErrOrthBoostDirection(
const Particle* particle);
296 double tagVBoostDirection(
const Particle* particle);
302 double tagVOrthogonalBoostDirection(
const Particle* particle);
308 double tagVTruthBoostDirection(
const Particle* particle);
314 double tagVTruthOrthogonalBoostDirection(
const Particle* particle);
320 double tagVErrBoostDirection(
const Particle* particle);
326 double tagVErrOrthogonalBoostDirection(
const Particle* particle);
331 double particleCosThetaBoostDirection(
const Particle* part);
337 double particleInternalTagVMCFlavor(
const Particle* particle);
343 double tagTrackMomentum(
const Particle* part,
const std::vector<double>& trackIndex);
349 double tagTrackMomentumX(
const Particle* part,
const std::vector<double>& trackIndex);
355 double tagTrackMomentumY(
const Particle* part,
const std::vector<double>& trackIndex);
361 double tagTrackMomentumZ(
const Particle* part,
const std::vector<double>& trackIndex);
367 double tagTrackD0(
const Particle* part,
const std::vector<double>& trackIndex);
373 double tagTrackZ0(
const Particle* part,
const std::vector<double>& trackIndex);
379 double particleTagVNFitTracks(
const Particle* particle);
385 double tagTrackRaveWeight(
const Particle* part,
const std::vector<double>& trackIndex);
391 double tagTrackDistanceToConstraint(
const Particle* part,
const std::vector<double>& trackIndex);
399 double tagTrackDistanceToConstraintErr(
const Particle* part,
const std::vector<double>& trackIndex);
406 double tagTrackDistanceToConstraintSignificance(
const Particle* part,
const std::vector<double>& trackIndex);
413 double tagVDistanceToConstraint(
const Particle* part);
420 double tagVDistanceToConstraintErr(
const Particle* part);
426 double tagVDistanceToConstraintSignificance(
const Particle* part);
433 double tagTrackDistanceToTagV(
const Particle* part,
const std::vector<double>& trackIndex);
440 double tagTrackDistanceToTagVErr(
const Particle* part,
const std::vector<double>& trackIndex);
447 double tagTrackDistanceToTagVSignificance(
const Particle* part,
const std::vector<double>& trackIndex);
454 double tagTrackTrueDistanceToTagV(
const Particle* part,
const std::vector<double>& trackIndex);
461 ROOT::Math::XYZVector tagTrackTrueVecToTagV(
const Particle* part,
const std::vector<double>& trackIndex);
468 double tagTrackTrueVecToTagVX(
const Particle* part,
const std::vector<double>& trackIndex);
475 double tagTrackTrueVecToTagVY(
const Particle* part,
const std::vector<double>& trackIndex);
482 double tagTrackTrueVecToTagVZ(
const Particle* part,
const std::vector<double>& trackIndex);
488 ROOT::Math::XYZVector tagTrackTrueMomentum(
const Particle* part,
const std::vector<double>& trackIndex);
494 double tagTrackTrueMomentumX(
const Particle* part,
const std::vector<double>& trackIndex);
500 double tagTrackTrueMomentumY(
const Particle* part,
const std::vector<double>& trackIndex);
506 double tagTrackTrueMomentumZ(
const Particle* part,
const std::vector<double>& trackIndex);
512 ROOT::Math::XYZVector tagTrackTrueOrigin(
const Particle* part,
const std::vector<double>& trackIndex);
518 double tagTrackTrueOriginX(
const Particle* part,
const std::vector<double>& trackIndex);
524 double tagTrackTrueOriginY(
const Particle* part,
const std::vector<double>& trackIndex);
530 double tagTrackTrueOriginZ(
const Particle* part,
const std::vector<double>& trackIndex);
539 int fitTruthStatus(
const Particle* part);
548 int rollbackStatus(
const Particle* part);
558 typedef double (*TagTrFPtr)(
const Particle*,
const std::vector<double>&);
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.