CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
HLXMonitor Class Reference

#include <DQM/HLXMonitor/src/HLXMonitor.cc>

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

Public Types

typedef HCAL_HLX::LUMI_SECTION LUMI_SECTION
 
typedef HCAL_HLX::TCPReceiver TCPReceiver
 
- 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
 

Public Member Functions

 HLXMonitor (const edm::ParameterSet &)
 
 ~HLXMonitor () 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
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void connectHLXTCP ()
 
void EndRun ()
 
void FillEventInfo (const LUMI_SECTION &, const edm::Event &e)
 
void FillHistograms (const LUMI_SECTION &)
 
void FillHistoHFCompare (const LUMI_SECTION &)
 
void FillReportSummary ()
 
double getUTCtime (timeval *a, timeval *b=nullptr)
 
void SetupEventInfo (DQMStore::IBooker &)
 
void SetupHists (DQMStore::IBooker &)
 

Private Attributes

bool Accumulate
 
unsigned int AquireMode
 
MonitorElementAvgEtSum
 
MonitorElementAvgOccAboveSet1
 
MonitorElementAvgOccAboveSet2
 
MonitorElementAvgOccBelowSet1
 
MonitorElementAvgOccBelowSet2
 
MonitorElementAvgOccBetweenSet1
 
MonitorElementAvgOccBetweenSet2
 
MonitorElementBXvsTimeAvgEtSumHFM
 
MonitorElementBXvsTimeAvgEtSumHFP
 
MonitorElementcmsswVer_
 Current working directory of the job. More...
 
unsigned int counter
 
bool currentRunEnded_
 
timeval currentTime_
 
std::string DistribIP1
 
std::string DistribIP2
 
MonitorElementdqmPatch_
 CMSSW version run for this job. More...
 
MonitorElementerrSummary_
 DQM patch version for this job. More...
 
MonitorElementerrSummaryEtaPhi_
 Subdetector-specific error summary (float) More...
 
MonitorElementerrSummarySegment_ [10]
 Subdetector-specific etaPhi summary (float) More...
 
MonitorElementETSum [36]
 
std::string EtXAxisTitle
 
std::string EtYAxisTitle
 
MonitorElementeventId_
 UTC time of the run start. More...
 
std::string eventInfoFolder_
 
std::string eventInfoFolderHLX_
 
MonitorElementeventTimeStamp_
 
int evtRateCount_
 
float evtRateWindow_
 
unsigned int expectedNibbles_
 
MonitorElementHFCompareEtSum
 
MonitorElementHFCompareOccAboveSet1
 
MonitorElementHFCompareOccAboveSet2
 
MonitorElementHFCompareOccBelowSet1
 
MonitorElementHFCompareOccBelowSet2
 
MonitorElementHFCompareOccBetweenSet1
 
MonitorElementHFCompareOccBetweenSet2
 
MonitorElementHistAvgEtSumHFM
 
MonitorElementHistAvgEtSumHFP
 
MonitorElementHistAvgLumiEtSum
 
MonitorElementHistAvgLumiOccSet1
 
MonitorElementHistAvgLumiOccSet2
 
MonitorElementHistAvgOccAboveSet1HFM
 
MonitorElementHistAvgOccAboveSet1HFP
 
MonitorElementHistAvgOccAboveSet2HFM
 
MonitorElementHistAvgOccAboveSet2HFP
 
MonitorElementHistAvgOccBelowSet1HFM
 
MonitorElementHistAvgOccBelowSet1HFP
 
MonitorElementHistAvgOccBelowSet2HFM
 
MonitorElementHistAvgOccBelowSet2HFP
 
MonitorElementHistAvgOccBetweenSet1HFM
 
MonitorElementHistAvgOccBetweenSet1HFP
 
MonitorElementHistAvgOccBetweenSet2HFM
 
MonitorElementHistAvgOccBetweenSet2HFP
 
MonitorElementHistInstantLumiEtSum
 
MonitorElementHistInstantLumiEtSumError
 
MonitorElementHistInstantLumiOccSet1
 
MonitorElementHistInstantLumiOccSet1Error
 
MonitorElementHistInstantLumiOccSet2
 
MonitorElementHistInstantLumiOccSet2Error
 
MonitorElementHistIntegratedLumiEtSum
 
MonitorElementHistIntegratedLumiOccSet1
 
MonitorElementHistIntegratedLumiOccSet2
 
unsigned int HLXHFMap [36]
 
TCPReceiver HLXTCP
 
MonitorElementhostName_
 

of event processed so far

More...
 
timeval lastAvgTime_
 
timeval lastUpdateTime_
 
int listenPort
 
int lsBinOld
 
MonitorElementLumiAvgEtSum
 
MonitorElementLumiAvgOccSet1
 
MonitorElementLumiAvgOccSet2
 
MonitorElementLumiInstantEtSum
 
MonitorElementLumiInstantOccSet1
 
MonitorElementLumiInstantOccSet2
 
MonitorElementLumiIntegratedEtSum
 
MonitorElementLumiIntegratedOccSet1
 
MonitorElementLumiIntegratedOccSet2
 
MonitorElementlumisecId_
 
HCAL_HLX::LUMI_SECTION lumiSection
 
unsigned int lumiSectionCount
 
unsigned int MAX_LS
 
MonitorElementMaxInstLumiBX1
 
MonitorElementMaxInstLumiBX2
 
MonitorElementMaxInstLumiBX3
 
MonitorElementMaxInstLumiBX4
 
MonitorElementMaxInstLumiBXNum1
 
MonitorElementMaxInstLumiBXNum2
 
MonitorElementMaxInstLumiBXNum3
 
MonitorElementMaxInstLumiBXNum4
 
unsigned int MinLSBeforeSave
 
MonitorElementMissingDQMDataCheck
 
std::string monitorName_
 
unsigned int NBINS
 
double num4NibblePerLS_
 
unsigned int NUM_BUNCHES
 
unsigned int NUM_HLX
 
unsigned int numActiveTowersSet1
 
unsigned int numActiveTowersSet2
 
MonitorElementnUpdates_
 These MEs are either static or updated upon each analyze() call. More...
 
std::string OccXAxisTitle
 
std::string OccYAxisTitle
 
std::string OutputDir
 
std::string OutputFilePrefix
 
int pEvent_
 
int prescaleEvt_
 
unsigned int previousSection
 
MonitorElementprocessEventRate_
 Time elapsed since the last event. More...
 
MonitorElementprocessEvents_
 
MonitorElementprocessId_
 Number of collector updates (TBD) More...
 
MonitorElementprocessLatency_
 The UTC time of the last event. More...
 
MonitorElementprocessName_
 Hostname of the local machine. More...
 
MonitorElementprocessStartTimeStamp_
 The PID associated with this job. More...
 
MonitorElementprocessTimeStamp_
 The UTC time of the first event processed. More...
 
unsigned char * rData
 
MonitorElementRecentInstantLumiEtSum
 
MonitorElementRecentInstantLumiOccSet1
 
MonitorElementRecentInstantLumiOccSet2
 
MonitorElementRecentIntegratedLumiEtSum
 
MonitorElementRecentIntegratedLumiOccSet1
 
MonitorElementRecentIntegratedLumiOccSet2
 
unsigned int reconnTime
 
MonitorElementreportSummary_
 
MonitorElementreportSummaryMap_
 
MonitorElementrunId_
 
unsigned int runNumber_
 
unsigned int runNumLength
 
timeval runStartTime_
 
MonitorElementrunStartTimeStamp_
 
int SavePeriod
 
unsigned int secNumLength
 
short int SectionComplete
 
double sectionInstantErrSumEt
 
double sectionInstantErrSumOcc1
 
double sectionInstantErrSumOcc2
 
double sectionInstantNorm
 
double sectionInstantSumEt
 
double sectionInstantSumOcc1
 
double sectionInstantSumOcc2
 
MonitorElementSet1Above [36]
 
unsigned int set1AboveIndex
 
MonitorElementSet1Below [36]
 
unsigned int set1BelowIndex
 
MonitorElementSet1Between [36]
 
unsigned int set1BetweenIndex
 
MonitorElementSet2Above [36]
 
unsigned int set2AboveIndex
 
MonitorElementSet2Below [36]
 
unsigned int set2BelowIndex
 
MonitorElementSet2Between [36]
 
unsigned int set2BetweenIndex
 
std::string Style
 
std::string subSystemName_
 
MonitorElementSumAllOccSet1
 
MonitorElementSumAllOccSet2
 
unsigned int totalNibbles_ [36]
 
unsigned int TriggerBX
 
MonitorElementworkingDir_
 DQM "name" of the job (eg, Hcal or DT) More...
 
double XMAX
 
double XMIN
 

Additional Inherited Members

- 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 Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Description: DQM Source for HLX histograms

Implementation: <Notes on="" implementation>="">

Definition at line 47 of file HLXMonitor.h.

Member Typedef Documentation

◆ LUMI_SECTION

Definition at line 49 of file HLXMonitor.h.

◆ TCPReceiver

Definition at line 50 of file HLXMonitor.h.

Constructor & Destructor Documentation

◆ HLXMonitor()

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

Definition at line 17 of file HLXMonitor.cc.

References Accumulate, AquireMode, connectHLXTCP(), currentRunEnded_, DistribIP1, DistribIP2, eventInfoFolder_, eventInfoFolderHLX_, expectedNibbles_, edm::ParameterSet::getUntrackedParameter(), HLXHFMap, createfilelist::int, listenPort, lsBinOld, lumiSectionCount, MAX_LS, MinLSBeforeSave, monitorName_, NBINS, num4NibblePerLS_, NUM_BUNCHES, NUM_HLX, OutputDir, OutputFilePrefix, prescaleEvt_, previousSection, reconnTime, runNumber_, runNumLength, SavePeriod, secNumLength, sectionInstantErrSumEt, sectionInstantErrSumOcc1, sectionInstantErrSumOcc2, sectionInstantNorm, sectionInstantSumEt, sectionInstantSumOcc1, sectionInstantSumOcc2, set1AboveIndex, set1BelowIndex, set1BetweenIndex, set2AboveIndex, set2BelowIndex, set2BetweenIndex, AlCaHLTBitMon_QueryRunRegistry::string, subSystemName_, totalNibbles_, TriggerBX, XMAX, and XMIN.

17  {
18  NUM_HLX = iConfig.getUntrackedParameter<unsigned int>("numHlx", 36);
19  NUM_BUNCHES = iConfig.getUntrackedParameter<unsigned int>("numBunches", 3564);
20  MAX_LS = iConfig.getUntrackedParameter<unsigned int>("maximumNumLS", 480);
21  listenPort = iConfig.getUntrackedParameter<unsigned int>("SourcePort", 51001);
22  OutputFilePrefix = iConfig.getUntrackedParameter<std::string>("outputFile", "lumi");
23  OutputDir = iConfig.getUntrackedParameter<std::string>("outputDir", " data");
24  SavePeriod = iConfig.getUntrackedParameter<unsigned int>("SavePeriod", 10);
25  NBINS = iConfig.getUntrackedParameter<unsigned int>("NBINS",
26  297); // 12 BX per bin
27  XMIN = iConfig.getUntrackedParameter<double>("XMIN", 0);
28  XMAX = iConfig.getUntrackedParameter<double>("XMAX", 3564);
29  Style = iConfig.getUntrackedParameter<std::string>("Style", "BX");
30  AquireMode = iConfig.getUntrackedParameter<unsigned int>("AquireMode", 0);
31  Accumulate = iConfig.getUntrackedParameter<bool>("Accumulate", true); // all
32  TriggerBX = iConfig.getUntrackedParameter<unsigned int>("TriggerBX", 50);
33  MinLSBeforeSave = iConfig.getUntrackedParameter<unsigned int>("MinLSBeforeSave", 1);
34  reconnTime = iConfig.getUntrackedParameter<unsigned int>("ReconnectionTime", 5);
35  DistribIP1 = iConfig.getUntrackedParameter<std::string>("PrimaryHLXDAQIP", "vmepcs2f17-18");
36  DistribIP2 = iConfig.getUntrackedParameter<std::string>("SecondaryHLXDAQIP", "vmepcs2f17-19");
37 
38  eventInfoFolderHLX_ = iConfig.getUntrackedParameter<std::string>("eventInfoFolderHLX", "EventInfoHLX");
39  eventInfoFolder_ = iConfig.getUntrackedParameter<std::string>("eventInfoFolder", "EventInfo");
40  subSystemName_ = iConfig.getUntrackedParameter<std::string>("subSystemName", "HLX");
41 
42  // Set the lumi section counter
43  lsBinOld = 0;
44  previousSection = 0;
45  lumiSectionCount = 0;
53 
54  // HLX Config info
55  set1BelowIndex = 0;
56  set1BetweenIndex = 1;
57  set1AboveIndex = 2;
58  set2BelowIndex = 3;
59  set2BetweenIndex = 4;
60  set2AboveIndex = 5;
61 
62  runNumLength = 9;
63  secNumLength = 8;
64 
65  if (NUM_HLX > 36)
66  NUM_HLX = 36;
67 
68  if (NUM_BUNCHES > 3564)
69  NUM_BUNCHES = 3564;
70 
71  if (XMAX <= XMIN) {
72  XMIN = 0;
73  if (XMAX <= 0)
74  XMAX = 3564;
75  }
76 
77  if ((Style == "History") || (NBINS == 0)) {
78  NBINS = (unsigned int)(XMAX - XMIN);
79  }
80 
81  monitorName_ = iConfig.getUntrackedParameter<std::string>("monitorName", "HLX");
82  // cout << "Monitor name = " << monitorName_ << endl;
83  prescaleEvt_ = iConfig.getUntrackedParameter<int>("prescaleEvt", -1);
84  // cout << "===>DQM event prescale = " << prescaleEvt_ << " events "<< endl;
85 
86  unsigned int HLXHFMapTemp[] = {31, 32, 33, 34, 35, 18, // s2f07 hf-
87  13, 14, 15, 16, 17, 0, // s2f07 hf+
88  25, 26, 27, 28, 29, 30, // s2f05 hf-
89  7, 8, 9, 10, 11, 12, // s2f05 hf+
90  19, 20, 21, 22, 23, 24, // s2f02 hf-
91  1, 2, 3, 4, 5, 6}; // s2f02 hf+
92 
93  currentRunEnded_ = true;
94  runNumber_ = 0;
95  expectedNibbles_ = 0;
96 
97  for (int iHLX = 0; iHLX < 36; ++iHLX) {
98  HLXHFMap[iHLX] = HLXHFMapTemp[iHLX];
99  // std::cout << "At " << iHLX << " Wedge " << HLXHFMap[iHLX] << std::endl;
100  totalNibbles_[iHLX] = 0;
101  }
102 
103  num4NibblePerLS_ = 16.0;
104 
105  connectHLXTCP(); // this was originally done in beginJob()
106 }
double sectionInstantSumEt
Definition: HLXMonitor.h:260
std::string OutputDir
Definition: HLXMonitor.h:212
unsigned int totalNibbles_[36]
Definition: HLXMonitor.h:253
unsigned int HLXHFMap[36]
Definition: HLXMonitor.h:255
unsigned int secNumLength
Definition: HLXMonitor.h:241
double XMAX
Definition: HLXMonitor.h:208
int prescaleEvt_
Definition: HLXMonitor.h:223
unsigned int NUM_HLX
Definition: HLXMonitor.h:215
unsigned int runNumber_
Definition: HLXMonitor.h:251
int lsBinOld
Definition: HLXMonitor.h:259
std::string OutputFilePrefix
Definition: HLXMonitor.h:211
double sectionInstantErrSumEt
Definition: HLXMonitor.h:261
double sectionInstantErrSumOcc2
Definition: HLXMonitor.h:265
unsigned int set2AboveIndex
Definition: HLXMonitor.h:234
double XMIN
Definition: HLXMonitor.h:208
T getUntrackedParameter(std::string const &, T const &) const
std::string eventInfoFolderHLX_
Definition: HLXMonitor.h:236
std::string DistribIP2
Definition: HLXMonitor.h:227
int listenPort
Definition: HLXMonitor.h:207
unsigned int MAX_LS
Definition: HLXMonitor.h:217
unsigned int set2BetweenIndex
Definition: HLXMonitor.h:233
double sectionInstantSumOcc1
Definition: HLXMonitor.h:262
unsigned int set2BelowIndex
Definition: HLXMonitor.h:232
double sectionInstantSumOcc2
Definition: HLXMonitor.h:264
void connectHLXTCP()
Definition: HLXMonitor.cc:114
unsigned int NBINS
Definition: HLXMonitor.h:209
Definition: Style.py:1
std::string monitorName_
Definition: HLXMonitor.h:222
bool Accumulate
Definition: HLXMonitor.h:210
unsigned int TriggerBX
Definition: HLXMonitor.h:219
unsigned int NUM_BUNCHES
Definition: HLXMonitor.h:216
unsigned int MinLSBeforeSave
Definition: HLXMonitor.h:220
double sectionInstantNorm
Definition: HLXMonitor.h:266
double sectionInstantErrSumOcc1
Definition: HLXMonitor.h:263
unsigned int previousSection
Definition: HLXMonitor.h:257
std::string subSystemName_
Definition: HLXMonitor.h:238
bool currentRunEnded_
Definition: HLXMonitor.h:250
unsigned int runNumLength
Definition: HLXMonitor.h:240
int SavePeriod
Definition: HLXMonitor.h:214
unsigned int expectedNibbles_
Definition: HLXMonitor.h:252
double num4NibblePerLS_
Definition: HLXMonitor.h:276
unsigned int AquireMode
Definition: HLXMonitor.h:218
unsigned int set1BelowIndex
Definition: HLXMonitor.h:229
unsigned int lumiSectionCount
Definition: HLXMonitor.h:258
std::string eventInfoFolder_
Definition: HLXMonitor.h:237
std::string DistribIP1
Definition: HLXMonitor.h:226
unsigned int set1AboveIndex
Definition: HLXMonitor.h:231
unsigned int reconnTime
Definition: HLXMonitor.h:225
unsigned int set1BetweenIndex
Definition: HLXMonitor.h:230

◆ ~HLXMonitor()

HLXMonitor::~HLXMonitor ( )
override

Definition at line 108 of file HLXMonitor.cc.

References HCAL_HLX::TCPReceiver::Disconnect(), EndRun(), and HLXTCP.

108  {
109  HLXTCP.Disconnect();
110  EndRun();
111 }
void EndRun()
Definition: HLXMonitor.cc:889
TCPReceiver HLXTCP
Definition: HLXMonitor.h:73

Member Function Documentation

◆ analyze()

void HLXMonitor::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 837 of file HLXMonitor.cc.

References HCAL_HLX::TCPReceiver::Connect(), gather_cfg::cout, currentRunEnded_, HCAL_HLX::TCPReceiver::Disconnect(), DistribIP1, DistribIP2, EndRun(), dqm::impl::MonitorElement::Fill(), FillEventInfo(), FillHistograms(), FillHistoHFCompare(), FillReportSummary(), getUTCtime(), HCAL_HLX::LUMI_SECTION::hdr, HLXTCP, iEvent, HCAL_HLX::LUMI_SUMMARY::InstantETLumi, HCAL_HLX::LUMI_SUMMARY::InstantOccLumi, HCAL_HLX::TCPReceiver::IsConnected(), lumiSection, HCAL_HLX::LUMI_SECTION::lumiSummary, HCAL_HLX::TCPReceiver::ReceiveLumiSection(), reconnTime, HCAL_HLX::LUMI_SECTION_HEADER::runNumber, runNumber_, runStartTimeStamp_, HCAL_HLX::LUMI_SECTION_HEADER::sectionNumber, HCAL_HLX::TCPReceiver::SetIP(), and HCAL_HLX::LUMI_SECTION_HEADER::startOrbit.

