 |
Belle II Software
release-05-01-25
|
23 #ifndef genfit_GblFitterInfo_h
24 #define genfit_GblFitterInfo_h
26 #include "AbsFitterInfo.h"
27 #include "MeasuredStateOnPlane.h"
28 #include "MeasurementOnPlane.h"
29 #include "StateOnPlane.h"
30 #include "TrackPoint.h"
31 #include "ThinScatterer.h"
32 #include "StateOnPlane.h"
34 #include "ICalibrationParametersDerivatives.h"
37 #include "GblFitter.h"
39 #include "TMatrixDSym.h"
40 #include "AbsHMatrix.h"
84 void reset(
unsigned int measurementDim = 2,
unsigned int repDim = 5);
227 bool hasMeasurements()
const override {
return trackPoint_->hasRawMeasurements();}
228 bool hasReferenceState()
const override {
return (refPrediction_(0) != 0.);}
229 bool hasForwardPrediction()
const override {
return hasReferenceState();}
230 bool hasBackwardPrediction()
const override {
return hasReferenceState();}
231 bool hasForwardUpdate()
const override {
return hasForwardPrediction();}
232 bool hasBackwardUpdate()
const override {
return hasBackwardPrediction();}
233 bool hasUpdate(
int direction)
const override {
if (direction < 0)
return hasBackwardPrediction();
return hasForwardPrediction();}
234 bool hasPredictionsAndUpdates()
const {
return (hasForwardPrediction() && hasBackwardPrediction() && hasForwardUpdate() && hasBackwardUpdate());}
236 void deleteForwardInfo()
override {;}
237 void deleteBackwardInfo()
override {;}
238 void deletePredictions() {
239 deleteBackwardInfo();
242 void deleteReferenceInfo()
override {;}
243 void deleteMeasurementInfo()
override {;}
244 virtual void Print(
const Option_t* =
"")
const override;
249 TVectorD measResiduals_;
250 TVectorD measResidualErrors_;
251 TVectorD kinkResiduals_;
252 TVectorD kinkResidualErrors_;
253 TVectorD measDownWeights_;
254 TVectorD kinkDownWeights_;
255 TVectorD bwdStateCorrection_;
256 TVectorD fwdStateCorrection_;
259 TVectorD fwdPrediction_;
260 TVectorD bwdPrediction_;
261 TVectorD refPrediction_;
263 TVectorD measurement_;
264 TMatrixDSym measCov_;
267 mutable std::unique_ptr<MeasuredStateOnPlane> fittedStateBwd_;
279 #endif // genfit_GblFitterInfo_h
Object containing AbsMeasurement and AbsFitterInfo objects.
std::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.
SharedPlanePtr sharedPlane_
No ownership.
MeasurementOnPlane getResidual(unsigned int=0, bool=false, bool onlyMeasurementErrors=true) const override
Get the residual.
#StateOnPlane with additional covariance matrix.
Info which information has been pruned from the Track.
This class collects all information needed and produced by a specific AbsFitter and is specific to on...
A state with arbitrary dimension defined in a DetPlane.
Defines for I/O streams used for error and debug printing.
Abstract base class for a track representation.
GblFitterInfo()
Constructor for ROOT I/O.
const MeasuredStateOnPlane & getFittedState(bool afterKink=true) const override
Get the prediction at this point Always biased in GBL (global fit) There are 2 states,...
MeasurementOnPlane getKink() const
Get kink (residual) with diagonalized covariance (2D) Covariance may be zero if not yet fitted or no ...
void updateFitResults(gbl::GblTrajectory &traj)
Update fitter info from GBL fit results.
void setJacobian(TMatrixD jacobian)
Set the Jacobian for further GblPoint construction.
void reset(unsigned int measurementDim=2, unsigned int repDim=5)
(Initial) reset of fitter info
void updateMeasurementAndPlane(const StateOnPlane &sop)
SHOULD BE USED ONLY INTERNALY! Update the plane from measurement constructed with state or take plane...
TMatrixDSym getCovariance(double variance, TVector3 trackDirection, SharedPlanePtr measurementPlane) const
Get scattering covariance projected into (measurement) plane.
void recalculateJacobian(GblFitterInfo *prevFitterInfo)
Re-extrapolates between prevFitterInfo and this point using forward state to update the Jacobian (if ...
StateOnPlane getReferenceState() const
Returns (copy of) the stored reference 5D state at current plane with internal rep.
Collects information needed and produced by a GblFitter/GBL and is specific to one AbsTrackRep of the...
void setReferenceState(StateOnPlane &referenceState)
Set the prediction and plane (from measurement if any) You should use the user constructor instead.
virtual GblFitterInfo * clone() const override
Deep copy ctor for polymorphic class.
MeasurementOnPlane getMeasurement() const
Get the measurement on plane from stored measurement data (from last construction/update)
gbl::GblPoint constructGblPoint()
Collect all data and create a GblPoint.
TVectorD getKinks() const
Get kink (residual) (2D) = 0 - ( (+)pred - (-)pred )
std::unique_ptr< MeasuredStateOnPlane > fittedStateFwd_
cache
const TrackPoint * trackPoint_
Pointer to TrackPoint where the FitterInfo belongs to.
Measured coordinates on a plane.
const AbsTrackRep * rep_
No ownership.