16 embeddedMuonBestTrack_(
false),
17 embeddedTunePMuonBestTrack_(
false),
18 embeddedTrack_(
false),
19 embeddedStandAloneMuon_(
false),
20 embeddedCombinedMuon_(
false),
21 embeddedTCMETMuonCorrs_(
false),
22 embeddedCaloMETMuonCorrs_(
false),
23 embeddedPickyMuon_(
false),
24 embeddedTpfmsMuon_(
false),
25 embeddedDytMuon_(
false),
26 embeddedPFCandidate_(
false),
28 cachedNormChi2_(
false),
30 cachedNumberOfValidHits_(0),
42 embeddedMuonBestTrack_(
false),
43 embeddedTunePMuonBestTrack_(
false),
44 embeddedTrack_(
false),
45 embeddedStandAloneMuon_(
false),
46 embeddedCombinedMuon_(
false),
47 embeddedTCMETMuonCorrs_(
false),
48 embeddedCaloMETMuonCorrs_(
false),
49 embeddedPickyMuon_(
false),
50 embeddedTpfmsMuon_(
false),
51 embeddedDytMuon_(
false),
52 embeddedPFCandidate_(
false),
54 cachedNormChi2_(
false),
56 cachedNumberOfValidHits_(0),
68 embeddedMuonBestTrack_(
false),
69 embeddedTunePMuonBestTrack_(
false),
70 embeddedTrack_(
false),
71 embeddedStandAloneMuon_(
false),
72 embeddedCombinedMuon_(
false),
73 embeddedTCMETMuonCorrs_(
false),
74 embeddedCaloMETMuonCorrs_(
false),
75 embeddedPickyMuon_(
false),
76 embeddedTpfmsMuon_(
false),
77 embeddedDytMuon_(
false),
78 embeddedPFCandidate_(
false),
80 cachedNormChi2_(
false),
82 cachedNumberOfValidHits_(0),
94 embeddedMuonBestTrack_(
false),
95 embeddedTunePMuonBestTrack_(
false),
96 embeddedTrack_(
false),
97 embeddedStandAloneMuon_(
false),
98 embeddedCombinedMuon_(
false),
99 embeddedTCMETMuonCorrs_(
false),
100 embeddedCaloMETMuonCorrs_(
false),
101 embeddedPickyMuon_(
false),
102 embeddedTpfmsMuon_(
false),
103 embeddedDytMuon_(
false),
104 embeddedPFCandidate_(
false),
106 cachedNormChi2_(
false),
108 cachedNumberOfValidHits_(0),
112 numberOfValidHits_(0)
126 out <<
"\tpat::Muon: ";
127 out << std::setiosflags(std::ios::right);
128 out << std::setiosflags(std::ios::fixed);
129 out << std::setprecision(3);
130 out <<
" E/pT/eta/phi "
140 for (
int i_ = 0; i_<5; ++i_){
248 bool alreadyEmbedded = force;
251 case None: alreadyEmbedded =
true;
break;
260 if (!alreadyEmbedded) {
269 bool alreadyEmbedded = force;
273 case None: alreadyEmbedded =
true;
break;
285 if (!alreadyEmbedded) {
389 return t->chi2() / t->ndof();
402 return t->numberOfValidHits();
double normChi2() const
Norm chi2 gives the normalized chi2 of the global track.
void embedStandAloneMuon()
set reference to Track reconstructed in the muon detector only (reimplemented from reco::Muon) ...
reco::PFCandidateRef pfCandidateRef_
unsigned int numberOfValidHits() const
numberOfValidHits returns the number of valid hits on the global track.
reco::TrackRef innerTrack() const
reference to Track reconstructed in the tracker only (reimplemented from reco::Muon) ...
bool embeddedTCMETMuonCorrs_
muon MET corrections for tcMET
Ptr< typename C::value_type > refToPtr(Ref< C, typename C::value_type, refhelper::FindUsingAdvance< C, typename C::value_type > > const &ref)
virtual MuonTrackType muonBestTrackType() const
virtual float pt() const
transverse momentum
void embedPFCandidate()
embed the IsolatedPFCandidate pointed to by pfCandidateRef_
bool muonID(const std::string &name) const
unsigned int numberOfValidHits_
virtual TrackRef innerTrack() const
void embedMuonBestTrack(bool force=false)
embed the Track selected to be the best measurement of the muon parameters
unsigned int type_
muon type mask
virtual float phi() const
momentum azimuthal angle
bool embeddedTrack_
track of inner track detector
std::vector< reco::MuonMETCorrectionData > tcMETMuonCorrs_
bool cachedNumberOfValidHits_
has the dB been cached?
double segmentCompatibility(reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration) const
Returns the segment compatibility, using muon::segmentCompatibility (DataFormats/MuonReco/interface/M...
bool embeddedStandAloneMuon_
track of muon system
std::vector< reco::Track > tunePMuonBestTrack_
virtual TrackRef tpfmsTrack() const
Muon()
default constructor
void embedPickyMuon()
embed reference to the above picky Track
bool isLooseMuon(const reco::Muon &)
void embedCombinedMuon()
set reference to Track reconstructed in both tracked and muon detector (reimplemented from reco::Muon...
SelectionType
Selector type.
bool isSoftMuon(const reco::Muon &, const reco::Vertex &)
std::vector< reco::Track > pickyMuon_
void embedCaloMETMuonCorrs(const reco::MuonMETCorrectionData &t)
embed the MuonMETCorrectionData for muon corrected caloMET
bool isNonnull() const
Checks for non-null.
reco::CandidatePtr sourceCandidatePtr(size_type i) const
get the candidate pointer with index i
virtual double energy() const
energy
bool isNonnull() const
Checks for non-null.
reco::PFCandidateRef pfCandidateRef() const
reference to the source IsolatedPFCandidates
std::vector< reco::MuonMETCorrectionData > caloMETMuonCorrs_
reco::PFCandidateCollection pfCandidate_
virtual reco::TrackRef tunePMuonBestTrack() const
Track selected to be the best measurement of the muon parameters (from muon information alone) ...
virtual TrackRef muonBestTrack() const
std::ostream & operator<<(std::ostream &, BeamSpot beam)
std::vector< reco::Track > dytMuon_
double normChi2_
has the numberOfValidHits been cached?
enum pat::Muon::IPTYPE IpType
void embedTrack()
set reference to Track reconstructed in the tracker only (reimplemented from reco::Muon) ...
virtual float eta() const
momentum pseudorapidity
ArbitrationType
define arbitration schemes
bool embeddedTunePMuonBestTrack_
best muon track (muon only)
void embedTcMETMuonCorrs(const reco::MuonMETCorrectionData &t)
embed the MuonMETCorrectionData for tcMET
Analysis-level lepton class.
virtual TrackRef pickyTrack() const
float segmentCompatibility(const reco::Muon &muon, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
std::vector< bool > cachedIP_
edm::Ref< PFCandidateCollection > PFCandidateRef
persistent reference to a PFCandidate
bool embeddedPFCandidate_
true if the IsolatedPFCandidate is embedded
double dB(IpType type=None) const
reco::TrackRef tpfmsTrack() const
reference to Track reconstructed using hits in the tracker + info from the first muon station that ha...
virtual TrackRef outerTrack() const
reference to Track reconstructed in the muon detector only
reco::TrackRef globalTrack() const
reference to Track reconstructed in both tracked and muon detector (reimplemented from reco::Muon) ...
bool embeddedCaloMETMuonCorrs_
muon MET corrections for caloMET
bool isGoodMuon(const reco::Muon &muon, SelectionType type, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
main GoodMuon wrapper call
reco::TrackRef combinedMuon() const
reference to Track reconstructed in both tracked and muon detector (reimplemented from reco::Muon) ...
bool isHighPtMuon(const reco::Vertex &) const
reco::TrackRef standAloneMuon() const
reference to Track reconstructed in the muon detector only (reimplemented from reco::Muon) ...
bool isTightMuon(const reco::Vertex &) const
void embedTpfmsMuon()
embed reference to the above tpfms Track
std::vector< double > ip_
reco::TrackRef muonBestTrack() const
Track selected to be the best measurement of the muon parameters (including PFlow global information)...
bool isHighPtMuon(const reco::Muon &, const reco::Vertex &)
edm::Ptr< Candidate > CandidatePtr
persistent reference to an object in a collection of Candidate objects
bool embeddedCombinedMuon_
track of combined fit
bool isSoftMuon(const reco::Vertex &) const
void embedDytMuon()
embed reference to the above dyt Track
double edB(IpType type=None) const
std::vector< double > eip_
SelectionType selectionTypeFromString(const std::string &label)
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
bool cachedDB_
has the normalized chi2 been cached?
std::vector< reco::Track > muonBestTrack_
void embedTunePMuonBestTrack(bool force=false)
embed the Track selected to be the best measurement of the muon parameters
reco::TrackRef dytTrack() const
reference to Track reconstructed using DYT algorithm
virtual TrackRef dytTrack() const
std::vector< reco::Track > track_
virtual MuonTrackType tunePMuonBestTrackType() const
std::vector< reco::Track > combinedMuon_
std::vector< reco::Track > standAloneMuon_
virtual ~Muon()
destructor
double edB_
dB and edB are the impact parameter at the primary vertex,
reco::TrackRef pickyTrack() const
reference to Track reconstructed using hits in the tracker + "good" muon hits (reimplemented from rec...
virtual TrackRef tunePMuonBestTrack() const
double dB_
globalTrack->chi2() / globalTrack->ndof()
volatile std::atomic< bool > shutdown_flag false
bool isTightMuon(const reco::Muon &, const reco::Vertex &)
Analysis-level muon class.
edm::Ptr< reco::Candidate > refToOrig_
bool embeddedMuonBestTrack_
best muon track (global pflow)
reco::TrackRef track() const
reference to Track reconstructed in the tracker only (reimplemented from reco::Muon) ...
std::vector< reco::Track > tpfmsMuon_
virtual TrackRef globalTrack() const
reference to Track reconstructed in both tracked and muon detector
void initImpactParameters(void)