CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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:
edm::EDAnalyzer edm::EDConsumerBase

Public Types

typedef HCAL_HLX::LUMI_SECTION LUMI_SECTION
 
typedef HCAL_HLX::TCPReceiver TCPReceiver
 
- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 

Public Member Functions

 HLXMonitor (const edm::ParameterSet &)
 
 ~HLXMonitor ()
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
virtual void endJob ()
 
void EndRun (bool saveFile=true)
 
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=NULL)
 
void ResetAll ()
 
void SaveDQMFile ()
 
void SetupEventInfo ()
 
void SetupHists ()
 

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_
 
DQMStoredbe_
 
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_
 Avg # of events in programmable window (default: 5 min) More...
 
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_
 
bool ResetAtNewRun
 
MonitorElementrunId_
 
unsigned int runNumber_
 
unsigned int runNumLength
 
timeval runStartTime_
 
MonitorElementrunStartTimeStamp_
 
bool SaveAtEndJob
 
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 edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Description: DQM Source for HLX histograms

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

Definition at line 53 of file HLXMonitor.h.

Member Typedef Documentation

Definition at line 57 of file HLXMonitor.h.

Definition at line 58 of file HLXMonitor.h.

Constructor & Destructor Documentation

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

Definition at line 17 of file HLXMonitor.cc.

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

18 {
19 
20  NUM_HLX = iConfig.getUntrackedParameter< unsigned int >("numHlx", 36);
21  NUM_BUNCHES = iConfig.getUntrackedParameter< unsigned int >("numBunches", 3564);
22  MAX_LS = iConfig.getUntrackedParameter< unsigned int >("maximumNumLS", 480);
23  listenPort = iConfig.getUntrackedParameter< unsigned int >("SourcePort", 51001);
24  OutputFilePrefix = iConfig.getUntrackedParameter< std::string >("outputFile", "lumi");
25  OutputDir = iConfig.getUntrackedParameter< std::string >("outputDir"," data");
26  SavePeriod = iConfig.getUntrackedParameter< unsigned int >("SavePeriod", 10);
27  NBINS = iConfig.getUntrackedParameter< unsigned int >("NBINS", 297); // 12 BX per bin
28  XMIN = iConfig.getUntrackedParameter< double >("XMIN", 0);
29  XMAX = iConfig.getUntrackedParameter< double >("XMAX", 3564);
30  Style = iConfig.getUntrackedParameter< std::string >("Style", "BX");
31  AquireMode = iConfig.getUntrackedParameter< unsigned int >("AquireMode", 0);
32  Accumulate = iConfig.getUntrackedParameter< bool >("Accumulate", true); // all
33  TriggerBX = iConfig.getUntrackedParameter< unsigned int >("TriggerBX", 50);
34  MinLSBeforeSave = iConfig.getUntrackedParameter< unsigned int >("MinLSBeforeSave", 1);
35  reconnTime = iConfig.getUntrackedParameter< unsigned int >("ReconnectionTime",5);
36  DistribIP1 = iConfig.getUntrackedParameter< std::string >("PrimaryHLXDAQIP", "vmepcs2f17-18");
37  DistribIP2 = iConfig.getUntrackedParameter< std::string >("SecondaryHLXDAQIP", "vmepcs2f17-19");
38  ResetAtNewRun = iConfig.getUntrackedParameter< bool >("NewRun_Reset",true);
39  SaveAtEndJob = iConfig.getUntrackedParameter< bool >("SaveAtEndJob",true);
40 
41  eventInfoFolderHLX_ = iConfig.getUntrackedParameter<std::string>("eventInfoFolderHLX", "EventInfoHLX") ;
42  eventInfoFolder_ = iConfig.getUntrackedParameter<std::string >("eventInfoFolder", "EventInfo") ;
43  subSystemName_ = iConfig.getUntrackedParameter<std::string >("subSystemName", "HLX") ;
44 
45  // Set the lumi section counter
46  lsBinOld = 0;
47  previousSection = 0;
48  lumiSectionCount = 0;
56 
57 
58  // HLX Config info
59  set1BelowIndex = 0;
60  set1BetweenIndex = 1;
61  set1AboveIndex = 2;
62  set2BelowIndex = 3;
63  set2BetweenIndex = 4;
64  set2AboveIndex = 5;
65 
66  runNumLength = 9;
67  secNumLength = 8;
68 
69  if(NUM_HLX > 36)
70  NUM_HLX = 36;
71 
72  if(NUM_BUNCHES > 3564)
73  NUM_BUNCHES = 3564;
74 
75  if(XMAX <= XMIN){
76  XMIN = 0;
77  if(XMAX <= 0) XMAX = 3564;
78  }
79 
80  if((Style.compare("History")==0) || (NBINS == 0)){
81  NBINS = (unsigned int)(XMAX-XMIN);
82  }
83 
85 
86  if ( dbe_ ) {
87  dbe_->setVerbose(1);
88  }
89 
90  monitorName_ = iConfig.getUntrackedParameter<std::string>("monitorName","HLX");
91  //cout << "Monitor name = " << monitorName_ << endl;
92  prescaleEvt_ = iConfig.getUntrackedParameter<int>("prescaleEvt", -1);
93  //cout << "===>DQM event prescale = " << prescaleEvt_ << " events "<< endl;
94 
95  unsigned int HLXHFMapTemp[] = {31,32,33,34,35,18, // s2f07 hf-
96  13,14,15,16,17,0, // s2f07 hf+
97  25,26,27,28,29,30, // s2f05 hf-
98  7, 8, 9, 10,11,12, // s2f05 hf+
99  19,20,21,22,23,24, // s2f02 hf-
100  1, 2, 3, 4, 5, 6}; // s2f02 hf+
101 
102  currentRunEnded_ = true;
103  runNumber_ = 0;
104  expectedNibbles_ = 0;
105 
106  for( int iHLX = 0; iHLX < 36; ++iHLX ){
107  HLXHFMap[iHLX] = HLXHFMapTemp[iHLX];
108  //std::cout << "At " << iHLX << " Wedge " << HLXHFMap[iHLX] << std::endl;
109  totalNibbles_[iHLX] = 0;
110  }
111 
112  num4NibblePerLS_ = 16.0;
113 
114  SetupHists();
115  SetupEventInfo();
116 }
double sectionInstantSumEt
Definition: HLXMonitor.h:280
T getUntrackedParameter(std::string const &, T const &) const
std::string OutputDir
Definition: HLXMonitor.h:229
unsigned int totalNibbles_[36]
Definition: HLXMonitor.h:273
unsigned int HLXHFMap[36]
Definition: HLXMonitor.h:275
unsigned int secNumLength
Definition: HLXMonitor.h:261
double XMAX
Definition: HLXMonitor.h:225
void SetupHists()
Definition: HLXMonitor.cc:125
int prescaleEvt_
Definition: HLXMonitor.h:240
unsigned int NUM_HLX
Definition: HLXMonitor.h:232
unsigned int runNumber_
Definition: HLXMonitor.h:271
int lsBinOld
Definition: HLXMonitor.h:279
std::string OutputFilePrefix
Definition: HLXMonitor.h:228
double sectionInstantErrSumEt
Definition: HLXMonitor.h:281
double sectionInstantErrSumOcc2
Definition: HLXMonitor.h:285
unsigned int set2AboveIndex
Definition: HLXMonitor.h:251
double XMIN
Definition: HLXMonitor.h:225
std::string eventInfoFolderHLX_
Definition: HLXMonitor.h:256
std::string DistribIP2
Definition: HLXMonitor.h:244
int listenPort
Definition: HLXMonitor.h:224
unsigned int MAX_LS
Definition: HLXMonitor.h:234
unsigned int set2BetweenIndex
Definition: HLXMonitor.h:250
double sectionInstantSumOcc1
Definition: HLXMonitor.h:282
unsigned int set2BelowIndex
Definition: HLXMonitor.h:249
double sectionInstantSumOcc2
Definition: HLXMonitor.h:284
DQMStore * dbe_
Definition: HLXMonitor.h:214
bool SaveAtEndJob
Definition: HLXMonitor.h:254
unsigned int NBINS
Definition: HLXMonitor.h:226
bool ResetAtNewRun
Definition: HLXMonitor.h:253
void SetupEventInfo()
Definition: HLXMonitor.cc:646
std::string monitorName_
Definition: HLXMonitor.h:239
bool Accumulate
Definition: HLXMonitor.h:227
unsigned int TriggerBX
Definition: HLXMonitor.h:236
unsigned int NUM_BUNCHES
Definition: HLXMonitor.h:233
unsigned int MinLSBeforeSave
Definition: HLXMonitor.h:237
double sectionInstantNorm
Definition: HLXMonitor.h:286
double sectionInstantErrSumOcc1
Definition: HLXMonitor.h:283
unsigned int previousSection
Definition: HLXMonitor.h:277
std::string subSystemName_
Definition: HLXMonitor.h:258
bool currentRunEnded_
Definition: HLXMonitor.h:270
unsigned int runNumLength
Definition: HLXMonitor.h:260
int SavePeriod
Definition: HLXMonitor.h:231
unsigned int expectedNibbles_
Definition: HLXMonitor.h:272
double num4NibblePerLS_
Definition: HLXMonitor.h:296
unsigned int AquireMode
Definition: HLXMonitor.h:235
unsigned int set1BelowIndex
Definition: HLXMonitor.h:246
unsigned int lumiSectionCount
Definition: HLXMonitor.h:278
std::string eventInfoFolder_
Definition: HLXMonitor.h:257
std::string DistribIP1
Definition: HLXMonitor.h:243
unsigned int set1AboveIndex
Definition: HLXMonitor.h:248
Definition: NicePlot.h:7
unsigned int reconnTime
Definition: HLXMonitor.h:242
unsigned int set1BetweenIndex
Definition: HLXMonitor.h:247
HLXMonitor::~HLXMonitor ( )

