CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
L1TdeGCT Class Reference

#include <L1TdeGCT.h>

Inheritance diagram for L1TdeGCT:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

 L1TdeGCT (const edm::ParameterSet &)
 
 ~L1TdeGCT () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Protected Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &ibooker, edm::Run const &, edm::EventSetup const &) override
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Member Functions

int verbose ()
 

Private Attributes

std::string cLabel [nGctColl_]
 
int colCount [nGctColl_]
 
int colCount_stage1Layer2 [nStage1Layer2Coll_]
 
edm::EDGetTokenT< L1DataEmulRecordDEsource_
 
MonitorElementdeword [nGctColl_]
 
MonitorElementdeword_stage1layer2 [nStage1Layer2Coll_]
 
MonitorElementdword [nGctColl_]
 
MonitorElementdword_stage1layer2 [nStage1Layer2Coll_]
 
std::string errLabel [nerr] = {"Agree", "Loc. Agree", "L.Disagree", "Data only", "Emul only"}
 
MonitorElementerrortype [nGctColl_]
 
MonitorElementerrortype_stage1layer2 [nStage1Layer2Coll_]
 
MonitorElementeta [nGctColl_]
 
MonitorElementeta_stage1layer2 [nStage1Layer2Coll_]
 
MonitorElementetaData [nGctColl_]
 
MonitorElementetaData_stage1layer2 [nStage1Layer2Coll_]
 
const double etaMaxim = 21.5
 
const double etaMinim = -0.5
 
const int etaNBins = 22
 
MonitorElementetaphi [nGctColl_]
 
MonitorElementetaphi_stage1layer2 [nStage1Layer2Coll_]
 
MonitorElementeword [nGctColl_]
 
MonitorElementeword_stage1layer2 [nStage1Layer2Coll_]
 
bool hasRecord_
 
std::string histFile_
 
std::string histFolder_
 
bool m_stage1_layer2_
 
MonitorElementmasked [nGctColl_]
 
MonitorElementmasked_stage1layer2 [nStage1Layer2Coll_]
 
bool monitorDaemon_
 
const int nbit = 32
 
int nWithCol [nGctColl_]
 
int nWithCol_stage1Layer2 [nStage1Layer2Coll_]
 
MonitorElementphi [nGctColl_]
 
MonitorElementphi_stage1layer2 [nStage1Layer2Coll_]
 
MonitorElementphiData [nGctColl_]
 
MonitorElementphiData_stage1layer2 [nStage1Layer2Coll_]
 
const double phiMaxim = 17.5
 
const double phiMinim = -0.5
 
const int phiNBins = 18
 
MonitorElementrnk [nGctColl_]
 
MonitorElementrnk_stage1layer2 [nStage1Layer2Coll_]
 
MonitorElementrnkData [nGctColl_]
 
MonitorElementrnkData_stage1layer2 [nStage1Layer2Coll_]
 
std::string sLabel [nStage1Layer2Coll_]
 
MonitorElementsysncand [2]
 
MonitorElementsysrates
 
int verbose_
 

Static Private Attributes

static const int nerr = 5
 
static const int nGctColl_ = dedefs::GCThfbit - dedefs::GCTisolaem + 1
 
static const int nStage1Layer2Coll_ = dedefs::GCTisotaujets - dedefs::GCTisolaem + 1
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 26 of file L1TdeGCT.h.

Constructor & Destructor Documentation

◆ L1TdeGCT()

L1TdeGCT::L1TdeGCT ( const edm::ParameterSet iConfig)
explicit

Definition at line 10 of file L1TdeGCT.cc.

References gather_cfg::cout, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), AlCaHLTBitMon_QueryRunRegistry::string, and verbose.

