CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
SiStripCondObjBuilderFromDb Class Reference

#include <SiStripCondObjBuilderFromDb.h>

Classes

class  SkipDeviceDescription
 

Public Types

typedef std::vector< pair_apvpairconn >::iterator i_apvpairconn
 
typedef std::vector< pair_detcon >::iterator i_trackercon
 
typedef std::pair< uint32_t, FedChannelConnectionpair_apvpairconn
 
typedef std::pair< uint32_t, v_apvpairconnpair_detcon
 
typedef std::vector< pair_detcontrackercon
 
typedef std::vector< pair_apvpairconnv_apvpairconn
 

Public Member Functions

void buildAnalysisRelatedObjects (SiStripConfigDb *const db, const trackercon &tc)
 
void buildCondObj ()
 
void buildFECRelatedObjects (SiStripConfigDb *const db, const trackercon &tc)
 
void buildFEDRelatedObjects (SiStripConfigDb *const db, const trackercon &tc)
 
void buildStripRelatedObjects (SiStripConfigDb *const db, const SiStripDetCabling &det_cabling)
 
TrackerTopologybuildTrackerTopology ()
 
bool checkForCompatibility (std::stringstream &input, std::stringstream &output, std::string &label)
 
const SiStripDbParamsdbParams () const
 
SiStripApvGaingetApvGain ()
 
SiStripLatencygetApvLatency ()
 
std::string getConfigString (const std::type_info &typeInfo)
 
SiStripFedCablinggetFedCabling ()
 
SiStripNoisesgetNoises ()
 
SiStripPedestalsgetPedestals ()
 
SiStripQualitygetQuality ()
 
SiStripThresholdgetThreshold ()
 
void getValue (SiStripFedCabling *&val)
 
void getValue (SiStripPedestals *&val)
 
void getValue (SiStripNoises *&val)
 
void getValue (SiStripThreshold *&val)
 
void getValue (SiStripQuality *&val)
 
void getValue (SiStripBadStrip *&val)
 
void getValue (SiStripApvGain *&val)
 
void getValue (SiStripLatency *&val)
 
void setLastIovGain (std::shared_ptr< SiStripApvGain > gain)
 
 SiStripCondObjBuilderFromDb ()
 
 SiStripCondObjBuilderFromDb (const edm::ParameterSet &, const edm::ActivityRegistry &)
 
virtual ~SiStripCondObjBuilderFromDb ()
 

Protected Member Functions

vector< const FedChannelConnection * > buildConnections (const SiStripDetCabling &det_cabling, uint32_t det_id)
 
void checkUpdate ()
 
vector< uint32_t > retrieveActiveDetIds (const SiStripDetCabling &det_cabling)
 
bool retrieveFedDescriptions (SiStripConfigDb *const db)
 
uint16_t retrieveNumberAPVPairs (uint32_t det_id)
 
bool retrieveTimingAnalysisDescriptions (SiStripConfigDb *const db)
 
void setDefaultValuesApvLatency (SiStripLatency &latency_, const FedChannelConnection &ipair, uint32_t detid, uint16_t apvnr)
 
void setDefaultValuesApvTiming (uint32_t detid, uint32_t apvPair)
 
void setDefaultValuesCabling (uint16_t apvPair)
 
bool setValuesApvLatency (SiStripLatency &latency_, SiStripConfigDb *const db, FedChannelConnection &ipair, uint32_t detid, uint16_t apvnr, SiStripConfigDb::DeviceDescriptionsRange apvs)
 
bool setValuesApvTiming (SiStripConfigDb *const db, FedChannelConnection &ipair)
 
bool setValuesCabling (SiStripConfigDb::FedDescriptionsRange &descriptions, FedChannelConnection &ipair, uint32_t detid)
 
void storeNoise (uint32_t det_id)
 
void storePedestals (uint32_t det_id)
 
void storeQuality (uint32_t det_id)
 
void storeThreshold (uint32_t det_id)
 
void storeTiming (uint32_t det_id)
 

Protected Attributes

edm::Service< SiStripConfigDbdb_
 
SiStripDbParams dbParams_
 
SiStripFedCablingfed_cabling_
 
SiStripApvGaingain_
 
std::shared_ptr< SiStripApvGaingain_last_
 
SiStripApvGain::InputVector inputApvGain
 
SiStripNoises::InputVector inputNoises
 
SiStripPedestals::InputVector inputPedestals
 
SiStripQuality::InputVector inputQuality
 
SiStripThreshold::InputVector inputThreshold
 
SiStripLatencylatency_
 
bool m_debug
 
uint16_t m_defaultapvlatencyvalue
 
uint16_t m_defaultapvmodevalue
 
float m_defaultnoisevalue
 
float m_defaultpedestalvalue
 
float m_defaultthresholdhighvalue
 
float m_defaultthresholdlowvalue
 
float m_defaulttickheightvalue
 
float m_gaincalibrationfactor
 
edm::VParameterSet m_skippedDevices
 
float m_tickmarkThreshold
 
bool m_useanalysis
 
bool m_usefec
 
bool m_usefed
 
edm::VParameterSet m_whitelistedDevices
 
SiStripNoisesnoises_
 
pair_apvpairconn p_apvpcon
 
pair_detcon p_detcon
 
SiStripPedestalspedestals_
 
SiStripQualityquality_
 
std::vector< uint32_t > skippedDetIds
 
std::vector< SkipDeviceDescriptionskippedDevices
 
SiStripThresholdthreshold_
 
TrackerTopologytTopo
 
v_apvpairconn v_apvpcon
 
trackercon v_trackercon
 
std::vector< uint32_t > whitelistedDetIds
 
std::vector< SkipDeviceDescriptionwhitelistedDevices
 

Detailed Description

Definition at line 46 of file SiStripCondObjBuilderFromDb.h.

Member Typedef Documentation

Definition at line 57 of file SiStripCondObjBuilderFromDb.h.

Definition at line 56 of file SiStripCondObjBuilderFromDb.h.

Definition at line 51 of file SiStripCondObjBuilderFromDb.h.

Definition at line 53 of file SiStripCondObjBuilderFromDb.h.

Definition at line 54 of file SiStripCondObjBuilderFromDb.h.

Definition at line 52 of file SiStripCondObjBuilderFromDb.h.

Constructor & Destructor Documentation

SiStripCondObjBuilderFromDb::SiStripCondObjBuilderFromDb ( )

Definition at line 64 of file SiStripCondObjBuilderFromDb.cc.

References LogTrace, and sistrip::mlESSources_.

65 {
67  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
68  << " Constructing object...";
69 }
#define LogTrace(id)
static const char mlESSources_[]
SiStripCondObjBuilderFromDb::SiStripCondObjBuilderFromDb ( const edm::ParameterSet pset,
const edm::ActivityRegistry  
)

Definition at line 32 of file SiStripCondObjBuilderFromDb.cc.

References LogTrace, m_skippedDevices, m_whitelistedDevices, sistrip::mlESSources_, skippedDevices, and whitelistedDevices.

33  :
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))),
50 {
52  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
53  << " Constructing object...";
54  for (const auto &pset : m_skippedDevices){
55  skippedDevices.emplace_back(pset);
56  }
57  for (const auto &pset : m_whitelistedDevices){
58  whitelistedDevices.emplace_back(pset);
59  }
60 }
T getUntrackedParameter(std::string const &, T const &) const
std::vector< ParameterSet > VParameterSet
Definition: ParameterSet.h:33
std::vector< SkipDeviceDescription > whitelistedDevices
#define LogTrace(id)
static const char mlESSources_[]
std::vector< SkipDeviceDescription > skippedDevices
SiStripCondObjBuilderFromDb::~SiStripCondObjBuilderFromDb ( )
virtual

Definition at line 73 of file SiStripCondObjBuilderFromDb.cc.

References LogTrace, sistrip::mlESSources_, and tTopo.

73  {
75  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
76  << " Destructing object...";
77  delete tTopo;
78 }
#define LogTrace(id)
static const char mlESSources_[]

Member Function Documentation

void SiStripCondObjBuilderFromDb::buildAnalysisRelatedObjects ( SiStripConfigDb *const  db,
const trackercon tc 
)

Definition at line 728 of file SiStripCondObjBuilderFromDb.cc.

References gather_cfg::cout, db_, Exception, gain_, SiStripDetInfoFileReader::getAllData(), hcalTTPDigis_cfi::id, sistrip::invalid32_, sistrip::mlESSources_, Utilities::operator, AlCaHLTBitMon_ParallelJobs::p, retrieveTimingAnalysisDescriptions(), setDefaultValuesApvTiming(), setValuesApvTiming(), createPayload::skip, skippedDetIds, storeTiming(), and whitelistedDetIds.

