1 #ifndef RecoTauTag_RecoTau_RecoTauQualityCuts_h 2 #define RecoTauTag_RecoTau_RecoTauQualityCuts_h 65 template <
typename Coll>
68 for (
auto const&
track : coll) {
79 template <
typename CandRefType>
85 template <
typename Coll>
88 for (
auto const&
cand : refcoll) {
std::map< int, CandQCutFuncCollection > CandQCutFuncMap
bool filterTrack_(const reco::Track *track) const
RecoTauQualityCuts(const edm::ParameterSet &qcuts)
static void fillDescriptions(edm::ParameterSetDescription &descriptions)
Declare all parameters read from python config file.
bool filterCandByType(const reco::Candidate &cand) const
bool filterGammaCand(const reco::Candidate &cand) const
double minNeutralHadronEt_
bool filterCandRef(const CandRefType &cand) const
Filter a Candidate held by a smart pointer or Ref.
bool filterNeutralHadronCand(const reco::Candidate &cand) const
bool filterTrack(const reco::TrackBaseRef &track) const
Filter a single Track.
InputIterator leadCand(InputIterator begin, InputIterator end)
reco::CandidatePtr CandRefType
Coll filterTracks(const Coll &coll, bool invert=false) const
Filter a collection of Tracks.
std::vector< CandQCutFunc > CandQCutFuncCollection
std::pair< edm::ParameterSet, edm::ParameterSet > factorizePUQCuts(const edm::ParameterSet &inputSet)
std::vector< TrackQCutFunc > TrackQCutFuncCollection
bool filterChargedCand(const reco::Candidate &cand) const
or a single charged candidate
Coll filterCandRefs(const Coll &refcoll, bool invert=false) const
Filter a ref vector of Candidates.
double minTrackVertexWeight_
double maxDeltaZToLeadTrack_
double maxTransverseImpactParameter_
bool filterCand(const reco::Candidate &cand) const
Filter a single Candidate.
std::function< bool(const TrackBaseRef &)> TrackQCutFunc
void setLeadTrack(const reco::Track &leadTrack)
Update the leading track.
void setPV(const reco::VertexRef &vtx)
Update the primary vertex.
std::function< bool(const Candidate &)> CandQCutFunc
const reco::Track * leadTrack_