CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CosmicMuonSmoother.h
Go to the documentation of this file.
1 #ifndef CosmicMuonProducer_CosmicMuonSmoother_H
2 #define CosmicMuonProducer_CosmicMuonSmoother_H
3 
12 
20 
21 class Propagator;
22 class KFUpdator;
23 class MuonServiceProxy;
25 
26 namespace edm {class ParameterSet; class Event; class EventSetup;}
27 
28 class Trajectory;
30 
35 
36 
38 public:
39 
40 
42  virtual ~CosmicMuonSmoother();
43 
44  Trajectory trajectory(const Trajectory&) const;
45 
46  virtual TrajectoryContainer trajectories(const Trajectory& traj) const {
48  }
49 
50  virtual CosmicMuonSmoother* clone() const {
51  return new CosmicMuonSmoother(*this);
52  }
53 
56  const ConstRecHitContainer& hits,
57  const TrajectoryStateOnSurface& firstPredTsos) const;
58 
59 
61 
63 
64  KFUpdator* updator() const {return theUpdator;}
65 
67 
69 
70  std::vector<Trajectory> fit(const Trajectory&) const;
71  std::vector<Trajectory> fit(const TrajectorySeed& seed,
72  const ConstRecHitContainer& hits,
73  const TrajectoryStateOnSurface& firstPredTsos) const;
74 
75 private:
76  std::vector<Trajectory> smooth(const std::vector<Trajectory>& ) const;
77  std::vector<Trajectory> smooth(const Trajectory&) const;
78 
80 
82 
86 
88 
93 
94 };
95 #endif
void sortHitsAlongMom(ConstRecHitContainer &hits, const TrajectoryStateOnSurface &) const
KFUpdator * updator() const
const MuonServiceProxy * theService
const Propagator * propagatorOpposite() const
const Propagator * propagatorAlong() const
virtual TrajectoryContainer trajectories(const Trajectory &traj) const
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
Chi2MeasurementEstimator * estimator() const
std::vector< Trajectory > smooth(const std::vector< Trajectory > &) const
MuonTransientTrackingRecHit::ConstMuonRecHitContainer ConstMuonRecHitContainer
std::string thePropagatorAlongName
CosmicMuonUtilities * theUtilities
virtual TrajectoryContainer trajectories(const Trajectory &traj) const
std::vector< ConstMuonRecHitPointer > ConstMuonRecHitContainer
std::vector< ConstRecHitPointer > ConstRecHitContainer
TrajectoryStateOnSurface initialState(const Trajectory &) const
Chi2MeasurementEstimator * theEstimator
std::vector< Trajectory > fit(const Trajectory &) const
virtual CosmicMuonSmoother * clone() const
CosmicMuonSmoother(const edm::ParameterSet &, const MuonServiceProxy *service)
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
std::vector< Trajectory > TrajectoryContainer
Trajectory trajectory(const Trajectory &) const
std::vector< MuonRecHitPointer > MuonRecHitContainer
CosmicMuonUtilities * utilities() const
edm::ESHandle< Propagator > propagator(std::string propagatorName) const
get the propagator
std::string thePropagatorOppositeName