6 template<
class Extractor>
26 class TrackExtractor {
30 return tau->isolationChargedHadrCands();
38 return tau->isolationGammaCands();
42 class MaskedECALExtractor {
47 std::vector<reco::CandidatePtr>
output;
50 output.reserve(result.
gammas.size());
52 output.push_back(
gamma);
64 return tau->isolationNeutrHadrCands();
68 class MaskedHCALExtractor {
73 std::vector<reco::CandidatePtr>
output;
76 output.reserve(result.
h0s.size());
77 for(
auto const& h0 : result.
h0s) {
90 "RecoTauDiscriminationBinnedTrackIsolation");
93 "RecoTauDiscriminationBinnedECALIsolation");
96 "RecoTauDiscriminationBinnedMaskedECALIsolation");
99 "RecoTauDiscriminationBinnedHCALIsolation");
102 "RecoTauDiscriminationBinnedMaskedHCALIsolation");
T getParameter(std::string const &) const
std::list< reco::CandidatePtr > gammas
RecoTauDiscriminationBinnedIsolationImpl(const edm::ParameterSet &pset)
std::vector< double > operator()(const reco::PFTauRef &tau) const override
std::list< reco::CandidatePtr > h0s
#define DEFINE_EDM_PLUGIN(factory, type, name)
std::vector< reco::CandidatePtr > extractIsoObjects(const reco::PFTauRef &tau) const override