48 std::vector<SVDCluster const*> clusters;
49 clusters.reserve(spacePoints.size() * 2);
53 for (
const SVDCluster& cluster : relatedClusters) {
54 clusters.push_back(&cluster);
59 std::vector<float> values(clusters.size());
60 for (
unsigned int i = 0; i < clusters.size(); ++i) {
61 values[i] = clusters[i]->getCharge();
65 for (
unsigned int i = 0; i < clusters.size(); ++i) {
66 values[i] = clusters[i]->getSeedCharge();
71 for (
unsigned int i = 0; i < clusters.size(); ++i) {
72 values[i] = clusters[i]->getSize();
77 for (
unsigned int i = 0; i < clusters.size(); ++i) {
78 values[i] = clusters[i]->getCharge() / clusters[i]->getSize();
83 for (
unsigned int i = 0; i < clusters.size(); ++i) {
84 values[i] = clusters[i]->getClsTime();
88 for (
unsigned int i = 0; i < clusters.size(); ++i) {
89 values[i] = clusters[i]->getClsTimeSigma();
113 void setStats(
const std::string& identifier, std::vector<float>& values)
115 short size = values.size();
116 if (values.size() == 0) {
125 float sum = std::accumulate(values.begin(), values.end(), 0.0);
127 float mean = sum / size;
130 float variance = std::accumulate(values.begin(), values.end(), 0.0,
131 [mean, size](
float x,
float y) {return x + ((y - mean) * (y - mean)) / (size - 1);});
132 float stddev = std::sqrt(variance);
135 float min = *(std::min_element(values.begin(), values.end()));
136 float max = *(std::max_element(values.begin(), values.end()));