837  {
838  using namespace edm;
839 
840  while (HLXTCP.IsConnected() == false) {
842  if (HLXTCP.Connect() != 1) {
843  std::cout << "Failed to connect to " << DistribIP1 << "." << std::endl;
844  sleep(1);
845  std::cout << "Trying " << DistribIP2 << std::endl;
847  if (HLXTCP.Connect() == 1)
848  break;
849  std::cout << "Failed to connect to " << DistribIP2 << "." << std::endl;
850  std::cout << " Reconnect in " << reconnTime << " seconds." << std::endl;
851  sleep(reconnTime);
852  }
853  }
854  if (HLXTCP.IsConnected() == true) {
855  std::cout << "Successfully connected." << std::endl;
856  }
857 
859  // If this is the first time through, set the runNumber ...
861  if (!currentRunEnded_ && runNumber_ != 0) {
862  EndRun();
863  }
865  currentRunEnded_ = false;
866  // std::cout << "Run number is: " << runNumber_ << std::endl;
867  timeval startruntime;
868  gettimeofday(&startruntime, nullptr);
869  runStartTimeStamp_->Fill(getUTCtime(&startruntime));
870  }
871 
872  // Fill the monitoring histograms
877 
878  cout << "Run: " << lumiSection.hdr.runNumber << " Section: " << lumiSection.hdr.sectionNumber
879  << " Orbit: " << lumiSection.hdr.startOrbit << endl;
880  cout << "Et Lumi: " << lumiSection.lumiSummary.InstantETLumi << endl;
881  cout << "Occ Lumi 1: " << lumiSection.lumiSummary.InstantOccLumi[0] << endl;
882  cout << "Occ Lumi 2: " << lumiSection.lumiSummary.InstantOccLumi[1] << endl;
883  } else {
884  HLXTCP.Disconnect();
885  EndRun();
886  }
887 }
double getUTCtime(timeval *a, timeval *b=nullptr)
Definition: HLXMonitor.cc:1445
void FillReportSummary()
Definition: HLXMonitor.cc:1420
void EndRun()
Definition: HLXMonitor.cc:889
unsigned int runNumber_
Definition: HLXMonitor.h:251
void SetIP(std::string IP)
Definition: TCPReceiver.cc:219
std::string DistribIP2
Definition: HLXMonitor.h:227
void Fill(long long x)
int iEvent
Definition: GenABIO.cc:224
MonitorElement * runStartTimeStamp_
Definition: HLXMonitor.h:170
HCAL_HLX::LUMI_SECTION lumiSection
Definition: HLXMonitor.h:248
TCPReceiver HLXTCP
Definition: HLXMonitor.h:73
bool currentRunEnded_
Definition: HLXMonitor.h:250
void FillEventInfo(const LUMI_SECTION &, const edm::Event &e)
Definition: HLXMonitor.cc:1385
int ReceiveLumiSection(HCAL_HLX::LUMI_SECTION &localSection)
Definition: TCPReceiver.cc:87
HLT enums.
void FillHistograms(const LUMI_SECTION &)
Definition: HLXMonitor.cc:912
std::string DistribIP1
Definition: HLXMonitor.h:226
unsigned int reconnTime
Definition: HLXMonitor.h:225
void FillHistoHFCompare(const LUMI_SECTION &)
Definition: HLXMonitor.cc:1339

◆ bookHistograms()

void HLXMonitor::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprivatevirtual

Implements DQMEDAnalyzer.

Definition at line 141 of file HLXMonitor.cc.

References SetupEventInfo(), and SetupHists().

141  {
142  SetupHists(iBooker);
143  SetupEventInfo(iBooker);
144 }
void SetupHists(DQMStore::IBooker &)
Definition: HLXMonitor.cc:146
void SetupEventInfo(DQMStore::IBooker &)
Definition: HLXMonitor.cc:759

◆ connectHLXTCP()

void HLXMonitor::connectHLXTCP ( )
private

Definition at line 114 of file HLXMonitor.cc.

References AquireMode, HCAL_HLX::TCPReceiver::Connect(), gather_cfg::cout, DistribIP1, DistribIP2, HLXTCP, HCAL_HLX::TCPReceiver::IsConnected(), listenPort, reconnTime, HCAL_HLX::TCPReceiver::SetIP(), HCAL_HLX::TCPReceiver::SetMode(), and HCAL_HLX::TCPReceiver::SetPort().

Referenced by HLXMonitor().

114  {
116  int errorCode = HLXTCP.SetPort(listenPort);
117  cout << "SetPort: " << listenPort << " Success: " << errorCode << endl;
118  errorCode = HLXTCP.SetMode(AquireMode);
119  cout << "AquireMode: " << AquireMode << " Success: " << errorCode << endl;
120 
121  while (HLXTCP.IsConnected() == false) {
123  if (HLXTCP.Connect() != 1) {
124  std::cout << "Failed to connect to " << DistribIP1 << "." << std::endl;
125  sleep(1);
126  std::cout << "Trying " << DistribIP2 << std::endl;
128  if (HLXTCP.Connect() == 1)
129  break;
130  std::cout << "Failed to connect to " << DistribIP2 << "." << std::endl;
131  std::cout << " Reconnect in " << reconnTime << " seconds." << std::endl;
132  sleep(reconnTime);
133  }
134  }
135  if (HLXTCP.IsConnected() == true) {
136  std::cout << "Successfully connected." << std::endl;
137  }
138 }
int SetPort(unsigned short int)
Definition: TCPReceiver.cc:179
void SetIP(std::string IP)
Definition: TCPReceiver.cc:219
std::string DistribIP2
Definition: HLXMonitor.h:227
int listenPort
Definition: HLXMonitor.h:207
TCPReceiver HLXTCP
Definition: HLXMonitor.h:73
int SetMode(unsigned char)
Definition: TCPReceiver.cc:199
unsigned int AquireMode
Definition: HLXMonitor.h:218
std::string DistribIP1
Definition: HLXMonitor.h:226
unsigned int reconnTime
Definition: HLXMonitor.h:225

◆ EndRun()

void HLXMonitor::EndRun ( )
private

Definition at line 889 of file HLXMonitor.cc.

References gather_cfg::cout, currentRunEnded_, expectedNibbles_, FillReportSummary(), lsBinOld, lumiSectionCount, NUM_HLX, previousSection, runNumber_, sectionInstantErrSumEt, sectionInstantErrSumOcc1, sectionInstantErrSumOcc2, sectionInstantNorm, sectionInstantSumEt, sectionInstantSumOcc1, sectionInstantSumOcc2, and totalNibbles_.

Referenced by analyze(), and ~HLXMonitor().

889  {
891 
892  // Do some things that should be done at the end of the run ...
893  expectedNibbles_ = 0;
894  for (unsigned int iHLX = 0; iHLX < NUM_HLX; ++iHLX)
895  totalNibbles_[iHLX] = 0;
896 
897  std::cout << "** Here in end run **" << std::endl;
898  runNumber_ = 0;
899  currentRunEnded_ = true;
906  sectionInstantNorm = 0;
907  lsBinOld = 0;
908  lumiSectionCount = 0;
909  previousSection = 0;
910 }
double sectionInstantSumEt
Definition: HLXMonitor.h:260
unsigned int totalNibbles_[36]
Definition: HLXMonitor.h:253
void FillReportSummary()
Definition: HLXMonitor.cc:1420
unsigned int NUM_HLX
Definition: HLXMonitor.h:215
unsigned int runNumber_
Definition: HLXMonitor.h:251
int lsBinOld
Definition: HLXMonitor.h:259
double sectionInstantErrSumEt
Definition: HLXMonitor.h:261
double sectionInstantErrSumOcc2
Definition: HLXMonitor.h:265
double sectionInstantSumOcc1
Definition: HLXMonitor.h:262
double sectionInstantSumOcc2
Definition: HLXMonitor.h:264
double sectionInstantNorm
Definition: HLXMonitor.h:266
unsigned int previousSection
Definition: HLXMonitor.h:257
double sectionInstantErrSumOcc1
Definition: HLXMonitor.h:263
bool currentRunEnded_
Definition: HLXMonitor.h:250
unsigned int expectedNibbles_
Definition: HLXMonitor.h:252
unsigned int lumiSectionCount
Definition: HLXMonitor.h:258

◆ FillEventInfo()

void HLXMonitor::FillEventInfo ( const LUMI_SECTION section,
const edm::Event e 
)
private

Definition at line 1385 of file HLXMonitor.cc.

References currentTime_, MillePedeFileConverter_cfg::e, eventId_, eventTimeStamp_, evtRateCount_, evtRateWindow_, expectedNibbles_, dqm::impl::MonitorElement::Fill(), getUTCtime(), HLXHFMap, lastAvgTime_, lastUpdateTime_, lumisecId_, num4NibblePerLS_, NUM_HLX, pEvent_, processEventRate_, processEvents_, processLatency_, processTimeStamp_, runId_, hgcalPlots::section, hcalRecHitTable_cff::time, and totalNibbles_.

Referenced by analyze().

1385  {
1386  // New run .. set the run number and fill run summaries ...
1387  // std::cout << "Run number " << runNumber_ << " Section hdr run number "
1388  // << section.hdr.runNumber << std::endl;
1389 
1390  runId_->Fill(section.hdr.runNumber);
1391  lumisecId_->Fill((int)(section.hdr.sectionNumber / num4NibblePerLS_) + 1);
1392 
1393  // Update the total nibbles & the expected number
1394  expectedNibbles_ += section.hdr.numOrbits / 4096;
1395  for (unsigned int iHLX = 0; iHLX < NUM_HLX; ++iHLX) {
1396  unsigned int iWedge = HLXHFMap[iHLX] + 1;
1397  totalNibbles_[iWedge - 1] += section.occupancy[iHLX].hdr.numNibbles;
1398  }
1399 
1400  eventId_->Fill(e.id().event());
1401  eventTimeStamp_->Fill(e.time().value() / (double)0xffffffff);
1402 
1403  pEvent_++;
1404  evtRateCount_++;
1406 
1408  gettimeofday(&currentTime_, nullptr);
1411 
1413  if (time >= (evtRateWindow_ * 60.0)) {
1415  evtRateCount_ = 0;
1417  }
1418 }
MonitorElement * processLatency_
The UTC time of the last event.
Definition: HLXMonitor.h:182
unsigned int totalNibbles_[36]
Definition: HLXMonitor.h:253
MonitorElement * processTimeStamp_
The UTC time of the first event processed.
Definition: HLXMonitor.h:181
double getUTCtime(timeval *a, timeval *b=nullptr)
Definition: HLXMonitor.cc:1445
unsigned int HLXHFMap[36]
Definition: HLXMonitor.h:255
unsigned int NUM_HLX
Definition: HLXMonitor.h:215
MonitorElement * processEventRate_
Time elapsed since the last event.
Definition: HLXMonitor.h:183
float evtRateWindow_
Definition: HLXMonitor.h:271
int evtRateCount_
Definition: HLXMonitor.h:272
void Fill(long long x)
MonitorElement * eventId_
UTC time of the run start.
Definition: HLXMonitor.h:171
timeval lastUpdateTime_
Definition: HLXMonitor.h:269
MonitorElement * eventTimeStamp_
Definition: HLXMonitor.h:173
MonitorElement * processEvents_
Definition: HLXMonitor.h:185
timeval lastAvgTime_
Definition: HLXMonitor.h:269
unsigned int expectedNibbles_
Definition: HLXMonitor.h:252
double num4NibblePerLS_
Definition: HLXMonitor.h:276
MonitorElement * runId_
Definition: HLXMonitor.h:169
timeval currentTime_
Definition: HLXMonitor.h:269
MonitorElement * lumisecId_
Definition: HLXMonitor.h:172

◆ FillHistograms()

void HLXMonitor::FillHistograms ( const LUMI_SECTION section)
private

Definition at line 912 of file HLXMonitor.cc.

References AvgEtSum, AvgOccAboveSet1, AvgOccAboveSet2, AvgOccBelowSet1, AvgOccBelowSet2, AvgOccBetweenSet1, AvgOccBetweenSet2, BXvsTimeAvgEtSumHFM, BXvsTimeAvgEtSumHFP, MillePedeFileConverter_cfg::e, StorageManager_cfg::e1, ETSum, dqm::impl::MonitorElement::Fill(), RemoveAddSevLevel::flag, dqm::impl::MonitorElement::getBinContent(), dqm::impl::MonitorElement::getBinError(), dqm::impl::MonitorElement::getMean(), dqm::impl::MonitorElement::getRMS(), dqm::impl::MonitorElement::getTH1F(), HistAvgEtSumHFM, HistAvgEtSumHFP, HistAvgLumiEtSum, HistAvgLumiOccSet1, HistAvgLumiOccSet2, HistAvgOccAboveSet1HFM, HistAvgOccAboveSet1HFP, HistAvgOccAboveSet2HFM, HistAvgOccAboveSet2HFP, HistAvgOccBelowSet1HFM, HistAvgOccBelowSet1HFP, HistAvgOccBelowSet2HFM, HistAvgOccBelowSet2HFP, HistAvgOccBetweenSet1HFM, HistAvgOccBetweenSet1HFP, HistAvgOccBetweenSet2HFM, HistAvgOccBetweenSet2HFP, HistInstantLumiEtSum, HistInstantLumiEtSumError, HistInstantLumiOccSet1, HistInstantLumiOccSet1Error, HistInstantLumiOccSet2, HistInstantLumiOccSet2Error, HistIntegratedLumiEtSum, HistIntegratedLumiOccSet1, HistIntegratedLumiOccSet2, HLXHFMap, createfilelist::int, lsBinOld, LumiAvgEtSum, LumiAvgOccSet1, LumiAvgOccSet2, LumiInstantEtSum, LumiInstantOccSet1, LumiInstantOccSet2, LumiIntegratedEtSum, LumiIntegratedOccSet1, LumiIntegratedOccSet2, lumiSectionCount, SiStripPI::max, MaxInstLumiBX1, MaxInstLumiBX2, MaxInstLumiBX3, MaxInstLumiBX4, MaxInstLumiBXNum1, MaxInstLumiBXNum2, MaxInstLumiBXNum3, MaxInstLumiBXNum4, HGVHistoProducerAlgoBlock_cfi::maxX, HGVHistoProducerAlgoBlock_cfi::minX, MissingDQMDataCheck, num4NibblePerLS_, NUM_BUNCHES, NUM_HLX, previousSection, RecentInstantLumiEtSum, RecentInstantLumiOccSet1, RecentInstantLumiOccSet2, RecentIntegratedLumiEtSum, RecentIntegratedLumiOccSet1, RecentIntegratedLumiOccSet2, hgcalPlots::section, sectionInstantErrSumEt, sectionInstantErrSumOcc1, sectionInstantErrSumOcc2, sectionInstantNorm, sectionInstantSumEt, sectionInstantSumOcc1, sectionInstantSumOcc2, Set1Above, set1AboveIndex, Set1Below, set1BelowIndex, Set1Between, set1BetweenIndex, Set2Above, set2AboveIndex, Set2Below, set2BelowIndex, Set2Between, set2BetweenIndex, dqm::impl::MonitorElement::setAxisRange(), dqm::impl::MonitorElement::setBinContent(), dqm::impl::MonitorElement::setBinError(), mathSSE::sqrt(), SumAllOccSet1, SumAllOccSet2, createJobs::tmp, XMAX, and XMIN.

Referenced by analyze().

