CMS 3D CMS Logo

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

#include <DQMProvInfo.h>

Inheritance diagram for DQMProvInfo:
one::DQMEDAnalyzer< edm::one::WatchLuminosityBlocks > one::dqmimplementation::DQMBaseClass< T... >

Public Member Functions

 DQMProvInfo (const edm::ParameterSet &ps)
 
 ~DQMProvInfo () override
 
- Public Member Functions inherited from one::DQMEDAnalyzer< edm::one::WatchLuminosityBlocks >
 DQMEDAnalyzer ()=default
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > &&)=delete
 
 ~DQMEDAnalyzer () override=default
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 
void beginLuminosityBlock (const edm::LuminosityBlock &l, const edm::EventSetup &c) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (const edm::Run &r, const edm::EventSetup &c) override
 
void endLuminosityBlock (const edm::LuminosityBlock &l, const edm::EventSetup &c) override
 

Private Member Functions

void analyzeEventInfo (const edm::Event &e)
 
void analyzeLhcInfo (const edm::Event &e)
 
void analyzeProvInfo (const edm::Event &e)
 
void blankAllLumiSections ()
 
void blankPreviousLumiSections (const int currentLSNumber)
 
void bookHistogramsEventInfo (DQMStore::IBooker &)
 
void bookHistogramsLhcInfo (DQMStore::IBooker &)
 
void bookHistogramsProvInfo (DQMStore::IBooker &)
 
void endLuminosityBlockEventInfo (const int currentLSNumber)
 
void endLuminosityBlockLhcInfo (const int currentLSNumber)
 
void fillDcsBitsFromDCSRecord (const DCSRecord &)
 
void fillDcsBitsFromDcsStatusCollection (const edm::Handle< DcsStatusCollection > &)
 
bool isPhysicsDeclared ()
 

Private Attributes

int beamMode_
 
bool dcsBits_ [MAX_DCS_VBINS+1]
 
edm::EDGetTokenT< DCSRecorddcsRecordToken_
 
edm::EDGetTokenT< DcsStatusCollectiondcsStatusCollection_
 
bool foundFirstDcsBits_
 
bool foundFirstPhysicsDeclared_
 
std::string globalTag_
 
bool globalTagRetrieved_
 
MonitorElementhBeamMode_
 
MonitorElementhHltKey_
 
MonitorElementhIntensity1_
 
MonitorElementhIntensity2_
 
MonitorElementhIsCollisionsRun_
 
MonitorElementhLhcFill_
 
std::string hltKey_
 
MonitorElementhMomentum_
 
MonitorElementhostName_
 
int intensity1_
 
int intensity2_
 
int lhcFill_
 
int momentum_
 
bool physicsDeclared_
 
int previousLSNumber_
 
MonitorElementprocessId_
 
std::string provinfofolder_
 
MonitorElementreportSummary_
 
MonitorElementreportSummaryMap_
 
std::string runType_
 
std::string subsystemname_
 
edm::EDGetTokenT< TCDSRecordtcdsrecord_
 
MonitorElementversCMSSW_
 
MonitorElementversGlobaltag_
 
MonitorElementversRuntype_
 
MonitorElementworkingDir_
 

Static Private Attributes

static const int MAX_DCS_VBINS = 25
 
static const int MAX_LUMIS = 6000
 
static const int MAX_MOMENTUM = 6500
 
static const int MAX_VBINS = 29
 
static const int MOMENTUM_OFFSET = 1
 
static const int VBIN_BPIX = 17
 
static const int VBIN_CASTOR = 24
 
static const int VBIN_CSC_M = 2
 
static const int VBIN_CSC_P = 1
 
static const int VBIN_DT_0 = 3
 
static const int VBIN_DT_M = 5
 
static const int VBIN_DT_P = 4
 
static const int VBIN_EB_M = 7
 
static const int VBIN_EB_P = 6
 
static const int VBIN_EE_M = 9
 
static const int VBIN_EE_P = 8
 
static const int VBIN_ES_M = 11
 
static const int VBIN_ES_P = 10
 
static const int VBIN_FPIX = 18
 
static const int VBIN_HBHE_A = 12
 
static const int VBIN_HBHE_B = 13
 
static const int VBIN_HBHE_C = 14
 
static const int VBIN_HF = 15
 
static const int VBIN_HO = 16
 
static const int VBIN_MOMENTUM = 27
 
static const int VBIN_PHYSICS_DECLARED = 26
 
static const int VBIN_RPC = 19
 
static const int VBIN_STABLE_BEAM = 28
 
static const int VBIN_TE_M = 23
 
static const int VBIN_TEC_P = 22
 
static const int VBIN_TIBTID = 20
 
static const int VBIN_TOB = 21
 
static const int VBIN_VALID = 29
 
static const int VBIN_ZDC = 25
 

Detailed Description

Definition at line 23 of file DQMProvInfo.h.

Constructor & Destructor Documentation

DQMProvInfo::DQMProvInfo ( const edm::ParameterSet ps)

Definition at line 23 of file DQMProvInfo.cc.

References dcsRecordToken_, dcsStatusCollection_, edm::ParameterSet::getUntrackedParameter(), globalTag_, globalTagRetrieved_, previousLSNumber_, provinfofolder_, runType_, AlCaHLTBitMon_QueryRunRegistry::string, subsystemname_, tcdsrecord_, and ~DQMProvInfo().

23  {
24  // Initialization of DQM parameters
26  ps.getUntrackedParameter<std::string>("subSystemFolder", "Info");
28  ps.getUntrackedParameter<std::string>("provInfoFolder", "ProvInfo");
29  runType_ =
30  ps.getUntrackedParameter<std::string>("runType", "No run type selected");
31 
32  // Initialization of the input
33  // Used to get the DCS bits:
35  consumes<DcsStatusCollection>(ps.getUntrackedParameter<std::string>("dcsStatusCollection", "scalersRawToDigi"));
36 
37  // Used to get the BST record from the TCDS information
38  tcdsrecord_ = consumes<TCDSRecord>(
39  ps.getUntrackedParameter<edm::InputTag>("tcdsData", edm::InputTag("tcdsDigis", "tcdsRecord")));
40 
41  // Used to get the DCS bits:
42  dcsRecordToken_ = consumes<DCSRecord>(edm::InputTag("onlineMetaDataRawToDigi"));
43 
44  // Initialization of the global tag
45  globalTag_ = "MODULE::DEFAULT"; // default
46  globalTagRetrieved_ = false; // set as soon as retrieved from first event
47 
48  // Initialization of run scope variables
49  previousLSNumber_ = 0; // Previous LS compared to current, initializing at 0
50 }
T getUntrackedParameter(std::string const &, T const &) const
int previousLSNumber_
Definition: DQMProvInfo.h:135
edm::EDGetTokenT< DcsStatusCollection > dcsStatusCollection_
Definition: DQMProvInfo.h:116
edm::EDGetTokenT< DCSRecord > dcsRecordToken_
Definition: DQMProvInfo.h:118
bool globalTagRetrieved_
Definition: DQMProvInfo.h:145
std::string globalTag_
Definition: DQMProvInfo.h:144
std::string subsystemname_
Definition: DQMProvInfo.h:113
std::string runType_
Definition: DQMProvInfo.h:147
edm::EDGetTokenT< TCDSRecord > tcdsrecord_
Definition: DQMProvInfo.h:117
std::string provinfofolder_
Definition: DQMProvInfo.h:114
DQMProvInfo::~DQMProvInfo ( )
overridedefault

Referenced by DQMProvInfo().

Member Function Documentation

void DQMProvInfo::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overrideprotected

Definition at line 248 of file DQMProvInfo.cc.

References analyzeEventInfo(), analyzeLhcInfo(), and analyzeProvInfo().

