CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
HcalTrigPrimMonitor Class Reference

#include <HcalTrigPrimMonitor.h>

Inheritance diagram for HcalTrigPrimMonitor:
HcalBaseDQMonitor DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 
void beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 
void bookHistograms (DQMStore::IBooker &ib, const edm::Run &run, const edm::EventSetup &c)
 
void endJob ()
 
void endLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 
 HcalTrigPrimMonitor (const edm::ParameterSet &ps)
 
void processEvent (const edm::Handle< HcalTrigPrimDigiCollection > &data_tp_col, const edm::Handle< HcalTrigPrimDigiCollection > &emul_tp_col)
 
void reset ()
 
void setup (DQMStore::IBooker &)
 
 ~HcalTrigPrimMonitor ()
 
- Public Member Functions inherited from HcalBaseDQMonitor
 HcalBaseDQMonitor (const edm::ParameterSet &ps)
 
 HcalBaseDQMonitor ()
 
virtual ~HcalBaseDQMonitor ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Types

enum  ErrorFlag {
  kZeroTP =-1, kMatched = 0, kMismatchedEt = 1, kMismatchedFG = 2,
  kMissingData = 3, kMissingEmul = 4, kNErrorFlag = 5, kUnknown = kNErrorFlag
}
 

Private Member Functions

MonitorElementcreate_errorflag (DQMStore::IBooker &ib, const std::string &folder, const std::string &name)
 
MonitorElementcreate_et_histogram (DQMStore::IBooker &ib, const std::string &folder, const std::string &name)
 
MonitorElementcreate_fg_correlation (DQMStore::IBooker &ib, const std::string &folder, const std::string &name)
 
MonitorElementcreate_map (DQMStore::IBooker &ib, const std::string &folder, const std::string &name)
 
MonitorElementcreate_summary (DQMStore::IBooker &ib, const std::string &folder, const std::string &name)
 
MonitorElementcreate_tp_correlation (DQMStore::IBooker &ib, const std::string &folder, const std::string &name)
 

Private Attributes

MonitorElementbad_tps [2]
 
MonitorElementbad_tps_oot [2]
 
edm::InputTag dataLabel_
 
edm::InputTag emulLabel_
 
MonitorElementerrorflag [2]
 
MonitorElementerrorflag_oot [2]
 
MonitorElementfg_corr [2][2]
 
MonitorElementfg_corr_oot [2][2]
 
MonitorElementgood_tps [2]
 
MonitorElementgood_tps_oot [2]
 
int nBad_TP_per_LS_HB_
 
int nBad_TP_per_LS_HE_
 
int nBad_TP_per_LS_HF_
 
std::map< ErrorFlag,
MonitorElement * > 
problem_et [2][2]
 
std::map< ErrorFlag,
MonitorElement * > 
problem_et_oot [2][2]
 
std::map< ErrorFlag,
MonitorElement * > 
problem_map [2]
 
std::map< ErrorFlag,
MonitorElement * > 
problem_map_oot [2]
 
edm::EDGetTokenT
< HcalTrigPrimDigiCollection
tok_data_
 
edm::EDGetTokenT
< HcalTrigPrimDigiCollection
tok_emu_
 
MonitorElementtp_corr [2][2]
 
MonitorElementtp_corr_oot [2][2]
 
MonitorElementTPOccupancy_
 
MonitorElementTPOccupancyEta_
 
MonitorElementTPOccupancyPhi_
 
MonitorElementTPOccupancyPhiHFM_
 
MonitorElementTPOccupancyPhiHFP_
 
std::vector< int > ZSAlarmThreshold_
 
std::vector< int > ZSBadTPThreshold_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr
< dqmDetails::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from HcalBaseDQMonitor
virtual void cleanup (void)
 
virtual void dqmBeginRun (const edm::Run &run, const edm::EventSetup &c)
 
virtual void endRun (const edm::Run &run, const edm::EventSetup &c)
 
void getLogicalMap (const edm::EventSetup &c)
 
bool IsAllowedCalibType ()
 
bool LumiInOrder (int lumisec)
 
void SetupEtaPhiHists (DQMStore::IBooker &ib, EtaPhiHists &hh, std::string Name, std::string Units)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
- Protected Attributes inherited from HcalBaseDQMonitor
std::vector< int > AllowedCalibTypes_
 
int badChannelStatusMask_
 
int currentLS
 
int currenttype_
 
int debug_
 
bool enableCleanup_
 
bool eventAllowed_
 
bool HBpresent_
 
bool HEpresent_
 
bool HFpresent_
 
bool HOpresent_
 
int ievt_
 
std::map< unsigned int, int > KnownBadCells_
 
int levt_
 
HcalLogicalMaplogicalMap_
 
bool makeDiagnostics_
 
MonitorElementmeIevt_
 
MonitorElementmeLevt_
 
bool mergeRuns_
 
MonitorElementmeTevt_
 
MonitorElementmeTevtHist_
 
bool needLogicalMap_
 
int NLumiBlocks_
 
bool Online_
 
std::string prefixME_
 
MonitorElementProblemsCurrentLB
 
MonitorElementProblemsVsLB
 
MonitorElementProblemsVsLB_HB
 
MonitorElementProblemsVsLB_HBHEHF
 
MonitorElementProblemsVsLB_HE
 
MonitorElementProblemsVsLB_HF
 
MonitorElementProblemsVsLB_HO
 
bool skipOutOfOrderLS_
 
std::string subdir_
 
int tevt_
 

Detailed Description

Author
W. Fisher - FNAL

Definition at line 13 of file HcalTrigPrimMonitor.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

HcalTrigPrimMonitor::HcalTrigPrimMonitor ( const edm::ParameterSet ps)

Definition at line 4 of file HcalTrigPrimMonitor.cc.

References HcalBaseDQMonitor::AllowedCalibTypes_, dataLabel_, HcalBaseDQMonitor::debug_, emulLabel_, HcalBaseDQMonitor::enableCleanup_, edm::ParameterSet::getUntrackedParameter(), HcalBaseDQMonitor::makeDiagnostics_, HcalBaseDQMonitor::mergeRuns_, HcalBaseDQMonitor::NLumiBlocks_, HcalBaseDQMonitor::Online_, HcalBaseDQMonitor::prefixME_, HcalBaseDQMonitor::skipOutOfOrderLS_, AlCaHLTBitMon_QueryRunRegistry::string, HcalBaseDQMonitor::subdir_, tok_data_, and tok_emu_.