912  {
913  // Check for missing data
914  if (previousSection != (section.hdr.sectionNumber - 1)) {
915  double weight = (double)(section.hdr.sectionNumber - previousSection - 1);
916  // std::cout << "Filling missing data! " << weight << std::endl;
918  }
919  previousSection = section.hdr.sectionNumber;
920 
921  int lsBin = int(lumiSectionCount / num4NibblePerLS_);
922  int lsBinBX = int(lumiSectionCount / num4NibblePerLS_);
923  HistAvgLumiEtSum->Fill(lsBin, section.lumiSummary.InstantETLumi);
924  HistAvgLumiOccSet1->Fill(lsBin, section.lumiSummary.InstantOccLumi[0]);
925  HistAvgLumiOccSet2->Fill(lsBin, section.lumiSummary.InstantOccLumi[1]);
926 
927  int fillBin = lumiSectionCount + 1;
928  if (fillBin > 128) {
929  // If we are already more than 2 LS's in, move everything back by one bin
930  // and fill the last bin with the new value.
931  for (int iBin = 1; iBin < 128; ++iBin) {
938  }
939  fillBin = 128;
940  }
941 
942  RecentInstantLumiEtSum->setBinContent(fillBin, section.lumiSummary.InstantETLumi);
943  RecentInstantLumiEtSum->setBinError(fillBin, section.lumiSummary.InstantETLumiErr);
944  RecentInstantLumiOccSet1->setBinContent(fillBin, section.lumiSummary.InstantOccLumi[0]);
945  RecentInstantLumiOccSet1->setBinError(fillBin, section.lumiSummary.InstantOccLumiErr[0]);
946  RecentInstantLumiOccSet2->setBinContent(fillBin, section.lumiSummary.InstantOccLumi[1]);
947  RecentInstantLumiOccSet2->setBinError(fillBin, section.lumiSummary.InstantOccLumiErr[1]);
948 
949  double recentOldBinContent = RecentIntegratedLumiEtSum->getBinContent(fillBin - 1);
950  if (fillBin == 1)
951  recentOldBinContent = 0;
952  double recentNewBinContent = recentOldBinContent + section.lumiSummary.InstantETLumi;
953  RecentIntegratedLumiEtSum->setBinContent(fillBin, recentNewBinContent);
954  recentOldBinContent = RecentIntegratedLumiOccSet1->getBinContent(fillBin - 1);
955  if (fillBin == 1)
956  recentOldBinContent = 0;
957  recentNewBinContent = recentOldBinContent + section.lumiSummary.InstantOccLumi[0];
958  RecentIntegratedLumiOccSet1->setBinContent(fillBin, recentNewBinContent);
959  recentOldBinContent = RecentIntegratedLumiOccSet2->getBinContent(fillBin - 1);
960  if (fillBin == 1)
961  recentOldBinContent = 0;
962  recentNewBinContent = recentOldBinContent + section.lumiSummary.InstantOccLumi[0];
963  RecentIntegratedLumiOccSet2->setBinContent(fillBin, recentNewBinContent);
964 
965  double recentOldBinError = RecentIntegratedLumiEtSum->getBinError(fillBin - 1);
966  if (fillBin == 1)
967  recentOldBinError = 0;
968  double recentNewBinError = sqrt(recentOldBinError * recentOldBinError +
969  section.lumiSummary.InstantETLumiErr * section.lumiSummary.InstantETLumiErr);
970  RecentIntegratedLumiEtSum->setBinError(fillBin, recentNewBinError);
971  recentOldBinError = RecentIntegratedLumiOccSet1->getBinError(fillBin - 1);
972  if (fillBin == 1)
973  recentOldBinError = 0;
974  recentNewBinError = sqrt(recentOldBinError * recentOldBinError +
975  section.lumiSummary.InstantOccLumiErr[0] * section.lumiSummary.InstantOccLumiErr[0]);
976  RecentIntegratedLumiOccSet1->setBinError(fillBin, recentNewBinError);
977  recentOldBinError = RecentIntegratedLumiOccSet2->getBinError(fillBin - 1);
978  if (fillBin == 1)
979  recentOldBinError = 0;
980  recentNewBinError = sqrt(recentOldBinError * recentOldBinError +
981  section.lumiSummary.InstantOccLumiErr[1] * section.lumiSummary.InstantOccLumiErr[1]);
982  RecentIntegratedLumiOccSet2->setBinError(fillBin, recentNewBinError);
983 
984  if (lsBinOld != lsBin) {
991 
992  double etDenom = fabs(sectionInstantSumEt);
993  if (etDenom < 1e-10)
994  etDenom = 1e-10;
995  double occ1Denom = fabs(sectionInstantSumOcc1);
996  if (occ1Denom < 1e-10)
997  occ1Denom = 1e-10;
998  double occ2Denom = fabs(sectionInstantSumOcc2);
999  if (occ2Denom < 1e-10)
1000  occ2Denom = 1e-10;
1001  double etError = 100.0 * sqrt(sectionInstantErrSumEt) / etDenom;
1002  double occ1Error = 100.0 * sqrt(sectionInstantErrSumOcc1) / occ1Denom;
1003  double occ2Error = 100.0 * sqrt(sectionInstantErrSumOcc2) / occ2Denom;
1007 
1008  double histOldBinContent = HistIntegratedLumiEtSum->getBinContent(lsBinOld);
1009  if (lsBinOld == 0)
1010  histOldBinContent = 0;
1011  double histNewBinContent = histOldBinContent + sectionInstantSumEt;
1012  HistIntegratedLumiEtSum->setBinContent(lsBin, histNewBinContent);
1013  histOldBinContent = HistIntegratedLumiOccSet1->getBinContent(lsBinOld);
1014  if (lsBinOld == 0)
1015  histOldBinContent = 0;
1016  histNewBinContent = histOldBinContent + sectionInstantSumOcc1;
1017  HistIntegratedLumiOccSet1->setBinContent(lsBin, histNewBinContent);
1018  histOldBinContent = HistIntegratedLumiOccSet2->getBinContent(lsBinOld);
1019  if (lsBinOld == 0)
1020  histOldBinContent = 0;
1021  histNewBinContent = histOldBinContent + sectionInstantSumOcc2;
1022  HistIntegratedLumiOccSet2->setBinContent(lsBin, histNewBinContent);
1023 
1024  double histOldBinError = HistIntegratedLumiEtSum->getBinError(lsBinOld);
1025  if (lsBinOld == 0)
1026  histOldBinError = 0;
1027  double histNewBinError = sqrt(histOldBinError * histOldBinError + sectionInstantErrSumEt);
1028  HistIntegratedLumiEtSum->setBinError(lsBin, histNewBinError);
1029  histOldBinError = HistIntegratedLumiOccSet1->getBinError(lsBinOld);
1030  if (lsBinOld == 0)
1031  histOldBinError = 0;
1032  histNewBinError = sqrt(histOldBinError * histOldBinError + sectionInstantErrSumOcc1);
1033  HistIntegratedLumiOccSet1->setBinError(lsBin, histNewBinError);
1034  histOldBinError = HistIntegratedLumiOccSet2->getBinError(lsBinOld);
1035  if (lsBinOld == 0)
1036  histOldBinError = 0;
1037  histNewBinError = sqrt(histOldBinError * histOldBinError + sectionInstantErrSumOcc2);
1038  HistIntegratedLumiOccSet2->setBinError(lsBin, histNewBinError);
1039 
1040  sectionInstantSumEt = 0;
1046  sectionInstantNorm = 0;
1047  lsBinOld = lsBin;
1048  }
1049 
1050  sectionInstantSumEt += section.lumiSummary.InstantETLumi;
1051  sectionInstantErrSumEt += section.lumiSummary.InstantETLumiErr * section.lumiSummary.InstantETLumiErr;
1052  sectionInstantSumOcc1 += section.lumiSummary.InstantOccLumi[0];
1053  sectionInstantErrSumOcc1 += section.lumiSummary.InstantOccLumiErr[0] * section.lumiSummary.InstantOccLumiErr[0];
1054  sectionInstantSumOcc2 += section.lumiSummary.InstantOccLumi[1];
1055  sectionInstantErrSumOcc2 += section.lumiSummary.InstantOccLumiErr[1] * section.lumiSummary.InstantOccLumiErr[1];
1057 
1058  for (int iHLX = 0; iHLX < (int)NUM_HLX; ++iHLX) {
1059  unsigned int utotal1 = 0;
1060  unsigned int utotal2 = 0;
1061  unsigned int iWedge = HLXHFMap[iHLX];
1062  if (section.occupancy[iHLX].hdr.numNibbles != 0) {
1063  // Don't include the last one hundred BX in the average.
1064  for (unsigned int iBX = 0; iBX < NUM_BUNCHES; ++iBX) {
1065  // Normalize to number of towers
1066  unsigned int norm[2] = {0, 0};
1067  norm[0] += section.occupancy[iHLX].data[set1BelowIndex][iBX];
1068  norm[0] += section.occupancy[iHLX].data[set1BetweenIndex][iBX];
1069  norm[0] += section.occupancy[iHLX].data[set1AboveIndex][iBX];
1070  if (norm[0] == 0)
1071  norm[0] = 1;
1072  norm[1] += section.occupancy[iHLX].data[set2BelowIndex][iBX];
1073  norm[1] += section.occupancy[iHLX].data[set2BetweenIndex][iBX];
1074  norm[1] += section.occupancy[iHLX].data[set2AboveIndex][iBX];
1075  if (norm[1] == 0)
1076  norm[1] = 1;
1077 
1078  double normEt = section.etSum[iHLX].data[iBX] / (double)(norm[0] + norm[1]);
1079  double normOccSet1Below = (double)section.occupancy[iHLX].data[set1BelowIndex][iBX] / (double)norm[0];
1080  double normOccSet1Between = (double)section.occupancy[iHLX].data[set1BetweenIndex][iBX] / (double)norm[0];
1081  double normOccSet1Above = (double)section.occupancy[iHLX].data[set1AboveIndex][iBX] / (double)norm[0];
1082  double normOccSet2Below = (double)section.occupancy[iHLX].data[set2BelowIndex][iBX] / (double)norm[1];
1083  double normOccSet2Between = (double)section.occupancy[iHLX].data[set2BetweenIndex][iBX] / (double)norm[1];
1084  double normOccSet2Above = (double)section.occupancy[iHLX].data[set2AboveIndex][iBX] / (double)norm[1];
1085 
1086  // Averages & check sum
1087  if (iBX < NUM_BUNCHES - 100) {
1088  AvgEtSum->Fill(iWedge, normEt);
1089 
1090  AvgOccBelowSet1->Fill(iWedge, normOccSet1Below);
1091  AvgOccBetweenSet1->Fill(iWedge, normOccSet1Between);
1092  AvgOccAboveSet1->Fill(iWedge, normOccSet1Above);
1093 
1094  AvgOccBelowSet2->Fill(iWedge, normOccSet2Below);
1095  AvgOccBetweenSet2->Fill(iWedge, normOccSet2Between);
1096  AvgOccAboveSet2->Fill(iWedge, normOccSet2Above);
1097 
1098  if (iWedge < 18) {
1099  HistAvgEtSumHFP->Fill(lsBin, normEt);
1100  HistAvgOccBelowSet1HFP->Fill(lsBin, normOccSet1Below);
1101  HistAvgOccBetweenSet1HFP->Fill(lsBin, normOccSet1Between);
1102  HistAvgOccAboveSet1HFP->Fill(lsBin, normOccSet1Above);
1103  HistAvgOccBelowSet2HFP->Fill(lsBin, normOccSet2Below);
1104  HistAvgOccBetweenSet2HFP->Fill(lsBin, normOccSet2Between);
1105  HistAvgOccAboveSet2HFP->Fill(lsBin, normOccSet2Above);
1106 
1107  if (iBX >= (XMIN - 1) && iBX <= (XMAX - 1))
1108  BXvsTimeAvgEtSumHFP->Fill(lsBinBX, iBX, normEt / (num4NibblePerLS_ * 18.0 * 12.0));
1109  } else {
1110  HistAvgEtSumHFM->Fill(lsBin, normEt);
1111  HistAvgOccBelowSet1HFM->Fill(lsBin, normOccSet1Below);
1112  HistAvgOccBetweenSet1HFM->Fill(lsBin, normOccSet1Between);
1113  HistAvgOccAboveSet1HFM->Fill(lsBin, normOccSet1Above);
1114  HistAvgOccBelowSet2HFM->Fill(lsBin, normOccSet2Below);
1115  HistAvgOccBetweenSet2HFM->Fill(lsBin, normOccSet2Between);
1116  HistAvgOccAboveSet2HFM->Fill(lsBin, normOccSet2Above);
1117 
1118  if (iBX >= (XMIN - 1) && iBX <= (XMAX - 1))
1119  BXvsTimeAvgEtSumHFM->Fill(lsBinBX, iBX, normEt / (num4NibblePerLS_ * 18.0 * 12.0));
1120  }
1121 
1122  utotal1 += section.occupancy[iHLX].data[set1BelowIndex][iBX];
1123  utotal1 += section.occupancy[iHLX].data[set1BetweenIndex][iBX];
1124  utotal1 += section.occupancy[iHLX].data[set1AboveIndex][iBX];
1125 
1126  utotal2 += section.occupancy[iHLX].data[set2BelowIndex][iBX];
1127  utotal2 += section.occupancy[iHLX].data[set2BetweenIndex][iBX];
1128  utotal2 += section.occupancy[iHLX].data[set2AboveIndex][iBX];
1129  }
1130 
1131  if (Style == "BX") {
1132  // Get the correct bin ...
1133  TH1F *Set1BelowHist = Set1Below[iWedge]->getTH1F();
1134  int iBin = Set1BelowHist->FindBin((float)iBX);
1135 
1136  // Adjust the old bin content to make the new, unnormalize and
1137  // renormalize
1138  if (lumiSectionCount > 0) {
1139  double oldNormOccSet1Below = (Set1Below[iWedge]->getBinContent(iBin)) * (double)(lumiSectionCount);
1140  normOccSet1Below += oldNormOccSet1Below;
1141  normOccSet1Below /= (double)(lumiSectionCount + 1);
1142  double oldNormOccSet2Below = (Set2Below[iWedge]->getBinContent(iBin)) * (double)(lumiSectionCount);
1143  normOccSet2Below += oldNormOccSet2Below;
1144  normOccSet2Below /= (double)(lumiSectionCount + 1);
1145 
1146  double oldNormOccSet1Between = (Set1Between[iWedge]->getBinContent(iBin)) * (double)(lumiSectionCount);
1147  normOccSet1Between += oldNormOccSet1Between;
1148  normOccSet1Between /= (double)(lumiSectionCount + 1);
1149  double oldNormOccSet2Between = (Set2Between[iWedge]->getBinContent(iBin)) * (double)(lumiSectionCount);
1150  normOccSet2Between += oldNormOccSet2Between;
1151  normOccSet2Between /= (double)(lumiSectionCount + 1);
1152 
1153  double oldNormOccSet1Above = (Set1Above[iWedge]->getBinContent(iBin)) * (double)(lumiSectionCount);
1154  normOccSet1Above += oldNormOccSet1Above;
1155  normOccSet1Above /= (double)(lumiSectionCount + 1);
1156  double oldNormOccSet2Above = (Set2Above[iWedge]->getBinContent(iBin)) * (double)(lumiSectionCount);
1157  normOccSet2Above += oldNormOccSet2Above;
1158  normOccSet2Above /= (double)(lumiSectionCount + 1);
1159 
1160  double oldNormEt = ETSum[iWedge]->getBinContent(iBin) * (double)(lumiSectionCount);
1161  normEt += oldNormEt;
1162  normEt /= (double)(lumiSectionCount + 1);
1163  }
1164  Set1Below[iWedge]->setBinContent(iBin, normOccSet1Below);
1165  Set1Between[iWedge]->setBinContent(iBin, normOccSet1Between);
1166  Set1Above[iWedge]->setBinContent(iBin, normOccSet1Above);
1167  Set2Below[iWedge]->setBinContent(iBin, normOccSet2Below);
1168  Set2Between[iWedge]->setBinContent(iBin, normOccSet2Between);
1169  Set2Above[iWedge]->setBinContent(iBin, normOccSet2Above);
1170  ETSum[iWedge]->setBinContent(iBin, normEt);
1171  } else if (Style == "Dist") {
1172  Set1Below[iWedge]->Fill(normOccSet1Below);
1173  Set1Between[iWedge]->Fill(normOccSet1Between);
1174  Set1Above[iWedge]->Fill(normOccSet1Above);
1175  Set2Below[iWedge]->Fill(normOccSet2Below);
1176  Set2Between[iWedge]->Fill(normOccSet2Between);
1177  Set2Above[iWedge]->Fill(normOccSet2Above);
1178  ETSum[iWedge]->Fill(normEt);
1179  }
1180  }
1181 
1182  // Get the number of towers per wedge per BX (assuming non-zero numbers)
1183  double total1 = 0;
1184  double total2 = 0;
1185  if ((NUM_BUNCHES - 100) > 0) {
1186  total1 = (double)utotal1 / (double)(NUM_BUNCHES - 100);
1187  total2 = (double)utotal2 / (double)(NUM_BUNCHES - 100);
1188  }
1189  if (section.hdr.numOrbits > 0) {
1190  total1 = total1 / (double)section.hdr.numOrbits;
1191  total2 = total2 / (double)section.hdr.numOrbits;
1192  }
1193 
1194  SumAllOccSet1->Fill(iWedge, total1);
1195  SumAllOccSet2->Fill(iWedge, total2);
1196  }
1197  }
1198 
1199  double max[4] = {-1000.0, -1000.0, -1000.0, -1000.0};
1200  int bxmax[4] = {-1, -1, -1, -1};
1201  for (unsigned int iBX = 0; iBX < NUM_BUNCHES; ++iBX) {
1202  LumiAvgEtSum->Fill(iBX, section.lumiDetail.ETLumi[iBX]);
1203  LumiAvgOccSet1->Fill(iBX, section.lumiDetail.OccLumi[0][iBX]);
1204  LumiAvgOccSet2->Fill(iBX, section.lumiDetail.OccLumi[1][iBX]);
1205 
1206  if (section.lumiDetail.OccLumi[0][iBX] > max[0]) {
1207  max[3] = max[2];
1208  bxmax[3] = bxmax[2];
1209  max[2] = max[1];
1210  bxmax[2] = bxmax[1];
1211  max[1] = max[0];
1212  bxmax[1] = bxmax[0];
1213  max[0] = section.lumiDetail.OccLumi[0][iBX];
1214  bxmax[0] = iBX;
1215  } else if (section.lumiDetail.OccLumi[0][iBX] > max[1]) {
1216  max[3] = max[2];
1217  bxmax[3] = bxmax[2];
1218  max[2] = max[1];
1219  bxmax[2] = bxmax[1];
1220  max[1] = section.lumiDetail.OccLumi[0][iBX];
1221  bxmax[1] = iBX;
1222  } else if (section.lumiDetail.OccLumi[0][iBX] > max[2]) {
1223  max[3] = max[2];
1224  bxmax[3] = bxmax[2];
1225  max[2] = section.lumiDetail.OccLumi[0][iBX];
1226  bxmax[2] = iBX;
1227  } else if (section.lumiDetail.OccLumi[0][iBX] > max[3]) {
1228  max[3] = section.lumiDetail.OccLumi[0][iBX];
1229  bxmax[3] = iBX;
1230  }
1231 
1232  int iBin = iBX - (int)XMIN + 1;
1233  if (iBin <= int(XMAX - XMIN) && iBin >= 1) {
1234  LumiInstantEtSum->setBinContent(iBin, section.lumiDetail.ETLumi[iBX]);
1235  LumiInstantOccSet1->setBinContent(iBin, section.lumiDetail.OccLumi[0][iBX]);
1236  LumiInstantOccSet2->setBinContent(iBin, section.lumiDetail.OccLumi[1][iBX]);
1237  LumiInstantEtSum->setBinError(iBin, section.lumiDetail.ETLumiErr[iBX]);
1238  LumiInstantOccSet1->setBinError(iBin, section.lumiDetail.OccLumiErr[0][iBX]);
1239  LumiInstantOccSet2->setBinError(iBin, section.lumiDetail.OccLumiErr[1][iBX]);
1240 
1241  double oldBinContent = LumiIntegratedEtSum->getBinContent(iBin);
1242  if (lumiSectionCount == 0)
1243  oldBinContent = 0;
1244  double newBinContent = oldBinContent + section.lumiDetail.ETLumi[iBX];
1245  LumiIntegratedEtSum->setBinContent(iBin, newBinContent);
1246  oldBinContent = LumiIntegratedOccSet1->getBinContent(iBin);
1247  if (lumiSectionCount == 0)
1248  oldBinContent = 0;
1249  newBinContent = oldBinContent + section.lumiDetail.OccLumi[0][iBX];
1250  LumiIntegratedOccSet1->setBinContent(iBin, newBinContent);
1251  oldBinContent = LumiIntegratedOccSet2->getBinContent(iBin);
1252  if (lumiSectionCount == 0)
1253  oldBinContent = 0;
1254  newBinContent = oldBinContent + section.lumiDetail.OccLumi[1][iBX];
1255  LumiIntegratedOccSet2->setBinContent(iBin, newBinContent);
1256 
1257  double oldBinError = LumiIntegratedEtSum->getBinError(iBin);
1258  if (lumiSectionCount == 0)
1259  oldBinError = 0;
1260  double newBinError =
1261  sqrt(oldBinError * oldBinError + section.lumiDetail.ETLumiErr[iBX] * section.lumiDetail.ETLumiErr[iBX]);
1262  LumiIntegratedEtSum->setBinError(iBin, newBinError);
1263  oldBinError = LumiIntegratedOccSet1->getBinError(iBin);
1264  if (lumiSectionCount == 0)
1265  oldBinError = 0;
1266  newBinError = sqrt(oldBinError * oldBinError +
1267  section.lumiDetail.OccLumiErr[0][iBX] * section.lumiDetail.OccLumiErr[0][iBX]);
1268  LumiIntegratedOccSet1->setBinError(iBin, newBinError);
1269  oldBinError = LumiIntegratedOccSet1->getBinError(iBin);
1270  if (lumiSectionCount == 0)
1271  oldBinError = 0;
1272  newBinError = sqrt(oldBinError * oldBinError +
1273  section.lumiDetail.OccLumiErr[1][iBX] * section.lumiDetail.OccLumiErr[1][iBX]);
1274  LumiIntegratedOccSet2->setBinError(iBin, newBinError);
1275  }
1276  }
1277 
1278  // Now fill the maximum hists, but ordered by BX, so that
1279  // collision BX's or satellite BX's will always appear in the
1280  // same histogram.
1281  int flag = 1;
1282  for (int iM = 0; (iM < 4) && flag; ++iM) {
1283  flag = 0;
1284  for (int iN = 0; iN < 3; ++iN) {
1285  if (bxmax[iN + 1] < bxmax[iN]) {
1286  int tmp = bxmax[iN];
1287  bxmax[iN] = bxmax[iN + 1];
1288  bxmax[iN + 1] = tmp;
1289 
1290  double tmp2 = max[iN];
1291  max[iN] = max[iN + 1];
1292  max[iN + 1] = tmp2;
1293  flag = 1;
1294  }
1295  }
1296  }
1297 
1298  // 0.9e1 = Conversion constant for occ1 at 900GeV COM.
1299  MaxInstLumiBX1->Fill(max[0] * 0.9e1);
1300  MaxInstLumiBXNum1->Fill(bxmax[0]);
1301  MaxInstLumiBX2->Fill(max[1] * 0.9e1);
1302  MaxInstLumiBXNum2->Fill(bxmax[1]);
1303  MaxInstLumiBX3->Fill(max[2] * 0.9e1);
1304  MaxInstLumiBXNum3->Fill(bxmax[2]);
1305  MaxInstLumiBX4->Fill(max[3] * 0.9e1);
1306  MaxInstLumiBXNum4->Fill(bxmax[3]);
1307 
1308  TH1F *tmpHist = MaxInstLumiBX1->getTH1F();
1309  double minX = tmpHist->GetBinLowEdge(1);
1310  double maxX = tmpHist->GetBinLowEdge(tmpHist->GetNbinsX() + 1);
1311 
1312  int inum4NibblePerLS = (int)num4NibblePerLS_;
1313  if (lumiSectionCount % inum4NibblePerLS == 0) {
1314  double mean1 = MaxInstLumiBX1->getMean();
1315  double rms1 = MaxInstLumiBX1->getRMS();
1316  if (rms1 > 0 && mean1 - 5 * rms1 > minX && mean1 + 5 * rms1 < maxX)
1317  MaxInstLumiBX1->setAxisRange(mean1 - 5 * rms1, mean1 + 5 * rms1);
1318 
1319  double mean2 = MaxInstLumiBX2->getMean();
1320  double rms2 = MaxInstLumiBX2->getRMS();
1321  if (rms2 > 0 && mean2 - 5 * rms2 > minX && mean2 + 5 * rms2 < maxX)
1322  MaxInstLumiBX2->setAxisRange(mean2 - 5 * rms2, mean2 + 5 * rms2);
1323 
1324  double mean3 = MaxInstLumiBX3->getMean();
1325  double rms3 = MaxInstLumiBX3->getRMS();
1326  if (rms3 > 0 && mean3 - 5 * rms3 > minX && mean3 + 5 * rms3 < maxX)
1327  MaxInstLumiBX3->setAxisRange(mean3 - 5 * rms3, mean3 + 5 * rms3);
1328 
1329  double mean4 = MaxInstLumiBX4->getMean();
1330  double rms4 = MaxInstLumiBX4->getRMS();
1331  if (rms4 > 0 && mean4 - 5 * rms4 > minX && mean4 + 5 * rms4 < maxX)
1332  MaxInstLumiBX4->setAxisRange(mean4 - 5 * rms4, mean4 + 5 * rms4);
1333  }
1334 
1335  // Add one to the section count (usually short sections)
1336  ++lumiSectionCount;
1337 }
double sectionInstantSumEt
Definition: HLXMonitor.h:260
MonitorElement * HistAvgOccBetweenSet1HFP
Definition: HLXMonitor.h:131
MonitorElement * Set2Between[36]
Definition: HLXMonitor.h:79
MonitorElement * HistInstantLumiOccSet1
Definition: HLXMonitor.h:148
MonitorElement * RecentIntegratedLumiOccSet2
Definition: HLXMonitor.h:162
MonitorElement * MaxInstLumiBX4
Definition: HLXMonitor.h:119
unsigned int HLXHFMap[36]
Definition: HLXMonitor.h:255
MonitorElement * HistAvgLumiOccSet2
Definition: HLXMonitor.h:146
MonitorElement * HistAvgOccBelowSet2HFM
Definition: HLXMonitor.h:136
MonitorElement * RecentIntegratedLumiEtSum
Definition: HLXMonitor.h:160
double XMAX
Definition: HLXMonitor.h:208
MonitorElement * LumiIntegratedEtSum
Definition: HLXMonitor.h:106
MonitorElement * SumAllOccSet1
Definition: HLXMonitor.h:111
MonitorElement * LumiInstantOccSet2
Definition: HLXMonitor.h:105
MonitorElement * AvgOccBetweenSet2
Definition: HLXMonitor.h:96
MonitorElement * AvgOccBelowSet1
Definition: HLXMonitor.h:92
MonitorElement * HistAvgEtSumHFM
Definition: HLXMonitor.h:128
MonitorElement * AvgOccAboveSet2
Definition: HLXMonitor.h:97
MonitorElement * HistAvgEtSumHFP
Definition: HLXMonitor.h:127
MonitorElement * HistAvgOccAboveSet1HFP
Definition: HLXMonitor.h:133
MonitorElement * LumiInstantEtSum
Definition: HLXMonitor.h:103
MonitorElement * LumiAvgOccSet2
Definition: HLXMonitor.h:102
MonitorElement * HistInstantLumiOccSet2Error
Definition: HLXMonitor.h:152
unsigned int NUM_HLX
Definition: HLXMonitor.h:215
int lsBinOld
Definition: HLXMonitor.h:259
MonitorElement * MissingDQMDataCheck
Definition: HLXMonitor.h:113
Definition: weight.py:1
MonitorElement * HistInstantLumiOccSet2
Definition: HLXMonitor.h:149
MonitorElement * LumiInstantOccSet1
Definition: HLXMonitor.h:104
MonitorElement * HistAvgOccAboveSet1HFM
Definition: HLXMonitor.h:134
MonitorElement * LumiIntegratedOccSet1
Definition: HLXMonitor.h:107
double sectionInstantErrSumEt
Definition: HLXMonitor.h:261
double sectionInstantErrSumOcc2
Definition: HLXMonitor.h:265
unsigned int set2AboveIndex
Definition: HLXMonitor.h:234
MonitorElement * Set1Below[36]
Definition: HLXMonitor.h:75
double XMIN
Definition: HLXMonitor.h:208
MonitorElement * HistInstantLumiEtSumError
Definition: HLXMonitor.h:150
void Fill(long long x)
MonitorElement * MaxInstLumiBX1
Definition: HLXMonitor.h:116
virtual double getRMS(int axis=1) const
get RMS of histogram along x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * HistAvgOccBelowSet1HFP
Definition: HLXMonitor.h:129
virtual void setAxisRange(double xmin, double xmax, int axis=1)
set x-, y- or z-axis range (axis=1, 2, 3 respectively)
MonitorElement * Set1Between[36]
Definition: HLXMonitor.h:76
unsigned int set2BetweenIndex
Definition: HLXMonitor.h:233
double sectionInstantSumOcc1
Definition: HLXMonitor.h:262
unsigned int set2BelowIndex
Definition: HLXMonitor.h:232
T sqrt(T t)
Definition: SSEVec.h:19
double sectionInstantSumOcc2
Definition: HLXMonitor.h:264
MonitorElement * HistIntegratedLumiOccSet1
Definition: HLXMonitor.h:154
MonitorElement * RecentInstantLumiOccSet1
Definition: HLXMonitor.h:158
MonitorElement * HistIntegratedLumiOccSet2
Definition: HLXMonitor.h:155
MonitorElement * BXvsTimeAvgEtSumHFM
Definition: HLXMonitor.h:142
MonitorElement * HistAvgOccBetweenSet2HFM
Definition: HLXMonitor.h:138
MonitorElement * AvgOccAboveSet1
Definition: HLXMonitor.h:94
MonitorElement * HistInstantLumiOccSet1Error
Definition: HLXMonitor.h:151
MonitorElement * ETSum[36]
Definition: HLXMonitor.h:81
MonitorElement * Set2Below[36]
Definition: HLXMonitor.h:78
MonitorElement * MaxInstLumiBXNum2
Definition: HLXMonitor.h:122
Definition: Style.py:1
MonitorElement * MaxInstLumiBX2
Definition: HLXMonitor.h:117
MonitorElement * SumAllOccSet2
Definition: HLXMonitor.h:112
MonitorElement * AvgEtSum
Definition: HLXMonitor.h:91
MonitorElement * HistAvgOccAboveSet2HFM
Definition: HLXMonitor.h:140
MonitorElement * LumiAvgEtSum
Definition: HLXMonitor.h:100
MonitorElement * BXvsTimeAvgEtSumHFP
Definition: HLXMonitor.h:141
MonitorElement * HistAvgOccBetweenSet1HFM
Definition: HLXMonitor.h:132
MonitorElement * RecentIntegratedLumiOccSet1
Definition: HLXMonitor.h:161
MonitorElement * MaxInstLumiBXNum4
Definition: HLXMonitor.h:124
unsigned int NUM_BUNCHES
Definition: HLXMonitor.h:216
MonitorElement * HistAvgLumiOccSet1
Definition: HLXMonitor.h:145
MonitorElement * HistAvgOccAboveSet2HFP
Definition: HLXMonitor.h:139
MonitorElement * HistAvgOccBelowSet1HFM
Definition: HLXMonitor.h:130
MonitorElement * RecentInstantLumiOccSet2
Definition: HLXMonitor.h:159
MonitorElement * Set2Above[36]
Definition: HLXMonitor.h:80
MonitorElement * HistAvgLumiEtSum
Definition: HLXMonitor.h:144
MonitorElement * HistIntegratedLumiEtSum
Definition: HLXMonitor.h:153
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * HistAvgOccBelowSet2HFP
Definition: HLXMonitor.h:135
double sectionInstantNorm
Definition: HLXMonitor.h:266
MonitorElement * MaxInstLumiBXNum3
Definition: HLXMonitor.h:123
MonitorElement * MaxInstLumiBX3
Definition: HLXMonitor.h:118
double sectionInstantErrSumOcc1
Definition: HLXMonitor.h:263
unsigned int previousSection
Definition: HLXMonitor.h:257
MonitorElement * Set1Above[36]
Definition: HLXMonitor.h:77
virtual double getMean(int axis=1) const
get mean value of histogram along x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * MaxInstLumiBXNum1
Definition: HLXMonitor.h:121
MonitorElement * AvgOccBelowSet2
Definition: HLXMonitor.h:95
double num4NibblePerLS_
Definition: HLXMonitor.h:276
MonitorElement * HistInstantLumiEtSum
Definition: HLXMonitor.h:147
unsigned int set1BelowIndex
Definition: HLXMonitor.h:229
unsigned int lumiSectionCount
Definition: HLXMonitor.h:258
MonitorElement * LumiIntegratedOccSet2
Definition: HLXMonitor.h:108
virtual double getBinError(int binx) const
get uncertainty on content of bin (1-D) - See TH1::GetBinError for details
virtual void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
MonitorElement * LumiAvgOccSet1
Definition: HLXMonitor.h:101
tmp
align.sh
Definition: createJobs.py:716
MonitorElement * AvgOccBetweenSet1
Definition: HLXMonitor.h:93
MonitorElement * RecentInstantLumiEtSum
Definition: HLXMonitor.h:157
MonitorElement * HistAvgOccBetweenSet2HFP
Definition: HLXMonitor.h:137
unsigned int set1AboveIndex
Definition: HLXMonitor.h:231
unsigned int set1BetweenIndex
Definition: HLXMonitor.h:230
virtual double getBinContent(int binx) const
get content of bin (1-D)

