Go to the documentation of this file.00001 #ifndef EDMtoMEConverter_h
00002 #define EDMtoMEConverter_h
00003
00014
00015 #include "FWCore/Framework/interface/EDAnalyzer.h"
00016 #include "FWCore/Framework/interface/Frameworkfwd.h"
00017 #include "FWCore/Framework/interface/Event.h"
00018 #include "FWCore/Framework/interface/Run.h"
00019 #include "FWCore/Framework/interface/LuminosityBlock.h"
00020 #include "FWCore/Framework/interface/FileBlock.h"
00021 #include "FWCore/Framework/interface/EventSetup.h"
00022 #include "DataFormats/Common/interface/Handle.h"
00023 #include "FWCore/Framework/interface/ESHandle.h"
00024 #include "FWCore/Framework/interface/MakerMacros.h"
00025 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00026 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00027
00028
00029 #include "DQMServices/Core/interface/DQMStore.h"
00030 #include "FWCore/ServiceRegistry/interface/Service.h"
00031 #include "DQMServices/Core/interface/MonitorElement.h"
00032
00033
00034 #include "DataFormats/Histograms/interface/MEtoEDMFormat.h"
00035
00036
00037 #include <iostream>
00038 #include <stdlib.h>
00039 #include <string>
00040 #include <memory>
00041 #include <vector>
00042 #include <map>
00043
00044 #include "TString.h"
00045 #include "TList.h"
00046
00047 #include "classlib/utils/StringList.h"
00048 #include "classlib/utils/StringOps.h"
00049
00050 class EDMtoMEConverter : public edm::EDAnalyzer
00051 {
00052
00053 public:
00054
00055 explicit EDMtoMEConverter(const edm::ParameterSet&);
00056 virtual ~EDMtoMEConverter();
00057 virtual void beginJob();
00058 virtual void endJob();
00059 virtual void analyze(const edm::Event&, const edm::EventSetup&);
00060 virtual void beginRun(const edm::Run&, const edm::EventSetup&);
00061 virtual void endRun(const edm::Run&, const edm::EventSetup&);
00062 virtual void beginLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&);
00063 virtual void endLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&);
00064 virtual void respondToOpenInputFile(const edm::FileBlock&);
00065
00066 template <class T>
00067 void getData(T& iGetFrom, bool iEndRun);
00068
00069 typedef std::vector<uint32_t> TagList;
00070
00071 private:
00072
00073 std::string name;
00074 int verbosity;
00075 int frequency;
00076
00077 bool convertOnEndLumi;
00078 bool convertOnEndRun;
00079
00080 DQMStore *dbe;
00081 std::vector<MonitorElement*> me1, me2, me3, me4, me5, me6, me7, me8;
00082
00083
00084 unsigned int iCountf;
00085 std::map<int,int> iCount;
00086
00087 std::vector<std::string> classtypes;
00088
00089 };
00090
00091 #endif