10  {
11  verbose_ = iConfig.getUntrackedParameter<int>("VerboseFlag", 0);
12 
13  if (verbose())
14  std::cout << "L1TdeGCT::L1TdeGCT()...\n" << std::flush;
15 
16  DEsource_ = consumes<L1DataEmulRecord>(iConfig.getParameter<edm::InputTag>("DataEmulCompareSource"));
17  histFolder_ = iConfig.getUntrackedParameter<std::string>("HistFolder");
18 
19  histFile_ = iConfig.getUntrackedParameter<std::string>("HistFile", "");
20  if (iConfig.getUntrackedParameter<bool>("disableROOToutput", true))
21  histFile_ = "";
22 
23  if (!histFile_.empty()) {
24  edm::LogInfo("OutputRootFile") << "L1TEmulator GCT specific histograms will be saved to " << histFile_.c_str()
25  << std::endl;
26  }
27 
28  hasRecord_ = true;
29 
30  if (verbose())
31  std::cout << "L1TdeGCT::L1TdeGCT()...done.\n" << std::flush;
32  m_stage1_layer2_ = iConfig.getParameter<bool>("stage1_layer2_");
33 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
int verbose_
Definition: L1TdeGCT.h:42
bool m_stage1_layer2_
Definition: L1TdeGCT.h:51
std::string histFile_
Definition: L1TdeGCT.h:46
T getUntrackedParameter(std::string const &, T const &) const
bool hasRecord_
Definition: L1TdeGCT.h:39
Log< level::Info, false > LogInfo
edm::EDGetTokenT< L1DataEmulRecord > DEsource_
Definition: L1TdeGCT.h:38
std::string histFolder_
Definition: L1TdeGCT.h:49
int verbose()
Definition: L1TdeGCT.h:43

◆ ~L1TdeGCT()

L1TdeGCT::~L1TdeGCT ( )
override

Definition at line 35 of file L1TdeGCT.cc.

35 {}

Member Function Documentation

◆ analyze()

void L1TdeGCT::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprotectedvirtual

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.

References gather_cfg::cout, TauDecayModes::dec, PVValHelper::eta, fastmath::etaphi(), dedefs::GCT, dedefs::GCTisolaem, L1DataEmulRecord::get_isComp(), L1DataEmulRecord::getColl(), L1DataEmulRecord::getNCand(), mps_fire::i, iEvent, edm::HandleBase::isValid(), dqmiolumiharvest::j, LogDebug, gpuClustering::pixelStatus::mask, RPCpg::rate(), L1DataEmulDigi::reset(), dedefs::SystLabel, and verbose.

336  {
337  if (!hasRecord_)
338  return;
339 
340  if (verbose())
341  std::cout << "L1TdeGCT::analyze() start\n" << std::flush;
342 
345  iEvent.getByToken(DEsource_, deRecord);
346 
347  if (!deRecord.isValid()) {
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;
351  hasRecord_ = false;
352  return;
353  }
354 
355  if (m_stage1_layer2_ == false) {
356  bool isComp = deRecord->get_isComp(GCT);
357  if (!isComp) {
358  if (verbose())
359  std::cout << "[L1TdeGCT] Gct information not generated in de-record."
360  << " Skiping event!\n"
361  << std::flush;
362  return;
363  }
364 
365  int DEncand[2] = {0};
366  for (int j = 0; j < 2; j++)
367  DEncand[j] = deRecord->getNCand(GCT, j);
368 
369  if (verbose())
370  std::cout << "[L1TdeGCT] ncands"
371  << " data: " << DEncand[0] << " emul: " << DEncand[1] << std::endl;
372 
374  L1DEDigiCollection deColl;
375  deColl = deRecord->getColl();
376 
377  // extract the GCT comparison digis
378  L1DEDigiCollection gctColl;
379 
380  gctColl.reserve(20);
381  gctColl.clear();
382 
383  for (L1DEDigiCollection::const_iterator it = deColl.begin(); it != deColl.end(); it++)
384  if (!it->empty())
385  if (it->sid() == GCT)
386  gctColl.push_back(*it);
387 
388  if (verbose()) {
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++)
391  std::cout << "\t" << *it << std::endl;
392  }
393 
394  const int nullVal = L1DataEmulDigi().reset();
395 
397 
398  // d|e candidate loop
399  for (L1DEDigiCollection::const_iterator it = gctColl.begin(); it != gctColl.end(); it++) {
400  // sid should be GCT
401  int sid = it->sid();
402  // cid: GCTisolaem, GCTnoisoem, GCTcenjets, GCTforjets, GCTtaujets
403  int cid = it->cid();
405 
406  if (verbose())
407  std::cout << "[L1TdeGCT] processing digi "
408  << " sys:" << sid << " type:" << cid << " \n\t" << *it << "\n"
409  << std::flush;
410 
411  //assert(cid==GCT);
412  if (sid != GCT || it->empty()) {
413  LogDebug("L1TdeGCT") << "consistency check failure, non-gct digis!";
414  continue;
415  }
416 
417  int type = it->type();
418  double phiv = it->x1();
419  double etav = it->x2();
420  float rankarr[2];
421  it->rank(rankarr);
422  float rnkv = rankarr[0];
423 
424  double wei;
425 
426  unsigned int mask = (~0x0);
427 
428  // shift coll type for starting at zero
429  int ccid = cid - dedefs::GCTisolaem;
430  if (ccid < 0 || ccid >= nGctColl_) {
431  LogDebug("L1TdeGCT") << "consistency check failure, col type outbounds:" << ccid << "\n";
432  ccid = 0;
433  }
434 
435  //type: 0:agree 1:loc.agree, 2:loc.disagree, 3:data.only, 4:emul.only
436  if (type < 4)
437  sysncand[0]->Fill(ccid);
438  if (type < 5 && type != 3)
439  sysncand[1]->Fill(ccid);
440 
441  errortype[ccid]->Fill(type);
442 
443  wei = (type == 0) ? 0. : 1.;
444  if (etav != nullVal && phiv != nullVal)
445  etaphi[ccid]->Fill(etav, phiv, wei);
446  if (etav != nullVal)
447  eta[ccid]->Fill(etav, wei);
448  if (phiv != nullVal)
449  phi[ccid]->Fill(phiv, wei);
450  rnk[ccid]->Fill(rnkv, wei);
451 
452  //exclude e-only cands (only data)
453  wei = (type == 4) ? 0. : 1.;
454  if (etav != nullVal)
455  etaData[ccid]->Fill(etav, wei);
456  if (phiv != nullVal)
457  phiData[ccid]->Fill(phiv, wei);
458  rnkData[ccid]->Fill(rnkv, wei);
459 
460  // GCT trigger bits
461  unsigned int word[2];
462  it->data(word);
463  std::bitset<32> dbits(word[0]);
464  std::bitset<32> ebits(word[1]);
465  unsigned int dexor = ((word[0]) ^ (word[1]));
466  //disagreeing bits
467  std::bitset<32> debits(dexor);
468  //disagreeing bits after masking
469  std::bitset<32> dembits(((dexor) & (mask)));
470 
471  if (verbose())
472  std::cout << "l1degct"
473  << " sid:" << sid << " cid:" << cid << "\n"
474  << " data:0x" << std::hex << word[0] << std::dec << " bitset:" << dbits << "\n"
475  << " emul:0x" << std::hex << word[1] << std::dec << " bitset:" << ebits << "\n"
476  << " xor:0x" << std::hex << dexor << std::dec << " bitset:" << debits
477  << " bitset:" << ((dbits) ^ (ebits)) << "\n"
478  << std::flush;
479 
481  for (int ibit = 0; ibit < 32; ibit++) {
482  //comparison gives no info if there's only 1 candidate
483  wei = (type == 3 || type == 4) ? 0. : 1.;
484  if (dbits[ibit])
485  dword[ccid]->Fill(ibit, wei);
486  if (ebits[ibit])
487  eword[ccid]->Fill(ibit, wei);
488  if (debits[ibit])
489  deword[ccid]->Fill(ibit, wei);
490  //if(dembits[ibit])masked[sid]->Fill(ibit,wei);
491  }
492  }
493 
494  //error rates per GCT trigger object type
495  int hasCol[nGctColl_] = {0};
496  int nagree[nGctColl_] = {0};
497  for (L1DEDigiCollection::const_iterator it = gctColl.begin(); it != gctColl.end(); it++) {
498  int ccid = it->cid() - dedefs::GCTisolaem;
499  ccid = (ccid < 0 || ccid >= nGctColl_) ? 0 : ccid;
500  hasCol[ccid]++;
501  if (!it->type())
502  nagree[ccid]++;
503  }
504  for (int i = 0; i < nGctColl_; i++) {
505  if (!hasCol[i])
506  continue;
508  //nWithCol[i]++;
509  //if(nagree[i]<hasCol[i]) colCount[i]++;
511  nWithCol[i] += hasCol[i]; //#of objects
512  colCount[i] += nagree[i]; //#of agreements
513  }
514  for (int i = 0; i < nGctColl_; i++) {
515  int ibin = i + 1;
516  double rate = nWithCol[i] ? 1. - 1. * colCount[i] / nWithCol[i] : 0.;
517  sysrates->setBinContent(ibin, rate);
518  if (verbose()) {
519  std::cout << "[L1TDEMON] analyze rate computation\t\n"
520  << " colid:" << i << "(so far)"
521  << " nWithCol: " << nWithCol[i] << " colCount: " << colCount[i] << "(this event)"
522  << "hasCol: " << hasCol[i] << " nagree: " << nagree[i] << " rate:" << sysrates->getBinContent(ibin)
523  << "\n"
524  << std::flush;
525  if (rate > 1. || rate < 0.)
526  std::cout << "problem, error rate for " << SystLabel[i] << " is " << sysrates->getBinContent(ibin) << "\n"
527  << std::flush;
528  }
529  }
530  }
531 
532  if (m_stage1_layer2_ == true) {
533  bool isComp = deRecord->get_isComp(GCT);
534  if (!isComp) {
535  if (verbose())
536  std::cout << "[L1TdeGCT] Gct information not generated in de-record."
537  << " Skiping event!\n"
538  << std::flush;
539  return;
540  }
541 
542  int DEncand[2] = {0};
543  for (int j = 0; j < 2; j++)
544  DEncand[j] = deRecord->getNCand(GCT, j);
545 
546  if (verbose())
547  std::cout << "[L1TdeGCT] ncands"
548  << " data: " << DEncand[0] << " emul: " << DEncand[1] << std::endl;
549 
551  L1DEDigiCollection deColl;
552  deColl = deRecord->getColl();
553 
554  // extract the GCT comparison digis
555  L1DEDigiCollection stage1layer2Coll;
556 
557  stage1layer2Coll.reserve(21);
558  stage1layer2Coll.clear();
559 
560  for (L1DEDigiCollection::const_iterator it = deColl.begin(); it != deColl.end(); it++)
561  if (!it->empty())
562  if (it->sid() == GCT)
563  stage1layer2Coll.push_back(*it);
564 
565  if (verbose()) {
566  std::cout << "[L1TdeSTAGE1LAYER2] record has " << stage1layer2Coll.size() << " stage1layer2 de digis\n"
567  << std::endl;
568  for (L1DEDigiCollection::const_iterator it = stage1layer2Coll.begin(); it != stage1layer2Coll.end(); it++)
569  std::cout << "\t" << *it << std::endl;
570  }
571 
572  const int nullVal = L1DataEmulDigi().reset();
573 
575 
576  // d|e candidate loop
577  for (L1DEDigiCollection::const_iterator it = stage1layer2Coll.begin(); it != stage1layer2Coll.end(); it++) {
578  // sid should be GCT
579  int sid = it->sid();
580 
581  int cid = it->cid();
583 
584  if (verbose())
585  std::cout << "[L1TdeStage1Layer2] processing digi "
586  << " sys:" << sid << " type:" << cid << " \n\t" << *it << "\n"
587  << std::endl;
588 
589  if (sid != GCT || it->empty()) {
590  LogDebug("L1TdeGCT") << "consistency check failure, non-stage1layer2 digis!";
591  continue;
592  }
593 
594  int type = it->type();
595  double phiv = it->x1();
596  double etav = it->x2();
597  float rankarr[2];
598  it->rank(rankarr);
599  float rnkv = rankarr[0];
600 
601  double wei;
602 
603  unsigned int mask = (~0x0);
604 
605  // shift coll type for starting at zero
606  int ccid = cid - dedefs::GCTisolaem;
607  if (ccid < 0 || ccid >= nStage1Layer2Coll_) {
608  LogDebug("L1TdeGCT") << "consistency check failure, col type outbounds:" << ccid << "\n";
609  ccid = 0;
610  }
611 
612  //type: 0:agree 1:loc.agree, 2:loc.disagree, 3:data.only, 4:emul.only
613  if (type < 4)
614  sysncand[0]->Fill(ccid);
615  if (type < 5 && type != 3)
616  sysncand[1]->Fill(ccid);
618  wei = (type == 0) ? 0. : 1.;
619  if (etav != nullVal && phiv != nullVal)
620  etaphi_stage1layer2[ccid]->Fill(etav, phiv, wei);
621  if (etav != nullVal)
622  eta_stage1layer2[ccid]->Fill(etav, wei);
623  if (phiv != nullVal)
624  phi_stage1layer2[ccid]->Fill(phiv, wei);
625  rnk_stage1layer2[ccid]->Fill(rnkv, wei);
626 
627  //exclude e-only cands (only data)
628  wei = (type == 4) ? 0. : 1.;
629  if (etav != nullVal)
630  etaData_stage1layer2[ccid]->Fill(etav, wei);
631  if (phiv != nullVal)
632  phiData_stage1layer2[ccid]->Fill(phiv, wei);
633  rnkData_stage1layer2[ccid]->Fill(rnkv, wei);
634 
635  // GCT trigger bits
636  unsigned int word_stage1layer2[2];
637  it->data(word_stage1layer2);
638  std::bitset<32> dbits(word_stage1layer2[0]);
639  std::bitset<32> ebits(word_stage1layer2[1]);
640  unsigned int dexor = ((word_stage1layer2[0]) ^ (word_stage1layer2[1]));
641  //disagreeing bits
642  std::bitset<32> debits(dexor);
643  //disagreeing bits after masking
644  std::bitset<32> dembits(((dexor) & (mask)));
645 
646  if (verbose())
647  std::cout << "l1degct"
648  << " sid:" << sid << " cid:" << cid << "\n"
649  << " data:0x" << std::hex << word_stage1layer2[0] << std::dec << " bitset:" << dbits << "\n"
650  << " emul:0x" << std::hex << word_stage1layer2[1] << std::dec << " bitset:" << ebits << "\n"
651  << " xor:0x" << std::hex << dexor << std::dec << " bitset:" << debits
652  << " bitset:" << ((dbits) ^ (ebits)) << "\n"
653  << std::flush;
654 
656  for (int ibit = 0; ibit < 32; ibit++) {
657  //comparison gives no info if there's only 1 candidate
658  wei = (type == 3 || type == 4) ? 0. : 1.;
659  if (dbits[ibit])
660  dword_stage1layer2[ccid]->Fill(ibit, wei);
661  if (ebits[ibit])
662  eword_stage1layer2[ccid]->Fill(ibit, wei);
663  if (debits[ibit])
664  deword_stage1layer2[ccid]->Fill(ibit, wei);
665  //if(dembits[ibit])masked[sid]->Fill(ibit,wei);
666  }
667  }
668  //error rates per GCT trigger object type
669  int hasCol[nStage1Layer2Coll_] = {0};
670  int nagree[nStage1Layer2Coll_] = {0};
671  for (L1DEDigiCollection::const_iterator it = stage1layer2Coll.begin(); it != stage1layer2Coll.end(); it++) {
672  int ccid = it->cid() - dedefs::GCTisolaem;
673  ccid = (ccid < 0 || ccid >= nStage1Layer2Coll_) ? 0 : ccid;
674  hasCol[ccid]++;
675  if (!it->type())
676  nagree[ccid]++;
677  }
678  for (int i = 0; i < nStage1Layer2Coll_; i++) {
679  if (!hasCol[i])
680  continue;
682  //nWithCol[i]++;
683  //if(nagree[i]<hasCol[i]) colCount[i]++;
685  nWithCol_stage1Layer2[i] += hasCol[i]; //#of objects
686  colCount_stage1Layer2[i] += nagree[i]; //#of agreements
687  }
688  for (int i = 0; i < nStage1Layer2Coll_; i++) {
689  int ibin = i + 1;
691  sysrates->setBinContent(ibin, rate);
692  if (verbose()) {
693  std::cout << "[L1TDEMON] analyze rate computation\t\n"
694  << " colid:" << i << "(so far)"
695  << " nWithCol: " << nWithCol_stage1Layer2[i] << " colCount: " << colCount_stage1Layer2[i]
696  << "(this event)"
697  << "hasCol: " << hasCol[i] << " nagree: " << nagree[i] << " rate:" << sysrates->getBinContent(ibin)
698  << "\n"
699  << std::flush;
700  if (rate > 1. || rate < 0.)
701  std::cout << "problem, error rate for " << SystLabel[i] << " is " << sysrates->getBinContent(ibin) << "\n"
702  << std::flush;
703  }
704  }
705  }
706 }
MonitorElement * phiData_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:103
int nWithCol[nGctColl_]
Definition: L1TdeGCT.h:62
int colCount[nGctColl_]
Definition: L1TdeGCT.h:61
int colCount_stage1Layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:64
MonitorElement * eta_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:99
MonitorElement * phi_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:100
MonitorElement * phiData[nGctColl_]
Definition: L1TdeGCT.h:93
MonitorElement * eword_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:113
bool m_stage1_layer2_
Definition: L1TdeGCT.h:51
MonitorElement * phi[nGctColl_]
Definition: L1TdeGCT.h:90
MonitorElement * eta[nGctColl_]
Definition: L1TdeGCT.h:89
MonitorElement * sysrates
Definition: L1TdeGCT.h:83
std::vector< L1DataEmulDigi > L1DEDigiCollection
Definition: DEtrait.h:101
MonitorElement * dword_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:112
constexpr uint32_t mask
Definition: gpuClustering.h:26
static const int nGctColl_
Definition: L1TdeGCT.h:57
MonitorElement * rnk_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:101
void Fill(long long x)
MonitorElement * etaData[nGctColl_]
Definition: L1TdeGCT.h:92
uint64_t word
int iEvent
Definition: GenABIO.cc:224
L1DEDigiCollection getColl() const
MonitorElement * rnk[nGctColl_]
Definition: L1TdeGCT.h:91
bool get_isComp(int i) const
int getNCand(int i, int j) const
int nWithCol_stage1Layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:65
MonitorElement * errortype[nGctColl_]
Definition: L1TdeGCT.h:86
bool hasRecord_
Definition: L1TdeGCT.h:39
MonitorElement * rnkData[nGctColl_]
Definition: L1TdeGCT.h:94
MonitorElement * sysncand[2]
Definition: L1TdeGCT.h:84
MonitorElement * errortype_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:96
Log< level::Info, false > LogInfo
MonitorElement * rnkData_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:104
MonitorElement * dword[nGctColl_]
Definition: L1TdeGCT.h:108
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * etaphi_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:98
edm::EDGetTokenT< L1DataEmulRecord > DEsource_
Definition: L1TdeGCT.h:38
bool isValid() const
Definition: HandleBase.h:70
const std::string SystLabel[DEnsys]
Definition: DEtrait.h:42
double rate(double x)
Definition: Constants.cc:3
MonitorElement * deword[nGctColl_]
Definition: L1TdeGCT.h:110
MonitorElement * deword_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:114
MonitorElement * eword[nGctColl_]
Definition: L1TdeGCT.h:109
MonitorElement * etaData_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:102
MonitorElement * etaphi[nGctColl_]
Definition: L1TdeGCT.h:88
static const int nStage1Layer2Coll_
Definition: L1TdeGCT.h:58
int verbose()
Definition: L1TdeGCT.h:43
#define LogDebug(id)
virtual double getBinContent(int binx) const
get content of bin (1-D)

