SND@LHC Software
Loading...
Searching...
No Matches
KalmanFitStatus.h
Go to the documentation of this file.
1/* Copyright 2008-2010, Technische Universitaet Muenchen,
2 Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
3
4 This file is part of GENFIT.
5
6 GENFIT is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as published
8 by the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 GENFIT is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public License
17 along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
18*/
23#ifndef genfit_KalmanFitStatus_h
24#define genfit_KalmanFitStatus_h
25
26#include "FitStatus.h"
27
28#include <Math/ProbFunc.h>
29
30
31namespace genfit {
32
36class KalmanFitStatus : public FitStatus {
37
38 public:
39
43
44 virtual ~KalmanFitStatus() {};
45
46 virtual FitStatus* clone() const {return new KalmanFitStatus(*this);}
47
48 unsigned int getNumIterations() const {return numIterations_;}
49 bool isFittedWithDaf() const {return fittedWithDaf_;}
51 double getTrackLen() const {return trackLen_;}
52 double getForwardChi2() const {return fChi2_;}
53 double getBackwardChi2() const {return FitStatus::getChi2();}
54 double getForwardNdf() const {return fNdf_;}
55 double getBackwardNdf() const {return FitStatus::getNdf();}
56 // virtual double getPVal() : not overridden, as it does the right thing.
57 double getForwardPVal() const {return ROOT::Math::chisquared_cdf_c(fChi2_, fNdf_);}
58 double getBackwardPVal() const {return FitStatus::getPVal(); }
59
60 void setNumIterations(unsigned int numIterations) {numIterations_ = numIterations;}
61 void setIsFittedWithDaf(bool fittedWithDaf = true) {fittedWithDaf_ = fittedWithDaf;}
62 void setIsFittedWithReferenceTrack(bool fittedWithReferenceTrack = true) {fittedWithReferenceTrack_ = fittedWithReferenceTrack;}
63 void setTrackLen(double trackLen) {trackLen_ = trackLen;}
64 void setForwardChi2(double fChi2) {fChi2_ = fChi2;}
65 void setBackwardChi2(double bChi2) {FitStatus::setChi2(bChi2);}
66 void setForwardNdf(double fNdf) {fNdf_ = fNdf;}
67 void setBackwardNdf(double bNdf) {FitStatus::setNdf(bNdf);}
68
69 virtual void Print(const Option_t* = "") const;
70
71 protected:
72
73 unsigned int numIterations_; // number of iterations that have been performed
76
77 double trackLen_;
78
79 double fChi2_; // chi^2 of the forward fit
80 double fNdf_; // degrees of freedom of the forward fit
81 double fPval_; // p-value of the forward fit, set whenever either of chi2 or ndf changes
82
83 public:
84
86
87};
88
89} /* End of namespace genfit */
92#endif // genfit_KalmanFitStatus_h
Class where important numbers and properties of a fit can be stored.
Definition FitStatus.h:36
void setNdf(const double &ndf)
Definition FitStatus.h:93
virtual double getPVal() const
Get the p value of the fit.
Definition FitStatus.h:82
double getNdf() const
Get the degrees of freedom of the fit.
Definition FitStatus.h:76
ClassDef(FitStatus, 1)
double getChi2() const
Get chi^2 of the fit.
Definition FitStatus.h:74
void setChi2(const double &chi2)
Definition FitStatus.h:92
FitStatus for use with AbsKalmanFitter implementations.
void setIsFittedWithReferenceTrack(bool fittedWithReferenceTrack=true)
void setForwardNdf(double fNdf)
void setBackwardNdf(double bNdf)
void setForwardChi2(double fChi2)
double getForwardPVal() const
virtual FitStatus * clone() const
double getBackwardChi2() const
double getForwardChi2() const
double getBackwardNdf() const
void setBackwardChi2(double bChi2)
void setNumIterations(unsigned int numIterations)
void setTrackLen(double trackLen)
bool isFittedWithReferenceTrack() const
virtual void Print(const Option_t *="") const
double getBackwardPVal() const
unsigned int getNumIterations() const
void setIsFittedWithDaf(bool fittedWithDaf=true)
double getForwardNdf() const
Matrix inversion tools.
Definition AbsBField.h:29