8 using namespace sistrip;
15 if ( !anal ) {
return; }
18 std::vector< std::vector<float> >
value( 2, temp );
19 std::vector< std::vector<float> >
error( 2, temp );
20 std::vector< std::vector<float> > amplitude( 2, temp );
21 std::vector< std::vector<float> > tail( 2, temp );
22 std::vector< std::vector<float> > riseTime( 2, temp );
23 std::vector< std::vector<float> > timeConstant( 2, temp );
24 std::vector< std::vector<float> > smearing( 2, temp );
25 std::vector< std::vector<float> > chi2( 2, temp );
28 tail[0] = anal->
tail()[0];
29 tail[1] = anal->
tail()[1];
36 chi2[0] = anal->
chi2()[0];
37 chi2[1] = anal->
chi2()[1];
55 bool all_strips =
false;
56 bool with_error =
false;
59 uint16_t
bins = amplitude[amplitude[0].size() < amplitude[1].size() ? 1 : 0].size();
60 for ( uint16_t
i = 0;
i <
bins;
i++ ) {
61 value[0][
i] = amplitude[0][
i]/10.;
62 value[1][
i] = amplitude[1][
i]/10.;
78 uint16_t
bins = tail[tail[0].size() < tail[1].size() ? 1 : 0].size();
79 for ( uint16_t
i = 0;
i <
bins;
i++ ) {
80 value[0][
i] = tail[0][
i];
81 value[1][
i] = tail[1][
i];
90 value[0][0] = anal->
tailMin()[0];
91 value[1][0] = anal->
tailMin()[1];
93 value[0][0] = anal->
tailMax()[0];
94 value[1][0] = anal->
tailMax()[1];
97 uint16_t
bins = riseTime[riseTime[0].size() < riseTime[1].size() ? 1 : 0].size();
98 for ( uint16_t
i = 0;
i <
bins;
i++ ) {
99 value[0][
i] = riseTime[0][
i];
100 value[1][
i] = riseTime[1][
i];
116 uint16_t
bins = timeConstant[timeConstant[0].size() < timeConstant[1].size() ? 1 : 0].size();
117 for ( uint16_t
i = 0;
i <
bins;
i++ ) {
118 value[0][
i] = timeConstant[0][
i];
119 value[1][
i] = timeConstant[1][
i];
135 uint16_t
bins = smearing[smearing[0].size() < smearing[1].size() ? 1 : 0].size();
136 for ( uint16_t
i = 0;
i <
bins;
i++ ) {
137 value[0][
i] = smearing[0][
i];
138 value[1][
i] = smearing[1][
i];
154 uint16_t
bins = chi2[chi2[0].size() < chi2[1].size() ? 1 : 0].size();
155 for ( uint16_t
i = 0;
i <
bins;
i++ ) {
156 value[0][
i] = chi2[0][
i];
157 value[1][
i] = chi2[1][
i];
161 value[0][0] = anal->
chi2Mean()[0]/100.;
162 value[1][0] = anal->
chi2Mean()[1]/100.;
166 value[0][0] = anal->
chi2Min()[0]/100.;
167 value[1][0] = anal->
chi2Min()[1]/100.;
169 value[0][0] = anal->
chi2Max()[0]/100.;
170 value[1][0] = anal->
chi2Max()[1]/100.;
173 <<
"[SummaryPlotFactory::" << __func__ <<
"]"
174 <<
" Unexpected monitorable: "
205 for ( uint16_t istr = 0; istr < value[0].size(); istr++ ) {
212 for ( uint16_t istr = 0; istr < value[1].size(); istr++ ) {
227 generator_->axisLabel(
"Amplitude (ADC*Nevt/10.)" );
229 generator_->axisLabel(
"Tail (%)" );
231 generator_->axisLabel(
"Rise time (ns)" );
233 generator_->axisLabel(
"Time constant (ns)" );
235 generator_->axisLabel(
"Smearing (ns)" );
237 generator_->axisLabel(
"Chi2/100." );
240 <<
"[SummaryPlotFactory::" << __func__ <<
"]"
241 <<
" Unexpected SummaryHisto value:"
static std::string monitorable(const sistrip::Monitorable &)
const VFloat & smearingMean() const
const VFloat & riseTimeSpread() const
const VVFloat & riseTime() const
sistrip::Monitorable mon_
const uint16_t & fecRing() const
const VFloat & amplitudeMean() const
const VFloat & amplitudeMin() const
const VVFloat & amplitude() const
const VFloat & timeConstantMean() const
const VFloat & chi2Spread() const
const VFloat & smearingSpread() const
const VFloat & riseTimeMean() const
const VVFloat & smearing() const
const uint16_t & lldChan() const
const uint16_t & fecSlot() const
const VVFloat & timeConstant() const
const uint16_t & i2cAddr() const
const uint32_t & key() const
const VFloat & chi2Min() const
Utility class that identifies a position within the strip tracker control structure, down to the level of an APV25.
const VFloat & chi2Max() 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 & tailMax() const
const VFloat & riseTimeMin() const
Analysis for calibration runs.
const VVFloat & tail() const
const VFloat & amplitudeMax() const
const VFloat & timeConstantSpread() const
sistrip::Granularity gran_
const VFloat & chi2Mean() const
const uint16_t & fecCrate() const
static const char mlSummaryPlots_[]
const VFloat & riseTimeMax() const
SummaryGenerator * generator_
const uint16_t & ccuAddr() const
static const uint16_t invalid_
const VFloat & timeConstantMin() const
const VFloat & smearingMin() const
const VFloat & timeConstantMax() const
const VVFloat & chi2() const
const uint16_t & ccuChan() const
const VFloat & tailMean() const
const VFloat & smearingMax() const
const VFloat & tailSpread() const
const VFloat & amplitudeSpread() const
const VFloat & tailMin() const