4  :
6  dataLabel_(ps.getParameter<edm::InputTag>("dataLabel")),
7  emulLabel_(ps.getParameter<edm::InputTag>("emulLabel")),
8  ZSBadTPThreshold_(ps.getParameter< std::vector<int> >("ZSBadTPThreshold")),
9  ZSAlarmThreshold_(ps.getParameter< std::vector<int> >("ZSAlarmThreshold"))
10 {
11  Online_ = ps.getUntrackedParameter<bool>("online",false);
12  mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns",false);
13  enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup",false);
14  debug_ = ps.getUntrackedParameter<int>("debug",false);
15  prefixME_ = ps.getUntrackedParameter<std::string>("subSystemFolder","Hcal/");
16  if (prefixME_.substr(prefixME_.size()-1,prefixME_.size())!="/")
17  prefixME_.append("/");
18  subdir_ = ps.getUntrackedParameter<std::string>("TaskFolder","TrigPrimMonitor_Hcal");
19  if (subdir_.size()>0 && subdir_.substr(subdir_.size()-1,subdir_.size())!="/")
20  subdir_.append("/");
21  subdir_=prefixME_+subdir_;
22  AllowedCalibTypes_ = ps.getUntrackedParameter<std::vector<int> > ("AllowedCalibTypes");
23  skipOutOfOrderLS_ = ps.getUntrackedParameter<bool>("skipOutOfOrderLS",true);
24  NLumiBlocks_ = ps.getUntrackedParameter<int>("NLumiBlocks",4000);
25  makeDiagnostics_ = ps.getUntrackedParameter<bool>("makeDiagnostics",false);
26 
27  // register for data access
28  tok_data_ = consumes<HcalTrigPrimDigiCollection>(dataLabel_);
29  tok_emu_ = consumes<HcalTrigPrimDigiCollection>(emulLabel_);
30 }
edm::EDGetTokenT< HcalTrigPrimDigiCollection > tok_emu_
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::vector< int > AllowedCalibTypes_
edm::EDGetTokenT< HcalTrigPrimDigiCollection > tok_data_
std::vector< int > ZSBadTPThreshold_
std::vector< int > ZSAlarmThreshold_
HcalTrigPrimMonitor::~HcalTrigPrimMonitor ( )

Definition at line 33 of file HcalTrigPrimMonitor.cc.

33  {
34 }

Member Function Documentation

void HcalTrigPrimMonitor::analyze ( const edm::Event e,
const edm::EventSetup c 
)
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 173 of file HcalTrigPrimMonitor.cc.

References HcalBaseDQMonitor::analyze(), dataLabel_, emulLabel_, edm::Event::getByToken(), HcalBaseDQMonitor::IsAllowedCalibType(), HcalBaseDQMonitor::LumiInOrder(), edm::EventBase::luminosityBlock(), processEvent(), tok_data_, and tok_emu_.

174 {
176  if (!IsAllowedCalibType()) return;
177  if (LumiInOrder(e.luminosityBlock())==false) return;
178 
180  if (!e.getByToken(tok_data_, data_tp_col)) {
181  edm::LogWarning("HcalTrigPrimMonitor")<< dataLabel_<< " data TP not available";
182  return;
183  }
184 
186  if (!e.getByToken(tok_emu_, emul_tp_col)) {
187  edm::LogWarning("HcalTrigPrimMonitor")<< emulLabel_<< " emul TP not available";
188  return;
189  }
190 
191 // HcalBaseDQMonitor::analyze(e,s); // base class increments ievt_, etc. counters
192  processEvent(data_tp_col, emul_tp_col);
193 }
edm::EDGetTokenT< HcalTrigPrimDigiCollection > tok_emu_
void processEvent(const edm::Handle< HcalTrigPrimDigiCollection > &data_tp_col, const edm::Handle< HcalTrigPrimDigiCollection > &emul_tp_col)
bool LumiInOrder(int lumisec)
virtual void analyze(const edm::Event &e, const edm::EventSetup &c)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:462
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:62
edm::EDGetTokenT< HcalTrigPrimDigiCollection > tok_data_
void HcalTrigPrimMonitor::beginLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
)
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 579 of file HcalTrigPrimMonitor.cc.

References HcalBaseDQMonitor::beginLuminosityBlock(), HcalBaseDQMonitor::LumiInOrder(), edm::LuminosityBlockBase::luminosityBlock(), nBad_TP_per_LS_HB_, nBad_TP_per_LS_HE_, nBad_TP_per_LS_HF_, HcalBaseDQMonitor::ProblemsCurrentLB, and MonitorElement::Reset().

579  {
580  if (LumiInOrder(lumiSeg.luminosityBlock())==false) return;
583  // Rest counter
584  nBad_TP_per_LS_HB_ = 0;
585  nBad_TP_per_LS_HE_ = 0;
586  nBad_TP_per_LS_HF_ = 0;
587 }
bool LumiInOrder(int lumisec)
MonitorElement * ProblemsCurrentLB
LuminosityBlockNumber_t luminosityBlock() const
virtual void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
void Reset(void)
reset ME (ie. contents, errors, etc)
void HcalTrigPrimMonitor::bookHistograms ( DQMStore::IBooker ib,
const edm::Run run,
const edm::EventSetup c 
)
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 164 of file HcalTrigPrimMonitor.cc.

References HcalBaseDQMonitor::bookHistograms(), HcalBaseDQMonitor::mergeRuns_, reset(), setup(), and HcalBaseDQMonitor::tevt_.

165 {
167  if (mergeRuns_ && tevt_>0) return; // don't reset counters if merging runs
168  if (tevt_==0) this->setup(ib); // create all histograms; not necessary if merging runs together
169  if (mergeRuns_==false) this->reset(); // call reset at start of all runs
170 } // void HcalTrigPrimMonitor::bookHistograms()
virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
void setup(DQMStore::IBooker &)
MonitorElement * HcalTrigPrimMonitor::create_errorflag ( DQMStore::IBooker ib,
const std::string &  folder,
const std::string &  name 
)
private

Definition at line 613 of file HcalTrigPrimMonitor.cc.