Referenced by buildCondObj(), and dbParams().

728  {
729  trackercon tc = _tc;
730  std::cout << "Entering [SiStripCondObjBuilderFromDb::"<<__func__ <<"]"<<std::endl;
731  //data container
732  gain_= new SiStripApvGain();
733 
734  //check if Timing analysis description is found, otherwise quit
737  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
738  << " NULL pointer to AnalysisDescriptions returned by SiStripConfigDb!"
739  << " Cannot build Analysis object! QUIT";
740  throw cms::Exception("Cannot build Analysis object!");
741  }
742 
743  // Get all detIds from the ideal geometry to build the payload
745  const std::map<uint32_t, SiStripDetInfoFileReader::DetInfo > DetInfos = fr->getAllData();
746 
747  for(auto it = DetInfos.begin(); it != DetInfos.end(); ++it){
748  // check if det id is correct and if it is actually cabled in the detector
749  if( it->first==0 || it->first==sistrip::invalid32_) {
750  edm::LogError("DetIdNotGood") << "@SUB=analyze" << "Invalid detid: " << it->first
751  << " ... neglecting!" << std::endl;
752  continue;
753  }
754 
755  uint32_t detid = it->first;
756  bool update_ = true;
757  i_trackercon det_iter = std::find_if(tc.begin(), tc.end(), [detid](const pair_detcon &p){ return p.first==detid; });
758  if(det_iter==tc.end()) {
759  update_ = false; // do not update if it is not connected in cabling
760  }
761 
762  if(update_){
763  //loop connections
764  for(i_apvpairconn connections=det_iter->second.begin();connections!=det_iter->second.end();connections++){
765  uint32_t apvPair =(*connections).first;
766  FedChannelConnection ipair =(*connections).second;
767 
768  //no connection for apvPair found
769  if(apvPair>=100){
770  setDefaultValuesApvTiming(detid, apvPair-100);
771  continue;
772  }
773 
774  //fill data
775  if(!setValuesApvTiming(db, ipair)){
776  // either not found in analysis table or low tickmark height
777  setDefaultValuesApvTiming(detid, apvPair);
778  }
779  }//connections
780 
781  }else{
782  uint32_t nApvPairs = it->second.nApvs/2;
783  for (uint32_t apvPair=0; apvPair<nApvPairs; ++apvPair){
784  setDefaultValuesApvTiming(detid, apvPair);
785  }
786  }
787 
788  storeTiming(detid);
789 
790  }// end loop detids
791 
792  //print out skipped modules
793  std::stringstream ss;
794  for (const auto &id : whitelistedDetIds){
795  ss << "\n" << id;
796  }
798  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
799  << " [ApvGainSummary] " << whitelistedDetIds.size() << " modules are in the whitelist, updates will be ensured: " << ss.str();
800 
801  ss.str(""); // clear it!
802  for (const auto &skip : skippedDetIds){
803  ss << "\n" << skip;
804  }
806  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
807  << " [ApvGainSummary] Skipped " << skippedDetIds.size() << " modules: " << ss.str();
808 
809 
810 
811 }
static const uint32_t invalid32_
Definition: Constants.h:15
std::pair< uint32_t, v_apvpairconn > pair_detcon
edm::Service< SiStripConfigDb > db_
Class containning control, module, detector and connection information, at the level of a FED channel...
std::vector< pair_detcon > trackercon
bool retrieveTimingAnalysisDescriptions(SiStripConfigDb *const db)
std::vector< uint32_t > whitelistedDetIds
void setDefaultValuesApvTiming(uint32_t detid, uint32_t apvPair)
static const char mlESSources_[]
std::vector< pair_detcon >::iterator i_trackercon
std::vector< pair_apvpairconn >::iterator i_apvpairconn
bool setValuesApvTiming(SiStripConfigDb *const db, FedChannelConnection &ipair)
void SiStripCondObjBuilderFromDb::buildCondObj ( )

Builds pedestals using FED descriptions and cabling info retrieved from configuration database.

Definition at line 235 of file SiStripCondObjBuilderFromDb.cc.

References buildAnalysisRelatedObjects(), SiStripFedCablingBuilderFromDb::buildFecCabling(), buildFECRelatedObjects(), buildFEDRelatedObjects(), buildStripRelatedObjects(), sistrip::CABLING_FROM_CONNS, SiStripConfigDb::databaseCache(), db_, SiStripConfigDb::deviceFactory(), fed_cabling_, SiStripFedCablingBuilderFromDb::getFedCabling(), LogTrace, m_useanalysis, m_usefec, m_usefed, sistrip::mlESSources_, tTopo, and v_trackercon.

Referenced by checkUpdate(), and dbParams().

235  {
237  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]";
238 
239  // Check if DB connection is made
240  if ( db_ ) {
241 
242  // Check if DB connection is made
243  if ( db_->deviceFactory() ||
244  db_->databaseCache() ) {
245 
246  // Build FEC cabling object
247  SiStripFecCabling fec_cabling;
248 
250  fec_cabling,
253 
255  SiStripDetCabling det_cabling( *fed_cabling_, tTopo );
256  buildStripRelatedObjects( &*db_, det_cabling );
257 
258 
262 
263 
264 
265  } else {
267  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
268  << " NULL pointer to DeviceFactory returned by SiStripConfigDb!"
269  << " Cannot build Pedestals object!";
270  }
271  } else {
273  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
274  << " NULL pointer to SiStripConfigDb returned by DB \"service\"!"
275  << " Cannot build Pedestals object!";
276  }
277 }
void buildAnalysisRelatedObjects(SiStripConfigDb *const db, const trackercon &tc)
DeviceFactory *const deviceFactory(std::string method_name="") const
edm::Service< SiStripConfigDb > db_
void buildFECRelatedObjects(SiStripConfigDb *const db, const trackercon &tc)
void buildStripRelatedObjects(SiStripConfigDb *const db, const SiStripDetCabling &det_cabling)
static void buildFecCabling(SiStripConfigDb *const, SiStripFecCabling &, const sistrip::CablingSource &)
void buildFEDRelatedObjects(SiStripConfigDb *const db, const trackercon &tc)
#define LogTrace(id)
DbClient *const databaseCache(std::string method_name="") const
static void getFedCabling(const SiStripFecCabling &in, SiStripFedCabling &out)
Contains cabling info at the device level, including DetId, APV pair numbers, hardware addresses...
static const char mlESSources_[]
vector< const FedChannelConnection * > SiStripCondObjBuilderFromDb::buildConnections ( const SiStripDetCabling det_cabling,
uint32_t  det_id 
)
protected

Definition at line 332 of file SiStripCondObjBuilderFromDb.cc.

References SiStripDetCabling::getConnections(), and sistrip::mlESSources_.

Referenced by buildStripRelatedObjects().

332  {
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;
339  }
340  return conns;
341 }
const std::vector< const FedChannelConnection * > & getConnections(uint32_t det_id) const
static const char mlESSources_[]
void SiStripCondObjBuilderFromDb::buildFECRelatedObjects ( SiStripConfigDb *const  db,
const trackercon tc 
)

Definition at line 815 of file SiStripCondObjBuilderFromDb.cc.

References SiStripLatency::compress(), gather_cfg::cout, end, SiStripConfigDb::getDeviceDescriptions(), latency_, SiStripLatency::printDebug(), SiStripLatency::printSummary(), and setValuesApvLatency().

Referenced by buildCondObj(), and dbParams().

