CMS 3D CMS Logo

GlobalCosmicMuonTrajectoryBuilder.h
Go to the documentation of this file.
1 #ifndef RecoMuon_CosmicMuonProducer_GlobalCosmicMuonTrajectoryBuilder_H
2 #define RecoMuon_CosmicMuonProducer_GlobalCosmicMuonTrajectoryBuilder_H
3 
25 
26 namespace edm {
27  class ParameterSet;
28  class Event;
29  class EventSetup;
30 } // namespace edm
31 
32 class Trajectory;
35 
37 public:
42 
47  typedef std::pair<const Trajectory*, reco::TrackRef> TrackCand;
48 
53 
56 
58  std::vector<Trajectory*> trajectories(const TrajectorySeed&) override { return std::vector<Trajectory*>(); }
59 
60  const Propagator* propagator() const { return &*theService->propagator(thePropagatorName); }
61 
63  CandidateContainer trajectories(const TrackCand&) override;
64 
66  std::vector<TrackCand> match(const TrackCand&, const edm::Handle<reco::TrackCollection>&);
67 
68  void setEvent(const edm::Event&) override;
69 
70 private:
71  void sortHits(ConstRecHitContainer&, ConstRecHitContainer&, ConstRecHitContainer&);
72 
73  ConstRecHitContainer getTransientRecHits(const reco::Track&) const;
74 
75  CosmicMuonSmoother* smoother() const { return theSmoother; }
76 
77  const CosmicMuonUtilities* utilities() const { return smoother()->utilities(); }
78 
79  bool isTraversing(const reco::Track& tk) const;
80 
82 
84 
86 
89 
92 
95 
97 
99 
100  const std::vector<Trajectory>* allTrackerTrajs;
101 
103 };
104 #endif
MuonCandidate::CandidateContainer CandidateContainer
edm::ESHandle< TransientTrackingRecHitBuilder > theTrackerRecHitBuilder
edm::EDGetTokenT< reco::TrackCollection > theTkTrackToken
edm::ESHandle< TransientTrackingRecHitBuilder > theMuonRecHitBuilder
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
std::vector< ConstRecHitPointer > RecHitContainer
TransientTrackingRecHit::RecHitPointer RecHitPointer
TransientTrackingRecHit::RecHitContainer RecHitContainer
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
std::shared_ptr< MuonTransientTrackingRecHit > MuonRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
std::vector< Trajectory * > trajectories(const TrajectorySeed &) override
dummy implementation, unused in this class
MuonTransientTrackingRecHit::MuonRecHitPointer MuonRecHitPointer
MuonTransientTrackingRecHit::ConstMuonRecHitContainer ConstMuonRecHitContainer
std::shared_ptr< TrackingRecHit const > RecHitPointer
std::vector< ConstMuonRecHitPointer > ConstMuonRecHitContainer
std::vector< ConstRecHitPointer > ConstRecHitContainer
const CosmicMuonUtilities * utilities() const
MuonTransientTrackingRecHit::ConstMuonRecHitPointer ConstMuonRecHitPointer
const std::vector< Trajectory > * allTrackerTrajs
HLT enums.
std::pair< const Trajectory *, reco::TrackRef > TrackCand
std::shared_ptr< MuonTransientTrackingRecHit const > ConstMuonRecHitPointer
std::vector< MuonRecHitPointer > MuonRecHitContainer
edm::Handle< reco::TrackCollection > theTrackerTracks
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
std::string match(BranchDescription const &a, BranchDescription const &b, std::string const &fileName)