343 std::cout <<
"L1TdeGCT::analyze() start\n" << std::flush;
350 edm::LogInfo(
"DataNotFound") <<
"Cannot find L1DataEmulRecord" 351 <<
" Please verify that comparator was successfully executed." 352 <<
" Emulator DQM for GCT will be skipped!" << std::endl;
361 std::cout <<
"[L1TdeGCT] Gct information not generated in de-record." 362 <<
" Skiping event!\n" 367 int DEncand[2] = {0};
368 for (
int j = 0;
j < 2;
j++)
373 <<
" data: " << DEncand[0] <<
" emul: " << DEncand[1] << std::endl;
385 for (L1DEDigiCollection::const_iterator it = deColl.begin(); it != deColl.end(); it++)
387 if (it->sid() ==
GCT)
388 gctColl.push_back(*it);
391 std::cout <<
"[L1TdeGCT] record has " << gctColl.size() <<
" gct de digis\n" << std::flush;
392 for (L1DEDigiCollection::const_iterator it = gctColl.begin(); it != gctColl.end(); it++)
401 for (L1DEDigiCollection::const_iterator it = gctColl.begin(); it != gctColl.end(); it++) {
409 std::cout <<
"[L1TdeGCT] processing digi " 410 <<
" sys:" << sid <<
" type:" << cid <<
" \n\t" << *it <<
"\n" 414 if (sid !=
GCT || it->empty()) {
415 LogDebug(
"L1TdeGCT") <<
"consistency check failure, non-gct digis!";
419 int type = it->type();
420 double phiv = it->x1();
421 double etav = it->x2();
424 float rnkv = rankarr[0];
428 unsigned int mask = (~0x0);
433 LogDebug(
"L1TdeGCT") <<
"consistency check failure, col type outbounds:" << ccid <<
"\n";
440 if (it->type() < 5 && it->type() != 3)
448 if (etav != nullVal && phiv != nullVal)
468 unsigned int word[2];
470 std::bitset<32> dbits(word[0]);
471 std::bitset<32> ebits(word[1]);
472 unsigned int dexor = ((word[0]) ^ (word[1]));
474 std::bitset<32> debits(dexor);
476 std::bitset<32> dembits(((dexor) & (mask)));
480 <<
" sid:" << sid <<
" cid:" << cid <<
"\n" 481 <<
" data:0x" << std::hex << word[0] <<
std::dec <<
" bitset:" << dbits <<
"\n" 482 <<
" emul:0x" << std::hex << word[1] <<
std::dec <<
" bitset:" << ebits <<
"\n" 483 <<
" xor:0x" << std::hex << dexor <<
std::dec <<
" bitset:" << debits
484 <<
" bitset:" << ((dbits) ^ (ebits)) <<
"\n" 488 for (
int ibit = 0; ibit < 32; ibit++) {
491 if (type == 3 || type == 4)
507 for (L1DEDigiCollection::const_iterator it = gctColl.begin(); it != gctColl.end(); it++) {
509 ccid = (ccid < 0 || ccid >=
nGctColl_) ? 0 : ccid;
529 std::cout <<
"[L1TDEMON] analyze rate computation\t\n" 530 <<
" colid:" <<
i <<
"(so far)" 535 if (rate > 1. || rate < 0.)
546 std::cout <<
"[L1TdeGCT] Gct information not generated in de-record." 547 <<
" Skiping event!\n" 552 int DEncand[2] = {0};
553 for (
int j = 0;
j < 2;
j++)
558 <<
" data: " << DEncand[0] <<
" emul: " << DEncand[1] << std::endl;
567 stage1layer2Coll.reserve(21);
568 stage1layer2Coll.clear();
570 for (L1DEDigiCollection::const_iterator it = deColl.begin(); it != deColl.end(); it++)
572 if (it->sid() ==
GCT)
573 stage1layer2Coll.push_back(*it);
576 std::cout <<
"[L1TdeSTAGE1LAYER2] record has " << stage1layer2Coll.size() <<
" stage1layer2 de digis\n" 578 for (L1DEDigiCollection::const_iterator it = stage1layer2Coll.begin(); it != stage1layer2Coll.end(); it++)
587 for (L1DEDigiCollection::const_iterator it = stage1layer2Coll.begin(); it != stage1layer2Coll.end(); it++) {
595 std::cout <<
"[L1TdeStage1Layer2] processing digi " 596 <<
" sys:" << sid <<
" type:" << cid <<
" \n\t" << *it <<
"\n" 599 if (sid !=
GCT || it->empty()) {
600 LogDebug(
"L1TdeGCT") <<
"consistency check failure, non-stage1layer2 digis!";
604 int type = it->type();
605 double phiv = it->x1();
606 double etav = it->x2();
609 float rnkv = rankarr[0];
613 unsigned int mask = (~0x0);
618 LogDebug(
"L1TdeGCT") <<
"consistency check failure, col type outbounds:" << ccid <<
"\n";
625 if (it->type() < 5 && it->type() != 3)
631 if (etav != nullVal && phiv != nullVal)
651 unsigned int word_stage1layer2[2];
652 it->data(word_stage1layer2);
653 std::bitset<32> dbits(word_stage1layer2[0]);
654 std::bitset<32> ebits(word_stage1layer2[1]);
655 unsigned int dexor = ((word_stage1layer2[0]) ^ (word_stage1layer2[1]));
657 std::bitset<32> debits(dexor);
659 std::bitset<32> dembits(((dexor) & (mask)));
663 <<
" sid:" << sid <<
" cid:" << cid <<
"\n" 664 <<
" data:0x" << std::hex << word_stage1layer2[0] <<
std::dec <<
" bitset:" << dbits <<
"\n" 665 <<
" emul:0x" << std::hex << word_stage1layer2[1] <<
std::dec <<
" bitset:" << ebits <<
"\n" 666 <<
" xor:0x" << std::hex << dexor <<
std::dec <<
" bitset:" << debits
667 <<
" bitset:" << ((dbits) ^ (ebits)) <<
"\n" 671 for (
int ibit = 0; ibit < 32; ibit++) {
674 if (type == 3 || type == 4)
689 for (L1DEDigiCollection::const_iterator it = stage1layer2Coll.begin(); it != stage1layer2Coll.end(); it++) {
711 std::cout <<
"[L1TDEMON] analyze rate computation\t\n" 712 <<
" colid:" <<
i <<
"(so far)" 718 if (rate > 1. || rate < 0.)
MonitorElement * phiData_stage1layer2[nStage1Layer2Coll_]
int colCount_stage1Layer2[nStage1Layer2Coll_]
MonitorElement * eta_stage1layer2[nStage1Layer2Coll_]
MonitorElement * phi_stage1layer2[nStage1Layer2Coll_]
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * phiData[nGctColl_]
MonitorElement * eword_stage1layer2[nStage1Layer2Coll_]
MonitorElement * phi[nGctColl_]
MonitorElement * eta[nGctColl_]
MonitorElement * sysrates
std::vector< L1DataEmulDigi > L1DEDigiCollection
MonitorElement * dword_stage1layer2[nStage1Layer2Coll_]
static const int nGctColl_
MonitorElement * rnk_stage1layer2[nStage1Layer2Coll_]
MonitorElement * etaData[nGctColl_]
MonitorElement * rnk[nGctColl_]
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
int nWithCol_stage1Layer2[nStage1Layer2Coll_]
MonitorElement * errortype[nGctColl_]
int getNCand(int i, int j) const
MonitorElement * rnkData[nGctColl_]
MonitorElement * sysncand[2]
virtual double getBinContent(int binx) const
get content of bin (1-D)
MonitorElement * errortype_stage1layer2[nStage1Layer2Coll_]
MonitorElement * rnkData_stage1layer2[nStage1Layer2Coll_]
MonitorElement * dword[nGctColl_]
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
L1DEDigiCollection getColl() const
MonitorElement * etaphi_stage1layer2[nStage1Layer2Coll_]
edm::EDGetTokenT< L1DataEmulRecord > DEsource_
const std::string SystLabel[DEnsys]
MonitorElement * deword[nGctColl_]
MonitorElement * deword_stage1layer2[nStage1Layer2Coll_]
MonitorElement * eword[nGctColl_]
MonitorElement * etaData_stage1layer2[nStage1Layer2Coll_]
MonitorElement * etaphi[nGctColl_]
static const int nStage1Layer2Coll_
bool get_isComp(int i) const