57 <<
"\n For event L1A: "<<
l1_
58 <<
"\n Expected FED id is: "<<expFedId<<
" while current FED id is: "<<
fedId_
59 <<
"\n => Skipping to next fed block...";
71 <<
"\n Event L1A: "<<
l1_<<
" is empty for fed: "<<
fedId_
72 <<
"\n => Skipping to next fed block...";
82 <<
"\n Event L1A: "<<
l1_<<
" in fed: "<<
fedId_
84 <<
"\n => Skipping to next fed block...";
104 <<
"\n Event L1A: "<<
l1_<<
" in fed: "<<
fedId_
106 <<
"\n => Skipping to next fed block...";
144 for(
int dw = 0; dw<5; dw++ ){
146 for(
int i = 0;
i<14;
i++, channel++){
179 unsigned int numbChannels(0);
186 <<
"\n Event L1A: "<<
l1_<<
" in fed: "<<
fedId_
187 <<
"\n Event has an unsupported trigger type "<<
triggerType_
188 <<
"\n => Skipping to next fed block...";
200 std::vector<short>::iterator it =
feChStatus_.begin();
203 unsigned int next_tower_id = 1000;
205 unsigned int next_dwToEnd =
dwToEnd_;
208 for (
unsigned int chNumber=1; chNumber<= numbChannels && STATUS!=
STOP_EVENT_UNPACKING; chNumber++, it++ ){
211 const short chStatus(*it);
218 const bool problematic = (chStatus ==
CH_TIMEOUT ||
229 const bool ttProblem = (val == 13) || (val == 14);
232 <<
"Bad DCC channel status: " << chStatus
233 <<
" (LV1 " <<
l1_ <<
" fed " <<
fedId_ <<
" tower " << chNumber <<
")\n"
234 <<
" => DCC channel is not being unpacked";
240 if (regular || problematic) {
246 const unsigned int prev_dwToEnd =
dwToEnd_;
249 if (chNumber >= next_tower_id) {
252 next_tower_id = 1000;
int unpack(const uint64_t **data, unsigned int *dwToEnd, short tccChId=0)
int unpack(const uint64_t **data, unsigned int *dwToEnd, bool zs, unsigned int expectedTowerID)
void unpack(const uint64_t *buffer, size_t bufferSize, unsigned int expFedId)
unsigned int detailedTriggerType_
unsigned int blockLength_
unsigned int triggerType_
DCCDataUnpacker * unpacker_
unsigned short srFlag(unsigned int feChannel)
DCCEBEventBlock(DCCDataUnpacker *u, EcalElectronicsMapper *m, bool hU, bool srpU, bool tccU, bool feU, bool memU, bool forceToKeepFRdata)
uint16_t getCCUValue(const int fed, const int ccu) const
unsigned int orbitCounter_
std::vector< short > feChStatus_
unsigned long long uint64_t
int unpack(const uint64_t **data, unsigned int *dwToEnd, unsigned int numbFlags=SRP_NUMBFLAGS)
static unsigned int const shift
void addHeaderToCollection()
unsigned int next_tower_search(const unsigned int current_tower_id)
std::vector< short > tccChStatus_
int unpack(const uint64_t **data, unsigned int *dwToEnd, unsigned int expectedTowerID)