30 if (trackTypeName ==
"muonBestTrack")
32 else if (trackTypeName ==
"innerTrack")
35 edm::LogError(
"MuonDxyCut") <<
"Wrong cut id name, " << trackTypeName
36 <<
"Choose among \"muonBestTrack\", \"innerTrack\"";
57 const auto& vtxPos =
vtxs_->at(0).position();
61 trackRef = cand->innerTrack();
63 trackRef = cand->muonBestTrack();
72 trackRef = muon->innerTrack();
74 trackRef = muon->muonBestTrack();
78 const auto& vtxPos =
vtxs_->at(0).position();
79 return std::abs(trackRef->dxy(vtxPos));
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::EventSetup & c
bool isNonnull() const
Checks for non-null.
double value(const reco::CandidatePtr &) const final
std::unordered_map< std::string, edm::InputTag > contentTags_
std::vector< Vertex > VertexCollection
collection of Vertex objects
Log< level::Error, false > LogError
std::vector< Vertex > VertexCollection
MuonDxyCut(const edm::ParameterSet &c)
enum MuonDxyCut::BestTrackType trackType_
void getEventContent(const edm::EventBase &) final
edm::Handle< reco::VertexCollection > vtxs_
Abs< T >::type abs(const T &t)
CandidateType candidateType() const final
bool isNull() const
Checks for null.
result_type operator()(const reco::MuonPtr &) const final
std::unordered_map< std::string, edm::EDGetToken > contentTokens_
T getParameter(std::string const &) const
bool getByLabel(InputTag const &, Handle< T > &) const
#define DEFINE_EDM_PLUGIN(factory, type, name)
void setConsumes(edm::ConsumesCollector &) final