10 using namespace sistrip;
29 <<
" Constructing object...";
33 for (SiStripConfigDb::DeviceDescriptionsV::const_iterator apv = apvDescriptions.begin(); apv != apvDescriptions.end();
35 apvDescription*
desc =
dynamic_cast<apvDescription*
>(*apv);
41 std::stringstream
bin;
42 bin << std::setw(1) << std::setfill(
'0') << addr.
fecCrate_;
43 bin <<
"." << std::setw(2) << std::setfill(
'0') << addr.
fecSlot_;
44 bin <<
"." << std::setw(1) << std::setfill(
'0') << addr.
fecRing_;
45 bin <<
"." << std::setw(3) << std::setfill(
'0') << addr.
ccuAddr_;
46 bin <<
"." << std::setw(2) << std::setfill(
'0') << addr.
ccuChan_;
47 bin <<
"." << desc->getAddress();
49 <<
static_cast<uint16_t
>(desc->getIsha()) <<
" " << static_cast<uint16_t>(desc->getVfs());
56 <<
" Enabling selective update of FED parameters.";
63 <<
" Destructing object...";
71 <<
" NULL pointer to SiStripConfigDb interface!"
72 <<
" Aborting upload...";
78 <<
"[CalibrationHistosUsingDb::" << __func__ <<
"]"
79 <<
" Nothing has to be uploaded to the SiStripConfigDb for CALIBRATION_SCAN or CALIBRATION_SCAN_DECO run-types"
80 <<
" Aborting upload...";
88 <<
" Uploading ISHA/VFS settings to DB...";
91 <<
" Uploaded ISHA/VFS settings to DB!";
94 <<
" TEST only! No ISHA/VFS settings will be uploaded to DB...";
98 <<
" Upload of ISHA/VFS settings to DB finished!";
106 <<
"[CalibrationHistosUsingDb::" << __func__ <<
"]"
107 <<
" Nothing has to be uploaded to the SiStripConfigDb for CALIBRATION_SCAN or CALIBRATION_SCAN_DECO run-type"
108 <<
" Aborting upload...";
112 SiStripConfigDb::DeviceDescriptionsV::const_iterator idevice;
113 for (idevice = devices.begin(); idevice != devices.end(); idevice++) {
115 if ((*idevice)->getDeviceType() != APV25) {
119 apvDescription*
desc =
dynamic_cast<apvDescription*
>(*idevice);
127 uint16_t ichan = (desc->getAddress() - 0x20) / 2;
128 uint16_t iapv = (desc->getAddress() - 0x20) % 2;
140 <<
" NULL pointer to analysis object!";
144 std::stringstream
ss;
145 ss <<
"[CalibrationHistosUsingDb::" << __func__ <<
"]"
146 <<
" Updating ISHA and VFS setting for FECCrate/FECSlot/FECRing/CCUAddr/LLD/APV " << fec_key.
fecCrate()
148 << fec_key.
ccuChan() <<
"/" << fec_key.
channel() << iapv <<
" from ISHA "
149 <<
static_cast<uint16_t
>(desc->getIsha()) <<
" and VFS " << static_cast<uint16_t>(desc->getVfs());
157 desc->setVfs(anal->
bestVFS()[0]);
160 desc->setVfs(anal->
bestVFS()[1]);
162 ss <<
" to ISHA " <<
static_cast<uint16_t
>(desc->getIsha()) <<
" and VFS "
163 << static_cast<uint16_t>(desc->getVfs());
168 <<
" Unable to find FEC key with params FEC/slot/ring/CCU/LLDchan/APV: "
171 << fec_key.
channel() <<
"/" << iapv + 1;
191 for (uint16_t iapv = 0; iapv < 2; ++iapv) {
193 CalibrationAnalysisDescription*
tmp;
194 tmp =
new CalibrationAnalysisDescription(anal->
amplitudeMean()[iapv],
220 typedef std::vector<std::string>
Strings;
222 Strings::const_iterator istr = errors.begin();
223 Strings::const_iterator jstr = errors.end();
224 for (; istr != jstr; ++istr) {
225 tmp->addComments(*istr);
239 for (uint16_t iapv = 0; iapv < 2; ++iapv) {
241 CalibrationAnalysisDescription*
tmp;
242 tmp =
new CalibrationAnalysisDescription(anal->
tunedAmplitude()[iapv],
268 typedef std::vector<std::string>
Strings;
270 Strings::const_iterator istr = errors.begin();
271 Strings::const_iterator jstr = errors.end();
272 for (; istr != jstr; ++istr) {
273 tmp->addComments(*istr);
Log< level::Info, true > LogVerbatim
const VFloat & tunedTail()
const VFloat & tunedAmplitude()
const sistrip::RunType & task() const
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
const VFloat & tunedSmearing()
const VFloat & smearingMean()
Analyses & data(bool getMaskedData=false)
const uint16_t & fecRing() const
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
A container class for generic run and event-related info, information required by the commissioning a...
const edm::ParameterSet & pset() const
bool deviceIsPresent(const SiStripFecKey &)
static const char mlDqmClient_[]
const uint16_t & fecSlot() const
const VFloat & tunedDecayTime()
Log< level::Error, false > LogError
const uint16_t & i2cAddr() const
const VFloat & chi2Mean()
const uint32_t & key() const
Utility class that identifies a position within the strip tracker control structure, down to the level of an APV25.
bool isValid() const override
const_iterator_range partitions() const
const VBool isValid(const std::string &key)
const VFloat & tailMean()
Analysis for calibration runs.
bool allowSelectiveUpload_
const VFloat & tunedRiseTime()
Analysis for calibration scans.
const VFloat & amplitudeMean()
DeviceDescriptions::range DeviceDescriptionsRange
An interface class to the DeviceFactory.
bool doUploadConf() const
const uint32_t & fecKey() const
const VFloat & riseTimeMean()
DeviceAddress deviceAddress(const deviceDescription &)
~CalibrationHistosUsingDb() override
const uint16_t & fecCrate() const
CalibrationHistosUsingDb(const edm::ParameterSet &pset, DQMStore *, SiStripConfigDb *const, edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken, const sistrip::RunType &task=sistrip::CALIBRATION)
const VFloat & decayTimeMean()
const SiStripDbParams & dbParams() const
const uint16_t & channel() const
T getParameter(std::string const &) const
const uint16_t & ccuAddr() const
void create(SiStripConfigDb::AnalysisDescriptionsV &, Analysis) override
std::vector< AnalysisDescription * > AnalysisDescriptionsV
static const char root_[]
void update(SiStripConfigDb::DeviceDescriptionsRange &)
const uint16_t & ccuChan() const
const VFloat & tunedChi2()
SiStripConfigDb *const db() const
DeviceDescriptionsRange getDeviceDescriptions(std::string partition="")
Log< level::Warning, false > LogWarning
void uploadDeviceDescriptions(std::string partition="")
std::string getBasePath(const std::string &path)
const VString & getErrorCodes() const
void uploadConfigurations() override