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 
18 
20 
21 public:
24  const TrajectorySmoother& aSmoother,
25  double estimateCut = -1,
26  double logPixelProbabilityCut = -16.0,
27  int minNumberOfHits = 5,
28  bool rejectTracks = false,
29  bool BreakTrajWith2ConsecutiveMissing = false,
30  bool NoInvalidHitsBeginEnd = false) :
31  theFitter(aFitter.clone()),
32  theSmoother(aSmoother.clone()),
33  theEstimateCut(estimateCut),
34 
35  // ggiurgiu@fnal.gov
36  theLogPixelProbabilityCut( logPixelProbabilityCut ),
37 
38  theMinNumberOfHits(minNumberOfHits),
39  rejectTracksFlag(rejectTracks),
40  breakTrajWith2ConsecutiveMissing(BreakTrajWith2ConsecutiveMissing),
41  noInvalidHitsBeginEnd(NoInvalidHitsBeginEnd) {}
42 
43  virtual ~KFFittingSmoother();
44 
45  Trajectory fitOne(const Trajectory& t, fitType type) const;
46  Trajectory fitOne(const TrajectorySeed& aSeed,
47  const RecHitContainer& hits,
48  const TrajectoryStateOnSurface& firstPredTsos, fitType type) const;
49  Trajectory fitOne(const TrajectorySeed& aSeed,
50  const RecHitContainer& hits, fitType type) const;
51 
52  const TrajectoryFitter* fitter() const {return theFitter;}
53  const TrajectorySmoother* smoother() const {return theSmoother;}
54 
56  return new KFFittingSmoother(*theFitter,*theSmoother,
57  theEstimateCut,theLogPixelProbabilityCut,
58  theMinNumberOfHits,rejectTracksFlag,
59  breakTrajWith2ConsecutiveMissing,noInvalidHitsBeginEnd);
60  }
61 
62 private:
63 
64  Trajectory smoothingStep(Trajectory const & fitted) const {return smoother()->trajectory(fitted);}
65 
66 private:
67 
71 
72  double theLogPixelProbabilityCut; // ggiurgiu@fnal.gov
73 
78 
80 
82  bool checkForNans(const Trajectory &theTraj) const;
83 
84 };
85 
86 #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
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition: eve_macros.cc:135
double theLogPixelProbabilityCut
Trajectory smoothingStep(Trajectory const &fitted) const
Unlimited (trivial) bounds.