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