815  {
816  trackercon tc = _tc;
817  std::cout << "Entering [SiStripCondObjBuilderFromDb::"<<__func__ <<"]"<<std::endl;
818  //data container
819  latency_ = new SiStripLatency();
820 
821  i_trackercon detids_end=tc.end();
822 
823  // get APV DeviceDescriptions
825 
826 
827  //loop detids
828  for(i_trackercon detids=tc.begin();detids!=detids_end;detids++){
829  uint32_t detid = (*detids).first;
830  uint16_t apvnr=1;
831  i_apvpairconn connections_end=((*detids).second).end();
832 
833 
834  //loop connections
835  for(i_apvpairconn connections=((*detids).second).begin();connections!=connections_end;connections++){
836  uint32_t apvPair =(*connections).first;
837  FedChannelConnection ipair =(*connections).second;
838 
839  //no connection for apvPair found
840  if(apvPair>=100){
841  //setDefaultValuesApvLatency((*latency_),ipair, detid, apvnr);
842  std::cout << "[SiStripCondObjBuilderFromDb::" << __func__ << "] No FEDConnection for DetId " << detid << " ApvPair " << apvPair-100 << " found, skipping Latency Insertion!" << std::endl;
843  continue;
844  }
845 
846  //fill data
847  if(!setValuesApvLatency((*latency_),db, ipair, detid, apvnr, apvs)){
848  std::cout
849  << "\n "
850  << " Unable to find FEC Description"
851  << " Skipping Insertion for DetId: " << detid << std::endl;
852  //setDefaultValuesApvLatency((*latency_),ipair, detid, apvnr);
853  }
854  apvnr+=2;
855  }//connections
856  // compact Latency Object
857 
858  }//detids
859  latency_->compress();
860  std::stringstream ss;
861  // latency debug output
862  latency_->printSummary(ss);
863  latency_->printDebug(ss);
864  std::cout << ss.str() << std::endl;
865 }
bool setValuesApvLatency(SiStripLatency &latency_, SiStripConfigDb *const db, FedChannelConnection &ipair, uint32_t detid, uint16_t apvnr, SiStripConfigDb::DeviceDescriptionsRange apvs)
Class containning control, module, detector and connection information, at the level of a FED channel...
DeviceDescriptions::range DeviceDescriptionsRange
std::vector< pair_detcon > trackercon
#define end
Definition: vmac.h:37
void printSummary(std::stringstream &ss) const
Prints the number of ranges as well as the value of singleLatency and singleMode. ...
void printDebug(std::stringstream &ss) const
Prints the full list of all ranges and corresponding values of latency and mode.
DeviceDescriptionsRange getDeviceDescriptions(std::string partition="")
std::vector< pair_detcon >::iterator i_trackercon
std::vector< pair_apvpairconn >::iterator i_apvpairconn
void SiStripCondObjBuilderFromDb::buildFEDRelatedObjects ( SiStripConfigDb *const  db,
const trackercon tc 
)

Definition at line 869 of file SiStripCondObjBuilderFromDb.cc.

References gather_cfg::cout, end, FedChannelConnection::fedId(), SiStripConfigDb::getFedDescriptions(), noises_, pedestals_, quality_, setDefaultValuesCabling(), setValuesCabling(), storeNoise(), storePedestals(), storeQuality(), storeThreshold(), and threshold_.

Referenced by buildCondObj(), and dbParams().

869  {
870  trackercon tc = _tc;
871  std::cout << "Entering [SiStripCondObjBuilderFromDb::"<<__func__ <<"]"<<std::endl;
872 
873  //data containers
875  noises_ = new SiStripNoises();
877  quality_ = new SiStripQuality();
878 
879  i_trackercon detids_end=tc.end();
880 
881  //Build FED Descriptions out of db object
883 
884  //loop detids
885  for(i_trackercon detids=tc.begin();detids!=detids_end;detids++){
886  uint32_t detid = (*detids).first;
887  i_apvpairconn connections_end=((*detids).second).end();
888 
889  //loop connections
890  for(i_apvpairconn connections=((*detids).second).begin();connections!=connections_end;connections++){
891  uint32_t apvPair =(*connections).first;
892  FedChannelConnection ipair =(*connections).second;
893 
894  //no connection for apvPair found
895  if(apvPair>=100){
896  std::cout
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;
901  setDefaultValuesCabling((apvPair-100));
902  continue;
903  }
904  // if(!setValuesCabling(db, ipair, detid)){
905  if(!setValuesCabling(descriptions, ipair, detid)){
906  std::cout
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;
911  setDefaultValuesCabling(apvPair);
912  }
913  }//connections
914  storePedestals(detid);
915  storeNoise(detid);
916  storeThreshold(detid);
917  storeQuality(detid);
918  }//detids
919 }
FedDescriptionsRange getFedDescriptions(std::string partition="")
FedDescriptions::range FedDescriptionsRange
const uint16_t & fedId() const
void setDefaultValuesCabling(uint16_t apvPair)
Class containning control, module, detector and connection information, at the level of a FED channel...
std::vector< pair_detcon > trackercon
#define end
Definition: vmac.h:37
bool setValuesCabling(SiStripConfigDb::FedDescriptionsRange &descriptions, FedChannelConnection &ipair, uint32_t detid)
std::vector< pair_detcon >::iterator i_trackercon
std::vector< pair_apvpairconn >::iterator i_apvpairconn
void SiStripCondObjBuilderFromDb::buildStripRelatedObjects ( SiStripConfigDb *const  db,
const SiStripDetCabling det_cabling 
)

Definition at line 634 of file SiStripCondObjBuilderFromDb.cc.

References SiStripDetCabling::addActiveDetectorsRawIds(), buildConnections(), gather_cfg::cout, TauDecayModes::dec, sistrip::invalid32_, sistrip::invalid_, sistrip::mlESSources_, p_apvpcon, p_detcon, retrieveFedDescriptions(), retrieveNumberAPVPairs(), v_apvpcon, and v_trackercon.

Referenced by buildCondObj(), and dbParams().

635  {
636  //variables needed in this function
637  uint16_t nApvPairs;
638  vector<uint32_t>::const_iterator det_id;
639  vector<uint32_t> det_ids;
640 
642  << "\n[SiStripCondObjBuilderFromDb::" << __func__ << "] first call to this method";
643 
644  //Check if FedDescriptions exist, if not return
645  if (!retrieveFedDescriptions(db)) {std::cout<< "Found no FedDescription!" << std::endl;return;}
646  // Retrieve list of active DetIds
647  det_cabling.addActiveDetectorsRawIds(det_ids);
648  if ( det_ids.empty() ) {
649  std::cout
650  << "SiStripCondObjBuilderFromDb::" << __func__ << "]"
651  << " Unable to build Pedestals object!"
652  << " No DetIds found!" << std::endl;
653  return;
654  }
655  std::cout << "\n\nSiStripCondObjBuilderFromDb::" << __func__ << "]"
656  << " Found " << det_ids.size() << " active DetIds";
657 
658  // Loop Active DetIds
659  det_id = det_ids.begin();
660  for ( ; det_id != det_ids.end(); det_id++ ) {
661  std::stringstream ssMessage;
662 
663  // Ignore NULL DetIds
664  if ( !(*det_id) ) { continue; }
665  if ( *det_id == sistrip::invalid32_ ) { continue; }
666 
667 
668  //build connections per DetId
669  const vector<const FedChannelConnection *>& conns=buildConnections(det_cabling, *det_id);
670 
671  vector<const FedChannelConnection *>::const_iterator ipair = conns.begin();
672  if(conns.size() ==0 ) continue;
673 
674  //retrieve number of APV pairs per detid
675  nApvPairs=retrieveNumberAPVPairs(*det_id);
676 
677 
678  //loop connections and check if APVPair is connected
679  vector< vector<const FedChannelConnection *>::const_iterator > listConns(nApvPairs,conns.end());
680 
681  for ( ; ipair != conns.end(); ++ipair ){
682  // Check if the ApvPair is connected
683  if ( !(*ipair) ) continue;
684  if ((*ipair)->fedId()!=sistrip::invalid_ && (*ipair)->apvPairNumber()<3){
685  // (*ipair)->print(ssMessage);
686  // ssMessage<< std::endl;
687  listConns[ipair-conns.begin()]=ipair;
688  } else {
689  std::cout
690  << "\n impossible to assign connection position in listConns " << std::endl;
691  // (*ipair)->print(ssMessage);
692  // ssMessage << std::endl;
693  }
694  }
695 
696  // get data
697  // vector< vector<const FedChannelConnection *>::const_iterator >::const_iterator ilistConns=listConns.begin();
698  for (uint16_t apvPair=0;apvPair<listConns.size();++apvPair){
699  ipair=listConns[apvPair];
700  if ( ipair == conns.end() ) {
701  // Fill object with default values
702  std::cout
703  << "\n "
704  << " Unable to find FED connection for detid : " << std::dec << *det_id << " APV pair number " << apvPair
705  << " Writing default values" << std::endl;
706 // (*ipair)->print(ssMessage); // this will crash!
707  //If no connection was found, add 100 to apvpair
708  apvPair+=100;
709  std::cout << " Put apvPair+100:" << apvPair << " into vector!" << std::endl;
710  // use dummy FedChannelConnection since it's not used in this case
712  p_apvpcon=std::make_pair(apvPair,dummy);
713  v_apvpcon.push_back(p_apvpcon);
714  apvPair=apvPair-100;
715  continue;
716  }
717  p_apvpcon=std::make_pair(apvPair,**ipair);
718  v_apvpcon.push_back(p_apvpcon);
719  } //conns loop
720  p_detcon=std::make_pair(*det_id,v_apvpcon);
721  v_trackercon.push_back(p_detcon);
722  v_apvpcon.clear();
723  } // det id loop
724 }
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
static const uint32_t invalid32_
Definition: Constants.h:15
bool retrieveFedDescriptions(SiStripConfigDb *const db)
Class containning control, module, detector and connection information, at the level of a FED channel...
uint16_t retrieveNumberAPVPairs(uint32_t det_id)
vector< const FedChannelConnection * > buildConnections(const SiStripDetCabling &det_cabling, uint32_t det_id)
static const uint16_t invalid_
Definition: Constants.h:16
static const char mlESSources_[]
TrackerTopology * SiStripCondObjBuilderFromDb::buildTrackerTopology ( )

