11 #include <boost/foreach.hpp>
17 namespace reco {
namespace tau {
26 typedef std::pair<edm::InputTag, edm::Handle<reco::PFTauDiscriminator> >
DiscInfo;
39 std::vector<edm::InputTag> discriminators =
40 pset.
getParameter<std::vector<edm::InputTag> >(
"discSrc");
64 return std::vector<double>(1, (disc)[
tau]);
68 std::stringstream
error;
69 error <<
"Couldn't find a PFTauDiscriminator usable with given tau."
70 << std::endl <<
" Input tau has product id: " << tau.
id() << std::endl;
79 edm::LogError(
"BadDiscriminatorConfiguration") << error.str();
80 return std::vector<double>(1,-999);
88 "RecoTauDiscriminantFromDiscriminator");
T getParameter(std::string const &) const
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
std::vector< double > operator()(const reco::PFTauRef &tau) const
U second(std::pair< T, U > const &p)
std::vector< DiscInfo > discriminators_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
const edm::Event * evt() const
RecoTauDiscriminantFromDiscriminator(const edm::ParameterSet &pset)
KeyRefProd const & keyProduct() const
std::pair< edm::InputTag, edm::Handle< reco::PFTauDiscriminator > > DiscInfo
#define DEFINE_EDM_PLUGIN(factory, type, name)
ProductID id() const
Accessor for product ID.