1 #ifndef RecoTauTag_RecoTau_RecoTauQualityCuts_h
2 #define RecoTauTag_RecoTau_RecoTauQualityCuts_h
22 #include <boost/function.hpp>
23 #include <boost/foreach.hpp>
32 namespace reco {
namespace tau {
42 typedef std::map<PFCandidate::ParticleType, CandQCutFuncCollection>
CandQCutFuncMap;
66 template<
typename Coll>
71 if (
filterTrack(track)^invert ) output.push_back(track);
80 template<
typename PFCandRefType>
84 template<
typename Coll>
TrackQCutFuncCollection trackQCuts_
TrackQCutFunc trackPredicate_
RecoTauQualityCuts(const edm::ParameterSet &qcuts)
Coll filterCandRefs(const Coll &refcoll, bool invert=false) const
Filter a ref vector of PFCandidates.
bool filterTrack(const reco::TrackRef &track) const
reco::TrackBaseRef leadTrack_
std::vector< CandQCutFunc > CandQCutFuncCollection
void setPV(const reco::VertexRef &vtx) const
Update the primary vertex.
std::map< PFCandidate::ParticleType, CandQCutFuncCollection > CandQCutFuncMap
CandQCutFunc candPredicate_
std::pair< edm::ParameterSet, edm::ParameterSet > factorizePUQCuts(const edm::ParameterSet &inputSet)
std::vector< TrackQCutFunc > TrackQCutFuncCollection
Container::value_type value_type
const TrackQCutFunc & trackPredicate() const
Get the predicate used to filter.
boost::function< bool(const TrackBaseRef &)> TrackQCutFunc
boost::function< bool(const PFCandidate &)> CandQCutFunc
bool filterCandRef(const PFCandRefType &cand) const
Filter a PFCandidate held by a smart pointer or Ref.
Particle reconstructed by the particle flow algorithm.
void setLeadTrack(const reco::TrackRef &leadTrack) const
Update the leading track.
CandQCutFuncMap candQCuts_
const CandQCutFunc & candPredicate() const
bool filterCand(const reco::PFCandidate &cand) const
Filter a single PFCandidate.
Coll filterTracks(const Coll &coll, bool invert=false) const
Filter a collection of Tracks.
bool filterTrack(const reco::TrackBaseRef &track) const
Filter a single Track.