Definition at line 118 of file HLXMonitor.cc.

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

119 {
120  HLXTCP.Disconnect();
121 }
TCPReceiver HLXTCP
Definition: HLXMonitor.h:87

Member Function Documentation

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

Implements edm::EDAnalyzer.

Definition at line 726 of file HLXMonitor.cc.

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

727 {
728  using namespace edm;
729 
730  while( HLXTCP.IsConnected() == false )
731  {
733  if( HLXTCP.Connect() != 1 )
734  {
735  std::cout << "Failed to connect to " << DistribIP1 << "." << std::endl;
736  sleep( 1 );
737  std::cout << "Trying " << DistribIP2 << std::endl;
739  if( HLXTCP.Connect() == 1) break;
740  std::cout << "Failed to connect to " << DistribIP2 << "." << std::endl;
741  std::cout << " Reconnect in " << reconnTime << " seconds." << std::endl;
742  sleep(reconnTime);
743  }
744  }
745  if( HLXTCP.IsConnected() == true )
746  {
747  std::cout << "Successfully connected." << std::endl;
748  }
749 
751  {
752  // If this is the first time through, set the runNumber ...
754  if( !currentRunEnded_ && runNumber_ != 0 ) EndRun();
756  currentRunEnded_ = false;
757  //std::cout << "Run number is: " << runNumber_ << std::endl;
758  timeval startruntime;
759  gettimeofday(&startruntime,NULL);
760  runStartTimeStamp_->Fill(getUTCtime(&startruntime));
761  }
762 
763  // Fill the monitoring histograms
766  FillEventInfo(lumiSection,iEvent);
768 
769  cout << "Run: " << lumiSection.hdr.runNumber
770  << " Section: " << lumiSection.hdr.sectionNumber
771  << " Orbit: " << lumiSection.hdr.startOrbit << endl;
772  cout << "Et Lumi: " << lumiSection.lumiSummary.InstantETLumi << endl;
773  cout << "Occ Lumi 1: " << lumiSection.lumiSummary.InstantOccLumi[0] << endl;
774  cout << "Occ Lumi 2: " << lumiSection.lumiSummary.InstantOccLumi[1] << endl;
775  }
776  else
777  {
778  HLXTCP.Disconnect();
779  EndRun();
780  }
781 
782 // do
783 // {
784 // errorCode = HLXTCP.ReceiveLumiSection(lumiSection);
785 
786 // while(errorCode !=1)
787 // {
788 // HLXTCP.Disconnect();
789 // //cout << "Connecting to TCPDistributor" << endl;
790 // errorCode = HLXTCP.Connect();
791 // if(errorCode != 1)
792 // {
793 // if( (attemptCounter%10)==0 ){
794 // cout << "*** Connection Failed: " << errorCode
795 // << " Will attempt to reconnect in " << reconnTime << " seconds." << endl;
796 // cout << "This message will be printed once every 10 attempts." << endl;
797 // }
798 // ++attemptCounter;
799 // sleep(reconnTime);
800 // }
801 // }
802 // } while( errorCode != 1 );
803 
804 }
void FillReportSummary()
Definition: HLXMonitor.cc:1431
unsigned int runNumber_
Definition: HLXMonitor.h:271
#define NULL
Definition: scimark2.h:8
void SetIP(std::string IP)
Definition: TCPReceiver.cc:222
void Fill(long long x)
std::string DistribIP2
Definition: HLXMonitor.h:244
MonitorElement * runStartTimeStamp_
Definition: HLXMonitor.h:185
HCAL_HLX::LUMI_SECTION lumiSection
Definition: HLXMonitor.h:268
TCPReceiver HLXTCP
Definition: HLXMonitor.h:87
bool currentRunEnded_
Definition: HLXMonitor.h:270
void FillEventInfo(const LUMI_SECTION &, const edm::Event &e)
Definition: HLXMonitor.cc:1394
double getUTCtime(timeval *a, timeval *b=NULL)
Definition: HLXMonitor.cc:1553
int ReceiveLumiSection(HCAL_HLX::LUMI_SECTION &localSection)
Definition: TCPReceiver.cc:88
void EndRun(bool saveFile=true)
Definition: HLXMonitor.cc:874
tuple cout
Definition: gather_cfg.py:121
void FillHistograms(const LUMI_SECTION &)
Definition: HLXMonitor.cc:905
volatile std::atomic< bool > shutdown_flag false
std::string DistribIP1
Definition: HLXMonitor.h:243
unsigned int reconnTime
Definition: HLXMonitor.h:242
void FillHistoHFCompare(const LUMI_SECTION &)
Definition: HLXMonitor.cc:1345
void HLXMonitor::beginJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 834 of file HLXMonitor.cc.

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

835 {
837  int errorCode = HLXTCP.SetPort(listenPort);
838  cout << "SetPort: " << listenPort << " Success: " << errorCode << endl;
839  errorCode = HLXTCP.SetMode(AquireMode);
840  cout << "AquireMode: " << AquireMode << " Success: " << errorCode << endl;
841 
842  while( HLXTCP.IsConnected() == false )
843  {
845  if( HLXTCP.Connect() != 1 )
846  {
847  std::cout << "Failed to connect to " << DistribIP1 << "." << std::endl;
848  sleep( 1 );
849  std::cout << "Trying " << DistribIP2 << std::endl;
851  if( HLXTCP.Connect() == 1) break;
852  std::cout << "Failed to connect to " << DistribIP2 << "." << std::endl;
853  std::cout << " Reconnect in " << reconnTime << " seconds." << std::endl;
854  sleep(reconnTime);
855  }
856  }
857  if( HLXTCP.IsConnected() == true )
858  {
859  std::cout << "Successfully connected." << std::endl;
860  }
861 
862 }
int SetPort(unsigned short int)
Definition: TCPReceiver.cc:182
void SetIP(std::string IP)
Definition: TCPReceiver.cc:222
std::string DistribIP2
Definition: HLXMonitor.h:244
int listenPort
Definition: HLXMonitor.h:224
TCPReceiver HLXTCP
Definition: HLXMonitor.h:87
int SetMode(unsigned char)
Definition: TCPReceiver.cc:202
unsigned int AquireMode
Definition: HLXMonitor.h:235
tuple cout
Definition: gather_cfg.py:121
volatile std::atomic< bool > shutdown_flag false
std::string DistribIP1
Definition: HLXMonitor.h:243
unsigned int reconnTime
Definition: HLXMonitor.h:242
void HLXMonitor::endJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 865 of file HLXMonitor.cc.

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

866 {
867  // Fill the report summaries at end job
868  // Loop over the HLX's and fill the map,
869  // also calculate the overall quality.
870  HLXTCP.Disconnect();
871  EndRun( SaveAtEndJob );
872 }
bool SaveAtEndJob
Definition: HLXMonitor.h:254
TCPReceiver HLXTCP
Definition: HLXMonitor.h:87
void EndRun(bool saveFile=true)
Definition: HLXMonitor.cc:874
void HLXMonitor::EndRun ( bool  saveFile = true)
private

Definition at line 874 of file HLXMonitor.cc.

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

Referenced by analyze(), and endJob().

875 {
877 
878  // Do some things that should be done at the end of the run ...
879  if( saveFile && runNumber_ != 0 ){
881  else std::cout << "Num LS's (" << int(lumiSectionCount/num4NibblePerLS_) << ") "
882  << "is less than required minumum (" << MinLSBeforeSave
883  << "). File will not be saved!" << std::endl;
884  }
885  expectedNibbles_ = 0;
886  for( unsigned int iHLX = 0; iHLX < NUM_HLX; ++iHLX ) totalNibbles_[iHLX] = 0;
887 
888  std::cout << "** Here in end run **" << std::endl;
889  if(ResetAtNewRun) ResetAll();
890  runNumber_ = 0;
891  currentRunEnded_ = true;
898  sectionInstantNorm = 0;
899  lsBinOld = 0;
900  lumiSectionCount = 0;
901  previousSection = 0;
902 }
double sectionInstantSumEt
Definition: HLXMonitor.h:280
unsigned int totalNibbles_[36]
Definition: HLXMonitor.h:273
void FillReportSummary()
Definition: HLXMonitor.cc:1431
unsigned int NUM_HLX
Definition: HLXMonitor.h:232
unsigned int runNumber_
Definition: HLXMonitor.h:271
int lsBinOld
Definition: HLXMonitor.h:279
double sectionInstantErrSumEt
Definition: HLXMonitor.h:281
double sectionInstantErrSumOcc2
Definition: HLXMonitor.h:285
double sectionInstantSumOcc1
Definition: HLXMonitor.h:282
double sectionInstantSumOcc2
Definition: HLXMonitor.h:284
bool ResetAtNewRun
Definition: HLXMonitor.h:253
unsigned int MinLSBeforeSave
Definition: HLXMonitor.h:237
double sectionInstantNorm
Definition: HLXMonitor.h:286
unsigned int previousSection
Definition: HLXMonitor.h:277
double sectionInstantErrSumOcc1
Definition: HLXMonitor.h:283
bool currentRunEnded_
Definition: HLXMonitor.h:270
unsigned int expectedNibbles_
Definition: HLXMonitor.h:272
double num4NibblePerLS_
Definition: HLXMonitor.h:296
unsigned int lumiSectionCount
Definition: HLXMonitor.h:278
tuple cout
Definition: gather_cfg.py:121
void ResetAll()
Definition: HLXMonitor.cc:1451
void SaveDQMFile()
Definition: HLXMonitor.cc:807
void HLXMonitor::FillEventInfo ( const LUMI_SECTION section,
const edm::Event e 
)
private