References DQMStore::IBooker::book2D(), MonitorElement::setBinLabel(), and DQMStore::IBooker::setCurrentFolder().

Referenced by setup().

613  {
614  edm::LogInfo("HcalTrigPrimMonitor") << "Creating MonitorElement " << name << " in folder " << folder << "\n";
615 
616  ib.setCurrentFolder(folder);
617  MonitorElement* element = ib.book2D(name, name, 4, 1, 5, 2, 0, 2);
618  element->setBinLabel(1, "Mismatched E");
619  element->setBinLabel(2, "Mismatched FG");
620  element->setBinLabel(3, "Missing Data");
621  element->setBinLabel(4, "Missing Emul");
622  element->setBinLabel(1, "HBHE", 2);
623  element->setBinLabel(2, "HF", 2);
624  return element;
625 }
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)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:273
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
MonitorElement * HcalTrigPrimMonitor::create_et_histogram ( DQMStore::IBooker ib,
const std::string &  folder,
const std::string &  name 
)
private

Definition at line 659 of file HcalTrigPrimMonitor.cc.

References DQMStore::IBooker::book1D(), and DQMStore::IBooker::setCurrentFolder().

Referenced by setup().

659  {
660  edm::LogInfo("HcalTrigPrimMonitor") << "Creating MonitorElement " << name << " in folder " << folder << "\n";
661 
662  ib.setCurrentFolder(folder);
663  return ib.book1D(name, name, 256, 0, 256);
664 }
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:273
MonitorElement * HcalTrigPrimMonitor::create_fg_correlation ( DQMStore::IBooker ib,
const std::string &  folder,
const std::string &  name 
)
private

Definition at line 639 of file HcalTrigPrimMonitor.cc.

References DQMStore::IBooker::book2D(), MonitorElement::setAxisTitle(), and DQMStore::IBooker::setCurrentFolder().

Referenced by setup().

639  {
640  edm::LogInfo("HcalTrigPrimMonitor") << "Creating MonitorElement " << name << " in folder " << folder << "\n";
641 
642  ib.setCurrentFolder(folder);
643  MonitorElement* element = ib.book2D(name, name, 2, 0, 2, 2, 0, 2);
644  element->setAxisTitle("data FG", 1);
645  element->setAxisTitle("emul FG", 2);
646  return element;
647 }
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:273
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * HcalTrigPrimMonitor::create_map ( DQMStore::IBooker ib,
const std::string &  folder,
const std::string &  name 
)
private

Definition at line 650 of file HcalTrigPrimMonitor.cc.

References DQMStore::IBooker::book2D(), DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and indexGen::title.

Referenced by setup().

650  {
651  edm::LogInfo("HcalTrigPrimMonitor") << "Creating MonitorElement " << name << " in folder " << folder << "\n";
652 
653  ib.setCurrentFolder(folder);
654  std::string title = name +";ieta;iphi";
655  return ib.book2D(name, title, 65, -32.5, 32.5, 72, 0.5, 72.5);
656 }
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:273
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
MonitorElement * HcalTrigPrimMonitor::create_summary ( DQMStore::IBooker ib,
const std::string &  folder,
const std::string &  name 
)
private

Definition at line 605 of file HcalTrigPrimMonitor.cc.

References DQMStore::IBooker::book2D(), and DQMStore::IBooker::setCurrentFolder().

605  {
606  edm::LogInfo("HcalTrigPrimMonitor") << "Creating MonitorElement " << name << " in folder " << folder << "\n";
607 
608  ib.setCurrentFolder(folder);
609  return ib.book2D(name, name, 65, -32.5, 32.5, 72, 0.5, 72.5);
610 }
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:273
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
MonitorElement * HcalTrigPrimMonitor::create_tp_correlation ( DQMStore::IBooker ib,
const std::string &  folder,
const std::string &  name 
)
private

Definition at line 628 of file HcalTrigPrimMonitor.cc.

References DQMStore::IBooker::book2D(), MonitorElement::setAxisTitle(), and DQMStore::IBooker::setCurrentFolder().

Referenced by setup().

628  {
629  edm::LogInfo("HcalTrigPrimMonitor") << "Creating MonitorElement " << name << " in folder " << folder << "\n";
630 
631  ib.setCurrentFolder(folder);
632  MonitorElement* element = ib.book2D(name, name, 50, 0, 256, 50, 0, 256);
633  element->setAxisTitle("data TP", 1);
634  element->setAxisTitle("emul TP", 2);
635  return element;
636 }
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:273
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void HcalTrigPrimMonitor::endJob ( void  )

Definition at line 574 of file HcalTrigPrimMonitor.cc.

References HcalBaseDQMonitor::cleanup(), and HcalBaseDQMonitor::enableCleanup_.

575 {
576  if (enableCleanup_) cleanup();
577 }
virtual void cleanup(void)
void HcalTrigPrimMonitor::endLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
)
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 589 of file HcalTrigPrimMonitor.cc.

References HcalBaseDQMonitor::currentLS, MonitorElement::Fill(), HcalBaseDQMonitor::levt_, HcalBaseDQMonitor::LumiInOrder(), edm::LuminosityBlockBase::luminosityBlock(), nBad_TP_per_LS_HB_, nBad_TP_per_LS_HE_, nBad_TP_per_LS_HF_, HcalBaseDQMonitor::ProblemsCurrentLB, HcalBaseDQMonitor::ProblemsVsLB, HcalBaseDQMonitor::ProblemsVsLB_HB, HcalBaseDQMonitor::ProblemsVsLB_HE, and HcalBaseDQMonitor::ProblemsVsLB_HF.

589  {
590  if (LumiInOrder(lumiSeg.luminosityBlock())==false) return;
591  // Fill histograms for this LS
596 
597  ProblemsCurrentLB->Fill(-1,-1,levt_);
601 }
bool LumiInOrder(int lumisec)
MonitorElement * ProblemsCurrentLB
MonitorElement * ProblemsVsLB_HF
void Fill(long long x)
LuminosityBlockNumber_t luminosityBlock() const
MonitorElement * ProblemsVsLB_HB
MonitorElement * ProblemsVsLB_HE
MonitorElement * ProblemsVsLB
void HcalTrigPrimMonitor::processEvent ( const edm::Handle< HcalTrigPrimDigiCollection > &  data_tp_col,
const edm::Handle< HcalTrigPrimDigiCollection > &  emul_tp_col 
)

