1 #ifndef HeavyFlavorAnalysis_RecoDecay_BPHTrackReference_h 2 #define HeavyFlavorAnalysis_RecoDecay_BPHTrackReference_h 66 const char* modeList =
"cfhbpmnigse",
67 char* modeFlag =
nullptr) {
70 const char* mptr = modeList;
72 if (modeFlag ==
nullptr)
74 char&
mode = *modeFlag;
76 while ((mode = *mptr++)) {
static const reco::Track * getMuonPF(const reco::Candidate &rc)
static const reco::Track * getFromPF(const reco::Candidate &rc)
bool isNonnull() const
Checks for non-null.
static const reco::Track * getMuonSA(const reco::Candidate &rc)
bool isStandAloneMuon() const override
static const reco::Track * getMuonGT(const pat::Muon *mu)
virtual const Track * bestTrack() const
static const reco::Track * getMuonIT(const pat::Muon *mu)
pat::PackedCandidate candidate
bool isTrackerMuon() const override
reco::TrackRef trackRef() const
static const reco::Track * getFromRC(const reco::Candidate &rc)
Analysis-level Generic Particle class (e.g. for hadron or muon not fully reconstructed) ...
virtual TrackRef muonBestTrack() const
reco::TrackRef innerTrack() const override
reference to Track reconstructed in the tracker only (reimplemented from reco::Muon) ...
static const reco::Track * getMuonPF(const pat::Muon *mu)
reco::PFCandidateRef pfCandidateRef() const
reference to the source PFCandidates; null if this has been built from a standard electron ...
static const reco::Track * getTrack(const reco::Candidate &rc, const char *modeList="cfhbpmnigse", char *modeFlag=0)
static const reco::Track * getMuonIT(const reco::Candidate &rc)
bool isGlobalMuon() const override
static const reco::Track * getMuonGT(const reco::Candidate &rc)
reco::PFCandidateRef pfCandidateRef() const
static const reco::Track * getMuonSA(const pat::Muon *mu)
virtual const reco::Track & pseudoTrack() const
T const * get() const
Returns C++ pointer to the item.
reco::TrackRef track() const override
reco::TrackRef globalTrack() const override
reference to Track reconstructed in both tracked and muon detector (reimplemented from reco::Muon) ...
reco::TrackRef standAloneMuon() const override
reference to Track reconstructed in the muon detector only (reimplemented from reco::Muon) ...
static const reco::Track * getMuonBT(const reco::Muon *mu)
Analysis-level electron class.
static const reco::Track * getElecPF(const reco::Candidate &rc)
virtual int charge() const =0
electric charge
BPHTrackReference & operator=(const BPHTrackReference &x)
Particle reconstructed by the particle flow algorithm.
T get() const
get a component
static const reco::Track * getFromPC(const reco::Candidate &rc)
static const reco::Track * getElecPF(const pat::Electron *el)
Analysis-level muon class.
static const reco::Track * getFromGP(const reco::Candidate &rc)
static const reco::Track * getMuonBT(const reco::Candidate &rc)
static const reco::Track * getFromBT(const reco::Candidate &rc)