Definition at line 1394 of file HLXMonitor.cc.

References currentTime_, edm::EventID::event(), eventId_, eventTimeStamp_, evtRateCount_, evtRateWindow_, expectedNibbles_, MonitorElement::Fill(), getUTCtime(), HCAL_HLX::OCCUPANCY_SECTION::hdr, HCAL_HLX::LUMI_SECTION::hdr, HLXHFMap, edm::EventBase::id(), lastAvgTime_, lastUpdateTime_, lumisecId_, NULL, num4NibblePerLS_, NUM_HLX, HCAL_HLX::LUMI_SECTION_SUB_HEADER::numNibbles, HCAL_HLX::LUMI_SECTION_HEADER::numOrbits, HCAL_HLX::LUMI_SECTION::occupancy, pEvent_, processEventRate_, processEvents_, processLatency_, processTimeStamp_, runId_, HCAL_HLX::LUMI_SECTION_HEADER::runNumber, HCAL_HLX::LUMI_SECTION_HEADER::sectionNumber, edm::EventBase::time(), cond::rpcobgas::time, totalNibbles_, and edm::Timestamp::value().

Referenced by analyze().

1395 {
1396  // New run .. set the run number and fill run summaries ...
1397  //std::cout << "Run number " << runNumber_ << " Section hdr run number "
1398 // << section.hdr.runNumber << std::endl;
1399 
1400  runId_->Fill( section.hdr.runNumber );
1401  lumisecId_->Fill( (int)(section.hdr.sectionNumber/num4NibblePerLS_) + 1 );
1402 
1403  // Update the total nibbles & the expected number
1404  expectedNibbles_ += section.hdr.numOrbits/4096;
1405  for( unsigned int iHLX = 0; iHLX < NUM_HLX; ++iHLX ){
1406  unsigned int iWedge = HLXHFMap[iHLX] + 1;
1407  totalNibbles_[iWedge-1] += section.occupancy[iHLX].hdr.numNibbles;
1408  }
1409 
1410  eventId_->Fill(e.id().event());
1411  eventTimeStamp_->Fill(e.time().value()/(double)0xffffffff);
1412 
1413  pEvent_++;
1414  evtRateCount_++;
1416 
1418  gettimeofday(&currentTime_,NULL);
1421 
1423  if(time>=(evtRateWindow_*60.0)){
1424  processEventRate_->Fill((float)evtRateCount_/time);
1425  evtRateCount_ = 0;
1427  }
1428 
1429 }
EventNumber_t event() const
Definition: EventID.h:41
MonitorElement * processLatency_
The UTC time of the last event.
Definition: HLXMonitor.h:197
unsigned int totalNibbles_[36]
Definition: HLXMonitor.h:273
MonitorElement * processTimeStamp_
The UTC time of the first event processed.
Definition: HLXMonitor.h:196
unsigned int HLXHFMap[36]
Definition: HLXMonitor.h:275
unsigned int NUM_HLX
Definition: HLXMonitor.h:232
MonitorElement * processEventRate_
Time elapsed since the last event.
Definition: HLXMonitor.h:198
#define NULL
Definition: scimark2.h:8
float evtRateWindow_
Definition: HLXMonitor.h:291
int evtRateCount_
Definition: HLXMonitor.h:292
void Fill(long long x)
MonitorElement * eventId_
UTC time of the run start.
Definition: HLXMonitor.h:186
timeval lastUpdateTime_
Definition: HLXMonitor.h:289
MonitorElement * eventTimeStamp_
Definition: HLXMonitor.h:188
MonitorElement * processEvents_
Avg # of events in programmable window (default: 5 min)
Definition: HLXMonitor.h:199
double getUTCtime(timeval *a, timeval *b=NULL)
Definition: HLXMonitor.cc:1553
timeval lastAvgTime_
Definition: HLXMonitor.h:289
unsigned int expectedNibbles_
Definition: HLXMonitor.h:272
edm::EventID id() const
Definition: EventBase.h:56
double num4NibblePerLS_
Definition: HLXMonitor.h:296
MonitorElement * runId_
Definition: HLXMonitor.h:184
timeval currentTime_
Definition: HLXMonitor.h:289
TimeValue_t value() const
Definition: Timestamp.h:56
edm::Timestamp time() const
Definition: EventBase.h:57
MonitorElement * lumisecId_
Definition: HLXMonitor.h:187
void HLXMonitor::FillHistograms ( const LUMI_SECTION section)
private

Definition at line 905 of file HLXMonitor.cc.

References AvgEtSum, AvgOccAboveSet1, AvgOccAboveSet2, AvgOccBelowSet1, AvgOccBelowSet2, AvgOccBetweenSet1, AvgOccBetweenSet2, BXvsTimeAvgEtSumHFM, BXvsTimeAvgEtSumHFP, HCAL_HLX::ET_SUM_SECTION::data, HCAL_HLX::OCCUPANCY_SECTION::data, dbe_, alignCSCRings::e, HCAL_HLX::LUMI_DETAIL::ETLumi, HCAL_HLX::LUMI_DETAIL::ETLumiErr, ETSum, HCAL_HLX::LUMI_SECTION::etSum, MonitorElement::Fill(), HcalObjRepresent::Fill(), archive::flag, MonitorElement::getBinContent(), MonitorElement::getBinError(), MonitorElement::getMean(), MonitorElement::getRMS(), MonitorElement::getTH1F(), HCAL_HLX::OCCUPANCY_SECTION::hdr, HCAL_HLX::LUMI_SECTION::hdr, 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, HCAL_HLX::LUMI_SUMMARY::InstantETLumi, HCAL_HLX::LUMI_SUMMARY::InstantETLumiErr, HCAL_HLX::LUMI_SUMMARY::InstantOccLumi, HCAL_HLX::LUMI_SUMMARY::InstantOccLumiErr, lsBinOld, LumiAvgEtSum, LumiAvgOccSet1, LumiAvgOccSet2, HCAL_HLX::LUMI_SECTION::lumiDetail, LumiInstantEtSum, LumiInstantOccSet1, LumiInstantOccSet2, LumiIntegratedEtSum, LumiIntegratedOccSet1, LumiIntegratedOccSet2, lumiSectionCount, HCAL_HLX::LUMI_SECTION::lumiSummary, bookConverter::max, MaxInstLumiBX1, MaxInstLumiBX2, MaxInstLumiBX3, MaxInstLumiBX4, MaxInstLumiBXNum1, MaxInstLumiBXNum2, MaxInstLumiBXNum3, MaxInstLumiBXNum4, MissingDQMDataCheck, num4NibblePerLS_, NUM_BUNCHES, NUM_HLX, HCAL_HLX::LUMI_SECTION_SUB_HEADER::numNibbles, HCAL_HLX::LUMI_SECTION_HEADER::numOrbits, HCAL_HLX::LUMI_DETAIL::OccLumi, HCAL_HLX::LUMI_DETAIL::OccLumiErr, HCAL_HLX::LUMI_SECTION::occupancy, previousSection, RecentInstantLumiEtSum, RecentInstantLumiOccSet1, RecentInstantLumiOccSet2, RecentIntegratedLumiEtSum, RecentIntegratedLumiOccSet1, RecentIntegratedLumiOccSet2, sectionInstantErrSumEt, sectionInstantErrSumOcc1, sectionInstantErrSumOcc2, sectionInstantNorm, sectionInstantSumEt, sectionInstantSumOcc1, sectionInstantSumOcc2, HCAL_HLX::LUMI_SECTION_HEADER::sectionNumber, Set1Above, set1AboveIndex, Set1Below, set1BelowIndex, Set1Between, set1BetweenIndex, Set2Above, set2AboveIndex, Set2Below, set2BelowIndex, Set2Between, set2BetweenIndex, MonitorElement::setAxisRange(), MonitorElement::setBinContent(), MonitorElement::setBinError(), DQMStore::softReset(), mathSSE::sqrt(), SumAllOccSet1, SumAllOccSet2, tmp, histoStyle::weight, XMAX, and XMIN.

Referenced by analyze().

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

Definition at line 1345 of file HLXMonitor.cc.

References HCAL_HLX::ET_SUM_SECTION::data, HCAL_HLX::OCCUPANCY_SECTION::data, HCAL_HLX::LUMI_SECTION::etSum, MonitorElement::Fill(), HCAL_HLX::OCCUPANCY_SECTION::hdr, HFCompareEtSum, HFCompareOccAboveSet1, HFCompareOccAboveSet2, HFCompareOccBelowSet1, HFCompareOccBelowSet2, HFCompareOccBetweenSet1, HFCompareOccBetweenSet2, HLXHFMap, NUM_HLX, HCAL_HLX::LUMI_SECTION_SUB_HEADER::numNibbles, HCAL_HLX::LUMI_SECTION::occupancy, set1AboveIndex, set1BelowIndex, set1BetweenIndex, set2AboveIndex, set2BelowIndex, set2BetweenIndex, pileupDistInMC::total, and TriggerBX.

