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 {class ParameterSet; class Event; class EventSetup;}
27 
28 class Trajectory;
31 
33 
34 public:
39 
44  typedef std::pair<const Trajectory*,reco::TrackRef> TrackCand;
45 
48 
51 
53  std::vector<Trajectory*> trajectories(const TrajectorySeed&) override {return std::vector<Trajectory*>();}
54 
55  const Propagator* propagator() const {return &*theService->propagator(thePropagatorName);}
56 
58  CandidateContainer trajectories(const TrackCand&) override;
59 
61  std::vector<TrackCand> match(const TrackCand&, const edm::Handle<reco::TrackCollection>& );
62 
63  void setEvent(const edm::Event&) override;
64 
65 private:
66 
67  void sortHits(ConstRecHitContainer&, ConstRecHitContainer&, ConstRecHitContainer&);
68 
69  ConstRecHitContainer getTransientRecHits(const reco::Track&) const;
70 
71  CosmicMuonSmoother* smoother() const {return theSmoother;}
72 
73  const CosmicMuonUtilities* utilities() const {return smoother()->utilities();}
74 
75  bool isTraversing(const reco::Track& tk) const;
76 
78 
80 
82 
85 
88 
91 
93 
95 
96  const std::vector<Trajectory>* allTrackerTrajs;
97 
99 
100 };
101 #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::pair< const Trajectory *, reco::TrackRef > TrackCand
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::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)