|
| SiStripFEDCheckPlugin (const edm::ParameterSet &) |
|
| ~SiStripFEDCheckPlugin () override |
|
void | accumulate (edm::Event const &ev, edm::EventSetup const &es) final |
|
virtual void | analyze (edm::Event const &, edm::EventSetup const &) |
|
void | beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override |
|
void | beginRun (edm::Run const &run, edm::EventSetup const &setup) final |
|
virtual void | dqmBeginRun (edm::Run const &, edm::EventSetup const &) |
|
| DQMEDAnalyzer () |
|
| DQMEDAnalyzer (DQMEDAnalyzer const &)=delete |
|
| DQMEDAnalyzer (DQMEDAnalyzer &&)=delete |
|
void | endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override |
|
void | endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final |
|
void | endRun (edm::Run const &run, edm::EventSetup const &setup) override |
|
void | endRunProduce (edm::Run &run, edm::EventSetup const &setup) override |
|
| ~DQMEDAnalyzer () override=default |
|
| EDProducer ()=default |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () final |
|
SerialTaskQueue * | globalRunsQueue () final |
|
bool | hasAbilityToProduceInLumis () const final |
|
bool | hasAbilityToProduceInRuns () const final |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () const final |
|
| EDProducerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
bool | wantsStreamLuminosityBlocks () const |
|
bool | wantsStreamRuns () const |
|
| ~EDProducerBase () override |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
|
| ProducerBase () |
|
std::vector< edm::ProductResolverIndex > const & | putTokenIndexToProductResolverIndex () const |
|
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
|
std::function< void(BranchDescription const &)> | registrationCallback () const |
| used by the fwk to register list of products More...
|
|
void | resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel) |
|
| ~ProducerBase () override |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
|
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
|
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
|
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
|
typedef EDProducerBase | ModuleType |
|
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >> |
|
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
|
typedef ProductLabels | Labels |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
|
ConsumesCollector | consumesCollector () |
| Use a ConsumesCollector to gather consumes information from helper functions. More...
|
|
template<typename ProductType , BranchType B = InEvent> |
void | consumesMany () |
|
void | consumesMany (const TypeToGet &id) |
|
template<BranchType B> |
void | consumesMany (const TypeToGet &id) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
edm::EDPutTokenT< DQMToken > | lumiToken_ |
|
edm::EDPutTokenT< DQMToken > | runToken_ |
|
Description: DQM source application to produce data integrety histograms for SiStrip data for use in HLT and Prompt reco
Definition at line 54 of file SiStripFEDDataCheck.cc.
Definition at line 175 of file SiStripFEDDataCheck.cc.
References edmScanValgrind::buffer, cabling_, checkChannelLengths_, checkChannelStatusBits_, checkFELengths_, checkPacketCodes_, gather_cfg::cout, FEDRawData::data(), doPayloadChecks_, doPLOTnFEDinVsLS_, doPLOTnFEDinWdataVsLS_, doUpdateIfNeeded(), FEDRawDataCollection::FEDData(), l1t::stage2::layer2::fedId, HcalObjRepresent::Fill(), fillFatalError(), fillNonFatalError(), fillPresent(), edm::EventSetup::get(), edm::Event::getByToken(), edm::EventBase::id(), edm::EventID::luminosityBlock(), nFEDinVsLS_, nFEDinWdataVsLS_, printDebug_, edm::ESHandle< T >::product(), rawDataToken_, siStripFedIdMax_, siStripFedIdMin_, FEDRawData::size(), updateCabling(), and verbose_.
188 if (
verbose_)
std::cout <<
"[SiStripFEDCheckPlugin::analyze] gotData ? " << (gotData ?
"YES" :
"NOPE") << std::endl;
196 FEDErrors lFedErrors;
200 size_t nFEDinWdata = 0;
209 if (!fedData.
size() || !fedData.
data()) {
216 if (fedData.
size()) nFEDin++;
217 if (fedData.
size() && fedData.
data()) nFEDinWdata++;
224 bool hasFatalErrors =
false;
225 float rateNonFatal = 0;
227 std::auto_ptr<const sistrip::FEDBuffer>
buffer;
229 if (!lFedErrors.fillFatalFEDErrors(fedData,0)) {
230 hasFatalErrors =
true;
239 bool channelLengthsOK =
checkChannelLengths_ ? buffer->checkChannelLengthsMatchBufferLength() :
true;
240 bool channelPacketCodesOK =
checkPacketCodes_ ? buffer->checkChannelPacketCodes() :
true;
241 bool feLengthsOK =
checkFELengths_ ? buffer->checkFEUnitLengths() :
true;
242 if ( !channelLengthsOK ||
243 !channelPacketCodesOK ||
245 hasFatalErrors =
true;
252 if (hasFatalErrors) {
256 edm::LogInfo(
"SiStripFEDCheck") <<
"Fatal error with FED ID " << fedId <<
". Check summary: " 257 << std::endl << buffer->checkSummary() << std::endl;
258 std::stringstream ss;
269 edm::LogInfo(
"SiStripFEDCheck") <<
"Non-fatal error with FED ID " << fedId
270 <<
" for " << rateNonFatal <<
" of the channels. Check summary: " 271 << std::endl << buffer->checkSummary() << std::endl;
272 std::stringstream ss;
279 if (
verbose_)
std::cout <<
"nFEDin: " << nFEDin <<
" nFEDinWdata: " << nFEDinWdata << std::endl;
bool doPLOTnFEDinWdataVsLS_
MonitorElement * nFEDinWdataVsLS_
bool checkChannelLengths_
void fillFatalError(unsigned int fedId, bool fatalError)
edm::EDGetTokenT< FEDRawDataCollection > rawDataToken_
unsigned int siStripFedIdMax_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const SiStripFedCabling * cabling_
LuminosityBlockNumber_t luminosityBlock() const
size_t size() const
Lenght of the data buffer in bytes.
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
unsigned int siStripFedIdMin_
MonitorElement * nFEDinVsLS_
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
void updateCabling(const edm::EventSetup &eventSetup)
bool checkChannelStatusBits_
void fillNonFatalError(unsigned int fedId, float nonFatalError)
T const * product() const
void fillPresent(unsigned int fedId, bool present)