248  {
249  // This happens on an event by event base
250  // We extract information from events, placing them in local variables
251  // and then at the end of each lumisection, we fill them in the MonitorElement
252  // (Except for the global tag, which we only extract from the first event we
253  // ever encounter and put in the MonitorElement right away)
254 
258 }
void analyzeEventInfo(const edm::Event &e)
Definition: DQMProvInfo.cc:276
void analyzeProvInfo(const edm::Event &e)
Definition: DQMProvInfo.cc:295
void analyzeLhcInfo(const edm::Event &e)
Definition: DQMProvInfo.cc:260
Definition: event.py:1
void DQMProvInfo::analyzeEventInfo ( const edm::Event e)
private

Definition at line 276 of file DQMProvInfo.cc.

References dcsRecordToken_, dcsStatusCollection_, fillDcsBitsFromDCSRecord(), and fillDcsBitsFromDcsStatusCollection().

Referenced by analyze().

276  {
277  // Part 1:
278  // If FED#735 is available use it to extract DcsStatusCollection.
279  // If not, use softFED#1022 to extract DCSRecord.
280  // Populate dcsBits_ array with received information.
281 
282  edm::Handle<DcsStatusCollection> dcsStatusCollection;
283  event.getByToken(dcsStatusCollection_, dcsStatusCollection);
284 
285  if (!dcsStatusCollection->empty()) {
286  edm::LogInfo("DQMProvInfo") << "Using FED#735 for reading DCS bits" << std::endl;
287  fillDcsBitsFromDcsStatusCollection(dcsStatusCollection);
288  } else {
289  edm::LogInfo("DQMProvInfo") << "Using softFED#1022 for reading DCS bits" << std::endl;
290  DCSRecord const& dcsRecord = event.get(dcsRecordToken_);
291  fillDcsBitsFromDCSRecord(dcsRecord);
292  }
293 }
void fillDcsBitsFromDcsStatusCollection(const edm::Handle< DcsStatusCollection > &)
Definition: DQMProvInfo.cc:346
edm::EDGetTokenT< DcsStatusCollection > dcsStatusCollection_
Definition: DQMProvInfo.h:116
edm::EDGetTokenT< DCSRecord > dcsRecordToken_
Definition: DQMProvInfo.h:118
Class to contain DCS information from soft FED 1022.
Definition: DCSRecord.h:22
void fillDcsBitsFromDCSRecord(const DCSRecord &)
Definition: DQMProvInfo.cc:312
void DQMProvInfo::analyzeLhcInfo ( const edm::Event e)
private

Definition at line 260 of file DQMProvInfo.cc.

References beamMode_, BSTRecord::getBeamMode(), BSTRecord::getBeamMomentum(), TCDSRecord::getBST(), BSTRecord::getIntensityBeam1(), BSTRecord::getIntensityBeam2(), BSTRecord::getLhcFill(), intensity1_, intensity2_, edm::HandleBase::isValid(), lhcFill_, momentum_, and tcdsrecord_.

Referenced by analyze().

260  {
261  edm::Handle<TCDSRecord> tcdsData;
262  event.getByToken( tcdsrecord_, tcdsData );
263  // We unpack the TCDS record from TCDS
264  if( tcdsData.isValid() ) {
265  //and we look at the BST information
266  lhcFill_ = static_cast<int>( tcdsData->getBST().getLhcFill() );
267  beamMode_ = static_cast<int>( tcdsData->getBST().getBeamMode() );
268  momentum_ = static_cast<int>( tcdsData->getBST().getBeamMomentum() );
269  intensity1_ = static_cast<int>( tcdsData->getBST().getIntensityBeam1() );
270  intensity2_ = static_cast<int>( tcdsData->getBST().getIntensityBeam2() );
271  } else {
272  edm::LogWarning("DQMProvInfo") << "TCDS Data inaccessible.";
273  }
274 }
const BSTRecord & getBST() const
Definition: TCDSRecord.h:104
uint16_t const getBeamMode() const
Definition: BSTRecord.h:73
int32_t const getBeamMomentum() const
Definition: BSTRecord.h:82
uint32_t const getIntensityBeam2() const
Definition: BSTRecord.h:88
bool isValid() const
Definition: HandleBase.h:74
edm::EDGetTokenT< TCDSRecord > tcdsrecord_
Definition: DQMProvInfo.h:117
uint32_t const getLhcFill() const
Definition: BSTRecord.h:70
uint32_t const getIntensityBeam1() const
Definition: BSTRecord.h:85
void DQMProvInfo::analyzeProvInfo ( const edm::Event e)
private

Definition at line 295 of file DQMProvInfo.cc.

References MonitorElement::Fill(), edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterSet(), globalTag_, globalTagRetrieved_, modifiedElectrons_cfi::processName, AlCaHLTBitMon_QueryRunRegistry::string, and versGlobaltag_.

Referenced by analyze().

295  {
296  // Only trying to retrieve the global tag for the first event we ever
297  // encounter.
298  if (!globalTagRetrieved_) {
299  // Getting the real process name for the given event
300  std::string processName = event.processHistory()[event.processHistory().size() - 1].processName();
301  // Getting parameters for that process
303  event.getProcessParameterSet(processName, ps);
304  // Getting the global tag
305  globalTag_ = ps.getParameterSet("PoolDBESSource@GlobalTag").getParameter<std::string>("globaltag");
307  // Finaly: Setting globalTagRetrieved_ to true, since we got it now
308  globalTagRetrieved_ = true;
309  }
310 }
T getParameter(std::string const &) const
MonitorElement * versGlobaltag_
Definition: DQMProvInfo.h:143
bool globalTagRetrieved_
Definition: DQMProvInfo.h:145
void Fill(long long x)
std::string globalTag_
Definition: DQMProvInfo.h:144
ParameterSet const & getParameterSet(std::string const &) const
void DQMProvInfo::beginLuminosityBlock ( const edm::LuminosityBlock l,
const edm::EventSetup c 
)
overrideprotected

Definition at line 231 of file DQMProvInfo.cc.

References dcsBits_, foundFirstDcsBits_, foundFirstPhysicsDeclared_, MAX_DCS_VBINS, and physicsDeclared_.

232  {
233  // By default we set the Physics Declared bit to false at the beginning of
234  // every LS
235  physicsDeclared_ = false;
236  // Boolean that tells the analyse method that we encountered the first real
237  // dcs info
239  // By default we set all the DCS bits to false at the beginning of every LS
240  for (int vbin = 1; vbin <= MAX_DCS_VBINS; vbin++) {
241  dcsBits_[vbin] = false;
242  }
243  // Boolean that tells the analyse method that we encountered the first real
244  // dcs info
245  foundFirstDcsBits_ = false;
246 }
bool foundFirstDcsBits_
Definition: DQMProvInfo.h:139
bool foundFirstPhysicsDeclared_
Definition: DQMProvInfo.h:137
static const int MAX_DCS_VBINS
Definition: DQMProvInfo.h:91
bool physicsDeclared_
Definition: DQMProvInfo.h:136
bool dcsBits_[MAX_DCS_VBINS+1]
Definition: DQMProvInfo.h:138
void DQMProvInfo::blankAllLumiSections ( )
private

Definition at line 506 of file DQMProvInfo.cc.

References eostools::ls(), MAX_LUMIS, MAX_VBINS, reportSummaryMap_, and MonitorElement::setBinContent().

Referenced by bookHistogramsEventInfo().

506  {
507  // Initially we want all lumisection to be blank (-1) and
508  // white instead of red which is misleading.
509  for (int ls = 0; ls < MAX_LUMIS; ls++) {
510  // Color all the bins white (-1)
511  for (int vBin = 1; vBin <= MAX_VBINS; vBin++) {
512  reportSummaryMap_->setBinContent(ls, vBin, -1.);
513  }
514  }
515 }
void setBinContent(int binx, double content)
set content of bin (1-D)
static const int MAX_LUMIS
Definition: DQMProvInfo.h:59
static const int MAX_VBINS
Definition: DQMProvInfo.h:98
def ls(path, rec=False)
Definition: eostools.py:349
MonitorElement * reportSummaryMap_
Definition: DQMProvInfo.h:134
void DQMProvInfo::blankPreviousLumiSections ( const int  currentLSNumber)
private

Definition at line 491 of file DQMProvInfo.cc.

