CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
SiStripCondObjBuilderFromDb Class Reference

#include <SiStripCondObjBuilderFromDb.h>

Public Types

typedef std::vector
< pair_apvpairconn >::iterator 
i_apvpairconn
 
typedef std::vector
< pair_detcon >::iterator 
i_trackercon
 
typedef std::pair< uint32_t,
FedChannelConnection
pair_apvpairconn
 
typedef std::pair< uint32_t,
v_apvpairconn
pair_detcon
 
typedef std::vector< pair_detcontrackercon
 
typedef std::vector
< pair_apvpairconn
v_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 ()
 
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)
 
 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 ()
 
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_
 
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
 
bool m_useanalysis
 
bool m_usefec
 
bool m_usefed
 
SiStripNoisesnoises_
 
pair_apvpairconn p_apvpcon
 
pair_detcon p_detcon
 
SiStripPedestalspedestals_
 
SiStripQualityquality_
 
SiStripThresholdthreshold_
 
TrackerTopologytTopo
 
v_apvpairconn v_apvpcon
 
trackercon v_trackercon
 

Detailed Description

Definition at line 44 of file SiStripCondObjBuilderFromDb.h.

Member Typedef Documentation

Definition at line 55 of file SiStripCondObjBuilderFromDb.h.

Definition at line 54 of file SiStripCondObjBuilderFromDb.h.

Definition at line 49 of file SiStripCondObjBuilderFromDb.h.

Definition at line 51 of file SiStripCondObjBuilderFromDb.h.

Definition at line 52 of file SiStripCondObjBuilderFromDb.h.

Definition at line 50 of file SiStripCondObjBuilderFromDb.h.

Constructor & Destructor Documentation

SiStripCondObjBuilderFromDb::SiStripCondObjBuilderFromDb ( )

Definition at line 55 of file SiStripCondObjBuilderFromDb.cc.

References LogTrace, and sistrip::mlESSources_.

56 {
58  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
59  << " Constructing object...";
60 }
#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, and sistrip::mlESSources_.

33  :
34  m_gaincalibrationfactor(static_cast<float>(pset.getUntrackedParameter<double>("GainNormalizationFactor",690.))),
35  m_defaultpedestalvalue(static_cast<float>(pset.getUntrackedParameter<double>("DefaultPedestal",0.))),
36  m_defaultnoisevalue(static_cast<float>(pset.getUntrackedParameter<double>("DefaultNoise",0.))),
37  m_defaultthresholdhighvalue(static_cast<float>(pset.getUntrackedParameter<double>("DefaultThresholdHigh",0.))),
38  m_defaultthresholdlowvalue(static_cast<float>(pset.getUntrackedParameter<double>("DefaultThresholdLow",0.))),
39  m_defaultapvmodevalue(static_cast<uint16_t>(pset.getUntrackedParameter<uint32_t>("DefaultAPVMode",37))),
40  m_defaultapvlatencyvalue(static_cast<uint16_t>(pset.getUntrackedParameter<uint32_t>("DefaultAPVLatency",142))),
41  m_defaulttickheightvalue(static_cast<float>(pset.getUntrackedParameter<double>("DefaultTickHeight",690.))),
42  m_useanalysis(static_cast<bool>(pset.getUntrackedParameter<bool>("UseAnalysis",false))),
43  m_usefed(static_cast<bool>(pset.getUntrackedParameter<bool>("UseFED",false))),
44  m_usefec(static_cast<bool>(pset.getUntrackedParameter<bool>("UseFEC",false))),
45  m_debug(static_cast<bool>(pset.getUntrackedParameter<bool>("DebugMode",false))),
47 {
49  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
50  << " Constructing object...";
51 }
T getUntrackedParameter(std::string const &, T const &) const
#define LogTrace(id)
static const char mlESSources_[]
SiStripCondObjBuilderFromDb::~SiStripCondObjBuilderFromDb ( )
virtual

Definition at line 64 of file SiStripCondObjBuilderFromDb.cc.

References LogTrace, sistrip::mlESSources_, and tTopo.

64  {
66  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
67  << " Destructing object...";
68  delete tTopo;
69 }
#define LogTrace(id)
static const char mlESSources_[]

Member Function Documentation

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

Definition at line 629 of file SiStripCondObjBuilderFromDb.cc.

References gather_cfg::cout, db_, end, gain_, m_defaulttickheightvalue, m_gaincalibrationfactor, sistrip::mlESSources_, retrieveTimingAnalysisDescriptions(), setDefaultValuesApvTiming(), setValuesApvTiming(), and storeTiming().

Referenced by buildCondObj().

