34 <<
"[CalibrationHistosUsingDb::" << __func__ <<
"]" 35 <<
" Constructing object...";
38 for(SiStripConfigDb::DeviceDescriptionsV::const_iterator apv = apvDescriptions.begin();apv!=apvDescriptions.end();++apv) {
39 apvDescription* desc =
dynamic_cast<apvDescription*
>( *apv );
40 if ( !desc ) {
continue; }
43 std::stringstream
bin;
44 bin << std::setw(1) << std::setfill(
'0') << addr.
fecCrate_;
45 bin <<
"." << std::setw(2) << std::setfill(
'0') << addr.
fecSlot_;
46 bin <<
"." << std::setw(1) << std::setfill(
'0') << addr.
fecRing_;
47 bin <<
"." << std::setw(3) << std::setfill(
'0') << addr.
ccuAddr_;
48 bin <<
"." << std::setw(2) << std::setfill(
'0') << addr.
ccuChan_;
49 bin <<
"." << desc->getAddress();
52 <<
static_cast<uint16_t
>(desc->getIsha()) <<
" " << static_cast<uint16_t>(desc->getVfs());
57 ishaPath +=
"/ControlView/isha";
61 vfsPath +=
"/ControlView/vfs";
71 <<
"[CalibrationHistosUsingDb::" << __func__ <<
"]" 72 <<
" Destructing object...";
86 <<
"[CalibrationHistosUsingDb::" << __func__ <<
"]" 87 <<
" NULL pointer to SiStripConfigDb interface!" 88 <<
" Aborting upload...";
97 <<
"[CalibrationHistosUsingDb::" << __func__ <<
"]" 98 <<
" Uploading ISHA/VFS settings to DB...";
101 <<
"[CalibrationHistosUsingDb::" << __func__ <<
"]" 102 <<
" Uploaded ISHA/VFS settings to DB!";
105 <<
"[CalibrationHistosUsingDb::" << __func__ <<
"]" 106 <<
" TEST only! No ISHA/VFS settings will be uploaded to DB...";
110 <<
"[CalibrationHistosUsingDb::" << __func__ <<
"]" 111 <<
" Upload of ISHA/VFS settings to DB finished!";
122 SiStripConfigDb::DeviceDescriptionsV::const_iterator idevice;
123 for ( idevice = devices.begin(); idevice != devices.end(); idevice++ ) {
126 if ( (*idevice)->getDeviceType() != APV25 ) {
continue; }
129 apvDescription* desc =
dynamic_cast<apvDescription*
>( *idevice );
130 if ( !desc ) {
continue; }
136 std::stringstream
bin;
137 bin << std::setw(1) << std::setfill(
'0') << addr.
fecCrate_;
138 bin <<
"." << std::setw(2) << std::setfill(
'0') << addr.
fecSlot_;
139 bin <<
"." << std::setw(1) << std::setfill(
'0') << addr.
fecRing_;
140 bin <<
"." << std::setw(3) << std::setfill(
'0') << addr.
ccuAddr_;
141 bin <<
"." << std::setw(2) << std::setfill(
'0') << addr.
ccuChan_;
142 bin <<
"." << desc->getAddress();
147 if(label == bin.str()) {
154 if(label == bin.str()) {
170 if ( !anal ) {
return; }
175 std::ofstream
ofile(
"calibrationResults.txt",ios_base::app);
176 for ( uint16_t iapv = 0; iapv < 2; ++iapv ) {
179 CalibrationAnalysisDescription *
tmp;
180 tmp =
new CalibrationAnalysisDescription(anal->
amplitudeMean()[iapv],
213 <<
" " << fec_key.fecCrate()
214 <<
" " << fec_key.fecSlot()
215 <<
" " << fec_key.fecRing()
216 <<
" " << fec_key.ccuAddr()
217 <<
" " << fec_key.ccuChan()
221 <<
" " << fed_key.fedId()
222 <<
" " << fed_key.feUnit()
223 <<
" " << fed_key.feChan()
224 <<
" " << fed_key.fedApv()
227 <<
" " <<
vfs_ << std::endl;
230 typedef std::vector<std::string>
Strings;
232 Strings::const_iterator istr = errors.begin();
233 Strings::const_iterator jstr = errors.end();
234 for ( ; istr != jstr; ++istr ) { tmp->addComments( *istr ); }
237 desc.push_back( tmp );
const VFloat & smearingMean() const
const uint32_t & fedKey() const
Analyses::iterator Analysis
const VFloat & amplitudeMean() const
A container class for generic run and event-related info, information required by the commissioning a...
const VFloat & timeConstantMean() const
virtual bool isValid() const
static const char mlDqmClient_[]
const VFloat & riseTimeMean() const
const uint16_t & i2cAddr() const
Utility class that identifies a position within the strip tracker control structure, down to the level of an APV25.
const_iterator_range partitions() const
Analysis for calibration runs.
DeviceDescriptions::range DeviceDescriptionsRange
An interface class to the DeviceFactory.
bool doUploadConf() const
const uint32_t & fecKey() const
DeviceAddress deviceAddress(const deviceDescription &)
~CalibrationHistosUsingDb() override
const VFloat & chi2Mean() const
bin
set the eta bin as selection string.
int extract(std::vector< int > *output, const std::string &dati)
const SiStripDbParams & dbParams() const
std::vector< std::vector< double > > tmp
void create(SiStripConfigDb::AnalysisDescriptionsV &, Analysis) override
CalibrationHistosUsingDb(const edm::ParameterSet &pset, DQMStore *, SiStripConfigDb *const, const sistrip::RunType &task=sistrip::CALIBRATION)
std::vector< AnalysisDescription * > AnalysisDescriptionsV
static const char root_[]
void update(SiStripConfigDb::DeviceDescriptionsRange &)
const VFloat & tailMean() const
SiStripConfigDb *const db() const
DeviceDescriptionsRange getDeviceDescriptions(std::string partition="")
void uploadDeviceDescriptions(std::string partition="")
std::string getBasePath(const std::string &path)
const VString & getErrorCodes() const
void uploadConfigurations() override