CMS 3D CMS Logo

MEtoEDMConverter.h
Go to the documentation of this file.
1 #ifndef MEtoEDMConverter_h
2 #define MEtoEDMConverter_h
3 
12 // framework & common header files
25 
26 //DQM services
30 
31 // helper files
32 #include <iostream>
33 #include <cstdlib>
34 #include <string>
35 #include <memory>
36 #include <vector>
37 #include <map>
38 #include <cassert>
39 #include <cstdint>
40 
41 #include "TString.h"
42 #include "TH1F.h"
43 #include "TH1S.h"
44 #include "TH1D.h"
45 #include "TH2F.h"
46 #include "TH2S.h"
47 #include "TH2D.h"
48 #include "TH3F.h"
49 #include "TProfile.h"
50 #include "TProfile2D.h"
51 #include "TObjString.h"
52 
53 namespace meedm {
54  struct Void {};
55 }
56 
57 //Using RunCache and LuminosityBlockCache tells the framework the module is able to
58 // allow multiple concurrent Runs and LuminosityBlocks.
59 
60 class MEtoEDMConverter : public edm::one::EDProducer<edm::RunCache<meedm::Void>,
61  edm::LuminosityBlockCache<meedm::Void>,
62  edm::EndLuminosityBlockProducer,
63  edm::EndRunProducer,
64  edm::one::SharedResources>
65 {
66 public:
67  explicit MEtoEDMConverter(const edm::ParameterSet&);
68  ~MEtoEDMConverter() override;
69  void beginJob() override;
70  void endJob() override;
71  void produce(edm::Event&, const edm::EventSetup&) override;
72  std::shared_ptr<meedm::Void> globalBeginRun(edm::Run const&, const edm::EventSetup&) const override;
73  void globalEndRun(edm::Run const&, const edm::EventSetup&) override;
74  void endRunProduce(edm::Run&, const edm::EventSetup&) override;
75  void endLuminosityBlockProduce(edm::LuminosityBlock&, const edm::EventSetup&) override;
77  std::shared_ptr<meedm::Void> globalBeginLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) const override;
78 
79  template <class T>
80  void putData(DQMStore::IGetter &g, T& iPutTo, bool iLumiOnly, uint32_t run, uint32_t lumi);
81 
82  using TagList = std::vector<uint32_t>;
83 
84 private:
86  int verbosity;
87  int frequency;
91 
92  // private statistics information
93  std::map<int,int> iCount;
94 
95 }; // end class declaration
96 
97 #endif
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
std::vector< uint32_t > TagList
void beginJob()
Definition: Breakpoints.cc:14
std::map< int, int > iCount
long double T
void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
Definition: Run.h:45