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 
15 
21 
23 
25 
26 namespace edm {class Event; class EventSetup; class ParameterSet;}
27 
28 class Trajectory;
29 class Propagator;
30 class MuonServiceProxy;
32 class TrajectorySmoother;
33 class ForwardDetLayer;
34 class BarrelDetLayer;
35 
37  public:
38 
41 
43  MuonTrackLoader(edm::ParameterSet &parameterSet, const MuonServiceProxy *service =0);
44 
46  virtual ~MuonTrackLoader();
47 
50  edm::Event&,const std::string& = "",
51  bool = true);
52 
55  edm::Event&, std::vector<bool>&,
56  const std::string& = "",
57  bool = true);
58 
61  edm::Event&,const std::vector<std::pair<Trajectory*, reco::TrackRef> >&,
62  const std::string& = "",
63  bool = true);
64 
67  edm::Event&);
68 
69  private:
70 
72  std::pair<bool,reco::Track> buildTrackAtPCA(const Trajectory& trajectory, const reco::BeamSpot &) const;
73 
75  std::pair<bool,reco::Track> buildTrackUpdatedAtPCA(const reco::Track& trackAtPCA, const reco::BeamSpot &) const;
76 
78 
80 
83 
85 
89 
91 
97 };
98 #endif
std::vector< Trajectory * > TrajectoryContainer
Definition: MuonCandidate.h:21
MuonTrackLoader(edm::ParameterSet &parameterSet, const MuonServiceProxy *service=0)
Constructor for the STA reco the args must be specify!
std::string theSmootherName
MuonCandidate::CandidateContainer CandidateContainer
edm::InputTag theBeamSpotInputTag
virtual ~MuonTrackLoader()
Destructor.
std::vector< MuonCandidate * > CandidateContainer
Definition: MuonCandidate.h:22
MuonUpdatorAtVertex * theUpdatorAtVtx
MuonCandidate::TrajectoryContainer TrajectoryContainer
edm::OrphanHandle< reco::TrackCollection > loadTracks(const TrajectoryContainer &, edm::Event &, const std::string &="", bool=true)
Convert the trajectories into tracks and load the tracks in the event.
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.
edm::ESHandle< TrajectorySmoother > theSmoother
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.