Back to home page

Project CMSSW displayed by LXR

 
 

    


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 }  // namespace edm
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  //  DPGAnalysis_SiStripTools_DigiInvestigatorHistogramMaker_H