◆ FillHistoHFCompare()

void HLXMonitor::FillHistoHFCompare ( const LUMI_SECTION section)
private

Definition at line 1339 of file HLXMonitor.cc.

References dqm::impl::MonitorElement::Fill(), nano_mu_digi_cff::float, HFCompareEtSum, HFCompareOccAboveSet1, HFCompareOccAboveSet2, HFCompareOccBelowSet1, HFCompareOccBelowSet2, HFCompareOccBetweenSet1, HFCompareOccBetweenSet2, HLXHFMap, NUM_HLX, hgcalPlots::section, set1AboveIndex, set1BelowIndex, set1BetweenIndex, set2AboveIndex, set2BelowIndex, set2BetweenIndex, dqmMemoryStats::total, and TriggerBX.

Referenced by analyze().

1339  {
1340  for (unsigned int iHLX = 0; iHLX < NUM_HLX; ++iHLX) {
1341  unsigned int iWedge = HLXHFMap[iHLX];
1342 
1343  if (section.occupancy[iHLX].hdr.numNibbles != 0) {
1344  float nActvTwrsSet1 = section.occupancy[iHLX].data[set1AboveIndex][TriggerBX] +
1345  section.occupancy[iHLX].data[set1BetweenIndex][TriggerBX] +
1346  section.occupancy[iHLX].data[set1BelowIndex][TriggerBX];
1347 
1348  float nActvTwrsSet2 = section.occupancy[iHLX].data[set2AboveIndex][TriggerBX] +
1349  section.occupancy[iHLX].data[set2BetweenIndex][TriggerBX] +
1350  section.occupancy[iHLX].data[set2BelowIndex][TriggerBX];
1351 
1352  float total = nActvTwrsSet1 + nActvTwrsSet2;
1353 
1354  if (total > 0) {
1355  float tempData = section.etSum[iHLX].data[TriggerBX] / total;
1356  // cout << "Filling HFCompare Et sum " << tempData << endl;
1357  HFCompareEtSum->Fill(iWedge, tempData);
1358  }
1359 
1360  if (nActvTwrsSet1 > 0) {
1361  float tempData = (float)section.occupancy[iHLX].data[set1BelowIndex][TriggerBX] / nActvTwrsSet1;
1362  HFCompareOccBelowSet1->Fill(iWedge, tempData);
1363 
1364  tempData = (float)section.occupancy[iHLX].data[set1BetweenIndex][TriggerBX] / nActvTwrsSet1;
1365  HFCompareOccBetweenSet1->Fill(iWedge, tempData);
1366 
1367  tempData = (float)section.occupancy[iHLX].data[set1AboveIndex][TriggerBX] / nActvTwrsSet1;
1368  HFCompareOccAboveSet1->Fill(iWedge, tempData);
1369  }
1370 
1371  if (nActvTwrsSet2 > 0) {
1372  float tempData = (float)section.occupancy[iHLX].data[set2BelowIndex][TriggerBX] / nActvTwrsSet2;
1373  HFCompareOccBelowSet2->Fill(iWedge, tempData);
1374 
1375  tempData = (float)section.occupancy[iHLX].data[set2BetweenIndex][TriggerBX] / nActvTwrsSet2;
1376  HFCompareOccBetweenSet2->Fill(iWedge, tempData);
1377 
1378  tempData = (float)section.occupancy[iHLX].data[set2AboveIndex][TriggerBX] / nActvTwrsSet2;
1379  HFCompareOccAboveSet2->Fill(iWedge, tempData);
1380  }
1381  }
1382  }
1383 }
MonitorElement * HFCompareOccAboveSet1
Definition: HLXMonitor.h:86
MonitorElement * HFCompareOccAboveSet2
Definition: HLXMonitor.h:89
unsigned int HLXHFMap[36]
Definition: HLXMonitor.h:255
unsigned int NUM_HLX
Definition: HLXMonitor.h:215
unsigned int set2AboveIndex
Definition: HLXMonitor.h:234
void Fill(long long x)
MonitorElement * HFCompareEtSum
Definition: HLXMonitor.h:83
unsigned int set2BetweenIndex
Definition: HLXMonitor.h:233
unsigned int set2BelowIndex
Definition: HLXMonitor.h:232
MonitorElement * HFCompareOccBelowSet1
Definition: HLXMonitor.h:84
unsigned int TriggerBX
Definition: HLXMonitor.h:219
MonitorElement * HFCompareOccBetweenSet2
Definition: HLXMonitor.h:88
unsigned int set1BelowIndex
Definition: HLXMonitor.h:229
MonitorElement * HFCompareOccBelowSet2
Definition: HLXMonitor.h:87
MonitorElement * HFCompareOccBetweenSet1
Definition: HLXMonitor.h:85
unsigned int set1AboveIndex
Definition: HLXMonitor.h:231
unsigned int set1BetweenIndex
Definition: HLXMonitor.h:230

◆ FillReportSummary()

void HLXMonitor::FillReportSummary ( )
private

Definition at line 1420 of file HLXMonitor.cc.

References expectedNibbles_, dqm::impl::MonitorElement::Fill(), nano_mu_digi_cff::float, DivergingColor::frac, HLXHFMap, l1tPhase2CaloJetEmulator_cfi::iEta, NUM_HLX, reportSummary_, reportSummaryMap_, dqm::impl::MonitorElement::setBinContent(), and totalNibbles_.

Referenced by analyze(), and EndRun().

1420  {
1421  // Run summary - Loop over the HLX's and fill the map,
1422  // also calculate the overall quality.
1423  float overall = 0.0;
1424  for (unsigned int iHLX = 0; iHLX < NUM_HLX; ++iHLX) {
1425  unsigned int iWedge = HLXHFMap[iHLX] + 1;
1426  unsigned int iEta = 2;
1427  float frac = 0.0;
1428  if (expectedNibbles_ > 0)
1429  frac = (float)totalNibbles_[iWedge - 1] / (float)expectedNibbles_;
1430  if (iWedge >= 19) {
1431  iEta = 1;
1432  iWedge -= 18;
1433  }
1435  overall += frac;
1436  }
1437 
1438  overall /= (float)NUM_HLX;
1439  if (overall > 1.0)
1440  overall = 0.0;
1441  // std::cout << "Filling report summary! Main. " << overall << std::endl;
1442  reportSummary_->Fill(overall);
1443 }
unsigned int totalNibbles_[36]
Definition: HLXMonitor.h:253
unsigned int HLXHFMap[36]
Definition: HLXMonitor.h:255
unsigned int NUM_HLX
Definition: HLXMonitor.h:215
void Fill(long long x)
MonitorElement * reportSummaryMap_
Definition: HLXMonitor.h:197
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
unsigned int expectedNibbles_
Definition: HLXMonitor.h:252
MonitorElement * reportSummary_
Definition: HLXMonitor.h:196

◆ getUTCtime()

double HLXMonitor::getUTCtime ( timeval *  a,
timeval *  b = nullptr 
)
private

Definition at line 1445 of file HLXMonitor.cc.

References b.

Referenced by analyze(), FillEventInfo(), and SetupEventInfo().

1445  {
1446  double deltaT = (*a).tv_sec * 1000.0 + (*a).tv_usec / 1000.0;
1447  if (b != nullptr)
1448  deltaT = (*b).tv_sec * 1000.0 + (*b).tv_usec / 1000.0 - deltaT;
1449  return deltaT / 1000.0;
1450 }
double b
Definition: hdecay.h:120

◆ SetupEventInfo()

void HLXMonitor::SetupEventInfo ( DQMStore::IBooker iBooker)
private

Definition at line 759 of file HLXMonitor.cc.

References dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookFloat(), dqm::implementation::IBooker::bookInt(), dqm::implementation::IBooker::bookString(), cmsswVer_, currentTime_, eventId_, eventInfoFolder_, eventInfoFolderHLX_, eventTimeStamp_, evtRateCount_, evtRateWindow_, dqm::impl::MonitorElement::Fill(), edm::getReleaseVersion(), dqm::impl::MonitorElement::getTH2F(), getUTCtime(), HLXHFMap, hostName_, l1tPhase2CaloJetEmulator_cfi::iEta, lastAvgTime_, lumisecId_, NUM_HLX, nUpdates_, pEvent_, processEventRate_, processEvents_, processId_, processLatency_, processName_, processStartTimeStamp_, processTimeStamp_, reportSummary_, reportSummaryMap_, runId_, runStartTimeStamp_, dqm::impl::MonitorElement::setBinContent(), dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, subSystemName_, and workingDir_.

Referenced by bookHistograms().