Definition at line 90 of file SiStripCondObjBuilderFromDb.cc.

References TrackerTopology::PixelEndcapValues::bladeMask_, TrackerTopology::PixelEndcapValues::bladeStartBit_, TrackerTopology::PixelEndcapValues::diskMask_, TrackerTopology::PixelEndcapValues::diskStartBit_, TrackerTopology::PixelBarrelValues::ladderMask_, TrackerTopology::PixelBarrelValues::ladderStartBit_, TrackerTopology::PixelBarrelValues::layerMask_, TrackerTopology::TIBValues::layerMask_, TrackerTopology::TOBValues::layerMask_, TrackerTopology::PixelBarrelValues::layerStartBit_, TrackerTopology::TIBValues::layerStartBit_, TrackerTopology::TOBValues::layerStartBit_, TrackerTopology::TIDValues::module_fw_bwMask_, TrackerTopology::TIDValues::module_fw_bwStartBit_, TrackerTopology::PixelBarrelValues::moduleMask_, TrackerTopology::PixelEndcapValues::moduleMask_, TrackerTopology::TECValues::moduleMask_, TrackerTopology::TIBValues::moduleMask_, TrackerTopology::TIDValues::moduleMask_, TrackerTopology::TOBValues::moduleMask_, TrackerTopology::PixelBarrelValues::moduleStartBit_, TrackerTopology::PixelEndcapValues::moduleStartBit_, TrackerTopology::TECValues::moduleStartBit_, TrackerTopology::TIBValues::moduleStartBit_, TrackerTopology::TIDValues::moduleStartBit_, TrackerTopology::TOBValues::moduleStartBit_, TrackerTopology::PixelEndcapValues::panelMask_, TrackerTopology::PixelEndcapValues::panelStartBit_, TrackerTopology::TECValues::petal_fw_bwMask_, TrackerTopology::TECValues::petal_fw_bwStartBit_, TrackerTopology::TECValues::petalMask_, TrackerTopology::TECValues::petalStartBit_, TrackerTopology::TECValues::ringMask_, TrackerTopology::TIDValues::ringMask_, TrackerTopology::TECValues::ringStartBit_, TrackerTopology::TIDValues::ringStartBit_, TrackerTopology::TOBValues::rod_fw_bwMask_, TrackerTopology::TOBValues::rod_fw_bwStartBit_, TrackerTopology::TOBValues::rodMask_, TrackerTopology::TOBValues::rodStartBit_, TrackerTopology::PixelEndcapValues::sideMask_, TrackerTopology::TECValues::sideMask_, TrackerTopology::TIDValues::sideMask_, TrackerTopology::PixelEndcapValues::sideStartBit_, TrackerTopology::TECValues::sideStartBit_, TrackerTopology::TIDValues::sideStartBit_, TrackerTopology::TECValues::sterMask_, TrackerTopology::TIBValues::sterMask_, TrackerTopology::TIDValues::sterMask_, TrackerTopology::TOBValues::sterMask_, TrackerTopology::TECValues::sterStartBit_, TrackerTopology::TIBValues::sterStartBit_, TrackerTopology::TIDValues::sterStartBit_, TrackerTopology::TOBValues::sterStartBit_, TrackerTopology::TIBValues::str_fw_bwMask_, TrackerTopology::TIBValues::str_fw_bwStartBit_, TrackerTopology::TIBValues::str_int_extMask_, TrackerTopology::TIBValues::str_int_extStartBit_, TrackerTopology::TIBValues::strMask_, TrackerTopology::TIBValues::strStartBit_, TrackerTopology::TECValues::wheelMask_, TrackerTopology::TIDValues::wheelMask_, TrackerTopology::TECValues::wheelStartBit_, and TrackerTopology::TIDValues::wheelStartBit_.

90  {
97 
98  pxbVals_.layerStartBit_ = 16;
99  pxbVals_.ladderStartBit_ = 8;
100  pxbVals_.moduleStartBit_ = 2;
101  pxbVals_.layerMask_ = 0xF;
102  pxbVals_.ladderMask_ = 0xFF;
103  pxbVals_.moduleMask_ = 0x3F;
104  pxfVals_.sideStartBit_ = 23;
105  pxfVals_.diskStartBit_ = 16;
106  pxfVals_.bladeStartBit_ = 10;
107  pxfVals_.panelStartBit_ = 8;
108  pxfVals_.moduleStartBit_ = 2;
109  pxfVals_.sideMask_ = 0x3;
110  pxfVals_.diskMask_ = 0xF;
111  pxfVals_.bladeMask_ = 0x3F;
112  pxfVals_.panelMask_ = 0x3;
113  pxfVals_.moduleMask_ = 0x3F;
114  tecVals_.sideStartBit_ = 18;
115  tecVals_.wheelStartBit_ = 14;
116  tecVals_.petal_fw_bwStartBit_ = 12;
117  tecVals_.petalStartBit_ = 8;
118  tecVals_.ringStartBit_ = 5;
119  tecVals_.moduleStartBit_ = 2;
120  tecVals_.sterStartBit_ = 0;
121  tecVals_.sideMask_ = 0x3;
122  tecVals_.wheelMask_ = 0xF;
123  tecVals_.petal_fw_bwMask_ = 0x3;
124  tecVals_.petalMask_ = 0xF;
125  tecVals_.ringMask_ = 0x7;
126  tecVals_.moduleMask_ = 0x7;
127  tecVals_.sterMask_ = 0x3;
128  tibVals_.layerStartBit_ = 14;
129  tibVals_.str_fw_bwStartBit_ = 12;
130  tibVals_.str_int_extStartBit_ = 10;
131  tibVals_.strStartBit_ = 4;
132  tibVals_.moduleStartBit_ = 2;
133  tibVals_.sterStartBit_ = 0;
134  tibVals_.layerMask_ = 0x7;
135  tibVals_.str_fw_bwMask_ = 0x3;
136  tibVals_.str_int_extMask_ = 0x3;
137  tibVals_.strMask_ = 0x3F;
138  tibVals_.moduleMask_ = 0x3;
139  tibVals_.sterMask_ = 0x3;
140  tidVals_.sideStartBit_ = 13;
141  tidVals_.wheelStartBit_ = 11;
142  tidVals_.ringStartBit_ = 9;
143  tidVals_.module_fw_bwStartBit_ = 7;
144  tidVals_.moduleStartBit_ = 2;
145  tidVals_.sterStartBit_ = 0;
146  tidVals_.sideMask_ = 0x3;
147  tidVals_.wheelMask_ = 0x3;
148  tidVals_.ringMask_ = 0x3;
149  tidVals_.module_fw_bwMask_ = 0x3;
150  tidVals_.moduleMask_ = 0x1F;
151  tidVals_.sterMask_ = 0x3;
152  tobVals_.layerStartBit_ = 14;
153  tobVals_.rod_fw_bwStartBit_ = 12;
154  tobVals_.rodStartBit_ = 5;
155  tobVals_.moduleStartBit_ = 2;
156  tobVals_.sterStartBit_ = 0;
157  tobVals_.layerMask_ = 0x7;
158  tobVals_.rod_fw_bwMask_ = 0x3;
159  tobVals_.rodMask_ = 0x7F;
160  tobVals_.moduleMask_ = 0x7;
161  tobVals_.sterMask_ = 0x3;
162 
163  return new TrackerTopology(pxbVals_, pxfVals_, tecVals_, tibVals_, tidVals_, tobVals_);
164 }
unsigned int module_fw_bwStartBit_
bool SiStripCondObjBuilderFromDb::checkForCompatibility ( std::stringstream &  input,
std::stringstream &  output,
std::string &  label 
)

Definition at line 167 of file SiStripCondObjBuilderFromDb.cc.

References SiStripPartition::apvTimingVersion(), SiStripPartition::cabVersion(), dbParams(), SiStripPartition::fecVersion(), SiStripPartition::fedVersion(), SiStripPartition::maskVersion(), SiStripPartition::partitionName(), and SiStripDbParams::partitions().

Referenced by dbParams(), and popcon::SiStripPopConConfigDbObjHandler< T >::isTransferNeeded().

