CMS 3D CMS Logo

DTBlockedROChannelsTest.h
Go to the documentation of this file.
1 #ifndef DTMonitorModule_DTBlockedROChannelsTest_H
2 #define DTMonitorModule_DTBlockedROChannelsTest_H
3 
20 
21 class DTReadOutMapping;
23 
25 public:
28 
30  ~DTBlockedROChannelsTest() override;
31 
32 protected:
34  void beginRun(const edm::Run&, const edm::EventSetup&) override;
35 
36  void fillChamberMap(DQMStore::IGetter& igetter, const edm::EventSetup& c);
37 
40 
44  edm::LuminosityBlock const&,
45  edm::EventSetup const&) override;
47 
48 private:
49  int readOutToGeometry(int dduId, int rosNumber, int robNumber, int& wheel, int& station, int& sector);
50 
51  int theDDU(int crate, int slot, int link, bool tenDDU);
52  int theROS(int slot, int link);
53  int theROB(int slot, int link);
54 
55  //Number of onUpdates
56  int nupdates;
57 
58  // prescale on the # of LS to update the test
61  bool checkUros;
62  int nevents;
64  unsigned int nLumiSegs;
65  unsigned int prevNLumiSegs;
66  double prevTotalPerc;
67 
68  int run;
69 
71 
72  // Monitor Elements
73  std::map<int, MonitorElement*> wheelHistos;
75 
76  std::map<int, double> resultsPerLumi;
78 
79  class DTRobBinsMap {
80  public:
81  DTRobBinsMap(DQMStore::IGetter& igetter, const int fed, const int ros);
82 
83  DTRobBinsMap();
84 
85  ~DTRobBinsMap();
86 
87  // add a rob to the set of robs
88  void addRobBin(int robBin);
89  void init(bool v) { init_ = v; }
90 
91  bool robChanged(int robBin);
92 
94 
95  void readNewValues(DQMStore::IGetter& igetter);
96 
97  private:
98  int getValueRobBin(int robBin) const;
99  int getValueRos() const;
100 
101  int rosBin;
102  bool init_;
103 
104  std::map<int, int> robsAndValues;
105  int rosValue;
106 
109 
112  };
113 
114  std::map<DTChamberId, DTRobBinsMap> chamberMap;
115 
116  // For uROS starting in Year 2018
118  public:
119  DTLinkBinsMap(DQMStore::IGetter& igetter, const int fed, const int mapSlot);
120 
121  DTLinkBinsMap();
122 
123  ~DTLinkBinsMap();
124 
125  // add a rob to the set of robs
126  void addLinkBin(int linkBin);
127  void init(bool v) { init_ = v; }
128 
129  bool linkChanged(int linkBin);
130 
132 
133  void readNewValues(DQMStore::IGetter& igetter);
134 
135  private:
136  int getValueLinkBin(int linkBin) const;
137 
138  bool init_;
139 
140  std::map<int, int> linksAndValues;
141 
143 
145  };
146 
147  std::map<DTChamberId, DTLinkBinsMap> chamberMapUros;
148 };
149 
150 #endif
int theROB(int slot, int link)
DTTimeEvolutionHisto * hSystFractionVsLS
std::map< DTChamberId, DTLinkBinsMap > chamberMapUros
std::map< int, MonitorElement * > wheelHistos
void performClientDiagnostic(DQMStore::IGetter &igetter)
DQM Client operations.
void dqmEndLuminosityBlock(DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
DQM Client Diagnostic in online mode.
std::map< DTChamberId, DTRobBinsMap > chamberMap
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
std::map< int, double > resultsPerLumi
int theROS(int slot, int link)
void fillChamberMap(DQMStore::IGetter &igetter, const edm::EventSetup &c)
DTBlockedROChannelsTest(const edm::ParameterSet &ps)
Constructor.
edm::ESHandle< DTReadOutMapping > mapping
void readNewValues(DQMStore::IGetter &igetter)
int theDDU(int crate, int slot, int link, bool tenDDU)
int readOutToGeometry(int dduId, int rosNumber, int robNumber, int &wheel, int &station, int &sector)
void beginRun(const edm::Run &, const edm::EventSetup &) override
BeginRun.
~DTBlockedROChannelsTest() override
Destructor.
double getChamberPercentage(DQMStore::IGetter &)
Definition: Run.h:45