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 
40  public:
41 
44 
47 
49  virtual ~MuonTrackLoader();
50 
53  edm::Event&,const std::string& = "",
54  bool = true);
55 
58  edm::Event&, std::vector<bool>&,
59  const std::string& = "",
60  bool = true);
61 
64  edm::Event&,const std::vector<std::pair<Trajectory*, reco::TrackRef> >&,
65  edm::Handle<reco::TrackCollection> const& trackHandle,
66  const std::string& = "",
67  bool = true);
68 
71  edm::Event&);
72 
73  private:
74  static std::vector<const TrackingRecHit*> unpackHit(const TrackingRecHit &hit);
75 
77  std::pair<bool,reco::Track> buildTrackAtPCA(const Trajectory& trajectory, const reco::BeamSpot &) const;
78 
80  std::pair<bool,reco::Track> buildTrackUpdatedAtPCA(const reco::Track& trackAtPCA, const reco::BeamSpot &) const;
81 
83 
85 
88 
90 
94  std::unique_ptr<TrajectorySmoother> theSmoother;
96 
97 
100 
106 };
107 #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
virtual ~MuonTrackLoader()
Destructor.
std::vector< MuonCandidate * > CandidateContainer
Definition: MuonCandidate.h:20
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.
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