text: #include "Validation/EventGenerator/interface/DQMHelper.h"
  
  DQMHelper::DQMHelper(DQMStore::IBooker* i) : ibooker(i) {}
  
  DQMHelper::~DQMHelper() {}
  
  DQMHelper::MonitorElement* DQMHelper::book1dHisto(const std::string& name,
                                                    const std::string& title,
                                                    int n,
                                                    double xmin,
                                                    double xmax,
                                                    const std::string& xaxis,
                                                    const std::string& yaxis) {
    MonitorElement* dqm = ibooker->book1D(name, title, n, xmin, xmax, [](TH1* th1) { th1->Sumw2(); });
    dqm->setAxisTitle(xaxis, 1);
    dqm->setAxisTitle(yaxis, 2);
    return dqm;
  }
  
  DQMHelper::MonitorElement* DQMHelper::book1dHisto(
      const std::string& name, const std::string& title, int n, double xmin, double xmax) {
    MonitorElement* dqm = ibooker->book1D(name, title, n, xmin, xmax, [](TH1* th1) { th1->Sumw2(); });
    return dqm;
  }
  
  DQMHelper::MonitorElement* DQMHelper::book2dHisto(const std::string& name,
                                                    const std::string& title,
                                                    int nx,
                                                    double xmin,
                                                    double xmax,
                                                    int ny,
                                                    double ymin,
                                                    double ymax,
                                                    const std::string& xaxis,
                                                    const std::string& yaxis) {
    MonitorElement* dqm = ibooker->book2D(name, title, nx, xmin, xmax, ny, ymin, ymax, [](TH1* th1) { th1->Sumw2(); });
    dqm->setAxisTitle(xaxis, 1);
    dqm->setAxisTitle(yaxis, 2);
    return dqm;
  }
  
  DQMHelper::MonitorElement* DQMHelper::book2dHisto(const std::string& name,
                                                    const std::string& title,
                                                    int nx,
                                                    double xmin,
                                                    double xmax,
                                                    int ny,
                                                    double ymin,
                                                    double ymax) {
    MonitorElement* dqm = ibooker->book2D(name, title, nx, xmin, xmax, ny, ymin, ymax, [](TH1* th1) { th1->Sumw2(); });
    return dqm;
  }
  