CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CosmicMuonSmoother.h
Go to the documentation of this file.
1 #ifndef CosmicMuonProducer_CosmicMuonSmoother_H
2 #define CosmicMuonProducer_CosmicMuonSmoother_H
3 
10 
18 
19 class Propagator;
20 class KFUpdator;
21 class MuonServiceProxy;
23 
24 namespace edm {
25  class ParameterSet;
26  class Event;
27  class EventSetup;
28 } // namespace edm
29 
30 class Trajectory;
32 
37 
39 public:
41  ~CosmicMuonSmoother() override;
42 
43  Trajectory trajectory(const Trajectory&) const override;
44 
45  TrajectoryContainer trajectories(const Trajectory& traj) const override {
47  }
48 
49  CosmicMuonSmoother* clone() const override { return new CosmicMuonSmoother(*this); }
50 
53  const ConstRecHitContainer& hits,
54  const TrajectoryStateOnSurface& firstPredTsos) const;
55 
57 
59 
60  const KFUpdator* updator() const { return theUpdator; }
61 
62  const CosmicMuonUtilities* utilities() const { return theUtilities; }
63 
64  const Chi2MeasurementEstimator* estimator() const { return theEstimator; }
65 
66  std::vector<Trajectory> fit(const Trajectory&) const;
67  std::vector<Trajectory> fit(const TrajectorySeed& seed,
68  const ConstRecHitContainer& hits,
69  const TrajectoryStateOnSurface& firstPredTsos) const;
70 
71  void setHitCloner(TkCloner const* hc) override {}
72 
73 private:
74  std::vector<Trajectory> smooth(const std::vector<Trajectory>&) const;
75  std::vector<Trajectory> smooth(const Trajectory&) const;
76 
78 
80 
84 
86 
91 };
92 #endif
void sortHitsAlongMom(ConstRecHitContainer &hits, const TrajectoryStateOnSurface &) const
const MuonServiceProxy * theService
Trajectory trajectory(const Trajectory &) const override
const Propagator * propagatorOpposite() const
const Propagator * propagatorAlong() const
virtual TrajectoryContainer trajectories(const Trajectory &traj) const
const Chi2MeasurementEstimator * theEstimator
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
CosmicMuonSmoother * clone() const override
void setHitCloner(TkCloner const *hc) override
const CosmicMuonUtilities * theUtilities
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
std::vector< Trajectory > smooth(const std::vector< Trajectory > &) const
MuonTransientTrackingRecHit::ConstMuonRecHitContainer ConstMuonRecHitContainer
edm::ESHandle< Propagator > propagator(std::string propagatorName) const
get the propagator
std::string thePropagatorAlongName
const KFUpdator * theUpdator
std::vector< ConstMuonRecHitPointer > ConstMuonRecHitContainer
std::vector< ConstRecHitPointer > ConstRecHitContainer
TrajectoryStateOnSurface initialState(const Trajectory &) const
std::vector< Trajectory > fit(const Trajectory &) const
~CosmicMuonSmoother() override
const KFUpdator * updator() const
TrajectoryContainer trajectories(const Trajectory &traj) const override
CosmicMuonSmoother(const edm::ParameterSet &, const MuonServiceProxy *service)
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
std::vector< Trajectory > TrajectoryContainer
const CosmicMuonUtilities * utilities() const
const Chi2MeasurementEstimator * estimator() const
std::vector< MuonRecHitPointer > MuonRecHitContainer
std::string thePropagatorOppositeName