48 template <
typename T1,
typename T2>
80 template <
typename T1,
typename T2>
86 deltaRMax_(iConfig.getParameter<
double>(
"deltaRMax")),
87 moduleLabel_(iConfig.getParameter<
std::string>(
"@module_label")),
88 objCut_(iConfig.existsAs<
std::string>(
"srcObjectSelection")
89 ? iConfig.getParameter<
std::string>(
"srcObjectSelection")
92 objMatchCut_(iConfig.existsAs<
std::string>(
"srcObjectsToMatchSelection")
93 ? iConfig.getParameter<
std::string>(
"srcObjectsToMatchSelection")
98 produces<std::vector<T1>>();
102 template <
typename T1,
typename T2>
110 template <
typename T1,
typename T2>
112 auto cleanObjects = std::make_unique<std::vector<T1>>();
118 for (
unsigned int iObject = 0; iObject <
candidates->size(); iObject++)
119 isMatch[iObject] =
false;
121 for (
unsigned int iSrc = 0; iSrc < srcObjectsTokens_.size(); iSrc++) {
128 for (
unsigned int iObject = 0; iObject <
candidates->size(); iObject++) {
129 const T1& candidate =
candidates->at(iObject);
130 if (!objCut_(candidate))
133 for (
unsigned int iObj = 0; iObj <
objects->size(); iObj++) {
135 if (!objMatchCut_(
obj))
139 isMatch[iObject] =
true;
148 cleanObjects->push_back(*tIt);
152 nObjectsMatch_ += cleanObjects->size();
159 template <
typename T1,
typename T2>
161 std::stringstream
ss;
162 ss <<
"nObjectsTot=" << nObjectsTot_ <<
" nObjectsMatched=" << nObjectsMatch_
163 <<
" fObjectsMatch=" << 100. * (nObjectsMatch_ / (double)nObjectsTot_) <<
"%\n";
164 std::cout <<
"++++++++++++++++++++++++++++++++++++++++++++++++++"
166 << moduleLabel_ <<
"(ObjectViewMatcher) SUMMARY:\n"
167 <<
ss.str() <<
"++++++++++++++++++++++++++++++++++++++++++++++++++" << std::endl;