Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:42:58

0001 #ifndef RPCFEDIntegrity_H
0002 #define RPCFEDIntegrity_H
0003 
0004 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0005 #include "DQMServices/Core/interface/DQMStore.h"
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007 #include "FWCore/Framework/interface/Event.h"
0008 #include "FWCore/Framework/interface/ESHandle.h"
0009 
0010 #include "DataFormats/RPCDigi/interface/RPCRawDataCounts.h"
0011 
0012 #include <vector>
0013 #include <string>
0014 
0015 class RPCFEDIntegrity : public DQMEDAnalyzer {
0016 public:
0017   /// Constructor
0018   RPCFEDIntegrity(const edm::ParameterSet &ps);
0019 
0020   /// Destructor
0021   ~RPCFEDIntegrity() override;
0022 
0023   /// Begin Lumi block
0024 
0025   void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0026   /// Analyze
0027   void analyze(const edm::Event &iEvent, const edm::EventSetup &c) override;
0028 
0029 private:
0030   void labelBins(MonitorElement *myMe);
0031   edm::EDGetTokenT<RPCRawDataCounts> rawCountsLabel_;
0032   void bookFEDMe(DQMStore::IBooker &);
0033 
0034   std::string prefixDir_;
0035 
0036   bool merge_, init_;
0037 
0038   int FATAL_LIMIT;
0039 
0040   enum fedHisto { Entries, Fatal, NonFatal };
0041 
0042   MonitorElement *fedMe_[3];
0043 
0044   int numOfFED_, minFEDNum_, maxFEDNum_;
0045   std::vector<std::string> histoName_;
0046 };
0047 
0048 #endif