1 #ifndef RecoTauTag_RecoTau_RecoTauQualityCuts_h
2 #define RecoTauTag_RecoTau_RecoTauQualityCuts_h
65 template <
typename Coll>
68 for (
auto const&
track : coll) {
70 output.push_back(
track);
79 template <
typename CandRefType>
85 template <
typename Coll>
88 for (
auto const& cand : refcoll) {
90 output.push_back(cand);
std::map< int, CandQCutFuncCollection > CandQCutFuncMap
RecoTauQualityCuts(const edm::ParameterSet &qcuts)
static void fillDescriptions(edm::ParameterSetDescription &descriptions)
Declare all parameters read from python config file.
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.
InputIterator leadCand(InputIterator begin, InputIterator end)
reco::CandidatePtr CandRefType
std::vector< CandQCutFunc > CandQCutFuncCollection
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
std::function< bool(const TrackBaseRef &)> TrackQCutFunc
bool filterGammaCand(const reco::Candidate &cand) const
void setLeadTrack(const reco::Track &leadTrack)
Update the leading track.
Coll filterTracks(const Coll &coll, bool invert=false) const
Filter a collection of Tracks.
void setPV(const reco::VertexRef &vtx)
Update the primary vertex.
bool filterTrack(const reco::TrackBaseRef &track) const
Filter a single Track.
std::function< bool(const Candidate &)> CandQCutFunc
const reco::Track * leadTrack_