DQM
SiStripCommissioningSummary
src
FastFedCablingSummaryFactory.cc
Go to the documentation of this file.
1
#include "
DQM/SiStripCommissioningSummary/interface/FastFedCablingSummaryFactory.h
"
2
#include "
CondFormats/SiStripObjects/interface/FastFedCablingAnalysis.h
"
3
#include "
DataFormats/SiStripCommon/interface/SiStripEnumsAndStrings.h
"
4
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
5
#include <iostream>
6
#include <sstream>
7
8
using namespace
sistrip
;
9
10
// -----------------------------------------------------------------------------
11
//
12
void
FastFedCablingSummaryFactory::extract
(
Iterator
iter) {
13
FastFedCablingAnalysis
*
anal
= dynamic_cast<FastFedCablingAnalysis*>(iter->second);
14
if
(!
anal
) {
15
return
;
16
}
17
18
float
value
= 1. *
sistrip::invalid_
;
19
float
error
= 1. *
sistrip::invalid_
;
20
21
if
(
SummaryPlotFactoryBase::mon_
==
sistrip::FAST_CABLING_HIGH_LEVEL
) {
22
value
=
anal
->highLevel();
23
error
=
anal
->highRms();
24
}
else
if
(
SummaryPlotFactoryBase::mon_
==
sistrip::FAST_CABLING_LOW_LEVEL
) {
25
value
=
anal
->lowLevel();
26
error
=
anal
->lowRms();
27
}
else
if
(
SummaryPlotFactoryBase::mon_
==
sistrip::FAST_CABLING_MAX
) {
28
value
=
anal
->max();
29
}
else
if
(
SummaryPlotFactoryBase::mon_
==
sistrip::FAST_CABLING_MIN
) {
30
value
=
anal
->min();
31
}
else
if
(
SummaryPlotFactoryBase::mon_
==
sistrip::FAST_CABLING_CONNS_PER_FED
) {
32
value
= 1. * static_cast<uint16_t>(
anal
->isValid());
33
}
else
{
34
edm::LogWarning
(
mlSummaryPlots_
) <<
"[SummaryPlotFactory::"
<< __func__ <<
"]"
35
<<
" Unexpected monitorable: "
36
<<
SiStripEnumsAndStrings::monitorable
(
SummaryPlotFactoryBase::mon_
);
37
return
;
38
}
39
40
SummaryPlotFactoryBase::generator_
->
fillMap
(
41
SummaryPlotFactoryBase::level_
,
SummaryPlotFactoryBase::gran_
, iter->first,
value
,
error
);
42
}
43
44
// -----------------------------------------------------------------------------
45
//
46
void
FastFedCablingSummaryFactory::format
() {
47
if
(
SummaryPlotFactoryBase::mon_
==
sistrip::FAST_CABLING_HIGH_LEVEL
) {
48
SummaryPlotFactoryBase::generator_
->
axisLabel
(
"\"High\" light level [ADC]"
);
49
}
else
if
(
SummaryPlotFactoryBase::mon_
==
sistrip::FAST_CABLING_LOW_LEVEL
) {
50
SummaryPlotFactoryBase::generator_
->
axisLabel
(
"\"Low\" light level [ADC]"
);
51
}
else
if
(
SummaryPlotFactoryBase::mon_
==
sistrip::FAST_CABLING_MAX
) {
52
SummaryPlotFactoryBase::generator_
->
axisLabel
(
"Maximum light level [ADC]"
);
53
}
else
if
(
SummaryPlotFactoryBase::mon_
==
sistrip::FAST_CABLING_MIN
) {
54
SummaryPlotFactoryBase::generator_
->
axisLabel
(
"Minumum light level [ADC]"
);
55
}
else
if
(
SummaryPlotFactoryBase::mon_
==
sistrip::FAST_CABLING_CONNS_PER_FED
) {
56
SummaryPlotFactoryBase::generator_
->
axisLabel
(
"Connected channels per FED"
);
57
}
else
{
58
edm::LogWarning
(
mlSummaryPlots_
) <<
"[SummaryPlotFactory::"
<< __func__ <<
"]"
59
<<
" Unexpected SummaryHisto value:"
60
<<
SiStripEnumsAndStrings::monitorable
(
SummaryPlotFactoryBase::mon_
);
61
}
62
}
SummaryGenerator::fillMap
void fillMap(const std::string &top_level_dir, const sistrip::Granularity &, const uint32_t &key, const float &value, const float &error=0.)
Definition:
SummaryGenerator.cc:222
MessageLogger.h
SummaryPlotFactoryBase::mon_
sistrip::Monitorable mon_
Definition:
SummaryPlotFactoryBase.h:25
FastFedCablingAnalysis
Histogram-based analysis for connection loop.
Definition:
FastFedCablingAnalysis.h:16
Iterator
Definition:
DQMStoreStats.h:94
relativeConstraints.error
error
Definition:
relativeConstraints.py:53
FastFedCablingSummaryFactory::extract
void extract(Iterator) override
Definition:
FastFedCablingSummaryFactory.cc:12
SummaryPlotFactoryBase::level_
std::string level_
Definition:
SummaryPlotFactoryBase.h:28
FastFedCablingSummaryFactory.h
sistrip::FAST_CABLING_CONNS_PER_FED
Definition:
ConstantsForMonitorable.h:216
sistrip::FAST_CABLING_MAX
Definition:
ConstantsForMonitorable.h:214
edm::LogWarning
Definition:
MessageLogger.h:141
FastFedCablingSummaryFactory::format
void format() override
Definition:
FastFedCablingSummaryFactory.cc:46
sistrip::FAST_CABLING_LOW_LEVEL
Definition:
ConstantsForMonitorable.h:211
SummaryPlotFactoryBase::generator_
SummaryGenerator * generator_
Definition:
SummaryPlotFactoryBase.h:32
value
Definition:
value.py:1
SummaryGenerator::axisLabel
void axisLabel(const std::string &)
Definition:
SummaryGenerator.h:135
sistrip::invalid_
static const uint16_t invalid_
Definition:
Constants.h:16
SiStripEnumsAndStrings::monitorable
static std::string monitorable(const sistrip::Monitorable &)
Definition:
SiStripEnumsAndStrings.cc:547
SummaryPlotFactoryBase::gran_
sistrip::Granularity gran_
Definition:
SummaryPlotFactoryBase.h:29
sistrip::FAST_CABLING_HIGH_LEVEL
Definition:
ConstantsForMonitorable.h:210
sistrip::mlSummaryPlots_
static const char mlSummaryPlots_[]
Definition:
ConstantsForLogger.h:26
SiStripEnumsAndStrings.h
sistrip
sistrip classes
Definition:
SiStripQualityHelpers.h:14
FastFedCablingAnalysis.h
conversion_template_cfg.anal
anal
Definition:
conversion_template_cfg.py:16
sistrip::FAST_CABLING_MIN
Definition:
ConstantsForMonitorable.h:215
Generated for CMSSW Reference Manual by
1.8.16