167  {
168  // DEPRECATED. Superseded by SiStripCondObjBuilderFromDb::getConfigString(const std::type_info& typeInfo).
169 
170  //get current config DB parameter
171 
173 
174  SiStripDbParams::SiStripPartitions::const_iterator ipart = partitionsRange.begin();
175  SiStripDbParams::SiStripPartitions::const_iterator ipartEnd = partitionsRange.end();
176  for ( ; ipart != ipartEnd; ++ipart ) {
177  SiStripPartition partition=ipart->second;
178  output << "@ "
179  << " Partition " << partition.partitionName() ;
180  if (label!="Cabling" && label !="ApvLatency")
181  output << " FedVer " << partition.fedVersion().first << "." << partition.fedVersion().second;
182  if(label=="Cabling")
183  output << " CabVer " << partition.cabVersion().first << "." << partition.cabVersion().second
184  << " MaskVer " << partition.maskVersion().first << "." << partition.maskVersion().second;
185  if(label=="ApvTiming")
186  output<< " ApvTimingVer " << partition.apvTimingVersion().first << "." << partition.apvTimingVersion().second;
187  if(label=="ApvLatency")
188  output<< " FecVersion " << partition.fecVersion().first << "." << partition.fecVersion().second;
189  }
190 
191  if (!strcmp(output.str().c_str(),input.str().c_str()))
192  return false;
193 
194  return true;
195 }
Versions maskVersion() const
std::string partitionName() const
static std::string const input
Definition: EdmProvDump.cc:44
const_iterator_range partitions() const
Versions apvTimingVersion() const
Container class for database partition parameters.
const SiStripDbParams & dbParams() const
boost::iterator_range< SiStripPartitions::const_iterator > const_iterator_range
Versions fecVersion() const
Versions cabVersion() const
Versions fedVersion() const
void SiStripCondObjBuilderFromDb::checkUpdate ( )
protected
const SiStripDbParams& SiStripCondObjBuilderFromDb::dbParams ( ) const
inline
SiStripApvGain* SiStripCondObjBuilderFromDb::getApvGain ( )
inline

Definition at line 103 of file SiStripCondObjBuilderFromDb.h.

References checkUpdate(), and gain_.

Referenced by getValue().

SiStripLatency* SiStripCondObjBuilderFromDb::getApvLatency ( )
inline

Definition at line 104 of file SiStripCondObjBuilderFromDb.h.

References checkUpdate(), and latency_.

Referenced by getValue().

std::string SiStripCondObjBuilderFromDb::getConfigString ( const std::type_info &  typeInfo)

Definition at line 198 of file SiStripCondObjBuilderFromDb.cc.

References SiStripPartition::apvTimingVersion(), SiStripPartition::cabVersion(), dbParams(), SiStripPartition::fecVersion(), SiStripPartition::fedVersion(), SiStripPartition::maskVersion(), convertSQLitetoXML_cfg::output, SiStripPartition::partitionName(), and SiStripDbParams::partitions().

Referenced by dbParams().

198  {
199  // create config line used by fast O2O
200 
201  std::stringstream output;
202 
204  SiStripDbParams::SiStripPartitions::const_iterator ipart = partitionsRange.begin();
205  SiStripDbParams::SiStripPartitions::const_iterator ipartEnd = partitionsRange.end();
206  for ( ; ipart != ipartEnd; ++ipart ) {
207  SiStripPartition partition=ipart->second;
208  output << "%%" << "Partition: " << partition.partitionName();
209 
210  // Make everything depend on cabVersion and maskVersion!
211  output << " CablingVersion: " << partition.cabVersion().first << "." << partition.cabVersion().second;
212  output << " MaskVersion: " << partition.maskVersion().first << "." << partition.maskVersion().second;
213 
214  if(typeInfo==typeid(SiStripFedCabling)){
215  // Do nothing. FedCabling only depends on cabVersion and maskVersion.
216  }
217  else if(typeInfo==typeid(SiStripLatency)){
218  // Latency is FEC related, add fecVersion.
219  output << " FecVersion: " << partition.fecVersion().first << "." << partition.fecVersion().second;
220  }else{
221  // BadStrip, Noises, Pedestals and Thresholds are FED related, add fecVersion.
222  output << " FedVersion: " << partition.fedVersion().first << "." << partition.fedVersion().second;
223  if(typeInfo==typeid(SiStripApvGain)){
224  // Not used in O2O.
225  output << " ApvTimingVersion: " << partition.apvTimingVersion().first << "." << partition.apvTimingVersion().second;
226  }
227  }
228  }
229 
230  return output.str();
231 
232 }
Versions maskVersion() const
std::string partitionName() const
const_iterator_range partitions() const
Versions apvTimingVersion() const
Container class for database partition parameters.
const SiStripDbParams & dbParams() const
Contains cabling info at the device level, including DetId, APV pair numbers, hardware addresses...
boost::iterator_range< SiStripPartitions::const_iterator > const_iterator_range
Versions fecVersion() const
Versions cabVersion() const
Versions fedVersion() const
SiStripFedCabling* SiStripCondObjBuilderFromDb::getFedCabling ( )
inline

Definition at line 98 of file SiStripCondObjBuilderFromDb.h.

References checkUpdate(), and fed_cabling_.

Referenced by getValue().

SiStripNoises* SiStripCondObjBuilderFromDb::getNoises ( )
inline

Definition at line 100 of file SiStripCondObjBuilderFromDb.h.

References checkUpdate(), and noises_.

Referenced by getValue().

SiStripPedestals* SiStripCondObjBuilderFromDb::getPedestals ( )
inline

Definition at line 99 of file SiStripCondObjBuilderFromDb.h.

References checkUpdate(), and pedestals_.

Referenced by getValue().

SiStripQuality* SiStripCondObjBuilderFromDb::getQuality ( )
inline

Definition at line 102 of file SiStripCondObjBuilderFromDb.h.

References checkUpdate(), and quality_.

Referenced by getValue().

SiStripThreshold* SiStripCondObjBuilderFromDb::getThreshold ( )
inline

Definition at line 101 of file SiStripCondObjBuilderFromDb.h.

References checkUpdate(), and threshold_.

Referenced by getValue().

void SiStripCondObjBuilderFromDb::getValue ( SiStripFedCabling *&  val)
inline
void SiStripCondObjBuilderFromDb::getValue ( SiStripPedestals *&  val)
inline

Definition at line 107 of file SiStripCondObjBuilderFromDb.h.

References getPedestals().

107 { val = getPedestals(); }
void SiStripCondObjBuilderFromDb::getValue ( SiStripNoises *&  val)
inline

Definition at line 108 of file SiStripCondObjBuilderFromDb.h.

References getNoises().

108 { val = getNoises(); }
void SiStripCondObjBuilderFromDb::getValue ( SiStripThreshold *&  val)
inline

Definition at line 109 of file SiStripCondObjBuilderFromDb.h.

References getThreshold().

109 { val = getThreshold(); }
void SiStripCondObjBuilderFromDb::getValue ( SiStripQuality *&  val)
inline

Definition at line 110 of file SiStripCondObjBuilderFromDb.h.

References getQuality().

110 { val = getQuality(); }
void SiStripCondObjBuilderFromDb::getValue ( SiStripBadStrip *&  val)
inline

Definition at line 111 of file SiStripCondObjBuilderFromDb.h.

References getQuality().

void SiStripCondObjBuilderFromDb::getValue ( SiStripApvGain *&  val)
inline

Definition at line 112 of file SiStripCondObjBuilderFromDb.h.

References getApvGain().

112 { val = getApvGain(); }
void SiStripCondObjBuilderFromDb::getValue ( SiStripLatency *&  val)
inline

Definition at line 113 of file SiStripCondObjBuilderFromDb.h.

References getApvLatency().

113 { val = getApvLatency(); }
vector< uint32_t > SiStripCondObjBuilderFromDb::retrieveActiveDetIds ( const SiStripDetCabling det_cabling)
protected

Definition at line 313 of file SiStripCondObjBuilderFromDb.cc.

References SiStripDetCabling::addActiveDetectorsRawIds(), LogTrace, and sistrip::mlESSources_.

313  {
314  vector<uint32_t> det_ids;
315  det_cabling.addActiveDetectorsRawIds(det_ids);
316  if ( det_ids.empty() ) {
318  << "SiStripCondObjBuilderFromDb::" << __func__ << "]"
319  << " Unable to build Pedestals object!"
320  << " No DetIds found!";
321  return det_ids;
322  }
324  << "\n\nSiStripCondObjBuilderFromDb::" << __func__ << "]"
325  << " Found " << det_ids.size() << " active DetIds";
326  return det_ids;
327 }
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
#define LogTrace(id)
static const char mlESSources_[]
bool SiStripCondObjBuilderFromDb::retrieveFedDescriptions ( SiStripConfigDb *const  db)
protected

