8 using namespace sistrip;
15 if ( !anal ) {
return; }
18 std::vector< std::vector<float> >
value( 2, temp );
19 std::vector< std::vector<float> > peds( 2, temp );
20 std::vector< std::vector<float> >
noise( 2, temp );
21 std::vector< std::vector<float> > ks( 2, temp );
22 std::vector< std::vector<float> > noiseG( 2, temp );
23 std::vector< std::vector<float> > bin84( 2, temp );
24 std::vector< std::vector<float> > chi2( 2, temp );
25 std::vector< std::vector<float> > signif( 2, temp );
26 std::vector< std::vector<float> >
rms( 2, temp );
27 peds[0] = anal->
peds()[0];
28 peds[1] = anal->
peds()[1];
29 noise[0] = anal->
noise()[0];
30 noise[1] = anal->
noise()[1];
43 bool all_strips =
false;
46 uint16_t bins = peds[0].size();
47 if ( peds[0].
size() < peds[1].
size() ) { bins = peds[1].size(); }
48 for ( uint16_t iped = 0; iped < bins; iped++ ) {
49 value[0][iped] = peds[0][iped];
50 value[1][iped] = peds[1][iped];
59 value[0][0] = anal->
pedsMax()[0];
60 value[1][0] = anal->
pedsMax()[1];
62 value[0][0] = anal->
pedsMin()[0];
63 value[1][0] = anal->
pedsMin()[1];
66 uint16_t bins = noise[0].size();
67 if ( noise[0].
size() < noise[1].
size() ) { bins = noise[1].size(); }
68 for ( uint16_t inoise = 0; inoise < bins; inoise++ ) {
69 value[0][inoise] = noise[0][inoise];
70 value[1][inoise] = noise[1][inoise];
74 uint16_t bins = ks[0].size();
75 if ( ks[0].
size() < ks[1].
size() ) { bins = ks[1].size(); }
76 for ( uint16_t iks = 0; iks < bins; iks++ ) {
77 value[0][iks] = ks[0][iks];
78 value[1][iks] = ks[1][iks];
82 uint16_t bins = chi2[0].size();
83 if ( ks[0].
size() < chi2[1].
size() ) { bins = chi2[1].size(); }
84 for ( uint16_t iks = 0; iks < bins; iks++ ) {
85 value[0][iks] = chi2[0][iks];
86 value[1][iks] = chi2[1][iks];
90 uint16_t bins = noiseG[0].size();
91 if ( noiseG[0].
size() < noiseG[1].
size() ) { bins = noiseG[1].size(); }
92 for ( uint16_t iks = 0; iks < bins; iks++ ) {
93 value[0][iks] = noiseG[0][iks];
94 value[1][iks] = noiseG[1][iks];
98 uint16_t bins = bin84[0].size();
99 if ( bin84[0].
size() < bin84[1].
size() ) { bins = bin84[1].size(); }
100 for ( uint16_t iks = 0; iks < bins; iks++ ) {
101 value[0][iks] = bin84[0][iks];
102 value[1][iks] = bin84[1][iks];
106 uint16_t bins = rms[0].size();
107 if ( rms[0].
size() < rms[1].
size() ) { bins = rms[1].size(); }
108 for ( uint16_t iks = 0; iks < bins; iks++ ) {
109 value[0][iks] = rms[0][iks];
110 value[1][iks] = rms[1][iks];
114 uint16_t bins = signif[0].size();
115 if ( signif[0].
size() < signif[1].
size() ) { bins = signif[1].size(); }
116 for ( uint16_t iks = 0; iks < bins; iks++ ) {
117 value[0][iks] = signif[0][iks];
118 value[1][iks] = signif[1][iks];
133 value[0][0] = 1. * anal->
dead()[0].size();
134 value[1][0] = 1. * anal->
dead()[1].size();
136 value[0][0] = 1. * anal->
noisy()[0].size();
137 value[1][0] = 1. * anal->
noisy()[1].size();
140 <<
"[SummaryPlotFactory::" << __func__ <<
"]"
141 <<
" Unexpected monitorable: "
161 for ( uint16_t istr = 0; istr < value[0].size(); istr++ ) {
168 for ( uint16_t istr = 0; istr < value[1].size(); istr++ ) {
182 generator_->axisLabel(
"Pedestal value [adc]" );
188 generator_->axisLabel(
"Noise [adc]" );
196 generator_->axisLabel(
"KS Prob." );
198 generator_->axisLabel(
"Noise Gaus." );
200 generator_->axisLabel(
"Noise Bin 84." );
202 generator_->axisLabel(
"Noise RMS." );
204 generator_->axisLabel(
"Chi2 Prob." );
207 <<
"[SummaryPlotFactory::" << __func__ <<
"]"
208 <<
" Unexpected SummaryHisto value:"
static std::string monitorable(const sistrip::Monitorable &)
sistrip::Monitorable mon_
const VVFloat & noiseRMS() const
const VVFloat & noiseSignif() const
const VVFloat & peds() const
const VFloat & noiseMax() const
const VVFloat & noiseGaus() const
const VVFloat & chi2Prob() const
Histogram-based analysis for pedestal run.
const VVInt & noisy() const
const VFloat & noiseMin() const
void fillMap(const std::string &top_level_dir, const sistrip::Granularity &, const uint32_t &key, const float &value, const float &error=0.)
const VFloat & pedsSpread() const
const VFloat & pedsMax() const
const VFloat & pedsMean() const
const VFloat & pedsMin() const
const VVFloat & noiseBin84() const
sistrip::Granularity gran_
static const char mlSummaryPlots_[]
const VVFloat & noise() const
SummaryGenerator * generator_
static const uint16_t invalid_
const VFloat & noiseSpread() const
const VVInt & dead() const
const VFloat & noiseMean() const
tuple size
Write out results.
const VVFloat & ksProb() const