629  {
630  trackercon tc = _tc;
631  std::cout << "Entering [SiStripCondObjBuilderFromDb::"<<__func__ <<"]"<<std::endl;
632  //data container
633  gain_= new SiStripApvGain();
634 
635  //check if Timing analysis description is found, otherwise quit
638  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
639  << " NULL pointer to AnalysisDescriptions returned by SiStripConfigDb!"
640  << " Cannot build Analysis object! QUIT";
641  // some values have to be set, otherwise PopCon will crash
643  storeTiming(4711);
644  return;
645  }
646 
647  i_trackercon detids_end=tc.end();
648 
649  //loop detids
650  for(i_trackercon detids=tc.begin();detids!=detids_end;detids++){
651  uint32_t detid = (*detids).first;
652  i_apvpairconn connections_end=((*detids).second).end();
653 
654  //loop connections
655  for(i_apvpairconn connections=((*detids).second).begin();connections!=connections_end;connections++){
656  uint32_t apvPair =(*connections).first;
657  FedChannelConnection ipair =(*connections).second;
658 
659 
660  //no connection for apvPair found
661  if(apvPair>=100){
663  continue;
664  }
665 
666  //fill data
667  if(!setValuesApvTiming(db, ipair)){
668  std::cout
669  << "\n "
670  << " Unable to find Timing Analysis Description"
671  << " Writing default values for DetId: " << detid
672  << " Value: " << m_defaulttickheightvalue/m_gaincalibrationfactor << std::endl;
674  }
675  }//connections
676  storeTiming(detid);
677  }//detids
678 
679 }
edm::Service< SiStripConfigDb > db_
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 retrieveTimingAnalysisDescriptions(SiStripConfigDb *const db)
tuple cout
Definition: gather_cfg.py:145
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 190 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().

190  {
192  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]";
193 
194  // Check if DB connection is made
195  if ( db_ ) {
196 
197  // Check if DB connection is made
198  if ( db_->deviceFactory() ||
199  db_->databaseCache() ) {
200 
201  // Build FEC cabling object
202  SiStripFecCabling fec_cabling;
203 
205  fec_cabling,
208 
210  SiStripDetCabling det_cabling( *fed_cabling_, tTopo );
211  buildStripRelatedObjects( &*db_, det_cabling );
212 
213 
217 
218 
219 
220  } else {
222  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
223  << " NULL pointer to DeviceFactory returned by SiStripConfigDb!"
224  << " Cannot build Pedestals object!";
225  }
226  } else {
228  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
229  << " NULL pointer to SiStripConfigDb returned by DB \"service\"!"
230  << " Cannot build Pedestals object!";
231  }
232 }
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 287 of file SiStripCondObjBuilderFromDb.cc.

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

Referenced by buildStripRelatedObjects().

287  {
288  vector<const FedChannelConnection *> conns = det_cabling.getConnections(det_id);
289  if (conns.size()==0){
291  << "SiStripCondObjBuilderFromDb::" << __func__ << "]"
292  << " Unable to build condition object!"
293  << " No FED channel connections found for detid "<< det_id;
294  }
295  return conns;
296 }
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 683 of file SiStripCondObjBuilderFromDb.cc.

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

Referenced by buildCondObj().

683  {
684  trackercon tc = _tc;
685  std::cout << "Entering [SiStripCondObjBuilderFromDb::"<<__func__ <<"]"<<std::endl;
686  //data container
687  latency_ = new SiStripLatency();
688 
689  i_trackercon detids_end=tc.end();
690 
691  // get APV DeviceDescriptions
693 
694 
695  //loop detids
696  for(i_trackercon detids=tc.begin();detids!=detids_end;detids++){
697  uint32_t detid = (*detids).first;
698  uint16_t apvnr=1;
699  i_apvpairconn connections_end=((*detids).second).end();
700 
701 
702  //loop connections
703  for(i_apvpairconn connections=((*detids).second).begin();connections!=connections_end;connections++){
704  uint32_t apvPair =(*connections).first;
705  FedChannelConnection ipair =(*connections).second;
706 
707  //no connection for apvPair found
708  if(apvPair>=100){
709  //setDefaultValuesApvLatency((*latency_),ipair, detid, apvnr);
710  std::cout << "[SiStripCondObjBuilderFromDb::" << __func__ << "] No FEDConnection for DetId " << detid << " ApvPair " << apvPair-100 << " found, skipping Latency Insertion!" << std::endl;
711  continue;
712  }
713 
714  //fill data
715  if(!setValuesApvLatency((*latency_),db, ipair, detid, apvnr, apvs)){
716  std::cout
717  << "\n "
718  << " Unable to find FEC Description"
719  << " Skipping Insertion for DetId: " << detid << std::endl;
720  //setDefaultValuesApvLatency((*latency_),ipair, detid, apvnr);
721  }
722  apvnr+=2;
723  }//connections
724  // compact Latency Object
725 
726  }//detids
727  latency_->compress();
728  std::stringstream ss;
729  // latency debug output
730  latency_->printSummary(ss);
731  latency_->printDebug(ss);
732  std::cout << ss.str() << std::endl;
733 }
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.
tuple cout
Definition: gather_cfg.py:145
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 737 of file SiStripCondObjBuilderFromDb.cc.

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

