28 <<
" Constructing object...";
32 for (SiStripConfigDb::DeviceDescriptionsV::const_iterator apv = apvDescriptions.begin(); apv != apvDescriptions.end();
34 apvDescription* desc = dynamic_cast<apvDescription*>(*apv);
40 std::stringstream
bin;
41 bin << std::setw(1) << std::setfill(
'0') <<
addr.fecCrate_;
42 bin <<
"." << std::setw(2) << std::setfill(
'0') <<
addr.fecSlot_;
43 bin <<
"." << std::setw(1) << std::setfill(
'0') <<
addr.fecRing_;
44 bin <<
"." << std::setw(3) << std::setfill(
'0') <<
addr.ccuAddr_;
45 bin <<
"." << std::setw(2) << std::setfill(
'0') <<
addr.ccuChan_;
46 bin <<
"." << desc->getAddress();
48 << static_cast<uint16_t>(desc->getIsha()) <<
" " << static_cast<uint16_t>(desc->getVfs());
55 <<
" Enabling selective update of FED parameters.";
62 <<
" Destructing object...";
70 <<
" NULL pointer to SiStripConfigDb interface!"
71 <<
" Aborting upload...";
77 <<
"[CalibrationHistosUsingDb::" << __func__ <<
"]"
78 <<
" Nothing has to be uploaded to the SiStripConfigDb for CALIBRATION_SCAN or CALIBRATION_SCAN_DECO run-types"
79 <<
" Aborting upload...";
87 <<
" Uploading ISHA/VFS settings to DB...";
90 <<
" Uploaded ISHA/VFS settings to DB!";
93 <<
" TEST only! No ISHA/VFS settings will be uploaded to DB...";
97 <<
" Upload of ISHA/VFS settings to DB finished!";
105 <<
"[CalibrationHistosUsingDb::" << __func__ <<
"]"
106 <<
" Nothing has to be uploaded to the SiStripConfigDb for CALIBRATION_SCAN or CALIBRATION_SCAN_DECO run-type"
107 <<
" Aborting upload...";
111 SiStripConfigDb::DeviceDescriptionsV::const_iterator idevice;
112 for (idevice = devices.begin(); idevice != devices.end(); idevice++) {
114 if ((*idevice)->getDeviceType() != APV25) {
118 apvDescription* desc = dynamic_cast<apvDescription*>(*idevice);
126 uint16_t ichan = (desc->getAddress() - 0x20) / 2;
127 uint16_t iapv = (desc->getAddress() - 0x20) % 2;
139 <<
" NULL pointer to analysis object!";
143 std::stringstream
ss;
144 ss <<
"[CalibrationHistosUsingDb::" << __func__ <<
"]"
145 <<
" Updating ISHA and VFS setting for FECCrate/FECSlot/FECRing/CCUAddr/LLD/APV " << fec_key.
fecCrate()
147 << fec_key.
ccuChan() <<
"/" << fec_key.
channel() << iapv <<
" from ISHA "
148 << static_cast<uint16_t>(desc->getIsha()) <<
" and VFS " << static_cast<uint16_t>(desc->getVfs());
150 desc->setIsha(
anal->bestISHA()[0]);
153 desc->setIsha(
anal->bestISHA()[1]);
156 desc->setVfs(
anal->bestVFS()[0]);
159 desc->setVfs(
anal->bestVFS()[1]);
161 ss <<
" to ISHA " << static_cast<uint16_t>(desc->getIsha()) <<
" and VFS "
162 << static_cast<uint16_t>(desc->getVfs());
167 <<
" Unable to find FEC key with params FEC/slot/ring/CCU/LLDchan/APV: "
170 << fec_key.
channel() <<
"/" << iapv + 1;
190 for (uint16_t iapv = 0; iapv < 2; ++iapv) {
192 CalibrationAnalysisDescription*
tmp;
193 tmp =
new CalibrationAnalysisDescription(
anal->amplitudeMean()[iapv],
194 anal->tailMean()[iapv],
195 anal->riseTimeMean()[iapv],
196 anal->decayTimeMean()[iapv],
197 anal->smearingMean()[iapv],
198 anal->chi2Mean()[iapv],
219 typedef std::vector<std::string>
Strings;
221 Strings::const_iterator istr =
errors.begin();
222 Strings::const_iterator jstr =
errors.end();
223 for (; istr != jstr; ++istr) {
224 tmp->addComments(*istr);
238 for (uint16_t iapv = 0; iapv < 2; ++iapv) {
240 CalibrationAnalysisDescription*
tmp;
241 tmp =
new CalibrationAnalysisDescription(
anal->tunedAmplitude()[iapv],
242 anal->tunedTail()[iapv],
243 anal->tunedRiseTime()[iapv],
244 anal->tunedDecayTime()[iapv],
245 anal->tunedSmearing()[iapv],
246 anal->tunedChi2()[iapv],
263 anal->tunedISHA()[iapv],
264 anal->tunedVFS()[iapv]);
267 typedef std::vector<std::string>
Strings;
269 Strings::const_iterator istr =
errors.begin();
270 Strings::const_iterator jstr =
errors.end();
271 for (; istr != jstr; ++istr) {
272 tmp->addComments(*istr);