DigiVertexCorrHistogramMaker

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
#ifndef DPGAnalysis_SiStripTools_DigiVertexCorrHistogramMaker_H
#define DPGAnalysis_SiStripTools_DigiVertexCorrHistogramMaker_H

#include "FWCore/Framework/interface/ConsumesCollector.h"
#include <string>
#include <map>

namespace edm {
  class ParameterSet;
  class Event;
  class Run;
}  // namespace edm
class TH2F;
class TProfile;
class TProfile2D;
class TFileDirectory;
class RunHistogramManager;

class DigiVertexCorrHistogramMaker {
public:
  DigiVertexCorrHistogramMaker();
  DigiVertexCorrHistogramMaker(const edm::ParameterSet& iConfig);

  ~DigiVertexCorrHistogramMaker();

  void book(const std::string dirname, const std::map<unsigned int, std::string>& labels, edm::ConsumesCollector&& iC);
  void book(const std::string dirname, edm::ConsumesCollector&& iC) { book(dirname, iC); }
  void book(const std::string dirname, edm::ConsumesCollector& iC);
  void beginRun(const edm::Run& iRun);
  void fill(const edm::Event& iEvent, const unsigned int nvtx, const std::map<unsigned int, int>& ndigi);

private:
  std::map<unsigned int, RunHistogramManager*> m_fhm;
  bool m_runHisto;
  std::string m_hitname;
  const int m_nbins;
  const int m_scalefact;
  const int m_maxnvtx;
  std::map<unsigned int, int> m_binmax;
  std::map<unsigned int, std::string> m_labels;

  std::map<unsigned int, TH2F*> m_nmultvsnvtx;
  std::map<unsigned int, TProfile*> m_nmultvsnvtxprof;
  std::map<unsigned int, TProfile2D**> m_nmultvsnvtxvsbxprofrun;
  std::map<unsigned int, TFileDirectory*> m_subdirs;
};

#endif  //  DPGAnalysis_SiStripTools_DigiVertexCorrHistogramMaker_H