Definition at line 282 of file SiStripCondObjBuilderFromDb.cc.

References SiStripConfigDb::getFedDescriptions(), and sistrip::mlESSources_.

Referenced by buildStripRelatedObjects().

282  {
284  if ( descriptions.empty() ) {
286  << "SiStripCondObjBuilderFromDb::" << __func__ << "]"
287  << " No FED descriptions found!";
288 
289  return false;
290  }
291  return true;
292 }
FedDescriptionsRange getFedDescriptions(std::string partition="")
FedDescriptions::range FedDescriptionsRange
static const char mlESSources_[]
uint16_t SiStripCondObjBuilderFromDb::retrieveNumberAPVPairs ( uint32_t  det_id)
protected

Definition at line 346 of file SiStripCondObjBuilderFromDb.cc.

References SiStripDetInfoFileReader::getNumberOfApvsAndStripLength(), and Utilities::operator.

Referenced by buildStripRelatedObjects().

346  {
347  uint16_t nApvPairs;
349  nApvPairs=fr->getNumberOfApvsAndStripLength(det_id).first/2;
350  return nApvPairs;
351 }
bool SiStripCondObjBuilderFromDb::retrieveTimingAnalysisDescriptions ( SiStripConfigDb *const  db)
protected

Definition at line 297 of file SiStripCondObjBuilderFromDb.cc.

References SiStripConfigDb::getAnalysisDescriptions(), and sistrip::mlESSources_.

Referenced by buildAnalysisRelatedObjects().

297  {
299  db->getAnalysisDescriptions( CommissioningAnalysisDescription::T_ANALYSIS_TIMING );
300  if ( anal_descriptions.empty() ) {
302  << "SiStripCondObjBuilderFromDb::" << __func__ << "]"
303  << " Unable to build SiStripApvGain object!"
304  << " No timing-scan analysis descriptions found!";
305  return false;
306  }
307  return true;
308 }
AnalysisDescriptionsRange getAnalysisDescriptions(AnalysisType, std::string partition="")
AnalysisDescriptions::range AnalysisDescriptionsRange
static const char mlESSources_[]
void SiStripCondObjBuilderFromDb::setDefaultValuesApvLatency ( SiStripLatency latency_,
const FedChannelConnection ipair,
uint32_t  detid,
uint16_t  apvnr 
)
protected

Definition at line 393 of file SiStripCondObjBuilderFromDb.cc.

References gather_cfg::cout, m_defaultapvlatencyvalue, m_defaultapvmodevalue, and SiStripLatency::put().

393  {
394  std::cout << "[SiStripCondObjBuilderFromDb::"<<__func__<<"]: Set Default Latency for Detid: " << detid << " ApvNr: " << apvnr << std::endl;
395  if(!latency_.put( detid, apvnr, m_defaultapvmodevalue, m_defaultapvlatencyvalue))
396  {
397  std::cout << "[SiStripCondObjBuilderFromDb::"<<__func__<<"]: Unable to fill Latency for Detid: " << detid << " ApvNr: " << apvnr << std::endl;
398  }
399  if(!latency_.put( detid, ++apvnr, m_defaultapvmodevalue, m_defaultapvlatencyvalue))
400  {
401  std::cout << "[SiStripCondObjBuilderFromDb::"<<__func__<<"]: Unable to fill Latency for Detid: " << detid << " ApvNr: " << apvnr << std::endl;
402  }
403 
404 }
bool put(const uint32_t detId, const uint16_t apv, const uint16_t latency, const uint16_t mode)
void SiStripCondObjBuilderFromDb::setDefaultValuesApvTiming ( uint32_t  detid,
uint32_t  apvPair 
)
protected

Definition at line 369 of file SiStripCondObjBuilderFromDb.cc.

References gain_last_, inputApvGain, m_defaulttickheightvalue, m_gaincalibrationfactor, and sistrip::mlESSources_.

Referenced by buildAnalysisRelatedObjects().

369  {
371 
372  if (gain_last_){
373  auto range = gain_last_->getRange(detid);
374  if (apvPair*2 < range.second - range.first){
375  height = gain_last_->getApvGain(apvPair*2, range);
376  edm::LogWarning(mlESSources_) << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
377  << " [ApvGain] Read gain value from last IOV for DetId: " << detid << " ApvPair: " << apvPair << ", value=" << height;
378  }else{
379  edm::LogWarning(mlESSources_) << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
380  << " [ApvGain] Unable to read gain value from last IOV for DetId: " << detid << " ApvPair: " << apvPair << ", use dummy value=" << height;
381  }
382  } else {
383  edm::LogWarning(mlESSources_) << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
384  << " [ApvGain] NULL pointer for last stored gain object in DB!!! " << "Will use dummy value=" << height << " for DetId: " << detid << " ApvPair: " << apvPair;
385  }
386 
387  inputApvGain.push_back(height); // APV0
388  inputApvGain.push_back(height); // APV1
389 }
std::shared_ptr< SiStripApvGain > gain_last_
SiStripApvGain::InputVector inputApvGain
static const char mlESSources_[]
void SiStripCondObjBuilderFromDb::setDefaultValuesCabling ( uint16_t  apvPair)
protected

Definition at line 356 of file SiStripCondObjBuilderFromDb.cc.

References gather_cfg::cout, SiStripBadStrip::encode(), inputNoises, inputPedestals, inputQuality, inputThreshold, m_defaultnoisevalue, m_defaultpedestalvalue, m_defaultthresholdhighvalue, m_defaultthresholdlowvalue, noises_, pedestals_, quality_, SiStripPedestals::setData(), SiStripNoises::setData(), SiStripThreshold::setData(), sistrip::STRIPS_PER_FEDCH, and threshold_.

Referenced by buildFEDRelatedObjects().

356  {
357  uint16_t istrip = apvPair*sistrip::STRIPS_PER_FEDCH;
358  std::cout << "Found disabled FedConnection! APVPair: " << apvPair << " Strips: " << sistrip::STRIPS_PER_FEDCH << std::endl;
359  inputQuality.push_back(quality_->encode(istrip,sistrip::STRIPS_PER_FEDCH));
360  for ( ;istrip < (apvPair+1)*sistrip::STRIPS_PER_FEDCH; ++istrip ){
364  }
365 }
SiStripPedestals::InputVector inputPedestals
SiStripQuality::InputVector inputQuality
SiStripThreshold::InputVector inputThreshold
SiStripNoises::InputVector inputNoises
static const uint16_t STRIPS_PER_FEDCH
void setData(const uint16_t &strip, const float &lTh, const float &hTh, Container &vthr)
void setData(float ped, InputVector &vped)
unsigned int encode(const unsigned short &first, const unsigned short &NconsecutiveBadStrips, const unsigned short &flag=0)
void setData(float noise_, InputVector &vped)
void SiStripCondObjBuilderFromDb::setLastIovGain ( std::shared_ptr< SiStripApvGain gain)
inline
bool SiStripCondObjBuilderFromDb::setValuesApvLatency ( SiStripLatency latency_,
SiStripConfigDb *const  db,
FedChannelConnection ipair,
uint32_t  detid,
uint16_t  apvnr,
SiStripConfigDb::DeviceDescriptionsRange  apvs 
)
protected

Definition at line 474 of file SiStripCondObjBuilderFromDb.cc.

References FedChannelConnection::ccuAddr(), FedChannelConnection::ccuChan(), gather_cfg::cout, TauDecayModes::dec, FedChannelConnection::fecCrate(), FedChannelConnection::fecRing(), FedChannelConnection::fecSlot(), SiStripDetInfoFileReader::getNumberOfApvsAndStripLength(), FedChannelConnection::i2cAddr(), Utilities::operator, and SiStripLatency::put().

Referenced by buildFECRelatedObjects().

474  {
476  fr->getNumberOfApvsAndStripLength(detid);
477 
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;
489  // Insert latency values into latency object
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())
496  << std::endl;
497  return false;
498  }else{++apvnr;}
499  }
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())
506  << std::endl;
507  continue;
508  return false;
509  }else{++apvnr;}
510  }
511  }
512  return true;
513 }
const uint16_t & fecSlot() const
const uint16_t & fecCrate() const
bool put(const uint32_t detId, const uint16_t apv, const uint16_t latency, const uint16_t mode)
const uint16_t & fecRing() const
const uint16_t & ccuChan() const
const uint16_t & ccuAddr() const
const uint16_t & i2cAddr(const uint16_t &apv0_or_1) const
bool SiStripCondObjBuilderFromDb::setValuesApvTiming ( SiStripConfigDb *const  db,
FedChannelConnection ipair 
)
protected

Definition at line 410 of file SiStripCondObjBuilderFromDb.cc.