References eostools::ls(), previousLSNumber_, reportSummaryMap_, MonitorElement::setBinContent(), and VBIN_VALID.

Referenced by endLuminosityBlockEventInfo().

491  {
492  // In case we skipped lumisections, the current lumisection number will be
493  // more than the previous lumisection number + 1.
494  // We paint all the skipped lumisections completely white (-1), except for
495  // the top flag (the "valid" flag), which we paint red (0).
496  for (int ls = previousLSNumber_ + 1; ls < currentLSNumber; ls++) {
497  // Color the "Valid" bin red (0)
499  // Color all the other bins white (-1)
500  for (int vBin = 1; vBin < VBIN_VALID; vBin++) {
501  reportSummaryMap_->setBinContent(ls, vBin, -1.);
502  }
503  }
504 }
void setBinContent(int binx, double content)
set content of bin (1-D)
int previousLSNumber_
Definition: DQMProvInfo.h:135
static const int VBIN_VALID
Definition: DQMProvInfo.h:96
def ls(path, rec=False)
Definition: eostools.py:349
MonitorElement * reportSummaryMap_
Definition: DQMProvInfo.h:134
void DQMProvInfo::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  iRun,
edm::EventSetup const &  iEventSetup 
)
overrideprotected

Definition at line 75 of file DQMProvInfo.cc.

References bookHistogramsEventInfo(), bookHistogramsLhcInfo(), bookHistogramsProvInfo(), DQMStore::IBooker::cd(), provinfofolder_, DQMStore::IBooker::setCurrentFolder(), and subsystemname_.

77  {
78  iBooker.cd();
79  // This module will create elements in 3 different folders:
80  // - Info/LhcInfo
81  // - Info/EventInfo
82  // - Info/ProvInfo
83  // (string "Info" configurable through subsystemname_)
84  // (string "Provinfo" configurable through provinfofolder_)
85  iBooker.setCurrentFolder(subsystemname_ + "/LhcInfo/");
86  bookHistogramsLhcInfo(iBooker);
87 
88  iBooker.setCurrentFolder(subsystemname_ + "/EventInfo/");
89  bookHistogramsEventInfo(iBooker);
90 
92  bookHistogramsProvInfo(iBooker);
93 }
void bookHistogramsEventInfo(DQMStore::IBooker &)
Definition: DQMProvInfo.cc:156
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
void bookHistogramsProvInfo(DQMStore::IBooker &)
Definition: DQMProvInfo.cc:200
void bookHistogramsLhcInfo(DQMStore::IBooker &)
Definition: DQMProvInfo.cc:95
std::string subsystemname_
Definition: DQMProvInfo.h:113
std::string provinfofolder_
Definition: DQMProvInfo.h:114
void DQMProvInfo::bookHistogramsEventInfo ( DQMStore::IBooker iBooker)
private

Definition at line 156 of file DQMProvInfo.cc.

References blankAllLumiSections(), DQMStore::IBooker::book2D(), DQMStore::IBooker::bookFloat(), MonitorElement::getTH2F(), MAX_LUMIS, MAX_VBINS, reportSummary_, reportSummaryMap_, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), VBIN_BPIX, VBIN_CASTOR, VBIN_CSC_M, VBIN_CSC_P, VBIN_DT_0, VBIN_DT_M, VBIN_DT_P, VBIN_EB_M, VBIN_EB_P, VBIN_EE_M, VBIN_EE_P, VBIN_ES_M, VBIN_ES_P, VBIN_FPIX, VBIN_HBHE_A, VBIN_HBHE_B, VBIN_HBHE_C, VBIN_HF, VBIN_HO, VBIN_MOMENTUM, VBIN_PHYSICS_DECLARED, VBIN_RPC, VBIN_STABLE_BEAM, VBIN_TE_M, VBIN_TEC_P, VBIN_TIBTID, VBIN_TOB, VBIN_VALID, and VBIN_ZDC.

Referenced by bookHistograms().