Referenced by buildCondObj().

737  {
738  trackercon tc = _tc;
739  std::cout << "Entering [SiStripCondObjBuilderFromDb::"<<__func__ <<"]"<<std::endl;
740 
741  //data containers
743  noises_ = new SiStripNoises();
745  quality_ = new SiStripQuality();
746 
747  i_trackercon detids_end=tc.end();
748 
749  //Build FED Descriptions out of db object
751 
752  //loop detids
753  for(i_trackercon detids=tc.begin();detids!=detids_end;detids++){
754  uint32_t detid = (*detids).first;
755  i_apvpairconn connections_end=((*detids).second).end();
756 
757  //loop connections
758  for(i_apvpairconn connections=((*detids).second).begin();connections!=connections_end;connections++){
759  uint32_t apvPair =(*connections).first;
760  FedChannelConnection ipair =(*connections).second;
761 
762  //no connection for apvPair found
763  if(apvPair>=100){
764  std::cout
765  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
766  << " Unable to find FED description for FED id: " << ipair.fedId()
767  << " detid : " << detid << " APV pair number " << apvPair
768  << " Writing default values"<< std::endl;
769  setDefaultValuesCabling((apvPair-100));
770  continue;
771  }
772  // if(!setValuesCabling(db, ipair, detid)){
773  if(!setValuesCabling(descriptions, ipair, detid)){
774  std::cout
775  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
776  << " Unable to find FED description for FED id: " << ipair.fedId()
777  << " detid : " << detid << " APV pair number " << apvPair
778  << " Writing default values"<< std::endl;
779  setDefaultValuesCabling(apvPair);
780  }
781  }//connections
782  storePedestals(detid);
783  storeNoise(detid);
784  storeThreshold(detid);
785  storeQuality(detid);
786  }//detids
787 }
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)
tuple cout
Definition: gather_cfg.py:145
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 538 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().

539  {
540  //variables needed in this function
541  uint16_t nApvPairs;
542  vector<uint32_t>::const_iterator det_id;
543  vector<uint32_t> det_ids;
544 
546  << "\n[SiStripCondObjBuilderFromDb::" << __func__ << "] first call to this method";
547 
548  //Check if FedDescriptions exist, if not return
549  if (!retrieveFedDescriptions(db)) {std::cout<< "Found no FedDescription!" << std::endl;return;}
550  // Retrieve list of active DetIds
551  det_cabling.addActiveDetectorsRawIds(det_ids);
552  if ( det_ids.empty() ) {
553  std::cout
554  << "SiStripCondObjBuilderFromDb::" << __func__ << "]"
555  << " Unable to build Pedestals object!"
556  << " No DetIds found!" << std::endl;
557  return;
558  }
559  std::cout << "\n\nSiStripCondObjBuilderFromDb::" << __func__ << "]"
560  << " Found " << det_ids.size() << " active DetIds";
561 
562  // Loop Active DetIds
563  det_id = det_ids.begin();
564  for ( ; det_id != det_ids.end(); det_id++ ) {
565  std::stringstream ssMessage;
566 
567  // Ignore NULL DetIds
568  if ( !(*det_id) ) { continue; }
569  if ( *det_id == sistrip::invalid32_ ) { continue; }
570 
571 
572  //build connections per DetId
573  const vector<const FedChannelConnection *>& conns=buildConnections(det_cabling, *det_id);
574 
575  vector<const FedChannelConnection *>::const_iterator ipair = conns.begin();
576  if(conns.size() ==0 ) continue;
577 
578  //retrieve number of APV pairs per detid
579  nApvPairs=retrieveNumberAPVPairs(*det_id);
580 
581 
582  //loop connections and check if APVPair is connected
583  vector< vector<const FedChannelConnection *>::const_iterator > listConns(nApvPairs,conns.end());
584 
585  for ( ; ipair != conns.end(); ++ipair ){
586  // Check if the ApvPair is connected
587  if ((*ipair)->fedId()!=sistrip::invalid_ && (*ipair)->apvPairNumber()<3){
588  // (*ipair)->print(ssMessage);
589  // ssMessage<< std::endl;
590  listConns[ipair-conns.begin()]=ipair;
591  } else {
592  std::cout
593  << "\n impossible to assign connection position in listConns " << std::endl;
594  // (*ipair)->print(ssMessage);
595  // ssMessage << std::endl;
596  }
597  }
598 
599  // get data
600  // vector< vector<const FedChannelConnection *>::const_iterator >::const_iterator ilistConns=listConns.begin();
601  for (uint16_t apvPair=0;apvPair<listConns.size();++apvPair){
602  ipair=listConns[apvPair];
603  if ( ipair == conns.end() ) {
604  // Fill object with default values
605  std::cout
606  << "\n "
607  << " Unable to find FED connection for detid : " << std::dec << *det_id << " APV pair number " << apvPair
608  << " Writing default values" << std::endl;
609  (*ipair)->print(ssMessage);
610  //If no connection was found, add 100 to apvpair
611  apvPair+=100;
612  std::cout << " Put apvPair+100:" << apvPair << " into vector!" << std::endl;
613  p_apvpcon=std::make_pair(apvPair,**ipair);
614  v_apvpcon.push_back(p_apvpcon);
615  apvPair=apvPair-100;
616  continue;
617  }
618  p_apvpcon=std::make_pair(apvPair,**ipair);
619  v_apvpcon.push_back(p_apvpcon);
620  } //conns loop
621  p_detcon=std::make_pair(*det_id,v_apvpcon);
622  v_trackercon.push_back(p_detcon);
623  v_apvpcon.clear();
624  } // det id loop
625 }
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
static const uint32_t invalid32_
Definition: Constants.h:15
bool retrieveFedDescriptions(SiStripConfigDb *const db)
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
tuple cout
Definition: gather_cfg.py:145
static const char mlESSources_[]
TrackerTopology * SiStripCondObjBuilderFromDb::buildTrackerTopology ( )

