CMS 3D CMS Logo

HcalBaseClient.h

Go to the documentation of this file.
00001 #ifndef HcalBaseClient_H
00002 #define HcalBaseClient_H
00003 
00004 #include "FWCore/Framework/interface/Event.h"
00005 #include "FWCore/Framework/interface/MakerMacros.h"
00006 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00008 #include "FWCore/Utilities/interface/CPUTimer.h" 
00009 
00010 #include "DQMServices/Core/interface/DQMStore.h"
00011 #include "DQMServices/Core/interface/MonitorElement.h"
00012 #include "DQMServices/Core/interface/DQMOldReceiver.h"
00013 
00014 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
00015 
00016 #include "TROOT.h"
00017 #include "TStyle.h"
00018 #include "TColor.h"
00019 
00020 #include "TH1F.h"
00021 #include "TH2F.h"
00022 #include "TFile.h"
00023 
00024 #include "DQM/HcalMonitorClient/interface/HcalClientUtils.h"
00025 #include "DQM/HcalMonitorClient/interface/HcalHistoUtils.h"
00026 
00027 #include <memory>
00028 #include <iostream>
00029 #include <fstream>
00030 #include <vector>
00031 #include <string>
00032 
00033 
00034 
00035 // Don't like having these here in the header; can we move them to src?
00036 using namespace cms;
00037 using namespace edm;
00038 using namespace std;
00039 
00040 class HcalBaseClient{
00041   
00042  public:
00043   
00045   HcalBaseClient();
00046   
00048   virtual ~HcalBaseClient();
00049   
00050   virtual void init(const ParameterSet& ps, DQMStore* dbe_, string clientName);
00051 
00052   void errorOutput();
00053   void getTestResults(int& totalTests, 
00054                       map<string, vector<QReport*> >& err, 
00055                       map<string, vector<QReport*> >& warn, 
00056                       map<string, vector<QReport*> >& other);
00057   bool hasErrors() const { return dqmReportMapErr_.size(); }
00058   bool hasWarnings() const { return dqmReportMapWarn_.size(); }
00059   bool hasOther() const { return dqmReportMapOther_.size(); }
00060   bool validDetId(HcalSubdetector sd, int ies, int ip, int dp);
00061   
00062   void getSJ6histos( char* dir, char* name, TH2F* h[6]);
00063   void getSJ6histos( char* dir, char* name, TH1F* h[6]);
00064 
00065  protected:
00066 
00067   int ievt_;
00068   int jevt_;
00069   
00070   bool cloneME_;
00071   int debug_;
00072   string process_;
00073   string baseFolder_;
00074   string clientName_;
00075   
00076   bool showTiming_; // controls whether to show timing diagnostic info 
00077   edm::CPUTimer cpu_timer; //  
00078   bool fillUnphysical_; // determine whether or not to fill unphysical cells in iphi
00079 
00080   DQMStore* dbe_;
00081   
00082   bool subDetsOn_[4];
00083   
00084   // Define standard error palette
00085   int pcol_error_[20];
00086   float rgb_error_[20][3];
00087 
00088 
00089   // Quality criteria for data integrity
00090   map<string, vector<QReport*> > dqmReportMapErr_;
00091   map<string, vector<QReport*> > dqmReportMapWarn_;
00092   map<string, vector<QReport*> > dqmReportMapOther_;
00093   map<string, string> dqmQtests_;
00094 
00095 };
00096 
00097 #endif

Generated on Tue Jun 9 17:32:54 2009 for CMSSW by  doxygen 1.5.4