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
 
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
void setVerbose(unsigned level)
Definition: DQMStore.cc:548
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:1430
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:1393
double getUTCtime(timeval *a, timeval *b=NULL)
Definition: HLXMonitor.cc:1552
int ReceiveLumiSection(HCAL_HLX::LUMI_SECTION &localSection)
Definition: TCPReceiver.cc:88
void EndRun(bool saveFile=true)
Definition: HLXMonitor.cc:873
tuple cout
Definition: gather_cfg.py:121
void FillHistograms(const LUMI_SECTION &)
Definition: HLXMonitor.cc:904
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:1344
void HLXMonitor::beginJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 833 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.

834 {
836  int errorCode = HLXTCP.SetPort(listenPort);
837  cout << "SetPort: " << listenPort << " Success: " << errorCode << endl;
838  errorCode = HLXTCP.SetMode(AquireMode);
839  cout << "AquireMode: " << AquireMode << " Success: " << errorCode << endl;
840 
841  while( HLXTCP.IsConnected() == false )
842  {
844  if( HLXTCP.Connect() != 1 )
845  {
846  std::cout << "Failed to connect to " << DistribIP1 << "." << std::endl;
847  sleep( 1 );
848  std::cout << "Trying " << DistribIP2 << std::endl;
850  if( HLXTCP.Connect() == 1) break;
851  std::cout << "Failed to connect to " << DistribIP2 << "." << std::endl;
852  std::cout << " Reconnect in " << reconnTime << " seconds." << std::endl;
853  sleep(reconnTime);
854  }
855  }
856  if( HLXTCP.IsConnected() == true )
857  {
858  std::cout << "Successfully connected." << std::endl;
859  }
860 
861 }
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 864 of file HLXMonitor.cc.

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

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

Definition at line 873 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().

874 {
876 
877  // Do some things that should be done at the end of the run ...
878  if( saveFile && runNumber_ != 0 ){
880  else std::cout << "Num LS's (" << int(lumiSectionCount/num4NibblePerLS_) << ") "
881  << "is less than required minumum (" << MinLSBeforeSave
882  << "). File will not be saved!" << std::endl;
883  }
884  expectedNibbles_ = 0;
885  for( unsigned int iHLX = 0; iHLX < NUM_HLX; ++iHLX ) totalNibbles_[iHLX] = 0;
886 
887  std::cout << "** Here in end run **" << std::endl;
888  if(ResetAtNewRun) ResetAll();
889  runNumber_ = 0;
890  currentRunEnded_ = true;
897  sectionInstantNorm = 0;
898  lsBinOld = 0;
899  lumiSectionCount = 0;
900  previousSection = 0;
901 }
double sectionInstantSumEt
Definition: HLXMonitor.h:280
unsigned int totalNibbles_[36]
Definition: HLXMonitor.h:273
void FillReportSummary()
Definition: HLXMonitor.cc:1430
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:1450
void SaveDQMFile()
Definition: HLXMonitor.cc:807
void HLXMonitor::FillEventInfo ( const LUMI_SECTION section,
const edm::Event e 
)
private

Definition at line 1393 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().

1394 {
1395  // New run .. set the run number and fill run summaries ...
1396  //std::cout << "Run number " << runNumber_ << " Section hdr run number "
1397 // << section.hdr.runNumber << std::endl;
1398 
1399  runId_->Fill( section.hdr.runNumber );
1400  lumisecId_->Fill( (int)(section.hdr.sectionNumber/num4NibblePerLS_) + 1 );
1401 
1402  // Update the total nibbles & the expected number
1403  expectedNibbles_ += section.hdr.numOrbits/4096;
1404  for( unsigned int iHLX = 0; iHLX < NUM_HLX; ++iHLX ){
1405  unsigned int iWedge = HLXHFMap[iHLX] + 1;
1406  totalNibbles_[iWedge-1] += section.occupancy[iHLX].hdr.numNibbles;
1407  }
1408 
1409  eventId_->Fill(e.id().event());
1410  eventTimeStamp_->Fill(e.time().value()/(double)0xffffffff);
1411 
1412  pEvent_++;
1413  evtRateCount_++;
1415 
1417  gettimeofday(&currentTime_,NULL);
1420 
1422  if(time>=(evtRateWindow_*60.0)){
1423  processEventRate_->Fill((float)evtRateCount_/time);
1424  evtRateCount_ = 0;
1426  }
1427 
1428 }
EventNumber_t event() const
Definition: EventID.h:44
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:1552
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 904 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, reco::e1, HCAL_HLX::LUMI_DETAIL::ETLumi, HCAL_HLX::LUMI_DETAIL::ETLumiErr, ETSum, HCAL_HLX::LUMI_SECTION::etSum, MonitorElement::Fill(), HcalObjRepresent::Fill(), 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, 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().

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