156  {
157  // Element: reportSummary
158  reportSummary_ = iBooker.bookFloat("reportSummary");
159 
160  // Element: reportSummaryMap (this is the famous HV plot)
161  reportSummaryMap_ = iBooker.book2D(
162  "reportSummaryMap", "DCS HV Status and Beam Status per Lumisection",
164  reportSummaryMap_->setAxisTitle("Luminosity Section");
165  reportSummaryMap_->getTH2F()->SetCanExtend(TH1::kAllAxes);
166 
196 
198 }
MonitorElement * reportSummary_
Definition: DQMProvInfo.h:133
static const int VBIN_EE_P
Definition: DQMProvInfo.h:69
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
static const int VBIN_VALID
Definition: DQMProvInfo.h:96
void blankAllLumiSections()
Definition: DQMProvInfo.cc:506
static const int VBIN_CASTOR
Definition: DQMProvInfo.h:85
static const int VBIN_HBHE_B
Definition: DQMProvInfo.h:74
static const int VBIN_EE_M
Definition: DQMProvInfo.h:70
static const int VBIN_HBHE_C
Definition: DQMProvInfo.h:75
static const int VBIN_HO
Definition: DQMProvInfo.h:77
static const int VBIN_DT_0
Definition: DQMProvInfo.h:64
static const int VBIN_TEC_P
Definition: DQMProvInfo.h:83
static const int VBIN_CSC_M
Definition: DQMProvInfo.h:63
static const int VBIN_TOB
Definition: DQMProvInfo.h:82
static const int VBIN_FPIX
Definition: DQMProvInfo.h:79
static const int MAX_LUMIS
Definition: DQMProvInfo.h:59
static const int VBIN_DT_M
Definition: DQMProvInfo.h:66
static const int VBIN_MOMENTUM
Definition: DQMProvInfo.h:94
TH2F * getTH2F() const
static const int MAX_VBINS
Definition: DQMProvInfo.h:98
static const int VBIN_STABLE_BEAM
Definition: DQMProvInfo.h:95
static const int VBIN_TIBTID
Definition: DQMProvInfo.h:81
static const int VBIN_EB_P
Definition: DQMProvInfo.h:67
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:109
static const int VBIN_BPIX
Definition: DQMProvInfo.h:78
static const int VBIN_TE_M
Definition: DQMProvInfo.h:84
static const int VBIN_RPC
Definition: DQMProvInfo.h:80
static const int VBIN_ZDC
Definition: DQMProvInfo.h:86
static const int VBIN_ES_P
Definition: DQMProvInfo.h:71
static const int VBIN_CSC_P
Definition: DQMProvInfo.h:62
static const int VBIN_DT_P
Definition: DQMProvInfo.h:65
static const int VBIN_ES_M
Definition: DQMProvInfo.h:72
MonitorElement * bookFloat(Args &&...args)
Definition: DQMStore.h:105
static const int VBIN_HF
Definition: DQMProvInfo.h:76
static const int VBIN_HBHE_A
Definition: DQMProvInfo.h:73
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
static const int VBIN_EB_M
Definition: DQMProvInfo.h:68
MonitorElement * reportSummaryMap_
Definition: DQMProvInfo.h:134
static const int VBIN_PHYSICS_DECLARED
Definition: DQMProvInfo.h:93
void DQMProvInfo::bookHistogramsLhcInfo ( DQMStore::IBooker iBooker)
private

Definition at line 95 of file DQMProvInfo.cc.

References DQMStore::IBooker::book1D(), MonitorElement::getTH1F(), hBeamMode_, hIntensity1_, hIntensity2_, hLhcFill_, hMomentum_, MAX_LUMIS, MonitorElement::setAxisTitle(), MonitorElement::setBinContent(), and MonitorElement::setBinLabel().

Referenced by bookHistograms().

95  {
96  // Element: beamMode
97  // Beam parameters provided by BST are defined in:
98  // https://edms.cern.ch/document/638899/2.0
99  hBeamMode_ =
100  iBooker.book1D("beamMode", "beamMode", MAX_LUMIS, 1., MAX_LUMIS + 1);
101  hBeamMode_->getTH1F()->GetYaxis()->Set(21, 0.5, 21.5);
102  hBeamMode_->getTH1F()->SetMaximum(21.5);
103  hBeamMode_->getTH1F()->SetCanExtend(TH1::kAllAxes);
104  hBeamMode_->setBinContent(0., 22.); // Not clear, remove when testable
105 
106  hBeamMode_->setAxisTitle("Luminosity Section", 1);
107  hBeamMode_->setBinLabel(1, "no mode", 2);
108  hBeamMode_->setBinLabel(2, "setup", 2);
109  hBeamMode_->setBinLabel(3, "inj pilot", 2);
110  hBeamMode_->setBinLabel(4, "inj intr", 2);
111  hBeamMode_->setBinLabel(5, "inj nomn", 2);
112  hBeamMode_->setBinLabel(6, "pre ramp", 2);
113  hBeamMode_->setBinLabel(7, "ramp", 2);
114  hBeamMode_->setBinLabel(8, "flat top", 2);
115  hBeamMode_->setBinLabel(9, "squeeze", 2);
116  hBeamMode_->setBinLabel(10, "adjust", 2);
117  hBeamMode_->setBinLabel(11, "stable", 2);
118  hBeamMode_->setBinLabel(12, "unstable", 2);
119  hBeamMode_->setBinLabel(13, "beam dump", 2);
120  hBeamMode_->setBinLabel(14, "ramp down", 2);
121  hBeamMode_->setBinLabel(15, "recovery", 2);
122  hBeamMode_->setBinLabel(16, "inj dump", 2);
123  hBeamMode_->setBinLabel(17, "circ dump", 2);
124  hBeamMode_->setBinLabel(18, "abort", 2);
125  hBeamMode_->setBinLabel(19, "cycling", 2);
126  hBeamMode_->setBinLabel(20, "warn b-dump", 2);
127  hBeamMode_->setBinLabel(21, "no beam", 2);
128 
129  // Element: intensity1
130  hIntensity1_ = iBooker.book1D("intensity1", "Intensity Beam 1", MAX_LUMIS, 1.,
131  MAX_LUMIS + 1);
132  hIntensity1_->setAxisTitle("Luminosity Section", 1);
133  hIntensity1_->setAxisTitle("N [E10]", 2);
134  hIntensity1_->getTH1F()->SetCanExtend(TH1::kAllAxes);
135 
136  // Element: intensity2
137  hIntensity2_ = iBooker.book1D("intensity2", "Intensity Beam 2", MAX_LUMIS, 1.,
138  MAX_LUMIS + 1);
139  hIntensity2_->setAxisTitle("Luminosity Section", 1);
140  hIntensity2_->setAxisTitle("N [E10]", 2);
141  hIntensity2_->getTH1F()->SetCanExtend(TH1::kAllAxes);
142 
143  // Element: lhcFill
144  hLhcFill_ = iBooker.book1D("lhcFill", "LHC Fill Number", MAX_LUMIS, 1.,
145  MAX_LUMIS + 1);
146  hLhcFill_->setAxisTitle("Luminosity Section", 1);
147  hLhcFill_->getTH1F()->SetCanExtend(TH1::kAllAxes);
148 
149  // Element: momentum
150  hMomentum_ = iBooker.book1D("momentum", "Beam Energy [GeV]", MAX_LUMIS, 1.,
151  MAX_LUMIS + 1);
152  hMomentum_->setAxisTitle("Luminosity Section", 1);
153  hMomentum_->getTH1F()->SetCanExtend(TH1::kAllAxes);
154 }
MonitorElement * hBeamMode_
Definition: DQMProvInfo.h:121
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * hIntensity2_
Definition: DQMProvInfo.h:125
MonitorElement * hMomentum_
Definition: DQMProvInfo.h:129
TH1F * getTH1F() const
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
static const int MAX_LUMIS
Definition: DQMProvInfo.h:59
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
MonitorElement * hLhcFill_
Definition: DQMProvInfo.h:127
MonitorElement * hIntensity1_
Definition: DQMProvInfo.h:123
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void DQMProvInfo::bookHistogramsProvInfo ( DQMStore::IBooker iBooker)
private

Definition at line 200 of file DQMProvInfo.cc.

References DQMStore::IBooker::bookInt(), DQMStore::IBooker::bookString(), MonitorElement::Fill(), edm::getReleaseVersion(), globalTag_, hHltKey_, hIsCollisionsRun_, hltKey_, hostName_, processId_, runType_, versCMSSW_, versGlobaltag_, versRuntype_, and workingDir_.

Referenced by bookHistograms().

200  {
201  // Note: Given that all these elements are only filled once per run, they
202  // are filled here right away. (except for isCollisionsRun)
203 
204  // Element: CMMSW
205  versCMSSW_ = iBooker.bookString("CMSSW", edm::getReleaseVersion().c_str());
206 
207  // Element: Globaltag
208  versGlobaltag_ = iBooker.bookString("Globaltag", globalTag_);
209 
210  // Element: RunType
211  versRuntype_ = iBooker.bookString("Run Type", runType_);
212 
213  // Element: hltKey
214  hHltKey_ = iBooker.bookString("hltKey", hltKey_);
215 
216  // Element: hostName
217  hostName_ = iBooker.bookString("hostName", gSystem->HostName());
218 
219  // Element: isCollisionsRun (filled for real in EndLumi)
220  hIsCollisionsRun_ = iBooker.bookInt("isCollisionsRun");
222 
223  // Element: processID
224  processId_ = iBooker.bookInt("processID");
225  processId_->Fill(gSystem->GetPid());
226 
227  // Element: workingDir
228  workingDir_ = iBooker.bookString("workingDir", gSystem->pwd());
229 }
MonitorElement * workingDir_
Definition: DQMProvInfo.h:153
MonitorElement * bookInt(Args &&...args)
Definition: DQMStore.h:104
MonitorElement * bookString(Args &&...args)
Definition: DQMStore.h:103
MonitorElement * processId_
Definition: DQMProvInfo.h:152
MonitorElement * hHltKey_
Definition: DQMProvInfo.h:148
MonitorElement * versGlobaltag_
Definition: DQMProvInfo.h:143
void Fill(long long x)
std::string globalTag_
Definition: DQMProvInfo.h:144
MonitorElement * versRuntype_
Definition: DQMProvInfo.h:146
std::string getReleaseVersion()
MonitorElement * versCMSSW_
Definition: DQMProvInfo.h:142
MonitorElement * hIsCollisionsRun_
Definition: DQMProvInfo.h:151
std::string runType_
Definition: DQMProvInfo.h:147
std::string hltKey_
Definition: DQMProvInfo.h:149
MonitorElement * hostName_
Definition: DQMProvInfo.h:150
void DQMProvInfo::dqmBeginRun ( const edm::Run r,
const edm::EventSetup c 
)
overrideprotected

Definition at line 55 of file DQMProvInfo.cc.

References hltKey_, HLTConfigProvider::init(), HLTConfigProvider::size(), and HLTConfigProvider::tableName().

56  {
57  // Here we do everything that needs to be done before the booking
58  // Getting the HLT key from HLTConfigProvider:
59  hltKey_ = "";
60  HLTConfigProvider hltConfig;
61  bool changed(true);
62  if (!hltConfig.init(iRun, iEventSetup, "HLT", changed)) {
63  edm::LogInfo("DQMProvInfo") << "errorHltConfigExtraction" << std::endl;
64  hltKey_ = "error extraction";
65  } else if (hltConfig.size() <= 0) {
66  edm::LogInfo("DQMProvInfo") << "hltConfig" << std::endl;
67  hltKey_ = "error key of length 0";
68  } else {
69  edm::LogInfo("DQMProvInfo") << "HLT key (run): " << hltConfig.tableName()
70  << std::endl;
71  hltKey_ = hltConfig.tableName();
72  }
73 }
unsigned int size() const
number of trigger paths in trigger table
const std::string & tableName() const
HLT ConfDB table name.
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
std::string hltKey_
Definition: DQMProvInfo.h:149
void DQMProvInfo::endLuminosityBlock ( const edm::LuminosityBlock l,
const edm::EventSetup c 
)
overrideprotected

Definition at line 418 of file DQMProvInfo.cc.

References endLuminosityBlockEventInfo(), endLuminosityBlockLhcInfo(), edm::LuminosityBlockBase::id(), edm::LuminosityBlockID::luminosityBlock(), and previousLSNumber_.

419  {
420  int currentLSNumber = iLumi.id().luminosityBlock();
421 
422  // We assume that we encounter the LumiSections in chronological order
423  // We only process a LS if it's greater than the previous one:
424  if (currentLSNumber > previousLSNumber_) {
425  endLuminosityBlockLhcInfo(currentLSNumber);
426  endLuminosityBlockEventInfo(currentLSNumber);
427  }
428 
429  // Set current LS number as previous number for the next cycle:
430  previousLSNumber_ = currentLSNumber;
431 }
void endLuminosityBlockEventInfo(const int currentLSNumber)
Definition: DQMProvInfo.cc:442
int previousLSNumber_
Definition: DQMProvInfo.h:135
void endLuminosityBlockLhcInfo(const int currentLSNumber)
Definition: DQMProvInfo.cc:433
void DQMProvInfo::endLuminosityBlockEventInfo ( const int  currentLSNumber)
private

Definition at line 442 of file DQMProvInfo.cc.

References beamMode_, blankPreviousLumiSections(), dcsBits_, MonitorElement::Fill(), hIsCollisionsRun_, MAX_DCS_VBINS, MAX_MOMENTUM, momentum_, MOMENTUM_OFFSET, physicsDeclared_, reportSummary_, reportSummaryMap_, MonitorElement::setBinContent(), VBIN_MOMENTUM, VBIN_PHYSICS_DECLARED, VBIN_STABLE_BEAM, and VBIN_VALID.

Referenced by endLuminosityBlock().

442  {
443  // If we skipped LumiSections, we make them "white"
444  blankPreviousLumiSections(currentLSNumber);
445 
446  // We set the top value to "Valid" to 1 for each LS we end
447  reportSummaryMap_->setBinContent(currentLSNumber, VBIN_VALID, 1.);
448 
449  // Part 1: Physics declared bit in y bin VBIN_PHYSICS_DECLARED
450  // This also is used as the global value of the summary.
451  if (physicsDeclared_) {
452  reportSummary_->Fill(1.);
454  1.);
455  } else {
456  reportSummary_->Fill(0.);
458  0.);
459  }
460 
461  // Part2: DCS bits in y bins 1 to MAX_DCS_VBINS
462  for (int vbin = 1; vbin <= MAX_DCS_VBINS; vbin++) {
463  if (dcsBits_[vbin]) {
464  reportSummaryMap_->setBinContent(currentLSNumber, vbin, 1.);
465  } else {
466  reportSummaryMap_->setBinContent(currentLSNumber, vbin, 0.);
467  }
468  }
469 
470  // Part3: Using LHC status info, fill in VBIN_MOMENTUM and VBIN_STABLE_BEAM
471  // Fill 13 TeV bit in y bin VBIN_MOMENTUM
473  reportSummary_->Fill(1.);
474  reportSummaryMap_->setBinContent(currentLSNumber, VBIN_MOMENTUM, 1.);
475  } else {
476  reportSummary_->Fill(0.);
477  reportSummaryMap_->setBinContent(currentLSNumber, VBIN_MOMENTUM, 0.);
478  }
479 
480  // Fill stable beams bit in y bin VBIN_STABLE_BEAM
481  if (beamMode_ == 11) {
483  reportSummary_->Fill(1.);
484  reportSummaryMap_->setBinContent(currentLSNumber, VBIN_STABLE_BEAM, 1.);
485  } else {
486  reportSummary_->Fill(0.);
487  reportSummaryMap_->setBinContent(currentLSNumber, VBIN_STABLE_BEAM, 0.);
488  }
489 }
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * reportSummary_
Definition: DQMProvInfo.h:133
static const int VBIN_VALID
Definition: DQMProvInfo.h:96
void Fill(long long x)
static const int VBIN_MOMENTUM
Definition: DQMProvInfo.h:94
static const int MAX_MOMENTUM
Definition: DQMProvInfo.h:102
static const int VBIN_STABLE_BEAM
Definition: DQMProvInfo.h:95
void blankPreviousLumiSections(const int currentLSNumber)
Definition: DQMProvInfo.cc:491
MonitorElement * hIsCollisionsRun_
Definition: DQMProvInfo.h:151
static const int MAX_DCS_VBINS
Definition: DQMProvInfo.h:91
static const int MOMENTUM_OFFSET
Definition: DQMProvInfo.h:110
bool physicsDeclared_
Definition: DQMProvInfo.h:136
bool dcsBits_[MAX_DCS_VBINS+1]
Definition: DQMProvInfo.h:138
MonitorElement * reportSummaryMap_
Definition: DQMProvInfo.h:134
static const int VBIN_PHYSICS_DECLARED
Definition: DQMProvInfo.h:93
void DQMProvInfo::endLuminosityBlockLhcInfo ( const int  currentLSNumber)
private