Definition at line 81 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_.

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

Definition at line 158 of file SiStripCondObjBuilderFromDb.cc.

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

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

158  {
159 
160 
161  //get current config DB parameter
162 
164 
165  SiStripDbParams::SiStripPartitions::const_iterator ipart = partitionsRange.begin();
166  SiStripDbParams::SiStripPartitions::const_iterator ipartEnd = partitionsRange.end();
167  for ( ; ipart != ipartEnd; ++ipart ) {
168  SiStripPartition partition=ipart->second;
169  output << "@ "
170  << " Partition " << partition.partitionName() ;
171  if (label!="Cabling" && label !="ApvLatency")
172  output << " FedVer " << partition.fedVersion().first << "." << partition.fedVersion().second;
173  if(label=="Cabling")
174  output << " CabVer " << partition.cabVersion().first << "." << partition.cabVersion().second
175  << " MaskVer " << partition.maskVersion().first << "." << partition.maskVersion().second;
176  if(label=="ApvTiming")
177  output<< " ApvTimingVer " << partition.apvTimingVersion().first << "." << partition.apvTimingVersion().second;
178  if(label=="ApvLatency")
179  output<< " FecVersion " << partition.fecVersion().first << "." << partition.fecVersion().second;
180  }
181 
182  if (!strcmp(output.str().c_str(),input.str().c_str()))
183  return false;
184 
185  return true;
186 }
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

Returns database connection parameters.

Definition at line 66 of file SiStripCondObjBuilderFromDb.h.

References db_, and SiStripConfigDb::dbParams().

Referenced by checkForCompatibility(), and checkUpdate().

66 {return db_->dbParams();}
edm::Service< SiStripConfigDb > db_
const SiStripDbParams & dbParams() const
SiStripApvGain* SiStripCondObjBuilderFromDb::getApvGain ( )
inline

Definition at line 85 of file SiStripCondObjBuilderFromDb.h.

References checkUpdate(), and gain_.

Referenced by getValue().

SiStripLatency* SiStripCondObjBuilderFromDb::getApvLatency ( )
inline

Definition at line 86 of file SiStripCondObjBuilderFromDb.h.

References checkUpdate(), and latency_.

Referenced by getValue().

SiStripFedCabling* SiStripCondObjBuilderFromDb::getFedCabling ( )
inline

Definition at line 80 of file SiStripCondObjBuilderFromDb.h.

References checkUpdate(), and fed_cabling_.

Referenced by getValue().

SiStripNoises* SiStripCondObjBuilderFromDb::getNoises ( )
inline

Definition at line 82 of file SiStripCondObjBuilderFromDb.h.

References checkUpdate(), and noises_.

Referenced by getValue().

SiStripPedestals* SiStripCondObjBuilderFromDb::getPedestals ( )
inline

Definition at line 81 of file SiStripCondObjBuilderFromDb.h.

References checkUpdate(), and pedestals_.

Referenced by getValue().

SiStripQuality* SiStripCondObjBuilderFromDb::getQuality ( )
inline

Definition at line 84 of file SiStripCondObjBuilderFromDb.h.

References checkUpdate(), and quality_.

Referenced by getValue().

SiStripThreshold* SiStripCondObjBuilderFromDb::getThreshold ( )
inline

Definition at line 83 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 89 of file SiStripCondObjBuilderFromDb.h.

References getPedestals().

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

Definition at line 90 of file SiStripCondObjBuilderFromDb.h.

References getNoises().

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

Definition at line 91 of file SiStripCondObjBuilderFromDb.h.

References getThreshold().

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

Definition at line 92 of file SiStripCondObjBuilderFromDb.h.