Referenced by analyze().

1346 {
1347 
1348  for( unsigned int iHLX = 0; iHLX < NUM_HLX; ++iHLX ){
1349 
1350  unsigned int iWedge = HLXHFMap[iHLX];
1351 
1352  if(section.occupancy[iHLX].hdr.numNibbles != 0){
1353  float nActvTwrsSet1 = section.occupancy[iHLX].data[set1AboveIndex][TriggerBX]
1354  + section.occupancy[iHLX].data[set1BetweenIndex][TriggerBX]
1355  + section.occupancy[iHLX].data[set1BelowIndex][TriggerBX];
1356 
1357  float nActvTwrsSet2 = section.occupancy[iHLX].data[set2AboveIndex][TriggerBX]
1358  + section.occupancy[iHLX].data[set2BetweenIndex][TriggerBX]
1359  + section.occupancy[iHLX].data[set2BelowIndex][TriggerBX];
1360 
1361  float total = nActvTwrsSet1 + nActvTwrsSet2;
1362 
1363  if( total > 0){
1364  float tempData = section.etSum[iHLX].data[TriggerBX]/total;
1365  //cout << "Filling HFCompare Et sum " << tempData << endl;
1366  HFCompareEtSum->Fill( iWedge, tempData );
1367  }
1368 
1369  if(nActvTwrsSet1 > 0){
1370  float tempData = (float)section.occupancy[iHLX].data[set1BelowIndex][TriggerBX]/nActvTwrsSet1;
1371  HFCompareOccBelowSet1->Fill( iWedge, tempData);
1372 
1373  tempData = (float)section.occupancy[iHLX].data[set1BetweenIndex][TriggerBX]/nActvTwrsSet1;
1374  HFCompareOccBetweenSet1->Fill( iWedge, tempData);
1375 
1376  tempData = (float)section.occupancy[iHLX].data[set1AboveIndex][TriggerBX]/nActvTwrsSet1;
1377  HFCompareOccAboveSet1->Fill( iWedge, tempData);
1378  }
1379 
1380  if( nActvTwrsSet2 > 0){
1381  float tempData = (float)section.occupancy[iHLX].data[set2BelowIndex][TriggerBX]/nActvTwrsSet2;
1382  HFCompareOccBelowSet2->Fill( iWedge, tempData);
1383 
1384  tempData = (float)section.occupancy[iHLX].data[set2BetweenIndex][TriggerBX]/nActvTwrsSet2;
1385  HFCompareOccBetweenSet2->Fill( iWedge, tempData);
1386 
1387  tempData = (float)section.occupancy[iHLX].data[set2AboveIndex][TriggerBX]/nActvTwrsSet2;
1388  HFCompareOccAboveSet2->Fill( iWedge, tempData);
1389  }
1390  }
1391  }
1392 }
MonitorElement * HFCompareOccAboveSet1
Definition: HLXMonitor.h:100
MonitorElement * HFCompareOccAboveSet2
Definition: HLXMonitor.h:103
unsigned int HLXHFMap[36]
Definition: HLXMonitor.h:275
unsigned int NUM_HLX
Definition: HLXMonitor.h:232
unsigned int set2AboveIndex
Definition: HLXMonitor.h:251
void Fill(long long x)
MonitorElement * HFCompareEtSum
Definition: HLXMonitor.h:97
unsigned int set2BetweenIndex
Definition: HLXMonitor.h:250
unsigned int set2BelowIndex
Definition: HLXMonitor.h:249
MonitorElement * HFCompareOccBelowSet1
Definition: HLXMonitor.h:98
unsigned int TriggerBX
Definition: HLXMonitor.h:236
MonitorElement * HFCompareOccBetweenSet2
Definition: HLXMonitor.h:102
unsigned int set1BelowIndex
Definition: HLXMonitor.h:246
MonitorElement * HFCompareOccBelowSet2
Definition: HLXMonitor.h:101
MonitorElement * HFCompareOccBetweenSet1
Definition: HLXMonitor.h:99
unsigned int set1AboveIndex
Definition: HLXMonitor.h:248
unsigned int set1BetweenIndex
Definition: HLXMonitor.h:247
void HLXMonitor::FillReportSummary ( )
private

Definition at line 1431 of file HLXMonitor.cc.

References expectedNibbles_, MonitorElement::Fill(), cropTnPTrees::frac, HLXHFMap, NUM_HLX, reportSummary_, reportSummaryMap_, MonitorElement::setBinContent(), and totalNibbles_.

Referenced by analyze(), and EndRun().

1431  {
1432  // Run summary - Loop over the HLX's and fill the map,
1433  // also calculate the overall quality.
1434  float overall = 0.0;
1435  for( unsigned int iHLX = 0; iHLX < NUM_HLX; ++iHLX ){
1436  unsigned int iWedge = HLXHFMap[iHLX] + 1;
1437  unsigned int iEta = 2;
1438  float frac = 0.0;
1439  if( expectedNibbles_ > 0 ) frac = (float)totalNibbles_[iWedge-1]/(float)expectedNibbles_;
1440  if( iWedge >= 19 ){ iEta = 1; iWedge -= 18; }
1441  reportSummaryMap_->setBinContent(iWedge,iEta,frac);
1442  overall += frac;
1443  }
1444 
1445  overall /= (float)NUM_HLX;
1446  if( overall > 1.0 ) overall = 0.0;
1447  //std::cout << "Filling report summary! Main. " << overall << std::endl;
1448  reportSummary_->Fill(overall);
1449 }
unsigned int totalNibbles_[36]
Definition: HLXMonitor.h:273
void setBinContent(int binx, double content)
set content of bin (1-D)
unsigned int HLXHFMap[36]
Definition: HLXMonitor.h:275
unsigned int NUM_HLX
Definition: HLXMonitor.h:232
void Fill(long long x)
MonitorElement * reportSummaryMap_
Definition: HLXMonitor.h:211
unsigned int expectedNibbles_
Definition: HLXMonitor.h:272
MonitorElement * reportSummary_
Definition: HLXMonitor.h:210
double HLXMonitor::getUTCtime ( timeval *  a,
timeval *  b = NULL 
)
private

Definition at line 1553 of file HLXMonitor.cc.

References NULL.

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

1553  {
1554  double deltaT=(*a).tv_sec*1000.0+(*a).tv_usec/1000.0;
1555  if(b!=NULL) deltaT=(*b).tv_sec*1000.0+(*b).tv_usec/1000.0 - deltaT;
1556  return deltaT/1000.0;
1557 }
#define NULL
Definition: scimark2.h:8
double b
Definition: hdecay.h:120
void HLXMonitor::ResetAll ( )
private

Definition at line 1451 of file HLXMonitor.cc.

References AvgEtSum, AvgOccAboveSet1, AvgOccAboveSet2, AvgOccBelowSet1, AvgOccBelowSet2, AvgOccBetweenSet1, AvgOccBetweenSet2, BXvsTimeAvgEtSumHFM, BXvsTimeAvgEtSumHFP, dbe_, ETSum, 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, lumiSectionCount, MaxInstLumiBX1, MaxInstLumiBX2, MaxInstLumiBX3, MaxInstLumiBX4, MaxInstLumiBXNum1, MaxInstLumiBXNum2, MaxInstLumiBXNum3, MaxInstLumiBXNum4, MissingDQMDataCheck, NUM_HLX, previousSection, RecentInstantLumiEtSum, RecentInstantLumiOccSet1, RecentInstantLumiOccSet2, RecentIntegratedLumiEtSum, RecentIntegratedLumiOccSet1, RecentIntegratedLumiOccSet2, Set1Above, Set1Below, Set1Between, Set2Above, Set2Below, Set2Between, DQMStore::softReset(), SumAllOccSet1, and SumAllOccSet2.

Referenced by EndRun().

