10 using namespace sistrip;
26 <<
"[OptoScanHistosUsingDb::" << __func__ <<
"]"
27 <<
" Constructing object...";
31 <<
"[OptoScanHistosUsingDb::" << __func__ <<
"]"
32 <<
" Skipping db update of gain parameters.";
39 <<
"[OptoScanHistosUsingDb::" << __func__ <<
"]"
40 <<
" Destructing object...";
47 <<
"[OptoScanHistosUsingDb::" << __func__ <<
"]";
51 <<
"[OptoScanHistosUsingDb::" << __func__ <<
"]"
52 <<
" NULL pointer to SiStripConfigDb interface!"
53 <<
" Aborting upload...";
62 <<
"[OptoScanHistosUsingDb::" << __func__ <<
"]"
63 <<
" Uploading LLD settings to DB...";
66 <<
"[OptoScanHistosUsingDb::" << __func__ <<
"]"
67 <<
" Upload of LLD settings to DB finished!";
70 <<
"[OptoScanHistosUsingDb::" << __func__ <<
"]"
71 <<
" TEST only! No LLD settings will be uploaded to DB...";
82 SiStripConfigDb::DeviceDescriptionsV::const_iterator idevice;
83 for ( idevice = devices.begin(); idevice != devices.end(); idevice++ ) {
85 if ( (*idevice)->getDeviceType() != LASERDRIVER ) {
continue; }
88 laserdriverDescription* desc =
dynamic_cast<laserdriverDescription*
>( *idevice );
89 if ( !desc ) {
continue; }
106 Analyses::const_iterator iter =
data().find( fec_key.
key() );
107 if ( iter !=
data().end() ) {
112 <<
"[OptoScanHistosUsingDb::" << __func__ <<
"]"
113 <<
" NULL pointer to analysis object!";
117 uint16_t gain = anal->
gain();
118 std::stringstream ss;
119 ss <<
"[OptoScanHistosUsingDb::" << __func__ <<
"]"
120 <<
" Updating LLD gain/bias settings for crate/crate/FEC/ring/CCU/module/LLD "
128 <<
static_cast<uint16_t
>( desc->getGain(ichan) ) <<
"/"
129 << static_cast<uint16_t>( desc->getBias(ichan) );
131 desc->setBias( ichan, anal->
bias()[gain] );
134 <<
static_cast<uint16_t
>(desc->getGain(ichan)) <<
"/"
135 << static_cast<uint16_t>(desc->getBias(ichan));
141 <<
"[OptoScanHistosUsingDb::" << __func__ <<
"]"
142 <<
" Unable to find FEC key with params crate/FEC/ring/CCU/module/LLD "
155 <<
"[OptoScanHistosUsingDb::" << __func__ <<
"]"
156 <<
" Updated LLD bias/gain settings for "
157 << updated <<
" modules";
168 if ( !anal ) {
return; }
173 for ( uint16_t iapv = 0; iapv < 2; ++iapv ) {
176 OptoScanAnalysisDescription*
tmp;
177 tmp =
new OptoScanAnalysisDescription( anal->
baseSlope()[0],
226 typedef std::vector<std::string>
Strings;
228 Strings::const_iterator istr = errors.begin();
229 Strings::const_iterator jstr = errors.end();
230 for ( ; istr != jstr; ++istr ) { tmp->addComments( *istr ); }
233 desc.push_back( tmp );
Histogram-based analysis for opto bias/gain scan.
const uint16_t & gain() const
T getParameter(std::string const &) const
const uint32_t & fedKey() const
Analyses::iterator Analysis
const uint16_t & fecRing() const
const VFloat & baseSlope() const
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 &)
const VFloat & liftOff() const
static const char mlDqmClient_[]
const uint16_t & fecSlot() const
const VFloat & linkNoise() const
const uint16_t & i2cAddr() const
const VFloat & measGain() const
const uint32_t & key() const
const VFloat & tickHeight() 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
const VFloat & zeroLight() const
void update(SiStripConfigDb::DeviceDescriptionsRange)
DeviceDescriptions::range DeviceDescriptionsRange
static const uint16_t CHANS_PER_LLD
An interface class to the DeviceFactory.
bool doUploadConf() const
const uint32_t & fecKey() const
DeviceAddress deviceAddress(const deviceDescription &)
virtual ~OptoScanHistosUsingDb()
const uint16_t & fecCrate() const
const VInt & bias() const
const SiStripDbParams & dbParams() const
OptoScanHistosUsingDb(const edm::ParameterSet &pset, DQMStore *, SiStripConfigDb *const )
const uint16_t & channel() const
const VFloat & threshold() const
const uint16_t & ccuAddr() const
std::vector< std::vector< double > > tmp
std::vector< AnalysisDescription * > AnalysisDescriptionsV
const uint16_t & ccuChan() const
SiStripConfigDb *const db() const
DeviceDescriptionsRange getDeviceDescriptions(std::string partition="")
void uploadDeviceDescriptions(std::string partition="")
const VString & getErrorCodes() const
void create(SiStripConfigDb::AnalysisDescriptionsV &, Analysis)
virtual void uploadConfigurations()