1 #ifndef RecoTauTag_TauTagTools_PFTauSelectorDefinition 2 #define RecoTauTag_TauTagTools_PFTauSelectorDefinition 20 typedef std::vector< const reco::PFTau *>
container;
32 cfg.
getParameter<std::vector<edm::ParameterSet> >(
"discriminators");
34 for(
auto const&
pset : discriminators) {
37 newCut.
cut =
pset.getParameter<
double>(
"selectionCut");
57 <<
"an invalid PFTau handle with ProductID" 58 << hc.
id() <<
" passed to PFTauSelector.";
66 const size_t nTaus = hc->size();
67 for (
size_t iTau = 0; iTau < nTaus; ++iTau) {
71 for(
auto const&
disc : discriminators_) {
73 if (!((*
disc.handle)[tau] >
disc.cut)) {
79 if (passed &&
cut_.get()) {
80 passed = (*cut_)(*tau);
93 std::auto_ptr<StringCutObjectSelector<reco::PFTau> >
cut_;
PFTauSelectorDefinition(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
T getParameter(std::string const &) const
reco::PFTauCollection collection
std::vector< const reco::PFTau * > container
const_iterator begin() const
std::vector< PFTau > PFTauCollection
collection of PFTau objects
DiscCutPairVec discriminators_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
bool exists(std::string const ¶meterName) const
checks if a parameter exists
void select(const HandleToCollection &hc, const edm::Event &e, const edm::EventSetup &s)
edm::Handle< collection > HandleToCollection
container::const_iterator const_iterator
const_iterator end() const
edm::Handle< reco::PFTauDiscriminator > handle
T const * get() const
Returns C++ pointer to the item.
edm::EDGetTokenT< reco::PFTauDiscriminator > inputToken
std::vector< DiscCutPair > DiscCutPairVec
std::auto_ptr< StringCutObjectSelector< reco::PFTau > > cut_