◆ bookHistograms()

void L1TdeGCT::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 37 of file L1TdeGCT.cc.

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.

37  {
38  int rnkNBins = 63;
39  double rnkMinim = 0.5;
40  double rnkMaxim = 63.5;
41 
42  if (verbose())
43  std::cout << "L1TdeGCT::beginRun() start\n" << std::flush;
44 
46  //for Legacy GCT
47  if (m_stage1_layer2_ == false) {
48  sysrates = ibooker.book1D("sysrates", "RATE OF COMPARISON FAILURES", nGctColl_, 0, nGctColl_);
49 
50  for (int j = 0; j < 2; j++) {
51  std::string lbl("sysncand");
52  lbl += (j == 0 ? "Data" : "Emul");
53  std::string title("GCT OBJECT MULTIPLICITY ");
54  title += (j == 0 ? "(DATA)" : "(EMULATOR)");
55  sysncand[j] = ibooker.book1D(lbl.data(), title.data(), nGctColl_, 0, nGctColl_);
56  }
57 
58  for (int j = 0; j < nGctColl_; j++) {
59  ibooker.setCurrentFolder(std::string(histFolder_ + "/" + cLabel[j]));
60 
61  std::string lbl("");
62  std::string title("");
63  lbl.clear();
64  title.clear();
65  lbl += cLabel[j];
66  lbl += "ErrorFlag";
67  title += cLabel[j];
68  title += " ErrorFlag";
69  errortype[j] = ibooker.book1D(lbl.data(), title.data(), nerr, 0, nerr);
70 
71  lbl.clear();
72  title.clear();
73  lbl += cLabel[j];
74  lbl += "Eta";
75  title += cLabel[j];
76  title += " ETA OF COMPARISON FAILURES";
77  eta[j] = ibooker.book1D(lbl.data(), title.data(), etaNBins, etaMinim, etaMaxim);
78  lbl.clear();
79  title.clear();
80  lbl += cLabel[j];
81  lbl += "Phi";
82  title += cLabel[j];
83  title += " PHI OF COMPARISON FAILURES";
84  phi[j] = ibooker.book1D(lbl.data(), title.data(), phiNBins, phiMinim, phiMaxim);
85 
86  lbl.clear();
87  title.clear();
88  lbl += cLabel[j];
89  lbl += "Etaphi";
90  title += cLabel[j];
91  title += " ETA PHI OF COMPARISON FAILURES";
92  etaphi[j] = ibooker.book2D(lbl.data(), title.data(), etaNBins, etaMinim, etaMaxim, phiNBins, phiMinim, phiMaxim);
93  lbl.clear();
94  title.clear();
95  lbl += cLabel[j];
96  lbl += "Rank";
97  title += cLabel[j];
98  title += " RANK OF COMPARISON FAILURES";
99  rnk[j] = ibooker.book1D(lbl.data(), title.data(), rnkNBins, rnkMinim, rnkMaxim);
100  //
101  lbl.clear();
102  title.clear();
103  lbl += cLabel[j];
104  lbl += "Eta";
105  lbl += "Data";
106  title += cLabel[j];
107  title += " ETA (DATA)";
108  etaData[j] = ibooker.book1D(lbl.data(), title.data(), etaNBins, etaMinim, etaMaxim);
109  lbl.clear();
110  title.clear();
111  lbl += cLabel[j];
112  lbl += "Phi";
113  lbl += "Data";
114  title += cLabel[j];
115  title += " PHI (DATA)";
116  phiData[j] = ibooker.book1D(lbl.data(), title.data(), phiNBins, phiMinim, phiMaxim);
117 
118  lbl.clear();
119  title.clear();
120  lbl += cLabel[j];
121  lbl += "Rank";
122  lbl += "Data";
123  title += cLabel[j];
124  title += " RANK (DATA)";
125  rnkData[j] = ibooker.book1D(lbl.data(), title.data(), rnkNBins, rnkMinim, rnkMaxim);
126  lbl.clear();
127  lbl += cLabel[j];
128  lbl += "Dword";
129  dword[j] = ibooker.book1D(lbl.data(), lbl.data(), nbit, 0, nbit);
130  lbl.clear();
131  lbl += cLabel[j];
132  lbl += "Eword";
133  eword[j] = ibooker.book1D(lbl.data(), lbl.data(), nbit, 0, nbit);
134  lbl.clear();
135  lbl += cLabel[j];
136  lbl += "DEword";
137  deword[j] = ibooker.book1D(lbl.data(), lbl.data(), nbit, 0, nbit);
138  //lbl.clear();
139  //lbl+=cLabel[j];lbl+="Masked";
140  //masked[j] = dbe->book1D(lbl.data(),lbl.data(),nbit,0,nbit);
141  }
142 
143  for (int i = 0; i < nGctColl_; i++) {
144  sysrates->setBinLabel(i + 1, cLabel[i]);
145  sysncand[0]->setBinLabel(i + 1, cLabel[i]);
146  sysncand[1]->setBinLabel(i + 1, cLabel[i]);
147  }
148 
149  for (int i = 0; i < nGctColl_; i++) {
150  for (int j = 0; j < nerr; j++) {
151  errortype[i]->setBinLabel(j + 1, errLabel[j]);
152  }
153  }
154 
155  for (int i = 0; i < nGctColl_; i++) {
156  etaphi[i]->setAxisTitle("GCT #eta", 1);
157  etaphi[i]->setAxisTitle("GCT #phi", 2);
158  eta[i]->setAxisTitle("GCT #eta");
159  phi[i]->setAxisTitle("GCT #phi");
160  rnk[i]->setAxisTitle("Rank");
161  etaData[i]->setAxisTitle("GCT #eta");
162  phiData[i]->setAxisTitle("GCT #phi");
163  rnkData[i]->setAxisTitle("Rank");
164  dword[i]->setAxisTitle("trigger data word bit");
165  eword[i]->setAxisTitle("trigger data word bit");
166  deword[i]->setAxisTitle("trigger data word bit");
167  }
168 
169  for (int i = 0; i < nGctColl_; i++) {
170  colCount[i] = 0;
171  nWithCol[i] = 0;
172  }
173  }
174 
175  // for stage 1 layer 2
176 
177  if (m_stage1_layer2_ == true) {
178  sysrates = ibooker.book1D("sysrates", "RATE OF COMPARISON FAILURES", nStage1Layer2Coll_, 0, nStage1Layer2Coll_);
179 
180  for (int j = 0; j < 2; j++) {
181  std::string lbl("sysncand");
182  lbl += (j == 0 ? "Data" : "Emul");
183  std::string title("Stage1Layer2 OBJECT MULTIPLICITY ");
184  title += (j == 0 ? "(DATA)" : "(EMULATOR)");
185  sysncand[j] = ibooker.book1D(lbl.data(), title.data(), nStage1Layer2Coll_, 0, nStage1Layer2Coll_);
186  }
187 
188  for (int j = 0; j < nStage1Layer2Coll_; j++) {
189  ibooker.setCurrentFolder(std::string(histFolder_ + "/" + sLabel[j]));
190 
191  if (sLabel[j] == "MHT") {
192  rnkNBins = 127;
193  rnkMinim = 0.5;
194  rnkMaxim = 127.5;
195  }
196 
197  if ((sLabel[j] == "HT") || (sLabel[j] == "ET") || (sLabel[j] == "MET")) {
198  rnkNBins = 4096;
199  rnkMinim = -0.5;
200  rnkMaxim = 4095.5;
201  }
202 
203  if (sLabel[j] == "Stage1HFSums") {
204  rnkNBins = 9;
205  rnkMinim = -0.5;
206  rnkMaxim = 8.5;
207  }
208 
209  if (sLabel[j] == "IsoTauJet") {
210  rnkNBins = 64;
211  rnkMinim = -0.5;
212  rnkMaxim = 63.5;
213  }
214 
215  std::string lbl("");
216  std::string title("");
217  lbl.clear();
218  title.clear();
219  lbl += sLabel[j];
220  lbl += "ErrorFlag";
221  title += sLabel[j];
222  title += " ErrorFlag";
223  errortype_stage1layer2[j] = ibooker.book1D(lbl.data(), title.data(), nerr, 0, nerr);
224 
225  lbl.clear();
226  title.clear();
227  lbl += sLabel[j];
228  lbl += "Eta";
229  title += sLabel[j];
230  title += " ETA OF COMPARISON FAILURES";
231  eta_stage1layer2[j] = ibooker.book1D(lbl.data(), title.data(), etaNBins, etaMinim, etaMaxim);
232  lbl.clear();
233  title.clear();
234  lbl += sLabel[j];
235  lbl += "Phi";
236  title += sLabel[j];
237  title += " PHI OF COMPARISON FAILURES";
238  phi_stage1layer2[j] = ibooker.book1D(lbl.data(), title.data(), phiNBins, phiMinim, phiMaxim);
239 
240  lbl.clear();
241  title.clear();
242  lbl += sLabel[j];
243  lbl += "Etaphi";
244  title += sLabel[j];
245  title += " ETA PHI OF COMPARISON FAILURES";
247  ibooker.book2D(lbl.data(), title.data(), etaNBins, etaMinim, etaMaxim, phiNBins, phiMinim, phiMaxim);
248  lbl.clear();
249  title.clear();
250  lbl += sLabel[j];
251  lbl += "Rank";
252  title += sLabel[j];
253  title += " RANK OF COMPARISON FAILURES";
254  rnk_stage1layer2[j] = ibooker.book1D(lbl.data(), title.data(), rnkNBins, rnkMinim, rnkMaxim);
255  //
256  lbl.clear();
257  title.clear();
258  lbl += sLabel[j];
259  lbl += "Eta";
260  lbl += "Data";
261  title += sLabel[j];
262  title += " ETA (DATA)";
263  etaData_stage1layer2[j] = ibooker.book1D(lbl.data(), title.data(), etaNBins, etaMinim, etaMaxim);
264  lbl.clear();
265  title.clear();
266  lbl += sLabel[j];
267  lbl += "Phi";
268  lbl += "Data";
269  title += sLabel[j];
270  title += " PHI (DATA)";
271  phiData_stage1layer2[j] = ibooker.book1D(lbl.data(), title.data(), phiNBins, phiMinim, phiMaxim);
272 
273  lbl.clear();
274  title.clear();
275  lbl += sLabel[j];
276  lbl += "Rank";
277  lbl += "Data";
278  title += sLabel[j];
279  title += " RANK (DATA)";
280  rnkData_stage1layer2[j] = ibooker.book1D(lbl.data(), title.data(), rnkNBins, rnkMinim, rnkMaxim);
281  lbl.clear();
282  lbl += sLabel[j];
283  lbl += "Dword";
284  dword_stage1layer2[j] = ibooker.book1D(lbl.data(), lbl.data(), nbit, 0, nbit);
285  lbl.clear();
286  lbl += sLabel[j];
287  lbl += "Eword";
288  eword_stage1layer2[j] = ibooker.book1D(lbl.data(), lbl.data(), nbit, 0, nbit);
289  lbl.clear();
290  lbl += sLabel[j];
291  lbl += "DEword";
292  deword_stage1layer2[j] = ibooker.book1D(lbl.data(), lbl.data(), nbit, 0, nbit);
293  //lbl.clear();
294  //lbl+=cLabel[j];lbl+="Masked";
295  //masked_stage1layer2[j] = dbe->book1D(lbl.data(),lbl.data(),nbit,0,nbit);
296  }
297 
298  for (int i = 0; i < nStage1Layer2Coll_; i++) {
299  sysrates->setBinLabel(i + 1, sLabel[i]);
300  sysncand[0]->setBinLabel(i + 1, sLabel[i]);
301  sysncand[1]->setBinLabel(i + 1, sLabel[i]);
302  }
303 
304  for (int i = 0; i < nStage1Layer2Coll_; i++) {
305  for (int j = 0; j < nerr; j++) {
307  }
308  }
309 
310  for (int i = 0; i < nStage1Layer2Coll_; i++) {
311  etaphi_stage1layer2[i]->setAxisTitle("Stage1Layer2 #eta", 1);
312  etaphi_stage1layer2[i]->setAxisTitle("Stage1Layer2 #phi", 2);
313  eta_stage1layer2[i]->setAxisTitle("Stage1Layer2 #eta");
314  phi_stage1layer2[i]->setAxisTitle("Stage1Layer2 #phi");
315  rnk_stage1layer2[i]->setAxisTitle("Rank");
316  etaData_stage1layer2[i]->setAxisTitle("Stage1Layer2 #eta");
317  phiData_stage1layer2[i]->setAxisTitle("Stage1Layer2 #phi");
319  dword_stage1layer2[i]->setAxisTitle("trigger data word bit");
320  eword_stage1layer2[i]->setAxisTitle("trigger data word bit");
321  deword_stage1layer2[i]->setAxisTitle("trigger data word bit");
322  }
323 
324  for (int i = 0; i < nStage1Layer2Coll_; i++) {
327  }
328  }
329 
330  if (verbose())
331  std::cout << "L1TdeGCT::beginJob() end.\n" << std::flush;
332 }
MonitorElement * phiData_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:103
int nWithCol[nGctColl_]
Definition: L1TdeGCT.h:62
int colCount[nGctColl_]
Definition: L1TdeGCT.h:61
int colCount_stage1Layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:64
MonitorElement * eta_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:99
MonitorElement * phi_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:100
const double etaMaxim
Definition: L1TdeGCT.h:73
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MonitorElement * phiData[nGctColl_]
Definition: L1TdeGCT.h:93
MonitorElement * eword_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:113
bool m_stage1_layer2_
Definition: L1TdeGCT.h:51
const int nbit
Definition: L1TdeGCT.h:75
MonitorElement * phi[nGctColl_]
Definition: L1TdeGCT.h:90
MonitorElement * eta[nGctColl_]
Definition: L1TdeGCT.h:89
MonitorElement * sysrates
Definition: L1TdeGCT.h:83
MonitorElement * dword_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:112
const int etaNBins
Definition: L1TdeGCT.h:71
static const int nGctColl_
Definition: L1TdeGCT.h:57
MonitorElement * rnk_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:101
MonitorElement * etaData[nGctColl_]
Definition: L1TdeGCT.h:92
const int phiNBins
Definition: L1TdeGCT.h:68
MonitorElement * rnk[nGctColl_]
Definition: L1TdeGCT.h:91
int nWithCol_stage1Layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:65
MonitorElement * errortype[nGctColl_]
Definition: L1TdeGCT.h:86
const double phiMaxim
Definition: L1TdeGCT.h:70
MonitorElement * rnkData[nGctColl_]
Definition: L1TdeGCT.h:94
MonitorElement * sysncand[2]
Definition: L1TdeGCT.h:84
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 * errortype_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:96
MonitorElement * rnkData_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:104
MonitorElement * dword[nGctColl_]
Definition: L1TdeGCT.h:108
const double etaMinim
Definition: L1TdeGCT.h:72
static const int nerr
Definition: L1TdeGCT.h:74
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:212
MonitorElement * etaphi_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:98
std::string sLabel[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:78
std::string cLabel[nGctColl_]
Definition: L1TdeGCT.h:76
const double phiMinim
Definition: L1TdeGCT.h:69
MonitorElement * deword[nGctColl_]
Definition: L1TdeGCT.h:110
MonitorElement * deword_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:114
MonitorElement * eword[nGctColl_]
Definition: L1TdeGCT.h:109
MonitorElement * etaData_stage1layer2[nStage1Layer2Coll_]
Definition: L1TdeGCT.h:102
MonitorElement * etaphi[nGctColl_]
Definition: L1TdeGCT.h:88
static const int nStage1Layer2Coll_
Definition: L1TdeGCT.h:58
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
std::string histFolder_
Definition: L1TdeGCT.h:49
int verbose()
Definition: L1TdeGCT.h:43
std::string errLabel[nerr]
Definition: L1TdeGCT.h:80
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)

