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 
29 namespace edm {class Event; class EventSetup; class ParameterSet;}
30 
31 class Trajectory;
32 class Propagator;
33 class MuonServiceProxy;
35 class TrajectorySmoother;
36 class ForwardDetLayer;
37 class BarrelDetLayer;
38 class TrackerTopology;
39 
41  public:
42 
45 
48 
50  virtual ~MuonTrackLoader();
51 
53  edm::OrphanHandle<reco::TrackCollection> loadTracks(const TrajectoryContainer&,
54  edm::Event&,
55  const TrackerTopology& ttopo,
56  const std::string& = "",
57  bool = true);
58 
60  edm::OrphanHandle<reco::TrackCollection> loadTracks(const TrajectoryContainer&,
61  edm::Event&, std::vector<bool>&,
62  const TrackerTopology& ttopo,
63  const std::string& = "",
64  bool = true);
65 
67  edm::OrphanHandle<reco::TrackCollection> loadTracks(const TrajectoryContainer&,
68  edm::Event&,const std::vector<std::pair<Trajectory*, reco::TrackRef> >&,
69  edm::Handle<reco::TrackCollection> const& trackHandle,
70  const TrackerTopology& ttopo,
71  const std::string& = "",
72  bool = true);
73 
75  edm::OrphanHandle<reco::MuonTrackLinksCollection> loadTracks(const CandidateContainer&,
76  edm::Event&,
77  const TrackerTopology& ttopo);
78 
79  private:
80  static std::vector<const TrackingRecHit*> unpackHit(const TrackingRecHit &hit);
81 
83  std::pair<bool,reco::Track> buildTrackAtPCA(const Trajectory& trajectory, const reco::BeamSpot &) const;
84 
86  std::pair<bool,reco::Track> buildTrackUpdatedAtPCA(const reco::Track& trackAtPCA, const reco::BeamSpot &) const;
87 
88  reco::TrackExtra buildTrackExtra(const Trajectory&) const;
89 
91 
94 
96 
100  std::unique_ptr<TrajectorySmoother> theSmoother;
102 
103 
106 
112 };
113 #endif
edm::EDGetTokenT< reco::BeamSpot > theBeamSpotToken
std::unique_ptr< TrajectorySmoother > theSmoother
std::vector< Trajectory * > TrajectoryContainer
Definition: MuonCandidate.h:19
TkClonerImpl hitCloner
std::string theSmootherName
MuonCandidate::CandidateContainer CandidateContainer
edm::InputTag theBeamSpotInputTag
std::string theTrackerRecHitBuilderName
std::vector< MuonCandidate * > CandidateContainer
Definition: MuonCandidate.h:20
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