1452 {
1453  for( unsigned int iHLX = 0; iHLX < NUM_HLX; ++iHLX )
1454  {
1455  dbe_->softReset( Set1Below[iHLX] );
1456  dbe_->softReset( Set1Between[iHLX] );
1457  dbe_->softReset( Set1Above[iHLX] );
1458  dbe_->softReset( Set2Below[iHLX] );
1459  dbe_->softReset( Set2Between[iHLX] );
1460  dbe_->softReset( Set2Above[iHLX] );
1461 
1462  dbe_->softReset( ETSum[iHLX] );
1463 
1464  }
1465 
1466  dbe_->softReset(HFCompareEtSum);
1467  dbe_->softReset(HFCompareOccBelowSet1);
1468  dbe_->softReset(HFCompareOccBetweenSet1);
1469  dbe_->softReset(HFCompareOccAboveSet1);
1470  dbe_->softReset(HFCompareOccBelowSet2);
1471  dbe_->softReset(HFCompareOccBetweenSet2);
1472  dbe_->softReset(HFCompareOccAboveSet2);
1473 
1474  dbe_->softReset(AvgEtSum);
1475  dbe_->softReset(AvgOccBelowSet1);
1476  dbe_->softReset(AvgOccBetweenSet1);
1477  dbe_->softReset(AvgOccAboveSet1);
1478  dbe_->softReset(AvgOccBelowSet2);
1479  dbe_->softReset(AvgOccBetweenSet2);
1480  dbe_->softReset(AvgOccAboveSet2);
1481 
1482  // Luminosity Monitoring
1483  dbe_->softReset(LumiAvgEtSum);
1484  dbe_->softReset(LumiAvgOccSet1);
1485  dbe_->softReset(LumiAvgOccSet2);
1486  dbe_->softReset(LumiInstantEtSum);
1487  dbe_->softReset(LumiInstantOccSet1);
1488  dbe_->softReset(LumiInstantOccSet2);
1489  dbe_->softReset(LumiIntegratedEtSum);
1490  dbe_->softReset(LumiIntegratedOccSet1);
1491  dbe_->softReset(LumiIntegratedOccSet2);
1492 
1493  // Sanity Check for Occupancy
1494  dbe_->softReset(SumAllOccSet1);
1495  dbe_->softReset(SumAllOccSet2);
1496  dbe_->softReset(MissingDQMDataCheck);
1497 
1498  dbe_->softReset(MaxInstLumiBX1);
1499  dbe_->softReset(MaxInstLumiBX2);
1500  dbe_->softReset(MaxInstLumiBX3);
1501  dbe_->softReset(MaxInstLumiBX4);
1502 
1503  dbe_->softReset(MaxInstLumiBXNum1);
1504  dbe_->softReset(MaxInstLumiBXNum2);
1505  dbe_->softReset(MaxInstLumiBXNum3);
1506  dbe_->softReset(MaxInstLumiBXNum4);
1507 
1508 
1509  // History
1510  lumiSectionCount = 0;
1511  previousSection = 0;
1512  dbe_->softReset(HistAvgEtSumHFP);
1513  dbe_->softReset(HistAvgEtSumHFM);
1514 
1515  dbe_->softReset(HistAvgOccBelowSet1HFP);
1516  dbe_->softReset(HistAvgOccBelowSet1HFM);
1517  dbe_->softReset(HistAvgOccBetweenSet1HFP);
1518  dbe_->softReset(HistAvgOccBetweenSet1HFM);
1519  dbe_->softReset(HistAvgOccAboveSet1HFP);
1520  dbe_->softReset(HistAvgOccAboveSet1HFM);
1521 
1522  dbe_->softReset(HistAvgOccBelowSet2HFP);
1523  dbe_->softReset(HistAvgOccBelowSet2HFM);
1524  dbe_->softReset(HistAvgOccBetweenSet2HFP);
1525  dbe_->softReset(HistAvgOccBetweenSet2HFM);
1526  dbe_->softReset(HistAvgOccAboveSet2HFP);
1527  dbe_->softReset(HistAvgOccAboveSet2HFM);
1528 
1529  dbe_->softReset(HistAvgLumiEtSum);
1530  dbe_->softReset(HistAvgLumiOccSet1);
1531  dbe_->softReset(HistAvgLumiOccSet2);
1532  dbe_->softReset(HistInstantLumiEtSum);
1533  dbe_->softReset(HistInstantLumiOccSet1);
1534  dbe_->softReset(HistInstantLumiOccSet2);
1535  dbe_->softReset(HistInstantLumiEtSumError);
1536  dbe_->softReset(HistInstantLumiOccSet1Error);
1537  dbe_->softReset(HistInstantLumiOccSet2Error);
1538  dbe_->softReset(HistIntegratedLumiEtSum);
1539  dbe_->softReset(HistIntegratedLumiOccSet1);
1540  dbe_->softReset(HistIntegratedLumiOccSet2);
1541 
1542  dbe_->softReset(RecentInstantLumiEtSum);
1543  dbe_->softReset(RecentInstantLumiOccSet1);
1544  dbe_->softReset(RecentInstantLumiOccSet2);
1545  dbe_->softReset(RecentIntegratedLumiEtSum);
1546  dbe_->softReset(RecentIntegratedLumiOccSet1);
1547  dbe_->softReset(RecentIntegratedLumiOccSet2);
1548 
1549  dbe_->softReset(BXvsTimeAvgEtSumHFP);
1550  dbe_->softReset(BXvsTimeAvgEtSumHFM);
1551 }
MonitorElement * HistAvgOccBetweenSet1HFP
Definition: HLXMonitor.h:145
MonitorElement * HFCompareOccAboveSet1
Definition: HLXMonitor.h:100
MonitorElement * Set2Between[36]
Definition: HLXMonitor.h:93
MonitorElement * HistInstantLumiOccSet1
Definition: HLXMonitor.h:162
MonitorElement * HFCompareOccAboveSet2
Definition: HLXMonitor.h:103
MonitorElement * RecentIntegratedLumiOccSet2
Definition: HLXMonitor.h:176
MonitorElement * MaxInstLumiBX4
Definition: HLXMonitor.h:133
MonitorElement * HistAvgLumiOccSet2
Definition: HLXMonitor.h:160
MonitorElement * HistAvgOccBelowSet2HFM
Definition: HLXMonitor.h:150
MonitorElement * RecentIntegratedLumiEtSum
Definition: HLXMonitor.h:174
MonitorElement * LumiIntegratedEtSum
Definition: HLXMonitor.h:120
MonitorElement * SumAllOccSet1
Definition: HLXMonitor.h:125
MonitorElement * LumiInstantOccSet2
Definition: HLXMonitor.h:119
MonitorElement * AvgOccBetweenSet2
Definition: HLXMonitor.h:110
MonitorElement * AvgOccBelowSet1
Definition: HLXMonitor.h:106
MonitorElement * HistAvgEtSumHFM
Definition: HLXMonitor.h:142
MonitorElement * AvgOccAboveSet2
Definition: HLXMonitor.h:111
MonitorElement * HistAvgEtSumHFP
Definition: HLXMonitor.h:141
MonitorElement * HistAvgOccAboveSet1HFP
Definition: HLXMonitor.h:147
MonitorElement * LumiInstantEtSum
Definition: HLXMonitor.h:117
MonitorElement * LumiAvgOccSet2
Definition: HLXMonitor.h:116
MonitorElement * HistInstantLumiOccSet2Error
Definition: HLXMonitor.h:166
unsigned int NUM_HLX
Definition: HLXMonitor.h:232
MonitorElement * MissingDQMDataCheck
Definition: HLXMonitor.h:127
MonitorElement * HistInstantLumiOccSet2
Definition: HLXMonitor.h:163
MonitorElement * LumiInstantOccSet1
Definition: HLXMonitor.h:118
MonitorElement * HistAvgOccAboveSet1HFM
Definition: HLXMonitor.h:148
MonitorElement * LumiIntegratedOccSet1
Definition: HLXMonitor.h:121
MonitorElement * Set1Below[36]
Definition: HLXMonitor.h:89
MonitorElement * HistInstantLumiEtSumError
Definition: HLXMonitor.h:164
MonitorElement * MaxInstLumiBX1
Definition: HLXMonitor.h:130
MonitorElement * HistAvgOccBelowSet1HFP
Definition: HLXMonitor.h:143
MonitorElement * HFCompareEtSum
Definition: HLXMonitor.h:97
MonitorElement * Set1Between[36]
Definition: HLXMonitor.h:90
DQMStore * dbe_
Definition: HLXMonitor.h:214
MonitorElement * HistIntegratedLumiOccSet1
Definition: HLXMonitor.h:168
MonitorElement * RecentInstantLumiOccSet1
Definition: HLXMonitor.h:172
MonitorElement * HistIntegratedLumiOccSet2
Definition: HLXMonitor.h:169
MonitorElement * BXvsTimeAvgEtSumHFM
Definition: HLXMonitor.h:156
MonitorElement * HistAvgOccBetweenSet2HFM
Definition: HLXMonitor.h:152
MonitorElement * AvgOccAboveSet1
Definition: HLXMonitor.h:108
MonitorElement * HistInstantLumiOccSet1Error
Definition: HLXMonitor.h:165
MonitorElement * HFCompareOccBelowSet1
Definition: HLXMonitor.h:98
MonitorElement * ETSum[36]
Definition: HLXMonitor.h:95
MonitorElement * Set2Below[36]
Definition: HLXMonitor.h:92
MonitorElement * MaxInstLumiBXNum2
Definition: HLXMonitor.h:136
MonitorElement * MaxInstLumiBX2
Definition: HLXMonitor.h:131
MonitorElement * SumAllOccSet2
Definition: HLXMonitor.h:126
MonitorElement * AvgEtSum
Definition: HLXMonitor.h:105
MonitorElement * HistAvgOccAboveSet2HFM
Definition: HLXMonitor.h:154
MonitorElement * LumiAvgEtSum
Definition: HLXMonitor.h:114
MonitorElement * BXvsTimeAvgEtSumHFP
Definition: HLXMonitor.h:155
MonitorElement * HistAvgOccBetweenSet1HFM
Definition: HLXMonitor.h:146
MonitorElement * RecentIntegratedLumiOccSet1
Definition: HLXMonitor.h:175
MonitorElement * MaxInstLumiBXNum4
Definition: HLXMonitor.h:138
MonitorElement * HistAvgLumiOccSet1
Definition: HLXMonitor.h:159
MonitorElement * HistAvgOccAboveSet2HFP
Definition: HLXMonitor.h:153
MonitorElement * HistAvgOccBelowSet1HFM
Definition: HLXMonitor.h:144
MonitorElement * RecentInstantLumiOccSet2
Definition: HLXMonitor.h:173
MonitorElement * Set2Above[36]
Definition: HLXMonitor.h:94
MonitorElement * HistAvgLumiEtSum
Definition: HLXMonitor.h:158
MonitorElement * HistIntegratedLumiEtSum
Definition: HLXMonitor.h:167
MonitorElement * HistAvgOccBelowSet2HFP
Definition: HLXMonitor.h:149
MonitorElement * MaxInstLumiBXNum3
Definition: HLXMonitor.h:137
MonitorElement * MaxInstLumiBX3
Definition: HLXMonitor.h:132
unsigned int previousSection
Definition: HLXMonitor.h:277
MonitorElement * Set1Above[36]
Definition: HLXMonitor.h:91
MonitorElement * MaxInstLumiBXNum1
Definition: HLXMonitor.h:135
MonitorElement * AvgOccBelowSet2
Definition: HLXMonitor.h:109
MonitorElement * HistInstantLumiEtSum
Definition: HLXMonitor.h:161
MonitorElement * HFCompareOccBetweenSet2
Definition: HLXMonitor.h:102
unsigned int lumiSectionCount
Definition: HLXMonitor.h:278
MonitorElement * LumiIntegratedOccSet2
Definition: HLXMonitor.h:122
MonitorElement * HFCompareOccBelowSet2
Definition: HLXMonitor.h:101
MonitorElement * HFCompareOccBetweenSet1
Definition: HLXMonitor.h:99
MonitorElement * LumiAvgOccSet1
Definition: HLXMonitor.h:115
MonitorElement * AvgOccBetweenSet1
Definition: HLXMonitor.h:107
MonitorElement * RecentInstantLumiEtSum
Definition: HLXMonitor.h:171
MonitorElement * HistAvgOccBetweenSet2HFP
Definition: HLXMonitor.h:151
void HLXMonitor::SaveDQMFile ( )
private

