19 if (criterium ==
"dist3dError")
21 if (criterium ==
"dist3dValue")
23 if (criterium ==
"dist3dSignificance")
25 if (criterium ==
"dist2dError")
27 if (criterium ==
"dist2dValue")
29 if (criterium ==
"dist2dSignificance")
33 <<
"Vertex sort criterium \"" << criterium <<
"\" is invalid."
38 sortCriterium(getSortCriterium(params.getParameter<std::string>(
"sortCriterium")))
46 const std::vector<SecondaryVertex> &svCandidates)
const
78 std::multimap<double, unsigned int> sortedMap;
80 for(std::vector<SecondaryVertex>::const_iterator iter =
81 svCandidates.begin(); iter != svCandidates.end(); iter++) {
83 double value =
std::abs((((*iter).*measurementFn)().*valueFn)());
84 sortedMap.insert(std::make_pair(value, i++));
87 std::vector<unsigned int>
result;
88 for(std::multimap<double, unsigned int>::const_iterator iter =
89 sortedMap.begin(); iter != sortedMap.end(); iter++)
90 result.push_back(iter->second);
static SortCriterium getSortCriterium(const std::string &criterium)
VertexSorting(const edm::ParameterSet ¶ms)
Measurement1D dist3d() const
std::vector< unsigned int > operator()(const std::vector< SecondaryVertex > &svCandidates) const
Measurement1D dist2d() const
double significance() const
SortCriterium sortCriterium