CMS 3D CMS Logo

MuonTrackLoader.h
Go to the documentation of this file.
1 #ifndef RecoMuon_TrackingTools_MuonTrackLoader_H
2 #define RecoMuon_TrackingTools_MuonTrackLoader_H
3 
13 
20 
22 
25 
27 
28 namespace edm {
29  class Event;
30  class EventSetup;
31  class ParameterSet;
32 } // namespace edm
33 
34 class Trajectory;
35 class Propagator;
36 class MuonServiceProxy;
38 class TrajectorySmoother;
39 class ForwardDetLayer;
40 class BarrelDetLayer;
41 class TrackerTopology;
42 
44 public:
47 
51  const MuonServiceProxy* service = nullptr);
52 
54  virtual ~MuonTrackLoader();
55 
58  const TrajectoryContainer&, edm::Event&, const TrackerTopology& ttopo, const std::string& = "", bool = true);
59 
61  edm::OrphanHandle<reco::TrackCollection> loadTracks(const TrajectoryContainer&,
62  edm::Event&,
63  std::vector<bool>&,
64  const TrackerTopology& ttopo,
65  const std::string& = "",
66  bool = true);
67 
69  edm::OrphanHandle<reco::TrackCollection> loadTracks(const TrajectoryContainer&,
70  edm::Event&,
71  const std::vector<std::pair<Trajectory*, reco::TrackRef> >&,
72  edm::Handle<reco::TrackCollection> const& trackHandle,
73  const TrackerTopology& ttopo,
74  const std::string& = "",
75  bool = true);
76 
78  edm::OrphanHandle<reco::MuonTrackLinksCollection> loadTracks(const CandidateContainer&,
79  edm::Event&,
80  const TrackerTopology& ttopo);
81 
82 private:
83  static std::vector<const TrackingRecHit*> unpackHit(const TrackingRecHit& hit);
84 
86  std::pair<bool, reco::Track> buildTrackAtPCA(const Trajectory& trajectory, const reco::BeamSpot&) const;
87 
89  std::pair<bool, reco::Track> buildTrackUpdatedAtPCA(const reco::Track& trackAtPCA, const reco::BeamSpot&) const;
90 
91  reco::TrackExtra buildTrackExtra(const Trajectory&) const;
92 
94 
97 
99 
103  std::unique_ptr<TrajectorySmoother> theSmoother;
105 
108 
114 };
115 #endif
edm::EDGetTokenT< reco::BeamSpot > theBeamSpotToken
std::unique_ptr< TrajectorySmoother > theSmoother
std::vector< Trajectory * > TrajectoryContainer
Definition: MuonCandidate.h:16
TkClonerImpl hitCloner
std::string theSmootherName
MuonCandidate::CandidateContainer CandidateContainer
edm::InputTag theBeamSpotInputTag
std::string theTrackerRecHitBuilderName
std::vector< MuonCandidate * > CandidateContainer
Definition: MuonCandidate.h:17
MuonUpdatorAtVertex * theUpdatorAtVtx
MuonCandidate::TrajectoryContainer TrajectoryContainer
std::string theL2SeededTkLabel
Label for L2SeededTracks.
HLT enums.
const MuonServiceProxy * theService
ParameterSet const & parameterSet(Provenance const &provenance)
Definition: Provenance.cc:11