759  {
760  using std::string;
761 
762  string currentfolder = subSystemName_ + "/" + eventInfoFolderHLX_;
763  // cout << "currentfolder " << currentfolder << endl;
764 
765  iBooker.setCurrentFolder(currentfolder);
766 
767  pEvent_ = 0;
768  evtRateCount_ = 0;
769  gettimeofday(&currentTime_, nullptr);
771  evtRateWindow_ = 0.5;
772 
773  // Event specific contents
774  runId_ = iBooker.bookInt("iRun");
775  lumisecId_ = iBooker.bookInt("iLumiSection");
776 
777  eventId_ = iBooker.bookInt("iEvent");
778  eventId_->Fill(-1);
779  eventTimeStamp_ = iBooker.bookFloat("eventTimeStamp");
780 
781  iBooker.setCurrentFolder(currentfolder);
782  // Process specific contents
783  processTimeStamp_ = iBooker.bookFloat("processTimeStamp");
785  processLatency_ = iBooker.bookFloat("processLatency");
786  processTimeStamp_->Fill(-1);
787  processEvents_ = iBooker.bookInt("processedEvents");
789  processEventRate_ = iBooker.bookFloat("processEventRate");
790  processEventRate_->Fill(-1);
791  nUpdates_ = iBooker.bookInt("processUpdates");
792  nUpdates_->Fill(-1);
793 
794  // Static Contents
795  processId_ = iBooker.bookInt("processID");
796  processId_->Fill(gSystem->GetPid());
797  processStartTimeStamp_ = iBooker.bookFloat("processStartTimeStamp");
799  runStartTimeStamp_ = iBooker.bookFloat("runStartTimeStamp");
800  hostName_ = iBooker.bookString("hostName", gSystem->HostName());
801  processName_ = iBooker.bookString("processName", subSystemName_);
802  workingDir_ = iBooker.bookString("workingDir", gSystem->pwd());
803  cmsswVer_ = iBooker.bookString("CMSSW_Version", edm::getReleaseVersion());
804 
805  // Go to the standard EventInfo folder (in the case online case where this
806  // is different).
807  currentfolder = subSystemName_ + "/" + eventInfoFolder_;
808  iBooker.setCurrentFolder(currentfolder);
809 
810  reportSummary_ = iBooker.bookFloat("reportSummary");
811  reportSummaryMap_ = iBooker.book2D("reportSummaryMap", "reportSummaryMap", 18, 0., 18., 2, -1.5, 1.5);
812 
813  currentfolder = subSystemName_ + "/" + eventInfoFolderHLX_;
814  iBooker.setCurrentFolder(currentfolder);
815 
816  TH2F *summaryHist = reportSummaryMap_->getTH2F();
817  summaryHist->GetYaxis()->SetBinLabel(1, "HF-");
818  summaryHist->GetYaxis()->SetBinLabel(2, "HF+");
819  summaryHist->GetXaxis()->SetTitle("Wedge #");
820 
821  // Fill the report summary objects with default values, since these will only
822  // be filled at the change of run.
823  reportSummary_->Fill(1.0);
824 
825  for (unsigned int iHLX = 0; iHLX < NUM_HLX; ++iHLX) {
826  unsigned int iWedge = HLXHFMap[iHLX] + 1;
827  unsigned int iEta = 2;
828  if (iWedge >= 19) {
829  iEta = 1;
830  iWedge -= 18;
831  }
832  reportSummaryMap_->setBinContent(iWedge, iEta, 1.0);
833  }
834 }
MonitorElement * processLatency_
The UTC time of the last event.
Definition: HLXMonitor.h:182
MonitorElement * processTimeStamp_
The UTC time of the first event processed.
Definition: HLXMonitor.h:181
double getUTCtime(timeval *a, timeval *b=nullptr)
Definition: HLXMonitor.cc:1445
unsigned int HLXHFMap[36]
Definition: HLXMonitor.h:255
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:80
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MonitorElement * cmsswVer_
Current working directory of the job.
Definition: HLXMonitor.h:189
unsigned int NUM_HLX
Definition: HLXMonitor.h:215
MonitorElement * processEventRate_
Time elapsed since the last event.
Definition: HLXMonitor.h:183
float evtRateWindow_
Definition: HLXMonitor.h:271
int evtRateCount_
Definition: HLXMonitor.h:272
MonitorElement * bookString(TString const &name, TString const &value, FUNC onbooking=NOOP())
Definition: DQMStore.h:87
std::string eventInfoFolderHLX_
Definition: HLXMonitor.h:236
void Fill(long long x)
MonitorElement * eventId_
UTC time of the run start.
Definition: HLXMonitor.h:171
MonitorElement * processId_
Number of collector updates (TBD)
Definition: HLXMonitor.h:179
MonitorElement * reportSummaryMap_
Definition: HLXMonitor.h:197
MonitorElement * runStartTimeStamp_
Definition: HLXMonitor.h:170
MonitorElement * hostName_
of event processed so far
Definition: HLXMonitor.h:186
MonitorElement * nUpdates_
These MEs are either static or updated upon each analyze() call.
Definition: HLXMonitor.h:178
MonitorElement * eventTimeStamp_
Definition: HLXMonitor.h:173
std::string getReleaseVersion()
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * processEvents_
Definition: HLXMonitor.h:185
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:221
MonitorElement * bookInt(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:73
std::string subSystemName_
Definition: HLXMonitor.h:238
MonitorElement * processName_
Hostname of the local machine.
Definition: HLXMonitor.h:187
timeval lastAvgTime_
Definition: HLXMonitor.h:269
MonitorElement * processStartTimeStamp_
The PID associated with this job.
Definition: HLXMonitor.h:180
MonitorElement * runId_
Definition: HLXMonitor.h:169
std::string eventInfoFolder_
Definition: HLXMonitor.h:237
timeval currentTime_
Definition: HLXMonitor.h:269
MonitorElement * workingDir_
DQM "name" of the job (eg, Hcal or DT)
Definition: HLXMonitor.h:188
MonitorElement * reportSummary_
Definition: HLXMonitor.h:196
MonitorElement * lumisecId_
Definition: HLXMonitor.h:172

◆ SetupHists()

void HLXMonitor::SetupHists ( DQMStore::IBooker iBooker)
private

Definition at line 146 of file HLXMonitor.cc.

References AvgEtSum, AvgOccAboveSet1, AvgOccAboveSet2, AvgOccBelowSet1, AvgOccBelowSet2, AvgOccBetweenSet1, AvgOccBetweenSet2, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookProfile(), BXvsTimeAvgEtSumHFM, BXvsTimeAvgEtSumHFP, TauDecayModes::dec, MillePedeFileConverter_cfg::e, ETSum, EtXAxisTitle, EtYAxisTitle, HFCompareEtSum, HFCompareOccAboveSet1, HFCompareOccAboveSet2, HFCompareOccBelowSet1, HFCompareOccBelowSet2, HFCompareOccBetweenSet1, HFCompareOccBetweenSet2, HistAvgEtSumHFM, HistAvgEtSumHFP, HistAvgLumiEtSum, HistAvgLumiOccSet1, HistAvgLumiOccSet2, HistAvgOccAboveSet1HFM, HistAvgOccAboveSet1HFP, HistAvgOccAboveSet2HFM, HistAvgOccAboveSet2HFP, HistAvgOccBelowSet1HFM, HistAvgOccBelowSet1HFP, HistAvgOccBelowSet2HFM, HistAvgOccBelowSet2HFP, HistAvgOccBetweenSet1HFM, HistAvgOccBetweenSet1HFP, HistAvgOccBetweenSet2HFM, HistAvgOccBetweenSet2HFP, HistInstantLumiEtSum, HistInstantLumiEtSumError, HistInstantLumiOccSet1, HistInstantLumiOccSet1Error, HistInstantLumiOccSet2, HistInstantLumiOccSet2Error, HistIntegratedLumiEtSum, HistIntegratedLumiOccSet1, HistIntegratedLumiOccSet2, LumiAvgEtSum, LumiAvgOccSet1, LumiAvgOccSet2, LumiInstantEtSum, LumiInstantOccSet1, LumiInstantOccSet2, LumiIntegratedEtSum, LumiIntegratedOccSet1, LumiIntegratedOccSet2, MAX_LS, MaxInstLumiBX1, MaxInstLumiBX2, MaxInstLumiBX3, MaxInstLumiBX4, MaxInstLumiBXNum1, MaxInstLumiBXNum2, MaxInstLumiBXNum3, MaxInstLumiBXNum4, MissingDQMDataCheck, monitorName_, NBINS, NUM_HLX, OccXAxisTitle, OccYAxisTitle, RecentInstantLumiEtSum, RecentInstantLumiOccSet1, RecentInstantLumiOccSet2, RecentIntegratedLumiEtSum, RecentIntegratedLumiOccSet1, RecentIntegratedLumiOccSet2, Set1Above, Set1Below, Set1Between, Set2Above, Set2Below, Set2Between, dqm::impl::MonitorElement::setAxisTitle(), dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, SumAllOccSet1, SumAllOccSet2, XMAX, and XMIN.

Referenced by bookHistograms().

146  {
147  iBooker.setCurrentFolder(monitorName_ + "/HFPlus");
148 
149  for (unsigned int iWedge = 0; iWedge < 18 && iWedge < NUM_HLX; ++iWedge) {
150  std::ostringstream tempStreamer;
151  tempStreamer << std::dec << std::setw(2) << std::setfill('0') << (iWedge + 1);
152 
153  std::ostringstream wedgeNum;
154  wedgeNum << std::dec << (iWedge % 18) + 1;
155 
156  iBooker.setCurrentFolder(monitorName_ + "/HFPlus/Wedge" + tempStreamer.str());
157 
158  Set1Below[iWedge] =
159  iBooker.book1D("Set1_Below", "HF+ Wedge " + wedgeNum.str() + ": Below Threshold 1 - Set 1", NBINS, XMIN, XMAX);
160  Set1Between[iWedge] = iBooker.book1D(
161  "Set1_Between", "HF+ Wedge " + wedgeNum.str() + ": Between Threshold 1 & 2 - Set 1", NBINS, XMIN, XMAX);
162  Set1Above[iWedge] =
163  iBooker.book1D("Set1_Above", "HF+ Wedge " + wedgeNum.str() + ": Above Threshold 2 - Set 1", NBINS, XMIN, XMAX);
164  Set2Below[iWedge] =
165  iBooker.book1D("Set2_Below", "HF+ Wedge " + wedgeNum.str() + ": Below Threshold 1 - Set 2", NBINS, XMIN, XMAX);
166  Set2Between[iWedge] = iBooker.book1D(
167  "Set2_Between", "HF+ Wedge " + wedgeNum.str() + ": Between Threshold 1 & 2 - Set 2", NBINS, XMIN, XMAX);
168  Set2Above[iWedge] =
169  iBooker.book1D("Set2_Above", "HF+ Wedge " + wedgeNum.str() + ": Above Threshold 2 - Set 2", NBINS, XMIN, XMAX);
170  ETSum[iWedge] = iBooker.book1D("ETSum", "HF+ Wedge " + wedgeNum.str() + ": Transverse Energy", NBINS, XMIN, XMAX);
171  }
172 
173  if (NUM_HLX > 17) {
174  iBooker.setCurrentFolder(monitorName_ + "/HFMinus");
175 
176  for (unsigned int iWedge = 18; iWedge < NUM_HLX; ++iWedge) {
177  std::ostringstream tempStreamer;
178  tempStreamer << std::dec << std::setw(2) << std::setfill('0') << (iWedge + 1);
179 
180  std::ostringstream wedgeNum;
181  wedgeNum << std::dec << (iWedge % 18) + 1;
182 
183  iBooker.setCurrentFolder(monitorName_ + "/HFMinus/Wedge" + tempStreamer.str());
184  Set1Below[iWedge] = iBooker.book1D(
185  "Set1_Below", "HF- Wedge " + wedgeNum.str() + ": Below Threshold 1 - Set 1", NBINS, XMIN, XMAX);
186  Set1Between[iWedge] = iBooker.book1D(
187  "Set1_Between", "HF- Wedge " + wedgeNum.str() + ": Between Threshold 1 & 2 - Set 1", NBINS, XMIN, XMAX);
188  Set1Above[iWedge] = iBooker.book1D(
189  "Set1_Above", "HF- Wedge " + wedgeNum.str() + ": Above Threshold 2 - Set 1", NBINS, XMIN, XMAX);
190  Set2Below[iWedge] = iBooker.book1D(
191  "Set2_Below", "HF- Wedge " + wedgeNum.str() + ": Below Threshold 1 - Set 2", NBINS, XMIN, XMAX);
192  Set2Between[iWedge] = iBooker.book1D(
193  "Set2_Between", "HF- Wedge " + wedgeNum.str() + ": Between Threshold 1 & 2 - Set 2", NBINS, XMIN, XMAX);
194  Set2Above[iWedge] = iBooker.book1D(
195  "Set2_Above", "HF- Wedge " + wedgeNum.str() + ": Above Threshold 2 - Set 2", NBINS, XMIN, XMAX);
196  ETSum[iWedge] = iBooker.book1D("ETSum", "HF- Wedge " + wedgeNum.str() + ": Transverse Energy", NBINS, XMIN, XMAX);
197  }
198  }
199 
200  if (Style == "BX") {
201  OccXAxisTitle = "Bunch Crossing";
202  OccYAxisTitle = "Tower Occupancy";
203  EtXAxisTitle = "Bunch Crossing";
204  EtYAxisTitle = "E_{T} Sum";
205  } else if (Style == "Distribution") {
206  OccXAxisTitle = "Tower Occupancy";
207  OccYAxisTitle = "Count";
208  EtXAxisTitle = "E_{T} Sum";
209  EtYAxisTitle = "Count";
210  }
211 
212  for (unsigned int iWedge = 0; iWedge < NUM_HLX; ++iWedge) {
213  Set1Below[iWedge]->setAxisTitle(OccXAxisTitle, 1);
214  Set1Below[iWedge]->setAxisTitle(OccYAxisTitle, 2);
217  Set1Above[iWedge]->setAxisTitle(OccXAxisTitle, 1);
218  Set1Above[iWedge]->setAxisTitle(OccYAxisTitle, 2);
219  Set2Below[iWedge]->setAxisTitle(OccXAxisTitle, 1);
220  Set2Below[iWedge]->setAxisTitle(OccYAxisTitle, 2);
223  Set2Above[iWedge]->setAxisTitle(OccXAxisTitle, 1);
224  Set2Above[iWedge]->setAxisTitle(OccYAxisTitle, 2);
225  ETSum[iWedge]->setAxisTitle(EtXAxisTitle, 1);
226  ETSum[iWedge]->setAxisTitle(EtYAxisTitle, 2);
227  }
228 
229  // Comparison Histograms
230 
231  iBooker.setCurrentFolder(monitorName_ + "/HFCompare");
232 
233  std::string CompXTitle = "HF Wedge";
234  std::string CompEtSumYTitle = "E_{T} Sum per active tower";
235  std::string CompOccYTitle = "Occupancy per active tower";
236 
237  HFCompareEtSum = iBooker.book1D("HFCompareEtSum", "E_{T} Sum", NUM_HLX, 0, NUM_HLX);
238  HFCompareEtSum->setAxisTitle(CompXTitle, 1);
239  HFCompareEtSum->setAxisTitle(CompEtSumYTitle, 2);
240 
242  iBooker.book1D("HFCompareOccBelowSet1", "Occupancy Below Threshold 1 - Set 1", NUM_HLX, 0, NUM_HLX);
243  HFCompareOccBelowSet1->setAxisTitle(CompXTitle, 1);
244  HFCompareOccBelowSet1->setAxisTitle(CompOccYTitle, 2);
245 
247  iBooker.book1D("HFCompareOccBetweenSet1", "Occupancy Between Threshold 1 & 2 - Set 1", NUM_HLX, 0, NUM_HLX);
248  HFCompareOccBetweenSet1->setAxisTitle(CompXTitle, 1);
249  HFCompareOccBetweenSet1->setAxisTitle(CompOccYTitle, 2);
250 
252  iBooker.book1D("HFCompareOccAboveSet1", "Occupancy Above Threshold 2 - Set 1", NUM_HLX, 0, NUM_HLX);
253  HFCompareOccAboveSet1->setAxisTitle(CompXTitle, 1);
254  HFCompareOccAboveSet1->setAxisTitle(CompOccYTitle, 2);
255 
257  iBooker.book1D("HFCompareOccBelowSet2", "Occupancy Below Threshold 1 - Set 2", NUM_HLX, 0, NUM_HLX);
258  HFCompareOccBelowSet2->setAxisTitle(CompXTitle, 1);
259  HFCompareOccBelowSet2->setAxisTitle(CompOccYTitle, 2);
260 
262  iBooker.book1D("HFCompareOccBetweenSet2", "Occupancy Between Threshold 1 & 2 - Set 2", NUM_HLX, 0, NUM_HLX);
263  HFCompareOccBetweenSet2->setAxisTitle(CompXTitle, 1);
264  HFCompareOccBetweenSet2->setAxisTitle(CompOccYTitle, 2);
265 
267  iBooker.book1D("HFCompareOccAboveSet2", "Occupancy Above Threshold 2 - Set 2", NUM_HLX, 0, NUM_HLX);
268  HFCompareOccAboveSet2->setAxisTitle(CompXTitle, 1);
269  HFCompareOccAboveSet2->setAxisTitle(CompOccYTitle, 2);
270 
271  // Average Histograms
272 
273  iBooker.setCurrentFolder(monitorName_ + "/Average");
274 
275  int OccBins = 10000; // This does absolutely nothing.
276  double OccMin = 0;
277  double OccMax = 0; // If min and max are zero, no bounds on the data are set.
278 
279  int EtSumBins = 10000; // This does absolutely nothing. The Variable is not
280  // used in the function.
281  double EtSumMin = 0;
282  double EtSumMax = 0; // If min and max are zero, no bounds on the data are set.
283 
284  std::string errorOpt = "i";
285 
286  std::string AvgXTitle = "HF Wedge";
287  std::string AvgEtSumYTitle = "Average E_{T} Sum";
288  std::string AvgOccYTitle = "Average Tower Occupancy";
289 
290  AvgEtSum = iBooker.bookProfile("AvgEtSum", "Average E_{T} Sum", NUM_HLX, 0, NUM_HLX, EtSumBins, EtSumMin, EtSumMax);
291  AvgEtSum->setAxisTitle(AvgXTitle, 1);
292  AvgEtSum->setAxisTitle(AvgEtSumYTitle, 2);
293 
294  AvgOccBelowSet1 = iBooker.bookProfile("AvgOccBelowSet1",
295  "Average Occupancy Below Threshold 1 - Set1",
296  NUM_HLX,
297  0,
298  NUM_HLX,
299  OccBins,
300  OccMin,
301  OccMax,
302  errorOpt.c_str());
303  AvgOccBelowSet1->setAxisTitle(AvgXTitle, 1);
304  AvgOccBelowSet1->setAxisTitle(AvgOccYTitle, 2);
305 
306  AvgOccBetweenSet1 = iBooker.bookProfile("AvgOccBetweenSet1",
307  "Average Occupancy Between Threhold 1 & 2 - Set1",
308  NUM_HLX,
309  0,
310  NUM_HLX,
311  OccBins,
312  OccMin,
313  OccMax,
314  errorOpt.c_str());
315  AvgOccBetweenSet1->setAxisTitle(AvgXTitle, 1);
316  AvgOccBetweenSet1->setAxisTitle(AvgOccYTitle, 2);
317 
318  AvgOccAboveSet1 = iBooker.bookProfile("AvgOccAboveSet1",
319  "Average Occupancy Above Threshold 2 - Set1",
320  NUM_HLX,
321  0,
322  NUM_HLX,
323  OccBins,
324  OccMin,
325  OccMax,
326  errorOpt.c_str());
327  AvgOccAboveSet1->setAxisTitle(AvgXTitle, 1);
328  AvgOccAboveSet1->setAxisTitle(AvgOccYTitle, 2);
329 
330  AvgOccBelowSet2 = iBooker.bookProfile("AvgOccBelowSet2",
331  "Average Occupancy Below Threshold 1 - Set2",
332  NUM_HLX,
333  0,
334  NUM_HLX,
335  OccBins,
336  OccMin,
337  OccMax,
338  errorOpt.c_str());
339  AvgOccBelowSet2->setAxisTitle(AvgXTitle, 1);
340  AvgOccBelowSet2->setAxisTitle(AvgOccYTitle, 2);
341 
342  AvgOccBetweenSet2 = iBooker.bookProfile("AvgOccBetweenSet2",
343  "Average Occupancy Between Threshold 1 & 2 - Set2",
344  NUM_HLX,
345  0,
346  NUM_HLX,
347  OccBins,
348  OccMin,
349  OccMax,
350  errorOpt.c_str());
351  AvgOccBetweenSet2->setAxisTitle(AvgXTitle, 1);
352  AvgOccBetweenSet2->setAxisTitle(AvgOccYTitle, 2);
353 
354  AvgOccAboveSet2 = iBooker.bookProfile("AvgOccAboveSet2",
355  "Average Occupancy Above Threshold 2 - Set2",
356  NUM_HLX,
357  0,
358  NUM_HLX,
359  OccBins,
360  OccMin,
361  OccMax,
362  errorOpt.c_str());
363  AvgOccAboveSet2->setAxisTitle(AvgXTitle, 1);
364  AvgOccAboveSet2->setAxisTitle(AvgOccYTitle, 2);
365 
366  // Luminosity Histograms
367  iBooker.setCurrentFolder(monitorName_ + "/Luminosity");
368 
369  std::string LumiXTitle = "Bunch Crossing";
370  std::string LumiEtSumYTitle = "Luminosity: E_{T} Sum";
371  std::string LumiOccYTitle = "Luminosity: Occupancy";
372 
373  LumiAvgEtSum = iBooker.bookProfile(
374  "LumiAvgEtSum", "Average Luminosity ", int(XMAX - XMIN), XMIN, XMAX, EtSumBins, EtSumMin, EtSumMax);
375  LumiAvgEtSum->setAxisTitle(LumiXTitle, 1);
376  LumiAvgEtSum->setAxisTitle(LumiEtSumYTitle, 2);
377 
378  LumiAvgOccSet1 = iBooker.bookProfile(
379  "LumiAvgOccSet1", "Average Luminosity - Set 1", int(XMAX - XMIN), XMIN, XMAX, OccBins, OccMax, OccMin);
380  LumiAvgOccSet1->setAxisTitle(LumiXTitle, 1);
381  LumiAvgOccSet1->setAxisTitle(LumiOccYTitle, 2);
382 
383  LumiAvgOccSet2 = iBooker.bookProfile(
384  "LumiAvgOccSet2", "Average Luminosity - Set 2", int(XMAX - XMIN), XMIN, XMAX, OccBins, OccMax, OccMin);
385  LumiAvgOccSet2->setAxisTitle(LumiXTitle, 1);
386  LumiAvgOccSet2->setAxisTitle(LumiOccYTitle, 2);
387 
388  LumiInstantEtSum = iBooker.book1D("LumiInstantEtSum", "Instantaneous Luminosity ", int(XMAX - XMIN), XMIN, XMAX);
389  LumiInstantEtSum->setAxisTitle(LumiXTitle, 1);
390  LumiInstantEtSum->setAxisTitle(LumiEtSumYTitle, 2);
391 
393  iBooker.book1D("LumiInstantOccSet1", "Instantaneous Luminosity - Set 1", int(XMAX - XMIN), XMIN, XMAX);
394  LumiInstantOccSet1->setAxisTitle(LumiXTitle, 1);
395  LumiInstantOccSet1->setAxisTitle(LumiOccYTitle, 2);
396 
398  iBooker.book1D("LumiInstantOccSet2", "Instantaneous Luminosity - Set 2", int(XMAX - XMIN), XMIN, XMAX);
399  LumiInstantOccSet2->setAxisTitle(LumiXTitle, 1);
400  LumiInstantOccSet2->setAxisTitle(LumiOccYTitle, 2);
401 
402  LumiIntegratedEtSum = iBooker.book1D("LumiIntegratedEtSum", "Integrated Luminosity ", int(XMAX - XMIN), XMIN, XMAX);
403  LumiIntegratedEtSum->setAxisTitle(LumiXTitle, 1);
404  LumiIntegratedEtSum->setAxisTitle(LumiEtSumYTitle, 2);
405 
407  iBooker.book1D("LumiIntegratedOccSet1", "Integrated Luminosity - Set 1", int(XMAX - XMIN), XMIN, XMAX);
408  LumiIntegratedOccSet1->setAxisTitle(LumiXTitle, 1);
409  LumiIntegratedOccSet1->setAxisTitle(LumiOccYTitle, 2);
410 
412  iBooker.book1D("LumiIntegratedOccSet2", "Integrated Luminosity - Set 2", int(XMAX - XMIN), XMIN, XMAX);
413  LumiIntegratedOccSet2->setAxisTitle(LumiXTitle, 1);
414  LumiIntegratedOccSet2->setAxisTitle(LumiOccYTitle, 2);
415 
416  // Sanity check sum histograms
417  iBooker.setCurrentFolder(monitorName_ + "/CheckSums");
418 
419  std::string sumXTitle = "HF Wedge";
420  std::string sumYTitle = "Occupancy Sum (Below+Above+Between)";
421 
422  SumAllOccSet1 =
423  iBooker.bookProfile("SumAllOccSet1", "Occupancy Check - Set 1", NUM_HLX, 0, NUM_HLX, OccBins, OccMax, OccMin);
424  SumAllOccSet1->setAxisTitle(sumXTitle, 1);
425  SumAllOccSet1->setAxisTitle(sumYTitle, 2);
426 
427  SumAllOccSet2 =
428  iBooker.bookProfile("SumAllOccSet2", "Occupancy Check - Set 2", NUM_HLX, 0, NUM_HLX, OccBins, OccMax, OccMin);
429  SumAllOccSet2->setAxisTitle(sumXTitle, 1);
430  SumAllOccSet2->setAxisTitle(sumYTitle, 2);
431 
432  MissingDQMDataCheck = iBooker.book1D("MissingDQMDataCheck", "Missing Data Count", 1, 0, 1);
434  MissingDQMDataCheck->setAxisTitle("Number Missing Nibbles", 2);
435 
436  // Signal & Background monitoring histograms
437  iBooker.setCurrentFolder(monitorName_ + "/SigBkgLevels");
438 
439  MaxInstLumiBX1 = iBooker.book1D("MaxInstLumiBX1", "Max Instantaneous Luminosity BX: 1st", 10000, -1e-5, 0.01);
440  MaxInstLumiBX1->setAxisTitle("Max Inst. L (10^{30}cm^{-2}s^{-1})", 1);
441  MaxInstLumiBX1->setAxisTitle("Entries", 2);
442  MaxInstLumiBX2 = iBooker.book1D("MaxInstLumiBX2", "Max Instantaneous Luminosity BX: 2nd", 10000, -1e-5, 0.01);
443  MaxInstLumiBX2->setAxisTitle("Max Inst. L (10^{30}cm^{-2}s^{-1})", 1);
444  MaxInstLumiBX2->setAxisTitle("Entries", 2);
445  MaxInstLumiBX3 = iBooker.book1D("MaxInstLumiBX3", "Max Instantaneous Luminosity BX: 3rd", 10000, -1e-5, 0.01);
446  MaxInstLumiBX3->setAxisTitle("Max Inst. L (10^{30}cm^{-2}s^{-1})", 1);
447  MaxInstLumiBX3->setAxisTitle("Entries", 2);
448  MaxInstLumiBX4 = iBooker.book1D("MaxInstLumiBX4", "Max Instantaneous Luminosity BX: 4th", 10000, -1e-5, 0.01);
449  MaxInstLumiBX4->setAxisTitle("Max Inst. L (10^{30}cm^{-2}s^{-1})", 1);
450  MaxInstLumiBX4->setAxisTitle("Entries", 2);
451 
452  MaxInstLumiBXNum1 = iBooker.book1D("MaxInstLumiBXNum1", "BX Number of Max: 1st", 3564, 0, 3564);
454  MaxInstLumiBXNum1->setAxisTitle("Num Time Max", 2);
455  MaxInstLumiBXNum2 = iBooker.book1D("MaxInstLumiBXNum2", "BX Number of Max: 2nd", 3564, 0, 3564);
457  MaxInstLumiBXNum2->setAxisTitle("Num Time Max", 2);
458  MaxInstLumiBXNum3 = iBooker.book1D("MaxInstLumiBXNum3", "BX Number of Max: 3rd", 3564, 0, 3564);
460  MaxInstLumiBXNum3->setAxisTitle("Num Time Max", 2);
461  MaxInstLumiBXNum4 = iBooker.book1D("MaxInstLumiBXNum4", "BX Number of Max: 4th", 3564, 0, 3564);
463  MaxInstLumiBXNum4->setAxisTitle("Num Time Max", 2);
464 
465  // History histograms
466  iBooker.setCurrentFolder(monitorName_ + "/HistoryRaw");
467 
468  std::string HistXTitle = "Time (LS)";
469  std::string RecentHistXTitle = "Time (LS/16)";
470  std::string HistEtSumYTitle = "Average E_{T} Sum";
471  std::string HistOccYTitle = "Average Occupancy";
472  std::string HistLumiYTitle = "Luminosity";
473  std::string HistLumiErrorYTitle = "Luminosity Error (%)";
474  std::string BXvsTimeXTitle = "Time (LS)";
475  std::string BXvsTimeYTitle = "BX";
476 
477  // Et Sum histories
478  HistAvgEtSumHFP = iBooker.bookProfile(
479  "HistAvgEtSumHFP", "Average Et Sum: HF+", MAX_LS, 0.5, (double)MAX_LS + 0.5, EtSumBins, EtSumMin, EtSumMax);
480  HistAvgEtSumHFP->setAxisTitle(HistXTitle, 1);
481  HistAvgEtSumHFP->setAxisTitle(HistEtSumYTitle, 2);
482 
483  HistAvgEtSumHFM = iBooker.bookProfile(
484  "HistAvgEtSumHFM", "Average Et Sum: HF-", MAX_LS, 0.5, (double)MAX_LS + 0.5, EtSumBins, EtSumMin, EtSumMax);
485  HistAvgEtSumHFM->setAxisTitle(HistXTitle, 1);
486  HistAvgEtSumHFM->setAxisTitle(HistEtSumYTitle, 2);
487 
488  // Tower Occupancy Histories
489  HistAvgOccBelowSet1HFP = iBooker.bookProfile("HistAvgOccBelowSet1HFP",
490  "Average Occ Set1Below: HF+",
491  MAX_LS,
492  0.5,
493  (double)MAX_LS + 0.5,
494  OccBins,
495  OccMin,
496  OccMax);
497  HistAvgOccBelowSet1HFP->setAxisTitle(HistXTitle, 1);
498  HistAvgOccBelowSet1HFP->setAxisTitle(HistOccYTitle, 2);
499 
500  HistAvgOccBelowSet1HFM = iBooker.bookProfile("HistAvgOccBelowSet1HFM",
501  "Average Occ Set1Below: HF-",
502  MAX_LS,
503  0.5,
504  (double)MAX_LS + 0.5,
505  OccBins,
506  OccMin,
507  OccMax);
508  HistAvgOccBelowSet1HFM->setAxisTitle(HistXTitle, 1);
509  HistAvgOccBelowSet1HFM->setAxisTitle(HistOccYTitle, 2);
510 
511  HistAvgOccBetweenSet1HFP = iBooker.bookProfile("HistAvgOccBetweenSet1HFP",
512  "Average Occ Set1Between: HF+",
513  MAX_LS,
514  0.5,
515  (double)MAX_LS + 0.5,
516  OccBins,
517  OccMin,
518  OccMax);
519  HistAvgOccBetweenSet1HFP->setAxisTitle(HistXTitle, 1);
520  HistAvgOccBetweenSet1HFP->setAxisTitle(HistOccYTitle, 2);
521 
522  HistAvgOccBetweenSet1HFM = iBooker.bookProfile("HistAvgOccBetweenSet1HFM",
523  "Average Occ Set1Between: HF-",
524  MAX_LS,
525  0.5,
526  (double)MAX_LS + 0.5,
527  OccBins,
528  OccMin,
529  OccMax);
530  HistAvgOccBetweenSet1HFM->setAxisTitle(HistXTitle, 1);
531  HistAvgOccBetweenSet1HFM->setAxisTitle(HistOccYTitle, 2);
532 
533  HistAvgOccAboveSet1HFP = iBooker.bookProfile("HistAvgOccAboveSet1HFP",
534  "Average Occ Set1Above: HF+",
535  MAX_LS,
536  0.5,
537  (double)MAX_LS + 0.5,
538  OccBins,
539  OccMin,
540  OccMax);
541  HistAvgOccAboveSet1HFP->setAxisTitle(HistXTitle, 1);
542  HistAvgOccAboveSet1HFP->setAxisTitle(HistOccYTitle, 2);
543 
544  HistAvgOccAboveSet1HFM = iBooker.bookProfile("HistAvgOccAboveSet1HFM",
545  "Average Occ Set1Above: HF-",
546  MAX_LS,
547  0.5,
548  (double)MAX_LS + 0.5,
549  OccBins,
550  OccMin,
551  OccMax);
552  HistAvgOccAboveSet1HFM->setAxisTitle(HistXTitle, 1);
553  HistAvgOccAboveSet1HFM->setAxisTitle(HistOccYTitle, 2);
554 
555  HistAvgOccBelowSet2HFP = iBooker.bookProfile("HistAvgOccBelowSet2HFP",
556  "Average Occ Set2Below: HF+",
557  MAX_LS,
558  0.5,
559  (double)MAX_LS + 0.5,
560  OccBins,
561  OccMin,
562  OccMax);
563  HistAvgOccBelowSet2HFP->setAxisTitle(HistXTitle, 1);
564  HistAvgOccBelowSet2HFP->setAxisTitle(HistOccYTitle, 2);
565 
566  HistAvgOccBelowSet2HFM = iBooker.bookProfile("HistAvgOccBelowSet2HFM",
567  "Average Occ Set2Below: HF-",
568  MAX_LS,
569  0.5,
570  (double)MAX_LS + 0.5,
571  OccBins,
572  OccMin,
573  OccMax);
574  HistAvgOccBelowSet2HFM->setAxisTitle(HistXTitle, 1);
575  HistAvgOccBelowSet2HFM->setAxisTitle(HistOccYTitle, 2);
576 
577  HistAvgOccBetweenSet2HFP = iBooker.bookProfile("HistAvgOccBetweenSet2HFP",
578  "Average Occ Set2Between: HF+",
579  MAX_LS,
580  0.5,
581  (double)MAX_LS + 0.5,
582  OccBins,
583  OccMin,
584  OccMax);
585  HistAvgOccBetweenSet2HFP->setAxisTitle(HistXTitle, 1);
586  HistAvgOccBetweenSet2HFP->setAxisTitle(HistOccYTitle, 2);
587 
588  HistAvgOccBetweenSet2HFM = iBooker.bookProfile("HistAvgOccBetweenSet2HFM",
589  "Average Occ Set2Between: HF-",
590  MAX_LS,
591  0.5,
592  (double)MAX_LS + 0.5,
593  OccBins,
594  OccMin,
595  OccMax);
596  HistAvgOccBetweenSet2HFM->setAxisTitle(HistXTitle, 1);
597  HistAvgOccBetweenSet2HFM->setAxisTitle(HistOccYTitle, 2);
598 
599  HistAvgOccAboveSet2HFP = iBooker.bookProfile("HistAvgOccAboveSet2HFP",
600  "Average Occ Set2Above: HF+",
601  MAX_LS,
602  0.5,
603  (double)MAX_LS + 0.5,
604  OccBins,
605  OccMin,
606  OccMax);
607  HistAvgOccAboveSet2HFP->setAxisTitle(HistXTitle, 1);
608  HistAvgOccAboveSet2HFP->setAxisTitle(HistOccYTitle, 2);
609 
610  HistAvgOccAboveSet2HFM = iBooker.bookProfile("HistAvgOccAboveSet2HFM",
611  "Average Occ Set2Above: HF-",
612  MAX_LS,
613  0.5,
614  (double)MAX_LS + 0.5,
615  OccBins,
616  OccMin,
617  OccMax);
618  HistAvgOccAboveSet2HFM->setAxisTitle(HistXTitle, 1);
619  HistAvgOccAboveSet2HFM->setAxisTitle(HistOccYTitle, 2);
620 
621  // Et Sum histories
622  BXvsTimeAvgEtSumHFP = iBooker.book2D("BXvsTimeAvgEtSumHFP",
623  "Average Et Sum: HF+",
624  MAX_LS,
625  0.5,
626  (double)MAX_LS + 0.5,
627  NBINS,
628  (double)XMIN,
629  (double)XMAX);
630  BXvsTimeAvgEtSumHFP->setAxisTitle(BXvsTimeXTitle, 1);
631  BXvsTimeAvgEtSumHFP->setAxisTitle(BXvsTimeYTitle, 2);
632 
633  BXvsTimeAvgEtSumHFM = iBooker.book2D("BXvsTimeAvgEtSumHFM",
634  "Average Et Sum: HF-",
635  MAX_LS,
636  0.5,
637  (double)MAX_LS + 0.5,
638  NBINS,
639  (double)XMIN,
640  (double)XMAX);
641  BXvsTimeAvgEtSumHFM->setAxisTitle(BXvsTimeXTitle, 1);
642  BXvsTimeAvgEtSumHFM->setAxisTitle(BXvsTimeYTitle, 2);
643 
644  iBooker.setCurrentFolder(monitorName_ + "/HistoryLumi");
645 
646  // Lumi Histories
647  HistAvgLumiEtSum = iBooker.bookProfile("HistAvgLumiEtSum",
648  "Average Instant Luminosity: Et Sum",
649  MAX_LS,
650  0.5,
651  (double)MAX_LS + 0.5,
652  EtSumBins,
653  EtSumMin,
654  EtSumMax);
655  HistAvgLumiEtSum->setAxisTitle(HistXTitle, 1);
656  HistAvgLumiEtSum->setAxisTitle(HistLumiYTitle, 2);
657 
658  HistAvgLumiOccSet1 = iBooker.bookProfile("HistAvgLumiOccSet1",
659  "Average Instant Luminosity: Occ Set1",
660  MAX_LS,
661  0.5,
662  (double)MAX_LS + 0.5,
663  OccBins,
664  OccMin,
665  OccMax);
666  HistAvgLumiOccSet1->setAxisTitle(HistXTitle, 1);
667  HistAvgLumiOccSet1->setAxisTitle(HistLumiYTitle, 2);
668 
669  HistAvgLumiOccSet2 = iBooker.bookProfile("HistAvgLumiOccSet2",
670  "Average Instant Luminosity: Occ Set2",
671  MAX_LS,
672  0.5,
673  (double)MAX_LS + 0.5,
674  OccBins,
675  OccMin,
676  OccMax);
677  HistAvgLumiOccSet2->setAxisTitle(HistXTitle, 1);
678  HistAvgLumiOccSet2->setAxisTitle(HistLumiYTitle, 2);
679 
681  iBooker.book1D("HistInstantLumiEtSum", "Instant Luminosity: Et Sum", MAX_LS, 0.5, (double)MAX_LS + 0.5);
682  HistInstantLumiEtSum->setAxisTitle(HistXTitle, 1);
683  HistInstantLumiEtSum->setAxisTitle(HistLumiYTitle, 2);
684 
686  iBooker.book1D("HistInstantLumiOccSet1", "Instant Luminosity: Occ Set1", MAX_LS, 0.5, (double)MAX_LS + 0.5);
687  HistInstantLumiOccSet1->setAxisTitle(HistXTitle, 1);
688  HistInstantLumiOccSet1->setAxisTitle(HistLumiYTitle, 2);
689 
691  iBooker.book1D("HistInstantLumiOccSet2", "Instant Luminosity: Occ Set2", MAX_LS, 0.5, (double)MAX_LS + 0.5);
692  HistInstantLumiOccSet2->setAxisTitle(HistXTitle, 1);
693  HistInstantLumiOccSet2->setAxisTitle(HistLumiYTitle, 2);
694 
696  iBooker.book1D("HistInstantLumiEtSumError", "Luminosity Error: Et Sum", MAX_LS, 0.5, (double)MAX_LS + 0.5);
697  HistInstantLumiEtSumError->setAxisTitle(HistXTitle, 1);
698  HistInstantLumiEtSumError->setAxisTitle(HistLumiErrorYTitle, 2);
699 
701  iBooker.book1D("HistInstantLumiOccSet1Error", "Luminosity Error: Occ Set1", MAX_LS, 0.5, (double)MAX_LS + 0.5);
703  HistInstantLumiOccSet1Error->setAxisTitle(HistLumiErrorYTitle, 2);
704 
706  iBooker.book1D("HistInstantLumiOccSet2Error", "Luminosity Error: Occ Set2", MAX_LS, 0.5, (double)MAX_LS + 0.5);
708  HistInstantLumiOccSet2Error->setAxisTitle(HistLumiErrorYTitle, 2);
709 
711  iBooker.book1D("HistIntegratedLumiEtSum", "Integrated Luminosity: Et Sum", MAX_LS, 0.5, (double)MAX_LS + 0.5);
712  HistIntegratedLumiEtSum->setAxisTitle(HistXTitle, 1);
713  HistIntegratedLumiEtSum->setAxisTitle(HistLumiYTitle, 2);
714 
716  iBooker.book1D("HistIntegratedLumiOccSet1", "Integrated Luminosity: Occ Set1", MAX_LS, 0.5, (double)MAX_LS + 0.5);
717  HistIntegratedLumiOccSet1->setAxisTitle(HistXTitle, 1);
718  HistIntegratedLumiOccSet1->setAxisTitle(HistLumiYTitle, 2);
719 
721  iBooker.book1D("HistIntegratedLumiOccSet2", "Integrated Luminosity: Occ Set2", MAX_LS, 0.5, (double)MAX_LS + 0.5);
722  HistIntegratedLumiOccSet2->setAxisTitle(HistXTitle, 1);
723  HistIntegratedLumiOccSet2->setAxisTitle(HistLumiYTitle, 2);
724 
725  iBooker.setCurrentFolder(monitorName_ + "/RecentHistoryLumi");
726 
727  // Lumi Recent Histories (past 128 short sections)
729  iBooker.book1D("RecentInstantLumiEtSum", "Instant Luminosity: Et Sum", 128, 0.5, (double)128 + 0.5);
730  RecentInstantLumiEtSum->setAxisTitle(RecentHistXTitle, 1);
731  RecentInstantLumiEtSum->setAxisTitle(HistLumiYTitle, 2);
732 
734  iBooker.book1D("RecentInstantLumiOccSet1", "Instant Luminosity: Occ Set1", 128, 0.5, (double)128 + 0.5);
735  RecentInstantLumiOccSet1->setAxisTitle(RecentHistXTitle, 1);
736  RecentInstantLumiOccSet1->setAxisTitle(HistLumiYTitle, 2);
737 
739  iBooker.book1D("RecentInstantLumiOccSet2", "Instant Luminosity: Occ Set2", 128, 0.5, (double)128 + 0.5);
740  RecentInstantLumiOccSet2->setAxisTitle(RecentHistXTitle, 1);
741  RecentInstantLumiOccSet2->setAxisTitle(HistLumiYTitle, 2);
742 
744  iBooker.book1D("RecentIntegratedLumiEtSum", "Integrated Luminosity: Et Sum", 128, 0.5, (double)128 + 0.5);
745  RecentIntegratedLumiEtSum->setAxisTitle(RecentHistXTitle, 1);
746  RecentIntegratedLumiEtSum->setAxisTitle(HistLumiYTitle, 2);
747 
749  iBooker.book1D("RecentIntegratedLumiOccSet1", "Integrated Luminosity: Occ Set1", 128, 0.5, (double)128 + 0.5);
750  RecentIntegratedLumiOccSet1->setAxisTitle(RecentHistXTitle, 1);
751  RecentIntegratedLumiOccSet1->setAxisTitle(HistLumiYTitle, 2);
752 
754  iBooker.book1D("RecentIntegratedLumiOccSet2", "Integrated Luminosity: Occ Set2", 128, 0.5, (double)128 + 0.5);
755  RecentIntegratedLumiOccSet2->setAxisTitle(RecentHistXTitle, 1);
756  RecentIntegratedLumiOccSet2->setAxisTitle(HistLumiYTitle, 2);
757 }
MonitorElement * HistAvgOccBetweenSet1HFP
Definition: HLXMonitor.h:131
MonitorElement * HFCompareOccAboveSet1
Definition: HLXMonitor.h:86
MonitorElement * Set2Between[36]
Definition: HLXMonitor.h:79
MonitorElement * HistInstantLumiOccSet1
Definition: HLXMonitor.h:148
MonitorElement * HFCompareOccAboveSet2
Definition: HLXMonitor.h:89
MonitorElement * RecentIntegratedLumiOccSet2
Definition: HLXMonitor.h:162
MonitorElement * MaxInstLumiBX4
Definition: HLXMonitor.h:119
MonitorElement * HistAvgLumiOccSet2
Definition: HLXMonitor.h:146
MonitorElement * HistAvgOccBelowSet2HFM
Definition: HLXMonitor.h:136
MonitorElement * RecentIntegratedLumiEtSum
Definition: HLXMonitor.h:160
double XMAX
Definition: HLXMonitor.h:208
MonitorElement * LumiIntegratedEtSum
Definition: HLXMonitor.h:106
MonitorElement * SumAllOccSet1
Definition: HLXMonitor.h:111
MonitorElement * LumiInstantOccSet2
Definition: HLXMonitor.h:105
MonitorElement * AvgOccBetweenSet2
Definition: HLXMonitor.h:96
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MonitorElement * AvgOccBelowSet1
Definition: HLXMonitor.h:92
MonitorElement * HistAvgEtSumHFM
Definition: HLXMonitor.h:128
MonitorElement * AvgOccAboveSet2
Definition: HLXMonitor.h:97
MonitorElement * HistAvgEtSumHFP
Definition: HLXMonitor.h:127
MonitorElement * HistAvgOccAboveSet1HFP
Definition: HLXMonitor.h:133
MonitorElement * LumiInstantEtSum
Definition: HLXMonitor.h:103
std::string OccYAxisTitle
Definition: HLXMonitor.h:244
MonitorElement * LumiAvgOccSet2
Definition: HLXMonitor.h:102
MonitorElement * HistInstantLumiOccSet2Error
Definition: HLXMonitor.h:152
unsigned int NUM_HLX
Definition: HLXMonitor.h:215
MonitorElement * MissingDQMDataCheck
Definition: HLXMonitor.h:113
MonitorElement * HistInstantLumiOccSet2
Definition: HLXMonitor.h:149
MonitorElement * LumiInstantOccSet1
Definition: HLXMonitor.h:104
MonitorElement * HistAvgOccAboveSet1HFM
Definition: HLXMonitor.h:134
MonitorElement * LumiIntegratedOccSet1
Definition: HLXMonitor.h:107
MonitorElement * Set1Below[36]
Definition: HLXMonitor.h:75
double XMIN
Definition: HLXMonitor.h:208
std::string EtYAxisTitle
Definition: HLXMonitor.h:246
MonitorElement * HistInstantLumiEtSumError
Definition: HLXMonitor.h:150
MonitorElement * MaxInstLumiBX1
Definition: HLXMonitor.h:116
unsigned int MAX_LS
Definition: HLXMonitor.h:217
MonitorElement * HistAvgOccBelowSet1HFP
Definition: HLXMonitor.h:129
MonitorElement * HFCompareEtSum
Definition: HLXMonitor.h:83
MonitorElement * Set1Between[36]
Definition: HLXMonitor.h:76
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:408
MonitorElement * HistIntegratedLumiOccSet1
Definition: HLXMonitor.h:154
MonitorElement * RecentInstantLumiOccSet1
Definition: HLXMonitor.h:158
MonitorElement * HistIntegratedLumiOccSet2
Definition: HLXMonitor.h:155
MonitorElement * BXvsTimeAvgEtSumHFM
Definition: HLXMonitor.h:142
MonitorElement * HistAvgOccBetweenSet2HFM
Definition: HLXMonitor.h:138
MonitorElement * AvgOccAboveSet1
Definition: HLXMonitor.h:94
MonitorElement * HistInstantLumiOccSet1Error
Definition: HLXMonitor.h:151
MonitorElement * HFCompareOccBelowSet1
Definition: HLXMonitor.h:84
unsigned int NBINS
Definition: HLXMonitor.h:209
MonitorElement * ETSum[36]
Definition: HLXMonitor.h:81
MonitorElement * Set2Below[36]
Definition: HLXMonitor.h:78
MonitorElement * MaxInstLumiBXNum2
Definition: HLXMonitor.h:122
Definition: Style.py:1
MonitorElement * MaxInstLumiBX2
Definition: HLXMonitor.h:117
MonitorElement * SumAllOccSet2
Definition: HLXMonitor.h:112
std::string monitorName_
Definition: HLXMonitor.h:222
MonitorElement * AvgEtSum
Definition: HLXMonitor.h:91
MonitorElement * HistAvgOccAboveSet2HFM
Definition: HLXMonitor.h:140
MonitorElement * LumiAvgEtSum
Definition: HLXMonitor.h:100
MonitorElement * BXvsTimeAvgEtSumHFP
Definition: HLXMonitor.h:141
MonitorElement * HistAvgOccBetweenSet1HFM
Definition: HLXMonitor.h:132
MonitorElement * RecentIntegratedLumiOccSet1
Definition: HLXMonitor.h:161
MonitorElement * MaxInstLumiBXNum4
Definition: HLXMonitor.h:124
MonitorElement * HistAvgLumiOccSet1
Definition: HLXMonitor.h:145
MonitorElement * HistAvgOccAboveSet2HFP
Definition: HLXMonitor.h:139
MonitorElement * HistAvgOccBelowSet1HFM
Definition: HLXMonitor.h:130
MonitorElement * RecentInstantLumiOccSet2
Definition: HLXMonitor.h:159
MonitorElement * Set2Above[36]
Definition: HLXMonitor.h:80
MonitorElement * HistAvgLumiEtSum
Definition: HLXMonitor.h:144
MonitorElement * HistIntegratedLumiEtSum
Definition: HLXMonitor.h:153
MonitorElement * HistAvgOccBelowSet2HFP
Definition: HLXMonitor.h:135
MonitorElement * MaxInstLumiBXNum3
Definition: HLXMonitor.h:123
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:221
MonitorElement * MaxInstLumiBX3
Definition: HLXMonitor.h:118
MonitorElement * Set1Above[36]
Definition: HLXMonitor.h:77
MonitorElement * MaxInstLumiBXNum1
Definition: HLXMonitor.h:121
MonitorElement * AvgOccBelowSet2
Definition: HLXMonitor.h:95
std::string OccXAxisTitle
Definition: HLXMonitor.h:243
MonitorElement * HistInstantLumiEtSum
Definition: HLXMonitor.h:147
MonitorElement * HFCompareOccBetweenSet2
Definition: HLXMonitor.h:88
MonitorElement * LumiIntegratedOccSet2
Definition: HLXMonitor.h:108
MonitorElement * HFCompareOccBelowSet2
Definition: HLXMonitor.h:87
MonitorElement * HFCompareOccBetweenSet1
Definition: HLXMonitor.h:85
MonitorElement * LumiAvgOccSet1
Definition: HLXMonitor.h:101
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MonitorElement * AvgOccBetweenSet1
Definition: HLXMonitor.h:93
MonitorElement * RecentInstantLumiEtSum
Definition: HLXMonitor.h:157
MonitorElement * HistAvgOccBetweenSet2HFP
Definition: HLXMonitor.h:137
std::string EtXAxisTitle
Definition: HLXMonitor.h:245
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)

