Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:09:09

0001 #ifndef _TrackingQualityChecker_h_
0002 #define _TrackingQualityChecker_h_
0003 
0004 #include "DQMServices/Core/interface/DQMStore.h"
0005 #include "FWCore/Framework/interface/ESHandle.h"
0006 #include "FWCore/Framework/interface/EventSetup.h"
0007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0008 
0009 #include <fstream>
0010 #include <sstream>
0011 #include <map>
0012 #include <vector>
0013 #include <string>
0014 
0015 class TrackingDetCabling;
0016 
0017 class TrackingQualityChecker {
0018 public:
0019   typedef dqm::harvesting::DQMStore DQMStore;
0020   typedef dqm::harvesting::MonitorElement MonitorElement;
0021 
0022   TrackingQualityChecker(edm::ParameterSet const& ps);
0023   virtual ~TrackingQualityChecker();
0024 
0025   void bookGlobalStatus(DQMStore::IBooker& ibooker, DQMStore::IGetter& igetter);
0026   void bookLSStatus(DQMStore::IBooker& ibooker, DQMStore::IGetter& igetter);
0027   void resetGlobalStatus();
0028   void resetLSStatus();
0029   void fillDummyGlobalStatus();
0030   void fillDummyLSStatus();
0031   void fillGlobalStatus(DQMStore::IBooker& ibooker, DQMStore::IGetter& igetter);
0032   void fillLSStatus(DQMStore::IBooker& ibooker, DQMStore::IGetter& igetter);
0033 
0034 private:
0035   struct TrackingMEs {
0036     MonitorElement* TrackingFlag;
0037     std::string HistoDir;
0038     std::string HistoName;
0039   };
0040 
0041   struct TrackingLSMEs {
0042     MonitorElement* TrackingFlag;
0043     std::string HistoLSDir;
0044     std::string HistoLSName;
0045     float HistoLSLowerCut;
0046     float HistoLSUpperCut;
0047   };
0048 
0049   void fillTrackingStatus(DQMStore::IBooker& ibooker, DQMStore::IGetter& igetter);
0050   void fillTrackingStatusAtLumi(DQMStore::IBooker& ibooker, DQMStore::IGetter& igetter);
0051 
0052   void fillStatusHistogram(MonitorElement*, int xbin, int ybin, float val);
0053 
0054   std::map<std::string, TrackingMEs> TrackingMEsMap;
0055   std::map<std::string, TrackingLSMEs> TrackingLSMEsMap;
0056 
0057   MonitorElement* TrackGlobalSummaryReportMap;
0058   MonitorElement* TrackGlobalSummaryReportGlobal;
0059 
0060   MonitorElement* TrackLSSummaryReportGlobal;
0061 
0062   edm::ParameterSet pSet_;
0063   bool verbose_;
0064 
0065   bool bookedTrackingGlobalStatus_;
0066   bool bookedTrackingLSStatus_;
0067 
0068   std::string TopFolderName_;
0069 };
0070 #endif