Definition at line 197 of file HcalTrigPrimMonitor.cc.

References funct::abs(), bad_tps, bad_tps_oot, mps_update::diff, errorflag, errorflag_oot, fg_corr, fg_corr_oot, MonitorElement::Fill(), good_tps, good_tps_oot, i, HcalBaseDQMonitor::ievt_, isHF(), kMismatchedEt, kMismatchedFG, kMissingData, kMissingEmul, kNErrorFlag, bookConverter::max, nBad_TP_per_LS_HB_, nBad_TP_per_LS_HE_, nBad_TP_per_LS_HF_, problem_et, problem_et_oot, problem_map, problem_map_oot, MonitorElement::setBinContent(), tp_corr, tp_corr_oot, TPOccupancy_, TPOccupancyEta_, TPOccupancyPhi_, TPOccupancyPhiHFM_, TPOccupancyPhiHFP_, ZSAlarmThreshold_, and ZSBadTPThreshold_.

Referenced by analyze().

199  {
200 
201  bool useD1=false;
202  std::vector<int> errorflag_per_event[2][2];
203  std::vector<int> errorflag_per_event_oot[2][2];
204  for (int isZS = 0; isZS <= 1; ++isZS) {
205  for (int isHF = 0; isHF <= 1; ++isHF) {
206  errorflag_per_event[isZS][isHF] = std::vector<int>(kNErrorFlag, 0);
207  errorflag_per_event_oot[isZS][isHF] = std::vector<int>(kNErrorFlag, 0);
208  }//for isHF
209  }//for isZS
210 
211  for (int isZS = 0; isZS <= 1; ++isZS) {
212  good_tps[isZS]->setBinContent(-1,-1,ievt_);
213  bad_tps[isZS]->setBinContent(-1,-1,ievt_);
214  good_tps_oot[isZS]->setBinContent(-1,-1,ievt_);
215  bad_tps_oot[isZS]->setBinContent(-1,-1,ievt_);
216  }
217 
218  for (HcalTrigPrimDigiCollection::const_iterator data_tp = data_tp_col->begin();
219  data_tp != data_tp_col->end();
220  ++data_tp) {
221  int ieta = data_tp->id().ieta();
222  int iphi = data_tp->id().iphi();
223  int isHF = data_tp->id().ietaAbs() >= 29 ? 1 : 0;
224 
225  // Temporary fix for Hcal Trig Towers Mismatch
226  if (data_tp->id().depth()==1)
227  useD1 = true;
228 
229  //
230  if (data_tp->SOI_compressedEt() > 0) {
231  TPOccupancy_->Fill(ieta, iphi);
232  TPOccupancyEta_->Fill(ieta);
233  TPOccupancyPhi_->Fill(iphi);
234 
235  if (isHF) {
236  if (ieta > 0) {
237  TPOccupancyPhiHFP_->Fill(iphi);
238  }
239  else {
240  TPOccupancyPhiHFM_->Fill(iphi);
241  }
242  }
243  }
244 
245  //check missing from emulator
246  // Temporary fix for Hcal Trig Towers Mismatch
248  emul_tp_col->find(HcalTrigTowerDetId(
249  data_tp->id().ieta(), data_tp->id().iphi(),
250  0));
251  if (emul_tp == emul_tp_col->end()) {
252  bool pass_ZS = true;
253  bool pass_ZS_OOT = true;
254 
255  for (int i=0; i<data_tp->size(); ++i) {
256  if(i==2) {
257  int dataEt(data_tp->sample(i).compressedEt());
258  problem_et[0][isHF][kMissingEmul]->Fill(dataEt);
259 
260  if (dataEt > ZSAlarmThreshold_[abs(ieta)]) {
261  problem_et[1][isHF][kMissingEmul]->Fill(dataEt);
262  pass_ZS = false;
263  }
264 
265  problem_map[0][kMissingEmul]->Fill(ieta, iphi);
266  ++errorflag_per_event[0][isHF][kMissingEmul];
267  bad_tps[0]->Fill(ieta, iphi);
268 
269  if (!pass_ZS) {
270  problem_map[1][kMissingEmul]->Fill(ieta, iphi);
271  ++errorflag_per_event[1][isHF][kMissingEmul];
272  bad_tps[1]->Fill(ieta, iphi);
273 
274  // counts per LS, only for inTime TP
275  if (abs(ieta) <= 16)
277  else if(abs(ieta) <= 28)
279  else
281  }
282  }
283 
284  if(i!=2) {
285  int dataEt(data_tp->sample(i).compressedEt());
286  problem_et_oot[0][isHF][kMissingEmul]->Fill(dataEt);
287 
288  if (dataEt > ZSAlarmThreshold_[abs(ieta)]) {
289  problem_et_oot[1][isHF][kMissingEmul]->Fill(dataEt);
290  pass_ZS_OOT = false;
291  }
292 
293  problem_map_oot[0][kMissingEmul]->Fill(ieta, iphi);
294  ++errorflag_per_event_oot[0][isHF][kMissingEmul];
295  bad_tps_oot[0]->Fill(ieta, iphi);
296 
297  if (!pass_ZS_OOT) {
298  problem_map_oot[1][kMissingEmul]->Fill(ieta, iphi);
299  ++errorflag_per_event_oot[1][isHF][kMissingEmul];
300  bad_tps_oot[1]->Fill(ieta, iphi);
301  }
302  }
303  }
304  } //emul tp not found
305  else {
306  bool mismatchedEt_noZS = false;
307  bool mismatchedEt_ZS = false;
308  bool mismatchedFG_noZS = false;
309  bool mismatchedFG_ZS = false;
310 
311  bool mismatchedEt_OOT_noZS = false;
312  bool mismatchedEt_OOT_ZS = false;
313  bool mismatchedFG_OOT_noZS = false;
314  bool mismatchedFG_OOT_ZS = false;
315 
316  for (int i=0; i<data_tp->size(); ++i) {
317  int dataEt(data_tp->sample(i).compressedEt());
318  int dataFG(data_tp->sample(i).fineGrain());
319  int emulEt(emul_tp->sample(i).compressedEt());
320  int emulFG(emul_tp->sample(i).fineGrain());
321 
322  int diff = abs(dataEt - emulEt);
323  bool fill_corr_ZS = true;
324  bool fill_corr_OOT_ZS = true;
325 
326  if (std::max(dataEt, emulEt) < ZSAlarmThreshold_.at(abs(ieta)))
327  continue;
328 
329  if (diff == 0) {
330  if (dataFG != emulFG) {
331  if(i==2) {
332  mismatchedFG_noZS = true;
333  problem_et[0][isHF][kMismatchedFG]->Fill(dataEt);
334 
335  // exclude mismatched FG when HF TP < ZS_AlarmThreshold
336  if (isHF == 1 && dataEt <= ZSAlarmThreshold_.at(abs(ieta))) {
337  // Do not fill ZS correlation plots.
338  fill_corr_ZS = false;
339  }
340  else {
341  mismatchedFG_ZS = true;
342  problem_et[1][isHF][kMismatchedFG]->Fill(dataEt);
343  }
344  }
345  if(i!=2){
346  mismatchedFG_OOT_noZS = true;
347  problem_et_oot[0][isHF][kMismatchedFG]->Fill(dataEt);
348 
349  // exclude mismatched FG when HF TP < ZS_AlarmThreshold
350  if (isHF == 1 && dataEt <= ZSAlarmThreshold_.at(abs(ieta))) {
351  // Do not fill ZS correlation plots.
352  fill_corr_OOT_ZS = false;
353  }
354  else {
355  mismatchedFG_OOT_ZS = true;
356  problem_et_oot[1][isHF][kMismatchedFG]->Fill(dataEt);
357  }
358  }
359  } // matched et but not fg
360  }
361  else {
362  if(i==2) {
363  mismatchedEt_noZS = true;
364  //if (diff > ZSAlarmThreshold_.at(abs(ieta))) {
365  if (diff > ZSBadTPThreshold_.at(abs(ieta))) {
366  mismatchedEt_ZS = true;
367  fill_corr_ZS = false;
368  }
369  }
370  if(i!=2) {
371  mismatchedEt_OOT_noZS = true;
372  //if (diff > ZSAlarmThreshold_.at(abs(ieta))) {
373  if (diff > ZSBadTPThreshold_.at(abs(ieta))) {
374  mismatchedEt_OOT_ZS = true;
375  fill_corr_OOT_ZS = false;
376  }
377  }
378  } // mismatche et
379 
380  // Correlation plots
381  if(i==2) {
382  tp_corr[0][isHF]->Fill(dataEt, emulEt);
383  fg_corr[0][isHF]->Fill(dataFG, emulFG);
384 
385  if (fill_corr_ZS) {
386  tp_corr[1][isHF]->Fill(dataEt, emulEt);
387  fg_corr[1][isHF]->Fill(dataFG, emulFG);
388  }
389  }
390  if(i!=2) {
391  tp_corr_oot[0][isHF]->Fill(dataEt, emulEt);
392  fg_corr_oot[0][isHF]->Fill(dataFG, emulFG);
393 
394  if (fill_corr_OOT_ZS) {
395  tp_corr_oot[1][isHF]->Fill(dataEt, emulEt);
396  fg_corr_oot[1][isHF]->Fill(dataFG, emulFG);
397  }
398  }
399  }//for tp sample
400 
401  // Fill Problem Map and error counts
402  if (mismatchedEt_noZS) {
403  problem_map[0][kMismatchedEt]->Fill(ieta, iphi);
404  ++errorflag_per_event[0][isHF][kMismatchedEt];
405  }
406  if (mismatchedEt_ZS) {
407  problem_map[1][kMismatchedEt]->Fill(ieta, iphi);
408  ++errorflag_per_event[1][isHF][kMismatchedEt];
409  }
410  if (mismatchedFG_noZS) {
411  problem_map[0][kMismatchedFG]->Fill(ieta, iphi);
412  ++errorflag_per_event[0][isHF][kMismatchedFG];
413  }
414  if (mismatchedFG_ZS) {
415  problem_map[1][kMismatchedFG]->Fill(ieta, iphi);
416  ++errorflag_per_event[1][isHF][kMismatchedFG];
417  }
418  if (mismatchedEt_noZS || mismatchedFG_noZS)
419  bad_tps[0]->Fill(ieta, iphi);
420  else
421  good_tps[0]->Fill(ieta, iphi);
422  if (mismatchedEt_ZS || mismatchedFG_ZS) {
423 
424  bad_tps[1]->Fill(ieta, iphi);
425 
426  // counts per LS
427  if (abs(ieta) <= 16)
429  else if(abs(ieta) <= 28)
431  else
433  }
434  else
435  good_tps[1]->Fill(ieta, iphi);
436 
437  // OOT Copy
438  // Fill Problem Map and error counts
439  if (mismatchedEt_OOT_noZS) {
440  problem_map_oot[0][kMismatchedEt]->Fill(ieta, iphi);
441  ++errorflag_per_event_oot[0][isHF][kMismatchedEt];
442  }
443  if (mismatchedEt_OOT_ZS) {
444  problem_map_oot[1][kMismatchedEt]->Fill(ieta, iphi);
445  ++errorflag_per_event_oot[1][isHF][kMismatchedEt];
446  }
447  if (mismatchedFG_noZS) {
448  problem_map_oot[0][kMismatchedFG]->Fill(ieta, iphi);
449  ++errorflag_per_event_oot[0][isHF][kMismatchedFG];
450  }
451  if (mismatchedFG_OOT_ZS) {
452  problem_map_oot[1][kMismatchedFG]->Fill(ieta, iphi);
453  ++errorflag_per_event_oot[1][isHF][kMismatchedFG];
454  }
455  if (mismatchedEt_OOT_noZS || mismatchedFG_OOT_noZS)
456  bad_tps_oot[0]->Fill(ieta, iphi);
457  else
458  good_tps_oot[0]->Fill(ieta, iphi);
459  if (mismatchedEt_OOT_ZS || mismatchedFG_OOT_ZS) {
460 
461  bad_tps_oot[1]->Fill(ieta, iphi);
462  }
463  else
464  good_tps_oot[1]->Fill(ieta, iphi);
465  }//emul tp found
466  }//for data_tp_col
467 
468 
469  //check missing from data
470  for (HcalTrigPrimDigiCollection::const_iterator emul_tp = emul_tp_col->begin();
471  emul_tp != emul_tp_col->end();
472  ++emul_tp) {
473  int ieta(emul_tp->id().ieta());
474  int iphi(emul_tp->id().iphi());
475  int isHF = emul_tp->id().ietaAbs() >= 29 ? 1 : 0;
476 
477  // Temporary fix for Hcal Trig Towers Mismatch
479  data_tp_col->find(HcalTrigTowerDetId(
480  emul_tp->id().ieta(), emul_tp->id().iphi(),
481  useD1 ? 1 : 0));
482  if (data_tp == data_tp_col->end()) {
483  bool pass_ZS = true;
484  bool pass_OOT_ZS = true;
485 
486  for (int i=0; i<emul_tp->size(); ++i) {
487  int emulEt(emul_tp->sample(i).compressedEt());
488  if(i==2) {
489  problem_et[0][isHF][kMissingData]->Fill(emulEt);
490 
491  if (emulEt > ZSAlarmThreshold_[abs(ieta)]) {
492  problem_et[1][isHF][kMissingData]->Fill(emulEt);
493  pass_ZS = false;
494  }
495 
496  problem_map[0][kMissingData]->Fill(ieta, iphi);
497  ++errorflag_per_event[0][isHF][kMissingData];
498  bad_tps[0]->Fill(ieta, iphi);
499 
500  if (!pass_ZS) {
501  problem_map[1][kMissingData]->Fill(ieta, iphi);
502  ++errorflag_per_event[1][isHF][kMissingData];
503  bad_tps[1]->Fill(ieta, iphi);
504 
505  // counts per LS
506  if (abs(ieta) <= 16)
508  else if(abs(ieta) <= 28)
510  else
512  }
513  }
514  else {
515  problem_et_oot[0][isHF][kMissingData]->Fill(emulEt);
516 
517  if (emulEt > ZSAlarmThreshold_[abs(ieta)]) {
518  problem_et_oot[1][isHF][kMissingData]->Fill(emulEt);
519  pass_OOT_ZS = false;
520  }
521 
522  problem_map_oot[0][kMissingData]->Fill(ieta, iphi);
523  ++errorflag_per_event_oot[0][isHF][kMissingData];
524  bad_tps_oot[0]->Fill(ieta, iphi);
525 
526  if (!pass_OOT_ZS) {
527  problem_map_oot[1][kMissingData]->Fill(ieta, iphi);
528  ++errorflag_per_event_oot[1][isHF][kMissingData];
529  bad_tps_oot[1]->Fill(ieta, iphi);
530  }
531  }
532  }//for tp sample
533  } //data tp not found
534  } //for emul_tp_col
535 
536  // Fill error flag per event
537  for (int isZS = 0; isZS <= 1; ++isZS) {
538  for (int isHF = 0; isHF <= 1; ++isHF) {
539  for (int i=0; i<kNErrorFlag; ++i) {
540  if (errorflag_per_event[isZS][isHF][i] > 0)
541  errorflag[isZS]->Fill(i, isHF);
542  if (errorflag_per_event_oot[isZS][isHF][i] > 0)
543  errorflag_oot[isZS]->Fill(i, isHF);
544  }//for i
545  }//for isHF
546  }//for isZS
547 }
MonitorElement * bad_tps_oot[2]
MonitorElement * TPOccupancy_
int i
Definition: DBlmapReader.cc:9
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * TPOccupancyPhiHFM_
MonitorElement * good_tps_oot[2]
std::map< ErrorFlag, MonitorElement * > problem_et_oot[2][2]
std::vector< HcalTriggerPrimitiveDigi >::const_iterator const_iterator
MonitorElement * TPOccupancyEta_
list diff
Definition: mps_update.py:85
void Fill(long long x)
MonitorElement * fg_corr_oot[2][2]
std::map< ErrorFlag, MonitorElement * > problem_et[2][2]
MonitorElement * errorflag_oot[2]
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::vector< int > ZSBadTPThreshold_
MonitorElement * good_tps[2]
MonitorElement * TPOccupancyPhiHFP_
MonitorElement * fg_corr[2][2]
bool isHF(int etabin, int depth)
std::map< ErrorFlag, MonitorElement * > problem_map_oot[2]
MonitorElement * tp_corr_oot[2][2]
MonitorElement * bad_tps[2]
MonitorElement * TPOccupancyPhi_
MonitorElement * errorflag[2]
std::vector< int > ZSAlarmThreshold_
std::map< ErrorFlag, MonitorElement * > problem_map[2]
MonitorElement * tp_corr[2][2]
void HcalTrigPrimMonitor::reset ( void  )
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 38 of file HcalTrigPrimMonitor.cc.