Definition at line 807 of file HLXMonitor.cc.

References DQMStore::cd(), dbe_, alignCSCRings::e, DQMStore::getSubdirs(), i, OutputDir, OutputFilePrefix, runNumber_, runNumLength, DQMStore::save(), DQMStore::SaveWithoutReference, dqm::qstatus::STATUS_OK, and subSystemName_.

Referenced by EndRun().

807  {
808 
809  std::ostringstream tempStreamer;
810  tempStreamer << OutputDir << "/" << OutputFilePrefix << "_" << subSystemName_
811  << "_R" << std::setfill('0') << std::setw(runNumLength)
812  << runNumber_ << "_T00000001.root";
813 
814  std::vector<std::string> systems = (dbe_->cd(), dbe_->getSubdirs());
815  char rewrite[64]; sprintf(rewrite, "\\1Run %d/\\2/Run summary", runNumber_);
816  int saveReference_ = DQMStore::SaveWithoutReference;
817  int saveReferenceQMin_ = dqm::qstatus::STATUS_OK;
818 
819  for( size_t i = 0, e = systems.size(); i != e; ++i )
820  if (systems[i] != "Reference")
821  // TODO(rovere): fix the saving to comply w/ the DQM-multithread
822  dbe_->save( tempStreamer.str(),
823  systems[i],
824  "^(Reference/)?([^/]+)",
825  rewrite,
826  0,
827  0,
828  (DQMStore::SaveReferenceTag)saveReference_, saveReferenceQMin_);
829 
830  //dbe_->save(tempStreamer.str());
831 }
std::string OutputDir
Definition: HLXMonitor.h:229
int i
Definition: DBlmapReader.cc:9
unsigned int runNumber_
Definition: HLXMonitor.h:271
std::string OutputFilePrefix
Definition: HLXMonitor.h:228
SaveReferenceTag
Definition: DQMStore.h:78
DQMStore * dbe_
Definition: HLXMonitor.h:214
std::string subSystemName_
Definition: HLXMonitor.h:258
unsigned int runNumLength
Definition: HLXMonitor.h:260
static const int STATUS_OK
void HLXMonitor::SetupEventInfo ( )
private

Definition at line 646 of file HLXMonitor.cc.

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

Referenced by HLXMonitor().

647 {
648 
649  using std::string;
650 
651  string currentfolder = subSystemName_ + "/" + eventInfoFolderHLX_;
652  //cout << "currentfolder " << currentfolder << endl;
653 
654  dbe_->setCurrentFolder(currentfolder) ;
655 
656  pEvent_ = 0;
657  evtRateCount_ = 0;
658  gettimeofday(&currentTime_,NULL);
660  evtRateWindow_ = 0.5;
661 
662  //Event specific contents
663  runId_ = dbe_->bookInt("iRun");
664  lumisecId_ = dbe_->bookInt("iLumiSection");
665 
666  eventId_ = dbe_->bookInt("iEvent");
667  eventId_->Fill(-1);
668  eventTimeStamp_ = dbe_->bookFloat("eventTimeStamp");
669 
670  dbe_->setCurrentFolder(currentfolder) ;
671  //Process specific contents
672  processTimeStamp_ = dbe_->bookFloat("processTimeStamp");
674  processLatency_ = dbe_->bookFloat("processLatency");
675  processTimeStamp_->Fill(-1);
676  processEvents_ = dbe_->bookInt("processedEvents");
678  processEventRate_ = dbe_->bookFloat("processEventRate");
679  processEventRate_->Fill(-1);
680  nUpdates_= dbe_->bookInt("processUpdates");
681  nUpdates_->Fill(-1);
682 
683  //Static Contents
684  processId_= dbe_->bookInt("processID");
685  processId_->Fill(gSystem->GetPid());
686  processStartTimeStamp_ = dbe_->bookFloat("processStartTimeStamp");
688  runStartTimeStamp_ = dbe_->bookFloat("runStartTimeStamp");
689  hostName_= dbe_->bookString("hostName",gSystem->HostName());
690  processName_= dbe_->bookString("processName",subSystemName_);
691  workingDir_= dbe_->bookString("workingDir",gSystem->pwd());
692  cmsswVer_= dbe_->bookString("CMSSW_Version",edm::getReleaseVersion());
693  // dqmPatch_= dbe_->bookString("DQM_Patch",dbe_->getDQMPatchVersion());
694 
695  // Go to the standard EventInfo folder (in the case online case where this
696  // is different).
697  currentfolder = subSystemName_ + "/" + eventInfoFolder_;
698  dbe_->setCurrentFolder(currentfolder) ;
699 
700  reportSummary_ = dbe_->bookFloat("reportSummary");
701  reportSummaryMap_ = dbe_->book2D("reportSummaryMap", "reportSummaryMap", 18, 0., 18., 2, -1.5, 1.5);
702 
703  currentfolder = subSystemName_ + "/" + eventInfoFolderHLX_;
704  dbe_->setCurrentFolder(currentfolder) ;
705 
706  TH2F *summaryHist = reportSummaryMap_->getTH2F();
707  summaryHist->GetYaxis()->SetBinLabel(1,"HF-");
708  summaryHist->GetYaxis()->SetBinLabel(2,"HF+");
709  summaryHist->GetXaxis()->SetTitle("Wedge #");
710 
711  // Fill the report summary objects with default values, since these will only
712  // be filled at the change of run.
713  reportSummary_->Fill(1.0);
714 
715  for( unsigned int iHLX = 0; iHLX < NUM_HLX; ++iHLX ){
716  unsigned int iWedge = HLXHFMap[iHLX] + 1;
717  unsigned int iEta = 2;
718  if( iWedge >= 19 ){ iEta = 1; iWedge -= 18; }
719  reportSummaryMap_->setBinContent(iWedge,iEta,1.0);
720  }
721 }
MonitorElement * processLatency_
The UTC time of the last event.
Definition: HLXMonitor.h:197
MonitorElement * processTimeStamp_
The UTC time of the first event processed.
Definition: HLXMonitor.h:196
void setBinContent(int binx, double content)
set content of bin (1-D)
unsigned int HLXHFMap[36]
Definition: HLXMonitor.h:275
MonitorElement * cmsswVer_
Current working directory of the job.
Definition: HLXMonitor.h:203
unsigned int NUM_HLX
Definition: HLXMonitor.h:232
MonitorElement * processEventRate_
Time elapsed since the last event.
Definition: HLXMonitor.h:198
#define NULL
Definition: scimark2.h:8
float evtRateWindow_
Definition: HLXMonitor.h:291
int evtRateCount_
Definition: HLXMonitor.h:292
void Fill(long long x)
std::string eventInfoFolderHLX_
Definition: HLXMonitor.h:256
MonitorElement * eventId_
UTC time of the run start.
Definition: HLXMonitor.h:186
MonitorElement * processId_
Number of collector updates (TBD)
Definition: HLXMonitor.h:194
MonitorElement * reportSummaryMap_
Definition: HLXMonitor.h:211
MonitorElement * runStartTimeStamp_
Definition: HLXMonitor.h:185
DQMStore * dbe_
Definition: HLXMonitor.h:214
MonitorElement * hostName_
of event processed so far
Definition: HLXMonitor.h:200
MonitorElement * nUpdates_
These MEs are either static or updated upon each analyze() call.
Definition: HLXMonitor.h:193
MonitorElement * eventTimeStamp_
Definition: HLXMonitor.h:188
std::string getReleaseVersion()
MonitorElement * processEvents_
Avg # of events in programmable window (default: 5 min)
Definition: HLXMonitor.h:199
std::string subSystemName_
Definition: HLXMonitor.h:258
MonitorElement * processName_
Hostname of the local machine.
Definition: HLXMonitor.h:201
double getUTCtime(timeval *a, timeval *b=NULL)
Definition: HLXMonitor.cc:1553
timeval lastAvgTime_
Definition: HLXMonitor.h:289
MonitorElement * processStartTimeStamp_
The PID associated with this job.
Definition: HLXMonitor.h:195
MonitorElement * runId_
Definition: HLXMonitor.h:184
std::string eventInfoFolder_
Definition: HLXMonitor.h:257
timeval currentTime_
Definition: HLXMonitor.h:289
TH2F * getTH2F(void) const
MonitorElement * workingDir_
DQM &quot;name&quot; of the job (eg, Hcal or DT)
Definition: HLXMonitor.h:202
MonitorElement * reportSummary_
Definition: HLXMonitor.h:210
MonitorElement * lumisecId_
Definition: HLXMonitor.h:187
void HLXMonitor::SetupHists ( )
private