References getQuality().

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

Definition at line 93 of file SiStripCondObjBuilderFromDb.h.

References getQuality().

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

Definition at line 94 of file SiStripCondObjBuilderFromDb.h.

References getApvGain().

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

Definition at line 95 of file SiStripCondObjBuilderFromDb.h.

References getApvLatency().

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

Definition at line 268 of file SiStripCondObjBuilderFromDb.cc.

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

268  {
269  vector<uint32_t> det_ids;
270  det_cabling.addActiveDetectorsRawIds(det_ids);
271  if ( det_ids.empty() ) {
273  << "SiStripCondObjBuilderFromDb::" << __func__ << "]"
274  << " Unable to build Pedestals object!"
275  << " No DetIds found!";
276  return det_ids;
277  }
279  << "\n\nSiStripCondObjBuilderFromDb::" << __func__ << "]"
280  << " Found " << det_ids.size() << " active DetIds";
281  return det_ids;
282 }
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
#define LogTrace(id)
static const char mlESSources_[]
bool SiStripCondObjBuilderFromDb::retrieveFedDescriptions ( SiStripConfigDb *const  db)
protected

Definition at line 237 of file SiStripCondObjBuilderFromDb.cc.

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

Referenced by buildStripRelatedObjects().

237  {
239  if ( descriptions.empty() ) {
241  << "SiStripCondObjBuilderFromDb::" << __func__ << "]"
242  << " No FED descriptions found!";
243 
244  return false;
245  }
246  return true;
247 }
FedDescriptionsRange getFedDescriptions(std::string partition="")
FedDescriptions::range FedDescriptionsRange
static const char mlESSources_[]
uint16_t SiStripCondObjBuilderFromDb::retrieveNumberAPVPairs ( uint32_t  det_id)
protected

Definition at line 301 of file SiStripCondObjBuilderFromDb.cc.

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

Referenced by buildStripRelatedObjects().

301  {
302  uint16_t nApvPairs;
304  nApvPairs=fr->getNumberOfApvsAndStripLength(det_id).first/2;
305  return nApvPairs;
306 }
bool SiStripCondObjBuilderFromDb::retrieveTimingAnalysisDescriptions ( SiStripConfigDb *const  db)
protected

Definition at line 252 of file SiStripCondObjBuilderFromDb.cc.

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

Referenced by buildAnalysisRelatedObjects().

252  {
253  SiStripConfigDb::AnalysisDescriptionsRange anal_descriptions =
254  db->getAnalysisDescriptions( CommissioningAnalysisDescription::T_ANALYSIS_TIMING );
255  if ( anal_descriptions.empty() ) {
257  << "SiStripCondObjBuilderFromDb::" << __func__ << "]"
258  << " Unable to build SiStripApvGain object!"
259  << " No timing-scan analysis descriptions found!";
260  return false;
261  }
262  return true;
263 }
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 331 of file SiStripCondObjBuilderFromDb.cc.

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

331  {
332  std::cout << "[SiStripCondObjBuilderFromDb::"<<__func__<<"]: Set Default Latency for Detid: " << detid << " ApvNr: " << apvnr << std::endl;
333  if(!latency_.put( detid, apvnr, m_defaultapvmodevalue, m_defaultapvlatencyvalue))
334  {
335  std::cout << "[SiStripCondObjBuilderFromDb::"<<__func__<<"]: Unable to fill Latency for Detid: " << detid << " ApvNr: " << apvnr << std::endl;
336  }
337  if(!latency_.put( detid, ++apvnr, m_defaultapvmodevalue, m_defaultapvlatencyvalue))
338  {
339  std::cout << "[SiStripCondObjBuilderFromDb::"<<__func__<<"]: Unable to fill Latency for Detid: " << detid << " ApvNr: " << apvnr << std::endl;
340  }
341 
342 }
bool put(const uint32_t detId, const uint16_t apv, const uint16_t latency, const uint16_t mode)
tuple cout
Definition: gather_cfg.py:145
void SiStripCondObjBuilderFromDb::setDefaultValuesApvTiming ( )
protected
void SiStripCondObjBuilderFromDb::setDefaultValuesCabling ( uint16_t  apvPair)
protected

Definition at line 311 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().

311  {
312  uint16_t istrip = apvPair*sistrip::STRIPS_PER_FEDCH;
313  std::cout << "Found disabled FedConnection! APVPair: " << apvPair << " Strips: " << sistrip::STRIPS_PER_FEDCH << std::endl;
314  inputQuality.push_back(quality_->encode(istrip,sistrip::STRIPS_PER_FEDCH));
315  for ( ;istrip < (apvPair+1)*sistrip::STRIPS_PER_FEDCH; ++istrip ){
319  }
320 }
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)
tuple cout
Definition: gather_cfg.py:145
unsigned int encode(const unsigned short &first, const unsigned short &NconsecutiveBadStrips, const unsigned short &flag=0)
void setData(float noise_, InputVector &vped)
bool SiStripCondObjBuilderFromDb::setValuesApvLatency ( SiStripLatency latency_,
SiStripConfigDb *const  db,
FedChannelConnection ipair,
uint32_t  detid,
uint16_t  apvnr,
SiStripConfigDb::DeviceDescriptionsRange  apvs 
)
protected