Referenced by bookHistograms().

38  {
39 }
void HcalTrigPrimMonitor::setup ( DQMStore::IBooker ib)
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 43 of file HcalTrigPrimMonitor.cc.

References bad_tps, bad_tps_oot, DQMStore::IBooker::book1D(), DQMStore::IBooker::bookProfile(), create_errorflag(), create_et_histogram(), create_fg_correlation(), create_map(), create_tp_correlation(), errorflag, errorflag_oot, fg_corr, fg_corr_oot, MonitorElement::getTProfile(), good_tps, good_tps_oot, isHF(), kMismatchedEt, kMismatchedFG, kMissingData, kMissingEmul, HcalBaseDQMonitor::NLumiBlocks_, problem_et, problem_et_oot, problem_map, problem_map_oot, HcalBaseDQMonitor::ProblemsVsLB, HcalBaseDQMonitor::ProblemsVsLB_HB, HcalBaseDQMonitor::ProblemsVsLB_HE, HcalBaseDQMonitor::ProblemsVsLB_HF, HcalBaseDQMonitor::ProblemsVsLB_HO, DQMStore::IBooker::setCurrentFolder(), HcalBaseDQMonitor::setup(), AlCaHLTBitMon_QueryRunRegistry::string, HcalBaseDQMonitor::subdir_, tp_corr, tp_corr_oot, TPOccupancy_, TPOccupancyEta_, TPOccupancyPhi_, TPOccupancyPhiHFM_, and TPOccupancyPhiHFP_.