◆ verbose()

int L1TdeGCT::verbose ( )
inlineprivate

Definition at line 43 of file L1TdeGCT.h.

References verbose_.

43 { return verbose_; }
int verbose_
Definition: L1TdeGCT.h:42

Member Data Documentation

◆ cLabel

std::string L1TdeGCT::cLabel[nGctColl_]
private
Initial value:
= {
"IsoEM", "NoisoEM", "CenJet", "ForJet", "TauJet", "HT", "MET", "ET", "MHT", "HFSums", "HFCnts"}

Definition at line 76 of file L1TdeGCT.h.

◆ colCount

int L1TdeGCT::colCount[nGctColl_]
private

Definition at line 61 of file L1TdeGCT.h.

◆ colCount_stage1Layer2

int L1TdeGCT::colCount_stage1Layer2[nStage1Layer2Coll_]
private

Definition at line 64 of file L1TdeGCT.h.

◆ DEsource_

edm::EDGetTokenT<L1DataEmulRecord> L1TdeGCT::DEsource_
private

Definition at line 38 of file L1TdeGCT.h.

◆ deword

MonitorElement* L1TdeGCT::deword[nGctColl_]
private

Definition at line 110 of file L1TdeGCT.h.

◆ deword_stage1layer2

MonitorElement* L1TdeGCT::deword_stage1layer2[nStage1Layer2Coll_]
private

