|
|
Go to the documentation of this file.
22 <<
" Constructing object...";
29 <<
" Destructing object...";
39 <<
" NULL pointer to SiStripConfigDb interface!"
40 <<
" Aborting upload...";
49 <<
" Uploading pedestals/noise to DB...";
52 <<
" Completed database upload of " <<
feds.size() <<
" FED descriptions!";
55 <<
" TEST only! No pedestals/noise values will be uploaded to DB...";
64 SiStripConfigDb::FedDescriptionsV::const_iterator ifed;
65 for (ifed =
feds.begin(); ifed !=
feds.end(); ifed++) {
79 Analyses::const_iterator iter =
data().find(fec_key.key());
80 if (iter !=
data().end()) {
82 if (!iter->second->isValid()) {
89 <<
" NULL pointer to analysis object!";
94 uint32_t pedshift = 127;
96 uint32_t pedmin = (uint32_t)
anal->pedsMin()[iapv];
97 pedshift = pedmin < pedshift ? pedmin : pedshift;
102 for (uint16_t istr = 0; istr <
anal->peds()[iapv].size(); istr++) {
103 constexpr
float high_threshold = 5.;
104 constexpr
float low_threshold = 2.;
105 constexpr
bool disable_strip =
false;
106 Fed9U::Fed9UStripDescription
data(static_cast<uint32_t>(
anal->peds()[iapv][istr] - pedshift),
109 anal->raw()[iapv][istr],
111 Fed9U::Fed9UAddress
addr(ichan, iapv, istr);
112 (*ifed)->getFedStrips().setStrip(
addr,
data);
119 <<
" Unable to find pedestals/noise for FedKey/Id/Ch: " << hex << setw(8)
120 << setfill(
'0') << fed_key.
key() <<
dec <<
"/" << (*ifed)->getFedId() <<
"/"
121 << ichan <<
" and device with FEC/slot/ring/CCU/LLD " << fec_key.fecCrate() <<
"/"
122 << fec_key.fecSlot() <<
"/" << fec_key.fecRing() <<
"/" << fec_key.ccuAddr()
123 <<
"/" << fec_key.ccuChan() <<
"/" << fec_key.channel();
129 <<
" Updated FED pedestals/noise for " << updated <<
" channels";
143 for (uint16_t iapv = 0; iapv < 2; ++iapv) {
145 PedestalsAnalysisDescription*
tmp;
146 tmp =
new PedestalsAnalysisDescription(std::vector<uint16_t>(0, 0),
147 std::vector<uint16_t>(0, 0),
148 anal->pedsMean()[iapv],
149 anal->pedsSpread()[iapv],
152 anal->rawMean()[iapv],
153 anal->rawSpread()[iapv],
154 anal->pedsMax()[iapv],
155 anal->pedsMin()[iapv],
158 anal->rawMax()[iapv],
159 anal->rawMin()[iapv],
176 typedef std::vector<std::string>
Strings;
178 Strings::const_iterator istr =
errors.begin();
179 Strings::const_iterator jstr =
errors.end();
180 for (; istr != jstr; ++istr) {
181 tmp->addComments(*istr);
const SiStripDbParams & dbParams() const
const uint32_t & key() const
FedDescriptionsRange getFedDescriptions(std::string partition="")
void uploadFedDescriptions(std::string partition="")
SiStripFedCabling *const cabling() const
FedChannelConnection fedConnection(uint16_t fed_id, uint16_t fed_ch) const
A container class for generic run and event-related info, information required by the commissioning a...
Analyses & data(bool getMaskedData=false)
Log< level::Warning, false > LogWarning
static const char mlDqmClient_[]
FedDescriptions::range FedDescriptionsRange
void create(SiStripConfigDb::AnalysisDescriptionsV &, Analysis) override
void update(SiStripConfigDb::FedDescriptionsRange)
An interface class to the DeviceFactory.
Utility class that identifies a position within the strip tracker control structure,...
Histogram-based analysis for pedestal run.
Class containning control, module, detector and connection information, at the level of a FED channel...
void uploadConfigurations() override
~PedsOnlyHistosUsingDb() override
const_iterator_range partitions() const
const uint16_t & feUnit() const
bool doUploadConf() const
static const uint16_t invalid_
Log< level::Error, false > LogError
const uint16_t & i2cAddr() const
static const uint16_t APVS_PER_FEDCH
Log< level::Info, true > LogVerbatim
std::vector< AnalysisDescription * > AnalysisDescriptionsV
static const uint16_t FEDCH_PER_FED
SiStripConfigDb *const db() const
PedsOnlyHistosUsingDb(const edm::ParameterSet &pset, DQMStore *, SiStripConfigDb *const, edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken)
Analyses::iterator Analysis
const uint16_t & feChan() const