21 std::vector<std::vector<float> >
value(2,
temp);
22 std::vector<std::vector<float> > peds(2,
temp);
23 std::vector<std::vector<float> >
noise(2,
temp);
24 std::vector<std::vector<float> > adProbab(2,
temp);
25 std::vector<std::vector<float> > ksProbab(2,
temp);
26 std::vector<std::vector<float> > jbProbab(2,
temp);
27 std::vector<std::vector<float> > chi2Probab(2,
temp);
28 std::vector<std::vector<float> > residualRMS(2,
temp);
29 std::vector<std::vector<float> > residualGaus(2,
temp);
30 std::vector<std::vector<float> > noiseSignificance(2,
temp);
31 std::vector<std::vector<float> > residualMean(2,
temp);
32 std::vector<std::vector<float> > residualSkewness(2,
temp);
33 std::vector<std::vector<float> > residualKurtosis(2,
temp);
34 std::vector<std::vector<float> > residualIntegralNsigma(2,
temp);
35 std::vector<std::vector<float> > residualIntegral(2,
temp);
36 std::vector<std::vector<uint16_t> > badStripBit(2, temp2);
37 std::vector<std::vector<uint16_t> > deadStripBit(2, temp2);
40 peds[0] =
anal->peds()[0];
41 peds[1] =
anal->peds()[1];
46 adProbab[0] =
anal->adProbab()[0];
47 adProbab[1] =
anal->adProbab()[1];
49 ksProbab[0] =
anal->ksProbab()[0];
50 ksProbab[1] =
anal->ksProbab()[1];
52 jbProbab[0] =
anal->jbProbab()[0];
53 jbProbab[1] =
anal->jbProbab()[1];
55 chi2Probab[0] =
anal->chi2Probab()[0];
56 chi2Probab[1] =
anal->chi2Probab()[1];
58 chi2Probab[0] =
anal->chi2Probab()[0];
59 chi2Probab[1] =
anal->chi2Probab()[1];
61 residualRMS[0] =
anal->residualRMS()[0];
62 residualRMS[1] =
anal->residualRMS()[1];
64 residualGaus[0] =
anal->residualSigmaGaus()[0];
65 residualGaus[1] =
anal->residualSigmaGaus()[1];
67 noiseSignificance[0] =
anal->noiseSignificance()[0];
68 noiseSignificance[1] =
anal->noiseSignificance()[1];
70 residualMean[0] =
anal->residualMean()[0];
71 residualMean[1] =
anal->residualMean()[1];
73 residualSkewness[0] =
anal->residualSkewness()[0];
74 residualSkewness[1] =
anal->residualSkewness()[1];
76 residualKurtosis[0] =
anal->residualKurtosis()[0];
77 residualKurtosis[1] =
anal->residualKurtosis()[1];
79 residualIntegralNsigma[0] =
anal->residualIntegralNsigma()[0];
80 residualIntegralNsigma[1] =
anal->residualIntegralNsigma()[1];
82 residualIntegral[0] =
anal->residualIntegral()[0];
83 residualIntegral[1] =
anal->residualIntegral()[1];
85 residualIntegral[0] =
anal->residualIntegral()[0];
86 residualIntegral[1] =
anal->residualIntegral()[1];
88 badStripBit[0] =
anal->badStripBit()[0];
89 badStripBit[1] =
anal->badStripBit()[1];
91 deadStripBit[0] =
anal->deadStripBit()[0];
92 deadStripBit[1] =
anal->deadStripBit()[1];
94 bool all_strips =
false;
98 uint16_t
bins = peds[0].size();
99 if (peds[0].
size() < peds[1].
size()) {
100 bins = peds[1].size();
102 for (uint16_t iped = 0; iped <
bins; iped++) {
103 value[0][iped] = peds[0][iped];
104 value[1][iped] = peds[1][iped];
114 for (uint16_t inoise = 0; inoise <
bins; inoise++) {
122 uint16_t
bins = adProbab[0].size();
123 if (adProbab[0].
size() < adProbab[1].
size()) {
124 bins = adProbab[1].size();
126 for (uint16_t iad = 0; iad <
bins; iad++) {
127 value[0][iad] = adProbab[0][iad];
128 value[1][iad] = adProbab[1][iad];
134 uint16_t
bins = ksProbab[0].size();
135 if (ksProbab[0].
size() < ksProbab[1].
size()) {
136 bins = ksProbab[1].size();
138 for (uint16_t iks = 0; iks <
bins; iks++) {
139 value[0][iks] = ksProbab[0][iks];
140 value[1][iks] = ksProbab[1][iks];
146 uint16_t
bins = jbProbab[0].size();
147 if (jbProbab[0].
size() < jbProbab[1].
size()) {
148 bins = jbProbab[1].size();
150 for (uint16_t iks = 0; iks <
bins; iks++) {
151 value[0][iks] = jbProbab[0][iks];
152 value[1][iks] = jbProbab[1][iks];
158 uint16_t
bins = chi2Probab[0].size();
159 if (chi2Probab[0].
size() < chi2Probab[1].
size()) {
160 bins = chi2Probab[1].size();
162 for (uint16_t iks = 0; iks <
bins; iks++) {
163 value[0][iks] = chi2Probab[0][iks];
164 value[1][iks] = chi2Probab[1][iks];
170 uint16_t
bins = residualRMS[0].size();
171 if (residualRMS[0].
size() < residualRMS[1].
size()) {
172 bins = residualRMS[1].size();
174 for (uint16_t iks = 0; iks <
bins; iks++) {
175 value[0][iks] = residualRMS[0][iks];
176 value[1][iks] = residualRMS[1][iks];
182 uint16_t
bins = residualGaus[0].size();
183 if (residualGaus[0].
size() < residualGaus[1].
size()) {
184 bins = residualGaus[1].size();
186 for (uint16_t iks = 0; iks <
bins; iks++) {
187 value[0][iks] = residualGaus[0][iks];
188 value[1][iks] = residualGaus[1][iks];
194 uint16_t
bins = noiseSignificance[0].size();
195 if (noiseSignificance[0].
size() < noiseSignificance[1].
size()) {
196 bins = noiseSignificance[1].size();
198 for (uint16_t iks = 0; iks <
bins; iks++) {
199 value[0][iks] = noiseSignificance[0][iks];
200 value[1][iks] = noiseSignificance[1][iks];
206 uint16_t
bins = residualMean[0].size();
207 if (residualMean[0].
size() < residualMean[1].
size()) {
208 bins = residualMean[1].size();
210 for (uint16_t iks = 0; iks <
bins; iks++) {
211 value[0][iks] = residualMean[0][iks];
212 value[1][iks] = residualMean[1][iks];
218 uint16_t
bins = residualSkewness[0].size();
219 if (residualSkewness[0].
size() < residualSkewness[1].
size()) {
220 bins = residualSkewness[1].size();
222 for (uint16_t iks = 0; iks <
bins; iks++) {
223 value[0][iks] = residualSkewness[0][iks];
224 value[1][iks] = residualSkewness[1][iks];
230 uint16_t
bins = residualKurtosis[0].size();
231 if (residualKurtosis[0].
size() < residualKurtosis[1].
size()) {
232 bins = residualKurtosis[1].size();
234 for (uint16_t iks = 0; iks <
bins; iks++) {
235 value[0][iks] = residualKurtosis[0][iks];
236 value[1][iks] = residualKurtosis[1][iks];
242 uint16_t
bins = residualIntegralNsigma[0].size();
243 if (residualIntegralNsigma[0].
size() < residualIntegralNsigma[1].
size()) {
244 bins = residualIntegralNsigma[1].size();
246 for (uint16_t iks = 0; iks <
bins; iks++) {
247 value[0][iks] = residualIntegralNsigma[0][iks];
248 value[1][iks] = residualIntegralNsigma[1][iks];
254 uint16_t
bins = residualIntegral[0].size();
255 if (residualIntegral[0].
size() < residualIntegral[1].
size()) {
256 bins = residualIntegral[1].size();
258 for (uint16_t iks = 0; iks <
bins; iks++) {
259 value[0][iks] = residualIntegral[0][iks];
260 value[1][iks] = residualIntegral[1][iks];
267 uint16_t
bins = badStripBit[0].size();
268 if (badStripBit[0].
size() < badStripBit[1].
size()) {
269 bins = badStripBit[1].size();
271 for (uint16_t iks = 0; iks <
bins; iks++) {
272 value[0][iks] = 1. * badStripBit[0][iks];
273 value[1][iks] = 1. * badStripBit[1][iks];
279 uint16_t
bins = deadStripBit[0].size();
280 if (deadStripBit[0].
size() < deadStripBit[1].
size()) {
281 bins = deadStripBit[1].size();
283 for (uint16_t iks = 0; iks <
bins; iks++) {
284 value[0][iks] = 1. * deadStripBit[0][iks];
285 value[1][iks] = 1. * deadStripBit[1][iks];
336 value[0][0] = 1. *
anal->deadStrip()[0].size();
337 value[1][0] = 1. *
anal->deadStrip()[1].size();
339 value[0][0] = 1. *
anal->badStrip()[0].size();
340 value[1][0] = 1. *
anal->badStrip()[1].size();
342 value[0][0] = 1. *
anal->shiftedStrip()[0].size();
343 value[1][0] = 1. *
anal->shiftedStrip()[1].size();
345 value[0][0] = 1. *
anal->lowNoiseStrip()[0].size();
346 value[1][0] = 1. *
anal->lowNoiseStrip()[1].size();
348 value[0][0] = 1. *
anal->largeNoiseStrip()[0].size();
349 value[1][0] = 1. *
anal->largeNoiseStrip()[1].size();
351 value[0][0] = 1. *
anal->largeNoiseSignificance()[0].size();
352 value[1][0] = 1. *
anal->largeNoiseSignificance()[1].size();
354 value[0][0] = 1. *
anal->badFitStatus()[0].size();
355 value[1][0] = 1. *
anal->badFitStatus()[1].size();
357 value[0][0] = 1. *
anal->badADProbab()[0].size();
358 value[1][0] = 1. *
anal->badADProbab()[1].size();
360 value[0][0] = 1. *
anal->badKSProbab()[0].size();
361 value[1][0] = 1. *
anal->badKSProbab()[1].size();
363 value[0][0] = 1. *
anal->badJBProbab()[0].size();
364 value[1][0] = 1. *
anal->badJBProbab()[1].size();
366 value[0][0] = 1. *
anal->badChi2Probab()[0].size();
367 value[1][0] = 1. *
anal->badChi2Probab()[1].size();
369 value[0][0] = 1. *
anal->badTailStrip()[0].size();
370 value[1][0] = 1. *
anal->badTailStrip()[1].size();
372 value[0][0] = 1. *
anal->badDoublePeakStrip()[0].size();
373 value[1][0] = 1. *
anal->badDoublePeakStrip()[1].size();
376 <<
" Unexpected monitorable: " 389 for (uint16_t istr = 0; istr <
value[0].size(); istr++) {
394 for (uint16_t istr = 0; istr <
value[1].size(); istr++) {
405 generator_->axisLabel(
"Pedestal value [adc]");
411 generator_->axisLabel(
"Noise [adc]");
417 generator_->axisLabel(
"Anderson-Darling p-value");
419 generator_->axisLabel(
"Kolmogorov-Smirnov p-value");
421 generator_->axisLabel(
"Jacque-Bera p-value");
423 generator_->axisLabel(
"Chi2 p-value");
425 generator_->axisLabel(
"Residual RMS [adc]");
427 generator_->axisLabel(
"Residual Gaus [adc]");
429 generator_->axisLabel(
"Noise Significance");
431 generator_->axisLabel(
"Residual Mean [adc]");
433 generator_->axisLabel(
"Residual Skewness [adc]");
435 generator_->axisLabel(
"Residual Kurtosis [adc]");
437 generator_->axisLabel(
"Residual Integral at N sigma");
439 generator_->axisLabel(
"Residual Integral");
441 generator_->axisLabel(
"Bad Strip Bit");
443 generator_->axisLabel(
"Dead Strip Bit");
461 <<
" Unexpected SummaryHisto value:"
static std::string monitorable(const sistrip::Monitorable &)
sistrip::Monitorable mon_
Histogram-based analysis for pedestal run.
void fillMap(const std::string &top_level_dir, const sistrip::Granularity &, const uint32_t &key, const float &value, const float &error=0.)
sistrip::Granularity gran_
void extract(Iterator) override
static const char mlSummaryPlots_[]
SummaryGenerator * generator_
static const uint16_t invalid_
Log< level::Warning, false > LogWarning