Definition at line 114 of file L1TdeGCT.h.

◆ dword

MonitorElement* L1TdeGCT::dword[nGctColl_]
private

Definition at line 108 of file L1TdeGCT.h.

◆ dword_stage1layer2

MonitorElement* L1TdeGCT::dword_stage1layer2[nStage1Layer2Coll_]
private

Definition at line 112 of file L1TdeGCT.h.

◆ errLabel

std::string L1TdeGCT::errLabel[nerr] = {"Agree", "Loc. Agree", "L.Disagree", "Data only", "Emul only"}
private

Definition at line 80 of file L1TdeGCT.h.

◆ errortype

MonitorElement* L1TdeGCT::errortype[nGctColl_]
private

Definition at line 86 of file L1TdeGCT.h.

◆ errortype_stage1layer2

MonitorElement* L1TdeGCT::errortype_stage1layer2[nStage1Layer2Coll_]
private

Definition at line 96 of file L1TdeGCT.h.

◆ eta

MonitorElement* L1TdeGCT::eta[nGctColl_]
private

Definition at line 89 of file L1TdeGCT.h.

Referenced by Particle.Particle::__str__(), Jet.Jet::jetID(), and Jet.Jet::puJetId().

◆ eta_stage1layer2

MonitorElement* L1TdeGCT::eta_stage1layer2[nStage1Layer2Coll_]
private

