24 #include "Fed9UUtils.hh" 36 m_tickmarkThreshold(static_cast<
float>(pset.getUntrackedParameter<double>(
"TickmarkThreshold",50.))),
37 m_gaincalibrationfactor(static_cast<
float>(pset.getUntrackedParameter<double>(
"GainNormalizationFactor",640.))),
38 m_defaultpedestalvalue(static_cast<
float>(pset.getUntrackedParameter<double>(
"DefaultPedestal",0.))),
39 m_defaultnoisevalue(static_cast<
float>(pset.getUntrackedParameter<double>(
"DefaultNoise",0.))),
40 m_defaultthresholdhighvalue(static_cast<
float>(pset.getUntrackedParameter<double>(
"DefaultThresholdHigh",0.))),
41 m_defaultthresholdlowvalue(static_cast<
float>(pset.getUntrackedParameter<double>(
"DefaultThresholdLow",0.))),
42 m_defaultapvmodevalue(static_cast<uint16_t>(pset.getUntrackedParameter<uint32_t>(
"DefaultAPVMode",37))),
43 m_defaultapvlatencyvalue(static_cast<uint16_t>(pset.getUntrackedParameter<uint32_t>(
"DefaultAPVLatency",142))),
44 m_defaulttickheightvalue(static_cast<
float>(pset.getUntrackedParameter<double>(
"DefaultTickHeight",690.))),
45 m_useanalysis(static_cast<bool>(pset.getUntrackedParameter<bool>(
"UseAnalysis",
false))),
46 m_usefed(static_cast<bool>(pset.getUntrackedParameter<bool>(
"UseFED",
false))),
47 m_usefec(static_cast<bool>(pset.getUntrackedParameter<bool>(
"UseFEC",
false))),
48 m_debug(static_cast<bool>(pset.getUntrackedParameter<bool>(
"DebugMode",
false))),
49 tTopo(buildTrackerTopology())
52 <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 53 <<
" Constructing object...";
67 <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 68 <<
" Constructing object...";
75 <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 76 <<
" Destructing object...";
163 return new TrackerTopology(pxbVals_, pxfVals_, tecVals_, tibVals_, tidVals_, tobVals_);
174 SiStripDbParams::SiStripPartitions::const_iterator ipart = partitionsRange.begin();
175 SiStripDbParams::SiStripPartitions::const_iterator ipartEnd = partitionsRange.end();
176 for ( ; ipart != ipartEnd; ++ipart ) {
180 if (label!=
"Cabling" && label !=
"ApvLatency")
185 if(label==
"ApvTiming")
187 if(label==
"ApvLatency")
188 output<<
" FecVersion " << partition.
fecVersion().first <<
"." << partition.
fecVersion().second;
191 if (!strcmp(output.str().c_str(),input.str().c_str()))
204 SiStripDbParams::SiStripPartitions::const_iterator ipart = partitionsRange.begin();
205 SiStripDbParams::SiStripPartitions::const_iterator ipartEnd = partitionsRange.end();
206 for ( ; ipart != ipartEnd; ++ipart ) {
208 output <<
"%%" <<
"Partition: " << partition.
partitionName();
211 output <<
" CablingVersion: " << partition.
cabVersion().first <<
"." << partition.
cabVersion().second;
219 output <<
" FecVersion: " << partition.
fecVersion().first <<
"." << partition.
fecVersion().second;
222 output <<
" FedVersion: " << partition.
fedVersion().first <<
"." << partition.
fedVersion().second;
237 <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"]";
267 <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 268 <<
" NULL pointer to DeviceFactory returned by SiStripConfigDb!" 269 <<
" Cannot build Pedestals object!";
273 <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 274 <<
" NULL pointer to SiStripConfigDb returned by DB \"service\"!" 275 <<
" Cannot build Pedestals object!";
284 if ( descriptions.empty() ) {
286 <<
"SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 287 <<
" No FED descriptions found!";
300 if ( anal_descriptions.empty() ) {
302 <<
"SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 303 <<
" Unable to build SiStripApvGain object!" 304 <<
" No timing-scan analysis descriptions found!";
314 vector<uint32_t> det_ids;
316 if ( det_ids.empty() ) {
318 <<
"SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 319 <<
" Unable to build Pedestals object!" 320 <<
" No DetIds found!";
324 <<
"\n\nSiStripCondObjBuilderFromDb::" << __func__ <<
"]" 325 <<
" Found " << det_ids.size() <<
" active DetIds";
333 vector<const FedChannelConnection *> conns = det_cabling.
getConnections(det_id);
334 if (conns.size()==0){
336 <<
"SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 337 <<
" Unable to build condition object!" 338 <<
" No FED channel connections found for detid "<< det_id;
358 std::cout <<
"Found disabled FedConnection! APVPair: " << apvPair <<
" Strips: " << sistrip::STRIPS_PER_FEDCH << std::endl;
360 for ( ;istrip < (apvPair+1)*sistrip::STRIPS_PER_FEDCH; ++istrip ){
374 if (apvPair*2 < range.second - range.first){
375 height =
gain_last_->getApvGain(apvPair*2, range);
377 <<
" [ApvGain] Read gain value from last IOV for DetId: " << detid <<
" ApvPair: " << apvPair <<
", value=" << height;
380 <<
" [ApvGain] Unable to read gain value from last IOV for DetId: " << detid <<
" ApvPair: " << apvPair <<
", use dummy value=" << height;
384 <<
" [ApvGain] NULL pointer for last stored gain object in DB!!! " <<
"Will use dummy value=" << height <<
" for DetId: " << detid <<
" ApvPair: " << apvPair;
394 std::cout <<
"[SiStripCondObjBuilderFromDb::"<<__func__<<
"]: Set Default Latency for Detid: " << detid <<
" ApvNr: " << apvnr << std::endl;
397 std::cout <<
"[SiStripCondObjBuilderFromDb::"<<__func__<<
"]: Unable to fill Latency for Detid: " << detid <<
" ApvNr: " << apvnr << std::endl;
401 std::cout <<
"[SiStripCondObjBuilderFromDb::"<<__func__<<
"]: Unable to fill Latency for Detid: " << detid <<
" ApvNr: " << apvnr << std::endl;
412 SiStripConfigDb::AnalysisDescriptionsV::const_iterator iii = anal_descriptions.begin();
413 SiStripConfigDb::AnalysisDescriptionsV::const_iterator jjj = anal_descriptions.end();
415 while ( iii != jjj ) {
416 CommissioningAnalysisDescription*
tmp = *iii;
417 uint16_t fed_id = tmp->getFedId();
419 if ( fed_id == ipair.
fedId() && fed_ch == ipair.
fedCh() ) {
break; }
423 TimingAnalysisDescription *anal=0;
424 if ( iii != jjj ) { anal =
dynamic_cast<TimingAnalysisDescription*
>(*iii); }
427 <<
" [ApvGain] Unable to find Timing Analysis Description from DB for DetId: " << ipair.
detId() <<
" ApvPair:" << ipair.
apvPairNumber();
431 bool is_whitelist =
false;
433 if (desc.isConsistent(ipair)){
445 if (desc.isConsistent(ipair)){
447 <<
" [ApvGain] Skip module with DetId:" << ipair.
detId() <<
" ApvPair:" << ipair.
apvPairNumber()
448 <<
" according to \n" << desc.dump();
465 <<
" [ApvGain] Low tickmark height for DetId:" << ipair.
detId() <<
" ApvPair:" << ipair.
apvPairNumber() <<
", height=" << anal->getHeight();
478 SiStripConfigDb::DeviceDescriptionsV::const_iterator iapv = apvs.begin();
479 SiStripConfigDb::DeviceDescriptionsV::const_iterator japv = apvs.end();
480 if(iapv==japv)
return false;
481 for ( ; iapv != japv; ++iapv ) {
482 apvDescription* apv =
dynamic_cast<apvDescription*
>( *iapv );
483 if ( !apv ) {
continue; }
484 if((apv->getCrateId()) != (ipair.
fecCrate()))
continue;
485 if((apv->getFecSlot()) != (ipair.
fecSlot()))
continue;
486 if((apv->getRingSlot()) != (ipair.
fecRing()))
continue;
487 if((apv->getCcuAddress()) != (ipair.
ccuAddr()))
continue;
488 if((apv->getChannel()) != (ipair.
ccuChan()))
continue;
490 if((apv->getAddress()) == (ipair.
i2cAddr(0))) {
491 if(!latency_.
put( detid, apvnr, static_cast<uint16_t>(apv->getLatency()), static_cast<uint16_t>(apv->getApvMode()))){
492 std::cout <<
"UNABLE APVLatency Put: Detid "<<
dec<<detid
493 <<
" APVNr.: " << apvnr
494 <<
" Latency Value: " << dec <<static_cast<uint16_t>(apv->getLatency())
495 <<
" APV Mode: " <<
dec<< static_cast<uint16_t>(apv->getApvMode())
500 if((apv->getAddress()) == (ipair.
i2cAddr(1))) {
501 if(!latency_.
put( detid, apvnr, static_cast<uint16_t>(apv->getLatency()), static_cast<uint16_t>(apv->getApvMode()))){
502 std::cout <<
"UNABLE APVLatency Put: Detid "<<
dec<< detid
503 <<
" APVNr.: " << apvnr
504 <<
" Latency Value: " << dec <<static_cast<uint16_t>(apv->getLatency())
505 <<
" APV Mode: " <<
dec <<static_cast<uint16_t>(apv->getApvMode())
520 SiStripConfigDb::FedDescriptionsV::const_iterator
description = descriptions.begin();
521 while ( description != descriptions.end() ) {
522 if ( (*description)->getFedId() ==ipair.
fedId() ) {
break; }
525 if ( description == descriptions.end() ) {
return false;}
527 const Fed9U::Fed9UStrips&
strips = (*description)->getFedStrips();
532 for ( uint16_t iapv = 2*ipair.
fedCh(); iapv < 2*ipair.
fedCh()+2; iapv++ ) {
535 Fed9U::Fed9UAddress addr;
536 addr.setFedApv(iapv);
537 vector<Fed9U::Fed9UStripDescription>
strip = strips.getApvStrips(addr);
539 vector<Fed9U::Fed9UStripDescription>::const_iterator istrip = strip.begin();
541 for ( ; istrip != strip.end(); istrip++ ) {
546 if(istrip->getDisable()){
547 std::cout <<
"Found disabled strip! Detid: " << detid <<
" APVNr: " << iapv <<
" Strips: " << jstrip << std::endl;
564 <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 565 <<
" Unable to insert values into SiStripPedestals object!" 566 <<
" DetId already exists!" << std::endl;
581 <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 582 <<
" Unable to insert values into SiStripNoises object!" 583 <<
" DetId already exists!" << std::endl;
595 <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 596 <<
" Unable to insert values into SiStripThreshold object!" 597 <<
" DetId already exists!" << std::endl;
610 <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 611 <<
" Unable to insert values into SiStripQuality object!" 612 <<
" DetId already exists!" << std::endl;
623 if ( !
gain_->
put( det_id, range ) ) {
625 <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 626 <<
" [ApvGain] Unable to insert values into SiStripApvGain object!" 627 <<
" DetId already exists!";
638 vector<uint32_t>::const_iterator det_id;
639 vector<uint32_t> det_ids;
642 <<
"\n[SiStripCondObjBuilderFromDb::" << __func__ <<
"] first call to this method";
648 if ( det_ids.empty() ) {
650 <<
"SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 651 <<
" Unable to build Pedestals object!" 652 <<
" No DetIds found!" << std::endl;
655 std::cout <<
"\n\nSiStripCondObjBuilderFromDb::" << __func__ <<
"]" 656 <<
" Found " << det_ids.size() <<
" active DetIds";
659 det_id = det_ids.begin();
660 for ( ; det_id != det_ids.end(); det_id++ ) {
661 std::stringstream ssMessage;
664 if ( !(*det_id) ) {
continue; }
669 const vector<const FedChannelConnection *>& conns=
buildConnections(det_cabling, *det_id);
671 vector<const FedChannelConnection *>::const_iterator ipair = conns.begin();
672 if(conns.size() ==0 )
continue;
679 vector< vector<const FedChannelConnection *>::const_iterator > listConns(nApvPairs,conns.end());
681 for ( ; ipair != conns.end(); ++ipair ){
683 if ( !(*ipair) )
continue;
687 listConns[ipair-conns.begin()]=ipair;
690 <<
"\n impossible to assign connection position in listConns " << std::endl;
698 for (uint16_t apvPair=0;apvPair<listConns.size();++apvPair){
699 ipair=listConns[apvPair];
700 if ( ipair == conns.end() ) {
704 <<
" Unable to find FED connection for detid : " <<
std::dec << *det_id <<
" APV pair number " << apvPair
705 <<
" Writing default values" << std::endl;
709 std::cout <<
" Put apvPair+100:" << apvPair <<
" into vector!" << std::endl;
717 p_apvpcon=std::make_pair(apvPair,**ipair);
730 std::cout <<
"Entering [SiStripCondObjBuilderFromDb::"<<__func__ <<
"]"<<std::endl;
737 <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 738 <<
" NULL pointer to AnalysisDescriptions returned by SiStripConfigDb!" 739 <<
" Cannot build Analysis object! QUIT";
745 const std::map<uint32_t, SiStripDetInfoFileReader::DetInfo > DetInfos = fr->
getAllData();
747 for(
auto it = DetInfos.begin(); it != DetInfos.end(); ++it){
750 edm::LogError(
"DetIdNotGood") <<
"@SUB=analyze" <<
"Invalid detid: " << it->first
751 <<
" ... neglecting!" << std::endl;
755 uint32_t detid = it->first;
758 if(det_iter==tc.end()) {
764 for(
i_apvpairconn connections=det_iter->second.begin();connections!=det_iter->second.end();connections++){
765 uint32_t apvPair =(*connections).first;
782 uint32_t nApvPairs = it->second.nApvs/2;
783 for (uint32_t apvPair=0; apvPair<nApvPairs; ++apvPair){
793 std::stringstream ss;
798 <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 799 <<
" [ApvGainSummary] " << whitelistedDetIds.size() <<
" modules are in the whitelist, updates will be ensured: " << ss.str();
806 <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 807 <<
" [ApvGainSummary] Skipped " << skippedDetIds.size() <<
" modules: " << ss.str();
817 std::cout <<
"Entering [SiStripCondObjBuilderFromDb::"<<__func__ <<
"]"<<std::endl;
828 for(
i_trackercon detids=tc.begin();detids!=detids_end;detids++){
829 uint32_t detid = (*detids).first;
835 for(
i_apvpairconn connections=((*detids).second).begin();connections!=connections_end;connections++){
836 uint32_t apvPair =(*connections).first;
842 std::cout <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"] No FEDConnection for DetId " << detid <<
" ApvPair " << apvPair-100 <<
" found, skipping Latency Insertion!" << std::endl;
850 <<
" Unable to find FEC Description" 851 <<
" Skipping Insertion for DetId: " << detid << std::endl;
860 std::stringstream ss;
871 std::cout <<
"Entering [SiStripCondObjBuilderFromDb::"<<__func__ <<
"]"<<std::endl;
885 for(
i_trackercon detids=tc.begin();detids!=detids_end;detids++){
886 uint32_t detid = (*detids).first;
890 for(
i_apvpairconn connections=((*detids).second).begin();connections!=connections_end;connections++){
891 uint32_t apvPair =(*connections).first;
897 <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 898 <<
" Unable to find FED description for FED id: " << ipair.
fedId()
899 <<
" detid : " << detid <<
" APV pair number " << apvPair
900 <<
" Writing default values"<< std::endl;
907 <<
"[SiStripCondObjBuilderFromDb::" << __func__ <<
"]" 908 <<
" Unable to find FED description for FED id: " << ipair.
fedId()
909 <<
" detid : " << detid <<
" APV pair number " << apvPair
910 <<
" Writing default values"<< std::endl;
942 throw cms::Exception(
"InvalidPSet") <<
"None of FEC coordinates/FED coordinates/detids are valid in this PSet!\n" << pset.
dump(2);
948 auto comp = [](uint16_t desc, uint16_t device) {
return desc==0 || desc==device; };
978 std::stringstream ss;
const uint16_t & fecSlot() const
unsigned int sterStartBit_
bool put(const uint32_t &detID, const InputVector &vect)
vector< uint32_t > retrieveActiveDetIds(const SiStripDetCabling &det_cabling)
unsigned int ringStartBit_
SiStripPedestals::InputVector inputPedestals
unsigned int layerStartBit_
const uint16_t & fecCrate() const
unsigned int str_int_extStartBit_
bool put(const uint32_t detId, const uint16_t apv, const uint16_t latency, const uint16_t mode)
unsigned int wheelStartBit_
float m_tickmarkThreshold
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
SiStripLatency * latency_
SiStripFedCabling * fed_cabling_
unsigned int sterStartBit_
const uint16_t & fecRing() const
edm::VParameterSet m_skippedDevices
unsigned int layerStartBit_
SiStripCondObjBuilderFromDb()
Versions maskVersion() const
const uint16_t & fedCh() const
SiStripThreshold * threshold_
const std::pair< unsigned short, double > getNumberOfApvsAndStripLength(uint32_t detId) const
std::string dump(unsigned int indent=0) const
void buildAnalysisRelatedObjects(SiStripConfigDb *const db, const trackercon &tc)
DeviceFactory *const deviceFactory(std::string method_name="") const
static const uint32_t invalid32_
SiStripQuality::InputVector inputQuality
FedDescriptionsRange getFedDescriptions(std::string partition="")
pair_apvpairconn p_apvpcon
std::vector< ParameterSet > VParameterSet
std::string partitionName() const
uint16_t apvPairNumber() const
bool isConsistent(const FedChannelConnection &fc) const
std::pair< uint32_t, v_apvpairconn > pair_detcon
FedDescriptions::range FedDescriptionsRange
unsigned int layerStartBit_
const uint16_t & lldChan() const
const uint16_t & fecSlot() const
uint16_t lldChannel() const
SiStripThreshold::InputVector inputThreshold
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
unsigned int rodStartBit_
float m_defaultthresholdhighvalue
std::vector< SkipDeviceDescription > whitelistedDevices
unsigned int petal_fw_bwStartBit_
const uint16_t & i2cAddr() const
const uint16_t & fedId() const
unsigned int ladderStartBit_
virtual void terse(std::stringstream &ss) const
unsigned int petal_fw_bwMask_
void setDefaultValuesCabling(uint16_t apvPair)
static std::string const input
edm::Service< SiStripConfigDb > db_
bool put(const uint32_t &detID, Range input)
void buildFECRelatedObjects(SiStripConfigDb *const db, const trackercon &tc)
const std::vector< const FedChannelConnection * > & getConnections(uint32_t det_id) const
const_iterator_range partitions() const
bool setValuesApvLatency(SiStripLatency &latency_, SiStripConfigDb *const db, FedChannelConnection &ipair, uint32_t detid, uint16_t apvnr, SiStripConfigDb::DeviceDescriptionsRange apvs)
float m_defaultpedestalvalue
unsigned int petalStartBit_
bool retrieveFedDescriptions(SiStripConfigDb *const db)
Versions apvTimingVersion() const
void buildStripRelatedObjects(SiStripConfigDb *const db, const SiStripDetCabling &det_cabling)
bool checkForCompatibility(std::stringstream &input, std::stringstream &output, std::string &label)
std::shared_ptr< SiStripApvGain > gain_last_
const std::map< uint32_t, DetInfo > & getAllData() const
unsigned int strStartBit_
float m_defaulttickheightvalue
const uint16_t & fecRing() const
unsigned int moduleStartBit_
const uint32_t & detId() const
static void buildFecCabling(SiStripConfigDb *const, SiStripFecCabling &, const sistrip::CablingSource &)
Class containning control, module, detector and connection information, at the level of a FED channel...
DeviceDescriptions::range DeviceDescriptionsRange
void compact(unsigned int &, std::vector< unsigned int > &)
unsigned int sterStartBit_
float m_gaincalibrationfactor
float m_defaultnoisevalue
An interface class to the DeviceFactory.
const uint16_t & ccuChan() const
void buildFEDRelatedObjects(SiStripConfigDb *const db, const trackercon &tc)
unsigned int rod_fw_bwStartBit_
unsigned int rod_fw_bwMask_
std::pair< ContainerIterator, ContainerIterator > Range
uint16_t retrieveNumberAPVPairs(uint32_t det_id)
std::vector< pair_detcon > trackercon
Container class for database partition parameters.
std::vector< uint32_t > skippedDetIds
uint16_t m_defaultapvmodevalue
unsigned int str_fw_bwStartBit_
unsigned int moduleStartBit_
float m_defaultthresholdlowvalue
AnalysisDescriptionsRange getAnalysisDescriptions(AnalysisType, std::string partition="")
const uint16_t & ccuAddr() const
unsigned int moduleStartBit_
void storeThreshold(uint32_t det_id)
uint16_t m_defaultapvlatencyvalue
unsigned int wheelStartBit_
vector< const FedChannelConnection * > buildConnections(const SiStripDetCabling &det_cabling, uint32_t det_id)
SiStripNoises::InputVector inputNoises
unsigned int str_int_extMask_
void printSummary(std::stringstream &ss) const
Prints the number of ranges as well as the value of singleLatency and singleMode. ...
bool put(const uint32_t &detID, const InputVector &input)
DbClient *const databaseCache(std::string method_name="") const
unsigned int moduleStartBit_
const uint16_t & fecCrate() const
const SiStripDbParams & dbParams() const
SiStripDbParams dbParams_
unsigned int sideStartBit_
bool setValuesCabling(SiStripConfigDb::FedDescriptionsRange &descriptions, FedChannelConnection &ipair, uint32_t detid)
static void getFedCabling(const SiStripFecCabling &in, SiStripFedCabling &out)
static const uint16_t STRIPS_PER_FEDCH
bool put(const uint32_t &detID, InputVector &input)
const uint16_t & feUnit() const
TrackerTopology * buildTrackerTopology()
bool retrieveTimingAnalysisDescriptions(SiStripConfigDb *const db)
AnalysisDescriptions::range AnalysisDescriptionsRange
unsigned int bladeStartBit_
unsigned int module_fw_bwStartBit_
const uint16_t & ccuAddr() const
static const uint16_t invalid_
std::string getConfigString(const std::type_info &typeInfo)
unsigned int moduleStartBit_
void setDefaultValuesApvLatency(SiStripLatency &latency_, const FedChannelConnection &ipair, uint32_t detid, uint16_t apvnr)
void setData(const uint16_t &strip, const float &lTh, const float &hTh, Container &vthr)
Contains cabling info at the device level, including DetId, APV pair numbers, hardware addresses...
boost::iterator_range< SiStripPartitions::const_iterator > const_iterator_range
std::vector< std::vector< double > > tmp
SiStripApvGain::InputVector inputApvGain
void printDebug(std::stringstream &ss) const
Prints the full list of all ranges and corresponding values of latency and mode.
unsigned int sideStartBit_
void setData(float ped, InputVector &vped)
std::vector< uint32_t > whitelistedDetIds
const uint16_t & feChan() const
unsigned int module_fw_bwMask_
unsigned int diskStartBit_
unsigned int panelStartBit_
edm::VParameterSet m_whitelistedDevices
void storeTiming(uint32_t det_id)
const uint16_t & ccuChan() const
const uint16_t & fedId() const
void storePedestals(uint32_t det_id)
void setDefaultValuesApvTiming(uint32_t detid, uint32_t apvPair)
static uint16_t fedCh(const uint16_t &fe_unit, const uint16_t &fe_chan)
DeviceDescriptionsRange getDeviceDescriptions(std::string partition="")
static const char mlESSources_[]
void storeNoise(uint32_t det_id)
std::vector< SkipDeviceDescription > skippedDevices
unsigned int moduleStartBit_
const uint16_t & i2cAddr(const uint16_t &apv0_or_1) const
bool put(const uint32_t &detID, const InputVector &vect)
unsigned int sideStartBit_
std::vector< pair_detcon >::iterator i_trackercon
unsigned int sterStartBit_
Versions fecVersion() const
virtual ~SiStripCondObjBuilderFromDb()
SiStripQuality * quality_
Versions cabVersion() const
std::vector< pair_apvpairconn >::iterator i_apvpairconn
SiStripPedestals * pedestals_
unsigned int encode(const unsigned short &first, const unsigned short &NconsecutiveBadStrips, const unsigned short &flag=0)
Versions fedVersion() const
void setData(float noise_, InputVector &vped)
unsigned int str_fw_bwMask_
unsigned int ringStartBit_
bool setValuesApvTiming(SiStripConfigDb *const db, FedChannelConnection &ipair)
void storeQuality(uint32_t det_id)
virtual void terse(std::stringstream &ss) const