Referenced by bookHistograms().

43  {
45 
46  ib.setCurrentFolder(subdir_ + "TP Occupancy");
47  TPOccupancyEta_ = ib.book1D("TPOccupancyVsEta", "TPOccupancyVsEta", 65, -32.5, 32.5);
48  TPOccupancyPhi_ = ib.book1D("TPOccupancyVsPhi", "TPOccupancyVsPhi", 72, 0.5, 72.5);
49  TPOccupancyPhiHFP_ = ib.book1D("TPOccupancyHFPVsPhi", "TPOccupancyHFPVsPhi", 72, 0.5, 72.5);
50  TPOccupancyPhiHFM_ = ib.book1D("TPOccupancyHFMVsPhi", "TPOccupancyHFMVsPhi", 72, 0.5, 72.5);
51  TPOccupancy_ = create_map(ib, subdir_ + "TP Occupancy", "TPOccupancy");
52 
53  for (int isZS = 0; isZS <= 1; ++isZS) {
54 
55  std::string folder(subdir_);
56  std::string zsname="_ZS";
57  if (isZS == 0)
58  {
59  folder += "noZS/";
60  zsname="_noZS";
61  }
62 
63  std::string problem_folder(folder);
64  problem_folder += "Problem TPs/";
65 
66  good_tps[isZS] = create_map(ib,folder, "Good TPs"+zsname);
67  bad_tps[isZS] = create_map(ib,folder, "Bad TPs"+zsname);
68 
69  errorflag[isZS] = create_errorflag(ib,folder, "Error Flag"+zsname);
70  problem_map[isZS][kMismatchedEt] = create_map(ib,problem_folder, "Mismatched Et"+zsname);
71  problem_map[isZS][kMismatchedFG] = create_map(ib,problem_folder, "Mismatched FG"+zsname);
72  problem_map[isZS][kMissingData] = create_map(ib,problem_folder, "Missing Data"+zsname);
73  problem_map[isZS][kMissingEmul] = create_map(ib,problem_folder, "Missing Emul"+zsname);
74 
75  for (int isHF = 0; isHF <= 1; ++isHF) {
76  std::string subdet = (isHF == 0 ? "HBHE " : "HF ");
77  tp_corr[isZS][isHF] = create_tp_correlation(ib,folder, subdet + "TP Correlation"+zsname);
78  fg_corr[isZS][isHF] = create_fg_correlation(ib,folder, subdet + "FG Correlation"+zsname);
79 
81  = create_et_histogram(ib,problem_folder + "TP Values/", subdet + "Mismatched FG"+zsname);
82 
84  = create_et_histogram(ib,problem_folder + "TP Values/", subdet + "Missing Data"+zsname);
85 
87  = create_et_histogram(ib,problem_folder + "TP Values/", subdet + "Missing Emul"+zsname);
88  }//isHF
89  }//isZS
90 
91  // Copy for OOT TPs
92  for (int isZS = 0; isZS <= 1; ++isZS) {
93 
94  std::string folder(subdir_);
95  std::string zsname="_ZS";
96  if (isZS == 0)
97  {
98  folder += "noZS/";
99  zsname="_noZS";
100  }
101 
102  std::string problem_folder(folder);
103  problem_folder += "Problem OOT TPs/";
104 
105  good_tps_oot[isZS] = create_map(ib,folder, "Good OOT TPs"+zsname);
106  bad_tps_oot[isZS] = create_map(ib,folder, "Bad OOT TPs"+zsname);
107 
108  errorflag_oot[isZS] = create_errorflag(ib,folder, "Error Flag OOT"+zsname);
109  problem_map_oot[isZS][kMismatchedEt] = create_map(ib,problem_folder, "Mismatched OOT Et"+zsname);
110  problem_map_oot[isZS][kMismatchedFG] = create_map(ib,problem_folder, "Mismatched OOT FG"+zsname);
111  problem_map_oot[isZS][kMissingData] = create_map(ib,problem_folder, "Missing OOT Data"+zsname);
112  problem_map_oot[isZS][kMissingEmul] = create_map(ib,problem_folder, "Missing OOT Emul"+zsname);
113 
114  for (int isHF = 0; isHF <= 1; ++isHF) {
115  std::string subdet = (isHF == 0 ? "HBHE " : "HF ");
116  tp_corr_oot[isZS][isHF] = create_tp_correlation(ib,folder, subdet + "OOT TP Correlation"+zsname);
117  fg_corr_oot[isZS][isHF] = create_fg_correlation(ib,folder, subdet + "OOT FG Correlation"+zsname);
118 
120  = create_et_histogram(ib,problem_folder + "TP Values/", subdet + "OOT Mismatched FG"+zsname);
121 
123  = create_et_histogram(ib,problem_folder + "TP Values/", subdet + "OOT Missing Data"+zsname);
124 
126  = create_et_histogram(ib,problem_folder + "TP Values/", subdet + "OOT Missing Emul"+zsname);
127  }//isHF
128  }//isZS
129 
130  // Number of bad cells vs. luminosity block
132  "TotalBadTPs_HCAL_vs_LS",
133  "Total Number of Bad HCAL TPs vs lumi section",
134  NLumiBlocks_,0.5,NLumiBlocks_+0.5,100,0,10000);
135 
137  "TotalBadTPs_HB_vs_LS",
138  "Total Number of Bad HB TPs vs lumi section",
139  NLumiBlocks_,0.5,NLumiBlocks_+0.5,100,0,3000);
140 
142  "TotalBadTPs_HE_vs_LS",
143  "Total Number of Bad HE TPs vs lumi section",
144  NLumiBlocks_,0.5,NLumiBlocks_+0.5,100,0,3000);
145 
147  "TotalBadTPs_HF_vs_LS",
148  "Total Number of Bad HF TPs vs lumi section",
149  NLumiBlocks_,0.5,NLumiBlocks_+0.5,100,0,3000);
150 
151  // No TPs for HO, DO NOT fill this histogram
153  "TotalBadTPs_HO_vs_LS",
154  "Total Number of Bad HO TPs vs lumi section",
155  NLumiBlocks_,0.5,NLumiBlocks_+0.5,100,0,3000);
156 
157  ProblemsVsLB->getTProfile()->SetMarkerStyle(20);
158  ProblemsVsLB_HB->getTProfile()->SetMarkerStyle(20);
159  ProblemsVsLB_HE->getTProfile()->SetMarkerStyle(20);
160  ProblemsVsLB_HO->getTProfile()->SetMarkerStyle(20);
161  ProblemsVsLB_HF->getTProfile()->SetMarkerStyle(20);
162 }
MonitorElement * bad_tps_oot[2]
MonitorElement * TPOccupancy_
MonitorElement * TPOccupancyPhiHFM_
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
MonitorElement * good_tps_oot[2]
MonitorElement * ProblemsVsLB_HF
std::map< ErrorFlag, MonitorElement * > problem_et_oot[2][2]
MonitorElement * TPOccupancyEta_
MonitorElement * fg_corr_oot[2][2]
std::map< ErrorFlag, MonitorElement * > problem_et[2][2]
MonitorElement * errorflag_oot[2]
MonitorElement * ProblemsVsLB_HB
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
MonitorElement * good_tps[2]
MonitorElement * create_map(DQMStore::IBooker &ib, const std::string &folder, const std::string &name)
MonitorElement * create_errorflag(DQMStore::IBooker &ib, const std::string &folder, const std::string &name)
MonitorElement * create_et_histogram(DQMStore::IBooker &ib, const std::string &folder, const std::string &name)
MonitorElement * create_fg_correlation(DQMStore::IBooker &ib, const std::string &folder, const std::string &name)
MonitorElement * TPOccupancyPhiHFP_
MonitorElement * fg_corr[2][2]
bool isHF(int etabin, int depth)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:273
MonitorElement * ProblemsVsLB_HE
MonitorElement * create_tp_correlation(DQMStore::IBooker &ib, const std::string &folder, const std::string &name)
std::map< ErrorFlag, MonitorElement * > problem_map_oot[2]
TProfile * getTProfile(void) const
MonitorElement * tp_corr_oot[2][2]
MonitorElement * bad_tps[2]
MonitorElement * TPOccupancyPhi_
MonitorElement * ProblemsVsLB_HO
MonitorElement * ProblemsVsLB
MonitorElement * errorflag[2]
virtual void setup(DQMStore::IBooker &)
std::map< ErrorFlag, MonitorElement * > problem_map[2]
MonitorElement * tp_corr[2][2]