Definition at line 99 of file L1TdeGCT.h.

◆ etaData

MonitorElement* L1TdeGCT::etaData[nGctColl_]
private

Definition at line 92 of file L1TdeGCT.h.

◆ etaData_stage1layer2

MonitorElement* L1TdeGCT::etaData_stage1layer2[nStage1Layer2Coll_]
private

Definition at line 102 of file L1TdeGCT.h.

◆ etaMaxim

const double L1TdeGCT::etaMaxim = 21.5
private

Definition at line 73 of file L1TdeGCT.h.

◆ etaMinim

const double L1TdeGCT::etaMinim = -0.5
private

Definition at line 72 of file L1TdeGCT.h.

◆ etaNBins

const int L1TdeGCT::etaNBins = 22
private

Definition at line 71 of file L1TdeGCT.h.

◆ etaphi

MonitorElement* L1TdeGCT::etaphi[nGctColl_]
private

Definition at line 88 of file L1TdeGCT.h.

◆ etaphi_stage1layer2

MonitorElement* L1TdeGCT::etaphi_stage1layer2[nStage1Layer2Coll_]
private

Definition at line 98 of file L1TdeGCT.h.

◆ eword

MonitorElement* L1TdeGCT::eword[nGctColl_]
private

Definition at line 109 of file L1TdeGCT.h.