Definition at line 433 of file DQMProvInfo.cc.

References beamMode_, hBeamMode_, hIntensity1_, hIntensity2_, hLhcFill_, hMomentum_, intensity1_, intensity2_, lhcFill_, momentum_, and MonitorElement::setBinContent().

Referenced by endLuminosityBlock().

433  {
434  // Quite straightforward: Fill in the value for the LS in each plot:
435  hBeamMode_->setBinContent(currentLSNumber, beamMode_);
436  hIntensity1_->setBinContent(currentLSNumber, intensity1_);
437  hIntensity2_->setBinContent(currentLSNumber, intensity2_);
438  hLhcFill_->setBinContent(currentLSNumber, lhcFill_);
439  hMomentum_->setBinContent(currentLSNumber, momentum_);
440 }
MonitorElement * hBeamMode_
Definition: DQMProvInfo.h:121
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * hIntensity2_
Definition: DQMProvInfo.h:125
MonitorElement * hMomentum_
Definition: DQMProvInfo.h:129
MonitorElement * hLhcFill_
Definition: DQMProvInfo.h:127
MonitorElement * hIntensity1_
Definition: DQMProvInfo.h:123
void DQMProvInfo::fillDcsBitsFromDCSRecord ( const DCSRecord dcsRecord)
private

Definition at line 312 of file DQMProvInfo.cc.

References BPIX, dcsBits_, SectorBuilder_Fpix_cff::FPIX, CaloTPGTranscoder_cfi::HF, DCSRecord::highVoltageReady(), hcaldqm::constants::HO, isPhysicsDeclared(), physicsDeclared_, dedefs::RPC, SectorBuilder_Tob_cff::TOB, VBIN_BPIX, VBIN_CASTOR, VBIN_CSC_M, VBIN_CSC_P, VBIN_DT_0, VBIN_DT_M, VBIN_DT_P, VBIN_EB_M, VBIN_EB_P, VBIN_EE_M, VBIN_EE_P, VBIN_ES_M, VBIN_ES_P, VBIN_FPIX, VBIN_HBHE_A, VBIN_HBHE_B, VBIN_HBHE_C, VBIN_HF, VBIN_HO, VBIN_RPC, VBIN_TE_M, VBIN_TEC_P, VBIN_TIBTID, VBIN_TOB, and VBIN_ZDC.

Referenced by analyzeEventInfo().

