Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:02:41

0001 #include "CondFormats/SiStripObjects/interface/SiStripBackPlaneCorrection.h"
0002 #include "DataFormats/TrackerCommon/interface/TrackerTopology.h"
0003 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0004 
0005 bool SiStripBackPlaneCorrection::putBackPlaneCorrection(const uint32_t& detid, float value) {
0006   std::map<unsigned int, float>::const_iterator id = m_BPC.find(detid);
0007   if (id != m_BPC.end()) {
0008     edm::LogError("SiStripBackPlaneCorrection")
0009         << "SiStripBackPlaneCorrection for DetID " << detid << " is already stored. Skipping this put" << std::endl;
0010     return false;
0011   } else
0012     m_BPC[detid] = value;
0013   return true;
0014 }
0015 float SiStripBackPlaneCorrection::getBackPlaneCorrection(const uint32_t& detid) const {
0016   std::map<unsigned int, float>::const_iterator id = m_BPC.find(detid);
0017   if (id != m_BPC.end())
0018     return id->second;
0019   else {
0020     edm::LogError("SiStripBackPlaneCorrection")
0021         << "SiStripBackPlaneCorrection for DetID " << detid << " is not stored" << std::endl;
0022   }
0023   return 0;
0024 }
0025 
0026 void SiStripBackPlaneCorrection::printDebug(std::stringstream& ss, const TrackerTopology* trackerTopo) const {
0027   std::map<unsigned int, float> detid_la = getBackPlaneCorrections();
0028   std::map<unsigned int, float>::const_iterator it;
0029   ss << "SiStripBackPlaneCorrectionReader:" << std::endl;
0030   ss << "detid \t Geometry \t Back Plane Corrections" << std::endl;
0031   for (it = detid_la.begin(); it != detid_la.end(); ++it) {
0032     ss << it->first << "\t" << static_cast<int>(trackerTopo->moduleGeometry(it->first)) << "\t" << it->second
0033        << std::endl;
0034   }
0035 }
0036 
0037 void SiStripBackPlaneCorrection::printSummary(std::stringstream& ss, const TrackerTopology* trackerTopo) const {
0038   std::map<unsigned int, float> detid_la = getBackPlaneCorrections();
0039   std::map<unsigned int, float>::const_iterator it;
0040 
0041   SiStripDetSummary summary{trackerTopo};
0042 
0043   for (it = detid_la.begin(); it != detid_la.end(); ++it) {
0044     DetId detid(it->first);
0045     float value = it->second;
0046     summary.add(detid, value);
0047   }
0048   ss << "Summary of BackPlane corrections:" << std::endl;
0049   summary.print(ss);
0050 }