31 #include <Math/ProbFunc.h>
36 using namespace genfit;
41 double& bChi2,
double& fChi2,
42 double& bNdf,
double& fNdf)
const {
46 bNdf = -1. * rep->
getDim();
47 fNdf = -1. * rep->
getDim();
50 for (std::vector<TrackPoint*>::const_iterator tpIter = pointsWM.begin(), endIter = pointsWM.end(); tpIter != endIter; ++tpIter) {
51 if (! (*tpIter)->hasFitterInfo(rep))
57 Exception exc(
"AbsKalmanFitter::getChiSqu(): fitterInfo is not a KalmanFitterInfo", __LINE__,__FILE__);
64 if (fup ==
nullptr || bup ==
nullptr) {
65 Exception exc(
"AbsKalmanFitter::getChiSqu(): fup == nullptr || bup == nullptr", __LINE__,__FILE__);
85 double bChi2(0), fChi2(0), bNdf(0), fNdf(0);
95 double bChi2(0), fChi2(0), bNdf(0), fNdf(0);
105 double bChi2(0), fChi2(0), bNdf(0), fNdf(0);
115 double bChi2(0), fChi2(0), bNdf(0), fNdf(0);
120 return std::max(0.,ROOT::Math::chisquared_cdf_c(bChi2, bNdf));
121 return std::max(0.,ROOT::Math::chisquared_cdf_c(fChi2, fNdf));
128 if (points.size() == 0)
131 for (std::vector<TrackPoint*>::const_iterator pIt = points.begin(), pEnd = points.end(); pIt != pEnd; ++pIt) {
155 if (points.size() == 0)
158 for (std::vector<TrackPoint*>::const_iterator pIt = points.begin(), pEnd = points.end(); pIt != pEnd; ++pIt) {
188 Exception e(
"AbsKalmanFitter::getMeasurement: no ReferenceState.", __LINE__,__FILE__);
192 std::vector<MeasurementOnPlane *> retVal;
201 Exception e(
"AbsKalmanFitter::getMeasurement: no prediction.", __LINE__,__FILE__);
205 std::vector<MeasurementOnPlane *> retVal;
216 Exception e(
"AbsKalmanFitter::getMeasurement: no ReferenceState.", __LINE__,__FILE__);
220 std::vector<MeasurementOnPlane *> retVal;
233 Exception e(
"AbsKalmanFitter::getMeasurement: no prediction.", __LINE__,__FILE__);
237 std::vector<MeasurementOnPlane *> retVal;
248 Exception e(
"AbsKalmanFitter::getMeasurement: choice not valid.", __LINE__,__FILE__);
274 Exception e(
"AbsKalmanFitter::canIgnoreWeights: choice not valid.", __LINE__,__FILE__);