References FedChannelConnection::apvPairNumber(), FedChannelConnection::detId(), SiStripFedKey::fedCh(), FedChannelConnection::fedCh(), FedChannelConnection::fedId(), spr::find(), SiStripConfigDb::getAnalysisDescriptions(), inputApvGain, m_gaincalibrationfactor, m_tickmarkThreshold, sistrip::mlESSources_, skippedDetIds, skippedDevices, tmp, whitelistedDetIds, and whitelistedDevices.

Referenced by buildAnalysisRelatedObjects().

410  {
411  SiStripConfigDb::AnalysisDescriptionsRange anal_descriptions = db->getAnalysisDescriptions( CommissioningAnalysisDescription::T_ANALYSIS_TIMING );
412  SiStripConfigDb::AnalysisDescriptionsV::const_iterator iii = anal_descriptions.begin();
413  SiStripConfigDb::AnalysisDescriptionsV::const_iterator jjj = anal_descriptions.end();
414 
415  while ( iii != jjj ) {
416  CommissioningAnalysisDescription* tmp = *iii;
417  uint16_t fed_id = tmp->getFedId();
418  uint16_t fed_ch = SiStripFedKey::fedCh( tmp->getFeUnit(), tmp->getFeChan() );
419  if ( fed_id == ipair.fedId() && fed_ch == ipair.fedCh() ) { break; }
420  iii++;
421  }
422 
423  TimingAnalysisDescription *anal=0;
424  if ( iii != jjj ) { anal = dynamic_cast<TimingAnalysisDescription*>(*iii); }
425  if ( !anal ) {
426  edm::LogWarning(mlESSources_) << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
427  << " [ApvGain] Unable to find Timing Analysis Description from DB for DetId: " << ipair.detId() << " ApvPair:" << ipair.apvPairNumber();
428  return false;
429  }
430 
431  bool is_whitelist = false;
432  for (const auto &desc : whitelistedDevices){
433  if (desc.isConsistent(ipair)){
434  is_whitelist = true;
435  if (std::find(whitelistedDetIds.begin(), whitelistedDetIds.end(), ipair.detId()) == whitelistedDetIds.end()){
436  whitelistedDetIds.push_back(ipair.detId());
437  }
438  break;
439  }
440  }
441 
442  if (!is_whitelist){
443  // check if this should be skipped only if it is not in the whitelist
444  for (const auto &desc : skippedDevices){
445  if (desc.isConsistent(ipair)){
446  edm::LogInfo(mlESSources_) << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
447  << " [ApvGain] Skip module with DetId:" << ipair.detId() << " ApvPair:" << ipair.apvPairNumber()
448  << " according to \n" << desc.dump();
449  if (std::find(skippedDetIds.begin(), skippedDetIds.end(), ipair.detId()) == skippedDetIds.end()){
450  skippedDetIds.push_back(ipair.detId());
451  }
452  return false;
453  }
454  }
455 
456  }
457 
458 
459  if ( anal->getHeight() > m_tickmarkThreshold ) {
460  float tick_height = (anal->getHeight() / m_gaincalibrationfactor);
461  inputApvGain.push_back( tick_height ); // APV0
462  inputApvGain.push_back( tick_height ); // APV1
463  } else {
464  edm::LogWarning(mlESSources_) << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
465  << " [ApvGain] Low tickmark height for DetId:" << ipair.detId() << " ApvPair:" << ipair.apvPairNumber() << ", height=" << anal->getHeight();
466  return false;
467  }
468 
469  return true;
470 }
const uint16_t & fedCh() const
uint16_t apvPairNumber() const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
std::vector< SkipDeviceDescription > whitelistedDevices
const uint16_t & fedId() const
const uint32_t & detId() const
AnalysisDescriptionsRange getAnalysisDescriptions(AnalysisType, std::string partition="")
AnalysisDescriptions::range AnalysisDescriptionsRange
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
SiStripApvGain::InputVector inputApvGain
std::vector< uint32_t > whitelistedDetIds
static uint16_t fedCh(const uint16_t &fe_unit, const uint16_t &fe_chan)
static const char mlESSources_[]
std::vector< SkipDeviceDescription > skippedDevices
bool SiStripCondObjBuilderFromDb::setValuesCabling ( SiStripConfigDb::FedDescriptionsRange descriptions,
FedChannelConnection ipair,
uint32_t  detid 
)
protected

Definition at line 518 of file SiStripCondObjBuilderFromDb.cc.

References FedChannelConnection::apvPairNumber(), gather_cfg::cout, heppy_report::description, SiStripBadStrip::encode(), FedChannelConnection::fedCh(), FedChannelConnection::fedId(), inputNoises, inputPedestals, inputQuality, inputThreshold, noises_, pedestals_, quality_, SiStripPedestals::setData(), SiStripNoises::setData(), SiStripThreshold::setData(), digi_MixPreMix_cfi::strip, RecoTauPiZeroBuilderPlugins_cfi::strips, sistrip::STRIPS_PER_FEDCH, and threshold_.

Referenced by buildFEDRelatedObjects().

518  {
519  //SiStripConfigDb::FedDescriptionsRange descriptions = db->getFedDescriptions();
520  SiStripConfigDb::FedDescriptionsV::const_iterator description = descriptions.begin();
521  while ( description != descriptions.end() ) {
522  if ( (*description)->getFedId() ==ipair.fedId() ) { break; }
523  description++;
524  }
525  if ( description == descriptions.end() ) {return false;}
526  // Retrieve Fed9UStrips object from FED description
527  const Fed9U::Fed9UStrips& strips = (*description)->getFedStrips();
528 
529 
530  // Retrieve StripDescriptions for each APV
531  uint16_t jstrip = ipair.apvPairNumber()*sistrip::STRIPS_PER_FEDCH;
532  for ( uint16_t iapv = 2*ipair.fedCh(); iapv < 2*ipair.fedCh()+2; iapv++ ) {
533 
534  // Get StripDescriptions for the given APV
535  Fed9U::Fed9UAddress addr;
536  addr.setFedApv(iapv);
537  vector<Fed9U::Fed9UStripDescription> strip = strips.getApvStrips(addr);
538 
539  vector<Fed9U::Fed9UStripDescription>::const_iterator istrip = strip.begin();
540 
541  for ( ; istrip != strip.end(); istrip++ ) {
542  pedestals_->setData( istrip->getPedestal() , inputPedestals);
543  noises_ ->setData( istrip->getNoise() , inputNoises );
544  threshold_->setData( jstrip, istrip->getLowThresholdFactor(),
545  istrip->getHighThresholdFactor(), inputThreshold );
546  if(istrip->getDisable()){
547  std::cout << "Found disabled strip! Detid: " << detid << " APVNr: " << iapv << " Strips: " << jstrip << std::endl;
548 
549  inputQuality.push_back(quality_->encode(jstrip,1));
550  }
551  jstrip++;
552  }
553  }
554  return true;
555 }
SiStripPedestals::InputVector inputPedestals
const uint16_t & fedCh() const
SiStripQuality::InputVector inputQuality
uint16_t apvPairNumber() const
SiStripThreshold::InputVector inputThreshold
const uint16_t & fedId() const
SiStripNoises::InputVector inputNoises
static const uint16_t STRIPS_PER_FEDCH
void setData(const uint16_t &strip, const float &lTh, const float &hTh, Container &vthr)
void setData(float ped, InputVector &vped)
unsigned int encode(const unsigned short &first, const unsigned short &NconsecutiveBadStrips, const unsigned short &flag=0)
void setData(float noise_, InputVector &vped)
void SiStripCondObjBuilderFromDb::storeNoise ( uint32_t  det_id)
protected

Definition at line 576 of file SiStripCondObjBuilderFromDb.cc.

References gather_cfg::cout, inputNoises, noises_, and SiStripNoises::put().

Referenced by buildFEDRelatedObjects().

576  {
577  // Insert noise values into Noises object
578 
579  if ( !noises_->put(det_id, inputNoises ) ) {
580  std::cout
581  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
582  << " Unable to insert values into SiStripNoises object!"
583  << " DetId already exists!" << std::endl;
584  }
585  inputNoises.clear();
586 
587  }
SiStripNoises::InputVector inputNoises
bool put(const uint32_t &detID, const InputVector &input)
void SiStripCondObjBuilderFromDb::storePedestals ( uint32_t  det_id)
protected

Definition at line 561 of file SiStripCondObjBuilderFromDb.cc.

References gather_cfg::cout, inputPedestals, pedestals_, and SiStripPedestals::put().

Referenced by buildFEDRelatedObjects().

