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 
72 
73  // Monitor Elements
74  std::map<int, MonitorElement*> wheelHistos;
76 
77  std::map<int, double> resultsPerLumi;
79 
80  class DTRobBinsMap {
81  public:
82  DTRobBinsMap(DQMStore::IGetter& igetter, const int fed, const int ros);
83 
84  DTRobBinsMap();
85 
86  ~DTRobBinsMap();
87 
88  // add a rob to the set of robs
89  void addRobBin(int robBin);
90  void init(bool v) { init_ = v; }
91 
92  bool robChanged(int robBin);
93 
95 
96  void readNewValues(DQMStore::IGetter& igetter);
97 
98  private:
99  int getValueRobBin(int robBin) const;
100  int getValueRos() const;
101 
102  int rosBin;
103  bool init_;
104 
105  std::map<int, int> robsAndValues;
106  int rosValue;
107 
110 
113  };
114 
115  std::map<DTChamberId, DTRobBinsMap> chamberMap;
116 
117  // For uROS starting in Year 2018
119  public:
120  DTLinkBinsMap(DQMStore::IGetter& igetter, const int fed, const int mapSlot);
121 
122  DTLinkBinsMap();
123 
124  ~DTLinkBinsMap();
125 
126  // add a rob to the set of robs
127  void addLinkBin(int linkBin);
128  void init(bool v) { init_ = v; }
129 
130  bool linkChanged(int linkBin);
131 
133 
134  void readNewValues(DQMStore::IGetter& igetter);
135 
136  private:
137  int getValueLinkBin(int linkBin) const;
138 
139  bool init_;
140 
141  std::map<int, int> linksAndValues;
142 
144 
146  };
147 
148  std::map<DTChamberId, DTLinkBinsMap> chamberMapUros;
149 };
150 
151 #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)
edm::ESGetToken< DTReadOutMapping, DTReadOutMappingRcd > mappingToken_
DTBlockedROChannelsTest(const edm::ParameterSet &ps)
Constructor.
void readNewValues(DQMStore::IGetter &igetter)
const 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)
double getChamberPercentage(DQMStore::IGetter &)
void beginRun(const edm::Run &, const edm::EventSetup &) override
BeginRun.
~DTBlockedROChannelsTest() override
Destructor.
double getChamberPercentage(DQMStore::IGetter &)
Definition: Run.h:45