◆ eword_stage1layer2

MonitorElement* L1TdeGCT::eword_stage1layer2[nStage1Layer2Coll_]
private

Definition at line 113 of file L1TdeGCT.h.

◆ hasRecord_

bool L1TdeGCT::hasRecord_
private

Definition at line 39 of file L1TdeGCT.h.

◆ histFile_

std::string L1TdeGCT::histFile_
private

Definition at line 46 of file L1TdeGCT.h.

◆ histFolder_

std::string L1TdeGCT::histFolder_
private

Definition at line 49 of file L1TdeGCT.h.

◆ m_stage1_layer2_

bool L1TdeGCT::m_stage1_layer2_
private

Definition at line 51 of file L1TdeGCT.h.

◆ masked

MonitorElement* L1TdeGCT::masked[nGctColl_]
private

Definition at line 111 of file L1TdeGCT.h.

◆ masked_stage1layer2

MonitorElement* L1TdeGCT::masked_stage1layer2[nStage1Layer2Coll_]
private

Definition at line 115 of file L1TdeGCT.h.

◆ monitorDaemon_

bool L1TdeGCT::monitorDaemon_
private

Definition at line 54 of file L1TdeGCT.h.

◆ nbit

const int L1TdeGCT::nbit = 32
private

Definition at line 75 of file L1TdeGCT.h.

