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;
62 template<
typename Coll>
76 template<
typename PFCandRefType>
80 template<
typename Coll>
91 template <
typename T>
bool filterTrack_(
const T& trackRef)
const;
bool filterCandByType(const reco::PFCandidate &cand) const
RecoTauQualityCuts(const edm::ParameterSet &qcuts)
Coll filterCandRefs(const Coll &refcoll, bool invert=false) const
Filter a ref vector of PFCandidates.
double minNeutralHadronEt_
reco::TrackBaseRef leadTrack_
bool filterTrack_(const T &trackRef) const
bool filterNeutralHadronCand(const reco::PFCandidate &cand) const
std::vector< CandQCutFunc > CandQCutFuncCollection
bool filterGammaCand(const reco::PFCandidate &cand) const
void setPV(const reco::VertexRef &vtx) const
Update the primary vertex.
std::map< PFCandidate::ParticleType, CandQCutFuncCollection > CandQCutFuncMap
std::pair< edm::ParameterSet, edm::ParameterSet > factorizePUQCuts(const edm::ParameterSet &inputSet)
std::vector< TrackQCutFunc > TrackQCutFuncCollection
Container::value_type value_type
double minTrackVertexWeight_
double maxDeltaZToLeadTrack_
boost::function< bool(const TrackBaseRef &)> TrackQCutFunc
double maxTransverseImpactParameter_
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.
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.