CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
54  edm::Event&,
55  const TrackerTopology& ttopo,
56  const std::string& = "",
57  bool = true);
58 
61  edm::Event&, std::vector<bool>&,
62  const TrackerTopology& ttopo,
63  const std::string& = "",
64  bool = true);
65 
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 
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 
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
MuonTrackLoader(edm::ParameterSet &parameterSet, edm::ConsumesCollector &iC, const MuonServiceProxy *service=0)
Constructor for the STA reco the args must be specify!
std::vector< Trajectory * > TrajectoryContainer
Definition: MuonCandidate.h:19
TkClonerImpl hitCloner
std::string theSmootherName
static std::vector< const TrackingRecHit * > unpackHit(const TrackingRecHit &hit)
MuonCandidate::CandidateContainer CandidateContainer
edm::InputTag theBeamSpotInputTag
std::string theTrackerRecHitBuilderName
edm::OrphanHandle< reco::TrackCollection > loadTracks(const 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.
std::vector< MuonCandidate * > CandidateContainer
Definition: MuonCandidate.h:20
MuonUpdatorAtVertex * theUpdatorAtVtx
MuonCandidate::TrajectoryContainer TrajectoryContainer
std::string theL2SeededTkLabel
Label for L2SeededTracks.
reco::TrackExtra buildTrackExtra(const Trajectory &) const
std::pair< bool, reco::Track > buildTrackAtPCA(const Trajectory &trajectory, const reco::BeamSpot &) const
Build a track at the PCA WITHOUT any vertex constriant.
const MuonServiceProxy * theService
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.
ParameterSet const & parameterSet(Provenance const &provenance)
Definition: Provenance.cc:11