21 <<
" Constructing object...";
25 <<
" Skipping db update of gain parameters.";
31 <<
" Enabling selective upload of gain parameters";
38 <<
" Destructing object...";
48 <<
" NULL pointer to SiStripConfigDb interface!" 49 <<
" Aborting upload...";
58 <<
" Uploading LLD settings to DB...";
61 <<
" Upload of LLD settings to DB finished!";
64 <<
" TEST only! No LLD settings will be uploaded to DB...";
73 SiStripConfigDb::DeviceDescriptionsV::const_iterator idevice;
74 for (idevice =
devices.begin(); idevice !=
devices.end(); idevice++) {
75 if ((*idevice)->getDeviceType() != LASERDRIVER) {
80 laserdriverDescription*
desc =
dynamic_cast<laserdriverDescription*
>(*idevice);
99 <<
" NULL pointer to analysis object!";
104 std::stringstream
ss;
105 ss <<
"[OptoScanHistosUsingDb::" << __func__ <<
"]" 106 <<
" Updating LLD gain/bias settings for crate/crate/FEC/ring/CCU/module/LLD " << fec_key.
fecCrate() <<
"/" 108 <<
"/" << fec_key.
channel() <<
" from " <<
static_cast<uint16_t
>(
desc->getGain(ichan)) <<
"/" 109 << static_cast<uint16_t>(
desc->getBias(ichan));
114 ss <<
" to " <<
static_cast<uint16_t
>(
desc->getGain(ichan)) <<
"/" 115 << static_cast<uint16_t>(
desc->getBias(ichan));
121 <<
" Unable to find FEC key with params crate/FEC/ring/CCU/module/LLD " 131 <<
" Updated LLD bias/gain settings for " << updated <<
" modules";
145 for (uint16_t iapv = 0; iapv < 2; ++iapv) {
147 OptoScanAnalysisDescription*
tmp;
148 tmp =
new OptoScanAnalysisDescription(
anal->baseSlope()[0],
149 anal->baseSlope()[1],
150 anal->baseSlope()[2],
151 anal->baseSlope()[3],
161 anal->zeroLight()[0],
162 anal->zeroLight()[1],
163 anal->zeroLight()[2],
164 anal->zeroLight()[3],
165 anal->linkNoise()[0],
166 anal->linkNoise()[1],
167 anal->linkNoise()[2],
168 anal->linkNoise()[3],
173 anal->threshold()[0],
174 anal->threshold()[1],
175 anal->threshold()[2],
176 anal->threshold()[3],
177 anal->tickHeight()[0],
178 anal->tickHeight()[1],
179 anal->tickHeight()[2],
180 anal->tickHeight()[3],
197 typedef std::vector<std::string>
Strings;
199 Strings::const_iterator istr =
errors.begin();
200 Strings::const_iterator jstr =
errors.end();
201 for (; istr != jstr; ++istr) {
202 tmp->addComments(*istr);
Histogram-based analysis for opto bias/gain scan.
const uint16_t & channel() const
Log< level::Info, true > LogVerbatim
T getParameter(std::string const &) const
void uploadConfigurations() override
OptoScanHistosUsingDb(const edm::ParameterSet &pset, DQMStore *, SiStripConfigDb *const, edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken)
Analyses::iterator Analysis
Analyses & data(bool getMaskedData=false)
const uint16_t & ccuAddr() const
A container class for generic run and event-related info, information required by the commissioning a...
bool deviceIsPresent(const SiStripFecKey &)
const uint16_t & ccuChan() const
void create(SiStripConfigDb::AnalysisDescriptionsV &, Analysis) override
static const char mlDqmClient_[]
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
Log< level::Error, false > LogError
bool allowSelectiveUpload_
const_iterator_range partitions() const
Utility class that identifies a position within the strip tracker control structure, down to the level of an APV25.
const uint16_t & i2cAddr() const
void update(SiStripConfigDb::DeviceDescriptionsRange)
SiStripConfigDb *const db() const
DeviceDescriptions::range DeviceDescriptionsRange
static const uint16_t CHANS_PER_LLD
An interface class to the DeviceFactory.
const uint32_t & key() const
DeviceAddress deviceAddress(const deviceDescription &)
~OptoScanHistosUsingDb() override
const uint16_t & fecSlot() const
std::vector< AnalysisDescription * > AnalysisDescriptionsV
const edm::ParameterSet & pset() const
const SiStripDbParams & dbParams() const
DeviceDescriptionsRange getDeviceDescriptions(std::string partition="")
Log< level::Warning, false > LogWarning
void uploadDeviceDescriptions(std::string partition="")
const uint16_t & fecRing() const
bool doUploadConf() const
const uint16_t & fecCrate() const