Definition at line 125 of file HLXMonitor.cc.

References Accumulate, AvgEtSum, AvgOccAboveSet1, AvgOccAboveSet2, AvgOccBelowSet1, AvgOccBelowSet2, AvgOccBetweenSet1, AvgOccBetweenSet2, DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookProfile(), BXvsTimeAvgEtSumHFM, BXvsTimeAvgEtSumHFP, DQMStore::cd(), gather_cfg::cout, dbe_, TauDecayModes::dec, alignCSCRings::e, ETSum, EtXAxisTitle, EtYAxisTitle, DQMStore::getSubdirs(), 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, i, 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, MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), MonitorElement::setResetMe(), DQMStore::showDirStructure(), AlCaHLTBitMon_QueryRunRegistry::string, SumAllOccSet1, SumAllOccSet2, DQMStore::tagContents(), XMAX, and XMIN.

Referenced by HLXMonitor().

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

Member Data Documentation

bool HLXMonitor::Accumulate
private

Definition at line 227 of file HLXMonitor.h.

Referenced by HLXMonitor(), and SetupHists().

unsigned int HLXMonitor::AquireMode
private

Definition at line 235 of file HLXMonitor.h.

Referenced by beginJob(), and HLXMonitor().

MonitorElement* HLXMonitor::AvgEtSum
private

Definition at line 105 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::AvgOccAboveSet1
private

Definition at line 108 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::AvgOccAboveSet2
private

Definition at line 111 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::AvgOccBelowSet1
private

Definition at line 106 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::AvgOccBelowSet2
private

Definition at line 109 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::AvgOccBetweenSet1
private

Definition at line 107 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::AvgOccBetweenSet2
private

Definition at line 110 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::BXvsTimeAvgEtSumHFM
private

Definition at line 156 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::BXvsTimeAvgEtSumHFP
private

Definition at line 155 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::cmsswVer_
private

Current working directory of the job.

Definition at line 203 of file HLXMonitor.h.

Referenced by SetupEventInfo().

unsigned int HLXMonitor::counter
private

Definition at line 219 of file HLXMonitor.h.

Referenced by counter.Counters::__getitem__().

bool HLXMonitor::currentRunEnded_
private

Definition at line 270 of file HLXMonitor.h.

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

timeval HLXMonitor::currentTime_
private

Definition at line 289 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

DQMStore* HLXMonitor::dbe_
private
std::string HLXMonitor::DistribIP1
private

Definition at line 243 of file HLXMonitor.h.

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

std::string HLXMonitor::DistribIP2
private

Definition at line 244 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::dqmPatch_
private

CMSSW version run for this job.

Definition at line 204 of file HLXMonitor.h.

MonitorElement* HLXMonitor::errSummary_
private

DQM patch version for this job.

Definition at line 205 of file HLXMonitor.h.

MonitorElement* HLXMonitor::errSummaryEtaPhi_
private

Subdetector-specific error summary (float)

Definition at line 206 of file HLXMonitor.h.

MonitorElement* HLXMonitor::errSummarySegment_[10]
private

Subdetector-specific etaPhi summary (float)

Definition at line 207 of file HLXMonitor.h.

MonitorElement* HLXMonitor::ETSum[36]
private

Definition at line 95 of file HLXMonitor.h.

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

std::string HLXMonitor::EtXAxisTitle
private

Definition at line 265 of file HLXMonitor.h.

Referenced by SetupHists().

std::string HLXMonitor::EtYAxisTitle
private

Definition at line 266 of file HLXMonitor.h.

Referenced by SetupHists().

MonitorElement* HLXMonitor::eventId_
private

UTC time of the run start.

Definition at line 186 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

std::string HLXMonitor::eventInfoFolder_
private

Definition at line 257 of file HLXMonitor.h.

Referenced by HLXMonitor(), and SetupEventInfo().

std::string HLXMonitor::eventInfoFolderHLX_
private

Definition at line 256 of file HLXMonitor.h.

Referenced by HLXMonitor(), and SetupEventInfo().

MonitorElement* HLXMonitor::eventTimeStamp_
private

Definition at line 188 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

int HLXMonitor::evtRateCount_
private

Definition at line 292 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

float HLXMonitor::evtRateWindow_
private

Definition at line 291 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

unsigned int HLXMonitor::expectedNibbles_
private

Definition at line 272 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HFCompareEtSum
private

Definition at line 97 of file HLXMonitor.h.

Referenced by FillHistoHFCompare(), ResetAll(), and SetupHists().

MonitorElement* HLXMonitor::HFCompareOccAboveSet1
private

Definition at line 100 of file HLXMonitor.h.

Referenced by FillHistoHFCompare(), ResetAll(), and SetupHists().

MonitorElement* HLXMonitor::HFCompareOccAboveSet2
private

Definition at line 103 of file HLXMonitor.h.

Referenced by FillHistoHFCompare(), ResetAll(), and SetupHists().

MonitorElement* HLXMonitor::HFCompareOccBelowSet1
private

Definition at line 98 of file HLXMonitor.h.

Referenced by FillHistoHFCompare(), ResetAll(), and SetupHists().

MonitorElement* HLXMonitor::HFCompareOccBelowSet2
private

Definition at line 101 of file HLXMonitor.h.

Referenced by FillHistoHFCompare(), ResetAll(), and SetupHists().

MonitorElement* HLXMonitor::HFCompareOccBetweenSet1
private

Definition at line 99 of file HLXMonitor.h.

Referenced by FillHistoHFCompare(), ResetAll(), and SetupHists().

MonitorElement* HLXMonitor::HFCompareOccBetweenSet2
private

Definition at line 102 of file HLXMonitor.h.

Referenced by FillHistoHFCompare(), ResetAll(), and SetupHists().

MonitorElement* HLXMonitor::HistAvgEtSumHFM
private

Definition at line 142 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistAvgEtSumHFP
private

Definition at line 141 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistAvgLumiEtSum
private

Definition at line 158 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistAvgLumiOccSet1
private

Definition at line 159 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistAvgLumiOccSet2
private

Definition at line 160 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistAvgOccAboveSet1HFM
private

Definition at line 148 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistAvgOccAboveSet1HFP
private

Definition at line 147 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistAvgOccAboveSet2HFM
private

Definition at line 154 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistAvgOccAboveSet2HFP
private

Definition at line 153 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistAvgOccBelowSet1HFM
private

Definition at line 144 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistAvgOccBelowSet1HFP
private

Definition at line 143 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistAvgOccBelowSet2HFM
private

Definition at line 150 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistAvgOccBelowSet2HFP
private

Definition at line 149 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistAvgOccBetweenSet1HFM
private

Definition at line 146 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistAvgOccBetweenSet1HFP
private

Definition at line 145 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistAvgOccBetweenSet2HFM
private

Definition at line 152 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistAvgOccBetweenSet2HFP
private

Definition at line 151 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistInstantLumiEtSum
private

Definition at line 161 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistInstantLumiEtSumError
private

Definition at line 164 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistInstantLumiOccSet1
private

Definition at line 162 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistInstantLumiOccSet1Error
private

Definition at line 165 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistInstantLumiOccSet2
private

Definition at line 163 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistInstantLumiOccSet2Error
private

Definition at line 166 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistIntegratedLumiEtSum
private

Definition at line 167 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistIntegratedLumiOccSet1
private

Definition at line 168 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::HistIntegratedLumiOccSet2
private

Definition at line 169 of file HLXMonitor.h.

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

unsigned int HLXMonitor::HLXHFMap[36]
private
TCPReceiver HLXMonitor::HLXTCP
private

Definition at line 87 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::hostName_
private

of event processed so far

Definition at line 200 of file HLXMonitor.h.

Referenced by SetupEventInfo().

timeval HLXMonitor::lastAvgTime_
private

Definition at line 289 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

timeval HLXMonitor::lastUpdateTime_
private

Definition at line 289 of file HLXMonitor.h.

Referenced by FillEventInfo().

int HLXMonitor::listenPort
private

Definition at line 224 of file HLXMonitor.h.

Referenced by beginJob(), and HLXMonitor().

int HLXMonitor::lsBinOld
private

Definition at line 279 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::LumiAvgEtSum
private

Definition at line 114 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::LumiAvgOccSet1
private

Definition at line 115 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::LumiAvgOccSet2
private

Definition at line 116 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::LumiInstantEtSum
private

Definition at line 117 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::LumiInstantOccSet1
private

Definition at line 118 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::LumiInstantOccSet2
private

Definition at line 119 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::LumiIntegratedEtSum
private

Definition at line 120 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::LumiIntegratedOccSet1
private

Definition at line 121 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::LumiIntegratedOccSet2
private

Definition at line 122 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::lumisecId_
private

Definition at line 187 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

HCAL_HLX::LUMI_SECTION HLXMonitor::lumiSection
private

