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_;
GblTrajectory definition.
This class collects all information needed and produced by a specific AbsFitter and is specific to on...
SharedPlanePtr sharedPlane_
No ownership.
const AbsTrackRep * rep_
No ownership.
const TrackPoint * trackPoint_
Pointer to TrackPoint where the FitterInfo belongs to.
Abstract base class for a track representation.
Collects information needed and produced by a GblFitter/GBL and is specific to one AbsTrackRep of the...
MeasurementOnPlane getKink() const
Get kink (residual) with diagonalized covariance (2D) Covariance may be zero if not yet fitted or no ...
virtual GblFitterInfo * clone() const override
Deep copy ctor for polymorphic class.
const MeasuredStateOnPlane & getFittedState(bool afterKink=true) const override
Get the prediction at this point Always biased in GBL (global fit) There are 2 states,...
TMatrixDSym getCovariance(double variance, TVector3 trackDirection, SharedPlanePtr measurementPlane) const
Get scattering covariance projected into (measurement) plane.
std::unique_ptr< MeasuredStateOnPlane > fittedStateFwd_
cache
MeasurementOnPlane getResidual(unsigned int=0, bool=false, bool onlyMeasurementErrors=true) const override
Get the residual.
TVectorD getKinks() const
Get kink (residual) (2D) = 0 - ( (+)pred - (-)pred )
MeasurementOnPlane getMeasurement() const
Get the measurement on plane from stored measurement data (from last construction/update)
GblFitterInfo()
Constructor for ROOT I/O.
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.
void updateFitResults(gbl::GblTrajectory &traj)
Update fitter info from GBL fit results.
void setReferenceState(StateOnPlane &referenceState)
Set the prediction and plane (from measurement if any) You should use the user constructor instead.
void updateMeasurementAndPlane(const StateOnPlane &sop)
SHOULD BE USED ONLY INTERNALY! Update the plane from measurement constructed with state or take plane...
gbl::GblPoint constructGblPoint()
Collect all data and create a GblPoint.
void reset(unsigned int measurementDim=2, unsigned int repDim=5)
(Initial) reset of fitter info
void setJacobian(TMatrixD jacobian)
Set the Jacobian for further GblPoint construction.
#StateOnPlane with additional covariance matrix.
Measured coordinates on a plane.
A state with arbitrary dimension defined in a DetPlane.
Object containing AbsMeasurement and AbsFitterInfo objects.
Defines for I/O streams used for error and debug printing.
std::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.
Info which information has been pruned from the Track.