421 std::vector<int> FEDS_to_unpack;
425 FEDS_to_unpack = listoffeds->
GetList();
436 auto productDigisEB = std::make_unique<EBDigiCollection>();
437 productDigisEB->reserve(1700);
441 auto productDigisEE = std::make_unique<EEDigiCollection>();
445 auto productDccHeaders = std::make_unique<EcalRawDataCollection>();
449 auto productInvalidGains = std::make_unique<EBDetIdCollection>();
453 auto productInvalidGainsSwitch = std::make_unique<EBDetIdCollection>();
457 auto productInvalidChIds = std::make_unique<EBDetIdCollection>();
463 auto productInvalidEEGains = std::make_unique<EEDetIdCollection>();
467 auto productInvalidEEGainsSwitch = std::make_unique<EEDetIdCollection>();
471 auto productInvalidEEChIds = std::make_unique<EEDetIdCollection>();
477 auto productEBSrFlags = std::make_unique<EBSrFlagCollection>();
481 auto productEESrFlags = std::make_unique<EESrFlagCollection>();
485 auto productEcalTps = std::make_unique<EcalTrigPrimDigiCollection>();
490 auto productEcalPSs = std::make_unique<EcalPSInputDigiCollection>();
495 auto productInvalidTTIds = std::make_unique<EcalElectronicsIdCollection>();
499 auto productInvalidZSXtalIds = std::make_unique<EcalElectronicsIdCollection>();
503 auto productInvalidBlockLengths = std::make_unique<EcalElectronicsIdCollection>();
508 auto productPnDiodeDigis = std::make_unique<EcalPnDiodeDigiCollection>();
512 auto productInvalidMemTtIds = std::make_unique<EcalElectronicsIdCollection>();
516 auto productInvalidMemBlockSizes = std::make_unique<EcalElectronicsIdCollection>();
520 auto productInvalidMemChIds = std::make_unique<EcalElectronicsIdCollection>();
524 auto productInvalidMemGains = std::make_unique<EcalElectronicsIdCollection>();
531 std::vector<int>::const_iterator fed_it =
find(FEDS_to_unpack.begin(), FEDS_to_unpack.end(), *
i);
532 if (fed_it == FEDS_to_unpack.end())
538 const size_t length = fedData.
size();
540 LogDebug(
"EcalRawToDigi") <<
"raw data length: " << length;
545 LogDebug(
"EcalRawToDigi") <<
"Getting FED = " << *
i <<
"(SM = " << smId <<
")" 546 <<
" data size is: " << length;
551 LogDebug(
"EcalRawToDigi") <<
" in EE :" << productDigisEE->size() <<
" in EB :" << productDigisEB->size();
570 productDigisEB->sort();
572 productDigisEE->sort();
574 e.put(
std::move(productInvalidGains),
"EcalIntegrityGainErrors");
575 e.put(
std::move(productInvalidGainsSwitch),
"EcalIntegrityGainSwitchErrors");
576 e.put(
std::move(productInvalidChIds),
"EcalIntegrityChIdErrors");
578 e.put(
std::move(productInvalidEEGains),
"EcalIntegrityGainErrors");
579 e.put(
std::move(productInvalidEEGainsSwitch),
"EcalIntegrityGainSwitchErrors");
580 e.put(
std::move(productInvalidEEChIds),
"EcalIntegrityChIdErrors");
582 e.put(
std::move(productInvalidTTIds),
"EcalIntegrityTTIdErrors");
583 e.put(
std::move(productInvalidZSXtalIds),
"EcalIntegrityZSXtalIdErrors");
584 e.put(
std::move(productInvalidBlockLengths),
"EcalIntegrityBlockSizeErrors");
588 e.put(
std::move(productInvalidMemTtIds),
"EcalIntegrityMemTtIdErrors");
589 e.put(
std::move(productInvalidMemBlockSizes),
"EcalIntegrityMemBlockSizeErrors");
590 e.put(
std::move(productInvalidMemChIds),
"EcalIntegrityMemChIdErrors");
591 e.put(
std::move(productInvalidMemGains),
"EcalIntegrityMemGainErrors");
598 e.put(
std::move(productEcalTps),
"EcalTriggerPrimitives");
599 e.put(
std::move(productEcalPSs),
"EcalPseudoStripInputs");
void setInvalidEEChIdsCollection(std::unique_ptr< EEDetIdCollection > *x)
edm::ESWatcher< EcalMappingRcd > watcher_
void setInvalidGainsCollection(std::unique_ptr< EBDetIdCollection > *x)
void unpack(const uint64_t *buffer, size_t bufferSize, unsigned int smId, unsigned int fedId)
edm::EDGetTokenT< FEDRawDataCollection > dataToken_
void setPnDiodeDigisCollection(std::unique_ptr< EcalPnDiodeDigiCollection > *x)
void setInvalidTTIdsCollection(std::unique_ptr< EcalElectronicsIdCollection > *x)
void setInvalidBlockLengthsCollection(std::unique_ptr< EcalElectronicsIdCollection > *x)
void setInvalidGainsSwitchCollection(std::unique_ptr< EBDetIdCollection > *x)
size_t size() const
Lenght of the data buffer in bytes.
void setInvalidZSXtalIdsCollection(std::unique_ptr< EcalElectronicsIdCollection > *x)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
void setEcalElectronicsMapping(const EcalElectronicsMapping *)
std::vector< int > fedUnpackList_
DCCDataUnpacker * theUnpacker_
std::vector< int > GetList() const
void setInvalidMemChIdsCollection(std::unique_ptr< EcalElectronicsIdCollection > *x)
T const * product() const
void setEBSrFlagsCollection(std::unique_ptr< EBSrFlagCollection > *x)
void setInvalidMemBlockSizesCollection(std::unique_ptr< EcalElectronicsIdCollection > *x)
void setEcalTpsCollection(std::unique_ptr< EcalTrigPrimDigiCollection > *x)
bool setActiveDCC(unsigned int dccId)
void setInvalidMemTtIdsCollection(std::unique_ptr< EcalElectronicsIdCollection > *x)
void setInvalidEEGainsSwitchCollection(std::unique_ptr< EEDetIdCollection > *x)
void setEEDigisCollection(std::unique_ptr< EEDigiCollection > *x)
edm::EDGetTokenT< EcalListOfFEDS > fedsToken_
void setEcalPSsCollection(std::unique_ptr< EcalPSInputDigiCollection > *x)
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
void setEESrFlagsCollection(std::unique_ptr< EESrFlagCollection > *x)
void setInvalidEEGainsCollection(std::unique_ptr< EEDetIdCollection > *x)
unsigned long long uint64_t
edm::ESGetToken< EcalElectronicsMapping, EcalMappingRcd > ecalMappingToken_
bool check(const edm::EventSetup &iSetup)
void setDccHeadersCollection(std::unique_ptr< EcalRawDataCollection > *x)
char data[epos_bytes_allocation]
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
void setInvalidChIdsCollection(std::unique_ptr< EBDetIdCollection > *x)
void setInvalidMemGainsCollection(std::unique_ptr< EcalElectronicsIdCollection > *x)
EcalElectronicsMapper * myMap_
void setEBDigisCollection(std::unique_ptr< EBDigiCollection > *x)
unsigned int getActiveSM()