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 
28 
29 namespace edm {
30  class Event;
31  class EventSetup;
32  class ParameterSet;
33 } // namespace edm
34 
35 class Trajectory;
36 class Propagator;
37 class MuonServiceProxy;
39 class TrajectorySmoother;
40 class ForwardDetLayer;
41 class BarrelDetLayer;
42 class TrackerTopology;
44 
46 public:
49 
53  const MuonServiceProxy* service = nullptr);
54 
56  virtual ~MuonTrackLoader();
57 
60  TrajectoryContainer&, edm::Event&, const TrackerTopology& ttopo, const std::string& = "", bool = true);
61 
64  edm::Event&,
65  std::vector<bool>&,
66  const TrackerTopology& ttopo,
67  const std::string& = "",
68  bool = true);
69 
72  edm::Event&,
73  const std::vector<std::pair<Trajectory*, reco::TrackRef> >&,
74  edm::Handle<reco::TrackCollection> const& trackHandle,
75  const TrackerTopology& ttopo,
76  const std::string& = "",
77  bool = true);
78 
81  edm::Event&,
82  const TrackerTopology& ttopo);
83 
84 private:
85  static std::vector<const TrackingRecHit*> unpackHit(const TrackingRecHit& hit);
86 
88  std::pair<bool, reco::Track> buildTrackAtPCA(const Trajectory& trajectory, const reco::BeamSpot&) const;
89 
91  std::pair<bool, reco::Track> buildTrackUpdatedAtPCA(const reco::Track& trackAtPCA, const reco::BeamSpot&) const;
92 
94 
96 
98  std::unique_ptr<MuonUpdatorAtVertex> theUpdatorAtVtx;
99 
101 
105  std::unique_ptr<TrajectorySmoother> theSmoother;
107 
110 
116 };
117 #endif
edm::EDGetTokenT< reco::BeamSpot > theBeamSpotToken
std::unique_ptr< TrajectorySmoother > theSmoother
MuonTrackLoader(edm::ParameterSet &parameterSet, edm::ConsumesCollector &iC, const MuonServiceProxy *service=nullptr)
Constructor for the STA reco the args must be specify!
std::unique_ptr< MuonUpdatorAtVertex > theUpdatorAtVtx
std::pair< bool, reco::Track > buildTrackAtPCA(const Trajectory &trajectory, const reco::BeamSpot &) const
Build a track at the PCA WITHOUT any vertex constriant.
reco::TrackExtra buildTrackExtra(const Trajectory &) const
TkClonerImpl hitCloner
static std::vector< const TrackingRecHit * > unpackHit(const TrackingRecHit &hit)
ParameterSet const & parameterSet(StableProvenance const &provenance, ProcessHistory const &history)
Definition: Provenance.cc:11
MuonCandidate::CandidateContainer CandidateContainer
edm::InputTag theBeamSpotInputTag
edm::OrphanHandle< reco::TrackCollection > loadTracks(TrajectoryContainer &, edm::Event &, const TrackerTopology &ttopo, const std::string &="", bool=true)
Convert the trajectories into tracks and load the tracks in the event.
virtual ~MuonTrackLoader()
Destructor.
MuonCandidate::TrajectoryContainer TrajectoryContainer
std::string theL2SeededTkLabel
Label for L2SeededTracks.
std::vector< std::unique_ptr< MuonCandidate > > CandidateContainer
Definition: MuonCandidate.h:18
HLT enums.
edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > theTrackerRecHitBuilderToken
const MuonServiceProxy * theService
edm::ESGetToken< TrajectorySmoother, TrajectoryFitter::Record > theSmootherToken
std::pair< bool, reco::Track > buildTrackUpdatedAtPCA(const reco::Track &trackAtPCA, const reco::BeamSpot &) const
Takes a track at the PCA and applies the vertex constriant.
std::vector< std::unique_ptr< Trajectory > > TrajectoryContainer
Definition: MuonCandidate.h:17