8 using namespace sistrip;
19 std::vector<std::vector<float> > amplitude(2, temp);
20 std::vector<std::vector<float> > baseline(2, temp);
21 std::vector<std::vector<float> > riseTime(2, temp);
22 std::vector<std::vector<float> > turnOn(2, temp);
23 std::vector<std::vector<float> > peakTime(2, temp);
24 std::vector<std::vector<float> > undershoot(2, temp);
25 std::vector<std::vector<float> > tail(2, temp);
26 std::vector<std::vector<float> > decayTime(2, temp);
27 std::vector<std::vector<float> > smearing(2, temp);
28 std::vector<std::vector<float> >
chi2(2, temp);
30 std::vector<std::vector<float> >
value(2, temp);
36 tail[0] = anal->
tail()[0];
37 tail[1] = anal->
tail()[1];
44 turnOn[0] = anal->
turnOn()[0];
45 turnOn[1] = anal->
turnOn()[1];
50 chi2[0] = anal->
chi2()[0];
51 chi2[1] = anal->
chi2()[1];
73 bool all_strips =
false;
76 uint16_t bins = amplitude[amplitude[0].size() < amplitude[1].size() ? 1 : 0].size();
77 for (uint16_t
i = 0;
i < bins;
i++) {
78 value[0][
i] = amplitude[0][
i];
79 value[1][
i] = amplitude[1][
i];
83 uint16_t bins = baseline[baseline[0].size() < baseline[1].size() ? 1 : 0].size();
84 for (uint16_t
i = 0;
i < bins;
i++) {
85 value[0][
i] = baseline[0][
i];
86 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];
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];
104 uint16_t bins = decayTime[decayTime[0].size() < decayTime[1].size() ? 1 : 0].size();
105 for (uint16_t
i = 0;
i < bins;
i++) {
106 value[0][
i] = decayTime[0][
i];
107 value[1][
i] = decayTime[1][
i];
111 uint16_t bins = peakTime[peakTime[0].size() < peakTime[1].size() ? 1 : 0].size();
112 for (uint16_t
i = 0;
i < bins;
i++) {
113 value[0][
i] = peakTime[0][
i];
114 value[1][
i] = peakTime[1][
i];
118 uint16_t bins = undershoot[undershoot[0].size() < undershoot[1].size() ? 1 : 0].size();
119 for (uint16_t
i = 0;
i < bins;
i++) {
120 value[0][
i] = undershoot[0][
i];
121 value[1][
i] = undershoot[1][
i];
125 uint16_t bins = tail[tail[0].size() < tail[1].size() ? 1 : 0].size();
126 for (uint16_t
i = 0;
i < bins;
i++) {
127 value[0][
i] = tail[0][
i];
128 value[1][
i] = tail[1][
i];
132 uint16_t bins = smearing[smearing[0].size() < smearing[1].size() ? 1 : 0].size();
133 for (uint16_t
i = 0;
i < bins;
i++) {
134 value[0][
i] = smearing[0][
i];
135 value[1][
i] = smearing[1][
i];
139 uint16_t bins = chi2[chi2[0].size() < chi2[1].size() ? 1 : 0].size();
140 for (uint16_t
i = 0;
i < bins;
i++) {
141 value[0][
i] = chi2[0][
i];
142 value[1][
i] = chi2[1][
i];
200 value[0][0] = anal->
tailMin()[0];
201 value[1][0] = anal->
tailMin()[1];
206 value[0][0] = anal->
chi2Min()[0];
207 value[1][0] = anal->
chi2Min()[1];
232 value[0][0] = anal->
tailMax()[0];
233 value[1][0] = anal->
tailMax()[1];
238 value[0][0] = anal->
chi2Max()[0];
239 value[1][0] = anal->
chi2Max()[1];
274 <<
" Unexpected monitorable: "
286 for (uint16_t istr = 0; istr < value[0].size(); istr++)
290 for (uint16_t istr = 0; istr < value[1].size(); istr++)
305 generator_->axisLabel(
"Amplitude (ADC)");
310 generator_->axisLabel(
"Baseline (ADC)");
315 generator_->axisLabel(
"Turn-On (ns)");
320 generator_->axisLabel(
"Tail (%)");
325 generator_->axisLabel(
"Rise Time (ns)");
330 generator_->axisLabel(
"Peak Time (ns)");
335 generator_->axisLabel(
"Decay Time (ns)");
340 generator_->axisLabel(
"Smearing (ns)");
345 generator_->axisLabel(
"Chi2/ndf");
350 generator_->axisLabel(
"Undershoot (%)");
354 <<
" 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
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::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
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()
const VVFloat & decayTime()
const VFloat & undershootSpread()
const VFloat & riseTimeMean()
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
Log< level::Warning, false > LogWarning
const VFloat & decayTimeMax()
const VFloat & undershootMin()
const VFloat & peakTimeSpread()
const VVFloat & undershoot()
const VVFloat & amplitude()