Member Data Documentation

MonitorElement* HcalTrigPrimMonitor::bad_tps[2]
private

Definition at line 58 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalTrigPrimMonitor::bad_tps_oot[2]
private

Definition at line 64 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

edm::InputTag HcalTrigPrimMonitor::dataLabel_
private

Definition at line 29 of file HcalTrigPrimMonitor.h.

Referenced by analyze(), and HcalTrigPrimMonitor().

edm::InputTag HcalTrigPrimMonitor::emulLabel_
private

Definition at line 30 of file HcalTrigPrimMonitor.h.

Referenced by analyze(), and HcalTrigPrimMonitor().

MonitorElement* HcalTrigPrimMonitor::errorflag[2]
private

Definition at line 59 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalTrigPrimMonitor::errorflag_oot[2]
private

Definition at line 65 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalTrigPrimMonitor::fg_corr[2][2]
private

Definition at line 70 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalTrigPrimMonitor::fg_corr_oot[2][2]
private

Definition at line 75 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalTrigPrimMonitor::good_tps[2]
private

Definition at line 57 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalTrigPrimMonitor::good_tps_oot[2]
private

Definition at line 63 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

int HcalTrigPrimMonitor::nBad_TP_per_LS_HB_
private

Definition at line 84 of file HcalTrigPrimMonitor.h.

