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
25  subsystemname_ = ps.getUntrackedParameter<std::string>("subSystemFolder", "Info");
26  provinfofolder_ = ps.getUntrackedParameter<std::string>("provInfoFolder", "ProvInfo");
27  runType_ = ps.getUntrackedParameter<std::string>("runType", "No run type selected");
28 
29  // Initialization of the input
30  // Used to get the DCS bits:
32  consumes<DcsStatusCollection>(ps.getUntrackedParameter<std::string>("dcsStatusCollection", "scalersRawToDigi"));
33 
34  // Used to get the BST record from the TCDS information
35  tcdsrecord_ = consumes<TCDSRecord>(
36  ps.getUntrackedParameter<edm::InputTag>("tcdsData", edm::InputTag("tcdsDigis", "tcdsRecord")));
37 
38  // Used to get the DCS bits:
39  dcsRecordToken_ = consumes<DCSRecord>(
40  ps.getUntrackedParameter<edm::InputTag>("dcsRecord", edm::InputTag("onlineMetaDataRawToDigi")));
41 
42  // Initialization of the global tag
43  globalTag_ = "MODULE::DEFAULT"; // default
44  globalTagRetrieved_ = false; // set as soon as retrieved from first event
45 }
46 
47 // Destructor
48 DQMProvInfo::~DQMProvInfo() = default;
49 
50 void DQMProvInfo::dqmBeginRun(const edm::Run& iRun, const edm::EventSetup& iEventSetup) {
51  // Here we do everything that needs to be done before the booking
52  // Getting the HLT key from HLTConfigProvider:
53  hltKey_ = "";
55  bool changed(true);
56  if (!hltConfig.init(iRun, iEventSetup, "HLT", changed)) {
57  edm::LogInfo("DQMProvInfo") << "errorHltConfigExtraction" << std::endl;
58  hltKey_ = "error extraction";
59  } else if (hltConfig.size() <= 0) {
60  edm::LogInfo("DQMProvInfo") << "hltConfig" << std::endl;
61  hltKey_ = "error key of length 0";
62  } else {
63  edm::LogInfo("DQMProvInfo") << "HLT key (run): " << hltConfig.tableName() << std::endl;
64  hltKey_ = hltConfig.tableName();
65  }
66 }
67 
68 void DQMProvInfo::bookHistograms(DQMStore::IBooker& iBooker, edm::Run const& iRun, edm::EventSetup const& iEventSetup) {
69  iBooker.cd();
70  // This module will create elements in 3 different folders:
71  // - Info/LhcInfo
72  // - Info/EventInfo
73  // - Info/ProvInfo
74  // (string "Info" configurable through subsystemname_)
75  // (string "Provinfo" configurable through provinfofolder_)
76  iBooker.setCurrentFolder(subsystemname_ + "/LhcInfo/");
77  bookHistogramsLhcInfo(iBooker);
78 
79  iBooker.setCurrentFolder(subsystemname_ + "/EventInfo/");
80  bookHistogramsEventInfo(iBooker);
81 
83  bookHistogramsProvInfo(iBooker);
84 }
85 
87  // Element: beamMode
88  // Beam parameters provided by BST are defined in:
89  // https://edms.cern.ch/document/638899/2.0
90  hBeamMode_ = iBooker.book1D("beamMode", "beamMode", MAX_LUMIS, 1., MAX_LUMIS + 1);
91  hBeamMode_->getTH1F()->GetYaxis()->Set(21, 0.5, 21.5);
92  hBeamMode_->getTH1F()->SetMaximum(21.5);
93  hBeamMode_->setBinContent(0., 22.); // Not clear, remove when testable
94 
95  hBeamMode_->setAxisTitle("Luminosity Section", 1);
96  hBeamMode_->setBinLabel(1, "no mode", 2);
97  hBeamMode_->setBinLabel(2, "setup", 2);
98  hBeamMode_->setBinLabel(3, "inj pilot", 2);
99  hBeamMode_->setBinLabel(4, "inj intr", 2);
100  hBeamMode_->setBinLabel(5, "inj nomn", 2);
101  hBeamMode_->setBinLabel(6, "pre ramp", 2);
102  hBeamMode_->setBinLabel(7, "ramp", 2);
103  hBeamMode_->setBinLabel(8, "flat top", 2);
104  hBeamMode_->setBinLabel(9, "squeeze", 2);
105  hBeamMode_->setBinLabel(10, "adjust", 2);
106  hBeamMode_->setBinLabel(11, "stable", 2);
107  hBeamMode_->setBinLabel(12, "unstable", 2);
108  hBeamMode_->setBinLabel(13, "beam dump", 2);
109  hBeamMode_->setBinLabel(14, "ramp down", 2);
110  hBeamMode_->setBinLabel(15, "recovery", 2);
111  hBeamMode_->setBinLabel(16, "inj dump", 2);
112  hBeamMode_->setBinLabel(17, "circ dump", 2);
113  hBeamMode_->setBinLabel(18, "abort", 2);
114  hBeamMode_->setBinLabel(19, "cycling", 2);
115  hBeamMode_->setBinLabel(20, "warn b-dump", 2);
116  hBeamMode_->setBinLabel(21, "no beam", 2);
117 
118  // Element: intensity1
119  hIntensity1_ = iBooker.book1D("intensity1", "Intensity Beam 1", MAX_LUMIS, 1., MAX_LUMIS + 1);
120  hIntensity1_->setAxisTitle("Luminosity Section", 1);
121  hIntensity1_->setAxisTitle("N [E10]", 2);
122 
123  // Element: intensity2
124  hIntensity2_ = iBooker.book1D("intensity2", "Intensity Beam 2", MAX_LUMIS, 1., MAX_LUMIS + 1);
125  hIntensity2_->setAxisTitle("Luminosity Section", 1);
126  hIntensity2_->setAxisTitle("N [E10]", 2);
127 
128  // Element: lhcFill
129  hLhcFill_ = iBooker.book1D("lhcFill", "LHC Fill Number", MAX_LUMIS, 1., MAX_LUMIS + 1);
130  hLhcFill_->setAxisTitle("Luminosity Section", 1);
131 
132  // Element: momentum
133  hMomentum_ = iBooker.book1D("momentum", "Beam Energy [GeV]", MAX_LUMIS, 1., MAX_LUMIS + 1);
134  hMomentum_->setAxisTitle("Luminosity Section", 1);
135 }
136 
138  // Element: reportSummary
139  reportSummary_ = iBooker.bookFloat("reportSummary");
140 
141  // Element: reportSummaryMap (this is the famous HV plot)
142  reportSummaryMap_ = iBooker.book2D("reportSummaryMap",
143  "DCS HV Status and Beam Status per Lumisection",
144  MAX_LUMIS,
145  0,
146  MAX_LUMIS,
147  MAX_VBINS,
148  0.,
149  MAX_VBINS);
150  reportSummaryMap_->setAxisTitle("Luminosity Section");
151 
181 
183 }
184 
186  // Note: Given that all these elements are only filled once per run, they
187  // are filled here right away. (except for isCollisionsRun)
188 
189  // Element: CMMSW
190  versCMSSW_ = iBooker.bookString("CMSSW", edm::getReleaseVersion().c_str());
191 
192  // Element: Globaltag
193  versGlobaltag_ = iBooker.bookString("Globaltag", globalTag_);
194 
195  // Element: RunType
196  versRuntype_ = iBooker.bookString("Run Type", runType_);
197 
198  // Element: hltKey
199  hHltKey_ = iBooker.bookString("hltKey", hltKey_);
200 
201  // Element: hostName
202  hostName_ = iBooker.bookString("hostName", gSystem->HostName());
203 
204  // Element: isCollisionsRun (filled for real in EndLumi)
205  hIsCollisionsRun_ = iBooker.bookInt("isCollisionsRun");
207 
208  // Element: processID
209  processId_ = iBooker.bookInt("processID");
210  processId_->Fill(gSystem->GetPid());
211 
212  // Element: workingDir
213  workingDir_ = iBooker.bookString("workingDir", gSystem->pwd());
214 }
215 
217  // This happens on an event by event base
218  // We extract information from events, placing them in local variables
219  // and then at the end of each lumisection, we fill them in the MonitorElement
220  // (Except for the global tag, which we only extract from the first event we
221  // ever encounter and put in the MonitorElement right away)
222 
223  // We set the top value to "Valid" to 1 for each LS we encounter
224  setupLumiSection(event.id().luminosityBlock());
225 
229 }
230 
232  unsigned int currentLSNumber = event.id().luminosityBlock();
233  edm::Handle<TCDSRecord> tcdsData;
234  event.getByToken(tcdsrecord_, tcdsData);
235  // We unpack the TCDS record from TCDS
236  if (tcdsData.isValid()) {
237  //and we look at the BST information
238  auto lhcFill = static_cast<int>(tcdsData->getBST().getLhcFill());
239  beamMode_ = static_cast<int>(tcdsData->getBST().getBeamMode());
240  auto momentum = static_cast<int>(tcdsData->getBST().getBeamMomentum());
241  auto intensity1 = static_cast<int>(tcdsData->getBST().getIntensityBeam1());
242  auto intensity2 = static_cast<int>(tcdsData->getBST().getIntensityBeam2());
243 
244  // Quite straightforward: Fill in the value for the LS in each plot:
245  hLhcFill_->setBinContent(currentLSNumber, lhcFill);
246  hBeamMode_->setBinContent(currentLSNumber, beamMode_);
247  hMomentum_->setBinContent(currentLSNumber, momentum);
248  hIntensity1_->setBinContent(currentLSNumber, intensity1);
249  hIntensity2_->setBinContent(currentLSNumber, intensity2);
250 
251  // Part3: Using LHC status info, fill in VBIN_MOMENTUM and VBIN_STABLE_BEAM
252  // Fill 13 TeV bit in y bin VBIN_MOMENTUM
253  if (momentum >= MAX_MOMENTUM - MOMENTUM_OFFSET) {
254  fillSummaryMapBin(currentLSNumber, VBIN_MOMENTUM, 1.);
255  } else {
256  fillSummaryMapBin(currentLSNumber, VBIN_MOMENTUM, 0.);
257  }
258 
259  // Fill stable beams bit in y bin VBIN_STABLE_BEAM
260  if (beamMode_ == 11) {
262  reportSummary_->Fill(1.);
263  fillSummaryMapBin(currentLSNumber, VBIN_STABLE_BEAM, 1.);
264  } else {
265  reportSummary_->Fill(0.);
266  fillSummaryMapBin(currentLSNumber, VBIN_STABLE_BEAM, 0.);
267  }
268  } else {
269  edm::LogWarning("DQMProvInfo") << "TCDS Data inaccessible.";
270  }
271 }
272 
274  unsigned int currentLSNumber = event.id().luminosityBlock();
275  // Part 1:
276  // If FED#735 is available use it to extract DcsStatusCollection.
277  // If not, use softFED#1022 to extract DCSRecord.
278 
279  edm::Handle<DcsStatusCollection> dcsStatusCollection;
280  event.getByToken(dcsStatusCollection_, dcsStatusCollection);
282  event.getByToken(dcsRecordToken_, dcsRecord);
283 
284  // Populate dcsBits array with received information.
285  bool dcsBits[MAX_DCS_VBINS + 1] = {};
286 
287  if (dcsStatusCollection.isValid() && !dcsStatusCollection->empty()) {
288  edm::LogInfo("DQMProvInfo") << "Using FED#735 for reading DCS bits" << std::endl;
289  fillDcsBitsFromDcsStatusCollection(dcsStatusCollection, dcsBits);
290  } else if (dcsRecord.isValid()) {
291  edm::LogInfo("DQMProvInfo") << "Using softFED#1022 for reading DCS bits" << std::endl;
293  } else {
294  edm::LogError("DQMProvInfo") << "No DCS information found!" << std::endl;
295  }
296 
297  // Part 2: Compute the PhysicsDeclared bit from the event
298  auto physicsDeclared = isPhysicsDeclared(dcsBits);
299 
300  // Some info-level logging
301  edm::LogInfo("DQMProvInfo") << "Physics declared bit: " << physicsDeclared << std::endl;
302 
303  // Part 1: Physics declared bit in y bin VBIN_PHYSICS_DECLARED
304  // This also is used as the global value of the summary.
305  if (physicsDeclared) {
306  fillSummaryMapBin(currentLSNumber, VBIN_PHYSICS_DECLARED, 1.);
307  } else {
308  fillSummaryMapBin(currentLSNumber, VBIN_PHYSICS_DECLARED, 0.);
309  }
310 
311  // Part2: DCS bits in y bins 1 to MAX_DCS_VBINS
312  for (int vbin = 1; vbin <= MAX_DCS_VBINS; vbin++) {
313  if (dcsBits[vbin]) {
314  fillSummaryMapBin(currentLSNumber, vbin, 1.);
315  } else {
316  fillSummaryMapBin(currentLSNumber, vbin, 0.);
317  }
318  }
319 }
320 
322  // Only trying to retrieve the global tag for the first event we ever
323  // encounter.
324  if (!globalTagRetrieved_) {
325  // Getting the real process name for the given event
326  std::string processName = event.processHistory()[event.processHistory().size() - 1].processName();
327  // Getting parameters for that process
329  event.getProcessParameterSet(processName, ps);
330  // Getting the global tag
331  globalTag_ = ps.getParameterSet("PoolDBESSource@GlobalTag").getParameter<std::string>("globaltag");
333  // Finaly: Setting globalTagRetrieved_ to true, since we got it now
334  globalTagRetrieved_ = true;
335  }
336 }
337 
339  dcsBits[VBIN_CSC_P] = dcsRecord.highVoltageReady(DCSRecord::Partition::CSCp);
340  dcsBits[VBIN_CSC_M] = dcsRecord.highVoltageReady(DCSRecord::Partition::CSCm);
341  dcsBits[VBIN_DT_0] = dcsRecord.highVoltageReady(DCSRecord::Partition::DT0);
342  dcsBits[VBIN_DT_P] = dcsRecord.highVoltageReady(DCSRecord::Partition::DTp);
343  dcsBits[VBIN_DT_M] = dcsRecord.highVoltageReady(DCSRecord::Partition::DTm);
344  dcsBits[VBIN_EB_P] = dcsRecord.highVoltageReady(DCSRecord::Partition::EBp);
345  dcsBits[VBIN_EB_M] = dcsRecord.highVoltageReady(DCSRecord::Partition::EBm);
346  dcsBits[VBIN_EE_P] = dcsRecord.highVoltageReady(DCSRecord::Partition::EEp);
347  dcsBits[VBIN_EE_M] = dcsRecord.highVoltageReady(DCSRecord::Partition::EEm);
348  dcsBits[VBIN_ES_P] = dcsRecord.highVoltageReady(DCSRecord::Partition::ESp);
349  dcsBits[VBIN_ES_M] = dcsRecord.highVoltageReady(DCSRecord::Partition::ESm);
350  dcsBits[VBIN_HBHE_A] = dcsRecord.highVoltageReady(DCSRecord::Partition::HBHEa);
351  dcsBits[VBIN_HBHE_B] = dcsRecord.highVoltageReady(DCSRecord::Partition::HBHEb);
352  dcsBits[VBIN_HBHE_C] = dcsRecord.highVoltageReady(DCSRecord::Partition::HBHEc);
353  dcsBits[VBIN_HF] = dcsRecord.highVoltageReady(DCSRecord::Partition::HF);
354  dcsBits[VBIN_HO] = dcsRecord.highVoltageReady(DCSRecord::Partition::HO);
355  dcsBits[VBIN_BPIX] = dcsRecord.highVoltageReady(DCSRecord::Partition::BPIX);
356  dcsBits[VBIN_FPIX] = dcsRecord.highVoltageReady(DCSRecord::Partition::FPIX);
357  dcsBits[VBIN_RPC] = dcsRecord.highVoltageReady(DCSRecord::Partition::RPC);
358  dcsBits[VBIN_TIBTID] = dcsRecord.highVoltageReady(DCSRecord::Partition::TIBTID);
359  dcsBits[VBIN_TOB] = dcsRecord.highVoltageReady(DCSRecord::Partition::TOB);
360  dcsBits[VBIN_TEC_P] = dcsRecord.highVoltageReady(DCSRecord::Partition::TECp);
361  dcsBits[VBIN_TE_M] = dcsRecord.highVoltageReady(DCSRecord::Partition::TECm);
362  dcsBits[VBIN_CASTOR] = dcsRecord.highVoltageReady(DCSRecord::Partition::CASTOR);
363  dcsBits[VBIN_ZDC] = dcsRecord.highVoltageReady(DCSRecord::Partition::ZDC);
364 }
365 
367  bool* dcsBits) {
368  // Loop over the DCSStatus entries in the DcsStatusCollection
369  // (Typically there is only one)
370  bool first = true;
371  for (auto const& dcsStatusItr : *dcsStatusCollection) {
372  // By default all the bits are false. We put all the bits on true only
373  // for the first DCSStatus that we encounter:
374  if (first) {
375  for (int vbin = 1; vbin <= MAX_DCS_VBINS; vbin++) {
376  dcsBits[vbin] = true;
377  }
378  first = false;
379  }
380  dcsBits[VBIN_CSC_P] &= dcsStatusItr.ready(DcsStatus::CSCp);
381  dcsBits[VBIN_CSC_M] &= dcsStatusItr.ready(DcsStatus::CSCm);
382  dcsBits[VBIN_DT_0] &= dcsStatusItr.ready(DcsStatus::DT0);
383  dcsBits[VBIN_DT_P] &= dcsStatusItr.ready(DcsStatus::DTp);
384  dcsBits[VBIN_DT_M] &= dcsStatusItr.ready(DcsStatus::DTm);
385  dcsBits[VBIN_EB_P] &= dcsStatusItr.ready(DcsStatus::EBp);
386  dcsBits[VBIN_EB_M] &= dcsStatusItr.ready(DcsStatus::EBm);
387  dcsBits[VBIN_EE_P] &= dcsStatusItr.ready(DcsStatus::EEp);
388  dcsBits[VBIN_EE_M] &= dcsStatusItr.ready(DcsStatus::EEm);
389  dcsBits[VBIN_ES_P] &= dcsStatusItr.ready(DcsStatus::ESp);
390  dcsBits[VBIN_ES_M] &= dcsStatusItr.ready(DcsStatus::ESm);
391  dcsBits[VBIN_HBHE_A] &= dcsStatusItr.ready(DcsStatus::HBHEa);
392  dcsBits[VBIN_HBHE_B] &= dcsStatusItr.ready(DcsStatus::HBHEb);
393  dcsBits[VBIN_HBHE_C] &= dcsStatusItr.ready(DcsStatus::HBHEc);
394  dcsBits[VBIN_HF] &= dcsStatusItr.ready(DcsStatus::HF);
395  dcsBits[VBIN_HO] &= dcsStatusItr.ready(DcsStatus::HO);
396  dcsBits[VBIN_BPIX] &= dcsStatusItr.ready(DcsStatus::BPIX);
397  dcsBits[VBIN_FPIX] &= dcsStatusItr.ready(DcsStatus::FPIX);
398  dcsBits[VBIN_RPC] &= dcsStatusItr.ready(DcsStatus::RPC);
399  dcsBits[VBIN_TIBTID] &= dcsStatusItr.ready(DcsStatus::TIBTID);
400  dcsBits[VBIN_TOB] &= dcsStatusItr.ready(DcsStatus::TOB);
401  dcsBits[VBIN_TEC_P] &= dcsStatusItr.ready(DcsStatus::TECp);
402  dcsBits[VBIN_TE_M] &= dcsStatusItr.ready(DcsStatus::TECm);
403  dcsBits[VBIN_CASTOR] &= dcsStatusItr.ready(DcsStatus::CASTOR);
404  dcsBits[VBIN_ZDC] &= dcsStatusItr.ready(DcsStatus::ZDC);
405 
406  // Some info-level logging
407  edm::LogInfo("DQMProvInfo") << "DCS status: 0x" << std::hex << dcsStatusItr.ready() << std::dec << std::endl;
408  }
409 }
410 
411 bool DQMProvInfo::isPhysicsDeclared(bool* dcsBits) {
412  // Compute the PhysicsDeclared bit from the event
413  // The bit is set to to true if:
414  // - the LHC is in stable beams
415  // - all the pixel and strips partitions have DCSStatus ON
416  // - at least one muon partition has DCSStatus ON
417  // Basically: we do an AND of the physicsDeclared of ALL events.
418  // As soon as one value is not "1", physicsDeclared_ becomes false.
419  return (beamMode_ == 11) &&
420  (dcsBits[VBIN_BPIX] && dcsBits[VBIN_FPIX] && dcsBits[VBIN_TIBTID] && dcsBits[VBIN_TOB] &&
421  dcsBits[VBIN_TEC_P] && dcsBits[VBIN_TE_M]) &&
422  (dcsBits[VBIN_CSC_P] || dcsBits[VBIN_CSC_M] || dcsBits[VBIN_DT_0] || dcsBits[VBIN_DT_P] ||
423  dcsBits[VBIN_DT_M] || dcsBits[VBIN_RPC]);
424 }
425 
427  // Initially we want all lumisection to be blank (-1) and
428  // white instead of red which is misleading.
429  for (int ls = 0; ls < MAX_LUMIS; ls++) {
430  // Color all the bins white (-1)
431  for (int vBin = 1; vBin <= MAX_VBINS; vBin++) {
432  reportSummaryMap_->setBinContent(ls, vBin, -1.);
433  }
434  }
435 }
436 
437 void DQMProvInfo::fillSummaryMapBin(int ls, int bin, double value) {
438  // All lumis are initialized as -1 (white).
439  // We'll set them to red (0) whenever we see a 0 -- else, the value should be
440  // green (1).
441  // This need to be atomic, DQMOneEDAnalyzer for this reason.
442  double current = reportSummaryMap_->getBinContent(ls, bin);
443  if (current == -1) {
445  } else if (value < current) {
447  } // else: ignore, keep min value.
448 }
449 
450 void DQMProvInfo::setupLumiSection(int currentLSNumber) {
451  if (reportSummaryMap_->getBinContent(currentLSNumber, VBIN_VALID) < 1.) {
452  reportSummaryMap_->setBinContent(currentLSNumber, VBIN_VALID, 1.);
453 
454  // Mark all lower LS as invalid, if they are not set valid yet.
455  // This is a hint for the render plugin to show the correct range.
456  for (int ls = 1; ls < currentLSNumber; ls++) {
459  }
460  }
461  }
462 }
CastorDigiToRaw_cfi.CASTOR
CASTOR
Definition: CastorDigiToRaw_cfi.py:4
l1t::mtf7::RPC
RPC Data Record : block->header().getID() = 4.
Definition: Block.h:20
DQMProvInfo::VBIN_HBHE_B
const static int VBIN_HBHE_B
Definition: DQMProvInfo.h:68
DcsStatus::ESp
Definition: DcsStatus.h:57
eostools.ls
def ls(path, rec=False)
Definition: eostools.py:349
DcsStatus::ZDC
Definition: DcsStatus.h:50
DQMProvInfo::hltKey_
std::string hltKey_
Definition: DQMProvInfo.h:134
DigiToRawDM_cff.ZDC
ZDC
Definition: DigiToRawDM_cff.py:24
DQMProvInfo::blankAllLumiSections
void blankAllLumiSections()
Definition: DQMProvInfo.cc:426
DQMProvInfo::versGlobaltag_
MonitorElement * versGlobaltag_
Definition: DQMProvInfo.h:128
dqm::implementation::IBooker::bookFloat
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:80
DQMProvInfo::VBIN_TEC_P
const static int VBIN_TEC_P
Definition: DQMProvInfo.h:77
BSTRecord::getIntensityBeam1
const uint32_t getIntensityBeam1() const
Definition: BSTRecord.h:82
DcsStatus.h
DQMProvInfo::VBIN_DT_0
const static int VBIN_DT_0
Definition: DQMProvInfo.h:58
DcsStatus::HBHEb
Definition: DcsStatus.h:39
DQMProvInfo::processId_
MonitorElement * processId_
Definition: DQMProvInfo.h:137
DcsStatus::DTm
Definition: DcsStatus.h:46
DQMProvInfo::VBIN_CSC_M
const static int VBIN_CSC_M
Definition: DQMProvInfo.h:57
DQMProvInfo::hostName_
MonitorElement * hostName_
Definition: DQMProvInfo.h:135
edm::Run
Definition: Run.h:45
SectorBuilder_Fpix_cff.FPIX
FPIX
Definition: SectorBuilder_Fpix_cff.py:16
DQMProvInfo::reportSummaryMap_
MonitorElement * reportSummaryMap_
Definition: DQMProvInfo.h:124
DQMProvInfo::~DQMProvInfo
~DQMProvInfo() override
LuminosityBlock.h
DQMProvInfo::provinfofolder_
std::string provinfofolder_
Definition: DQMProvInfo.h:108
DcsStatus::CSCm
Definition: DcsStatus.h:48
DcsStatus::EBm
Definition: DcsStatus.h:35
DQMProvInfo::fillSummaryMapBin
void fillSummaryMapBin(int ls, int bin, double value)
Definition: DQMProvInfo.cc:437
DQMProvInfo::VBIN_ES_M
const static int VBIN_ES_M
Definition: DQMProvInfo.h:66
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
DcsStatus::CSCp
Definition: DcsStatus.h:47
DCSRecord
Class to contain DCS information from soft FED 1022.
Definition: DCSRecord.h:20
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
DQMProvInfo::VBIN_HF
const static int VBIN_HF
Definition: DQMProvInfo.h:70
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
DcsStatus::EEm
Definition: DcsStatus.h:37
edm::Handle
Definition: AssociativeIterator.h:50
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
DcsStatus::BPIX
Definition: DcsStatus.h:55
DQMProvInfo::VBIN_MOMENTUM
const static int VBIN_MOMENTUM
Definition: DQMProvInfo.h:88
BSTRecord::getIntensityBeam2
const uint32_t getIntensityBeam2() const
Definition: BSTRecord.h:85
DQMProvInfo::hIntensity2_
MonitorElement * hIntensity2_
Definition: DQMProvInfo.h:118
DQMProvInfo::workingDir_
MonitorElement * workingDir_
Definition: DQMProvInfo.h:138
DQMProvInfo::MAX_MOMENTUM
const static int MAX_MOMENTUM
Definition: DQMProvInfo.h:96
DQMProvInfo::analyzeEventInfo
void analyzeEventInfo(const edm::Event &e)
Definition: DQMProvInfo.cc:273
DcsStatus::ESm
Definition: DcsStatus.h:58
DQMProvInfo::MAX_LUMIS
const static int MAX_LUMIS
Definition: DQMProvInfo.h:53
DQMProvInfo::bookHistogramsLhcInfo
void bookHistogramsLhcInfo(DQMStore::IBooker &)
Definition: DQMProvInfo.cc:86
BSTRecord::getBeamMode
const uint16_t getBeamMode() const
Definition: BSTRecord.h:70
DQMProvInfo::hMomentum_
MonitorElement * hMomentum_
Definition: DQMProvInfo.h:120
DcsStatus::DTp
Definition: DcsStatus.h:45
ProcessHistory.h
DQMProvInfo::bookHistogramsProvInfo
void bookHistogramsProvInfo(DQMStore::IBooker &)
Definition: DQMProvInfo.cc:185
DQMProvInfo::VBIN_EE_P
const static int VBIN_EE_P
Definition: DQMProvInfo.h:63
DQMProvInfo::VBIN_FPIX
const static int VBIN_FPIX
Definition: DQMProvInfo.h:73
DQMProvInfo::MAX_VBINS
const static int MAX_VBINS
Definition: DQMProvInfo.h:92
DQMProvInfo::hLhcFill_
MonitorElement * hLhcFill_
Definition: DQMProvInfo.h:119
DQMProvInfo::fillDcsBitsFromDcsStatusCollection
void fillDcsBitsFromDcsStatusCollection(const edm::Handle< DcsStatusCollection > &, bool *dcsBits)
Definition: DQMProvInfo.cc:366
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
DcsStatus::RPC
Definition: DcsStatus.h:43
DQMProvInfo::analyze
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Definition: DQMProvInfo.cc:216
DQMProvInfo::MAX_DCS_VBINS
const static int MAX_DCS_VBINS
Definition: DQMProvInfo.h:85
BSTRecord::getLhcFill
const uint32_t getLhcFill() const
Definition: BSTRecord.h:67
dqm::implementation::NavigatorBase::cd
virtual void cd()
Definition: DQMStore.cc:29
DQMProvInfo::analyzeProvInfo
void analyzeProvInfo(const edm::Event &e)
Definition: DQMProvInfo.cc:321
DQMProvInfo::VBIN_HO
const static int VBIN_HO
Definition: DQMProvInfo.h:71
DQMProvInfo::VBIN_TIBTID
const static int VBIN_TIBTID
Definition: DQMProvInfo.h:75
DQMProvInfo::hHltKey_
MonitorElement * hHltKey_
Definition: DQMProvInfo.h:133
BPIX
#define BPIX
Definition: PixelCalibConfiguration.cc:22
DQMProvInfo::MOMENTUM_OFFSET
const static int MOMENTUM_OFFSET
Definition: DQMProvInfo.h:104
dqm::impl::MonitorElement::getTH1F
virtual TH1F * getTH1F()
Definition: MonitorElement.cc:986
DQMProvInfo.h
DQMProvInfo::VBIN_ES_P
const static int VBIN_ES_P
Definition: DQMProvInfo.h:65
DQMProvInfo::VBIN_CSC_P
const static int VBIN_CSC_P
Definition: DQMProvInfo.h:56
DcsStatus::EEp
Definition: DcsStatus.h:36
DcsStatus::DT0
Definition: DcsStatus.h:44
DigiToRawDM_cff.HO
HO
Definition: DigiToRawDM_cff.py:23
DQMProvInfo::dcsRecordToken_
edm::EDGetTokenT< DCSRecord > dcsRecordToken_
Definition: DQMProvInfo.h:112
first
auto first
Definition: CAHitNtupletGeneratorKernelsImpl.h:112
DcsStatus::TOB
Definition: DcsStatus.h:52
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DcsStatus::HBHEa
Definition: DcsStatus.h:38
DQMProvInfo::VBIN_HBHE_C
const static int VBIN_HBHE_C
Definition: DQMProvInfo.h:69
DcsStatus::HBHEc
Definition: DcsStatus.h:40
DQMProvInfo::VBIN_BPIX
const static int VBIN_BPIX
Definition: DQMProvInfo.h:72
edm::ParameterSet
Definition: ParameterSet.h:47
GetReleaseVersion.h
DQMProvInfo::hIsCollisionsRun_
MonitorElement * hIsCollisionsRun_
Definition: DQMProvInfo.h:136
dqm::implementation::IBooker::bookString
MonitorElement * bookString(TString const &name, TString const &value, FUNC onbooking=NOOP())
Definition: DQMStore.h:87
BSTRecord::getBeamMomentum
const int32_t getBeamMomentum() const
Definition: BSTRecord.h:79
DQMProvInfo::VBIN_EE_M
const static int VBIN_EE_M
Definition: DQMProvInfo.h:64
DQMProvInfo::bookHistogramsEventInfo
void bookHistogramsEventInfo(DQMStore::IBooker &)
Definition: DQMProvInfo.cc:137
DQMProvInfo::globalTagRetrieved_
bool globalTagRetrieved_
Definition: DQMProvInfo.h:130
DQMProvInfo::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: DQMProvInfo.cc:68
DQMProvInfo::VBIN_VALID
const static int VBIN_VALID
Definition: DQMProvInfo.h:90
dqm::implementation::IBooker::bookInt
MonitorElement * bookInt(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:73
DQMProvInfo::isPhysicsDeclared
bool isPhysicsDeclared(bool *dcsBits)
Definition: DQMProvInfo.cc:411
DQMProvInfo::DQMProvInfo
DQMProvInfo(const edm::ParameterSet &ps)
Definition: DQMProvInfo.cc:23
DQMProvInfo::globalTag_
std::string globalTag_
Definition: DQMProvInfo.h:129
value
Definition: value.py:1
dqm::impl::MonitorElement::setBinLabel
virtual 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)
Definition: MonitorElement.cc:771
DQMOffline_cff.dcsRecord
dcsRecord
Definition: DQMOffline_cff.py:27
DQMProvInfo::VBIN_STABLE_BEAM
const static int VBIN_STABLE_BEAM
Definition: DQMProvInfo.h:89
DQMProvInfo::VBIN_HBHE_A
const static int VBIN_HBHE_A
Definition: DQMProvInfo.h:67
edm::EventSetup
Definition: EventSetup.h:58
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
HLTConfigProvider.h
DQMProvInfo::versRuntype_
MonitorElement * versRuntype_
Definition: DQMProvInfo.h:131
DQMProvInfo::setupLumiSection
void setupLumiSection(int ls)
Definition: DQMProvInfo.cc:450
DQMProvInfo::VBIN_PHYSICS_DECLARED
const static int VBIN_PHYSICS_DECLARED
Definition: DQMProvInfo.h:87
DQMProvInfo::VBIN_ZDC
const static int VBIN_ZDC
Definition: DQMProvInfo.h:80
SimL1EmulatorRepack_CalouGT_cff.processName
processName
Definition: SimL1EmulatorRepack_CalouGT_cff.py:17
newFWLiteAna.bin
bin
Definition: newFWLiteAna.py:161
DcsStatus::TECm
Definition: DcsStatus.h:54
dqm::impl::MonitorElement::setBinContent
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
Definition: MonitorElement.cc:691
HLTConfigProvider
Definition: HLTConfigProvider.h:29
DcsStatus::HO
Definition: DcsStatus.h:42
DQMProvInfo::VBIN_CASTOR
const static int VBIN_CASTOR
Definition: DQMProvInfo.h:79
DcsStatus::TECp
Definition: DcsStatus.h:53
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
edm::getReleaseVersion
std::string getReleaseVersion()
Definition: GetReleaseVersion.cc:7
DcsStatus::EBp
Definition: DcsStatus.h:34
DQMProvInfo::hBeamMode_
MonitorElement * hBeamMode_
Definition: DQMProvInfo.h:115
DQMProvInfo::subsystemname_
std::string subsystemname_
Definition: DQMProvInfo.h:107
DcsStatus::HF
Definition: DcsStatus.h:41
DQMProvInfo::fillDcsBitsFromDCSRecord
void fillDcsBitsFromDCSRecord(const DCSRecord &, bool *dcsBits)
Definition: DQMProvInfo.cc:338
DQMProvInfo::VBIN_EB_P
const static int VBIN_EB_P
Definition: DQMProvInfo.h:61
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
HltComparatorCreateWorkflow.hltConfig
hltConfig
Definition: HltComparatorCreateWorkflow.py:161
DQMProvInfo::dqmBeginRun
void dqmBeginRun(const edm::Run &r, const edm::EventSetup &c) override
Definition: DQMProvInfo.cc:50
dqm::implementation::IBooker
Definition: DQMStore.h:43
DQMProvInfo::VBIN_DT_P
const static int VBIN_DT_P
Definition: DQMProvInfo.h:59
TCDSRecord::getBST
const BSTRecord & getBST() const
Definition: TCDSRecord.h:100
DQMProvInfo::VBIN_TOB
const static int VBIN_TOB
Definition: DQMProvInfo.h:76
DQMProvInfo::VBIN_TE_M
const static int VBIN_TE_M
Definition: DQMProvInfo.h:78
DcsStatus::CASTOR
Definition: DcsStatus.h:49
DQMProvInfo::VBIN_DT_M
const static int VBIN_DT_M
Definition: DQMProvInfo.h:60
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:46
DQMProvInfo::hIntensity1_
MonitorElement * hIntensity1_
Definition: DQMProvInfo.h:117
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
event
Definition: event.py:1
edm::Event
Definition: Event.h:73
DcsStatus::TIBTID
Definition: DcsStatus.h:51
DQMProvInfo::analyzeLhcInfo
void analyzeLhcInfo(const edm::Event &e)
Definition: DQMProvInfo.cc:231
DQMProvInfo::reportSummary_
MonitorElement * reportSummary_
Definition: DQMProvInfo.h:123
DigiToRawDM_cff.HF
HF
Definition: DigiToRawDM_cff.py:22
DQMProvInfo::VBIN_RPC
const static int VBIN_RPC
Definition: DQMProvInfo.h:74
DQMProvInfo::VBIN_EB_M
const static int VBIN_EB_M
Definition: DQMProvInfo.h:62
SectorBuilder_Tob_cff.TOB
TOB
Definition: SectorBuilder_Tob_cff.py:16
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
dqm::impl::MonitorElement::getBinContent
virtual double getBinContent(int binx) const
get content of bin (1-D)
Definition: MonitorElement.cc:592
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
edm::InputTag
Definition: InputTag.h:15
DQMProvInfo::versCMSSW_
MonitorElement * versCMSSW_
Definition: DQMProvInfo.h:127
DcsStatus::FPIX
Definition: DcsStatus.h:56
DQMProvInfo::beamMode_
int beamMode_
Definition: DQMProvInfo.h:116
DQMProvInfo::dcsStatusCollection_
edm::EDGetTokenT< DcsStatusCollection > dcsStatusCollection_
Definition: DQMProvInfo.h:110
edm::ParameterSet::getParameterSet
ParameterSet const & getParameterSet(std::string const &) const
Definition: ParameterSet.cc:2128
DQMProvInfo::tcdsrecord_
edm::EDGetTokenT< TCDSRecord > tcdsrecord_
Definition: DQMProvInfo.h:111
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
DQMProvInfo::runType_
std::string runType_
Definition: DQMProvInfo.h:132