Definition at line 378 of file SiStripCondObjBuilderFromDb.cc.

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

Referenced by buildFECRelatedObjects().

378  {
380  fr->getNumberOfApvsAndStripLength(detid);
381 
382  SiStripConfigDb::DeviceDescriptionsV::const_iterator iapv = apvs.begin();
383  SiStripConfigDb::DeviceDescriptionsV::const_iterator japv = apvs.end();
384  if(iapv==japv) return false;
385  for ( ; iapv != japv; ++iapv ) {
386  apvDescription* apv = dynamic_cast<apvDescription*>( *iapv );
387  if ( !apv ) { continue; }
388  if((apv->getCrateId()) != (ipair.fecCrate())) continue;
389  if((apv->getFecSlot()) != (ipair.fecSlot())) continue;
390  if((apv->getRingSlot()) != (ipair.fecRing())) continue;
391  if((apv->getCcuAddress()) != (ipair.ccuAddr())) continue;
392  if((apv->getChannel()) != (ipair.ccuChan())) continue;
393  // Insert latency values into latency object
394  if((apv->getAddress()) == (ipair.i2cAddr(0))) {
395  if(!latency_.put( detid, apvnr, static_cast<uint16_t>(apv->getLatency()), static_cast<uint16_t>(apv->getApvMode()))){
396  std::cout << "UNABLE APVLatency Put: Detid "<< dec<<detid
397  << " APVNr.: " << apvnr
398  << " Latency Value: " << dec <<static_cast<uint16_t>(apv->getLatency())
399  << " APV Mode: " << dec<< static_cast<uint16_t>(apv->getApvMode())
400  << std::endl;
401  return false;
402  }else{++apvnr;}
403  }
404  if((apv->getAddress()) == (ipair.i2cAddr(1))) {
405  if(!latency_.put( detid, apvnr, static_cast<uint16_t>(apv->getLatency()), static_cast<uint16_t>(apv->getApvMode()))){
406  std::cout << "UNABLE APVLatency Put: Detid "<<dec<< detid
407  << " APVNr.: " << apvnr
408  << " Latency Value: " << dec <<static_cast<uint16_t>(apv->getLatency())
409  << " APV Mode: " << dec <<static_cast<uint16_t>(apv->getApvMode())
410  << std::endl;
411  continue;
412  return false;
413  }else{++apvnr;}
414  }
415  }
416  return true;
417 }
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
tuple cout
Definition: gather_cfg.py:145
const uint16_t & i2cAddr(const uint16_t &apv0_or_1) const
bool SiStripCondObjBuilderFromDb::setValuesApvTiming ( SiStripConfigDb *const  db,
FedChannelConnection ipair 
)
protected

Definition at line 348 of file SiStripCondObjBuilderFromDb.cc.

References SiStripFedKey::fedCh(), FedChannelConnection::fedCh(), FedChannelConnection::fedId(), SiStripConfigDb::getAnalysisDescriptions(), inputApvGain, m_defaulttickheightvalue, m_gaincalibrationfactor, and tmp.

Referenced by buildAnalysisRelatedObjects().

348  {
349  SiStripConfigDb::AnalysisDescriptionsRange anal_descriptions = db->getAnalysisDescriptions( CommissioningAnalysisDescription::T_ANALYSIS_TIMING );
350  SiStripConfigDb::AnalysisDescriptionsV::const_iterator iii = anal_descriptions.begin();
351  SiStripConfigDb::AnalysisDescriptionsV::const_iterator jjj = anal_descriptions.end();
352 
353  while ( iii != jjj ) {
354  CommissioningAnalysisDescription* tmp = *iii;
355  uint16_t fed_id = tmp->getFedId();
356  uint16_t fed_ch = SiStripFedKey::fedCh( tmp->getFeUnit(), tmp->getFeChan() );
357  if ( fed_id == ipair.fedId() && fed_ch == ipair.fedCh() ) { break; }
358  iii++;
359  }
360 
361  TimingAnalysisDescription *anal=0;
362  if ( iii != jjj ) { anal = dynamic_cast<TimingAnalysisDescription*>(*iii); }
363  if ( anal ) {
364  float tick_height = (anal->getHeight() / m_gaincalibrationfactor);
365  inputApvGain.push_back( tick_height ); // APV0
366  inputApvGain.push_back( tick_height); // APV1
367  } else {
370  return false;
371  }
372 
373  return true;
374 }
const uint16_t & fedCh() const
const uint16_t & fedId() const
AnalysisDescriptionsRange getAnalysisDescriptions(AnalysisType, std::string partition="")
AnalysisDescriptions::range AnalysisDescriptionsRange
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
SiStripApvGain::InputVector inputApvGain
static uint16_t fedCh(const uint16_t &fe_unit, const uint16_t &fe_chan)
bool SiStripCondObjBuilderFromDb::setValuesCabling ( SiStripConfigDb::FedDescriptionsRange descriptions,
FedChannelConnection ipair,
uint32_t  detid 
)
protected