561  {
562  if ( !pedestals_->put(det_id, inputPedestals ) ) {
563  std::cout
564  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
565  << " Unable to insert values into SiStripPedestals object!"
566  << " DetId already exists!" << std::endl;
567  }
568  inputPedestals.clear();
569 
570  }
SiStripPedestals::InputVector inputPedestals
bool put(const uint32_t &detID, InputVector &input)
void SiStripCondObjBuilderFromDb::storeQuality ( uint32_t  det_id)
protected

Definition at line 604 of file SiStripCondObjBuilderFromDb.cc.

References SiStripQuality::compact(), gather_cfg::cout, inputQuality, SiStripBadStrip::put(), and quality_.

Referenced by buildFEDRelatedObjects().

604  {
605  // Insert quality values into Quality object
606  if (inputQuality.size()){
607  quality_->compact(det_id,inputQuality);
608  if ( !quality_->put(det_id, inputQuality ) ) {
609  std::cout
610  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
611  << " Unable to insert values into SiStripQuality object!"
612  << " DetId already exists!" << std::endl;
613  }
614  }
615  inputQuality.clear();
616 }
SiStripQuality::InputVector inputQuality
void compact(unsigned int &, std::vector< unsigned int > &)
bool put(const uint32_t &detID, const InputVector &vect)
void SiStripCondObjBuilderFromDb::storeThreshold ( uint32_t  det_id)
protected

Definition at line 591 of file SiStripCondObjBuilderFromDb.cc.

References gather_cfg::cout, inputThreshold, SiStripThreshold::put(), and threshold_.

Referenced by buildFEDRelatedObjects().

591  {
592  // Insert threshold values into Threshold object
593  if ( !threshold_->put(det_id, inputThreshold ) ) {
594  std::cout
595  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
596  << " Unable to insert values into SiStripThreshold object!"
597  << " DetId already exists!" << std::endl;
598  }
599  inputThreshold.clear();
600 }
bool put(const uint32_t &detID, const InputVector &vect)
SiStripThreshold::InputVector inputThreshold
void SiStripCondObjBuilderFromDb::storeTiming ( uint32_t  det_id)
protected

Definition at line 620 of file SiStripCondObjBuilderFromDb.cc.

References gain_, inputApvGain, sistrip::mlESSources_, and SiStripApvGain::put().

Referenced by buildAnalysisRelatedObjects().

620  {
621  // Insert tick height values into Gain object
622  SiStripApvGain::Range range( inputApvGain.begin(), inputApvGain.end() );
623  if ( !gain_->put( det_id, range ) ) {
625  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
626  << " [ApvGain] Unable to insert values into SiStripApvGain object!"
627  << " DetId already exists!";
628  }
629  inputApvGain.clear();
630 }
bool put(const uint32_t &detID, Range input)
std::pair< ContainerIterator, ContainerIterator > Range
SiStripApvGain::InputVector inputApvGain
static const char mlESSources_[]

Member Data Documentation

edm::Service<SiStripConfigDb> SiStripCondObjBuilderFromDb::db_
protected

Access to the configuration DB interface class.

Definition at line 123 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildAnalysisRelatedObjects(), buildCondObj(), and dbParams().

SiStripDbParams SiStripCondObjBuilderFromDb::dbParams_
protected

Container for DB connection parameters.

Definition at line 126 of file SiStripCondObjBuilderFromDb.h.

Referenced by checkUpdate().

SiStripFedCabling* SiStripCondObjBuilderFromDb::fed_cabling_
protected

Definition at line 127 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildCondObj(), and getFedCabling().

SiStripApvGain* SiStripCondObjBuilderFromDb::gain_
protected
std::shared_ptr<SiStripApvGain> SiStripCondObjBuilderFromDb::gain_last_
protected

Definition at line 135 of file SiStripCondObjBuilderFromDb.h.

Referenced by setDefaultValuesApvTiming(), and setLastIovGain().

SiStripApvGain::InputVector SiStripCondObjBuilderFromDb::inputApvGain
protected
SiStripNoises::InputVector SiStripCondObjBuilderFromDb::inputNoises
protected
SiStripPedestals::InputVector SiStripCondObjBuilderFromDb::inputPedestals
protected
SiStripQuality::InputVector SiStripCondObjBuilderFromDb::inputQuality
protected
SiStripThreshold::InputVector SiStripCondObjBuilderFromDb::inputThreshold
protected
SiStripLatency* SiStripCondObjBuilderFromDb::latency_
protected

Definition at line 133 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildFECRelatedObjects(), and getApvLatency().

bool SiStripCondObjBuilderFromDb::m_debug
protected

Definition at line 178 of file SiStripCondObjBuilderFromDb.h.

uint16_t SiStripCondObjBuilderFromDb::m_defaultapvlatencyvalue
protected

Definition at line 173 of file SiStripCondObjBuilderFromDb.h.

Referenced by setDefaultValuesApvLatency().

uint16_t SiStripCondObjBuilderFromDb::m_defaultapvmodevalue
protected

Definition at line 172 of file SiStripCondObjBuilderFromDb.h.

Referenced by setDefaultValuesApvLatency().

float SiStripCondObjBuilderFromDb::m_defaultnoisevalue
protected

Definition at line 169 of file SiStripCondObjBuilderFromDb.h.

Referenced by setDefaultValuesCabling().

float SiStripCondObjBuilderFromDb::m_defaultpedestalvalue
protected

Definition at line 168 of file SiStripCondObjBuilderFromDb.h.

Referenced by setDefaultValuesCabling().

float SiStripCondObjBuilderFromDb::m_defaultthresholdhighvalue
protected

Definition at line 170 of file SiStripCondObjBuilderFromDb.h.

Referenced by setDefaultValuesCabling().

float SiStripCondObjBuilderFromDb::m_defaultthresholdlowvalue
protected

Definition at line 171 of file SiStripCondObjBuilderFromDb.h.

Referenced by setDefaultValuesCabling().

float SiStripCondObjBuilderFromDb::m_defaulttickheightvalue
protected

Definition at line 174 of file SiStripCondObjBuilderFromDb.h.

Referenced by setDefaultValuesApvTiming().

float SiStripCondObjBuilderFromDb::m_gaincalibrationfactor
protected

Definition at line 167 of file SiStripCondObjBuilderFromDb.h.

Referenced by setDefaultValuesApvTiming(), and setValuesApvTiming().

edm::VParameterSet SiStripCondObjBuilderFromDb::m_skippedDevices
protected

Definition at line 164 of file SiStripCondObjBuilderFromDb.h.

Referenced by SiStripCondObjBuilderFromDb().

float SiStripCondObjBuilderFromDb::m_tickmarkThreshold
protected

Definition at line 166 of file SiStripCondObjBuilderFromDb.h.

Referenced by setValuesApvTiming().

bool SiStripCondObjBuilderFromDb::m_useanalysis
protected

Definition at line 175 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildCondObj().

bool SiStripCondObjBuilderFromDb::m_usefec
protected

Definition at line 177 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildCondObj().

bool SiStripCondObjBuilderFromDb::m_usefed
protected

Definition at line 176 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildCondObj().

edm::VParameterSet SiStripCondObjBuilderFromDb::m_whitelistedDevices
protected

Definition at line 165 of file SiStripCondObjBuilderFromDb.h.

Referenced by SiStripCondObjBuilderFromDb().

SiStripNoises* SiStripCondObjBuilderFromDb::noises_
protected
pair_apvpairconn SiStripCondObjBuilderFromDb::p_apvpcon
protected

Definition at line 190 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildStripRelatedObjects().

pair_detcon SiStripCondObjBuilderFromDb::p_detcon
protected

Definition at line 192 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildStripRelatedObjects().

SiStripPedestals* SiStripCondObjBuilderFromDb::pedestals_
protected
SiStripQuality* SiStripCondObjBuilderFromDb::quality_
protected
std::vector<uint32_t> SiStripCondObjBuilderFromDb::skippedDetIds
protected
std::vector<SkipDeviceDescription> SiStripCondObjBuilderFromDb::skippedDevices
protected
SiStripThreshold* SiStripCondObjBuilderFromDb::threshold_
protected
TrackerTopology* SiStripCondObjBuilderFromDb::tTopo
protected

Definition at line 181 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildCondObj(), and ~SiStripCondObjBuilderFromDb().

v_apvpairconn SiStripCondObjBuilderFromDb::v_apvpcon
protected

Definition at line 191 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildStripRelatedObjects().

trackercon SiStripCondObjBuilderFromDb::v_trackercon
protected

Definition at line 193 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildCondObj(), and buildStripRelatedObjects().

std::vector<uint32_t> SiStripCondObjBuilderFromDb::whitelistedDetIds
protected
std::vector<SkipDeviceDescription> SiStripCondObjBuilderFromDb::whitelistedDevices
protected