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 
10 
18 
19 class Propagator;
20 class KFUpdator;
21 class MuonServiceProxy;
23 
24 namespace edm {class ParameterSet; class Event; class EventSetup;}
25 
26 class Trajectory;
28 
33 
34 
36 public:
37 
38 
40  virtual ~CosmicMuonSmoother();
41 
42  Trajectory trajectory(const Trajectory&) const override;
43 
44  virtual TrajectoryContainer trajectories(const Trajectory& traj) const override {
46  }
47 
48  virtual CosmicMuonSmoother* clone() const override {
49  return new CosmicMuonSmoother(*this);
50  }
51 
54  const ConstRecHitContainer& hits,
55  const TrajectoryStateOnSurface& firstPredTsos) const;
56 
57 
59 
61 
62  const KFUpdator* updator() const {return theUpdator;}
63 
64  const CosmicMuonUtilities* utilities() const {return theUtilities; }
65 
67 
68  std::vector<Trajectory> fit(const Trajectory&) const;
69  std::vector<Trajectory> fit(const TrajectorySeed& seed,
70  const ConstRecHitContainer& hits,
71  const TrajectoryStateOnSurface& firstPredTsos) const;
72 
73 
74  virtual void setHitCloner(TkCloner const * hc) {}
75 
76 private:
77  std::vector<Trajectory> smooth(const std::vector<Trajectory>& ) const;
78  std::vector<Trajectory> smooth(const Trajectory&) const;
79 
81 
83 
87 
89 
94 
95 };
96 #endif
void sortHitsAlongMom(ConstRecHitContainer &hits, const TrajectoryStateOnSurface &) const
virtual TrajectoryContainer trajectories(const Trajectory &traj) const override
const MuonServiceProxy * theService
virtual CosmicMuonSmoother * clone() const override
Trajectory trajectory(const Trajectory &) const override
const Propagator * propagatorOpposite() const
const Propagator * propagatorAlong() const
virtual TrajectoryContainer trajectories(const Trajectory &traj) const
Definition: Event.h:16
const Chi2MeasurementEstimator * theEstimator
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
const CosmicMuonUtilities * theUtilities
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
std::vector< Trajectory > smooth(const std::vector< Trajectory > &) const
MuonTransientTrackingRecHit::ConstMuonRecHitContainer ConstMuonRecHitContainer
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
virtual void setHitCloner(TkCloner const *hc)
const KFUpdator * updator() const
susybsm::HSCParticleCollection hc
Definition: classes.h:25
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
edm::ESHandle< Propagator > propagator(std::string propagatorName) const
get the propagator
std::string thePropagatorOppositeName