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 #include "FWCore/Utilities/interface/InputTag.h"
00028
00029
00030 #include "DQMServices/Core/interface/DQMStore.h"
00031 #include "FWCore/ServiceRegistry/interface/Service.h"
00032 #include "DQMServices/Core/interface/MonitorElement.h"
00033
00034
00035 #include "DataFormats/Histograms/interface/MEtoEDMFormat.h"
00036
00037
00038 #include <iostream>
00039 #include <stdlib.h>
00040 #include <string>
00041 #include <memory>
00042 #include <vector>
00043 #include <map>
00044
00045 #include "TString.h"
00046 #include "TList.h"
00047
00048 #include "classlib/utils/StringList.h"
00049 #include "classlib/utils/StringOps.h"
00050
00051 class EDMtoMEConverter : public edm::EDAnalyzer
00052 {
00053
00054 public:
00055
00056 explicit EDMtoMEConverter(const edm::ParameterSet&);
00057 virtual ~EDMtoMEConverter();
00058 virtual void beginJob();
00059 virtual void endJob();
00060 virtual void analyze(const edm::Event&, const edm::EventSetup&);
00061 virtual void beginRun(const edm::Run&, const edm::EventSetup&);
00062 virtual void endRun(const edm::Run&, const edm::EventSetup&);
00063 virtual void beginLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&);
00064 virtual void endLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&);
00065 virtual void respondToOpenInputFile(const edm::FileBlock&);
00066
00067 template <class T>
00068 void getData(T& iGetFrom, bool iEndRun);
00069
00070 typedef std::vector<uint32_t> TagList;
00071
00072 private:
00073
00074 std::string name;
00075 int verbosity;
00076 int frequency;
00077
00078 bool convertOnEndLumi;
00079 bool convertOnEndRun;
00080
00081 DQMStore *dbe;
00082 std::vector<MonitorElement*> me1, me2, me3, me4, me5, me6, me7, me8;
00083
00084
00085 unsigned int iCountf;
00086 std::map<int,int> iCount;
00087
00088 std::vector<std::string> classtypes;
00089
00090 edm::InputTag runInputTag_;
00091 edm::InputTag lumiInputTag_;
00092
00093 };
00094
00095 #endif