Definition at line 422 of file SiStripCondObjBuilderFromDb.cc.

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

Referenced by buildFEDRelatedObjects().

422  {
423  //SiStripConfigDb::FedDescriptionsRange descriptions = db->getFedDescriptions();
424  SiStripConfigDb::FedDescriptionsV::const_iterator description = descriptions.begin();
425  while ( description != descriptions.end() ) {
426  if ( (*description)->getFedId() ==ipair.fedId() ) { break; }
427  description++;
428  }
429  if ( description == descriptions.end() ) {return false;}
430  // Retrieve Fed9UStrips object from FED description
431  const Fed9U::Fed9UStrips& strips = (*description)->getFedStrips();
432 
433 
434  // Retrieve StripDescriptions for each APV
435  uint16_t jstrip = ipair.apvPairNumber()*sistrip::STRIPS_PER_FEDCH;
436  for ( uint16_t iapv = 2*ipair.fedCh(); iapv < 2*ipair.fedCh()+2; iapv++ ) {
437 
438  // Get StripDescriptions for the given APV
439  Fed9U::Fed9UAddress addr;
440  addr.setFedApv(iapv);
441  vector<Fed9U::Fed9UStripDescription> strip = strips.getApvStrips(addr);
442 
443  vector<Fed9U::Fed9UStripDescription>::const_iterator istrip = strip.begin();
444 
445  for ( ; istrip != strip.end(); istrip++ ) {
446  pedestals_->setData( istrip->getPedestal() , inputPedestals);
447  noises_ ->setData( istrip->getNoise() , inputNoises );
448  threshold_->setData( jstrip, istrip->getLowThresholdFactor(),
449  istrip->getHighThresholdFactor(), inputThreshold );
450  if(istrip->getDisable()){
451  std::cout << "Found disabled strip! Detid: " << detid << " APVNr: " << iapv << " Strips: " << jstrip << std::endl;
452 
453  inputQuality.push_back(quality_->encode(jstrip,1));
454  }
455  jstrip++;
456  }
457  }
458  return true;
459 }
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
tuple description
Definition: idDealer.py:66
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)
tuple cout
Definition: gather_cfg.py:145
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 480 of file SiStripCondObjBuilderFromDb.cc.

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

Referenced by buildFEDRelatedObjects().

480  {
481  // Insert noise values into Noises object
482 
483  if ( !noises_->put(det_id, inputNoises ) ) {
484  std::cout
485  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
486  << " Unable to insert values into SiStripNoises object!"
487  << " DetId already exists!" << std::endl;
488  }
489  inputNoises.clear();
490 
491  }
SiStripNoises::InputVector inputNoises
bool put(const uint32_t &detID, const InputVector &input)
tuple cout
Definition: gather_cfg.py:145
void SiStripCondObjBuilderFromDb::storePedestals ( uint32_t  det_id)
protected

Definition at line 465 of file SiStripCondObjBuilderFromDb.cc.

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

Referenced by buildFEDRelatedObjects().

465  {
466  if ( !pedestals_->put(det_id, inputPedestals ) ) {
467  std::cout
468  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
469  << " Unable to insert values into SiStripPedestals object!"
470  << " DetId already exists!" << std::endl;
471  }
472  inputPedestals.clear();
473 
474  }
SiStripPedestals::InputVector inputPedestals
bool put(const uint32_t &detID, InputVector &input)
tuple cout
Definition: gather_cfg.py:145
void SiStripCondObjBuilderFromDb::storeQuality ( uint32_t  det_id)
protected

Definition at line 508 of file SiStripCondObjBuilderFromDb.cc.

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

Referenced by buildFEDRelatedObjects().

508  {
509  // Insert quality values into Quality object
510  if (inputQuality.size()){
511  quality_->compact(det_id,inputQuality);
512  if ( !quality_->put(det_id, inputQuality ) ) {
513  std::cout
514  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
515  << " Unable to insert values into SiStripQuality object!"
516  << " DetId already exists!" << std::endl;
517  }
518  }
519  inputQuality.clear();
520 }
SiStripQuality::InputVector inputQuality
void compact(unsigned int &, std::vector< unsigned int > &)
tuple cout
Definition: gather_cfg.py:145
bool put(const uint32_t &detID, const InputVector &vect)
void SiStripCondObjBuilderFromDb::storeThreshold ( uint32_t  det_id)
protected

