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
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