1 #ifndef HeavyFlavorAnalysis_RecoDecay_BPHTrackReference_h
2 #define HeavyFlavorAnalysis_RecoDecay_BPHTrackReference_h
61 const char* modeList =
"cfhbpmnigset",
62 char* modeFlag =
nullptr) {
65 const char* mptr = modeList;
67 if (modeFlag ==
nullptr)
69 char&
mode = *modeFlag;
71 while ((mode = *mptr++)) {
static const reco::Track * getMuonPF(const reco::Candidate &rc)
static const reco::Track * getFromPF(const reco::Candidate &rc)
const edm::EventSetup & c
reco::TrackRef track() const override
bool isNonnull() const
Checks for non-null.
static const reco::Track * getMuonSA(const reco::Candidate &rc)
static const reco::Track * getMuonGT(const pat::Muon *mu)
static const reco::Track * getElecTC(const reco::Candidate &rc)
virtual const Track * bestTrack() const
reco::TrackRef closestCtfTrackRef() const override
override the reco::GsfElectron::closestCtfTrackRef method, to access the internal storage of the trac...
static const reco::Track * getMuonIT(const pat::Muon *mu)
reco::TrackRef standAloneMuon() const override
reference to Track reconstructed in the muon detector only (reimplemented from reco::Muon) ...
bool isTrackerMuon() const override
pat::PackedCandidate candidate
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
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 * getMuonIT(const reco::Candidate &rc)
static const reco::Track * getMuonGT(const reco::Candidate &rc)
static const reco::Track * getElecTC(const pat::Electron *el)
reco::PFCandidateRef pfCandidateRef() const
static const reco::Track * getMuonSA(const pat::Muon *mu)
static const reco::Track * getTrack(const reco::Candidate &rc, const char *modeList="cfhbpmnigset", char *modeFlag=nullptr)
virtual const reco::Track & pseudoTrack() const
virtual int charge() const =0
electric charge
T const * get() const
Returns C++ pointer to the item.
static const reco::Track * getMuonBT(const reco::Muon *mu)
Analysis-level electron class.
reco::TrackRef globalTrack() const override
reference to Track reconstructed in both tracked and muon detector (reimplemented from reco::Muon) ...
static const reco::Track * getElecPF(const reco::Candidate &rc)
reco::TrackRef innerTrack() const override
reference to Track reconstructed in the tracker only (reimplemented from reco::Muon) ...
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.
bool isGlobalMuon() const override
static const reco::Track * getFromGP(const reco::Candidate &rc)
static const reco::Track * getMuonBT(const reco::Candidate &rc)
bool isStandAloneMuon() const override
static const reco::Track * getFromBT(const reco::Candidate &rc)