Referenced by beginLuminosityBlock(), endLuminosityBlock(), and processEvent().

int HcalTrigPrimMonitor::nBad_TP_per_LS_HE_
private

Definition at line 85 of file HcalTrigPrimMonitor.h.

Referenced by beginLuminosityBlock(), endLuminosityBlock(), and processEvent().

int HcalTrigPrimMonitor::nBad_TP_per_LS_HF_
private

Definition at line 86 of file HcalTrigPrimMonitor.h.

Referenced by beginLuminosityBlock(), endLuminosityBlock(), and processEvent().

std::map<ErrorFlag, MonitorElement*> HcalTrigPrimMonitor::problem_et[2][2]
private

Definition at line 71 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

std::map<ErrorFlag, MonitorElement*> HcalTrigPrimMonitor::problem_et_oot[2][2]
private

Definition at line 76 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

std::map<ErrorFlag, MonitorElement*> HcalTrigPrimMonitor::problem_map[2]
private

Definition at line 60 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

std::map<ErrorFlag, MonitorElement*> HcalTrigPrimMonitor::problem_map_oot[2]
private

Definition at line 66 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

edm::EDGetTokenT<HcalTrigPrimDigiCollection> HcalTrigPrimMonitor::tok_data_
private

Definition at line 32 of file HcalTrigPrimMonitor.h.

Referenced by analyze(), and HcalTrigPrimMonitor().

edm::EDGetTokenT<HcalTrigPrimDigiCollection> HcalTrigPrimMonitor::tok_emu_
private

Definition at line 33 of file HcalTrigPrimMonitor.h.

Referenced by analyze(), and HcalTrigPrimMonitor().

MonitorElement* HcalTrigPrimMonitor::tp_corr[2][2]
private

Definition at line 69 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalTrigPrimMonitor::tp_corr_oot[2][2]
private

Definition at line 74 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalTrigPrimMonitor::TPOccupancy_
private

Definition at line 78 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalTrigPrimMonitor::TPOccupancyEta_
private

Definition at line 79 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalTrigPrimMonitor::TPOccupancyPhi_
private

Definition at line 80 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalTrigPrimMonitor::TPOccupancyPhiHFM_
private

Definition at line 82 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalTrigPrimMonitor::TPOccupancyPhiHFP_
private

Definition at line 81 of file HcalTrigPrimMonitor.h.

Referenced by processEvent(), and setup().

std::vector<int> HcalTrigPrimMonitor::ZSAlarmThreshold_
private

Definition at line 36 of file HcalTrigPrimMonitor.h.

Referenced by processEvent().

std::vector<int> HcalTrigPrimMonitor::ZSBadTPThreshold_
private

Definition at line 35 of file HcalTrigPrimMonitor.h.

Referenced by processEvent().