RPCFEDIntegrity

fedHisto

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 RPCFEDIntegrity_H
#define RPCFEDIntegrity_H

#include "DQMServices/Core/interface/DQMEDAnalyzer.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/ESHandle.h"

#include "DataFormats/RPCDigi/interface/RPCRawDataCounts.h"

#include <vector>
#include <string>

class RPCFEDIntegrity : public DQMEDAnalyzer {
public:
  /// Constructor
  RPCFEDIntegrity(const edm::ParameterSet &ps);

  /// Destructor
  ~RPCFEDIntegrity() override;

  /// Begin Lumi block

  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
  /// Analyze
  void analyze(const edm::Event &iEvent, const edm::EventSetup &c) override;

private:
  void labelBins(MonitorElement *myMe);
  edm::EDGetTokenT<RPCRawDataCounts> rawCountsLabel_;
  void bookFEDMe(DQMStore::IBooker &);

  std::string prefixDir_;

  bool merge_, init_;

  int FATAL_LIMIT;

  enum fedHisto { Entries, Fatal, NonFatal };

  MonitorElement *fedMe_[3];

  int numOfFED_, minFEDNum_, maxFEDNum_;
  std::vector<std::string> histoName_;
};

#endif