CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/DQM/SiStripMonitorClient/interface/SiStripTrackerMapCreator.h

Go to the documentation of this file.
00001 #ifndef _SiStripTrackerMapCreator_h_
00002 #define _SiStripTrackerMapCreator_h_
00003 
00004 #include "DQMServices/Core/interface/MonitorElement.h"
00005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00006 #include "FWCore/Framework/interface/ESHandle.h"
00007 #include "CalibFormats/SiStripObjects/interface/SiStripDetCabling.h"
00008 
00009 #include <fstream>
00010 #include <map>
00011 #include <vector>
00012 #include <string>
00013 
00014 class DQMStore;
00015 class TkDetMap;
00016 class TrackerMap;
00017 class MonitorElement;
00018 namespace edm { class EventSetup; }
00019 
00020 class SiStripTrackerMapCreator {
00021 
00022  public:
00023 
00024   //  SiStripTrackerMapCreator();
00025   SiStripTrackerMapCreator(const edm::EventSetup& eSetup);
00026  ~SiStripTrackerMapCreator();
00027   bool readConfiguration();
00028 
00029   void create(const edm::ParameterSet & tkmapPset, 
00030               DQMStore* dqm_store, std::string& htype);
00031   void createForOffline(const edm::ParameterSet & tkmapPset, 
00032                         DQMStore* dqm_store, std::string& htype);
00033 
00034 
00035  private:
00036 
00037   void paintTkMapFromAlarm(uint32_t det_id, DQMStore* dqm_store, bool isBad=false, std::map<unsigned int,std::string>* badmodmap=0);
00038   void paintTkMapFromHistogram(DQMStore* dqm_store, MonitorElement* me, std::string& map_type);
00039   void setTkMapFromHistogram(DQMStore* dqm_store, std::string& htype);
00040   void setTkMapFromAlarm(DQMStore* dqm_store);
00041   void setTkMapRange(std::string& map_type);
00042   void setTkMapRangeOffline();
00043   uint16_t getDetectorFlagAndComment(DQMStore* dqm_store, uint32_t det_id, std::ostringstream& comment);
00044   void printBadModuleList(std::map<unsigned int,std::string>* badmodmap);
00045 
00046   TrackerMap* trackerMap_;
00047   std::string tkMapName_;
00048   std::string stripTopLevelDir_;
00049 
00050   float tkMapMax_;
00051   float tkMapMin_;
00052   float meanToMaxFactor_;
00053   bool useSSQuality_;
00054   std::string ssqLabel_;
00055   int   nDet;
00056   TkDetMap* tkDetMap_;
00057   const edm::EventSetup& eSetup_;
00058   edm::ESHandle< SiStripDetCabling > detcabling_;
00059 };
00060 #endif