27 const auto cutTypeName =
c.getParameter<
std::string>(
"idName");
28 if (cutTypeName ==
"loose")
30 else if (cutTypeName ==
"tight")
32 else if (cutTypeName ==
"medium")
34 else if (cutTypeName ==
"soft")
36 else if (cutTypeName ==
"highpt")
39 edm::LogError(
"MuonPOGStandardCut") <<
"Wrong cut id name, " << cutTypeName;
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
void setConsumes(edm::ConsumesCollector &) final
result_type operator()(const reco::MuonPtr &) const final
std::unordered_map< std::string, edm::InputTag > contentTags_
bool isMediumMuon(const reco::Muon &, bool run2016_hip_mitigation=false)
enum MuonPOGStandardCut::CutType cutType_
std::vector< Vertex > VertexCollection
collection of Vertex objects
Log< level::Error, false > LogError
bool isLooseMuon(const reco::Muon &)
double value(const reco::CandidatePtr &cand) const final
MuonPOGStandardCut(const edm::ParameterSet &c)
bool isSoftMuon(const reco::Muon &, const reco::Vertex &, bool run2016_hip_mitigation=false)
CandidateType candidateType() const final
bool isHighPtMuon(const reco::Muon &, const reco::Vertex &)
std::unordered_map< std::string, edm::EDGetToken > contentTokens_
edm::Handle< reco::VertexCollection > vtxs_
void getEventContent(const edm::EventBase &) final
#define DEFINE_EDM_PLUGIN(factory, type, name)
bool isTightMuon(const reco::Muon &, const reco::Vertex &)