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);
34 baseline[0] =
anal->baseline()[0];
35 baseline[1] =
anal->baseline()[1];
36 tail[0] =
anal->tail()[0];
37 tail[1] =
anal->tail()[1];
38 riseTime[0] =
anal->riseTime()[0];
39 riseTime[1] =
anal->riseTime()[1];
40 decayTime[0] =
anal->decayTime()[0];
41 decayTime[1] =
anal->decayTime()[1];
42 peakTime[0] =
anal->peakTime()[0];
43 peakTime[1] =
anal->peakTime()[1];
44 turnOn[0] =
anal->turnOn()[0];
45 turnOn[1] =
anal->turnOn()[1];
46 undershoot[0] =
anal->undershoot()[0];
47 undershoot[1] =
anal->undershoot()[1];
48 smearing[0] =
anal->smearing()[0];
49 smearing[1] =
anal->smearing()[1];
73 bool all_strips =
false;
77 for (uint16_t
i = 0;
i <
bins;
i++) {
83 uint16_t
bins = baseline[baseline[0].size() < baseline[1].size() ? 1 : 0].size();
84 for (uint16_t
i = 0;
i <
bins;
i++) {
90 uint16_t
bins = turnOn[turnOn[0].size() < turnOn[1].size() ? 1 : 0].size();
91 for (uint16_t
i = 0;
i <
bins;
i++) {
97 uint16_t
bins = riseTime[riseTime[0].size() < riseTime[1].size() ? 1 : 0].size();
98 for (uint16_t
i = 0;
i <
bins;
i++) {
104 uint16_t
bins = decayTime[decayTime[0].size() < decayTime[1].size() ? 1 : 0].size();
105 for (uint16_t
i = 0;
i <
bins;
i++) {
111 uint16_t
bins = peakTime[peakTime[0].size() < peakTime[1].size() ? 1 : 0].size();
112 for (uint16_t
i = 0;
i <
bins;
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++) {
132 uint16_t
bins = smearing[smearing[0].size() < smearing[1].size() ? 1 : 0].size();
133 for (uint16_t
i = 0;
i <
bins;
i++) {
140 for (uint16_t
i = 0;
i <
bins;
i++) {
243 value[0][0] =
anal->amplitudeSpread()[0];
244 value[1][0] =
anal->amplitudeSpread()[1];
255 value[0][0] =
anal->decayTimeSpread()[0];
256 value[1][0] =
anal->decayTimeSpread()[1];
261 value[0][0] =
anal->undershootSpread()[0];
262 value[1][0] =
anal->undershootSpread()[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 &)
sistrip::Monitorable mon_
const uint16_t & ccuAddr() const
const uint16_t & ccuChan() const
const uint16_t & lldChan() const
Utility class that identifies a position within the strip tracker control structure, down to the level of an APV25.
void fillMap(const std::string &top_level_dir, const sistrip::Granularity &, const uint32_t &key, const float &value, const float &error=0.)
Analysis for calibration runs.
const uint16_t & i2cAddr() 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::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
const uint32_t & key() const
sistrip::Granularity gran_
void extract(Iterator) override
static const char mlSummaryPlots_[]
SummaryGenerator * generator_
static const uint16_t invalid_
const uint16_t & fecSlot() const
Log< level::Warning, false > LogWarning
const uint16_t & fecRing() const
const uint16_t & fecCrate() const