Definition at line 495 of file SiStripCondObjBuilderFromDb.cc.

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

Referenced by buildFEDRelatedObjects().

495  {
496  // Insert threshold values into Threshold object
497  if ( !threshold_->put(det_id, inputThreshold ) ) {
498  std::cout
499  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
500  << " Unable to insert values into SiStripThreshold object!"
501  << " DetId already exists!" << std::endl;
502  }
503  inputThreshold.clear();
504 }
bool put(const uint32_t &detID, const InputVector &vect)
SiStripThreshold::InputVector inputThreshold
tuple cout
Definition: gather_cfg.py:145
void SiStripCondObjBuilderFromDb::storeTiming ( uint32_t  det_id)
protected

Definition at line 524 of file SiStripCondObjBuilderFromDb.cc.

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

Referenced by buildAnalysisRelatedObjects().

524  {
525  // Insert tick height values into Gain object
526  SiStripApvGain::Range range( inputApvGain.begin(), inputApvGain.end() );
527  if ( !gain_->put( det_id, range ) ) {
529  << "[SiStripCondObjBuilderFromDb::" << __func__ << "]"
530  << " Unable to insert values into SiStripApvGain object!"
531  << " DetId already exists!";
532  }
533  inputApvGain.clear();
534 }
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 104 of file SiStripCondObjBuilderFromDb.h.

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

SiStripDbParams SiStripCondObjBuilderFromDb::dbParams_
protected

Container for DB connection parameters.

Definition at line 107 of file SiStripCondObjBuilderFromDb.h.

Referenced by checkUpdate().

SiStripFedCabling* SiStripCondObjBuilderFromDb::fed_cabling_
protected

Definition at line 108 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildCondObj(), and getFedCabling().

SiStripApvGain* SiStripCondObjBuilderFromDb::gain_
protected
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 114 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildFECRelatedObjects(), and getApvLatency().

bool SiStripCondObjBuilderFromDb::m_debug
protected

Definition at line 151 of file SiStripCondObjBuilderFromDb.h.

uint16_t SiStripCondObjBuilderFromDb::m_defaultapvlatencyvalue
protected

Definition at line 146 of file SiStripCondObjBuilderFromDb.h.

Referenced by setDefaultValuesApvLatency().

uint16_t SiStripCondObjBuilderFromDb::m_defaultapvmodevalue
protected

Definition at line 145 of file SiStripCondObjBuilderFromDb.h.

Referenced by setDefaultValuesApvLatency().

float SiStripCondObjBuilderFromDb::m_defaultnoisevalue
protected

Definition at line 142 of file SiStripCondObjBuilderFromDb.h.

Referenced by setDefaultValuesCabling().

float SiStripCondObjBuilderFromDb::m_defaultpedestalvalue
protected

Definition at line 141 of file SiStripCondObjBuilderFromDb.h.

Referenced by setDefaultValuesCabling().

float SiStripCondObjBuilderFromDb::m_defaultthresholdhighvalue
protected

Definition at line 143 of file SiStripCondObjBuilderFromDb.h.

Referenced by setDefaultValuesCabling().

float SiStripCondObjBuilderFromDb::m_defaultthresholdlowvalue
protected

Definition at line 144 of file SiStripCondObjBuilderFromDb.h.

Referenced by setDefaultValuesCabling().

float SiStripCondObjBuilderFromDb::m_defaulttickheightvalue
protected
float SiStripCondObjBuilderFromDb::m_gaincalibrationfactor
protected
bool SiStripCondObjBuilderFromDb::m_useanalysis
protected

Definition at line 148 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildCondObj().

bool SiStripCondObjBuilderFromDb::m_usefec
protected

Definition at line 150 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildCondObj().

bool SiStripCondObjBuilderFromDb::m_usefed
protected

Definition at line 149 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildCondObj().

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

Definition at line 163 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildStripRelatedObjects().

pair_detcon SiStripCondObjBuilderFromDb::p_detcon
protected

Definition at line 165 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildStripRelatedObjects().

SiStripPedestals* SiStripCondObjBuilderFromDb::pedestals_
protected
SiStripQuality* SiStripCondObjBuilderFromDb::quality_
protected
SiStripThreshold* SiStripCondObjBuilderFromDb::threshold_
protected
TrackerTopology* SiStripCondObjBuilderFromDb::tTopo
protected

Definition at line 154 of file SiStripCondObjBuilderFromDb.h.

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

v_apvpairconn SiStripCondObjBuilderFromDb::v_apvpcon
protected

Definition at line 164 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildStripRelatedObjects().

trackercon SiStripCondObjBuilderFromDb::v_trackercon
protected

Definition at line 166 of file SiStripCondObjBuilderFromDb.h.

Referenced by buildCondObj(), and buildStripRelatedObjects().