312  {
313  dcsBits_[VBIN_CSC_P] = dcsRecord.highVoltageReady(DCSRecord::Partition::CSCp);
314  dcsBits_[VBIN_CSC_M] = dcsRecord.highVoltageReady(DCSRecord::Partition::CSCm);
315  dcsBits_[VBIN_DT_0] = dcsRecord.highVoltageReady(DCSRecord::Partition::DT0);
316  dcsBits_[VBIN_DT_P] = dcsRecord.highVoltageReady(DCSRecord::Partition::DTp);
317  dcsBits_[VBIN_DT_M] = dcsRecord.highVoltageReady(DCSRecord::Partition::DTm);
318  dcsBits_[VBIN_EB_P] = dcsRecord.highVoltageReady(DCSRecord::Partition::EBp);
319  dcsBits_[VBIN_EB_M] = dcsRecord.highVoltageReady(DCSRecord::Partition::EBm);
320  dcsBits_[VBIN_EE_P] = dcsRecord.highVoltageReady(DCSRecord::Partition::EEp);
321  dcsBits_[VBIN_EE_M] = dcsRecord.highVoltageReady(DCSRecord::Partition::EEm);
322  dcsBits_[VBIN_ES_P] = dcsRecord.highVoltageReady(DCSRecord::Partition::ESp);
323  dcsBits_[VBIN_ES_M] = dcsRecord.highVoltageReady(DCSRecord::Partition::ESm);
324  dcsBits_[VBIN_HBHE_A] = dcsRecord.highVoltageReady(DCSRecord::Partition::HBHEa);
325  dcsBits_[VBIN_HBHE_B] = dcsRecord.highVoltageReady(DCSRecord::Partition::HBHEb);
326  dcsBits_[VBIN_HBHE_C] = dcsRecord.highVoltageReady(DCSRecord::Partition::HBHEc);
332  dcsBits_[VBIN_TIBTID] = dcsRecord.highVoltageReady(DCSRecord::Partition::TIBTID);
334  dcsBits_[VBIN_TEC_P] = dcsRecord.highVoltageReady(DCSRecord::Partition::TECp);
335  dcsBits_[VBIN_TE_M] = dcsRecord.highVoltageReady(DCSRecord::Partition::TECm);
336  dcsBits_[VBIN_CASTOR] = dcsRecord.highVoltageReady(DCSRecord::Partition::CASTOR);
337  dcsBits_[VBIN_ZDC] = dcsRecord.highVoltageReady(DCSRecord::Partition::ZDC);
338 
339  // Part 2: Compute the PhysicsDeclared bit from the event
341 
342  // Some info-level logging
343  edm::LogInfo("DQMProvInfo") << "Physics declared bit: " << physicsDeclared_ << std::endl;
344 }
static const int VBIN_EE_P
Definition: DQMProvInfo.h:69
static const int VBIN_CASTOR
Definition: DQMProvInfo.h:85
static const int VBIN_HBHE_B
Definition: DQMProvInfo.h:74
static const int VBIN_EE_M
Definition: DQMProvInfo.h:70
static const int VBIN_HBHE_C
Definition: DQMProvInfo.h:75
static const int VBIN_HO
Definition: DQMProvInfo.h:77
static const int VBIN_DT_0
Definition: DQMProvInfo.h:64
static const int VBIN_TEC_P
Definition: DQMProvInfo.h:83
static const int VBIN_CSC_M
Definition: DQMProvInfo.h:63
static const int VBIN_TOB
Definition: DQMProvInfo.h:82
static const int VBIN_FPIX
Definition: DQMProvInfo.h:79
static const int VBIN_DT_M
Definition: DQMProvInfo.h:66
bool isPhysicsDeclared()
Definition: DQMProvInfo.cc:403
#define BPIX
static const int VBIN_TIBTID
Definition: DQMProvInfo.h:81
static const int VBIN_EB_P
Definition: DQMProvInfo.h:67
static const int VBIN_BPIX
Definition: DQMProvInfo.h:78
static const int VBIN_TE_M
Definition: DQMProvInfo.h:84
static const int VBIN_RPC
Definition: DQMProvInfo.h:80
static const int VBIN_ZDC
Definition: DQMProvInfo.h:86
static const int VBIN_ES_P
Definition: DQMProvInfo.h:71
static const int VBIN_CSC_P
Definition: DQMProvInfo.h:62
static const int VBIN_DT_P
Definition: DQMProvInfo.h:65
static const int VBIN_ES_M
Definition: DQMProvInfo.h:72
bool physicsDeclared_
Definition: DQMProvInfo.h:136
static const int VBIN_HF
Definition: DQMProvInfo.h:76
bool highVoltageReady(const uint8_t partitionNumber) const
Return true if the high voltage of the given parition is ready.
Definition: DCSRecord.h:48
static const int VBIN_HBHE_A
Definition: DQMProvInfo.h:73
static const int VBIN_EB_M
Definition: DQMProvInfo.h:68
bool dcsBits_[MAX_DCS_VBINS+1]
Definition: DQMProvInfo.h:138
void DQMProvInfo::fillDcsBitsFromDcsStatusCollection ( const edm::Handle< DcsStatusCollection > &  dcsStatusCollection)
private

Definition at line 346 of file DQMProvInfo.cc.

References DcsStatus::BPIX, DcsStatus::CASTOR, DcsStatus::CSCm, DcsStatus::CSCp, dcsBits_, TauDecayModes::dec, DcsStatus::DT0, DcsStatus::DTm, DcsStatus::DTp, DcsStatus::EBm, DcsStatus::EBp, DcsStatus::EEm, DcsStatus::EEp, DcsStatus::ESm, DcsStatus::ESp, foundFirstDcsBits_, foundFirstPhysicsDeclared_, DcsStatus::FPIX, DcsStatus::HBHEa, DcsStatus::HBHEb, DcsStatus::HBHEc, DcsStatus::HF, DcsStatus::HO, isPhysicsDeclared(), MAX_DCS_VBINS, physicsDeclared_, DcsStatus::RPC, DcsStatus::TECm, DcsStatus::TECp, DcsStatus::TIBTID, DcsStatus::TOB, VBIN_BPIX, VBIN_CASTOR, VBIN_CSC_M, VBIN_CSC_P, VBIN_DT_0, VBIN_DT_M, VBIN_DT_P, VBIN_EB_M, VBIN_EB_P, VBIN_EE_M, VBIN_EE_P, VBIN_ES_M, VBIN_ES_P, VBIN_FPIX, VBIN_HBHE_A, VBIN_HBHE_B, VBIN_HBHE_C, VBIN_HF, VBIN_HO, VBIN_RPC, VBIN_TE_M, VBIN_TEC_P, VBIN_TIBTID, VBIN_TOB, VBIN_ZDC, and DcsStatus::ZDC.

Referenced by analyzeEventInfo().

