21 bool forceToKeepFRdata)
29 forceToKeepFRdata_(forceToKeepFRdata) {
34 for (
int feChannel = 1; feChannel <= 70; feChannel++) {
38 for (
int tccChannel = 1; tccChannel <= 4; tccChannel++) {
43 for (
int feChannel = 1; feChannel <= 70; feChannel++) {
47 for (
int tccChannel = 1; tccChannel <= 4; tccChannel++) {
57 for (
int feChannel = 1; feChannel <= 70; feChannel++) {
58 feBx_[feChannel - 1] = -1;
59 feLv1_[feChannel - 1] = -1;
61 for (
int tccChannel = 1; tccChannel <= 4; tccChannel++) {
62 tccBx_[tccChannel - 1] = -1;
80 const unsigned int prev_dwToEnd =
dwToEnd_;
83 const uint32_t lv1 = ((
l1_ - 1) & 0xFFF);
84 const uint32_t
bx = (
bx_ != 3564) ?
bx_ : 0;
88 const uint64_t s_hi = 0xC0000000 + lv1;
89 const uint64_t s_lo = 0xC0000000 + (
bx << 16) + (ts << 8);
109 const unsigned int next_tower_id = (*data_) & 0xFF;
111 if (next_tower_id <= current_tower_id)
120 return next_tower_id;
180 (*dccHeaders_)->push_back(theDCCheader);
184 o <<
"\n Unpacked Info for DCC Event Class" 185 <<
"\n DW1 =============================" 187 <<
"\n DW2 =============================" 189 <<
"\n DW3 =============================" 192 std::vector<short>::iterator
it;
195 o <<
"\n TCCStatus#" <<
i <<
" " << (*it);
201 o <<
"\n DW" << (
k + 3) <<
" =============================";
204 o <<
"\n FEStatus#" <<
i <<
" " << (*it);
229 const unsigned int bx,
230 const unsigned int dccL1,
231 const unsigned int l1,
233 const unsigned int fov) {
245 const bool bxSynced = ((
type ==
FE_MEM) && (
bx == 0) && (dccBx == 3564)) ||
254 const bool l1Synced =
255 ((
type ==
FE_MEM) && (l1 == ((dccL1 - 1) & 0xFFF))) || ((
type ==
TCC_SRP) && (l1 == (dccL1 & 0xFFF)));
257 return (bxSynced && l1Synced);
DCCEventBlock(DCCDataUnpacker *u, EcalElectronicsMapper *m, bool hU, bool srpU, bool tccU, bool feU, bool memU, bool forceToKeepFRdata)
EcalElectronicsMapper * mapper_
virtual void updateCollectors()
unsigned int detailedTriggerType_
std::vector< short > hlt_
unsigned int blockLength_
unsigned int triggerType_
DCCDataUnpacker * unpacker_
std::vector< short > tccBx_
void updateCollectors() override
std::vector< short > tccLv1_
std::vector< short > feBx_
unsigned dccId(DetId const &, EcalElectronicsMapping const *)
unsigned int orbitCounter_
unsigned int numbXtalTSamples()
std::vector< short > feChStatus_
unsigned long long uint64_t
std::unique_ptr< EcalRawDataCollection > * dccHeadersCollection()
std::vector< short > feLv1_
std::unique_ptr< EcalRawDataCollection > * dccHeaders_
void updateCollectors() override
void addHeaderToCollection()
unsigned int next_tower_search(const unsigned int current_tower_id)
void display(std::ostream &o)
unsigned int getActiveSM()
std::vector< short > tccChStatus_
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)