|
![CMS Logo](/cmsdoxygen/common/rightImage.jpg) |
#include <FineDelayHistosUsingDb.h>
|
void | configure (const edm::ParameterSet &, const edm::EventSetup &) override |
|
| FineDelayHistosUsingDb (const edm::ParameterSet &pset, DQMStore *, SiStripConfigDb *const) |
|
void | uploadConfigurations () override |
|
| ~FineDelayHistosUsingDb () override |
|
| CommissioningHistosUsingDb (SiStripConfigDb *const, sistrip::RunType=sistrip::UNDEFINED_RUN_TYPE) |
|
bool | doUploadAnal () const |
|
void | doUploadAnal (bool) |
|
bool | doUploadConf () const |
|
void | doUploadConf (bool) |
|
void | uploadToConfigDb () |
|
| ~CommissioningHistosUsingDb () override |
|
| CommissioningHistograms () |
|
| CommissioningHistograms (const edm::ParameterSet &pset, DQMStore *const, const sistrip::RunType &) |
|
void | createCollations (const std::vector< std::string > &) |
|
virtual void | createSummaryHisto (const sistrip::Monitorable &, const sistrip::Presentation &, const std::string &top_level_dir, const sistrip::Granularity &) |
|
void | extractHistograms (const std::vector< std::string > &) |
|
virtual void | printAnalyses () |
|
virtual void | printSummary () |
|
void | remove (std::string pattern="") |
|
void | save (std::string &filename, uint32_t run_number=0, std::string partitionName="") |
|
virtual | ~CommissioningHistograms () |
|
void | histoAnalysis (bool debug) override |
|
| SamplingHistograms (const edm::ParameterSet &pset, DQMStore *, const sistrip::RunType &task=sistrip::APV_LATENCY) |
|
| ~SamplingHistograms () override |
|
|
typedef std::map< uint32_t, CommissioningAnalysis * > | Analyses |
|
typedef Analyses::iterator | Analysis |
|
typedef dqm::harvesting::DQMStore | DQMStore |
|
typedef SummaryPlotFactory< CommissioningAnalysis * > | Factory |
|
typedef std::map< uint32_t, uint32_t > | FedToFecMap |
|
typedef std::vector< Histo * > | Histos |
|
typedef std::map< uint32_t, Histos > | HistosMap |
|
typedef dqm::harvesting::MonitorElement | MonitorElement |
|
static void | copyCustomInformation (DQMStore *const, const std::vector< std::string > &) |
|
static uint32_t | runNumber (DQMStore *const, const std::vector< std::string > &) |
|
static sistrip::RunType | runType (DQMStore *const, const std::vector< std::string > &) |
|
virtual void | addDcuDetIds () |
|
void | buildDetInfo () |
|
SiStripFedCabling *const | cabling () const |
|
virtual void | createAnalyses (SiStripConfigDb::AnalysisDescriptionsV &) |
|
SiStripConfigDb *const | db () const |
|
std::pair< std::string, DetInfo > | detInfo (const SiStripFecKey &) |
|
bool | deviceIsPresent (const SiStripFecKey &) |
|
void | uploadAnalyses () |
|
DQMStore *const | bei () const |
|
void | clearHistosMap () |
|
Analyses & | data (bool getMaskedData=false) |
|
Factory *const | factory () |
|
TH1 * | histogram (const sistrip::Monitorable &, const sistrip::Presentation &, const sistrip::View &, const std::string &directory, const uint32_t &xbins, const float &xlow=1. *sistrip::invalid_, const float &xhigh=1. *sistrip::invalid_) |
|
const HistosMap & | histos () const |
|
const FedToFecMap & | mapping () const |
|
void | printHistosMap () |
|
const edm::ParameterSet & | pset () const |
|
const sistrip::RunType & | task () const |
|
std::unique_ptr< Factory > | factory_ |
|
Definition at line 13 of file FineDelayHistosUsingDb.h.
◆ FineDelayHistosUsingDb()
◆ ~FineDelayHistosUsingDb()
FineDelayHistosUsingDb::~FineDelayHistosUsingDb |
( |
| ) |
|
|
override |
◆ computeDelays()
void FineDelayHistosUsingDb::computeDelays |
( |
| ) |
|
|
private |
Definition at line 105 of file FineDelayHistosUsingDb.cc.
122 float bestDelay_ = 0.;
124 Analyses::const_iterator iter =
data().begin();
125 bestDelay_ = dynamic_cast<SamplingAnalysis*>(iter->second)->maximum();
132 for (
auto ifed = ids.begin(); ifed != ids.end(); ++ifed) {
135 for (
auto iconn = conns.begin(); iconn != conns.end(); ++iconn) {
143 float tof = dist /
c;
145 float delay = bestDelay_ + tof;
148 iconn->fecCrate(), iconn->fecSlot(), iconn->fecRing(), iconn->ccuAddr(), iconn->ccuChan(), 0)
151 <<
"] Computed Delay to be added to PLL: " << bestDelay_ <<
" " << tof <<
" "
152 <<
delay << std::endl;
155 <<
" Tracker geometry not initialized. Impossible to compute the delays.";
References HltBtagPostValidation_cff::c, CommissioningHistosUsingDb::cabling(), cosmic_, CommissioningHistograms::data(), phase2TrackerDigitizer_cfi::delay, delays_, relativeConstraints::empty, SiStripFedCabling::fedConnections(), SiStripFedCabling::fedIds(), TrackerGeometry::idToDetUnit(), crabWrapper::key, PV3DBase< T, PVType, FrameType >::mag(), sistrip::mlDqmClient_, GeomDet::toLocal(), DetId::Tracker, tracker_, x, y, and z.
Referenced by update().
◆ configure()
◆ create()
◆ update() [1/2]
Definition at line 163 of file FineDelayHistosUsingDb.cc.
168 uint16_t updated = 0;
169 std::vector<SiStripFecKey>
invalid;
170 SiStripConfigDb::DeviceDescriptionsV::const_iterator idevice;
171 for (idevice = devices.begin(); idevice != devices.end(); idevice++) {
173 if ((*idevice)->getDeviceType() != PLL) {
178 pllDescription*
desc = dynamic_cast<pllDescription*>(*idevice);
192 float delay =
desc->getDelayCoarse() * 25 +
desc->getDelayFine() * 25. / 24. +
delays_[fec_key];
194 int delayFine =
int(round((
delay - 25 * delayCoarse) * 24. / 25.));
195 if (delayFine == 24) {
200 if (delayCoarse > 15) {
207 std::stringstream
ss;
208 ss <<
"[FineDelayHistosUsingDb::" << __func__ <<
"]"
209 <<
" Updating coarse/fine PLL settings"
210 <<
" for Crate/FEC/slot/ring/CCU " << fec_path.
fecCrate() <<
"/" << fec_path.
fecSlot() <<
"/"
212 << static_cast<uint16_t>(
desc->getDelayCoarse()) <<
"/" << static_cast<uint16_t>(
desc->getDelayFine());
213 desc->setDelayCoarse(delayCoarse);
214 desc->setDelayFine(delayFine);
216 ss <<
" to " << static_cast<uint16_t>(
desc->getDelayCoarse()) <<
"/"
217 << static_cast<uint16_t>(
desc->getDelayFine());
222 <<
" Unexpected PLL delay settings for Crate/FEC/slot/ring/CCU " << fec_path.
fecCrate()
230 std::stringstream
ss;
231 ss <<
"[FineDelayHistosUsingDb::" << __func__ <<
"]"
232 <<
" Found PLL coarse setting of 15"
233 <<
" (not allowed!) for following channels"
234 <<
" (Crate/FEC/slot/ring/CCU/LLD): ";
235 std::vector<SiStripFecKey>::iterator ikey =
invalid.begin();
236 std::vector<SiStripFecKey>::iterator jkey =
invalid.end();
237 for (; ikey != jkey; ++ikey) {
238 ss << ikey->fecCrate() <<
"/" << ikey->fecSlot() <<
"/" << ikey->fecRing() <<
"/" << ikey->ccuAddr() <<
"/"
239 << ikey->ccuChan() <<
", ";
246 <<
" Updated PLL settings for " << updated <<
" modules";
References generateTowerEtThresholdLUT::addr, SiStripFecKey::ccuAddr(), SiStripFecKey::ccuChan(), computeDelays(), CommissioningHistosUsingDb::db(), phase2TrackerDigitizer_cfi::delay, delays_, submitPVResolutionJobs::desc, SiStripConfigDb::deviceAddress(), SiStripFecKey::fecCrate(), SiStripFecKey::fecRing(), SiStripFecKey::fecSlot(), createfilelist::int, invalid, sistrip::invalid_, SiStripKey::key(), LogTrace, sistrip::mlDqmClient_, and contentValuesCheck::ss.
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), dqm-mbProfile.Profile::finish(), progressbar.ProgressBar::finish(), MatrixUtil.Steps::overwrite(), and uploadConfigurations().
◆ update() [2/2]
Definition at line 252 of file FineDelayHistosUsingDb.cc.
260 for (SiStripConfigDb::FedDescriptionsV::const_iterator ifed =
feds.begin(); ifed !=
feds.end(); ifed++) {
262 if (
find(ids.begin(), ids.end(), (*ifed)->getFedId()) == ids.end()) {
267 for (
auto iconn = conns.begin(); iconn != conns.end(); iconn++) {
272 Fed9U::Fed9UAddress fedChannel = Fed9U::Fed9UAddress(iconn->fedCh());
274 int fedDelayCoarse = (*ifed)->getCoarseDelay(fedChannel);
275 int fedDelayFine = (*ifed)->getFineDelay(fedChannel);
276 int fedDelay =
int(fedDelayCoarse * 25. - fedDelayFine * 24. / 25.);
280 iconn->fecCrate(), iconn->fecSlot(), iconn->fecRing(), iconn->ccuAddr(), iconn->ccuChan(), 0)
285 fedDelayCoarse = (fedDelay / 25) + 1;
286 fedDelayFine = fedDelayCoarse * 25 - fedDelay;
287 if (fedDelayFine == 25) {
292 std::stringstream
ss;
293 ss <<
"[FineDelayHistosUsingDb::" << __func__ <<
"]"
294 <<
" Updating the FED delay"
295 <<
" for loop FED id/ch " << (*ifed)->getFedId() <<
"/" << iconn->fedCh() <<
" from "
296 << (*ifed)->getCoarseDelay(fedChannel) <<
"/" << (*ifed)->getFineDelay(fedChannel) <<
" to ";
297 (*ifed)->setDelay(fedChannel, fedDelayCoarse, fedDelayFine);
298 ss << (*ifed)->getCoarseDelay(fedChannel) <<
"/" << (*ifed)->getFineDelay(fedChannel) << std::endl;
304 <<
" Updated FED delay for " << ids.size() <<
" FEDs!";
References CommissioningHistosUsingDb::cabling(), computeDelays(), phase2TrackerDigitizer_cfi::delay, delays_, SiStripFedCabling::fedConnections(), SiStripFedCabling::fedIds(), l1tstage2emulator_dqm_sourceclient-live_cfg::feds, spr::find(), createfilelist::int, crabWrapper::key, LogTrace, sistrip::mlDqmClient_, contentValuesCheck::ss, and DetId::Tracker.
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), dqm-mbProfile.Profile::finish(), progressbar.ProgressBar::finish(), and MatrixUtil.Steps::overwrite().
◆ uploadConfigurations()
void FineDelayHistosUsingDb::uploadConfigurations |
( |
| ) |
|
|
overridevirtual |
Reimplemented from CommissioningHistosUsingDb.
Definition at line 54 of file FineDelayHistosUsingDb.cc.
57 <<
" NULL pointer to SiStripConfigDb interface!"
58 <<
" Aborting upload...";
70 <<
" Found invalid PLL settings (coarse > 15)"
71 <<
" Aborting update to database...";
78 <<
" Uploading PLL settings to DB...";
81 <<
" Upload of PLL settings to DB finished!";
84 <<
" TEST only! No PLL settings will be uploaded to DB...";
95 <<
" Uploading FED ticker thresholds to DB...";
98 <<
" Upload of FED ticker thresholds to DB finished!";
101 <<
" TEST only! No FED ticker thresholds will be uploaded to DB...";
References SiStripConfigDb::clearDeviceDescriptions(), SiStripConfigDb::clearFedDescriptions(), CommissioningHistosUsingDb::db(), CommissioningHistosUsingDb::doUploadConf(), l1tstage2emulator_dqm_sourceclient-live_cfg::feds, SiStripConfigDb::getDeviceDescriptions(), SiStripConfigDb::getFedDescriptions(), LogTrace, sistrip::mlDqmClient_, update(), alcaDQMUpload::upload(), SiStripConfigDb::uploadDeviceDescriptions(), and SiStripConfigDb::uploadFedDescriptions().
◆ cosmic_
bool FineDelayHistosUsingDb::cosmic_ |
|
private |
◆ delays_
std::map<unsigned int, float> FineDelayHistosUsingDb::delays_ |
|
private |
◆ tracker_
DeviceDescriptionsRange getDeviceDescriptions(std::string partition="")
const TrackerGeometry * tracker_
DeviceDescriptions::range DeviceDescriptionsRange
const edm::ParameterSet & pset() const
DQMStore *const bei() const
const SiStripDbParams & dbParams() const
Analysis for latency run.
const uint32_t & key() const
DeviceAddress deviceAddress(const deviceDescription &)
FedDescriptionsRange getFedDescriptions(std::string partition="")
void uploadFedDescriptions(std::string partition="")
SiStripFedCabling *const cabling() const
const uint16_t & fecCrate() const
A container class for generic run and event-related info, information required by the commissioning a...
Analyses & data(bool getMaskedData=false)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Log< level::Warning, false > LogWarning
SamplingHistograms(const edm::ParameterSet &pset, DQMStore *, const sistrip::RunType &task=sistrip::APV_LATENCY)
static const char mlDqmClient_[]
void clearFedDescriptions(std::string partition="")
CommissioningHistograms()
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
CommissioningHistosUsingDb()
FedDescriptions::range FedDescriptionsRange
const uint16_t & fecRing() const
bool update(SiStripConfigDb::DeviceDescriptionsRange)
Global3DPoint GlobalPoint
void configure(const edm::ParameterSet &, const edm::EventSetup &) override
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
Utility class that identifies a position within the strip tracker control structure,...
void uploadDeviceDescriptions(std::string partition="")
const uint16_t & ccuChan() const
void configure(const edm::ParameterSet &, const edm::EventSetup &) override
std::map< unsigned int, float > delays_
const_iterator_range partitions() const
bool doUploadConf() const
static const uint16_t invalid_
Log< level::Error, false > LogError
Log< level::Info, true > LogVerbatim
const uint16_t & ccuAddr() const
T getParameter(std::string const &) const
SiStripConfigDb *const db() const
FedsConstIterRange fedIds() const
def upload(url, args, files)
void clearDeviceDescriptions(std::string partition="")
const uint16_t & fecSlot() const
ConnsConstIterRange fedConnections(uint16_t fed_id) const