1 #include <boost/foreach.hpp>
7 template<
class Extractor>
27 class TrackExtractor {
31 return tau->isolationPFChargedHadrCands();
39 return tau->isolationPFGammaCands();
43 class MaskedECALExtractor {
48 std::vector<reco::PFCandidatePtr>
output;
51 output.reserve(result.
gammas.size());
53 output.push_back(gamma);
64 std::vector<reco::PFCandidatePtr> operator()(
const reco::PFTauRef& tau)
const {
65 return tau->isolationPFNeutrHadrCands();
69 class MaskedHCALExtractor {
73 std::vector<reco::PFCandidatePtr> operator()(
const reco::PFTauRef& tau)
const {
74 std::vector<reco::PFCandidatePtr>
output;
76 result =
mask_.mask(*tau);
77 output.reserve(result.
h0s.size());
91 "RecoTauDiscriminationBinnedTrackIsolation");
94 "RecoTauDiscriminationBinnedECALIsolation");
97 "RecoTauDiscriminationBinnedMaskedECALIsolation");
100 "RecoTauDiscriminationBinnedHCALIsolation");
103 "RecoTauDiscriminationBinnedMaskedHCALIsolation");
std::list< reco::PFCandidatePtr > h0s
std::vector< reco::PFCandidatePtr > extractIsoObjects(const reco::PFTauRef &tau) const override
RecoTauDiscriminationBinnedIsolationImpl(const edm::ParameterSet &pset)
std::list< reco::PFCandidatePtr > gammas
#define DEFINE_EDM_PLUGIN(factory, type, name)