Member Data Documentation

◆ Accumulate

bool HLXMonitor::Accumulate
private

Definition at line 210 of file HLXMonitor.h.

Referenced by HLXMonitor().

◆ AquireMode

unsigned int HLXMonitor::AquireMode
private

Definition at line 218 of file HLXMonitor.h.

Referenced by connectHLXTCP(), and HLXMonitor().

◆ AvgEtSum

MonitorElement* HLXMonitor::AvgEtSum
private

Definition at line 91 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ AvgOccAboveSet1

MonitorElement* HLXMonitor::AvgOccAboveSet1
private

Definition at line 94 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ AvgOccAboveSet2

MonitorElement* HLXMonitor::AvgOccAboveSet2
private

Definition at line 97 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ AvgOccBelowSet1

MonitorElement* HLXMonitor::AvgOccBelowSet1
private

Definition at line 92 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ AvgOccBelowSet2

MonitorElement* HLXMonitor::AvgOccBelowSet2
private

Definition at line 95 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ AvgOccBetweenSet1

MonitorElement* HLXMonitor::AvgOccBetweenSet1
private

Definition at line 93 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ AvgOccBetweenSet2

MonitorElement* HLXMonitor::AvgOccBetweenSet2
private

Definition at line 96 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ BXvsTimeAvgEtSumHFM

