1 #ifndef _StringCutEventSelector
2 #define _StringCutEventSelector
11 template <
typename Object,
bool any = false>
20 f_(pset.getParameter<std::
string>(
"cut")),
22 nFirst_(pset.getParameter<unsigned int>(
"nFirst")),
25 ss <<
"string cut based selection on collection: " <<
src_;
36 std::vector<const Object*> copyToSort(oH->size());
37 for (
uint i = 0;
i != oH->size(); ++
i)
38 copyToSort[
i] = &(*oH)[
i];
45 unsigned int found = 0;
46 for (; i != oH->size(); i++) {
47 const Object&
o = *(copyToSort[
i]);
72 template <
typename Object,
bool existenceMatter = true>
84 ss <<
"string cut based selection on collection: " <<
src_;
88 for (
unsigned int i = 0;
i != selection.size();
i++)
89 if (selection[
i] !=
"-") {
91 ss <<
"[" << i <<
"]: " << selection[
i];
95 f_.push_back(
nullptr);
96 ss <<
"[" <<
i <<
"]: no selection";
105 for (; i !=
f_.size(); i++)
117 std::vector<const Object*> copyToSort(oH->size());
118 for (
uint i = 0;
i != oH->size(); ++
i)
119 copyToSort[
i] = &(*oH)[
i];
124 if (existenceMatter && oH->size() <
f_.size())
126 for (; i !=
f_.size(); i++) {
127 if (!existenceMatter && i == oH->size())
131 const Object&
o = *(copyToSort[
i]);
141 std::vector<StringCutObjectSelector<Object>*>
f_;
~StringCutsEventSelector() override
bool getByToken(EDGetToken token, Handle< PROD > &result) const
bool any(const std::vector< T > &v, const T &what)
bool exists(std::string const ¶meterName) const
checks if a parameter exists
bool select(const edm::Event &e) const override
decision of the selector module
StringCutsEventSelector(const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
StringCutEventSelector(const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
std::vector< StringCutObjectSelector< Object > * > f_
StringObjectFunction< Object > * order_
edm::EDGetTokenT< edm::View< Object > > srcToken_
bool select(const edm::Event &e) const override
decision of the selector module
edm::EDGetTokenT< edm::View< Object > > srcToken_
T getParameter(std::string const &) const
StringObjectFunction< Object > * order_
StringCutObjectSelector< Object > f_
std::vector< std::string > description_
StringCutsEventSelector(const edm::ParameterSet &pset, edm::ConsumesCollector &iC)
StringCutEventSelector(const edm::ParameterSet &pset, edm::ConsumesCollector &iC)