33 << activeDCC <<
"\n The end of event was reached " 34 <<
"\n(or, previously, pointers intended to navigate outside of FedBlock " 35 "(based on block sizes), and were stopped by setting dwToEnd_ to zero)";
62 expTowerID_ <= mapper_->getNumChannelsInDcc(activeDCC)) {
67 <<
" => Skipping to next FE block...";
82 <<
" (there's no check fe_id==dcc_channel)" 83 <<
"\n the FE_id found: " <<
towerId_ 84 <<
" exceeds max number of FE foreseen in fed" 85 <<
"\n => Skipping to next FE block...";
103 <<
"Synchronization error for Tower Block" 106 <<
" dccBx = " << dccBx <<
" bx_ = " <<
bx_ <<
" dccL1 = " << dccL1 <<
" l1_ = " <<
l1_ <<
"\n" 107 <<
" => Skipping to next tower block";
123 <<
"\n => Skipping to next tower block...";
137 << ((*dwToEnd_) * 8) <<
" bytes are available while " <<
blockSize_ 139 <<
"\n => Skipping to next fed block...";
152 <<
"\n => Skipping to next fed block...";
168 <<
"\n => Keeps unpacking as the unpacker was forced to keep FR data (by configuration) ...";
178 <<
" has a wrong number of bytes : " << (
blockLength_ * 8)
179 <<
"\n => Skipping to next fed block...";
198 unsigned int expStripID(0), expXtalID(0);
202 int statusUnpackXtal = 0;
204 for (
unsigned int numbXtal = 1; numbXtal <= numbOfXtalBlocks && statusUnpackXtal !=
SKIP_BLOCK_UNPACKING;
207 expStripID = (numbXtal - 1) / 5 + 1;
208 expXtalID = numbXtal - (expStripID - 1) * 5;
215 <<
"\n The tower " <<
towerId_ <<
" won't be unpacked further";
226 o <<
"\n Unpacked Info for DCC Tower Block" 227 <<
"\n DW1 ============================="
std::unique_ptr< EcalElectronicsIdCollection > * invalidTTIds_
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)
std::unique_ptr< EcalElectronicsIdCollection > * invalidBlockLengths_
unsigned int getActiveDCC()
unsigned int xtalBlockSize_
unsigned int getNumChannelsInDcc(unsigned int aDCCId)
int unpack(const uint64_t **data, unsigned int *dwToEnd, bool zs, unsigned int expectedTowerID)
virtual void fillEcalElectronicsError(std::unique_ptr< EcalElectronicsIdCollection > *)
DCCFEBlock(DCCDataUnpacker *u, EcalElectronicsMapper *m, DCCEventBlock *e, bool unpack, bool forceToKeepFRdata)
std::unique_ptr< EcalElectronicsIdCollection > * invalidTTIdsCollection()
void updateCollectors() override
static std::atomic< bool > silentMode_
std::pair< unsigned int, unsigned int > unpack(cond::Time_t since)
unsigned int blockLength_
void setFESyncNumbers(short l1, short bx, short id)
unsigned int numbXtalTSamples()
std::unique_ptr< EcalElectronicsIdCollection > * invalidBlockLengthsCollection()
unsigned long long uint64_t
unsigned int expXtalTSamples_
std::unique_ptr< EcalElectronicsIdCollection > * invalidZSXtalIdsCollection()
unsigned int lastStripId_
DCCDataUnpacker * unpacker_
unsigned int getUnfilteredTowerBlockLength()
virtual int unpackXtalData(unsigned int stripID, unsigned int xtalID)
char data[epos_bytes_allocation]
short getHLTChannel(int channel)
virtual void updateEventPointers()
unsigned int numbDWInXtalBlock_
unsigned int unfilteredDataBlockLength_
EcalElectronicsMapper * mapper_
std::unique_ptr< EcalElectronicsIdCollection > * invalidZSXtalIds_
Log< level::Warning, false > LogWarning
void display(std::ostream &o) override
unsigned int getActiveSM()