◆ nerr

const int L1TdeGCT::nerr = 5
staticprivate

Definition at line 74 of file L1TdeGCT.h.

◆ nGctColl_

const int L1TdeGCT::nGctColl_ = dedefs::GCThfbit - dedefs::GCTisolaem + 1
staticprivate

Definition at line 57 of file L1TdeGCT.h.

◆ nStage1Layer2Coll_

const int L1TdeGCT::nStage1Layer2Coll_ = dedefs::GCTisotaujets - dedefs::GCTisolaem + 1
staticprivate

Definition at line 58 of file L1TdeGCT.h.

◆ nWithCol

int L1TdeGCT::nWithCol[nGctColl_]
private

Definition at line 62 of file L1TdeGCT.h.

◆ nWithCol_stage1Layer2

int L1TdeGCT::nWithCol_stage1Layer2[nStage1Layer2Coll_]
private

Definition at line 65 of file L1TdeGCT.h.

◆ phi

MonitorElement* L1TdeGCT::phi[nGctColl_]
private

Definition at line 90 of file L1TdeGCT.h.

Referenced by Particle.Particle::__str__(), and ntupleDataFormat.Track::phiPull().

◆ phi_stage1layer2

MonitorElement* L1TdeGCT::phi_stage1layer2[nStage1Layer2Coll_]
private

Definition at line 100 of file L1TdeGCT.h.

◆ phiData

MonitorElement* L1TdeGCT::phiData[nGctColl_]
private

Definition at line 93 of file L1TdeGCT.h.

◆ phiData_stage1layer2

MonitorElement* L1TdeGCT::phiData_stage1layer2[nStage1Layer2Coll_]
private

Definition at line 103 of file L1TdeGCT.h.

◆ phiMaxim

const double L1TdeGCT::phiMaxim = 17.5
private

Definition at line 70 of file L1TdeGCT.h.

◆ phiMinim

const double L1TdeGCT::phiMinim = -0.5
private

Definition at line 69 of file L1TdeGCT.h.

◆ phiNBins

const int L1TdeGCT::phiNBins = 18
private

Definition at line 68 of file L1TdeGCT.h.

◆ rnk

MonitorElement* L1TdeGCT::rnk[nGctColl_]
private

Definition at line 91 of file L1TdeGCT.h.

◆ rnk_stage1layer2

MonitorElement* L1TdeGCT::rnk_stage1layer2[nStage1Layer2Coll_]
private

Definition at line 101 of file L1TdeGCT.h.

◆ rnkData

MonitorElement* L1TdeGCT::rnkData[nGctColl_]
private

Definition at line 94 of file L1TdeGCT.h.

◆ rnkData_stage1layer2

MonitorElement* L1TdeGCT::rnkData_stage1layer2[nStage1Layer2Coll_]
private

Definition at line 104 of file L1TdeGCT.h.

◆ sLabel

std::string L1TdeGCT::sLabel[nStage1Layer2Coll_]
private
Initial value:
= {
"IsoEM", "NoisoEM", "CenJet", "ForJet", "TauJet", "HT", "MET", "ET", "MHT", "Stage1HFSums", "HFCnts", "IsoTauJet"}

Definition at line 78 of file L1TdeGCT.h.

◆ sysncand

MonitorElement* L1TdeGCT::sysncand[2]
private

Definition at line 84 of file L1TdeGCT.h.

◆ sysrates

MonitorElement* L1TdeGCT::sysrates
private

Definition at line 83 of file L1TdeGCT.h.

◆ verbose_

int L1TdeGCT::verbose_
private

Definition at line 42 of file L1TdeGCT.h.

Referenced by verbose().