CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
MuonTypeByOrCut Class Reference
Inheritance diagram for MuonTypeByOrCut:
CutApplicatorBase candidate_functions::CandidateCut

Public Member Functions

CandidateType candidateType () const final
 
 MuonTypeByOrCut (const edm::ParameterSet &c)
 
result_type operator() (const reco::MuonPtr &) const final
 
double value (const reco::CandidatePtr &) const final
 
- Public Member Functions inherited from CutApplicatorBase
virtual result_type asCandidate (const argument_type &) const
 
 CutApplicatorBase ()
 
 CutApplicatorBase (const edm::ParameterSet &c)
 
 CutApplicatorBase (const CutApplicatorBase &)=delete
 
const std::string & name () const override
 
result_type operator() (const argument_type &) const override 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
 
 ~CutApplicatorBase () override
 Destructor. More...
 
- Public Member Functions inherited from candidate_functions::CandidateCut
 CandidateCut ()
 
virtual ~CandidateCut ()
 

Private Attributes

unsigned int type_
 

Additional Inherited Members

- Public Types inherited from CutApplicatorBase
enum  CandidateType {
  NONE, ELECTRON, MUON, PHOTON,
  TAU, PATELECTRON, PATMUON, PATPHOTON,
  PATTAU
}
 
- Public Types inherited from candidate_functions::CandidateCut
using argument_type = reco::CandidatePtr
 
using result_type = bool
 

Detailed Description

Definition at line 5 of file MuonTypeByOrCut.cc.

Constructor & Destructor Documentation

MuonTypeByOrCut::MuonTypeByOrCut ( const edm::ParameterSet c)

Definition at line 20 of file MuonTypeByOrCut.cc.

References reco::Muon::CaloMuon, edm::ParameterSet::getParameter(), reco::Muon::GlobalMuon, reco::Muon::PFMuon, reco::Muon::RPCMuon, reco::Muon::StandAloneMuon, reco::Muon::TrackerMuon, create_public_lumi_plots::transform, type_, and x.

20  :
22  type_(0)
23 {
24  const auto muonTypes = c.getParameter<std::vector<std::string> >("types");
25  for ( auto x : muonTypes )
26  {
27  std::transform(x.begin(), x.end(), x.begin(), ::tolower);
28  if ( x == "globalmuon" ) type_ |= reco::Muon::GlobalMuon;
29  else if ( x == "trackermuon" ) type_ |= reco::Muon::TrackerMuon;
30  else if ( x == "standalonemuon" ) type_ |= reco::Muon::StandAloneMuon;
31  else if ( x == "calomuon" ) type_ |= reco::Muon::CaloMuon;
32  else if ( x == "pfmuon" ) type_ |= reco::Muon::PFMuon;
33  else if ( x == "rpcmuon" ) type_ |= reco::Muon::RPCMuon;
34  }
35 }
T getParameter(std::string const &) const
static const unsigned int GlobalMuon
Definition: Muon.h:276
unsigned int type_
static const unsigned int RPCMuon
Definition: Muon.h:281
static const unsigned int TrackerMuon
Definition: Muon.h:277
static const unsigned int PFMuon
Definition: Muon.h:280
static const unsigned int CaloMuon
Definition: Muon.h:279
static const unsigned int StandAloneMuon
Definition: Muon.h:278

Member Function Documentation

CandidateType MuonTypeByOrCut::candidateType ( ) const
inlinefinalvirtual

Reimplemented from CutApplicatorBase.

Definition at line 11 of file MuonTypeByOrCut.cc.

References CutApplicatorBase::MUON, and value().

CutApplicatorBase::result_type MuonTypeByOrCut::operator() ( const reco::MuonPtr muon) const
finalvirtual

Reimplemented from CutApplicatorBase.

Definition at line 38 of file MuonTypeByOrCut.cc.

References reco::Muon::type(), and type_.

39 {
40  return (muon->type() & type_) != 0;
41 }
unsigned int type_
unsigned int type() const
Definition: Muon.h:286
double MuonTypeByOrCut::value ( const reco::CandidatePtr cand) const
finalvirtual

Implements candidate_functions::CandidateCut.

Definition at line 43 of file MuonTypeByOrCut.cc.

References metsig::muon, reco::Muon::type(), and type_.

Referenced by candidateType().

44 {
45  const reco::MuonPtr muon(cand);
46  return muon->type() & type_;
47 }
unsigned int type_

Member Data Documentation

unsigned int MuonTypeByOrCut::type_
private