|
|
Go to the documentation of this file.
17 unsigned int numbOfPnBlocks = numbOfXtalBlocks / 5;
21 for (
unsigned int i = 0;
i < vectorSize;
i++) {
70 (*invalidMemBlockSizes_)->push_back(
id);
73 <<
" and tower block " <<
towerId_ <<
"\nExpected mem block size is "
85 <<
" bytes are available while " << (
blockLength_ * 8) <<
" are needed!";
89 (*invalidMemBlockSizes_)->push_back(
id);
102 <<
"Synchronization error for Mem block"
104 <<
" dccBx = " << dccBx <<
" bx_ = " <<
bx_ <<
" dccL1 = " << dccL1 <<
" l1_ = " <<
l1_ <<
"\n"
105 <<
" => Stop event unpacking";
128 (*invalidMemTtIds_)->push_back(
id);
169 for (
unsigned int expStripId = 1; expStripId <= 5; expStripId++) {
170 for (
unsigned int expXtalId = 1; expXtalId <= 5; expXtalId++) {
171 const uint16_t* xData_ = reinterpret_cast<const uint16_t*>(
data_);
177 bool errorOnDecoding(
false);
179 if (expStripId != stripId || expXtalId != xtalId) {
182 (*invalidMemChIds_)->push_back(
id);
187 <<
towerId_ <<
"\nThe expected strip is " << expStripId <<
" and " << stripId <<
" was found"
188 <<
"\nThe expected xtal is " << expXtalId <<
" and " << xtalId <<
" was found";
191 stripId = expStripId;
194 errorOnDecoding =
true;
199 unsigned int ipn,
index;
201 if ((stripId - 1) % 2 == 0) {
220 if ((stripId - 1) % 2) {
222 for (
int ib = 0;
ib < 14;
ib++) {
237 (*invalidMemGains_)->push_back(
id);
242 <<
towerId_ <<
"\nIn strip " << stripId <<
" xtal " << xtalId <<
" the gain is " <<
gain
243 <<
" in sample " << (
i + 1);
246 errorOnDecoding =
true;
249 if (!errorOnDecoding && !
error_) {
262 for (
int pnId = 1; pnId <= 5; pnId++) {
263 bool errorOnPn(
false);
264 unsigned int realPnId = pnId;
289 edm::LogWarning(
"IncorrectMapping") <<
"\n mapper points to non existing dccid: " << activeSM;
300 if (pnDiodeData == -1) {
310 (*pnDiodeDigis_)->push_back(thePnDigi);
316 o <<
"\n Unpacked Info for DCC MEM Block"
317 <<
"\n DW1 ============================="
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemTtIds_
std::unique_ptr< EcalPnDiodeDigiCollection > * pnDiodeDigis_
unsigned int expXtalTSamples_
bool isSynced(const unsigned int dccBx, const unsigned int bx, const unsigned int dccL1, const unsigned int l1, const BlockType type, const unsigned int fov)
unsigned int getActiveSM()
void setFESyncNumbers(short l1, short bx, short id)
virtual void updateEventPointers()
unsigned int numbDWInXtalBlock_
static std::atomic< bool > silentMode_
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemGainsCollection()
unsigned int numbXtalTSamples()
Log< level::Warning, false > LogWarning
unsigned int kSamplesPerPn_
unsigned int lastStripId_
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemBlockSizes_
DCCDataUnpacker * unpacker_
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemTtIdsCollection()
unsigned int getActiveDCC()
unsigned int lastTowerBeforeMem_
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
unsigned int unfilteredTowerBlockLength_
void setSample(int i, const EcalFEMSample &sam)
std::unique_ptr< EcalPnDiodeDigiCollection > * pnDiodeDigisCollection()
void unpackMemTowerData()
void display(std::ostream &o) override
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemChIds_
EcalElectronicsMapper * mapper_
void updateCollectors() override
int unpack(const uint64_t **data, unsigned int *dwToEnd, unsigned int expectedTowerID)
DCCMemBlock(DCCDataUnpacker *u, EcalElectronicsMapper *m, DCCEventBlock *e)
void fillPnDiodeDigisCollection()
char data[epos_bytes_allocation]
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemChIdsCollection()
unsigned int getUnfilteredTowerBlockLength()
unsigned long long uint64_t
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemGains_
unsigned int blockLength_
unsigned int xtalBlockSize_
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemBlockSizesCollection()