File indexing completed on 2024-04-06 12:06:33
0001 #ifndef DPGAnalysis_SiStripTools_DigiInvestigatorHistogramMaker_H
0002 #define DPGAnalysis_SiStripTools_DigiInvestigatorHistogramMaker_H
0003
0004 #include <string>
0005 #include <map>
0006 #include "FWCore/Framework/interface/ConsumesCollector.h"
0007 #include "DPGAnalysis/SiStripTools/interface/RunHistogramManager.h"
0008
0009 namespace edm {
0010 class ParameterSet;
0011 class Event;
0012 class Run;
0013 }
0014 class TH1F;
0015 class TProfile;
0016 class TFileDirectory;
0017
0018 class DigiInvestigatorHistogramMaker {
0019 public:
0020 DigiInvestigatorHistogramMaker(edm::ConsumesCollector&& iC);
0021 DigiInvestigatorHistogramMaker(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC);
0022
0023 ~DigiInvestigatorHistogramMaker();
0024
0025 void book(const std::string dirname, const std::map<unsigned int, std::string>& labels);
0026 void book(const std::string dirname);
0027 void beginRun(const edm::Run& iRun);
0028 void fill(const edm::Event& iEvent, const std::map<unsigned int, int>& ndigi);
0029
0030 private:
0031 std::string _hitname;
0032 const int _nbins;
0033 const unsigned int m_maxLS;
0034 const unsigned int m_LSfrac;
0035 int _scalefact;
0036 const bool _runHisto;
0037 const bool _fillHisto;
0038 std::map<unsigned int, int> _binmax;
0039 std::map<unsigned int, std::string> _labels;
0040
0041 RunHistogramManager _rhm;
0042 RunHistogramManager _fhm;
0043 std::map<unsigned int, TProfile**> _nmultvsorbrun;
0044 std::map<unsigned int, TProfile**> _nmultvsbxrun;
0045 std::map<unsigned int, TProfile**> _nmultvsbxfill;
0046 std::map<unsigned int, TH1F*> _nmult;
0047 std::map<unsigned int, TFileDirectory*> _subdirs;
0048 };
0049
0050 #endif