Definition at line 268 of file HLXMonitor.h.

Referenced by analyze().

unsigned int HLXMonitor::lumiSectionCount
private

Definition at line 278 of file HLXMonitor.h.

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

unsigned int HLXMonitor::MAX_LS
private

Definition at line 234 of file HLXMonitor.h.

Referenced by HLXMonitor(), and SetupHists().

MonitorElement* HLXMonitor::MaxInstLumiBX1
private

Definition at line 130 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::MaxInstLumiBX2
private

Definition at line 131 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::MaxInstLumiBX3
private

Definition at line 132 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::MaxInstLumiBX4
private

Definition at line 133 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::MaxInstLumiBXNum1
private

Definition at line 135 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::MaxInstLumiBXNum2
private

Definition at line 136 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::MaxInstLumiBXNum3
private

Definition at line 137 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::MaxInstLumiBXNum4
private

Definition at line 138 of file HLXMonitor.h.

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

unsigned int HLXMonitor::MinLSBeforeSave
private

Definition at line 237 of file HLXMonitor.h.

Referenced by EndRun(), and HLXMonitor().

MonitorElement* HLXMonitor::MissingDQMDataCheck
private

Definition at line 127 of file HLXMonitor.h.

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

std::string HLXMonitor::monitorName_
private

Definition at line 239 of file HLXMonitor.h.

Referenced by HLXMonitor(), and SetupHists().

unsigned int HLXMonitor::NBINS
private

Definition at line 226 of file HLXMonitor.h.

Referenced by HLXMonitor(), and SetupHists().

double HLXMonitor::num4NibblePerLS_
private

Definition at line 296 of file HLXMonitor.h.

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

unsigned int HLXMonitor::NUM_BUNCHES
private

Definition at line 233 of file HLXMonitor.h.

Referenced by FillHistograms(), and HLXMonitor().

unsigned int HLXMonitor::NUM_HLX
private
unsigned int HLXMonitor::numActiveTowersSet1
private

Definition at line 216 of file HLXMonitor.h.

unsigned int HLXMonitor::numActiveTowersSet2
private

Definition at line 217 of file HLXMonitor.h.

MonitorElement* HLXMonitor::nUpdates_
private

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

Definition at line 193 of file HLXMonitor.h.

Referenced by SetupEventInfo().

std::string HLXMonitor::OccXAxisTitle
private

Definition at line 263 of file HLXMonitor.h.

Referenced by SetupHists().

std::string HLXMonitor::OccYAxisTitle
private

Definition at line 264 of file HLXMonitor.h.

Referenced by SetupHists().

std::string HLXMonitor::OutputDir
private

Definition at line 229 of file HLXMonitor.h.

Referenced by HLXMonitor(), and SaveDQMFile().

std::string HLXMonitor::OutputFilePrefix
private

Definition at line 228 of file HLXMonitor.h.

Referenced by HLXMonitor(), and SaveDQMFile().

int HLXMonitor::pEvent_
private

Definition at line 293 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

int HLXMonitor::prescaleEvt_
private

Definition at line 240 of file HLXMonitor.h.

Referenced by HLXMonitor().

unsigned int HLXMonitor::previousSection
private

Definition at line 277 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::processEventRate_
private

Time elapsed since the last event.

Definition at line 198 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

MonitorElement* HLXMonitor::processEvents_
private

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

Definition at line 199 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

MonitorElement* HLXMonitor::processId_
private

Number of collector updates (TBD)

Definition at line 194 of file HLXMonitor.h.

Referenced by SetupEventInfo().

MonitorElement* HLXMonitor::processLatency_
private

The UTC time of the last event.

Definition at line 197 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

MonitorElement* HLXMonitor::processName_
private

Hostname of the local machine.

Definition at line 201 of file HLXMonitor.h.

Referenced by SetupEventInfo().

MonitorElement* HLXMonitor::processStartTimeStamp_
private

The PID associated with this job.

Definition at line 195 of file HLXMonitor.h.

Referenced by SetupEventInfo().

MonitorElement* HLXMonitor::processTimeStamp_
private

The UTC time of the first event processed.

Definition at line 196 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

unsigned char* HLXMonitor::rData
private

Definition at line 220 of file HLXMonitor.h.

MonitorElement* HLXMonitor::RecentInstantLumiEtSum
private

Definition at line 171 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::RecentInstantLumiOccSet1
private

Definition at line 172 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::RecentInstantLumiOccSet2
private

Definition at line 173 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::RecentIntegratedLumiEtSum
private

Definition at line 174 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::RecentIntegratedLumiOccSet1
private

Definition at line 175 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::RecentIntegratedLumiOccSet2
private

Definition at line 176 of file HLXMonitor.h.

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

unsigned int HLXMonitor::reconnTime
private

Definition at line 242 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::reportSummary_
private

Definition at line 210 of file HLXMonitor.h.

Referenced by FillReportSummary(), and SetupEventInfo().

MonitorElement* HLXMonitor::reportSummaryMap_
private

Definition at line 211 of file HLXMonitor.h.

Referenced by FillReportSummary(), and SetupEventInfo().

bool HLXMonitor::ResetAtNewRun
private

Definition at line 253 of file HLXMonitor.h.

Referenced by EndRun(), and HLXMonitor().

MonitorElement* HLXMonitor::runId_
private

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

Definition at line 184 of file HLXMonitor.h.

Referenced by FillEventInfo(), and SetupEventInfo().

unsigned int HLXMonitor::runNumber_
private

Definition at line 271 of file HLXMonitor.h.

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

unsigned int HLXMonitor::runNumLength
private

Definition at line 260 of file HLXMonitor.h.

Referenced by HLXMonitor(), and SaveDQMFile().

timeval HLXMonitor::runStartTime_
private

Definition at line 290 of file HLXMonitor.h.

MonitorElement* HLXMonitor::runStartTimeStamp_
private

Definition at line 185 of file HLXMonitor.h.

Referenced by analyze(), and SetupEventInfo().

bool HLXMonitor::SaveAtEndJob
private

Definition at line 254 of file HLXMonitor.h.

Referenced by endJob(), and HLXMonitor().

int HLXMonitor::SavePeriod
private

Definition at line 231 of file HLXMonitor.h.

Referenced by HLXMonitor().

unsigned int HLXMonitor::secNumLength
private

Definition at line 261 of file HLXMonitor.h.

Referenced by HLXMonitor().

short int HLXMonitor::SectionComplete
private

Definition at line 221 of file HLXMonitor.h.

double HLXMonitor::sectionInstantErrSumEt
private

Definition at line 281 of file HLXMonitor.h.

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

double HLXMonitor::sectionInstantErrSumOcc1
private

Definition at line 283 of file HLXMonitor.h.

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

double HLXMonitor::sectionInstantErrSumOcc2
private

Definition at line 285 of file HLXMonitor.h.

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

double HLXMonitor::sectionInstantNorm
private

Definition at line 286 of file HLXMonitor.h.

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

double HLXMonitor::sectionInstantSumEt
private

Definition at line 280 of file HLXMonitor.h.

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

double HLXMonitor::sectionInstantSumOcc1
private

Definition at line 282 of file HLXMonitor.h.

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

double HLXMonitor::sectionInstantSumOcc2
private

Definition at line 284 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::Set1Above[36]
private

Definition at line 91 of file HLXMonitor.h.

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

unsigned int HLXMonitor::set1AboveIndex
private

Definition at line 248 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::Set1Below[36]
private

Definition at line 89 of file HLXMonitor.h.

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

unsigned int HLXMonitor::set1BelowIndex
private

Definition at line 246 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::Set1Between[36]
private

Definition at line 90 of file HLXMonitor.h.

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

unsigned int HLXMonitor::set1BetweenIndex
private

Definition at line 247 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::Set2Above[36]
private

Definition at line 94 of file HLXMonitor.h.

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

unsigned int HLXMonitor::set2AboveIndex
private

Definition at line 251 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::Set2Below[36]
private

Definition at line 92 of file HLXMonitor.h.

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

unsigned int HLXMonitor::set2BelowIndex
private

Definition at line 249 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::Set2Between[36]
private

Definition at line 93 of file HLXMonitor.h.

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

unsigned int HLXMonitor::set2BetweenIndex
private

Definition at line 250 of file HLXMonitor.h.

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

std::string HLXMonitor::Style
private

Definition at line 230 of file HLXMonitor.h.

std::string HLXMonitor::subSystemName_
private

Definition at line 258 of file HLXMonitor.h.

Referenced by HLXMonitor(), SaveDQMFile(), and SetupEventInfo().

MonitorElement* HLXMonitor::SumAllOccSet1
private

Definition at line 125 of file HLXMonitor.h.

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

MonitorElement* HLXMonitor::SumAllOccSet2
private

Definition at line 126 of file HLXMonitor.h.

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

unsigned int HLXMonitor::totalNibbles_[36]
private

Definition at line 273 of file HLXMonitor.h.

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

unsigned int HLXMonitor::TriggerBX
private

Definition at line 236 of file HLXMonitor.h.

Referenced by FillHistoHFCompare(), and HLXMonitor().

MonitorElement* HLXMonitor::workingDir_
private

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

Definition at line 202 of file HLXMonitor.h.

Referenced by SetupEventInfo().

double HLXMonitor::XMAX
private

Definition at line 225 of file HLXMonitor.h.

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

double HLXMonitor::XMIN
private

Definition at line 225 of file HLXMonitor.h.

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