CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
KFFittingSmoother.h
Go to the documentation of this file.
1 #ifndef CD_KFFittingSmoother_H_
2 #define CD_KFFittingSmoother_H_
3 
16 
18 
19 public:
22  const TrajectorySmoother& aSmoother,
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),
32 
33  // ggiurgiu@fnal.gov
34  theLogPixelProbabilityCut( logPixelProbabilityCut ),
35 
36  theMinNumberOfHits(minNumberOfHits),
37  rejectTracksFlag(rejectTracks),
38  breakTrajWith2ConsecutiveMissing(BreakTrajWith2ConsecutiveMissing),
39  noInvalidHitsBeginEnd(NoInvalidHitsBeginEnd) {}
40 
41  virtual ~KFFittingSmoother();
42 
43  Trajectory fitOne(const Trajectory& t, fitType type) const;
44  Trajectory fitOne(const TrajectorySeed& aSeed,
45  const RecHitContainer& hits,
46  const TrajectoryStateOnSurface& firstPredTsos, fitType type) const;
47  Trajectory fitOne(const TrajectorySeed& aSeed,
48  const RecHitContainer& hits, fitType type) const;
49 
50  const TrajectoryFitter* fitter() const {return theFitter;}
51  const TrajectorySmoother* smoother() const {return theSmoother;}
52 
54  return new KFFittingSmoother(*theFitter,*theSmoother,
55  theEstimateCut,theLogPixelProbabilityCut,
56  theMinNumberOfHits,rejectTracksFlag,
57  breakTrajWith2ConsecutiveMissing,noInvalidHitsBeginEnd);
58  }
59 
60 private:
61 
62  Trajectory smoothingStep(Trajectory const & fitted) const {return smoother()->trajectory(fitted);}
63 
64 private:
65 
69 
70  double theLogPixelProbabilityCut; // ggiurgiu@fnal.gov
71 
76 
78 
80  bool checkForNans(const Trajectory &theTraj) const;
81 
82 };
83 
84 #endif //CD_KFFittingSmoother_H_
type
Definition: HCALResponse.h:21
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
const TrajectoryFitter * theFitter
TrajectoryStateWithArbitraryError tsosWithError
KFFittingSmoother * clone() const
bool noInvalidHitsBeginEnd
const TrajectorySmoother * theSmoother
double theEstimateCut
const TrajectorySmoother * smoother() const
const TrajectoryFitter * fitter() const
double theLogPixelProbabilityCut
tuple clone
Definition: statics.py:58
Trajectory smoothingStep(Trajectory const &fitted) const
Unlimited (trivial) bounds.