CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
MuonSegmentCompatibilityCut Class Reference
Inheritance diagram for MuonSegmentCompatibilityCut:
CutApplicatorBase candidate_functions::CandidateCut

Public Member Functions

CandidateType candidateType () const overridefinal
 
 MuonSegmentCompatibilityCut (const edm::ParameterSet &c)
 
result_type operator() (const reco::MuonPtr &) const overridefinal
 
double value (const reco::CandidatePtr &) const overridefinal
 
- Public Member Functions inherited from CutApplicatorBase
virtual result_type asCandidate (const argument_type &) const
 
 CutApplicatorBase ()
 
 CutApplicatorBase (const edm::ParameterSet &c)
 
 CutApplicatorBase (const CutApplicatorBase &)=delete
 
virtual const std::string & name () const
 
virtual result_type operator() (const argument_type &) const final
 
virtual result_type operator() (const reco::GsfElectronPtr &) const
 
virtual result_type operator() (const pat::ElectronPtr &) const
 
virtual result_type operator() (const reco::PhotonPtr &) const
 
virtual result_type operator() (const pat::PhotonPtr &) const
 
virtual result_type operator() (const pat::MuonPtr &) const
 
virtual result_type operator() (const reco::PFTauPtr &) const
 
virtual result_type operator() (const pat::TauPtr &) const
 
CutApplicatorBaseoperator= (const CutApplicatorBase &)=delete
 
virtual ~CutApplicatorBase ()
 Destructor. More...
 
- Public Member Functions inherited from candidate_functions::CandidateCut
 CandidateCut ()
 
virtual ~CandidateCut ()
 

Private Attributes

double maxChi2LocalPos_
 
double maxGlbNormChi2_
 
double maxTrkKink_
 
const double minCompatGlb_
 
const double minCompatNonGlb_
 

Additional Inherited Members

- Public Types inherited from CutApplicatorBase
enum  CandidateType {
  NONE, ELECTRON, MUON, PHOTON,
  TAU, PATELECTRON, PATMUON, PATPHOTON,
  PATTAU
}
 

Detailed Description

Definition at line 5 of file MuonSegmentCompatibilityCut.cc.

Constructor & Destructor Documentation

MuonSegmentCompatibilityCut::MuonSegmentCompatibilityCut ( const edm::ParameterSet c)

Definition at line 23 of file MuonSegmentCompatibilityCut.cc.

References edm::ParameterSet::getParameter().

23  :
25  minCompatGlb_(c.getParameter<double>("minCompatGlb")),
26  minCompatNonGlb_(c.getParameter<double>("minCompatNonGlb"))
27 {
28  const edm::ParameterSet cc = c.getParameter<edm::ParameterSet>("goodGLB");
29  maxGlbNormChi2_ = cc.getParameter<double>("maxGlbNormChi2");
30  maxChi2LocalPos_ = cc.getParameter<double>("maxChi2LocalPos");
31  maxTrkKink_ = cc.getParameter<double>("maxTrkKink");
32 }
T getParameter(std::string const &) const

Member Function Documentation

CandidateType MuonSegmentCompatibilityCut::candidateType ( ) const
inlinefinaloverridevirtual

Reimplemented from CutApplicatorBase.

Definition at line 11 of file MuonSegmentCompatibilityCut.cc.

References CutApplicatorBase::MUON.

CutApplicatorBase::result_type MuonSegmentCompatibilityCut::operator() ( const reco::MuonPtr muon) const
finaloverridevirtual

Reimplemented from CutApplicatorBase.

Definition at line 35 of file MuonSegmentCompatibilityCut.cc.

References maxChi2LocalPos_, maxGlbNormChi2_, maxTrkKink_, minCompatGlb_, minCompatNonGlb_, and muon::segmentCompatibility().

36 {
37  const bool isGoodGlb = (
38  muon->isGlobalMuon() and
39  muon->globalTrack()->normalizedChi2() < maxGlbNormChi2_ and
40  muon->combinedQuality().chi2LocalPosition < maxChi2LocalPos_ and
41  muon->combinedQuality().trkKink < maxTrkKink_
42  );
43 
44  const double compat = muon::segmentCompatibility(*muon);
45 
46  return compat > (isGoodGlb ? minCompatGlb_ : minCompatNonGlb_);
47 
48 }
float segmentCompatibility(const reco::Muon &muon, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
double MuonSegmentCompatibilityCut::value ( const reco::CandidatePtr cand) const
finaloverridevirtual

Implements candidate_functions::CandidateCut.

Definition at line 50 of file MuonSegmentCompatibilityCut.cc.

References metsig::muon, and muon::segmentCompatibility().

51 {
52  const reco::MuonPtr muon(cand);
54 }
float segmentCompatibility(const reco::Muon &muon, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)

Member Data Documentation

double MuonSegmentCompatibilityCut::maxChi2LocalPos_
private

Definition at line 15 of file MuonSegmentCompatibilityCut.cc.

Referenced by operator()().

double MuonSegmentCompatibilityCut::maxGlbNormChi2_
private

Definition at line 15 of file MuonSegmentCompatibilityCut.cc.

Referenced by operator()().

double MuonSegmentCompatibilityCut::maxTrkKink_
private

Definition at line 15 of file MuonSegmentCompatibilityCut.cc.

Referenced by operator()().

const double MuonSegmentCompatibilityCut::minCompatGlb_
private

Definition at line 16 of file MuonSegmentCompatibilityCut.cc.

Referenced by operator()().

const double MuonSegmentCompatibilityCut::minCompatNonGlb_
private

Definition at line 16 of file MuonSegmentCompatibilityCut.cc.

Referenced by operator()().