1 #ifndef CD_KFFittingSmoother_H_
2 #define CD_KFFittingSmoother_H_
23 double estimateCut = -1,
24 double logPixelProbabilityCut = -16.0,
25 int minNumberOfHits = 5,
26 bool rejectTracks =
false,
27 bool BreakTrajWith2ConsecutiveMissing =
false,
28 bool NoInvalidHitsBeginEnd =
false) :
29 theFitter(aFitter.
clone()),
30 theSmoother(aSmoother.
clone()),
31 theEstimateCut(estimateCut),
34 theLogPixelProbabilityCut( logPixelProbabilityCut ),
36 theMinNumberOfHits(minNumberOfHits),
37 rejectTracksFlag(rejectTracks),
38 breakTrajWith2ConsecutiveMissing(BreakTrajWith2ConsecutiveMissing),
39 noInvalidHitsBeginEnd(NoInvalidHitsBeginEnd) {}
45 const RecHitContainer& hits,
48 const RecHitContainer& hits, fitType
type)
const;
53 std::unique_ptr<TrajectoryFitter>
clone()
const override {
54 return std::unique_ptr<TrajectoryFitter>(
57 theEstimateCut,theLogPixelProbabilityCut,
58 theMinNumberOfHits,rejectTracksFlag,
59 breakTrajWith2ConsecutiveMissing,noInvalidHitsBeginEnd));
64 theFitter->setHitCloner(hc);
65 theSmoother->setHitCloner(hc);
89 bool checkForNans(
const Trajectory &theTraj)
const;
93 #endif //CD_KFFittingSmoother_H_
bool breakTrajWith2ConsecutiveMissing
KFFittingSmoother(const TrajectoryFitter &aFitter, const TrajectorySmoother &aSmoother, double estimateCut=-1, double logPixelProbabilityCut=-16.0, int minNumberOfHits=5, bool rejectTracks=false, bool BreakTrajWith2ConsecutiveMissing=false, bool NoInvalidHitsBeginEnd=false)
constructor with predefined fitter and smoother and propagator
TrajectoryStateWithArbitraryError tsosWithError
const std::unique_ptr< TrajectoryFitter > theFitter
bool noInvalidHitsBeginEnd
virtual void setHitCloner(TkCloner const *hc)
const TrajectorySmoother * smoother() const
const TrajectoryFitter * fitter() const
virtual ~KFFittingSmoother()
std::unique_ptr< TrajectoryFitter > clone() const override
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
double theLogPixelProbabilityCut
Trajectory smoothingStep(Trajectory const &fitted) const
const std::unique_ptr< TrajectorySmoother > theSmoother
Unlimited (trivial) bounds.