48 std::vector<SVDCluster const*> clusters;
49 clusters.reserve(spacePoints.size() * 2);
53 for (
const SVDCluster& cluster : relatedClusters) {
54 clusters.push_back(&cluster);
60 std::vector<float> values(clusters.size());
61 for (
unsigned int i = 0; i < clusters.size(); ++i) {
62 values[i] = clusters[i]->getCharge();
66 for (
unsigned int i = 0; i < clusters.size(); ++i) {
67 values[i] = clusters[i]->getSeedCharge();
72 for (
unsigned int i = 0; i < clusters.size(); ++i) {
73 values[i] = clusters[i]->getSize();
78 for (
unsigned int i = 0; i < clusters.size(); ++i) {
79 values[i] = clusters[i]->getCharge() / clusters[i]->getSize();
84 for (
unsigned int i = 0; i < clusters.size(); ++i) {
85 values[i] = clusters[i]->getClsTime();
89 for (
unsigned int i = 0; i < clusters.size(); ++i) {
90 values[i] = clusters[i]->getClsTimeSigma();
114 void setStats(
const std::string& identifier, std::vector<float>& values)
116 short size = values.size();
117 if (values.size() == 0) {
126 float sum = std::accumulate(values.begin(), values.end(), 0.0);
128 float mean = sum / size;
131 float variance = std::accumulate(values.begin(), values.end(), 0.0,
132 [mean, size](
float x,
float y) {return x + ((y - mean) * (y - mean)) / (size - 1);});
133 float stddev = std::sqrt(variance);
136 float min = *(std::min_element(values.begin(), values.end()));
137 float max = *(std::max_element(values.begin(), values.end()));