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