346  {
347  // Loop over the DCSStatus entries in the DcsStatusCollection
348  // (Typically there is only one)
349  for (auto const& dcsStatusItr : *dcsStatusCollection) {
350  // By default all the bits are false. We put all the bits on true only
351  // for the first DCSStatus that we encounter:
352  if (!foundFirstDcsBits_) {
353  for (int vbin = 1; vbin <= MAX_DCS_VBINS; vbin++) {
354  dcsBits_[vbin] = true;
355  }
356  foundFirstDcsBits_ = true;
357  }
358  // By default Physics Declared is false. We put it on true only for the
359  // first DCSStatus that we encounter:
361  physicsDeclared_ = true;
363  }
364 
365  // The DCS on lumi level is considered ON if the bit is set in EVERY event
366  dcsBits_[VBIN_CSC_P] &= dcsStatusItr.ready(DcsStatus::CSCp);
367  dcsBits_[VBIN_CSC_M] &= dcsStatusItr.ready(DcsStatus::CSCm);
368  dcsBits_[VBIN_DT_0] &= dcsStatusItr.ready(DcsStatus::DT0);
369  dcsBits_[VBIN_DT_P] &= dcsStatusItr.ready(DcsStatus::DTp);
370  dcsBits_[VBIN_DT_M] &= dcsStatusItr.ready(DcsStatus::DTm);
371  dcsBits_[VBIN_EB_P] &= dcsStatusItr.ready(DcsStatus::EBp);
372  dcsBits_[VBIN_EB_M] &= dcsStatusItr.ready(DcsStatus::EBm);
373  dcsBits_[VBIN_EE_P] &= dcsStatusItr.ready(DcsStatus::EEp);
374  dcsBits_[VBIN_EE_M] &= dcsStatusItr.ready(DcsStatus::EEm);
375  dcsBits_[VBIN_ES_P] &= dcsStatusItr.ready(DcsStatus::ESp);
376  dcsBits_[VBIN_ES_M] &= dcsStatusItr.ready(DcsStatus::ESm);
377  dcsBits_[VBIN_HBHE_A] &= dcsStatusItr.ready(DcsStatus::HBHEa);
378  dcsBits_[VBIN_HBHE_B] &= dcsStatusItr.ready(DcsStatus::HBHEb);
379  dcsBits_[VBIN_HBHE_C] &= dcsStatusItr.ready(DcsStatus::HBHEc);
380  dcsBits_[VBIN_HF] &= dcsStatusItr.ready(DcsStatus::HF);
381  dcsBits_[VBIN_HO] &= dcsStatusItr.ready(DcsStatus::HO);
382  dcsBits_[VBIN_BPIX] &= dcsStatusItr.ready(DcsStatus::BPIX);
383  dcsBits_[VBIN_FPIX] &= dcsStatusItr.ready(DcsStatus::FPIX);
384  dcsBits_[VBIN_RPC] &= dcsStatusItr.ready(DcsStatus::RPC);
385  dcsBits_[VBIN_TIBTID] &= dcsStatusItr.ready(DcsStatus::TIBTID);
386  dcsBits_[VBIN_TOB] &= dcsStatusItr.ready(DcsStatus::TOB);
387  dcsBits_[VBIN_TEC_P] &= dcsStatusItr.ready(DcsStatus::TECp);
388  dcsBits_[VBIN_TE_M] &= dcsStatusItr.ready(DcsStatus::TECm);
389  dcsBits_[VBIN_CASTOR] &= dcsStatusItr.ready(DcsStatus::CASTOR);
390  dcsBits_[VBIN_ZDC] &= dcsStatusItr.ready(DcsStatus::ZDC);
391 
392  // Some info-level logging
393  edm::LogInfo("DQMProvInfo") << "DCS status: 0x" << std::hex << dcsStatusItr.ready() << std::dec << std::endl;
394  }
395 
396  // Part 2: Compute the PhysicsDeclared bit from the event
398 
399  // Some info-level logging
400  edm::LogInfo("DQMProvInfo") << "Physics declared bit: " << physicsDeclared_ << std::endl;
401 }
static const int VBIN_EE_P
Definition: DQMProvInfo.h:69
bool foundFirstDcsBits_
Definition: DQMProvInfo.h:139
static const int VBIN_CASTOR
Definition: DQMProvInfo.h:85
static const int VBIN_HBHE_B
Definition: DQMProvInfo.h:74
static const int VBIN_EE_M
Definition: DQMProvInfo.h:70
static const int VBIN_HBHE_C
Definition: DQMProvInfo.h:75
static const int VBIN_HO
Definition: DQMProvInfo.h:77
static const int VBIN_DT_0
Definition: DQMProvInfo.h:64
static const int VBIN_TEC_P
Definition: DQMProvInfo.h:83
static const int VBIN_CSC_M
Definition: DQMProvInfo.h:63
static const int VBIN_TOB
Definition: DQMProvInfo.h:82
static const int VBIN_FPIX
Definition: DQMProvInfo.h:79
static const int VBIN_DT_M
Definition: DQMProvInfo.h:66
bool isPhysicsDeclared()
Definition: DQMProvInfo.cc:403
bool foundFirstPhysicsDeclared_
Definition: DQMProvInfo.h:137
static const int VBIN_TIBTID
Definition: DQMProvInfo.h:81
static const int VBIN_EB_P
Definition: DQMProvInfo.h:67
static const int VBIN_BPIX
Definition: DQMProvInfo.h:78
static const int VBIN_TE_M
Definition: DQMProvInfo.h:84
static const int VBIN_RPC
Definition: DQMProvInfo.h:80
static const int MAX_DCS_VBINS
Definition: DQMProvInfo.h:91
static const int VBIN_ZDC
Definition: DQMProvInfo.h:86
static const int VBIN_ES_P
Definition: DQMProvInfo.h:71
static const int VBIN_CSC_P
Definition: DQMProvInfo.h:62
static const int VBIN_DT_P
Definition: DQMProvInfo.h:65
static const int VBIN_ES_M
Definition: DQMProvInfo.h:72
bool physicsDeclared_
Definition: DQMProvInfo.h:136
static const int VBIN_HF
Definition: DQMProvInfo.h:76
static const int VBIN_HBHE_A
Definition: DQMProvInfo.h:73
static const int VBIN_EB_M
Definition: DQMProvInfo.h:68
bool dcsBits_[MAX_DCS_VBINS+1]
Definition: DQMProvInfo.h:138
bool DQMProvInfo::isPhysicsDeclared ( )
private

Definition at line 403 of file DQMProvInfo.cc.

References beamMode_, dcsBits_, VBIN_BPIX, VBIN_CSC_M, VBIN_CSC_P, VBIN_DT_0, VBIN_DT_M, VBIN_DT_P, VBIN_FPIX, VBIN_RPC, VBIN_TE_M, VBIN_TEC_P, VBIN_TIBTID, and VBIN_TOB.

Referenced by fillDcsBitsFromDCSRecord(), and fillDcsBitsFromDcsStatusCollection().

403  {
404  // Compute the PhysicsDeclared bit from the event
405  // The bit is set to to true if:
406  // - the LHC is in stable beams
407  // - all the pixel and strips partitions have DCSStatus ON
408  // - at least one muon partition has DCSStatus ON
409  // Basically: we do an AND of the physicsDeclared of ALL events.
410  // As soon as one value is not "1", physicsDeclared_ becomes false.
411  return (beamMode_ == 11) &&
416 }
static const int VBIN_DT_0
Definition: DQMProvInfo.h:64
static const int VBIN_TEC_P
Definition: DQMProvInfo.h:83
static const int VBIN_CSC_M
Definition: DQMProvInfo.h:63
static const int VBIN_TOB
Definition: DQMProvInfo.h:82
static const int VBIN_FPIX
Definition: DQMProvInfo.h:79
static const int VBIN_DT_M
Definition: DQMProvInfo.h:66
static const int VBIN_TIBTID
Definition: DQMProvInfo.h:81
static const int VBIN_BPIX
Definition: DQMProvInfo.h:78
static const int VBIN_TE_M
Definition: DQMProvInfo.h:84
static const int VBIN_RPC
Definition: DQMProvInfo.h:80
static const int VBIN_CSC_P
Definition: DQMProvInfo.h:62
static const int VBIN_DT_P
Definition: DQMProvInfo.h:65
bool dcsBits_[MAX_DCS_VBINS+1]
Definition: DQMProvInfo.h:138

Member Data Documentation

int DQMProvInfo::beamMode_
private
bool DQMProvInfo::dcsBits_[MAX_DCS_VBINS+1]
private
edm::EDGetTokenT<DCSRecord> DQMProvInfo::dcsRecordToken_
private

Definition at line 118 of file DQMProvInfo.h.

Referenced by analyzeEventInfo(), and DQMProvInfo().

edm::EDGetTokenT<DcsStatusCollection> DQMProvInfo::dcsStatusCollection_
private

Definition at line 116 of file DQMProvInfo.h.

Referenced by analyzeEventInfo(), and DQMProvInfo().

bool DQMProvInfo::foundFirstDcsBits_
private

Definition at line 139 of file DQMProvInfo.h.

Referenced by beginLuminosityBlock(), and fillDcsBitsFromDcsStatusCollection().

bool DQMProvInfo::foundFirstPhysicsDeclared_
private

Definition at line 137 of file DQMProvInfo.h.

Referenced by beginLuminosityBlock(), and fillDcsBitsFromDcsStatusCollection().

std::string DQMProvInfo::globalTag_
private

Definition at line 144 of file DQMProvInfo.h.

Referenced by analyzeProvInfo(), bookHistogramsProvInfo(), and DQMProvInfo().

bool DQMProvInfo::globalTagRetrieved_
private

