 |
Belle II Software
release-05-01-25
|
3 #include <framework/datastore/StoreArray.h>
4 #include <framework/gearbox/Const.h>
5 #include <mdst/dataobjects/TrackFitResult.h>
6 #include <mdst/dataobjects/V0.h>
7 #include <tracking/dataobjects/V0ValidationVertex.h>
8 #include <tracking/dataobjects/RecoTrack.h>
9 #include <genfit/Track.h>
16 class MeasuredStateOnPlane;
33 friend class V0FitterTest_GetTrackHypotheses_Test;
34 friend class V0FitterTest_EnableValidation_Test;
35 friend class V0FitterTest_InitializeCuts_Test;
39 V0Fitter(
const std::string& trackFitResultsName =
"",
const std::string& v0sName =
"",
40 const std::string& v0ValidationVerticesName =
"",
41 const std::string& recoTracksName =
"",
42 const std::string& copiedRecoTracksName =
"CopiedRecoTracks",
43 bool enableValidation =
false);
47 double vertexChi2CutOutside);
81 unsigned int& hasInnerHitStatus, TVector3& vertexPos,
82 const bool forceStore);
103 const int trackPDG,
unsigned int& nRemoveHits);
132 const TVector3& vertexPosition);
137 const TVector3& vertexPosition,
unsigned int& hasInnerHitStatus);
bool fitAndStore(const Track *trackPlus, const Track *trackMinus, const Const::ParticleType &v0Hypothesis)
Fit V0 with given hypothesis and store if fit was successful.
bool vertexFitWithRecoTracks(const Track *trackPlus, const Track *trackMinus, RecoTrack *recoTrackPlus, RecoTrack *recoTrackMinus, const Const::ParticleType &v0Hypothesis, unsigned int &hasInnerHitStatus, TVector3 &vertexPos, const bool forceStore)
fit V0 vertex using RecoTrack's as inputs.
StoreArray< V0 > m_v0s
V0 (output).
bool m_forcestore
0: store V0 at the first vertex fit, regardless of inner hits, 1: remove hits inside the V0 vertex po...
double getBzAtVertex(const TVector3 &vertexPosition)
Getter for magnetic field in z direction at the vertex position.
StoreArray< TrackFitResult > m_trackFitResults
TrackFitResult (output).
#StateOnPlane with additional covariance matrix.
std::string m_recoTracksName
RecoTrackColName (input).
StoreArray< RecoTrack > m_copiedRecoTracks
RecoTrack used to refit tracks (output)
Defines for I/O streams used for error and debug printing.
Collection of TrackPoint objects, AbsTrackRep objects and FitStatus objects.
bool extrapolateToVertex(genfit::MeasuredStateOnPlane &stPlus, genfit::MeasuredStateOnPlane &stMinus, const TVector3 &vertexPosition)
Extrapolate the fit results to the perigee to the vertex.
double m_beamPipeRadius
Radius where inside/outside beampipe is defined.
bool m_useOnlyOneSVDHitPair
true only if the V0Fitter mode is 1
RecoTrack * copyRecoTrack(RecoTrack *origRecoTrack, const int trackPDG)
Create a copy of RecoTrack.
Values of the result of a track fit with a given particle hypothesis.
bool rejectCandidate(genfit::MeasuredStateOnPlane &stPlus, genfit::MeasuredStateOnPlane &stMinus)
Starting point: point closest to axis where either track is defined This is intended to reject tracks...
V0Fitter(const std::string &trackFitResultsName="", const std::string &v0sName="", const std::string &v0ValidationVerticesName="", const std::string &recoTracksName="", const std::string &copiedRecoTracksName="CopiedRecoTracks", bool enableValidation=false)
Constructor for the V0Fitter.
TrackFitResult * buildTrackFitResult(const genfit::Track &track, const RecoTrack *recoTrack, const genfit::MeasuredStateOnPlane &msop, const double Bz, const Const::ParticleType &trackHypothesis)
Build TrackFitResult of V0 Track and set relation to genfit Track.
This is the Reconstruction Event-Data Model Track.
Abstract base class for different kinds of events.
std::pair< Const::ParticleType, Const::ParticleType > getTrackHypotheses(const Const::ParticleType &v0Hypothesis) const
Get track hypotheses for a given v0 hypothesis.
void setFitterMode(int fitterMode)
set V0 fitter mode.
void initializeCuts(double beamPipeRadius, double vertexChi2CutOutside)
Initialize the cuts which will be applied during the fit and store process.
double m_vertexChi2CutOutside
Chi2 cut outside beampipe.
StoreArray< RecoTrack > m_recoTracks
RecoTrack (input)
The ParticleType class for identifying different particle types.
V0Fitter class to create V0 mdst's from reconstructed tracks.
Class that bundles various TrackFitResults.
Accessor to arrays stored in the data store.
bool fitGFRaveVertex(genfit::Track &trackPlus, genfit::Track &trackMinus, genfit::GFRaveVertex &vertex)
Fit the V0 vertex.
bool m_validation
Validation flag.
StoreArray< V0ValidationVertex > m_validationV0s
V0ValidationVertex (output, optional).
bool removeInnerHits(RecoTrack *origRecoTrack, RecoTrack *recoTrack, const int trackPDG, unsigned int &nRemoveHits)
Remove inner hits from RecoTrack.