CaloTowersDQMClient

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
#ifndef _DQMOFFLINE_HCAL_CALOTOWERSDQMCLIENT_H_
#define _DQMOFFLINE_HCAL_CALOTOWERSDQMCLIENT_H_

// -*- C++ -*-
//
//
/*
 Description: This is a CaloTowers client meant to plot calotowers quantities
*/

//
// Originally create by: Hongxuan Liu
//                        May 2010
//

#include "DQMServices/Core/interface/DQMEDAnalyzer.h"
#include "DQMServices/Core/interface/DQMEDHarvester.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include "DataFormats/Math/interface/LorentzVector.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include <memory>
#include <unistd.h>

#include <fstream>
#include <iostream>
#include <vector>

class CaloTowersDQMClient : public DQMEDHarvester {
private:
  std::string outputFile_;
  edm::ParameterSet conf_;

  bool verbose_;
  bool debug_;

  std::string dirName_;
  std::string dirNameJet_;
  std::string dirNameMET_;

public:
  explicit CaloTowersDQMClient(const edm::ParameterSet &);
  ~CaloTowersDQMClient() override;

  void beginJob(void) override;
  void dqmEndJob(DQMStore::IBooker &,
                 DQMStore::IGetter &) override;  // performed in the endJob
  void beginRun(const edm::Run &run, const edm::EventSetup &c) override;

  int CaloTowersEndjob(const std::vector<MonitorElement *> &hcalMEs);
};

#endif