Definition at line 145 of file DQMProvInfo.h.

Referenced by analyzeProvInfo(), and DQMProvInfo().

MonitorElement* DQMProvInfo::hBeamMode_
private

Definition at line 121 of file DQMProvInfo.h.

Referenced by bookHistogramsLhcInfo(), and endLuminosityBlockLhcInfo().

MonitorElement* DQMProvInfo::hHltKey_
private

Definition at line 148 of file DQMProvInfo.h.

Referenced by bookHistogramsProvInfo().

MonitorElement* DQMProvInfo::hIntensity1_
private

Definition at line 123 of file DQMProvInfo.h.

Referenced by bookHistogramsLhcInfo(), and endLuminosityBlockLhcInfo().

MonitorElement* DQMProvInfo::hIntensity2_
private

Definition at line 125 of file DQMProvInfo.h.

Referenced by bookHistogramsLhcInfo(), and endLuminosityBlockLhcInfo().

MonitorElement* DQMProvInfo::hIsCollisionsRun_
private

Definition at line 151 of file DQMProvInfo.h.

Referenced by bookHistogramsProvInfo(), and endLuminosityBlockEventInfo().

MonitorElement* DQMProvInfo::hLhcFill_
private

Definition at line 127 of file DQMProvInfo.h.

Referenced by bookHistogramsLhcInfo(), and endLuminosityBlockLhcInfo().

std::string DQMProvInfo::hltKey_
private

Definition at line 149 of file DQMProvInfo.h.

Referenced by bookHistogramsProvInfo(), and dqmBeginRun().

MonitorElement* DQMProvInfo::hMomentum_
private

Definition at line 129 of file DQMProvInfo.h.

Referenced by bookHistogramsLhcInfo(), and endLuminosityBlockLhcInfo().

MonitorElement* DQMProvInfo::hostName_
private

Definition at line 150 of file DQMProvInfo.h.

Referenced by bookHistogramsProvInfo().

int DQMProvInfo::intensity1_
private

Definition at line 124 of file DQMProvInfo.h.

Referenced by analyzeLhcInfo(), and endLuminosityBlockLhcInfo().

int DQMProvInfo::intensity2_
private

Definition at line 126 of file DQMProvInfo.h.

Referenced by analyzeLhcInfo(), and endLuminosityBlockLhcInfo().

int DQMProvInfo::lhcFill_
private

Definition at line 128 of file DQMProvInfo.h.

Referenced by analyzeLhcInfo(), and endLuminosityBlockLhcInfo().

const int DQMProvInfo::MAX_DCS_VBINS = 25
staticprivate
const int DQMProvInfo::MAX_LUMIS = 6000
staticprivate
const int DQMProvInfo::MAX_MOMENTUM = 6500
staticprivate

Definition at line 102 of file DQMProvInfo.h.

Referenced by endLuminosityBlockEventInfo().

const int DQMProvInfo::MAX_VBINS = 29
staticprivate

Definition at line 98 of file DQMProvInfo.h.

Referenced by blankAllLumiSections(), and bookHistogramsEventInfo().

int DQMProvInfo::momentum_
private
const int DQMProvInfo::MOMENTUM_OFFSET = 1
staticprivate

Definition at line 110 of file DQMProvInfo.h.

Referenced by endLuminosityBlockEventInfo().

bool DQMProvInfo::physicsDeclared_
private
int DQMProvInfo::previousLSNumber_
private

Definition at line 135 of file DQMProvInfo.h.

Referenced by blankPreviousLumiSections(), DQMProvInfo(), and endLuminosityBlock().

MonitorElement* DQMProvInfo::processId_
private

Definition at line 152 of file DQMProvInfo.h.

Referenced by bookHistogramsProvInfo().

std::string DQMProvInfo::provinfofolder_
private

Definition at line 114 of file DQMProvInfo.h.

Referenced by bookHistograms(), and DQMProvInfo().

MonitorElement* DQMProvInfo::reportSummary_
private

Definition at line 133 of file DQMProvInfo.h.

Referenced by bookHistogramsEventInfo(), and endLuminosityBlockEventInfo().

MonitorElement* DQMProvInfo::reportSummaryMap_
private
std::string DQMProvInfo::runType_
private

Definition at line 147 of file DQMProvInfo.h.

Referenced by bookHistogramsProvInfo(), and DQMProvInfo().

std::string DQMProvInfo::subsystemname_
private

Definition at line 113 of file DQMProvInfo.h.

Referenced by bookHistograms(), and DQMProvInfo().

edm::EDGetTokenT<TCDSRecord> DQMProvInfo::tcdsrecord_
private

Definition at line 117 of file DQMProvInfo.h.

Referenced by analyzeLhcInfo(), and DQMProvInfo().

const int DQMProvInfo::VBIN_BPIX = 17
staticprivate
const int DQMProvInfo::VBIN_CASTOR = 24
staticprivate
const int DQMProvInfo::VBIN_CSC_M = 2
staticprivate
const int DQMProvInfo::VBIN_CSC_P = 1
staticprivate
const int DQMProvInfo::VBIN_DT_0 = 3
staticprivate
const int DQMProvInfo::VBIN_DT_M = 5
staticprivate
const int DQMProvInfo::VBIN_DT_P = 4
staticprivate
const int DQMProvInfo::VBIN_EB_M = 7
staticprivate
const int DQMProvInfo::VBIN_EB_P = 6
staticprivate
const int DQMProvInfo::VBIN_EE_M = 9
staticprivate
const int DQMProvInfo::VBIN_EE_P = 8
staticprivate
const int DQMProvInfo::VBIN_ES_M = 11
staticprivate
const int DQMProvInfo::VBIN_ES_P = 10
staticprivate
const int DQMProvInfo::VBIN_FPIX = 18
staticprivate
const int DQMProvInfo::VBIN_HBHE_A = 12
staticprivate
const int DQMProvInfo::VBIN_HBHE_B = 13
staticprivate
const int DQMProvInfo::VBIN_HBHE_C = 14
staticprivate
const int DQMProvInfo::VBIN_HF = 15
staticprivate
const int DQMProvInfo::VBIN_HO = 16
staticprivate
const int DQMProvInfo::VBIN_MOMENTUM = 27
staticprivate

Definition at line 94 of file DQMProvInfo.h.

Referenced by bookHistogramsEventInfo(), and endLuminosityBlockEventInfo().

const int DQMProvInfo::VBIN_PHYSICS_DECLARED = 26
staticprivate

Definition at line 93 of file DQMProvInfo.h.

Referenced by bookHistogramsEventInfo(), and endLuminosityBlockEventInfo().

const int DQMProvInfo::VBIN_RPC = 19
staticprivate
const int DQMProvInfo::VBIN_STABLE_BEAM = 28
staticprivate

Definition at line 95 of file DQMProvInfo.h.

Referenced by bookHistogramsEventInfo(), and endLuminosityBlockEventInfo().

const int DQMProvInfo::VBIN_TE_M = 23
staticprivate
const int DQMProvInfo::VBIN_TEC_P = 22
staticprivate
const int DQMProvInfo::VBIN_TIBTID = 20
staticprivate
const int DQMProvInfo::VBIN_TOB = 21
staticprivate
const int DQMProvInfo::VBIN_VALID = 29
staticprivate
const int DQMProvInfo::VBIN_ZDC = 25
staticprivate
MonitorElement* DQMProvInfo::versCMSSW_
private

Definition at line 142 of file DQMProvInfo.h.

Referenced by bookHistogramsProvInfo().

MonitorElement* DQMProvInfo::versGlobaltag_
private

Definition at line 143 of file DQMProvInfo.h.

Referenced by analyzeProvInfo(), and bookHistogramsProvInfo().

MonitorElement* DQMProvInfo::versRuntype_
private

Definition at line 146 of file DQMProvInfo.h.

Referenced by bookHistogramsProvInfo().

MonitorElement* DQMProvInfo::workingDir_
private

Definition at line 153 of file DQMProvInfo.h.

Referenced by bookHistogramsProvInfo().