CMS 3D CMS Logo

MuonCandidate.h
Go to the documentation of this file.
1 #ifndef RecoMuon_TrackingTools_MuonCandidate_H
2 #define RecoMuon_TrackingTools_MuonCandidate_H
3 
12 #include <vector>
13 #include <memory>
14 
16 public:
17  typedef std::vector<std::unique_ptr<Trajectory>> TrajectoryContainer;
18  typedef std::vector<std::unique_ptr<MuonCandidate>> CandidateContainer;
19 
20 public:
22  MuonCandidate(std::unique_ptr<Trajectory> traj,
23  const reco::TrackRef& muon,
24  const reco::TrackRef& tracker,
25  std::unique_ptr<Trajectory> trackerTraj)
26  : theTrajectory(std::move(traj)),
29  theTrackerTrajectory(std::move(trackerTraj)) {}
30 
31  MuonCandidate(std::unique_ptr<Trajectory> traj, const reco::TrackRef& muon, const reco::TrackRef& tracker)
33 
35  virtual ~MuonCandidate() {}
36 
38  Trajectory const* trajectory() const { return theTrajectory.get(); }
39 
40  std::unique_ptr<Trajectory> releaseTrajectory() { return std::move(theTrajectory); }
41 
43  const reco::TrackRef muonTrack() const { return theMuonTrack; }
44 
46  const reco::TrackRef trackerTrack() const { return theTrackerTrack; }
47 
49  Trajectory const* trackerTrajectory() const { return theTrackerTrajectory.get(); }
50  std::unique_ptr<Trajectory> releaseTrackerTrajectory() { return std::move(theTrackerTrajectory); }
51 
52 private:
53  std::unique_ptr<Trajectory> theTrajectory;
56  std::unique_ptr<Trajectory> theTrackerTrajectory;
57 };
58 #endif
MuonCandidate::theMuonTrack
reco::TrackRef theMuonTrack
Definition: MuonCandidate.h:54
MuonCandidate::TrajectoryContainer
std::vector< std::unique_ptr< Trajectory > > TrajectoryContainer
Definition: MuonCandidate.h:17
muon
Definition: MuonCocktails.h:17
MuonCandidate::MuonCandidate
MuonCandidate(std::unique_ptr< Trajectory > traj, const reco::TrackRef &muon, const reco::TrackRef &tracker)
Definition: MuonCandidate.h:31
MuonCandidate::trajectory
Trajectory const * trajectory() const
return trajectory
Definition: MuonCandidate.h:38
MuonCandidate
Definition: MuonCandidate.h:15
edm::Ref< TrackCollection >
TrackFwd.h
MuonCandidate::~MuonCandidate
virtual ~MuonCandidate()
destructor
Definition: MuonCandidate.h:35
MuonCandidate::MuonCandidate
MuonCandidate(std::unique_ptr< Trajectory > traj, const reco::TrackRef &muon, const reco::TrackRef &tracker, std::unique_ptr< Trajectory > trackerTraj)
constructor
Definition: MuonCandidate.h:22
MuonCandidate::releaseTrackerTrajectory
std::unique_ptr< Trajectory > releaseTrackerTrajectory()
Definition: MuonCandidate.h:50
MuonCandidate::theTrajectory
std::unique_ptr< Trajectory > theTrajectory
Definition: MuonCandidate.h:53
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition: PbPb_ZMuSkimMuonDPG_cff.py:60
MuonCandidate::releaseTrajectory
std::unique_ptr< Trajectory > releaseTrajectory()
Definition: MuonCandidate.h:40
MuonCandidate::trackerTrack
const reco::TrackRef trackerTrack() const
return tracker track
Definition: MuonCandidate.h:46
MuonCandidate::CandidateContainer
std::vector< std::unique_ptr< MuonCandidate > > CandidateContainer
Definition: MuonCandidate.h:18
MuonCandidate::theTrackerTrack
reco::TrackRef theTrackerTrack
Definition: MuonCandidate.h:55
Trajectory.h
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
MuonCandidate::trackerTrajectory
Trajectory const * trackerTrajectory() const
return tracker trajectory
Definition: MuonCandidate.h:49
MuonCandidate::muonTrack
const reco::TrackRef muonTrack() const
return muon track
Definition: MuonCandidate.h:43
Trajectory
Definition: Trajectory.h:38
MuonCandidate::theTrackerTrajectory
std::unique_ptr< Trajectory > theTrackerTrajectory
Definition: MuonCandidate.h:56