MonitorElement* HLXMonitor::BXvsTimeAvgEtSumHFM
private

Definition at line 142 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ BXvsTimeAvgEtSumHFP

MonitorElement* HLXMonitor::BXvsTimeAvgEtSumHFP
private

Definition at line 141 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ cmsswVer_

MonitorElement* HLXMonitor::cmsswVer_
private

Current working directory of the job.

Definition at line 189 of file HLXMonitor.h.

Referenced by SetupEventInfo().

◆ counter

unsigned int HLXMonitor::counter
private

Definition at line 202 of file HLXMonitor.h.

Referenced by counter.Counters::__getitem__().

◆ currentRunEnded_

bool HLXMonitor::currentRunEnded_
private

Definition at line 250 of file HLXMonitor.h.

Referenced by analyze(), EndRun(), and HLXMonitor().

◆ currentTime_

timeval HLXMonitor::currentTime_
private

Definition at line 269 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

◆ DistribIP1

std::string HLXMonitor::DistribIP1
private

Definition at line 226 of file HLXMonitor.h.

Referenced by analyze(), connectHLXTCP(), and HLXMonitor().

◆ DistribIP2

std::string HLXMonitor::DistribIP2
private

Definition at line 227 of file HLXMonitor.h.

Referenced by analyze(), connectHLXTCP(), and HLXMonitor().

◆ dqmPatch_

MonitorElement* HLXMonitor::dqmPatch_
private

CMSSW version run for this job.

Definition at line 190 of file HLXMonitor.h.

◆ errSummary_

MonitorElement* HLXMonitor::errSummary_
private

DQM patch version for this job.

Definition at line 191 of file HLXMonitor.h.

◆ errSummaryEtaPhi_

MonitorElement* HLXMonitor::errSummaryEtaPhi_
private

Subdetector-specific error summary (float)

Definition at line 192 of file HLXMonitor.h.

◆ errSummarySegment_

MonitorElement* HLXMonitor::errSummarySegment_[10]
private

Subdetector-specific etaPhi summary (float)

Definition at line 193 of file HLXMonitor.h.

◆ ETSum

MonitorElement* HLXMonitor::ETSum[36]
private

Definition at line 81 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ EtXAxisTitle

std::string HLXMonitor::EtXAxisTitle
private

Definition at line 245 of file HLXMonitor.h.

Referenced by SetupHists().

◆ EtYAxisTitle

std::string HLXMonitor::EtYAxisTitle
private

Definition at line 246 of file HLXMonitor.h.

Referenced by SetupHists().

◆ eventId_

MonitorElement* HLXMonitor::eventId_
private

UTC time of the run start.

Definition at line 171 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

◆ eventInfoFolder_

std::string HLXMonitor::eventInfoFolder_
private

Definition at line 237 of file HLXMonitor.h.

Referenced by HLXMonitor(), and SetupEventInfo().

◆ eventInfoFolderHLX_

std::string HLXMonitor::eventInfoFolderHLX_
private

Definition at line 236 of file HLXMonitor.h.

Referenced by HLXMonitor(), and SetupEventInfo().

◆ eventTimeStamp_

MonitorElement* HLXMonitor::eventTimeStamp_
private

Definition at line 173 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

◆ evtRateCount_

int HLXMonitor::evtRateCount_
private

Definition at line 272 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

◆ evtRateWindow_

float HLXMonitor::evtRateWindow_
private

Definition at line 271 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

◆ expectedNibbles_

unsigned int HLXMonitor::expectedNibbles_
private

Definition at line 252 of file HLXMonitor.h.

Referenced by EndRun(), FillEventInfo(), FillReportSummary(), and HLXMonitor().

◆ HFCompareEtSum

MonitorElement* HLXMonitor::HFCompareEtSum
private

Definition at line 83 of file HLXMonitor.h.

Referenced by FillHistoHFCompare(), and SetupHists().

◆ HFCompareOccAboveSet1

MonitorElement* HLXMonitor::HFCompareOccAboveSet1
private

Definition at line 86 of file HLXMonitor.h.

Referenced by FillHistoHFCompare(), and SetupHists().

◆ HFCompareOccAboveSet2

MonitorElement* HLXMonitor::HFCompareOccAboveSet2
private

Definition at line 89 of file HLXMonitor.h.

Referenced by FillHistoHFCompare(), and SetupHists().

◆ HFCompareOccBelowSet1

MonitorElement* HLXMonitor::HFCompareOccBelowSet1
private

Definition at line 84 of file HLXMonitor.h.

Referenced by FillHistoHFCompare(), and SetupHists().

◆ HFCompareOccBelowSet2

MonitorElement* HLXMonitor::HFCompareOccBelowSet2
private

Definition at line 87 of file HLXMonitor.h.

Referenced by FillHistoHFCompare(), and SetupHists().

◆ HFCompareOccBetweenSet1

MonitorElement* HLXMonitor::HFCompareOccBetweenSet1
private

Definition at line 85 of file HLXMonitor.h.

Referenced by FillHistoHFCompare(), and SetupHists().

◆ HFCompareOccBetweenSet2

MonitorElement* HLXMonitor::HFCompareOccBetweenSet2
private

Definition at line 88 of file HLXMonitor.h.

