CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CTPPSPixelGainCalibrations.cc
Go to the documentation of this file.
4 
5 
6 void CTPPSPixelGainCalibrations::setGainCalibration(const uint32_t& detid, const CTPPSPixelGainCalibration & PixGains){
7 
8  if(detid!=PixGains.getDetId()){ // if no detid set in the pixgains
9  CTPPSPixelGainCalibration newPixGains = PixGains; //maybe the copy works?
10  newPixGains.setIndexes(detid); //private accessor, only friend class can use it
11  edm::LogInfo("CTPPSPixelGainCalibrations") << "newPixGains detId = "<< newPixGains.getDetId()
12  << " ; iBegin = "<< newPixGains.getIBegin()
13  << " ; iEnd = "<< newPixGains.getIEnd()
14  << " ; nCols = "<< newPixGains.getNCols()
15  << " ; nRows ="<<newPixGains.getNRows();
16 
17  int npix = newPixGains.getIEnd() ;
18  //bool dead,noisy;
19  if(npix!=0 )
20  edm::LogInfo("CTPPSPixelGainCalibrations")
21  << "newPixGains Ped[0] = "<< newPixGains.getPed(0)
22  << " ; Gain[0] = " << newPixGains.getGain(0)
23  << " ; dead = " << newPixGains.isDead(0)
24  << " ; noisy = "<< newPixGains.isNoisy(0) ;
25  else
26  edm::LogError("CTPPSPixelGainCalibrations") << "looks like setting gain calibrations did not work, npix is "<< npix ;
27 
28  m_calibrations[detid]=newPixGains;
29  }
30 
31  else
32  m_calibrations[detid] = PixGains;
33 }
34 
35 void CTPPSPixelGainCalibrations::setGainCalibration(const uint32_t& detid, const std::vector<float> & peds, const std::vector<float> & gains){
36  m_calibrations[detid] = CTPPSPixelGainCalibration(detid,peds,gains);
37 }
38 
40  m_calibrations = PixGainsCalibs;
41 }
42 
43 void CTPPSPixelGainCalibrations::setGainCalibrations(const std::vector<uint32_t>& detidlist, const std::vector<std::vector<float>>& peds, const std::vector<std::vector<float>>& gains){
44  int nids=detidlist.size();
45  for (int detid=0; detid<nids ; ++detid){
46  const std::vector<float>& pedsvec = peds[detid];
47  const std::vector<float>& gainsvec = gains[detid];
48  m_calibrations[detid]= CTPPSPixelGainCalibration(detid,pedsvec,gainsvec);
49  }
50 }
51 
52 const CTPPSPixelGainCalibration & CTPPSPixelGainCalibrations::getGainCalibration(const uint32_t & detid) const{ // returns the object does not change the map
53  CalibMap::const_iterator it = m_calibrations.find(detid);
54  if (it == m_calibrations.end())
55  throw cms::Exception("CTPPSPixelGainCalibrations: ") <<" No gain calibrations defined for detid ";
56 
57  return it->second;
58 
59 }
60 
61 
62 
bool isDead(const uint32_t ipix) const
const CTPPSPixelGainCalibration & getGainCalibration(const uint32_t &detid) const
std::map< uint32_t, CTPPSPixelGainCalibration > CalibMap
void setGainCalibrations(const CalibMap &PixGainsCalibs)
void setGainCalibration(const uint32_t &DetId, const CTPPSPixelGainCalibration &PixGains)
float getPed(const int &col, const int &row) const
bool isNoisy(const uint32_t ipix) const
void setIndexes(const uint32_t &detId)
float getGain(const int &col, const int &row) const