CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/DQMServices/Diagnostic/interface/DQMHistoryServiceBase.h

Go to the documentation of this file.
00001 #ifndef DQMServices_Diagnostic_DQMHistoryServiceBase_H
00002 #define DQMServices_Diagnostic_DQMHistoryServiceBase_H
00003 
00004 #include "FWCore/Framework/interface/Frameworkfwd.h"
00005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00006 #include "FWCore/ServiceRegistry/interface/Service.h"
00007 #include "CondFormats/DQMObjects/interface/HDQMSummary.h"
00008 #include "DQMServices/Core/interface/DQMStore.h"
00009 #include <string>
00010 #include <memory>
00016 class HDQMfitUtilities;
00017 
00018 class DQMHistoryServiceBase {
00019  public:
00020 
00021   DQMHistoryServiceBase(const edm::ParameterSet&,const edm::ActivityRegistry&);
00022   virtual ~DQMHistoryServiceBase();
00023  
00024   virtual void getMetaDataString(std::stringstream& ss){ss << "Run " << getRunNumber();};
00025 
00026   virtual bool checkForCompatibility(std::string ss);
00027  
00028   virtual void getObj(HDQMSummary* & obj){createSummary(); obj=obj_;}
00029 
00030   virtual void initialize();
00031 
00032   virtual void setSeparator (std::string const&);
00033   
00034   protected:
00035 
00036   virtual void createSummary();
00037   virtual void openRequestedFile(); 
00038   virtual void scanTreeAndFillSummary(const std::vector<MonitorElement*>& MEs, HDQMSummary* summary,std::string& histoName, std::vector<std::string>& Quantities);
00039   virtual uint32_t getRunNumber() const;
00040   virtual uint32_t returnDetComponent(const MonitorElement* MEs){return 999999;}
00041   
00042   virtual bool setDBLabelsForLandau(std::string& keyName, std::vector<std::string>& userDBContent);
00043   virtual bool setDBLabelsForGauss (std::string& keyName, std::vector<std::string>& userDBContent);
00044   virtual bool setDBLabelsForStat  (std::string& keyName, std::vector<std::string>& userDBContent);
00045   virtual bool setDBLabelsForUser  (std::string& keyName, std::vector<std::string>& userDBContent, std::string& quantity ){return setDBLabelsForUser(keyName, userDBContent);}
00046   virtual bool setDBLabelsForUser  (std::string& keyName, std::vector<std::string>& userDBContent){return false;}
00047 
00048   virtual bool setDBValuesForLandau(std::vector<MonitorElement*>::const_iterator iterMes, HDQMSummary::InputVector& values);
00049   virtual bool setDBValuesForGauss(std::vector<MonitorElement*>::const_iterator iterMes, HDQMSummary::InputVector& values );
00050   virtual bool setDBValuesForStat(std::vector<MonitorElement*>::const_iterator iterMes, HDQMSummary::InputVector& values  );
00051   virtual bool setDBValuesForUser(std::vector<MonitorElement*>::const_iterator iterMes, HDQMSummary::InputVector& values, std::string& quantity ){return setDBValuesForUser(iterMes,values);}
00052   virtual bool setDBValuesForUser(std::vector<MonitorElement*>::const_iterator iterMes, HDQMSummary::InputVector& values){return false;}
00053   
00054   DQMStore* dqmStore_;
00055   edm::ParameterSet iConfig_;
00056   HDQMSummary* obj_;
00057   HDQMfitUtilities *fitME;
00058   std::string fSep;
00059 };
00060 
00061 #endif //DQMServices_Diagnostic_DQMHistoryServiceBase_H