CMS 3D CMS Logo

DQMProvInfo.cc
Go to the documentation of this file.
1 /*
2  * Original author: A. Raval / A. Meyer - DESY
3  * Rewritten by: B. van Besien - CERN
4  * Improved by: S. Di Guida - INFN and Marconi University
5  */
6 
7 #include "DQMProvInfo.h"
8 #include <TSystem.h>
14 
15 // The LHC beam info used to come from FED812, but since the new TCDS this
16 // info is in FED1024. We retrieve the BST record from the TCDS digis, and
17 // we get the LHC beam info using a dedicated data format.
18 
19 const int DQMProvInfo::MAX_VBINS;
20 const int DQMProvInfo::MAX_LUMIS;
21 
22 // Constructor
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>(
36  "dcsStatusCollection", "scalersRawToDigi"));
37  // Used to get the BST record from the TCDS information
38  tcdsrecord_ = consumes<TCDSRecord>(ps.getUntrackedParameter<edm::InputTag>("tcdsData", edm::InputTag("tcdsDigis","tcdsRecord")));
39  // Initialization of the global tag
40  globalTag_ = "MODULE::DEFAULT"; // default
41  globalTagRetrieved_ = false; // set as soon as retrieved from first event
42 
43  // Initialization of run scope variables
44  previousLSNumber_ = 0; // Previous LS compared to current, initializing at 0
45 }
46 
47 // Destructor
48 DQMProvInfo::~DQMProvInfo() = default;
49 
51  const edm::EventSetup& iEventSetup) {
52  // Here we do everything that needs to be done before the booking
53  // Getting the HLT key from HLTConfigProvider:
54  hltKey_ = "";
55  HLTConfigProvider hltConfig;
56  bool changed(true);
57  if (!hltConfig.init(iRun, iEventSetup, "HLT", changed)) {
58  edm::LogInfo("DQMProvInfo") << "errorHltConfigExtraction" << std::endl;
59  hltKey_ = "error extraction";
60  } else if (hltConfig.size() <= 0) {
61  edm::LogInfo("DQMProvInfo") << "hltConfig" << std::endl;
62  hltKey_ = "error key of length 0";
63  } else {
64  edm::LogInfo("DQMProvInfo") << "HLT key (run): " << hltConfig.tableName()
65  << std::endl;
66  hltKey_ = hltConfig.tableName();
67  }
68 }
69 
71  edm::Run const& iRun,
72  edm::EventSetup const& iEventSetup) {
73  iBooker.cd();
74  // This module will create elements in 3 different folders:
75  // - Info/LhcInfo
76  // - Info/EventInfo
77  // - Info/ProvInfo
78  // (string "Info" configurable through subsystemname_)
79  // (string "Provinfo" configurable through provinfofolder_)
80  iBooker.setCurrentFolder(subsystemname_ + "/LhcInfo/");
81  bookHistogramsLhcInfo(iBooker);
82 
83  iBooker.setCurrentFolder(subsystemname_ + "/EventInfo/");
84  bookHistogramsEventInfo(iBooker);
85 
87  bookHistogramsProvInfo(iBooker);
88 }
89 
91  // Element: beamMode
92  // Beam parameters provided by BST are defined in:
93  // https://edms.cern.ch/document/638899/2.0
94  hBeamMode_ =
95  iBooker.book1D("beamMode", "beamMode", MAX_LUMIS, 1., MAX_LUMIS + 1);
96  hBeamMode_->getTH1F()->GetYaxis()->Set(21, 0.5, 21.5);
97  hBeamMode_->getTH1F()->SetMaximum(21.5);
98  hBeamMode_->getTH1F()->SetCanExtend(TH1::kAllAxes);
99  hBeamMode_->setBinContent(0., 22.); // Not clear, remove when testable
100 
101  hBeamMode_->setAxisTitle("Luminosity Section", 1);
102  hBeamMode_->setBinLabel(1, "no mode", 2);
103  hBeamMode_->setBinLabel(2, "setup", 2);
104  hBeamMode_->setBinLabel(3, "inj pilot", 2);
105  hBeamMode_->setBinLabel(4, "inj intr", 2);
106  hBeamMode_->setBinLabel(5, "inj nomn", 2);
107  hBeamMode_->setBinLabel(6, "pre ramp", 2);
108  hBeamMode_->setBinLabel(7, "ramp", 2);
109  hBeamMode_->setBinLabel(8, "flat top", 2);
110  hBeamMode_->setBinLabel(9, "squeeze", 2);
111  hBeamMode_->setBinLabel(10, "adjust", 2);
112  hBeamMode_->setBinLabel(11, "stable", 2);
113  hBeamMode_->setBinLabel(12, "unstable", 2);
114  hBeamMode_->setBinLabel(13, "beam dump", 2);
115  hBeamMode_->setBinLabel(14, "ramp down", 2);
116  hBeamMode_->setBinLabel(15, "recovery", 2);
117  hBeamMode_->setBinLabel(16, "inj dump", 2);
118  hBeamMode_->setBinLabel(17, "circ dump", 2);
119  hBeamMode_->setBinLabel(18, "abort", 2);
120  hBeamMode_->setBinLabel(19, "cycling", 2);
121  hBeamMode_->setBinLabel(20, "warn b-dump", 2);
122  hBeamMode_->setBinLabel(21, "no beam", 2);
123 
124  // Element: intensity1
125  hIntensity1_ = iBooker.book1D("intensity1", "Intensity Beam 1", MAX_LUMIS, 1.,
126  MAX_LUMIS + 1);
127  hIntensity1_->setAxisTitle("Luminosity Section", 1);
128  hIntensity1_->setAxisTitle("N [E10]", 2);
129  hIntensity1_->getTH1F()->SetCanExtend(TH1::kAllAxes);
130 
131  // Element: intensity2
132  hIntensity2_ = iBooker.book1D("intensity2", "Intensity Beam 2", MAX_LUMIS, 1.,
133  MAX_LUMIS + 1);
134  hIntensity2_->setAxisTitle("Luminosity Section", 1);
135  hIntensity2_->setAxisTitle("N [E10]", 2);
136  hIntensity2_->getTH1F()->SetCanExtend(TH1::kAllAxes);
137 
138  // Element: lhcFill
139  hLhcFill_ = iBooker.book1D("lhcFill", "LHC Fill Number", MAX_LUMIS, 1.,
140  MAX_LUMIS + 1);
141  hLhcFill_->setAxisTitle("Luminosity Section", 1);
142  hLhcFill_->getTH1F()->SetCanExtend(TH1::kAllAxes);
143 
144  // Element: momentum
145  hMomentum_ = iBooker.book1D("momentum", "Beam Energy [GeV]", MAX_LUMIS, 1.,
146  MAX_LUMIS + 1);
147  hMomentum_->setAxisTitle("Luminosity Section", 1);
148  hMomentum_->getTH1F()->SetCanExtend(TH1::kAllAxes);
149 }
150 
152  // Element: reportSummary
153  reportSummary_ = iBooker.bookFloat("reportSummary");
154 
155  // Element: reportSummaryMap (this is the famous HV plot)
156  reportSummaryMap_ = iBooker.book2D(
157  "reportSummaryMap", "DCS HV Status and Beam Status per Lumisection",
159  reportSummaryMap_->setAxisTitle("Luminosity Section");
160  reportSummaryMap_->getTH2F()->SetCanExtend(TH1::kAllAxes);
161 
191 }
192 
194  // Note: Given that all these elements are only filled once per run, they
195  // are filled here right away. (except for isCollisionsRun)
196 
197  // Element: CMMSW
198  versCMSSW_ = iBooker.bookString("CMSSW", edm::getReleaseVersion().c_str());
199 
200  // Element: Globaltag
201  versGlobaltag_ = iBooker.bookString("Globaltag", globalTag_);
202 
203  // Element: RunType
204  versRuntype_ = iBooker.bookString("Run Type", runType_);
205 
206  // Element: hltKey
207  hHltKey_ = iBooker.bookString("hltKey", hltKey_);
208 
209  // Element: hostName
210  hostName_ = iBooker.bookString("hostName", gSystem->HostName());
211 
212  // Element: isCollisionsRun (filled for real in EndLumi)
213  hIsCollisionsRun_ = iBooker.bookInt("isCollisionsRun");
215 
216  // Element: processID
217  processId_ = iBooker.bookInt("processID");
218  processId_->Fill(gSystem->GetPid());
219 
220  // Element: workingDir
221  workingDir_ = iBooker.bookString("workingDir", gSystem->pwd());
222 }
223 
225  const edm::EventSetup& c) {
226  // By default we set the Physics Declared bit to false at the beginning of
227  // every LS
228  physicsDeclared_ = false;
229  // Boolean that tells the analyse method that we encountered the first real
230  // dcs info
232  // By default we set all the DCS bits to false at the beginning of every LS
233  for (int vbin = 1; vbin <= MAX_DCS_VBINS; vbin++) {
234  dcsBits_[vbin] = false;
235  }
236  // Boolean that tells the analyse method that we encountered the first real
237  // dcs info
238  foundFirstDcsBits_ = false;
239 }
240 
242  // This happens on an event by event base
243  // We extract information from events, placing them in local variables
244  // and then at the end of each lumisection, we fill them in the MonitorElement
245  // (Except for the global tag, which we only extract from the first event we
246  // ever encounter and put in the MonitorElement right away)
247  analyzeLhcInfo(event);
248  analyzeEventInfo(event);
249  analyzeProvInfo(event);
250 }
251 
253  edm::Handle<TCDSRecord> tcdsData;
254  event.getByToken( tcdsrecord_, tcdsData );
255  // We unpack the TCDS record from TCDS
256  if( tcdsData.isValid() ) {
257  //and we look at the BST information
258  lhcFill_ = static_cast<int>( tcdsData->getBST().getLhcFill() );
259  beamMode_ = static_cast<int>( tcdsData->getBST().getBeamMode() );
260  momentum_ = static_cast<int>( tcdsData->getBST().getBeamMomentum() );
261  intensity1_ = static_cast<int>( tcdsData->getBST().getIntensityBeam1() );
262  intensity2_ = static_cast<int>( tcdsData->getBST().getIntensityBeam2() );
263  } else {
264  edm::LogWarning("DQMProvInfo") << "TCDS Data inaccessible.";
265  }
266 }
267 
269  // Part 1:
270  // Extract the DcsStatusCollection from the event
271  // and put it into the dcsBits_ array
273  event.getByToken(dcsStatusCollection_, dcsStatus);
274  // Loop over the DCSStatus entries in the DcsStatusCollection
275  // (Typically there is only one)
276  for (auto const & dcsStatusItr : *dcsStatus) {
277  // By default all the bits are false. We put all the bits on true only
278  // for the first DCSStatus that we encounter:
279  if (!foundFirstDcsBits_) {
280  for (int vbin = 1; vbin <= MAX_DCS_VBINS; vbin++) {
281  dcsBits_[vbin] = true;
282  }
283  foundFirstDcsBits_ = true;
284  }
285  // By default Physics Declared is false. We put it on true only for the
286  // first DCSStatus that we encounter:
288  physicsDeclared_ = true;
290  }
291 
292  // The DCS on lumi level is considered ON if the bit is set in EVERY event
293  dcsBits_[VBIN_CSC_P] &= dcsStatusItr.ready(DcsStatus::CSCp);
294  dcsBits_[VBIN_CSC_M] &= dcsStatusItr.ready(DcsStatus::CSCm);
295  dcsBits_[VBIN_DT_0] &= dcsStatusItr.ready(DcsStatus::DT0);
296  dcsBits_[VBIN_DT_P] &= dcsStatusItr.ready(DcsStatus::DTp);
297  dcsBits_[VBIN_DT_M] &= dcsStatusItr.ready(DcsStatus::DTm);
298  dcsBits_[VBIN_EB_P] &= dcsStatusItr.ready(DcsStatus::EBp);
299  dcsBits_[VBIN_EB_M] &= dcsStatusItr.ready(DcsStatus::EBm);
300  dcsBits_[VBIN_EE_P] &= dcsStatusItr.ready(DcsStatus::EEp);
301  dcsBits_[VBIN_EE_M] &= dcsStatusItr.ready(DcsStatus::EEm);
302  dcsBits_[VBIN_ES_P] &= dcsStatusItr.ready(DcsStatus::ESp);
303  dcsBits_[VBIN_ES_M] &= dcsStatusItr.ready(DcsStatus::ESm);
304  dcsBits_[VBIN_HBHE_A] &= dcsStatusItr.ready(DcsStatus::HBHEa);
305  dcsBits_[VBIN_HBHE_B] &= dcsStatusItr.ready(DcsStatus::HBHEb);
306  dcsBits_[VBIN_HBHE_C] &= dcsStatusItr.ready(DcsStatus::HBHEc);
307  dcsBits_[VBIN_HF] &= dcsStatusItr.ready(DcsStatus::HF);
308  dcsBits_[VBIN_HO] &= dcsStatusItr.ready(DcsStatus::HO);
309  dcsBits_[VBIN_BPIX] &= dcsStatusItr.ready(DcsStatus::BPIX);
310  dcsBits_[VBIN_FPIX] &= dcsStatusItr.ready(DcsStatus::FPIX);
311  dcsBits_[VBIN_RPC] &= dcsStatusItr.ready(DcsStatus::RPC);
312  dcsBits_[VBIN_TIBTID] &= dcsStatusItr.ready(DcsStatus::TIBTID);
313  dcsBits_[VBIN_TOB] &= dcsStatusItr.ready(DcsStatus::TOB);
314  dcsBits_[VBIN_TEC_P] &= dcsStatusItr.ready(DcsStatus::TECp);
315  dcsBits_[VBIN_TE_M] &= dcsStatusItr.ready(DcsStatus::TECm);
316  dcsBits_[VBIN_CASTOR] &= dcsStatusItr.ready(DcsStatus::CASTOR);
317  dcsBits_[VBIN_ZDC] &= dcsStatusItr.ready(DcsStatus::ZDC);
318  // Some info-level logging
319  edm::LogInfo("DQMProvInfo") << "DCS status: 0x" << std::hex
320  << dcsStatusItr.ready() << std::dec
321  << std::endl;
322  }
323 
324  // Part 2
325  // Compute the PhysicsDeclared bit from the event
326  // The bit is set to to true if:
327  // - the LHC is in stable beams
328  // - all the pixel and strips partitions have DCSStatus ON
329  // - at least one muon partition has DCSStatus ON
330  // Basically: we do an AND of the physicsDeclared of ALL events.
331  // As soon as one value is not "1", physicsDeclared_ becomes false.
332  physicsDeclared_ &= ( beamMode_ == 11 )
337  || dcsBits_[VBIN_RPC] );
338  // Some info-level logging
339  edm::LogInfo("DQMProvInfo") << "Physics declared bit: "
340  << physicsDeclared_ << std::endl;
341 }
342 
344  // Only trying to retrieve the global tag for the first event we ever
345  // encounter.
346  if (!globalTagRetrieved_) {
347  // Getting the real process name for the given event
349  event.processHistory()[event.processHistory().size() - 1].processName();
350  // Getting parameters for that process
352  event.getProcessParameterSet(processName, ps);
353  // Getting the global tag
354  globalTag_ = ps.getParameterSet("PoolDBESSource@GlobalTag")
355  .getParameter<std::string>("globaltag");
357  // Finaly: Setting globalTagRetrieved_ to true, since we got it now
358  globalTagRetrieved_ = true;
359  }
360 }
361 
363  const edm::EventSetup& c) {
364  int currentLSNumber = iLumi.id().luminosityBlock();
365 
366  // We assume that we encounter the LumiSections in chronological order
367  // We only process a LS if it's greater than the previous one:
368  if (currentLSNumber > previousLSNumber_) {
369  endLuminosityBlockLhcInfo(currentLSNumber);
370  endLuminosityBlockEventInfo(currentLSNumber);
371  }
372 
373  // Set current LS number as previous number for the next cycle:
374  previousLSNumber_ = currentLSNumber;
375 }
376 
377 void DQMProvInfo::endLuminosityBlockLhcInfo(const int currentLSNumber) {
378  // Quite straightforward: Fill in the value for the LS in each plot:
379  hBeamMode_->setBinContent(currentLSNumber, beamMode_);
380  hIntensity1_->setBinContent(currentLSNumber, intensity1_);
381  hIntensity2_->setBinContent(currentLSNumber, intensity2_);
382  hLhcFill_->setBinContent(currentLSNumber, lhcFill_);
383  hMomentum_->setBinContent(currentLSNumber, momentum_);
384 }
385 
386 void DQMProvInfo::endLuminosityBlockEventInfo(const int currentLSNumber) {
387  // If we skipped LumiSections, we make them "white"
388  blankPreviousLumiSections(currentLSNumber);
389 
390  // We set the top value to "Valid" to 1 for each LS we end
391  reportSummaryMap_->setBinContent(currentLSNumber, VBIN_VALID, 1.);
392 
393  // Part 1: Physics declared bit in y bin VBIN_PHYSICS_DECLARED
394  // This also is used as the global value of the summary.
395  if (physicsDeclared_) {
396  reportSummary_->Fill(1.);
398  1.);
399  } else {
400  reportSummary_->Fill(0.);
402  0.);
403  }
404 
405  // Part2: DCS bits in y bins 1 to MAX_DCS_VBINS
406  for (int vbin = 1; vbin <= MAX_DCS_VBINS; vbin++) {
407  if (dcsBits_[vbin]) {
408  reportSummaryMap_->setBinContent(currentLSNumber, vbin, 1.);
409  } else {
410  reportSummaryMap_->setBinContent(currentLSNumber, vbin, 0.);
411  }
412  }
413 
414  // Part3: Using LHC status info, fill in VBIN_MOMENTUM and VBIN_STABLE_BEAM
415  // Fill 13 TeV bit in y bin VBIN_MOMENTUM
417  reportSummary_->Fill(1.);
418  reportSummaryMap_->setBinContent(currentLSNumber, VBIN_MOMENTUM, 1.);
419  } else {
420  reportSummary_->Fill(0.);
421  reportSummaryMap_->setBinContent(currentLSNumber, VBIN_MOMENTUM, 0.);
422  }
423 
424  // Fill stable beams bit in y bin VBIN_STABLE_BEAM
425  if (beamMode_ == 11) {
427  reportSummary_->Fill(1.);
428  reportSummaryMap_->setBinContent(currentLSNumber, VBIN_STABLE_BEAM, 1.);
429  } else {
430  reportSummary_->Fill(0.);
431  reportSummaryMap_->setBinContent(currentLSNumber, VBIN_STABLE_BEAM, 0.);
432  }
433 }
434 
435 void DQMProvInfo::blankPreviousLumiSections(const int currentLSNumber) {
436  // In case we skipped lumisections, the current lumisection number will be
437  // more than the previous lumisection number + 1.
438  // We paint all the skipped lumisections completely white (-1), except for
439  // the top flag (the "valid" flag), which we paint red (0).
440  for (int ls = previousLSNumber_ + 1; ls < currentLSNumber; ls++) {
441  // Color the "Valid" bin red (0)
443  // Color all the other bins white (-1)
444  for (int vBin = 1; vBin < VBIN_VALID; vBin++) {
445  reportSummaryMap_->setBinContent(ls, vBin, -1.);
446  }
447  }
448 }
unsigned int size() const
number of trigger paths in trigger table
LuminosityBlockID id() const
void endLuminosityBlockEventInfo(const int currentLSNumber)
Definition: DQMProvInfo.cc:386
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * hBeamMode_
Definition: DQMProvInfo.h:114
void setBinContent(int binx, double content)
set content of bin (1-D)
const BSTRecord & getBST() const
Definition: TCDSRecord.h:104
int previousLSNumber_
Definition: DQMProvInfo.h:128
MonitorElement * hIntensity2_
Definition: DQMProvInfo.h:118
void beginLuminosityBlock(const edm::LuminosityBlock &l, const edm::EventSetup &c) override
Definition: DQMProvInfo.cc:224
MonitorElement * reportSummary_
Definition: DQMProvInfo.h:126
void analyzeEventInfo(const edm::Event &e)
Definition: DQMProvInfo.cc:268
MonitorElement * hMomentum_
Definition: DQMProvInfo.h:122
TH1F * getTH1F() const
static const int VBIN_EE_P
Definition: DQMProvInfo.h:63
MonitorElement * workingDir_
Definition: DQMProvInfo.h:146
edm::EDGetTokenT< DcsStatusCollection > dcsStatusCollection_
Definition: DQMProvInfo.h:110
bool foundFirstDcsBits_
Definition: DQMProvInfo.h:132
MonitorElement * bookInt(Args &&...args)
Definition: DQMStore.h:106
MonitorElement * bookString(Args &&...args)
Definition: DQMStore.h:100
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:90
const std::string & tableName() const
HLT ConfDB table name.
MonitorElement * processId_
Definition: DQMProvInfo.h:145
MonitorElement * hHltKey_
Definition: DQMProvInfo.h:141
MonitorElement * versGlobaltag_
Definition: DQMProvInfo.h:136
uint16_t const getBeamMode() const
Definition: BSTRecord.h:73
static const int VBIN_CASTOR
Definition: DQMProvInfo.h:79
static const int VBIN_HBHE_B
Definition: DQMProvInfo.h:68
static const int VBIN_EE_M
Definition: DQMProvInfo.h:64
static const int VBIN_HBHE_C
Definition: DQMProvInfo.h:69
bool globalTagRetrieved_
Definition: DQMProvInfo.h:138
void Fill(long long x)
static const int VBIN_HO
Definition: DQMProvInfo.h:71
int32_t const getBeamMomentum() const
Definition: BSTRecord.h:82
std::string globalTag_
Definition: DQMProvInfo.h:137
static const int VBIN_DT_0
Definition: DQMProvInfo.h:58
static const int VBIN_TEC_P
Definition: DQMProvInfo.h:77
void bookHistogramsEventInfo(DQMStore::IBooker &)
Definition: DQMProvInfo.cc:151
static const int VBIN_CSC_M
Definition: DQMProvInfo.h:57
MonitorElement * versRuntype_
Definition: DQMProvInfo.h:139
static const int VBIN_TOB
Definition: DQMProvInfo.h:76
static const int VBIN_FPIX
Definition: DQMProvInfo.h:73
static const int MAX_LUMIS
Definition: DQMProvInfo.h:53
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
static const int VBIN_DT_M
Definition: DQMProvInfo.h:60
static const int VBIN_MOMENTUM
Definition: DQMProvInfo.h:88
void bookHistogramsProvInfo(DQMStore::IBooker &)
Definition: DQMProvInfo.cc:193
uint32_t const getIntensityBeam2() const
Definition: BSTRecord.h:88
bool isValid() const
Definition: HandleBase.h:74
void bookHistogramsLhcInfo(DQMStore::IBooker &)
Definition: DQMProvInfo.cc:90
bool foundFirstPhysicsDeclared_
Definition: DQMProvInfo.h:130
void analyzeProvInfo(const edm::Event &e)
Definition: DQMProvInfo.cc:343
static const int MAX_MOMENTUM
Definition: DQMProvInfo.h:96
TH2F * getTH2F() const
void dqmBeginRun(const edm::Run &r, const edm::EventSetup &c) override
Definition: DQMProvInfo.cc:50
static const int MAX_VBINS
Definition: DQMProvInfo.h:92
std::string subsystemname_
Definition: DQMProvInfo.h:107
MonitorElement * hLhcFill_
Definition: DQMProvInfo.h:120
std::string getReleaseVersion()
static const int VBIN_STABLE_BEAM
Definition: DQMProvInfo.h:89
void blankPreviousLumiSections(const int currentLSNumber)
Definition: DQMProvInfo.cc:435
static const int VBIN_TIBTID
Definition: DQMProvInfo.h:75
def ls(path, rec=False)
Definition: eostools.py:348
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Definition: DQMProvInfo.cc:241
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
static const int VBIN_EB_P
Definition: DQMProvInfo.h:61
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:136
ParameterSet const & getParameterSet(std::string const &) const
static const int VBIN_BPIX
Definition: DQMProvInfo.h:72
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
void analyzeLhcInfo(const edm::Event &e)
Definition: DQMProvInfo.cc:252
MonitorElement * hIntensity1_
Definition: DQMProvInfo.h:116
static const int VBIN_TE_M
Definition: DQMProvInfo.h:78
LuminosityBlockNumber_t luminosityBlock() const
static const int VBIN_RPC
Definition: DQMProvInfo.h:74
MonitorElement * versCMSSW_
Definition: DQMProvInfo.h:135
MonitorElement * hIsCollisionsRun_
Definition: DQMProvInfo.h:144
std::string runType_
Definition: DQMProvInfo.h:140
edm::EDGetTokenT< TCDSRecord > tcdsrecord_
Definition: DQMProvInfo.h:111
static const int MAX_DCS_VBINS
Definition: DQMProvInfo.h:85
static const int VBIN_ZDC
Definition: DQMProvInfo.h:80
DQMProvInfo(const edm::ParameterSet &ps)
Definition: DQMProvInfo.cc:23
static const int VBIN_ES_P
Definition: DQMProvInfo.h:65
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: DQMProvInfo.cc:70
std::string hltKey_
Definition: DQMProvInfo.h:142
static const int VBIN_CSC_P
Definition: DQMProvInfo.h:56
static const int VBIN_DT_P
Definition: DQMProvInfo.h:59
static const int VBIN_ES_M
Definition: DQMProvInfo.h:66
MonitorElement * bookFloat(Args &&...args)
Definition: DQMStore.h:112
std::string provinfofolder_
Definition: DQMProvInfo.h:108
static const int MOMENTUM_OFFSET
Definition: DQMProvInfo.h:104
bool physicsDeclared_
Definition: DQMProvInfo.h:129
uint32_t const getLhcFill() const
Definition: BSTRecord.h:70
static const int VBIN_HF
Definition: DQMProvInfo.h:70
void endLuminosityBlockLhcInfo(const int currentLSNumber)
Definition: DQMProvInfo.cc:377
MonitorElement * hostName_
Definition: DQMProvInfo.h:143
void endLuminosityBlock(const edm::LuminosityBlock &l, const edm::EventSetup &c) override
Definition: DQMProvInfo.cc:362
static const int VBIN_HBHE_A
Definition: DQMProvInfo.h:67
~DQMProvInfo() override
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:62
bool dcsBits_[MAX_DCS_VBINS+1]
Definition: DQMProvInfo.h:131
Definition: event.py:1
Definition: Run.h:44
MonitorElement * reportSummaryMap_
Definition: DQMProvInfo.h:127
static const int VBIN_PHYSICS_DECLARED
Definition: DQMProvInfo.h:87
uint32_t const getIntensityBeam1() const
Definition: BSTRecord.h:85