CMS 3D CMS Logo

SiStripFEDDataCheck.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: DQM/SiStripMonitorHardware
4 // Class: SiStripFEDCheckPlugin
5 //
10 //
11 // Original Author: Nicholas Cripps
12 // Created: 2008/09/16
13 //
14 //
15 #include <memory>
16 
30 
37 
40 
42 
44 
45 #include "DQM/SiStripMonitorHardware/interface/FEDErrors.hh"
46 
48 
49 //
50 // Class declaration
51 //
52 
54 public:
56  ~SiStripFEDCheckPlugin() override;
57  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
58 
59 private:
60  void analyze(const edm::Event&, const edm::EventSetup&) override;
61  void dqmEndRun(edm::Run const&, edm::EventSetup const&) override;
62 
63  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
64 
65  bool hasFatalError(const FEDRawData& fedData, unsigned int fedId) const;
66  bool hasNonFatalError(const FEDRawData& fedData, unsigned int fedId) const;
67  void updateCabling(const SiStripFedCablingRcd& cablingRcd);
68 
69  inline void fillPresent(unsigned int fedId, bool present);
70  inline void fillFatalError(unsigned int fedId, bool fatalError);
71  inline void fillNonFatalError(unsigned int fedId, float nonFatalError);
72 
73  void doUpdateIfNeeded();
74  void updateHistograms();
75 
80 
81  //Histograms
87 
90 
91  //For histogram cache
92  unsigned int
93  updateFrequency_; //Update histograms with cached values every n events. If zero then fill normally every event
94  //cache values
95  std::vector<unsigned int> fedsPresentBinContents_;
96  std::vector<unsigned int> fedFatalErrorBinContents_;
97  std::vector<unsigned int> fedNonFatalErrorBinContents_;
98  unsigned int eventCount_; //incremented by doUpdateIfNeeded()
99 
100  //Fine grained control of tests
102 
103  //Cabling
105 
109 
110  unsigned int siStripFedIdMin_;
111  unsigned int siStripFedIdMax_;
112 
114 };
115 
116 //
117 // Constructors and destructor
118 //
119 
121  : rawDataTag_(iConfig.getParameter<edm::InputTag>("RawDataTag")),
122  dirName_(iConfig.getUntrackedParameter<std::string>("DirName", "SiStrip/FEDIntegrity/")),
123  printDebug_(iConfig.getUntrackedParameter<bool>("PrintDebugMessages", false)),
124  doPLOTfedsPresent_(iConfig.getParameter<bool>("doPLOTfedsPresent")),
125  doPLOTfedFatalErrors_(iConfig.getParameter<bool>("doPLOTfedFatalErrors")),
126  doPLOTfedNonFatalErrors_(iConfig.getParameter<bool>("doPLOTfedNonFatalErrors")),
127  doPLOTnFEDinVsLS_(iConfig.getParameter<bool>("doPLOTnFEDinVsLS")),
128  doPLOTnFEDinWdataVsLS_(iConfig.getParameter<bool>("doPLOTnFEDinWdataVsLS")),
129  fedsPresent_(nullptr),
130  fedFatalErrors_(nullptr),
131  fedNonFatalErrors_(nullptr),
132  nFEDinVsLS_(nullptr),
133  nFEDinWdataVsLS_(nullptr),
134  updateFrequency_(iConfig.getUntrackedParameter<unsigned int>("HistogramUpdateFrequency", 0)),
135  fedsPresentBinContents_(FEDNumbering::MAXSiStripFEDID + 1, 0),
136  fedFatalErrorBinContents_(FEDNumbering::MAXSiStripFEDID + 1, 0),
137  fedNonFatalErrorBinContents_(FEDNumbering::MAXSiStripFEDID + 1, 0),
138  eventCount_(0),
139  doPayloadChecks_(iConfig.getUntrackedParameter<bool>("DoPayloadChecks", true)),
140  checkChannelLengths_(iConfig.getUntrackedParameter<bool>("CheckChannelLengths", true)),
141  checkPacketCodes_(iConfig.getUntrackedParameter<bool>("CheckChannelPacketCodes", true)),
142  checkFELengths_(iConfig.getUntrackedParameter<bool>("CheckFELengths", true)),
143  checkChannelStatusBits_(iConfig.getUntrackedParameter<bool>("CheckChannelStatus", true)),
144  verbose_(iConfig.getUntrackedParameter<bool>("verbose", false)),
145  fedCablingWatcher_(this, &SiStripFEDCheckPlugin::updateCabling),
146  fedCablingToken_(esConsumes<>()),
147  tTopoToken_(esConsumes<>()) {
148  rawDataToken_ = consumes<FEDRawDataCollection>(rawDataTag_);
150  std::stringstream ss;
151  ss << "Payload checks are disabled but individual payload checks have been enabled. The following payload checks "
152  "will be skipped: ";
154  ss << "Channel length check, ";
155  if (checkPacketCodes_)
156  ss << "Channel packet code check, ";
158  ss << "Cabled channel status bits checks, ";
159  if (checkFELengths_)
160  ss << "FE Unit legnth check";
161  edm::LogWarning("SiStripFEDCheck") << ss.str();
162  }
163 
166 
167  conf_ = iConfig;
168 }
169 
171 
172 //
173 // Member functions
174 //
175 
176 // ------------ method called to for each event ------------
178  const auto tTopo = &iSetup.getData(tTopoToken_);
179  fedCablingWatcher_.check(iSetup);
180 
181  //get raw data
182  edm::Handle<FEDRawDataCollection> rawDataCollectionHandle;
183  const bool gotData = iEvent.getByToken(rawDataToken_, rawDataCollectionHandle);
184  if (verbose_)
185  std::cout << "[SiStripFEDCheckPlugin::analyze] gotData ? " << (gotData ? "YES" : "NOPE") << std::endl;
186  if (!gotData) {
187  //module is required to silently do nothing when data is not present
188  return;
189  }
190  const FEDRawDataCollection& rawDataCollection = *rawDataCollectionHandle;
191 
192  //FED errors
193  FEDErrors lFedErrors;
194 
195  //loop over siStrip FED IDs
196  size_t nFEDin = 0;
197  size_t nFEDinWdata = 0;
198  for (unsigned int fedId = siStripFedIdMin_; fedId <= siStripFedIdMax_; fedId++) {
199  const FEDRawData& fedData = rawDataCollection.FEDData(fedId);
200 
201  //create an object to fill all errors
202  //third param to false:save time by not initialising anything not used here
203  lFedErrors.initialiseFED(fedId, cabling_, tTopo, false);
204 
205  //check data exists
206  if (!fedData.size() || !fedData.data()) {
207  fillPresent(fedId, false);
208  continue;
209  }
210  if (verbose_)
211  std::cout << "FED " << fedId;
212  if (verbose_)
213  std::cout << " fedData.size(): " << fedData.size();
214  if (verbose_)
215  std::cout << " fedData.data(): " << fedData.data() << std::endl;
216  if (fedData.size())
217  nFEDin++;
218  if (fedData.size() && fedData.data())
219  nFEDinWdata++;
220 
221  //fill buffer present histogram
222  fillPresent(fedId, true);
223 
224  //check for fatal errors
225  //no need for debug output
226  bool hasFatalErrors = false;
227  float rateNonFatal = 0;
228 
229  std::unique_ptr<const sistrip::FEDBuffer> buffer;
230 
231  if (!lFedErrors.fillFatalFEDErrors(fedData, 0)) {
232  hasFatalErrors = true;
233  } else {
234  //need to construct full object to go any further
236  const auto st_buffer = sistrip::preconstructCheckFEDBuffer(fedData, true);
237  if (sistrip::FEDBufferStatusCode::SUCCESS != st_buffer) {
238  throw cms::Exception("FEDBuffer") << st_buffer << " (check debug output for more details)";
239  }
240  auto tmp_buffer = std::make_unique<sistrip::FEDBuffer>(fedData, true);
241  tmp_buffer->findChannels();
242  buffer = std::move(tmp_buffer); // const now
243  if (doPayloadChecks_) {
244  bool channelLengthsOK = checkChannelLengths_ ? buffer->checkChannelLengthsMatchBufferLength() : true;
245  bool channelPacketCodesOK = checkPacketCodes_ ? buffer->checkChannelPacketCodes() : true;
246  bool feLengthsOK = checkFELengths_ ? buffer->checkFEUnitLengths() : true;
247  if (!channelLengthsOK || !channelPacketCodesOK || !feLengthsOK) {
248  hasFatalErrors = true;
249  }
250  }
252  rateNonFatal = lFedErrors.fillNonFatalFEDErrors(buffer.get(), cabling_);
253  }
254  }
255 
256  if (hasFatalErrors) {
257  fillFatalError(fedId, true);
258  if (printDebug_) {
259  if (!buffer.get()) {
260  const auto st_buffer = sistrip::preconstructCheckFEDBuffer(fedData, true);
261  if (sistrip::FEDBufferStatusCode::SUCCESS != st_buffer) {
262  throw cms::Exception("FEDBuffer") << st_buffer << " (check debug output for more details)";
263  }
264  auto tmp_buffer = std::make_unique<sistrip::FEDBuffer>(fedData, true);
265  tmp_buffer->findChannels();
266  buffer = std::move(tmp_buffer); // const now
267  }
268  edm::LogInfo("SiStripFEDCheck") << "Fatal error with FED ID " << fedId << ". Check summary: " << std::endl
269  << buffer->checkSummary() << std::endl;
270  std::stringstream ss;
271  buffer->dump(ss);
272  edm::LogInfo("SiStripFEDCheck") << ss.str();
273  }
274  } else {
275  fillFatalError(fedId, false);
276  //fill non-fatal errors histogram if there were no fatal errors
277  fillNonFatalError(fedId, rateNonFatal);
278  if (printDebug_ && rateNonFatal > 0) {
279  if (!buffer.get()) {
280  const auto st_buffer = sistrip::preconstructCheckFEDBuffer(fedData, true);
281  if (sistrip::FEDBufferStatusCode::SUCCESS != st_buffer) {
282  throw cms::Exception("FEDBuffer") << st_buffer << " (check debug output for more details)";
283  }
284  auto tmp_buffer = std::make_unique<sistrip::FEDBuffer>(fedData, true);
285  tmp_buffer->findChannels();
286  buffer = std::move(tmp_buffer); // const now
287  }
288  edm::LogInfo("SiStripFEDCheck") << "Non-fatal error with FED ID " << fedId << " for " << rateNonFatal
289  << " of the channels. Check summary: " << std::endl
290  << buffer->checkSummary() << std::endl;
291  std::stringstream ss;
292  buffer->dump(ss);
293  edm::LogInfo("SiStripFEDCheck") << ss.str();
294  }
295  }
296  } //loop over FED IDs
297  if (verbose_)
298  std::cout << "nFEDin: " << nFEDin << " nFEDinWdata: " << nFEDinWdata << std::endl;
299  if (doPLOTnFEDinVsLS_)
300  nFEDinVsLS_->Fill(static_cast<double>(iEvent.id().luminosityBlock()), nFEDin);
302  nFEDinWdataVsLS_->Fill(static_cast<double>(iEvent.id().luminosityBlock()), nFEDinWdata);
303 
304  //update histograms if needed
306 }
307 
308 // ------------ method called once each job just before starting event loop ------------
310  const edm::Run& run,
311  const edm::EventSetup& eSetup) {
312  size_t nFED = siStripFedIdMax_ - siStripFedIdMin_ + 1;
313  double xFEDmin = siStripFedIdMin_ - 0.5;
314  double xFEDmax = siStripFedIdMax_ + 0.5;
315 
316  //get DQM store
317  ibooker.setCurrentFolder(dirName_);
318  //book histograms
319  if (doPLOTfedsPresent_) {
320  fedsPresent_ =
321  ibooker.book1D("FEDEntries", "Number of times FED buffer is present in data", nFED, xFEDmin, xFEDmax);
322  fedsPresent_->setAxisTitle("FED-ID", 1);
323  }
324 
325  if (doPLOTfedFatalErrors_) {
326  fedFatalErrors_ = ibooker.book1D("FEDFatal", "Number of fatal errors in FED buffer", nFED, xFEDmin, xFEDmax);
327  fedFatalErrors_->setAxisTitle("FED-ID", 1);
328  }
329 
332  ibooker.book1D("FEDNonFatal", "Number of non fatal errors in FED buffer", nFED, xFEDmin, xFEDmax);
333  fedNonFatalErrors_->setAxisTitle("FED-ID", 1);
334  }
335 
336  int LSBin = conf_.getParameter<int>("LSBin");
337  double LSMin = conf_.getParameter<double>("LSMin");
338  double LSMax = conf_.getParameter<double>("LSMax");
339 
340  if (doPLOTnFEDinVsLS_) {
341  nFEDinVsLS_ =
342  ibooker.bookProfile("nFEDinVsLS", "number of FED in Vs LS", LSBin, LSMin, LSMax, nFED, xFEDmin, xFEDmax);
343  nFEDinVsLS_->setAxisTitle("LS", 1);
344  nFEDinVsLS_->setAxisTitle("FED-ID", 2);
345  }
346 
348  nFEDinWdataVsLS_ = ibooker.bookProfile(
349  "nFEDinWdataVsLS", "number of FED in (with data) Vs LS", LSBin, LSMin, LSMax, nFED, xFEDmin, xFEDmax);
350  nFEDinWdataVsLS_->setAxisTitle("LS", 1);
351  nFEDinWdataVsLS_->setAxisTitle("FED-ID", 2);
352  }
353 }
354 
355 // ------------ method called once each run just after ending the event loop ------------
357 
359  cabling_ = &cablingRcd.get(fedCablingToken_);
360 }
361 
362 void SiStripFEDCheckPlugin::fillPresent(unsigned int fedId, bool present) {
363  if (present) {
364  if (updateFrequency_)
366  else if (doPLOTfedsPresent_)
368  }
369 }
370 
371 void SiStripFEDCheckPlugin::fillFatalError(unsigned int fedId, bool fatalError) {
372  if (updateFrequency_) {
373  if (fatalError)
375  } else {
376  //fedFatalErrors_->Fill( fatalError ? 1 : 0 );
377  if (fatalError)
380  }
381 }
382 
383 void SiStripFEDCheckPlugin::fillNonFatalError(unsigned int fedId, float nonFatalError) {
384  if (updateFrequency_) {
385  if (nonFatalError > 0)
386  fedNonFatalErrorBinContents_[fedId]++; //nonFatalError;
387  } else {
388  if (nonFatalError > 0)
391  }
392 }
393 
395  eventCount_++;
398  }
399 }
400 
402  //if the cache is not being used then do nothing
403  if (!updateFrequency_)
404  return;
405  unsigned int entriesFedsPresent = 0;
406  unsigned int entriesFatalErrors = 0;
407  unsigned int entriesNonFatalErrors = 0;
408  for (unsigned int fedId = siStripFedIdMin_, bin = 1; fedId < siStripFedIdMax_ + 1; fedId++, bin++) {
409  unsigned int fedsPresentBin = fedsPresentBinContents_[fedId];
410  if (doPLOTfedsPresent_)
411  fedsPresent_->getTH1()->SetBinContent(bin, fedsPresentBin);
412  entriesFedsPresent += fedsPresentBin;
413  unsigned int fedFatalErrorsBin = fedFatalErrorBinContents_[fedId];
415  fedFatalErrors_->getTH1()->SetBinContent(bin, fedFatalErrorsBin);
416  entriesFatalErrors += fedFatalErrorsBin;
417  unsigned int fedNonFatalErrorsBin = fedNonFatalErrorBinContents_[fedId];
419  fedNonFatalErrors_->getTH1()->SetBinContent(bin, fedNonFatalErrorsBin);
420  entriesNonFatalErrors += fedNonFatalErrorsBin;
421  }
422  if (doPLOTfedsPresent_)
423  fedsPresent_->getTH1()->SetEntries(entriesFedsPresent);
425  fedFatalErrors_->getTH1()->SetEntries(entriesFatalErrors);
427  fedNonFatalErrors_->getTH1()->SetEntries(entriesNonFatalErrors);
428 }
431 
432  // Directory to book histograms in
433  desc.addUntracked<std::string>("DirName", "SiStrip/FEDIntegrity/");
434  // Raw data collection
435  desc.add<edm::InputTag>("RawDataTag", edm::InputTag("source"));
436  // Number of events to cache info before updating histograms
437  // (set to zero to disable cache)
438  // HistogramUpdateFrequency = cms.untracked.uint32(0),
439  desc.addUntracked<unsigned int>("HistogramUpdateFrequency", 1000);
440  // Print info about errors buffer dumps to LogInfo(SiStripFEDCheck)
441  desc.addUntracked<bool>("PrintDebugMessages", false);
442  desc.add<bool>("doPLOTfedsPresent", true);
443  desc.add<bool>("doPLOTfedFatalErrors", true);
444  desc.add<bool>("doPLOTfedNonFatalErrors", true);
445  desc.add<bool>("doPLOTnFEDinVsLS", false);
446  desc.add<bool>("doPLOTnFEDinWdataVsLS", false);
447  // Write the DQM store to a file (DQMStore.root) at the end of the run
448  desc.addUntracked<bool>("WriteDQMStore", false);
449  // Use to disable all payload (non-fatal) checks
450  desc.addUntracked<bool>("DoPayloadChecks", true);
451  // Use to disable check on channel lengths
452  desc.addUntracked<bool>("CheckChannelLengths", true);
453  // Use to disable check on channel packet codes
454  desc.addUntracked<bool>("CheckChannelPacketCodes", true);
455  // Use to disable check on FE unit lengths in full debug header
456  desc.addUntracked<bool>("CheckFELengths", true);
457  // Use to disable check on channel status bits
458  desc.addUntracked<bool>("CheckChannelStatus", true);
459  desc.add<int>("LSBin", 5000);
460  desc.add<double>("LSMin", 0.5);
461  desc.add<double>("LSMax", 5000.5);
462 
463  descriptions.addDefault(desc);
464 }
465 
466 //
467 // Define as a plug-in
468 //
469 
ConfigurationDescriptions.h
edm::ESWatcher::check
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:52
FEDNumbering.h
SiStripFEDCheckPlugin::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: SiStripFEDDataCheck.cc:309
electrons_cff.bool
bool
Definition: electrons_cff.py:366
SiStripFEDCheckPlugin::fedFatalErrorBinContents_
std::vector< unsigned int > fedFatalErrorBinContents_
Definition: SiStripFEDDataCheck.cc:96
SiStripFEDCheckPlugin::fedsPresentBinContents_
std::vector< unsigned int > fedsPresentBinContents_
Definition: SiStripFEDDataCheck.cc:95
SiStripFEDCheckPlugin::updateFrequency_
unsigned int updateFrequency_
Definition: SiStripFEDDataCheck.cc:93
MessageLogger.h
SiStripFEDCheckPlugin::fedCablingWatcher_
edm::ESWatcher< SiStripFedCablingRcd > fedCablingWatcher_
Definition: SiStripFEDDataCheck.cc:106
funct::false
false
Definition: Factorize.h:29
edm::ESWatcher< SiStripFedCablingRcd >
SiStripFEDCheckPlugin::fillNonFatalError
void fillNonFatalError(unsigned int fedId, float nonFatalError)
Definition: SiStripFEDDataCheck.cc:383
edm::Run
Definition: Run.h:45
edm::EDGetTokenT< FEDRawDataCollection >
FEDRawDataCollection
Definition: FEDRawDataCollection.h:18
edm
HLT enums.
Definition: AlignableModifier.h:19
SiStripFEDCheckPlugin::siStripFedIdMax_
unsigned int siStripFedIdMax_
Definition: SiStripFEDDataCheck.cc:111
SiStripFEDCheckPlugin::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: SiStripFEDDataCheck.cc:177
SiStripFEDCheckPlugin::checkFELengths_
bool checkFELengths_
Definition: SiStripFEDDataCheck.cc:101
gather_cfg.cout
cout
Definition: gather_cfg.py:144
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89285
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
SiStripFedCabling.h
SiStripFEDCheckPlugin::doPLOTfedFatalErrors_
bool doPLOTfedFatalErrors_
Definition: SiStripFEDDataCheck.cc:82
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
DQMOneEDAnalyzer
Definition: DQMOneEDAnalyzer.h:20
DQMStore.h
dqm::legacy::MonitorElement
Definition: MonitorElement.h:462
EDAnalyzer.h
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
ConstantsForHardwareSystems.h
Constants and enumerated types for FED/FEC systems.
SiStripFedCabling
Contains cabling info at the device level, including DetId, APV pair numbers, hardware addresses,...
Definition: SiStripFedCabling.h:25
FEDRawData.h
SiStripFEDCheckPlugin::doPLOTnFEDinWdataVsLS_
bool doPLOTnFEDinWdataVsLS_
Definition: SiStripFEDDataCheck.cc:83
edm::Handle< FEDRawDataCollection >
SiStripFEDCheckPlugin::checkPacketCodes_
bool checkPacketCodes_
Definition: SiStripFEDDataCheck.cc:101
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
FEDRawData::data
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
Definition: FEDRawData.cc:24
SiStripFEDCheckPlugin::doPLOTnFEDinVsLS_
bool doPLOTnFEDinVsLS_
Definition: SiStripFEDDataCheck.cc:83
DQMOneEDAnalyzer.h
FEDRawData
Definition: FEDRawData.h:19
SiStripFEDCheckPlugin
Definition: SiStripFEDDataCheck.cc:53
FEDNumbering
Definition: FEDNumbering.h:17
SiStripFEDCheckPlugin::cabling_
const SiStripFedCabling * cabling_
Definition: SiStripFEDDataCheck.cc:104
edmScanValgrind.buffer
buffer
Definition: edmScanValgrind.py:171
SiStripFEDCheckPlugin::fedCablingToken_
edm::ESGetToken< SiStripFedCabling, SiStripFedCablingRcd > fedCablingToken_
Definition: SiStripFEDDataCheck.cc:107
contentValuesCheck.ss
ss
Definition: contentValuesCheck.py:33
MakerMacros.h
TrackerTopology.h
SiStripFedCablingRcd
Definition: SiStripCondDataRecords.h:22
SiStripFEDCheckPlugin::checkChannelStatusBits_
bool checkChannelStatusBits_
Definition: SiStripFEDDataCheck.cc:101
TrackerTopologyRcd.h
SiStripFEDCheckPlugin::fedFatalErrors_
MonitorElement * fedFatalErrors_
Definition: SiStripFEDDataCheck.cc:85
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
SiStripFEDBuffer.h
Service.h
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
SiStripFEDCheckPlugin::dirName_
std::string dirName_
Definition: SiStripFEDDataCheck.cc:78
dqm::implementation::IBooker::bookProfile
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:322
SiStripFEDCheckPlugin::fedNonFatalErrorBinContents_
std::vector< unsigned int > fedNonFatalErrorBinContents_
Definition: SiStripFEDDataCheck.cc:97
SiStripFEDCheckPlugin::fillPresent
void fillPresent(unsigned int fedId, bool present)
Definition: SiStripFEDDataCheck.cc:362
ParameterSetDescription.h
EDGetToken.h
eventCount_
example_stream int eventCount_
Definition: DQMEDAnalyzer.cc:66
FEDRawDataCollection::FEDData
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
Definition: FEDRawDataCollection.cc:19
dqm::impl::MonitorElement::getTH1
virtual TH1 * getTH1()
Definition: MonitorElement.cc:981
SiStripFEDCheckPlugin::checkChannelLengths_
bool checkChannelLengths_
Definition: SiStripFEDDataCheck.cc:101
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
SiStripFEDCheckPlugin::doUpdateIfNeeded
void doUpdateIfNeeded()
Definition: SiStripFEDDataCheck.cc:394
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
siStripFEDCheck_cfi.LSBin
LSBin
Definition: siStripFEDCheck_cfi.py:32
funct::true
true
Definition: Factorize.h:173
FEDNumbering::MAXSiStripFEDID
Definition: FEDNumbering.h:30
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
SiStripFEDCheckPlugin::fedsPresent_
MonitorElement * fedsPresent_
Definition: SiStripFEDDataCheck.cc:84
SiStripFEDCheckPlugin::updateHistograms
void updateHistograms()
Definition: SiStripFEDDataCheck.cc:401
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
sistrip::FEDBufferStatusCode::SUCCESS
FEDRawDataCollection.h
SiStripFEDCheckPlugin::verbose_
bool verbose_
Definition: SiStripFEDDataCheck.cc:101
edm::EventSetup
Definition: EventSetup.h:58
l1tstage2_dqm_sourceclient-live_cfg.fedId
fedId
Definition: l1tstage2_dqm_sourceclient-live_cfg.py:88
SiStripFEDCheckPlugin::siStripFedIdMin_
unsigned int siStripFedIdMin_
Definition: SiStripFEDDataCheck.cc:110
SiStripFEDCheckPlugin::rawDataToken_
edm::EDGetTokenT< FEDRawDataCollection > rawDataToken_
Definition: SiStripFEDDataCheck.cc:77
edm::ESGetToken< SiStripFedCabling, SiStripFedCablingRcd >
FEDRawData::size
size_t size() const
Lenght of the data buffer in bytes.
Definition: FEDRawData.h:45
InputTag.h
SiStripFEDCheckPlugin::doPLOTfedsPresent_
bool doPLOTfedsPresent_
Definition: SiStripFEDDataCheck.cc:82
SiStripFEDCheckPlugin::doPayloadChecks_
bool doPayloadChecks_
Definition: SiStripFEDDataCheck.cc:101
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:127
newFWLiteAna.bin
bin
Definition: newFWLiteAna.py:161
sistrip::preconstructCheckFEDBuffer
FEDBufferStatusCode preconstructCheckFEDBuffer(const FEDRawData &fedBuffer, bool allowBadBuffer=false)
Definition: SiStripFEDBuffer.h:131
SiStripFEDCheckPlugin::SiStripFEDCheckPlugin
SiStripFEDCheckPlugin(const edm::ParameterSet &)
Definition: SiStripFEDDataCheck.cc:120
SiStripFEDCheckPlugin::rawDataTag_
edm::InputTag rawDataTag_
Definition: SiStripFEDDataCheck.cc:76
SiStripFEDCheckPlugin::doPLOTfedNonFatalErrors_
bool doPLOTfedNonFatalErrors_
Definition: SiStripFEDDataCheck.cc:82
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
SiStripFEDCheckPlugin::fillFatalError
void fillFatalError(unsigned int fedId, bool fatalError)
Definition: SiStripFEDDataCheck.cc:371
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
writedatasetfile.run
run
Definition: writedatasetfile.py:27
SiStripFEDCheckPlugin::~SiStripFEDCheckPlugin
~SiStripFEDCheckPlugin() override
Definition: SiStripFEDDataCheck.cc:170
SiStripFEDCheckPlugin::hasFatalError
bool hasFatalError(const FEDRawData &fedData, unsigned int fedId) const
Frameworkfwd.h
ESWatcher.h
SiStripFEDCheckPlugin::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: SiStripFEDDataCheck.cc:429
Exception
Definition: hltDiff.cc:245
SiStripFEDCheckPlugin::fedNonFatalErrors_
MonitorElement * fedNonFatalErrors_
Definition: SiStripFEDDataCheck.cc:86
EventSetup.h
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
Exception.h
SiStripFedCablingRcd.h
dqm::implementation::IBooker
Definition: DQMStore.h:43
SiStripFEDCheckPlugin::eventCount_
unsigned int eventCount_
Definition: SiStripFEDDataCheck.cc:98
SiStripFEDCheckPlugin::hasNonFatalError
bool hasNonFatalError(const FEDRawData &fedData, unsigned int fedId) const
edm::eventsetup::EventSetupRecordImplementation::get
PRODUCT const & get(ESGetToken< PRODUCT, T > const &iToken) const
Definition: EventSetupRecordImplementation.h:74
SiStripFEDCheckPlugin::tTopoToken_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
Definition: SiStripFEDDataCheck.cc:108
SiStripFEDCheckPlugin::dqmEndRun
void dqmEndRun(edm::Run const &, edm::EventSetup const &) override
Definition: SiStripFEDDataCheck.cc:356
ParameterSet.h
siStripFEDCheck_cfi.LSMin
LSMin
Definition: siStripFEDCheck_cfi.py:33
SiStripFEDCheckPlugin::conf_
edm::ParameterSet conf_
Definition: SiStripFEDDataCheck.cc:113
siStripFEDCheck_cfi.LSMax
LSMax
Definition: siStripFEDCheck_cfi.py:34
DeDxTools::esConsumes
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
edm::Event
Definition: Event.h:73
SiStripFEDCheckPlugin::nFEDinVsLS_
MonitorElement * nFEDinVsLS_
Definition: SiStripFEDDataCheck.cc:88
edm::ConfigurationDescriptions::addDefault
void addDefault(ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:99
SiStripFEDCheckPlugin::nFEDinWdataVsLS_
MonitorElement * nFEDinWdataVsLS_
Definition: SiStripFEDDataCheck.cc:89
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
edm::InputTag
Definition: InputTag.h:15
SiStripFEDCheckPlugin::printDebug_
bool printDebug_
Definition: SiStripFEDDataCheck.cc:79
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
FEDNumbering::MINSiStripFEDID
Definition: FEDNumbering.h:29
SiStripFEDCheckPlugin::updateCabling
void updateCabling(const SiStripFedCablingRcd &cablingRcd)
Definition: SiStripFEDDataCheck.cc:358