11#include <tracking/trackFindingVXD/variableExtractors/VariableExtractor.h>
12#include <tracking/dataobjects/RecoTrack.h>
13#include <tracking/dataobjects/RecoHitInformation.h>
15#include <genfit/FitStatus.h>
16#include <mdst/dataobjects/Track.h>
17#include <mdst/dataobjects/MCParticle.h>
18#include <framework/gearbox/Const.h>
19#include <framework/geometry/B2Vector3.h>
37 addVariable(prefix +
"is_Vzero_Daughter", variableSet);
48 addVariable(prefix +
"seed_Pos_Theta", variableSet);
54 addVariable(prefix +
"seed_Mom_Theta", variableSet);
59 addVariable(prefix +
"N_tracking_hits", variableSet);
67 addVariable(prefix +
"Fit_NFailedPoints", variableSet);
69 addVariable(prefix +
"Fit_Successful", variableSet);
74 addVariable(prefix +
"POCA_Pos_Theta", variableSet);
80 addVariable(prefix +
"POCA_Mom_Theta", variableSet);
88 float pdgIDMother = 0;
89 float isVzeroDaughter = -1;
93 pdgID =
static_cast<float>(mcparticle->getPDG());
94 pdgIDMother =
static_cast<float>(mcparticle->getMother()->getPDG());
95 isPrimary =
static_cast<float>(mcparticle->isPrimaryParticle());
96 if (abs(pdgIDMother) == 310 || abs(pdgIDMother) == 3122) {
107 if (trackFitResult) {
108 z0 = trackFitResult->getZ0();
109 d0 = trackFitResult->getD0();
142 if (rt_TrackFitStatus) {
162 genfit::MeasuredStateOnPlane reco_sop;
165 reco_sop.extrapolateToLine(linePoint, lineDirection);
177 }
catch (genfit::Exception
const& e) {
179 B2WARNING(
"RecoTrackExtractor: recoTrack BeamPipe POCA extrapolation failed!\n"
180 <<
"-->" << e.what());
static const ChargedStable pion
charged pion particle
A Class to store the Monte Carlo particle information.
A mixin class to attach a name to an object. Based on class with same name in CDC package.
This is the Reconstruction Event-Data Model Track.
bool wasFitSuccessful(const genfit::AbsTrackRep *representation=nullptr) const
Returns true if the last fit with the given representation was successful.
ROOT::Math::XYZVector getPositionSeed() const
Return the position seed stored in the reco track. ATTENTION: This is not the fitted position.
unsigned int getNumberOfSVDHits() const
Return the number of svd hits.
unsigned int getNumberOfCDCHits() const
Return the number of cdc hits.
unsigned int getNumberOfTrackingHits() const
Return the number of cdc + svd + pxd hits.
short int getChargeSeed() const
Return the charge seed stored in the reco track. ATTENTION: This is not the fitted charge.
const genfit::MeasuredStateOnPlane & getMeasuredStateOnPlaneFromFirstHit(const genfit::AbsTrackRep *representation=nullptr) const
Return genfit's MeasuredStateOnPlane for the first hit in a fit useful for extrapolation of measureme...
ROOT::Math::XYZVector getMomentumSeed() const
Return the momentum seed stored in the reco track. ATTENTION: This is not the fitted momentum.
unsigned int getNumberOfPXDHits() const
Return the number of pxd hits.
const genfit::FitStatus * getTrackFitStatus(const genfit::AbsTrackRep *representation=nullptr) const
Return the track fit status for the given representation or for the cardinal one. You are not allowed...
double getTimeSeed() const
Return the time seed stored in the reco track. ATTENTION: This is not the fitted time.
T * getRelated(const std::string &name="", const std::string &namedRelation="") const
Get the object to or from which this object has a relation.
Class that bundles various TrackFitResults.
const TrackFitResult * getTrackFitResultWithClosestMass(const Const::ChargedStable &requestedType) const
Return the track fit for a fit hypothesis with the closest mass.
Abstract base class for different kinds of events.