15 if ( !anal ) {
return; }
18 std::vector< std::vector<float> >
amplitude( 2, temp );
19 std::vector< std::vector<float> > baseline( 2, temp );
20 std::vector< std::vector<float> > riseTime( 2, temp );
21 std::vector< std::vector<float> > turnOn( 2, temp );
22 std::vector< std::vector<float> > peakTime( 2, temp );
23 std::vector< std::vector<float> > undershoot( 2, temp );
24 std::vector< std::vector<float> > tail( 2, temp );
25 std::vector< std::vector<float> > decayTime( 2, temp );
26 std::vector< std::vector<float> > smearing( 2, temp );
27 std::vector< std::vector<float> >
chi2( 2, temp );
29 std::vector< std::vector<float> >
value (2, temp);
35 tail[0] = anal->
tail()[0];
36 tail[1] = anal->
tail()[1];
43 turnOn[0] = anal->
turnOn()[0];
44 turnOn[1] = anal->
turnOn()[1];
49 chi2[0] = anal->
chi2()[0];
50 chi2[1] = anal->
chi2()[1];
71 bool all_strips =
false;
74 uint16_t
bins = amplitude[amplitude[0].size() < amplitude[1].size() ? 1 : 0].size();
75 for ( uint16_t
i = 0;
i <
bins;
i++ ) {
76 value[0][
i] = amplitude[0][
i];
77 value[1][
i] = amplitude[1][
i];
82 uint16_t
bins = baseline[baseline[0].size() < baseline[1].size() ? 1 : 0].size();
83 for ( uint16_t
i = 0;
i <
bins;
i++ ) {
84 value[0][
i] = baseline[0][
i];
85 value[1][
i] = baseline[1][
i];
90 uint16_t
bins = turnOn[turnOn[0].size() < turnOn[1].size() ? 1 : 0].size();
91 for ( uint16_t
i = 0;
i <
bins;
i++ ) {
92 value[0][
i] = turnOn[0][
i];
93 value[1][
i] = turnOn[1][
i];
98 uint16_t
bins = riseTime[riseTime[0].size() < riseTime[1].size() ? 1 : 0].size();
99 for ( uint16_t
i = 0;
i <
bins;
i++ ) {
100 value[0][
i] = riseTime[0][
i];
101 value[1][
i] = riseTime[1][
i];
106 uint16_t
bins = decayTime[decayTime[0].size() < decayTime[1].size() ? 1 : 0].size();
107 for ( uint16_t
i = 0;
i <
bins;
i++ ) {
108 value[0][
i] = decayTime[0][
i];
109 value[1][
i] = decayTime[1][
i];
114 uint16_t
bins = peakTime[peakTime[0].size() < peakTime[1].size() ? 1 : 0].size();
115 for ( uint16_t
i = 0;
i <
bins;
i++ ) {
116 value[0][
i] = peakTime[0][
i];
117 value[1][
i] = peakTime[1][
i];
122 uint16_t
bins = undershoot[undershoot[0].size() < undershoot[1].size() ? 1 : 0].size();
123 for ( uint16_t
i = 0;
i <
bins;
i++ ) {
124 value[0][
i] = undershoot[0][
i];
125 value[1][
i] = undershoot[1][
i];
130 uint16_t
bins = tail[tail[0].size() < tail[1].size() ? 1 : 0].size();
131 for ( uint16_t
i = 0;
i <
bins;
i++ ) {
132 value[0][
i] = tail[0][
i];
133 value[1][
i] = tail[1][
i];
138 uint16_t
bins = smearing[smearing[0].size() < smearing[1].size() ? 1 : 0].size();
139 for ( uint16_t
i = 0;
i <
bins;
i++ ) {
140 value[0][
i] = smearing[0][
i];
141 value[1][
i] = smearing[1][
i];
146 uint16_t
bins = chi2[chi2[0].size() < chi2[1].size() ? 1 : 0].size();
147 for ( uint16_t
i = 0;
i <
bins;
i++ ) {
148 value[0][
i] = chi2[0][
i];
149 value[1][
i] = chi2[1][
i];
223 value[0][0] = anal->
tailMin()[0];
224 value[1][0] = anal->
tailMin()[1];
231 value[0][0] = anal->
chi2Min()[0];
232 value[1][0] = anal->
chi2Min()[1];
264 value[0][0] = anal->
tailMax()[0];
265 value[1][0] = anal->
tailMax()[1];
272 value[0][0] = anal->
chi2Max()[0];
273 value[1][0] = anal->
chi2Max()[1];
318 <<
"[SummaryPlotFactory::" << __func__ <<
"]" 319 <<
" Unexpected monitorable: " 337 for ( uint16_t istr = 0; istr < value[0].size(); istr++ )
343 for ( uint16_t istr = 0; istr < value[1].size(); istr++ )
363 generator_->axisLabel(
"Amplitude (ADC)" );
370 generator_->axisLabel(
"Baseline (ADC)" );
377 generator_->axisLabel(
"Turn-On (ns)" );
384 generator_->axisLabel(
"Tail (%)" );
391 generator_->axisLabel(
"Rise Time (ns)" );
398 generator_->axisLabel(
"Peak Time (ns)" );
405 generator_->axisLabel(
"Decay Time (ns)" );
412 generator_->axisLabel(
"Smearing (ns)" );
419 generator_->axisLabel(
"Chi2/ndf" );
426 generator_->axisLabel(
"Undershoot (%)" );
430 <<
"[SummaryPlotFactory::" << __func__ <<
"]" 431 <<
" Unexpected SummaryHisto value:"
static std::string monitorable(const sistrip::Monitorable &)
const VFloat & riseTimeSpread()
const VFloat & amplitudeMax()
const VFloat & turnOnMean()
const VFloat & smearingMean()
sistrip::Monitorable mon_
const uint16_t & fecRing() const
const VFloat & amplitudeMin()
const VFloat & amplitudeSpread()
const VFloat & riseTimeMax()
const VFloat & turnOnMax()
const VFloat & peakTimeMax()
const VFloat & undershootMean()
const uint16_t & lldChan() const
const VFloat & riseTimeMin()
const uint16_t & fecSlot() const
const VFloat & undershootMax()
const uint16_t & i2cAddr() const
const VFloat & baselineMax()
const VFloat & turnOnSpread()
const VFloat & peakTimeMean()
const VFloat & chi2Mean()
const uint32_t & key() const
Utility class that identifies a position within the strip tracker control structure, down to the level of an APV25.
const VFloat & decayTimeMin()
void fillMap(const std::string &top_level_dir, const sistrip::Granularity &, const uint32_t &key, const float &value, const float &error=0.)
const VFloat & tailMean()
Analysis for calibration runs.
const VFloat & chi2Spread()
const VFloat & decayTimeSpread()
const VFloat & baselineSpread()
const VVFloat & peakTime()
const VFloat & smearingMin()
const VFloat & turnOnMin()
const VFloat & amplitudeMean()
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
const VVFloat & decayTime()
const VFloat & undershootSpread()
const VFloat & riseTimeMean()
format
Some error handling for the usage.
sistrip::Granularity gran_
const VFloat & smearingSpread()
const VFloat & baselineMean()
void extract(Iterator) override
const uint16_t & fecCrate() const
static const char mlSummaryPlots_[]
const VVFloat & smearing()
const VFloat & peakTimeMin()
const VFloat & decayTimeMean()
const VFloat & tailSpread()
const VVFloat & riseTime()
const VVFloat & baseline()
SummaryGenerator * generator_
const VFloat & smearingMax()
const uint16_t & ccuAddr() const
static const uint16_t invalid_
const VFloat & baselineMin()
const uint16_t & ccuChan() const
const VFloat & decayTimeMax()
const VFloat & undershootMin()
const VFloat & peakTimeSpread()
const VVFloat & undershoot()
const VVFloat & amplitude()