diff --git a/DQM/SiStripMonitorHardware/src/SiStripFEDDataCheck.cc b/DQM/SiStripMonitorHardware/src/SiStripFEDDataCheck.cc index c955918a10517..1086929f99df8 100644 --- a/DQM/SiStripMonitorHardware/src/SiStripFEDDataCheck.cc +++ b/DQM/SiStripMonitorHardware/src/SiStripFEDDataCheck.cc @@ -21,6 +21,8 @@ #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" +#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" #include "FWCore/Utilities/interface/InputTag.h" #include "FWCore/Utilities/interface/Exception.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" @@ -54,9 +56,12 @@ class SiStripFEDCheckPlugin : public DQMEDAnalyzer public: explicit SiStripFEDCheckPlugin(const edm::ParameterSet&); ~SiStripFEDCheckPlugin(); + static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); + private: virtual void analyze(const edm::Event&, const edm::EventSetup&) override; virtual void endRun(); + void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; bool hasFatalError(const FEDRawData& fedData, unsigned int fedId) const; @@ -411,6 +416,47 @@ void SiStripFEDCheckPlugin::updateHistograms() if (doPLOTfedFatalErrors_) fedFatalErrors_->getTH1()->SetEntries(entriesFatalErrors); if (doPLOTfedNonFatalErrors_) fedNonFatalErrors_->getTH1()->SetEntries(entriesNonFatalErrors); } +void +SiStripFEDCheckPlugin::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { + + edm::ParameterSetDescription desc; + + // Directory to book histograms in + desc.addUntracked("DirName","SiStrip/FEDIntegrity/"); + // Raw data collection + desc.add("RawDataTag",edm::InputTag("source")); + // Number of events to cache info before updating histograms + // (set to zero to disable cache) + // HistogramUpdateFrequency = cms.untracked.uint32(0), + desc.addUntracked("HistogramUpdateFrequency",1000); + // Print info about errors buffer dumps to LogInfo(SiStripFEDCheck) + desc.addUntracked("PrintDebugMessages",false); + desc.add("doPLOTfedsPresent", true); + desc.add("doPLOTfedFatalErrors", true); + desc.add("doPLOTfedNonFatalErrors",true); + desc.add("doPLOTnFEDinVsLS", false); + desc.add("doPLOTnFEDinWdataVsLS", false); + // Write the DQM store to a file (DQMStore.root) at the end of the run + desc.addUntracked("WriteDQMStore",false); + // Use to disable all payload (non-fatal) checks + desc.addUntracked("DoPayloadChecks",true); + // Use to disable check on channel lengths + desc.addUntracked("CheckChannelLengths",true); + // Use to disable check on channel packet codes + desc.addUntracked("CheckChannelPacketCodes",true); + // Use to disable check on FE unit lengths in full debug header + desc.addUntracked("CheckFELengths",true); + // Use to disable check on channel status bits + desc.addUntracked("CheckChannelStatus",true); + desc.add ("LSBin",5000); + desc.add ("LSMin", 0.5); + desc.add ("LSMax",5000.5); + + descriptions.addDefault(desc); + + +} + // // Define as a plug-in