Referenced by FillHistoHFCompare(), and SetupHists().

◆ HistAvgEtSumHFM

MonitorElement* HLXMonitor::HistAvgEtSumHFM
private

Definition at line 128 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistAvgEtSumHFP

MonitorElement* HLXMonitor::HistAvgEtSumHFP
private

Definition at line 127 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistAvgLumiEtSum

MonitorElement* HLXMonitor::HistAvgLumiEtSum
private

Definition at line 144 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistAvgLumiOccSet1

MonitorElement* HLXMonitor::HistAvgLumiOccSet1
private

Definition at line 145 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistAvgLumiOccSet2

MonitorElement* HLXMonitor::HistAvgLumiOccSet2
private

Definition at line 146 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistAvgOccAboveSet1HFM

MonitorElement* HLXMonitor::HistAvgOccAboveSet1HFM
private

Definition at line 134 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistAvgOccAboveSet1HFP

MonitorElement* HLXMonitor::HistAvgOccAboveSet1HFP
private

Definition at line 133 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistAvgOccAboveSet2HFM

MonitorElement* HLXMonitor::HistAvgOccAboveSet2HFM
private

Definition at line 140 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistAvgOccAboveSet2HFP

MonitorElement* HLXMonitor::HistAvgOccAboveSet2HFP
private

Definition at line 139 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistAvgOccBelowSet1HFM

MonitorElement* HLXMonitor::HistAvgOccBelowSet1HFM
private

Definition at line 130 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistAvgOccBelowSet1HFP

MonitorElement* HLXMonitor::HistAvgOccBelowSet1HFP
private

Definition at line 129 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistAvgOccBelowSet2HFM

MonitorElement* HLXMonitor::HistAvgOccBelowSet2HFM
private

Definition at line 136 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistAvgOccBelowSet2HFP

MonitorElement* HLXMonitor::HistAvgOccBelowSet2HFP
private

Definition at line 135 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistAvgOccBetweenSet1HFM

MonitorElement* HLXMonitor::HistAvgOccBetweenSet1HFM
private

Definition at line 132 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistAvgOccBetweenSet1HFP

MonitorElement* HLXMonitor::HistAvgOccBetweenSet1HFP
private

Definition at line 131 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistAvgOccBetweenSet2HFM

MonitorElement* HLXMonitor::HistAvgOccBetweenSet2HFM
private

Definition at line 138 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistAvgOccBetweenSet2HFP

MonitorElement* HLXMonitor::HistAvgOccBetweenSet2HFP
private

Definition at line 137 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistInstantLumiEtSum

MonitorElement* HLXMonitor::HistInstantLumiEtSum
private

Definition at line 147 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistInstantLumiEtSumError

MonitorElement* HLXMonitor::HistInstantLumiEtSumError
private

Definition at line 150 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistInstantLumiOccSet1

MonitorElement* HLXMonitor::HistInstantLumiOccSet1
private

Definition at line 148 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistInstantLumiOccSet1Error

MonitorElement* HLXMonitor::HistInstantLumiOccSet1Error
private

Definition at line 151 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistInstantLumiOccSet2

MonitorElement* HLXMonitor::HistInstantLumiOccSet2
private

Definition at line 149 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistInstantLumiOccSet2Error

MonitorElement* HLXMonitor::HistInstantLumiOccSet2Error
private

Definition at line 152 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistIntegratedLumiEtSum

MonitorElement* HLXMonitor::HistIntegratedLumiEtSum
private

Definition at line 153 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistIntegratedLumiOccSet1

MonitorElement* HLXMonitor::HistIntegratedLumiOccSet1
private

Definition at line 154 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HistIntegratedLumiOccSet2

MonitorElement* HLXMonitor::HistIntegratedLumiOccSet2
private

Definition at line 155 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ HLXHFMap

unsigned int HLXMonitor::HLXHFMap[36]
private

◆ HLXTCP

TCPReceiver HLXMonitor::HLXTCP
private

Definition at line 73 of file HLXMonitor.h.

Referenced by analyze(), connectHLXTCP(), and ~HLXMonitor().

◆ hostName_

MonitorElement* HLXMonitor::hostName_
private

of event processed so far

Definition at line 186 of file HLXMonitor.h.

Referenced by SetupEventInfo().

◆ lastAvgTime_

timeval HLXMonitor::lastAvgTime_
private

Definition at line 269 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

◆ lastUpdateTime_

timeval HLXMonitor::lastUpdateTime_
private

Definition at line 269 of file HLXMonitor.h.

Referenced by FillEventInfo().

◆ listenPort

int HLXMonitor::listenPort
private

Definition at line 207 of file HLXMonitor.h.

Referenced by connectHLXTCP(), and HLXMonitor().

◆ lsBinOld

int HLXMonitor::lsBinOld
private

Definition at line 259 of file HLXMonitor.h.

Referenced by EndRun(), FillHistograms(), and HLXMonitor().

◆ LumiAvgEtSum

MonitorElement* HLXMonitor::LumiAvgEtSum
private

Definition at line 100 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ LumiAvgOccSet1

MonitorElement* HLXMonitor::LumiAvgOccSet1
private

Definition at line 101 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ LumiAvgOccSet2

MonitorElement* HLXMonitor::LumiAvgOccSet2
private

Definition at line 102 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ LumiInstantEtSum

MonitorElement* HLXMonitor::LumiInstantEtSum
private

Definition at line 103 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ LumiInstantOccSet1

MonitorElement* HLXMonitor::LumiInstantOccSet1
private

Definition at line 104 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ LumiInstantOccSet2

MonitorElement* HLXMonitor::LumiInstantOccSet2
private

Definition at line 105 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ LumiIntegratedEtSum

MonitorElement* HLXMonitor::LumiIntegratedEtSum
private

Definition at line 106 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ LumiIntegratedOccSet1

MonitorElement* HLXMonitor::LumiIntegratedOccSet1
private

Definition at line 107 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ LumiIntegratedOccSet2

MonitorElement* HLXMonitor::LumiIntegratedOccSet2
private

Definition at line 108 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ lumisecId_

MonitorElement* HLXMonitor::lumisecId_
private

Definition at line 172 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

◆ lumiSection

HCAL_HLX::LUMI_SECTION HLXMonitor::lumiSection
private

Definition at line 248 of file HLXMonitor.h.

Referenced by analyze().

◆ lumiSectionCount

unsigned int HLXMonitor::lumiSectionCount
private

Definition at line 258 of file HLXMonitor.h.

Referenced by EndRun(), FillHistograms(), and HLXMonitor().

◆ MAX_LS

unsigned int HLXMonitor::MAX_LS
private

Definition at line 217 of file HLXMonitor.h.

Referenced by HLXMonitor(), and SetupHists().

◆ MaxInstLumiBX1

MonitorElement* HLXMonitor::MaxInstLumiBX1
private

Definition at line 116 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ MaxInstLumiBX2

MonitorElement* HLXMonitor::MaxInstLumiBX2
private

Definition at line 117 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ MaxInstLumiBX3

MonitorElement* HLXMonitor::MaxInstLumiBX3
private

Definition at line 118 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ MaxInstLumiBX4

MonitorElement* HLXMonitor::MaxInstLumiBX4
private

Definition at line 119 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ MaxInstLumiBXNum1

MonitorElement* HLXMonitor::MaxInstLumiBXNum1
private

Definition at line 121 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ MaxInstLumiBXNum2

MonitorElement* HLXMonitor::MaxInstLumiBXNum2
private

Definition at line 122 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ MaxInstLumiBXNum3

MonitorElement* HLXMonitor::MaxInstLumiBXNum3
private

Definition at line 123 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ MaxInstLumiBXNum4

MonitorElement* HLXMonitor::MaxInstLumiBXNum4
private

Definition at line 124 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ MinLSBeforeSave

unsigned int HLXMonitor::MinLSBeforeSave
private

Definition at line 220 of file HLXMonitor.h.

Referenced by HLXMonitor().

◆ MissingDQMDataCheck

MonitorElement* HLXMonitor::MissingDQMDataCheck
private

Definition at line 113 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ monitorName_

std::string HLXMonitor::monitorName_
private

Definition at line 222 of file HLXMonitor.h.

Referenced by HLXMonitor(), and SetupHists().

◆ NBINS

unsigned int HLXMonitor::NBINS
private

Definition at line 209 of file HLXMonitor.h.

Referenced by HLXMonitor(), and SetupHists().

◆ num4NibblePerLS_

double HLXMonitor::num4NibblePerLS_
private

Definition at line 276 of file HLXMonitor.h.

Referenced by FillEventInfo(), FillHistograms(), and HLXMonitor().

◆ NUM_BUNCHES

unsigned int HLXMonitor::NUM_BUNCHES
private

Definition at line 216 of file HLXMonitor.h.

Referenced by FillHistograms(), and HLXMonitor().

◆ NUM_HLX

unsigned int HLXMonitor::NUM_HLX
private

◆ numActiveTowersSet1

unsigned int HLXMonitor::numActiveTowersSet1
private

Definition at line 199 of file HLXMonitor.h.

◆ numActiveTowersSet2

unsigned int HLXMonitor::numActiveTowersSet2
private

Definition at line 200 of file HLXMonitor.h.

◆ nUpdates_

MonitorElement* HLXMonitor::nUpdates_
private

These MEs are either static or updated upon each analyze() call.

Definition at line 178 of file HLXMonitor.h.

Referenced by SetupEventInfo().

◆ OccXAxisTitle

std::string HLXMonitor::OccXAxisTitle
private

Definition at line 243 of file HLXMonitor.h.

Referenced by SetupHists().

◆ OccYAxisTitle

std::string HLXMonitor::OccYAxisTitle
private

Definition at line 244 of file HLXMonitor.h.

Referenced by SetupHists().

◆ OutputDir

std::string HLXMonitor::OutputDir
private

Definition at line 212 of file HLXMonitor.h.

Referenced by HLXMonitor().

◆ OutputFilePrefix

std::string HLXMonitor::OutputFilePrefix
private

Definition at line 211 of file HLXMonitor.h.

Referenced by HLXMonitor().

◆ pEvent_

int HLXMonitor::pEvent_
private

Definition at line 273 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

◆ prescaleEvt_

int HLXMonitor::prescaleEvt_
private

Definition at line 223 of file HLXMonitor.h.

Referenced by HLXMonitor().

◆ previousSection

unsigned int HLXMonitor::previousSection
private

Definition at line 257 of file HLXMonitor.h.

Referenced by EndRun(), FillHistograms(), and HLXMonitor().

◆ processEventRate_

MonitorElement* HLXMonitor::processEventRate_
private

Time elapsed since the last event.

Definition at line 183 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

◆ processEvents_

MonitorElement* HLXMonitor::processEvents_
private

Avg # of events in programmable window (default: 5 min)

Definition at line 185 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

◆ processId_

MonitorElement* HLXMonitor::processId_
private

Number of collector updates (TBD)

Definition at line 179 of file HLXMonitor.h.

Referenced by SetupEventInfo().

◆ processLatency_

MonitorElement* HLXMonitor::processLatency_
private

The UTC time of the last event.

Definition at line 182 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

◆ processName_

MonitorElement* HLXMonitor::processName_
private

Hostname of the local machine.

Definition at line 187 of file HLXMonitor.h.

Referenced by SetupEventInfo().

◆ processStartTimeStamp_

MonitorElement* HLXMonitor::processStartTimeStamp_
private

The PID associated with this job.

Definition at line 180 of file HLXMonitor.h.

Referenced by SetupEventInfo().

◆ processTimeStamp_

MonitorElement* HLXMonitor::processTimeStamp_
private

The UTC time of the first event processed.

Definition at line 181 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

◆ rData

unsigned char* HLXMonitor::rData
private

Definition at line 203 of file HLXMonitor.h.

◆ RecentInstantLumiEtSum

MonitorElement* HLXMonitor::RecentInstantLumiEtSum
private

Definition at line 157 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ RecentInstantLumiOccSet1

MonitorElement* HLXMonitor::RecentInstantLumiOccSet1
private

Definition at line 158 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ RecentInstantLumiOccSet2

MonitorElement* HLXMonitor::RecentInstantLumiOccSet2
private

Definition at line 159 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ RecentIntegratedLumiEtSum

MonitorElement* HLXMonitor::RecentIntegratedLumiEtSum
private

Definition at line 160 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ RecentIntegratedLumiOccSet1

MonitorElement* HLXMonitor::RecentIntegratedLumiOccSet1
private

Definition at line 161 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ RecentIntegratedLumiOccSet2

MonitorElement* HLXMonitor::RecentIntegratedLumiOccSet2
private

Definition at line 162 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ reconnTime

unsigned int HLXMonitor::reconnTime
private

Definition at line 225 of file HLXMonitor.h.

Referenced by analyze(), connectHLXTCP(), and HLXMonitor().

◆ reportSummary_

MonitorElement* HLXMonitor::reportSummary_
private

Definition at line 196 of file HLXMonitor.h.

Referenced by FillReportSummary(), and SetupEventInfo().

◆ reportSummaryMap_

MonitorElement* HLXMonitor::reportSummaryMap_
private

Definition at line 197 of file HLXMonitor.h.

Referenced by FillReportSummary(), and SetupEventInfo().

◆ runId_

MonitorElement* HLXMonitor::runId_
private

These MEs are filled with the info from the most recent event by the module

Definition at line 169 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

◆ runNumber_

unsigned int HLXMonitor::runNumber_
private

Definition at line 251 of file HLXMonitor.h.

Referenced by analyze(), EndRun(), and HLXMonitor().

◆ runNumLength

unsigned int HLXMonitor::runNumLength
private

Definition at line 240 of file HLXMonitor.h.

Referenced by HLXMonitor().

◆ runStartTime_

timeval HLXMonitor::runStartTime_
private

Definition at line 270 of file HLXMonitor.h.

◆ runStartTimeStamp_

MonitorElement* HLXMonitor::runStartTimeStamp_
private

Definition at line 170 of file HLXMonitor.h.

Referenced by analyze(), and SetupEventInfo().

◆ SavePeriod

int HLXMonitor::SavePeriod
private

Definition at line 214 of file HLXMonitor.h.

Referenced by HLXMonitor().

◆ secNumLength

unsigned int HLXMonitor::secNumLength
private

Definition at line 241 of file HLXMonitor.h.

Referenced by HLXMonitor().

◆ SectionComplete

short int HLXMonitor::SectionComplete
private

Definition at line 204 of file HLXMonitor.h.

◆ sectionInstantErrSumEt

double HLXMonitor::sectionInstantErrSumEt
private

Definition at line 261 of file HLXMonitor.h.

Referenced by EndRun(), FillHistograms(), and HLXMonitor().

◆ sectionInstantErrSumOcc1

double HLXMonitor::sectionInstantErrSumOcc1
private

Definition at line 263 of file HLXMonitor.h.

Referenced by EndRun(), FillHistograms(), and HLXMonitor().

◆ sectionInstantErrSumOcc2

double HLXMonitor::sectionInstantErrSumOcc2
private

Definition at line 265 of file HLXMonitor.h.

Referenced by EndRun(), FillHistograms(), and HLXMonitor().

◆ sectionInstantNorm

double HLXMonitor::sectionInstantNorm
private

Definition at line 266 of file HLXMonitor.h.

Referenced by EndRun(), FillHistograms(), and HLXMonitor().

◆ sectionInstantSumEt

double HLXMonitor::sectionInstantSumEt
private

Definition at line 260 of file HLXMonitor.h.

Referenced by EndRun(), FillHistograms(), and HLXMonitor().

◆ sectionInstantSumOcc1

double HLXMonitor::sectionInstantSumOcc1
private

Definition at line 262 of file HLXMonitor.h.

Referenced by EndRun(), FillHistograms(), and HLXMonitor().

◆ sectionInstantSumOcc2

double HLXMonitor::sectionInstantSumOcc2
private

Definition at line 264 of file HLXMonitor.h.

Referenced by EndRun(), FillHistograms(), and HLXMonitor().

◆ Set1Above

MonitorElement* HLXMonitor::Set1Above[36]
private

Definition at line 77 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ set1AboveIndex

unsigned int HLXMonitor::set1AboveIndex
private

Definition at line 231 of file HLXMonitor.h.

Referenced by FillHistograms(), FillHistoHFCompare(), and HLXMonitor().

◆ Set1Below

MonitorElement* HLXMonitor::Set1Below[36]
private

Definition at line 75 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ set1BelowIndex

unsigned int HLXMonitor::set1BelowIndex
private

Definition at line 229 of file HLXMonitor.h.

Referenced by FillHistograms(), FillHistoHFCompare(), and HLXMonitor().

◆ Set1Between

MonitorElement* HLXMonitor::Set1Between[36]
private

Definition at line 76 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ set1BetweenIndex

unsigned int HLXMonitor::set1BetweenIndex
private

Definition at line 230 of file HLXMonitor.h.

Referenced by FillHistograms(), FillHistoHFCompare(), and HLXMonitor().

◆ Set2Above

MonitorElement* HLXMonitor::Set2Above[36]
private

Definition at line 80 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ set2AboveIndex

unsigned int HLXMonitor::set2AboveIndex
private

Definition at line 234 of file HLXMonitor.h.

Referenced by FillHistograms(), FillHistoHFCompare(), and HLXMonitor().

◆ Set2Below

MonitorElement* HLXMonitor::Set2Below[36]
private

Definition at line 78 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ set2BelowIndex

unsigned int HLXMonitor::set2BelowIndex
private

Definition at line 232 of file HLXMonitor.h.

Referenced by FillHistograms(), FillHistoHFCompare(), and HLXMonitor().

◆ Set2Between

MonitorElement* HLXMonitor::Set2Between[36]
private

Definition at line 79 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ set2BetweenIndex

unsigned int HLXMonitor::set2BetweenIndex
private

Definition at line 233 of file HLXMonitor.h.

Referenced by FillHistograms(), FillHistoHFCompare(), and HLXMonitor().

◆ Style

std::string HLXMonitor::Style
private

Definition at line 213 of file HLXMonitor.h.

◆ subSystemName_

std::string HLXMonitor::subSystemName_
private

Definition at line 238 of file HLXMonitor.h.

Referenced by HLXMonitor(), and SetupEventInfo().

◆ SumAllOccSet1

MonitorElement* HLXMonitor::SumAllOccSet1
private

Definition at line 111 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ SumAllOccSet2

MonitorElement* HLXMonitor::SumAllOccSet2
private

Definition at line 112 of file HLXMonitor.h.

Referenced by FillHistograms(), and SetupHists().

◆ totalNibbles_

unsigned int HLXMonitor::totalNibbles_[36]
private

Definition at line 253 of file HLXMonitor.h.

Referenced by EndRun(), FillEventInfo(), FillReportSummary(), and HLXMonitor().

◆ TriggerBX

unsigned int HLXMonitor::TriggerBX
private

Definition at line 219 of file HLXMonitor.h.

Referenced by FillHistoHFCompare(), and HLXMonitor().

◆ workingDir_

MonitorElement* HLXMonitor::workingDir_
private

DQM "name" of the job (eg, Hcal or DT)

Definition at line 188 of file HLXMonitor.h.

Referenced by SetupEventInfo().

◆ XMAX

double HLXMonitor::XMAX
private

Definition at line 208 of file HLXMonitor.h.

Referenced by FillHistograms(), HLXMonitor(), and SetupHists().

◆ XMIN

double HLXMonitor::XMIN
private

Definition at line 208 of file HLXMonitor.h.

Referenced by FillHistograms(), HLXMonitor(), and SetupHists().