1345 {
1346 
1347  for( unsigned int iHLX = 0; iHLX < NUM_HLX; ++iHLX ){
1348 
1349  unsigned int iWedge = HLXHFMap[iHLX];
1350 
1351  if(section.occupancy[iHLX].hdr.numNibbles != 0){
1352  float nActvTwrsSet1 = section.occupancy[iHLX].data[set1AboveIndex][TriggerBX]
1353  + section.occupancy[iHLX].data[set1BetweenIndex][TriggerBX]
1354  + section.occupancy[iHLX].data[set1BelowIndex][TriggerBX];
1355 
1356  float nActvTwrsSet2 = section.occupancy[iHLX].data[set2AboveIndex][TriggerBX]
1357  + section.occupancy[iHLX].data[set2BetweenIndex][TriggerBX]
1358  + section.occupancy[iHLX].data[set2BelowIndex][TriggerBX];
1359 
1360  float total = nActvTwrsSet1 + nActvTwrsSet2;
1361 
1362  if( total > 0){
1363  float tempData = section.etSum[iHLX].data[TriggerBX]/total;
1364  //cout << "Filling HFCompare Et sum " << tempData << endl;
1365  HFCompareEtSum->Fill( iWedge, tempData );
1366  }
1367 
1368  if(nActvTwrsSet1 > 0){
1369  float tempData = (float)section.occupancy[iHLX].data[set1BelowIndex][TriggerBX]/nActvTwrsSet1;
1370  HFCompareOccBelowSet1->Fill( iWedge, tempData);
1371 
1372  tempData = (float)section.occupancy[iHLX].data[set1BetweenIndex][TriggerBX]/nActvTwrsSet1;
1373  HFCompareOccBetweenSet1->Fill( iWedge, tempData);
1374 
1375  tempData = (float)section.occupancy[iHLX].data[set1AboveIndex][TriggerBX]/nActvTwrsSet1;
1376  HFCompareOccAboveSet1->Fill( iWedge, tempData);
1377  }
1378 
1379  if( nActvTwrsSet2 > 0){
1380  float tempData = (float)section.occupancy[iHLX].data[set2BelowIndex][TriggerBX]/nActvTwrsSet2;
1381  HFCompareOccBelowSet2->Fill( iWedge, tempData);
1382 
1383  tempData = (float)section.occupancy[iHLX].data[set2BetweenIndex][TriggerBX]/nActvTwrsSet2;
1384  HFCompareOccBetweenSet2->Fill( iWedge, tempData);
1385 
1386  tempData = (float)section.occupancy[iHLX].data[set2AboveIndex][TriggerBX]/nActvTwrsSet2;
1387  HFCompareOccAboveSet2->Fill( iWedge, tempData);
1388  }
1389  }
1390  }
1391 }
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 1430 of file HLXMonitor.cc.

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

Referenced by analyze(), and EndRun().

1430  {
1431  // Run summary - Loop over the HLX's and fill the map,
1432  // also calculate the overall quality.
1433  float overall = 0.0;
1434  for( unsigned int iHLX = 0; iHLX < NUM_HLX; ++iHLX ){
1435  unsigned int iWedge = HLXHFMap[iHLX] + 1;
1436  unsigned int iEta = 2;
1437  float frac = 0.0;
1438  if( expectedNibbles_ > 0 ) frac = (float)totalNibbles_[iWedge-1]/(float)expectedNibbles_;
1439  if( iWedge >= 19 ){ iEta = 1; iWedge -= 18; }
1440  reportSummaryMap_->setBinContent(iWedge,iEta,frac);
1441  overall += frac;
1442  }
1443 
1444  overall /= (float)NUM_HLX;
1445  if( overall > 1.0 ) overall = 0.0;
1446  //std::cout << "Filling report summary! Main. " << overall << std::endl;
1447  reportSummary_->Fill(overall);
1448 }
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 1552 of file HLXMonitor.cc.

References NULL.

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

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

Definition at line 1450 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().

1451 {
1452  for( unsigned int iHLX = 0; iHLX < NUM_HLX; ++iHLX )
1453  {
1454  dbe_->softReset( Set1Below[iHLX] );
1455  dbe_->softReset( Set1Between[iHLX] );
1456  dbe_->softReset( Set1Above[iHLX] );
1457  dbe_->softReset( Set2Below[iHLX] );
1458  dbe_->softReset( Set2Between[iHLX] );
1459  dbe_->softReset( Set2Above[iHLX] );
1460 
1461  dbe_->softReset( ETSum[iHLX] );
1462 
1463  }
1464 
1472 
1480 
1481  // Luminosity Monitoring
1491 
1492  // Sanity Check for Occupancy
1496 
1501 
1506 
1507 
1508  // History
1509  lumiSectionCount = 0;
1510  previousSection = 0;
1513 
1520 
1527 
1540 
1547 
1550 }
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
void softReset(MonitorElement *me)
Definition: DQMStore.cc:2934
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  (DQMStore::SaveReferenceTag)saveReference_, saveReferenceQMin_);
828 
829  //dbe_->save(tempStreamer.str());
830 }
std::string OutputDir
Definition: HLXMonitor.h:229
int i
Definition: DBlmapReader.cc:9
std::vector< std::string > getSubdirs(void) const
Definition: DQMStore.cc:1574
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:561
unsigned int runNumber_
Definition: HLXMonitor.h:271
std::string OutputFilePrefix
Definition: HLXMonitor.h:228
SaveReferenceTag
Definition: DQMStore.h:73
DQMStore * dbe_
Definition: HLXMonitor.h:214
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", const uint32_t run=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:2296
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
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:809
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
MonitorElement * bookString(const char *name, const char *value)
Book string.
Definition: DQMStore.cc:838
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:1552
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 * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:779
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:1000
MonitorElement * workingDir_
DQM &quot;name&quot; of the job (eg, Hcal or DT)
Definition: HLXMonitor.h:202
MonitorElement * reportSummary_
Definition: HLXMonitor.h:210
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:584
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_, 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 
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
std::vector< std::string > getSubdirs(void) const
Definition: DQMStore.cc:1574
MonitorElement * SumAllOccSet1
Definition: HLXMonitor.h:125
MonitorElement * LumiInstantOccSet2
Definition: HLXMonitor.h:119
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:872
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
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:561
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 * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1186
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
void tagContents(const std::string &path, unsigned int myTag)
tag all children of folder (does NOT include subfolders)
Definition: DQMStore.cc:1540
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
void showDirStructure(void) const
Definition: DQMStore.cc:2961
MonitorElement * LumiAvgOccSet1
Definition: HLXMonitor.h:115
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:1000
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
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:584
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.

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().