23 <<
"[PedsFullNoiseHistosUsingDb::" << __func__ <<
"]" 24 <<
" Constructing object...";
30 <<
"[PedsFullNoiseHistosUsingDb::" << __func__ <<
"]" 31 <<
" Set FED zero suppression high/low threshold to " 41 <<
"[PedestalsHistosUsingDb::" << __func__ <<
"]" 43 <<
" ; keeping previously disabled strips: " << keepStripsDisabled_
44 <<
" ; skip strips with no data: " << skipEmptyStrips_
49 <<
"[PedestalsHistosUsingDb::" << __func__ <<
"]" 57 <<
"[PedsFullNoiseHistosUsingDb::" << __func__ <<
"]" 58 <<
" Destructing object...";
66 <<
"[PedsFullNoiseHistosUsingDb::" << __func__ <<
"]";
70 <<
"[PedsFullNoiseHistosUsingDb::" << __func__ <<
"]" 71 <<
" NULL pointer to SiStripConfigDb interface!" 72 <<
" Aborting upload...";
82 <<
"[PedsFullNoiseHistosUsingDb::" << __func__ <<
"]" 83 <<
" Uploading pedestals/noise to DB...";
88 <<
"[PedsFullNoiseHistosUsingDb::" << __func__ <<
"]" 89 <<
" Completed database upload of " << feds.size()
90 <<
" FED descriptions!";
94 <<
"[PedsFullNoiseHistosUsingDb::" << __func__ <<
"]" 95 <<
" TEST! No pedestals/noise values will be uploaded to DB...";
104 uint16_t updated = 0;
105 SiStripConfigDb::FedDescriptionsV::const_iterator ifed;
107 for ( ifed = feds.begin(); ifed != feds.end(); ifed++ ) {
140 <<
"[PedsFullNoiseHistosUsingDb::" << __func__ <<
"]" 141 <<
" NULL pointer to analysis object!";
146 uint32_t pedshift = 127;
148 uint32_t pedmin = (uint32_t) anal->
pedsMin()[iapv];
149 pedshift = pedmin < pedshift ? pedmin : pedshift;
154 for ( uint16_t istr = 0; istr < anal->
peds()[iapv].size(); istr++ ) {
158 <<
"[PedestalsHistosUsingDb::" << __func__ <<
"]" 159 <<
" Skipping ZERO pedestal value (ie, NO UPLOAD TO DB!) for FedKey/Id/Ch: " 160 << hex << setw(8) << setfill(
'0') << fed_key.
key() <<
dec <<
"/" 161 << (*ifed)->getFedId() <<
"/" 163 <<
" and device with FEC/slot/ring/CCU/LLD " 164 << fec_key.fecCrate() <<
"/" 165 << fec_key.fecSlot() <<
"/" 166 << fec_key.fecRing() <<
"/" 167 << fec_key.ccuAddr() <<
"/" 168 << fec_key.ccuChan() <<
"/" 169 << fec_key.channel();
174 Fed9U::Fed9UAddress addr( ichan, iapv, istr );
175 Fed9U::Fed9UStripDescription
temp = (*ifed)->getFedStrips().getStrip( addr );
178 bool disableStrip =
false;
179 std::stringstream ss_disable;
181 if(temp.getDisable()) {
182 ss_disable<<
"Already Disabled: "<<conn.
fecCrate()
188 <<
" "<<iapv<<
" "<<istr<<std::endl;
197 find( dead.begin(), dead.end(), istr ) != dead.end() ) {
199 ss_disable<<
"Disabling Dead Strip: "<<conn.
fecCrate()
205 <<
" "<<iapv<<
" "<<istr<<std::endl;
209 if(not disableStrip){
210 if (
find( badcChan.begin(), badcChan.end(), istr ) != badcChan.end() ) {
212 ss_disable<<
"Disabling Bad strip: "<<conn.
fecCrate()
218 <<
" "<<iapv<<
" "<<istr<<std::endl;
227 uint32_t pedestalVal = 0;
234 pedestalVal =
static_cast<uint32_t
>(temp.getPedestal());
235 noiseVal =
static_cast<float>(temp.getNoise());
236 lowThr =
static_cast<float>(temp.getLowThresholdFactor());
237 highThr =
static_cast<float>(temp.getHighThresholdFactor());
240 pedestalVal =
static_cast<uint32_t
>(anal->
peds()[iapv][istr]-pedshift);
241 noiseVal = anal->
noise()[iapv][istr];
247 Fed9U::Fed9UStripDescription
data(pedestalVal,highThr,lowThr,noiseVal,disableStrip);
249 std::stringstream ss;
251 ss <<
"[PedsFullNoiseHistosUsingDb::" << __func__ <<
"]" 252 <<
" Disabling strip in Fed9UStripDescription object..." << std::endl
253 <<
" for FED id/channel and APV/strip : " 254 << fed_key.
fedId() <<
"/" 258 <<
" and crate/FEC/ring/CCU/module : " 259 << fec_key.fecCrate() <<
"/" 260 << fec_key.fecSlot() <<
"/" 261 << fec_key.fecRing() <<
"/" 262 << fec_key.ccuAddr() <<
"/" 263 << fec_key.ccuChan() << std::endl
264 <<
" from ped/noise/high/low/disable : " 265 <<
static_cast<uint32_t
>( temp.getPedestal() ) <<
"/" 266 << static_cast<float>( temp.getHighThresholdFactor() ) <<
"/" 267 << static_cast<float>( temp.getLowThresholdFactor() ) <<
"/" 268 << static_cast<float>( temp.getNoise() ) <<
"/" 269 << static_cast<uint16_t>( temp.getDisable() ) << std::endl;
272 (*ifed)->getFedStrips().setStrip( addr, data );
275 ss <<
" to ped/noise/high/low/disable : " 276 <<
static_cast<uint32_t
>( data.getPedestal() ) <<
"/" 277 << static_cast<float>( data.getHighThresholdFactor() ) <<
"/" 278 << static_cast<float>( data.getLowThresholdFactor() ) <<
"/" 279 << static_cast<float>( data.getNoise() ) <<
"/" 280 << static_cast<uint16_t>( data.getDisable() ) << std::endl;
290 <<
"[PedsFullNoiseHistosUsingDb::" << __func__ <<
"]" 291 <<
" Unable to find pedestals/noise for FedKey/Id/Ch: " 292 << hex << setw(8) << setfill(
'0') << fed_key.
key() <<
dec <<
"/" 293 << (*ifed)->getFedId() <<
"/" 295 <<
" and device with FEC/slot/ring/CCU/LLD " 296 << fec_key.fecCrate() <<
"/" 297 << fec_key.fecSlot() <<
"/" 298 << fec_key.fecRing() <<
"/" 299 << fec_key.ccuAddr() <<
"/" 300 << fec_key.ccuChan() <<
"/" 301 << fec_key.channel();
308 <<
"[PedsFullNoiseHistosUsingDb::" << __func__ <<
"]" 309 <<
" Updated FED pedestals/noise for " 310 << updated <<
" channels";
321 if ( !anal ) {
return; }
326 for ( uint16_t iapv = 0; iapv < 2; ++iapv ) {
329 PedestalsAnalysisDescription* pedestalDescription;
330 pedestalDescription =
new PedestalsAnalysisDescription(
362 typedef std::vector<std::string>
Strings;
364 Strings::const_iterator istr = errors.begin();
365 Strings::const_iterator jstr = errors.end();
366 for ( ; istr != jstr; ++istr ) {pedestalDescription->addComments( *istr ); }
369 desc.push_back(pedestalDescription);
373 PedsFullNoiseAnalysisDescription* pedsFullNoiseDescription;
374 pedsFullNoiseDescription =
new PedsFullNoiseAnalysisDescription(
417 istr = errors.begin();
419 for ( ; istr != jstr; ++istr ) {
420 pedsFullNoiseDescription->addComments( *istr );
424 desc.push_back(pedsFullNoiseDescription);
const uint16_t & fecSlot() const
const VVInt & lowNoiseStrip() const
T getParameter(std::string const &) const
const VVInt & badJBProbab() const
const VFloat & rawMean() const
const uint16_t & fecCrate() const
void update(SiStripConfigDb::FedDescriptionsRange)
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
const uint32_t & fedKey() const
Analyses::iterator Analysis
Analyses & data(bool getMaskedData=false)
PedsFullNoiseHistosUsingDb(const edm::ParameterSet &pset, DQMStore *, SiStripConfigDb *const )
const VVFloat & residualKurtosis() 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...
const uint16_t & fedCh() const
const VVFloat & chi2Probab() const
const edm::ParameterSet & pset() const
const VVFloat & residualSkewness() const
bool deviceIsPresent(const SiStripFecKey &)
FedDescriptionsRange getFedDescriptions(std::string partition="")
const VVInt & badStripBit() const
~PedsFullNoiseHistosUsingDb() override
FedDescriptions::range FedDescriptionsRange
void uploadConfigurations() override
static const char mlDqmClient_[]
const VVFloat & peds() const
const VVFloat & ksProbab() const
const VFloat & noiseMax() const
bool uploadOnlyStripBadChannelBit_
uint16_t lldChannel() const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
const uint16_t & i2cAddr() const
const uint16_t & fedId() const
const VVInt & badADProbab() const
Histogram-based analysis for pedestal run.
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 VVInt & deadStrip() const
const VFloat & noiseMin() const
const_iterator_range partitions() const
const VVFloat & residualIntegralNsigma() const
const VVFloat & adProbab() const
const VFloat & pedsSpread() const
const uint16_t & fecRing() const
bool allowSelectiveUpload_
Class containning control, module, detector and connection information, at the level of a FED channel...
const VFloat & pedsMax() const
An interface class to the DeviceFactory.
const uint16_t & ccuChan() const
bool doUploadConf() const
const VFloat & pedsMean() const
const VFloat & pedsMin() const
const VVInt & badChi2Probab() const
const uint32_t & fecKey() const
const VFloat & rawMin() const
const VFloat & rawSpread() const
uint16_t fedChannel() const
const uint16_t & ccuAddr() const
const VVInt & deadStripBit() const
const VVInt & shiftedStrip() const
const VVInt & badKSProbab() const
std::vector< uint16_t > VInt
const VFloat & rawMax() const
const VVInt & badDoublePeakStrip() const
const VVFloat & jbProbab() const
void create(SiStripConfigDb::AnalysisDescriptionsV &, Analysis) override
const VVFloat & noise() const
const VVFloat & noiseSignificance() const
const uint16_t & feUnit() const
const SiStripDbParams & dbParams() const
void uploadFedDescriptions(std::string partition="")
const VVFloat & residualSigmaGaus() const
const VVFloat & residualIntegral() const
static const uint16_t invalid_
const VVFloat & residualRMS() const
const VVInt & largeNoiseSignificance() const
static const uint16_t FEDCH_PER_FED
std::vector< AnalysisDescription * > AnalysisDescriptionsV
const uint16_t & feChan() const
const VVInt & badTailStrip() const
const uint16_t & fedId() const
SiStripConfigDb *const db() const
const VVInt & largeNoiseStrip() const
const VFloat & noiseSpread() const
SiStripFedCabling *const cabling() const
const VString & getErrorCodes() const
const VVInt & badFitStatus() const
const VFloat & noiseMean() const
static const uint16_t APVS_PER_FEDCH
bool isValid() const override
const VVInt & badStrip() const
bool uploadPedsFullNoiseDBTable_