|
|
#include <L1TdeGCT.h>
Definition at line 27 of file L1TdeGCT.h.
◆ L1TdeGCT()
◆ ~L1TdeGCT()
◆ analyze()
get the comparison results
get the de candidates
— Fill histograms(me) —
(note see L1Trigger/HardwareValidation/interface/DEtrait.h)
bitset loop
event based rate
object based rate
get the de candidates
— Fill histograms(me) —
(note see L1Trigger/HardwareValidation/interface/DEtrait.h)
bitset loop
event based rate
object based rate
Reimplemented from DQMEDAnalyzer.
Definition at line 336 of file L1TdeGCT.cc.
341 std::cout <<
"L1TdeGCT::analyze() start\n" << std::flush;
348 edm::LogInfo(
"DataNotFound") <<
"Cannot find L1DataEmulRecord"
349 <<
" Please verify that comparator was successfully executed."
350 <<
" Emulator DQM for GCT will be skipped!" << std::endl;
359 std::cout <<
"[L1TdeGCT] Gct information not generated in de-record."
360 <<
" Skiping event!\n"
365 int DEncand[2] = {0};
366 for (
int j = 0;
j < 2;
j++)
371 <<
" data: " << DEncand[0] <<
" emul: " << DEncand[1] << std::endl;
383 for (L1DEDigiCollection::const_iterator it = deColl.begin(); it != deColl.end(); it++)
385 if (it->sid() ==
GCT)
386 gctColl.push_back(*it);
389 std::cout <<
"[L1TdeGCT] record has " << gctColl.size() <<
" gct de digis\n" << std::flush;
390 for (L1DEDigiCollection::const_iterator it = gctColl.begin(); it != gctColl.end(); it++)
399 for (L1DEDigiCollection::const_iterator it = gctColl.begin(); it != gctColl.end(); it++) {
407 std::cout <<
"[L1TdeGCT] processing digi "
408 <<
" sys:" << sid <<
" type:" << cid <<
" \n\t" << *it <<
"\n"
412 if (sid !=
GCT || it->empty()) {
413 LogDebug(
"L1TdeGCT") <<
"consistency check failure, non-gct digis!";
417 int type = it->type();
418 double phiv = it->x1();
419 double etav = it->x2();
422 float rnkv = rankarr[0];
426 unsigned int mask = (~0x0);
431 LogDebug(
"L1TdeGCT") <<
"consistency check failure, col type outbounds:" << ccid <<
"\n";
438 if (it->type() < 5 && it->type() != 3)
446 if (etav != nullVal && phiv != nullVal)
466 unsigned int word[2];
468 std::bitset<32> dbits(
word[0]);
469 std::bitset<32> ebits(
word[1]);
470 unsigned int dexor = ((
word[0]) ^ (
word[1]));
472 std::bitset<32> debits(dexor);
474 std::bitset<32> dembits(((dexor) & (mask)));
478 <<
" sid:" << sid <<
" cid:" << cid <<
"\n"
479 <<
" data:0x" << std::hex <<
word[0] <<
std::dec <<
" bitset:" << dbits <<
"\n"
480 <<
" emul:0x" << std::hex <<
word[1] <<
std::dec <<
" bitset:" << ebits <<
"\n"
481 <<
" xor:0x" << std::hex << dexor <<
std::dec <<
" bitset:" << debits
482 <<
" bitset:" << ((dbits) ^ (ebits)) <<
"\n"
486 for (
int ibit = 0; ibit < 32; ibit++) {
505 for (L1DEDigiCollection::const_iterator it = gctColl.begin(); it != gctColl.end(); it++) {
507 ccid = (ccid < 0 || ccid >=
nGctColl_) ? 0 : ccid;
527 std::cout <<
"[L1TDEMON] analyze rate computation\t\n"
528 <<
" colid:" <<
i <<
"(so far)"
544 std::cout <<
"[L1TdeGCT] Gct information not generated in de-record."
545 <<
" Skiping event!\n"
550 int DEncand[2] = {0};
551 for (
int j = 0;
j < 2;
j++)
556 <<
" data: " << DEncand[0] <<
" emul: " << DEncand[1] << std::endl;
565 stage1layer2Coll.reserve(21);
566 stage1layer2Coll.clear();
568 for (L1DEDigiCollection::const_iterator it = deColl.begin(); it != deColl.end(); it++)
570 if (it->sid() ==
GCT)
571 stage1layer2Coll.push_back(*it);
574 std::cout <<
"[L1TdeSTAGE1LAYER2] record has " << stage1layer2Coll.size() <<
" stage1layer2 de digis\n"
576 for (L1DEDigiCollection::const_iterator it = stage1layer2Coll.begin(); it != stage1layer2Coll.end(); it++)
585 for (L1DEDigiCollection::const_iterator it = stage1layer2Coll.begin(); it != stage1layer2Coll.end(); it++) {
593 std::cout <<
"[L1TdeStage1Layer2] processing digi "
594 <<
" sys:" << sid <<
" type:" << cid <<
" \n\t" << *it <<
"\n"
597 if (sid !=
GCT || it->empty()) {
598 LogDebug(
"L1TdeGCT") <<
"consistency check failure, non-stage1layer2 digis!";
602 int type = it->type();
603 double phiv = it->x1();
604 double etav = it->x2();
607 float rnkv = rankarr[0];
611 unsigned int mask = (~0x0);
616 LogDebug(
"L1TdeGCT") <<
"consistency check failure, col type outbounds:" << ccid <<
"\n";
623 if (it->type() < 5 && it->type() != 3)
629 if (etav != nullVal && phiv != nullVal)
649 unsigned int word_stage1layer2[2];
650 it->data(word_stage1layer2);
651 std::bitset<32> dbits(word_stage1layer2[0]);
652 std::bitset<32> ebits(word_stage1layer2[1]);
653 unsigned int dexor = ((word_stage1layer2[0]) ^ (word_stage1layer2[1]));
655 std::bitset<32> debits(dexor);
657 std::bitset<32> dembits(((dexor) & (mask)));
661 <<
" sid:" << sid <<
" cid:" << cid <<
"\n"
662 <<
" data:0x" << std::hex << word_stage1layer2[0] <<
std::dec <<
" bitset:" << dbits <<
"\n"
663 <<
" emul:0x" << std::hex << word_stage1layer2[1] <<
std::dec <<
" bitset:" << ebits <<
"\n"
664 <<
" xor:0x" << std::hex << dexor <<
std::dec <<
" bitset:" << debits
665 <<
" bitset:" << ((dbits) ^ (ebits)) <<
"\n"
669 for (
int ibit = 0; ibit < 32; ibit++) {
687 for (L1DEDigiCollection::const_iterator it = stage1layer2Coll.begin(); it != stage1layer2Coll.end(); it++) {
709 std::cout <<
"[L1TDEMON] analyze rate computation\t\n"
710 <<
" colid:" <<
i <<
"(so far)"
References gather_cfg::cout, TauDecayModes::dec, PVValHelper::eta, fastmath::etaphi(), HcalObjRepresent::Fill(), dedefs::GCT, dedefs::GCTisolaem, L1DataEmulRecord::get_isComp(), L1DataEmulRecord::getColl(), L1DataEmulRecord::getNCand(), mps_fire::i, iEvent, edm::HandleBase::isValid(), dqmiolumiharvest::j, LogDebug, RPCpg::rate(), L1DataEmulDigi::reset(), dedefs::SystLabel, and verbose.
◆ bookHistograms()
Implements DQMEDAnalyzer.
Definition at line 37 of file L1TdeGCT.cc.
39 double rnkMinim = 0.5;
40 double rnkMaxim = 63.5;
43 std::cout <<
"L1TdeGCT::beginRun() start\n" << std::flush;
50 for (
int j = 0;
j < 2;
j++) {
52 lbl += (
j == 0 ?
"Data" :
"Emul");
54 title += (
j == 0 ?
"(DATA)" :
"(EMULATOR)");
68 title +=
" ErrorFlag";
76 title +=
" ETA OF COMPARISON FAILURES";
83 title +=
" PHI OF COMPARISON FAILURES";
91 title +=
" ETA PHI OF COMPARISON FAILURES";
98 title +=
" RANK OF COMPARISON FAILURES";
99 rnk[
j] = ibooker.
book1D(lbl.data(),
title.data(), rnkNBins, rnkMinim, rnkMaxim);
107 title +=
" ETA (DATA)";
115 title +=
" PHI (DATA)";
124 title +=
" RANK (DATA)";
150 for (
int j = 0;
j <
nerr;
j++) {
180 for (
int j = 0;
j < 2;
j++) {
182 lbl += (
j == 0 ?
"Data" :
"Emul");
184 title += (
j == 0 ?
"(DATA)" :
"(EMULATOR)");
203 if (
sLabel[
j] ==
"Stage1HFSums") {
209 if (
sLabel[
j] ==
"IsoTauJet") {
222 title +=
" ErrorFlag";
230 title +=
" ETA OF COMPARISON FAILURES";
237 title +=
" PHI OF COMPARISON FAILURES";
245 title +=
" ETA PHI OF COMPARISON FAILURES";
253 title +=
" RANK OF COMPARISON FAILURES";
262 title +=
" ETA (DATA)";
270 title +=
" PHI (DATA)";
279 title +=
" RANK (DATA)";
305 for (
int j = 0;
j <
nerr;
j++) {
331 std::cout <<
"L1TdeGCT::beginJob() end.\n" << std::flush;
References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), gather_cfg::cout, PVValHelper::eta, metDiagnosticParameterSet_cfi::etaNBins, fastmath::etaphi(), mps_fire::i, dqmiolumiharvest::j, metDiagnosticParameterSet_cfi::phiNBins, dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, runGCPTkAlMap::title, and verbose.
◆ verbose()
int L1TdeGCT::verbose |
( |
| ) |
|
|
inlineprivate |
◆ cLabel
Initial value:= {
"IsoEM", "NoisoEM", "CenJet", "ForJet", "TauJet", "HT", "MET", "ET", "MHT", "HFSums", "HFCnts"}
Definition at line 77 of file L1TdeGCT.h.
◆ colCount
◆ colCount_stage1Layer2
◆ DEsource_
◆ deword
◆ deword_stage1layer2
◆ dword
◆ dword_stage1layer2
◆ errLabel
std::string L1TdeGCT::errLabel[nerr] = {"Agree", "Loc. Agree", "L.Disagree", "Data only", "Emul only"} |
|
private |
◆ errortype
◆ errortype_stage1layer2
◆ eta
◆ eta_stage1layer2
◆ etaData
◆ etaData_stage1layer2
◆ etaMaxim
const double L1TdeGCT::etaMaxim = 21.5 |
|
private |
◆ etaMinim
const double L1TdeGCT::etaMinim = -0.5 |
|
private |
◆ etaNBins
const int L1TdeGCT::etaNBins = 22 |
|
private |
◆ etaphi
◆ etaphi_stage1layer2
◆ eword
◆ eword_stage1layer2
◆ hasRecord_
bool L1TdeGCT::hasRecord_ |
|
private |
◆ histFile_
std::string L1TdeGCT::histFile_ |
|
private |
◆ histFolder_
std::string L1TdeGCT::histFolder_ |
|
private |
◆ m_stage1_layer2_
bool L1TdeGCT::m_stage1_layer2_ |
|
private |
◆ masked
◆ masked_stage1layer2
◆ monitorDaemon_
bool L1TdeGCT::monitorDaemon_ |
|
private |
◆ nbit
const int L1TdeGCT::nbit = 32 |
|
private |
◆ nerr
const int L1TdeGCT::nerr = 5 |
|
staticprivate |
◆ nGctColl_
◆ nStage1Layer2Coll_
◆ nWithCol
◆ nWithCol_stage1Layer2
◆ phi
◆ phi_stage1layer2
◆ phiData
◆ phiData_stage1layer2
◆ phiMaxim
const double L1TdeGCT::phiMaxim = 17.5 |
|
private |
◆ phiMinim
const double L1TdeGCT::phiMinim = -0.5 |
|
private |
◆ phiNBins
const int L1TdeGCT::phiNBins = 18 |
|
private |
◆ rnk
◆ rnk_stage1layer2
◆ rnkData
◆ rnkData_stage1layer2
◆ sLabel
Initial value:= {
"IsoEM", "NoisoEM", "CenJet", "ForJet", "TauJet", "HT", "MET", "ET", "MHT", "Stage1HFSums", "HFCnts", "IsoTauJet"}
Definition at line 79 of file L1TdeGCT.h.
◆ sysncand
◆ sysrates
◆ verbose_
const std::string SystLabel[DEnsys]
std::vector< L1DataEmulDigi > L1DEDigiCollection
MonitorElement * eta[nGctColl_]
MonitorElement * deword[nGctColl_]
MonitorElement * etaData_stage1layer2[nStage1Layer2Coll_]
MonitorElement * eword_stage1layer2[nStage1Layer2Coll_]
int colCount_stage1Layer2[nStage1Layer2Coll_]
virtual void setCurrentFolder(std::string const &fullpath)
int getNCand(int i, int j) const
std::string sLabel[nStage1Layer2Coll_]
std::string cLabel[nGctColl_]
MonitorElement * errortype[nGctColl_]
T getUntrackedParameter(std::string const &, T const &) const
Log< level::Info, false > LogInfo
MonitorElement * phi[nGctColl_]
MonitorElement * etaphi_stage1layer2[nStage1Layer2Coll_]
MonitorElement * sysrates
MonitorElement * etaData[nGctColl_]
MonitorElement * sysncand[2]
MonitorElement * phiData[nGctColl_]
MonitorElement * errortype_stage1layer2[nStage1Layer2Coll_]
MonitorElement * eword[nGctColl_]
int nWithCol_stage1Layer2[nStage1Layer2Coll_]
static const int nGctColl_
MonitorElement * dword_stage1layer2[nStage1Layer2Coll_]
MonitorElement * rnk_stage1layer2[nStage1Layer2Coll_]
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * dword[nGctColl_]
L1DEDigiCollection getColl() const
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
MonitorElement * phiData_stage1layer2[nStage1Layer2Coll_]
MonitorElement * etaphi[nGctColl_]
MonitorElement * deword_stage1layer2[nStage1Layer2Coll_]
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
std::string errLabel[nerr]
bool get_isComp(int i) const
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
MonitorElement * phi_stage1layer2[nStage1Layer2Coll_]
edm::EDGetTokenT< L1DataEmulRecord > DEsource_
MonitorElement * rnkData[nGctColl_]
T getParameter(std::string const &) const
MonitorElement * eta_stage1layer2[nStage1Layer2Coll_]
MonitorElement * rnk[nGctColl_]
static const int nStage1Layer2Coll_
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
virtual double getBinContent(int binx) const
get content of bin (1-D)
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
MonitorElement * rnkData_stage1layer2[nStage1Layer2Coll_]