CMS 3D CMS Logo

DQMProtobufReader.cc
Go to the documentation of this file.
1 #include "DQMProtobufReader.h"
2 
6 
8 // #include "FWCore/Sources/interface/ProducerSourceBase.h"
9 
11 #include <google/protobuf/io/coded_stream.h>
12 #include <google/protobuf/io/gzip_stream.h>
13 #include <google/protobuf/io/zero_copy_stream_impl.h>
14 
15 #include "TBufferFile.h"
16 
17 #include <regex>
18 #include <cstdlib>
19 
20 using namespace dqmservices;
21 
23  : PuttableSourceBase(pset, desc), fiterator_(pset) {
24  flagSkipFirstLumis_ = pset.getUntrackedParameter<bool>("skipFirstLumis");
25  flagEndOfRunKills_ = pset.getUntrackedParameter<bool>("endOfRunKills");
26  flagDeleteDatFiles_ = pset.getUntrackedParameter<bool>("deleteDatFiles");
27  flagLoadFiles_ = pset.getUntrackedParameter<bool>("loadFiles");
28 
29  produces<std::string, edm::Transition::BeginLuminosityBlock>("sourceDataPath");
30  produces<std::string, edm::Transition::BeginLuminosityBlock>("sourceJsonPath");
31  produces<DQMToken, edm::Transition::BeginRun>("DQMGenerationRecoRun");
32  produces<DQMToken, edm::Transition::BeginLuminosityBlock>("DQMGenerationRecoLumi");
33 }
34 
36 
39  typedef DQMFileIterator::LumiEntry LumiEntry;
40 
41  // fiterator_.logFileAction("getNextItemType");
42 
43  for (;;) {
45 
46  if (edm::shutdown_flag.load()) {
47  fiterator_.logFileAction("Shutdown flag was set, shutting down.");
48  return InputSource::IsStop;
49  }
50 
51  // check for end of run file and force quit
52  if (flagEndOfRunKills_ && (fiterator_.state() != State::OPEN)) {
53  return InputSource::IsStop;
54  }
55 
56  // check for end of run and quit if everything has been processed.
57  // this is the clean exit
58  if ((!fiterator_.lumiReady()) && (fiterator_.state() == State::EOR)) {
59  return InputSource::IsStop;
60  }
61 
62  // skip to the next file if we have no files openned yet
63  if (fiterator_.lumiReady()) {
64  return InputSource::IsLumi;
65  }
66 
67  fiterator_.delay();
68  // BUG: for an unknown reason it fails after a certain time if we use
69  // IsSynchronize state
70  //
71  // comment out in order to block at this level
72  // return InputSource::IsSynchronize;
73  }
74 
75  // this is unreachable
76 }
77 
78 std::shared_ptr<edm::RunAuxiliary> DQMProtobufReader::readRunAuxiliary_() {
79  // fiterator_.logFileAction("readRunAuxiliary_");
80 
82  return std::shared_ptr<edm::RunAuxiliary>(aux);
83 }
84 
86  // fiterator_.logFileAction("readRun_");
88 
90  std::vector<MonitorElement*> allMEs = store->getAllContents("");
91  for (auto const& ME : allMEs) {
92  ME->Reset();
93  }
94 }
95 
96 std::shared_ptr<edm::LuminosityBlockAuxiliary> DQMProtobufReader::readLuminosityBlockAuxiliary_() {
97  // fiterator_.logFileAction("readLuminosityBlockAuxiliary_");
98 
102 
103  return std::shared_ptr<edm::LuminosityBlockAuxiliary>(aux);
104 }
105 
107  // fiterator_.logFileAction("readLuminosityBlock_");
108 
110  jr->reportInputLumiSection(lbCache.id().run(), lbCache.id().luminosityBlock());
112 }
113 
116 
117  // clear the old lumi histograms
118  std::vector<MonitorElement*> allMEs = store->getAllContents("");
119  for (auto const& ME : allMEs) {
120  // We do not want to reset Run Products here!
121  if (ME->getLumiFlag()) {
122  ME->Reset();
123  }
124  }
125 
126  // load the new file
129 
130  std::unique_ptr<std::string> path_product(new std::string(path));
131  std::unique_ptr<std::string> json_product(new std::string(jspath));
132 
133  lb.put(std::move(path_product), "sourceDataPath");
134  lb.put(std::move(json_product), "sourceJsonPath");
135 
136  if (flagLoadFiles_) {
137  if (!boost::filesystem::exists(path)) {
138  fiterator_.logFileAction("Data file is missing ", path);
139  fiterator_.logLumiState(currentLumi_, "error: data file missing");
140  return;
141  }
142 
143  fiterator_.logFileAction("Initiating request to open file ", path);
144  fiterator_.logFileAction("Successfully opened file ", path);
145  load(&*store, path);
146  fiterator_.logFileAction("Closed file ", path);
147  fiterator_.logLumiState(currentLumi_, "close: ok");
148  } else {
149  fiterator_.logFileAction("Not loading the data file at source level ", path);
150  fiterator_.logLumiState(currentLumi_, "close: not loading");
151  }
152 }
153 
155  using google::protobuf::io::ArrayInputStream;
156  using google::protobuf::io::CodedInputStream;
157  using google::protobuf::io::FileInputStream;
158  using google::protobuf::io::FileOutputStream;
159  using google::protobuf::io::GzipInputStream;
160  using google::protobuf::io::GzipOutputStream;
161 
162  int filedescriptor;
163  if ((filedescriptor = ::open(filename.c_str(), O_RDONLY)) == -1) {
164  edm::LogError("DQMProtobufReader") << "File " << filename << " does not exist.";
165  }
166 
167  dqmstorepb::ROOTFilePB dqmstore_message;
168  FileInputStream fin(filedescriptor);
169  GzipInputStream input(&fin);
170  CodedInputStream input_coded(&input);
171  input_coded.SetTotalBytesLimit(1024 * 1024 * 1024);
172  if (!dqmstore_message.ParseFromCodedStream(&input_coded)) {
173  edm::LogError("DQMProtobufReader") << "Fatal parsing file '" << filename << "'";
174  }
175 
176  ::close(filedescriptor);
177 
178  for (int i = 0; i < dqmstore_message.histo_size(); ++i) {
179  TObject* obj = nullptr;
180  dqmstorepb::ROOTFilePB::Histo const& h = dqmstore_message.histo(i);
181 
182  size_t slash = h.full_pathname().rfind('/');
183  size_t dirpos = (slash == std::string::npos ? 0 : slash);
184  size_t namepos = (slash == std::string::npos ? 0 : slash + 1);
185  std::string objname, dirname;
186  dirname.assign(h.full_pathname(), 0, dirpos);
187  objname.assign(h.full_pathname(), namepos, std::string::npos);
188  TBufferFile buf(TBufferFile::kRead, h.size(), (void*)h.streamed_histo().data(), kFALSE);
189  buf.Reset();
190  if (buf.Length() == buf.BufferSize()) {
191  obj = nullptr;
192  } else {
193  buf.InitMap();
194  void* ptr = buf.ReadObjectAny(nullptr);
195  obj = reinterpret_cast<TObject*>(ptr);
196  }
197 
198  if (!obj) {
199  edm::LogError("DQMProtobufReader") << "Error reading element:'" << h.full_pathname();
200  }
201 
202  store->setCurrentFolder(dirname);
203 
204  if (h.flags() & DQMNet::DQM_PROP_LUMI) {
205  store->setScope(MonitorElementData::Scope::LUMI);
206  } else {
207  store->setScope(MonitorElementData::Scope::RUN);
208  }
209 
210  if (obj) {
211  int kind = h.flags() & DQMNet::DQM_PROP_TYPE_MASK;
213  MonitorElement* me = store->bookInt(objname);
214  auto expression = std::string(static_cast<TObjString*>(obj)->String().View());
215  std::regex parseint{"<.*>i=(.*)</.*>"};
216  std::smatch match;
217  bool ok = std::regex_match(expression, match, parseint);
218  if (!ok) {
219  edm::LogError("DQMProtobufReader") << "Malformed object of type INT: '" << expression << "'";
220  continue;
221  }
222  int value = std::atoi(match[1].str().c_str());
223  me->Fill(value);
224  } else if (kind == DQMNet::DQM_PROP_TYPE_REAL) {
225  MonitorElement* me = store->bookFloat(objname);
226  auto expression = std::string(static_cast<TObjString*>(obj)->String().View());
227  std::regex parsefloat{"<.*>f=(.*)</.*>"};
228  std::smatch match;
229  bool ok = std::regex_match(expression, match, parsefloat);
230  if (!ok) {
231  edm::LogError("DQMProtobufReader") << "Malformed object of type REAL: '" << expression << "'";
232  continue;
233  }
234  double value = std::atof(match[1].str().c_str());
235  me->Fill(value);
236  } else if (kind == DQMNet::DQM_PROP_TYPE_STRING) {
237  auto value = static_cast<TObjString*>(obj)->String();
238  store->bookString(objname, value);
239  } else if (kind == DQMNet::DQM_PROP_TYPE_TH1F) {
240  auto value = static_cast<TH1F*>(obj);
241  store->book1D(objname, value);
242  } else if (kind == DQMNet::DQM_PROP_TYPE_TH1S) {
243  auto value = static_cast<TH1S*>(obj);
244  store->book1S(objname, value);
245  } else if (kind == DQMNet::DQM_PROP_TYPE_TH1D) {
246  auto value = static_cast<TH1D*>(obj);
247  store->book1DD(objname, value);
248  } else if (kind == DQMNet::DQM_PROP_TYPE_TH2F) {
249  auto value = static_cast<TH2F*>(obj);
250  store->book2D(objname, value);
251  } else if (kind == DQMNet::DQM_PROP_TYPE_TH2S) {
252  auto value = static_cast<TH2S*>(obj);
253  store->book2S(objname, value);
254  } else if (kind == DQMNet::DQM_PROP_TYPE_TH2D) {
255  auto value = static_cast<TH2D*>(obj);
256  store->book2DD(objname, value);
257  } else if (kind == DQMNet::DQM_PROP_TYPE_TH3F) {
258  auto value = static_cast<TH3F*>(obj);
259  store->book3D(objname, value);
260  } else if (kind == DQMNet::DQM_PROP_TYPE_TPROF) {
261  auto value = static_cast<TProfile*>(obj);
262  store->bookProfile(objname, value);
263  } else if (kind == DQMNet::DQM_PROP_TYPE_TPROF2D) {
264  auto value = static_cast<TProfile2D*>(obj);
265  store->bookProfile2D(objname, value);
266  } else {
267  edm::LogError("DQMProtobufReader") << "Unknown type: " << kind;
268  }
269  delete obj;
270  }
271  }
272 }
273 
275 
278 
279  desc.setComment(
280  "Creates runs and lumis and fills the dqmstore from protocol buffer "
281  "files.");
283 
284  desc.addUntracked<bool>("skipFirstLumis", false)
285  ->setComment(
286  "Skip (and ignore the minEventsPerLumi parameter) for the files "
287  "which have been available at the begining of the processing. "
288  "If set to true, the reader will open last available file for "
289  "processing.");
290 
291  desc.addUntracked<bool>("deleteDatFiles", false)
292  ->setComment(
293  "Delete data files after they have been closed, in order to "
294  "save disk space.");
295 
296  desc.addUntracked<bool>("endOfRunKills", false)
297  ->setComment(
298  "Kill the processing as soon as the end-of-run file appears, even if "
299  "there are/will be unprocessed lumisections.");
300 
301  desc.addUntracked<bool>("loadFiles", true)
302  ->setComment(
303  "Tells the source load the data files. If set to false, source will create skeleton lumi transitions.");
304 
306  descriptions.add("source", desc);
307 }
308 
311 
dqmservices::DQMProtobufReader::DQMProtobufReader
DQMProtobufReader(edm::ParameterSet const &, edm::InputSourceDescription const &)
Definition: DQMProtobufReader.cc:22
dqmservices::DQMFileIterator::runNumber
unsigned int runNumber()
Definition: DQMFileIterator.cc:137
mps_fire.i
i
Definition: mps_fire.py:355
dqmservices::DQMFileIterator::logFileAction
void logFileAction(const std::string &msg, const std::string &fileName="") const
Definition: DQMFileIterator.cc:373
input
static const std::string input
Definition: EdmProvDump.cc:48
dqm::implementation::IBooker::bookFloat
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:80
dqm::implementation::IBooker::book2S
MonitorElement * book2S(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:219
dqmservices
Definition: DQMFileIterator.cc:18
DQMNet::DQM_PROP_TYPE_TH2S
static const uint32_t DQM_PROP_TYPE_TH2S
Definition: DQMNet.h:38
dqm::implementation::IBooker::setScope
virtual MonitorElementData::Scope setScope(MonitorElementData::Scope newscope)
Definition: DQMStore.cc:46
hcaldqm::flag::State
State
Definition: Flag.h:13
sistrip::View
View
Definition: ConstantsForView.h:26
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
DQMProtobufReader.h
edm::JobReport::reportInputLumiSection
void reportInputLumiSection(unsigned int run, unsigned int lumiSectId)
Definition: JobReport.cc:465
dqmservices::DQMProtobufReader::readLuminosityBlockAuxiliary_
std::shared_ptr< edm::LuminosityBlockAuxiliary > readLuminosityBlockAuxiliary_() override
Definition: DQMProtobufReader.cc:96
dqm::implementation::IBooker::bookProfile2D
MonitorElement * bookProfile2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, double lowZ, double highZ, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:399
dqmservices::DQMProtobufReader::beginLuminosityBlock
void beginLuminosityBlock(edm::LuminosityBlock &lb) override
Definition: DQMProtobufReader.cc:114
DQMNet::DQM_PROP_TYPE_TH2F
static const uint32_t DQM_PROP_TYPE_TH2F
Definition: DQMNet.h:37
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
edm::LuminosityBlockPrincipal
Definition: LuminosityBlockPrincipal.h:31
edm::InputSourceDescription
Definition: InputSourceDescription.h:20
dqmservices::DQMFileIterator::open
LumiEntry open()
Definition: DQMFileIterator.cc:123
DQMStore.h
dqm::legacy::MonitorElement
Definition: MonitorElement.h:461
dqmservices::DQMProtobufReader::getNextItemType
edm::InputSource::ItemType getNextItemType() override
Definition: DQMProtobufReader.cc:37
dqmservices::DQMFileIterator::delay
void delay()
Definition: DQMFileIterator.cc:388
dqmservices::DQMFileIterator::LumiEntry
Definition: DQMFileIterator.h:20
dqm::implementation::IGetter::getAllContents
virtual std::vector< dqm::harvesting::MonitorElement * > getAllContents(std::string const &path) const
Definition: DQMStore.cc:609
convertSQLiteXML.ok
bool ok
Definition: convertSQLiteXML.py:98
edm::InputSource::processHistoryRegistryForUpdate
ProcessHistoryRegistry & processHistoryRegistryForUpdate()
Definition: InputSource.h:327
DQMNet::DQM_PROP_TYPE_TH1D
static const uint32_t DQM_PROP_TYPE_TH1D
Definition: DQMNet.h:36
dqmservices::DQMFileIterator::fillDescription
static void fillDescription(edm::ParameterSetDescription &d)
Definition: DQMFileIterator.cc:395
dqmservices::DQMProtobufReader::flagSkipFirstLumis_
bool flagSkipFirstLumis_
Definition: DQMProtobufReader.h:43
edm::LuminosityBlockPrincipal::aux
LuminosityBlockAuxiliary const & aux() const
Definition: LuminosityBlockPrincipal.h:64
ROOTFilePB.pb.h
BTVHLTOfflineSource_cfi.dirname
dirname
Definition: BTVHLTOfflineSource_cfi.py:7
dqmservices::DQMFileIterator::LumiEntry::get_json_path
std::string get_json_path() const
Definition: DQMFileIterator.cc:53
edm::LuminosityBlockAuxiliary
Definition: LuminosityBlockAuxiliary.h:15
DQMProtobufReader_cff.DQMProtobufReader
DQMProtobufReader
Definition: DQMProtobufReader_cff.py:69
MakerMacros.h
dqmstorepb::ROOTFilePB_Histo
Definition: ROOTFilePB.pb.h:74
h
edm::EventPrincipal
Definition: EventPrincipal.h:46
dqm::legacy::DQMStore
Definition: DQMStore.h:727
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
DQMToken.h
groupFilesInBlocks.fin
fin
Definition: groupFilesInBlocks.py:94
dqmservices::DQMProtobufReader::readEvent_
void readEvent_(edm::EventPrincipal &) override
Definition: DQMProtobufReader.cc:274
DEFINE_FWK_INPUT_SOURCE
#define DEFINE_FWK_INPUT_SOURCE(type)
Definition: InputSourceMacros.h:8
dqmservices::DQMProtobufReader::~DQMProtobufReader
~DQMProtobufReader() override
Definition: DQMProtobufReader.cc:35
DQMNet::DQM_PROP_TYPE_TH3F
static const uint32_t DQM_PROP_TYPE_TH3F
Definition: DQMNet.h:40
str
#define str(s)
Definition: TestProcessor.cc:48
dqm::implementation::IBooker::bookProfile
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:322
corrVsCorr.filename
filename
Definition: corrVsCorr.py:123
DQMNet::DQM_PROP_TYPE_MASK
static const uint32_t DQM_PROP_TYPE_MASK
Definition: DQMNet.h:28
dqm::implementation::DQMStore::setCurrentFolder
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:569
dqm::implementation::IBooker::book1S
MonitorElement * book1S(TString const &name, TString const &title, int nchX, double lowX, double highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:133
DQMNet::DQM_PROP_TYPE_TH1F
static const uint32_t DQM_PROP_TYPE_TH1F
Definition: DQMNet.h:34
getGTfromDQMFile.obj
obj
Definition: getGTfromDQMFile.py:32
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
DQMNet::DQM_PROP_TYPE_REAL
static const uint32_t DQM_PROP_TYPE_REAL
Definition: DQMNet.h:32
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
dqm::implementation::IBooker::book1DD
MonitorElement * book1DD(TString const &name, TString const &title, int nchX, double lowX, double highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:155
dqmstorepb::ROOTFilePB::histo_size
int histo_size() const
Definition: ROOTFilePB.pb.h:597
UnixSignalHandlers.h
edm::LuminosityBlockAuxiliary::processHistoryID
ProcessHistoryID const & processHistoryID() const
Definition: LuminosityBlockAuxiliary.h:28
edm::ParameterSetDescription::addUntracked
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:100
edm::InputSource::processHistoryRegistry
ProcessHistoryRegistry const & processHistoryRegistry() const
Accessors for process history registry.
Definition: InputSource.h:155
dqmservices::DQMFileIterator::LumiEntry::get_data_path
std::string get_data_path() const
Definition: DQMFileIterator.cc:44
dqm::implementation::IBooker::book2DD
MonitorElement * book2DD(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:261
edm::ParameterSet
Definition: ParameterSet.h:36
edm::ParameterSetDescription::setComment
void setComment(std::string const &value)
Definition: ParameterSetDescription.cc:33
edm::LogError
Definition: MessageLogger.h:183
dqmservices::DQMFileIterator::state
State state()
Definition: DQMFileIterator.cc:121
dqm::implementation::IBooker::bookString
MonitorElement * bookString(TString const &name, TString const &value, FUNC onbooking=NOOP())
Definition: DQMStore.h:87
edm::LuminosityBlockPrincipal::fillLuminosityBlockPrincipal
void fillLuminosityBlockPrincipal(ProcessHistory const *processHistory, DelayedReader *reader=nullptr)
Definition: LuminosityBlockPrincipal.cc:16
edm::shutdown_flag
volatile std::atomic< bool > shutdown_flag
Definition: UnixSignalHandlers.cc:22
match
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10
dqm::implementation::IBooker::bookInt
MonitorElement * bookInt(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:73
printConversionInfo.aux
aux
Definition: printConversionInfo.py:19
edm::Service
Definition: Service.h:30
edm::LuminosityBlockID::luminosityBlock
LuminosityBlockNumber_t luminosityBlock() const
Definition: LuminosityBlockID.h:42
value
Definition: value.py:1
dqmservices::DQMFileIterator::lumiReady
bool lumiReady()
Definition: DQMFileIterator.cc:129
dqmstorepb::ROOTFilePB
Definition: ROOTFilePB.pb.h:271
dqmservices::DQMProtobufReader::fiterator_
DQMFileIterator fiterator_
Definition: DQMProtobufReader.h:49
DQMNet::DQM_PROP_TYPE_STRING
static const uint32_t DQM_PROP_TYPE_STRING
Definition: DQMNet.h:33
dqmservices::DQMFileIterator::LumiEntry::file_ls
unsigned int file_ls
Definition: DQMFileIterator.h:24
DQMNet::DQM_PROP_TYPE_INT
static const uint32_t DQM_PROP_TYPE_INT
Definition: DQMNet.h:31
dqmservices::DQMProtobufReader::flagLoadFiles_
bool flagLoadFiles_
Definition: DQMProtobufReader.h:46
DQMNet::DQM_PROP_TYPE_TH1S
static const uint32_t DQM_PROP_TYPE_TH1S
Definition: DQMNet.h:35
CalibrationSummaryClient_cfi.kind
kind
Definition: CalibrationSummaryClient_cfi.py:37
edm::LuminosityBlock::put
void put(std::unique_ptr< PROD > product)
Put a new product.
Definition: LuminosityBlock.h:115
visDQMUpload.buf
buf
Definition: visDQMUpload.py:154
InputSourceMacros.h
dqmservices::DQMProtobufReader::readRunAuxiliary_
std::shared_ptr< edm::RunAuxiliary > readRunAuxiliary_() override
Definition: DQMProtobufReader.cc:78
edm::InputSource::ItemType
ItemType
Definition: InputSource.h:78
edm::RunPrincipal::fillRunPrincipal
void fillRunPrincipal(ProcessHistoryRegistry const &processHistoryRegistry, DelayedReader *reader=nullptr)
Definition: RunPrincipal.cc:26
DQMNet::DQM_PROP_TYPE_TPROF
static const uint32_t DQM_PROP_TYPE_TPROF
Definition: DQMNet.h:43
eostools.move
def move(src, dest)
Definition: eostools.py:511
dqmservices::DQMProtobufReader::readLuminosityBlock_
void readLuminosityBlock_(edm::LuminosityBlockPrincipal &lbCache) override
Definition: DQMProtobufReader.cc:106
pickleFileParser.slash
slash
Definition: pickleFileParser.py:12
dqmservices::DQMProtobufReader::flagEndOfRunKills_
bool flagEndOfRunKills_
Definition: DQMProtobufReader.h:44
edm::LuminosityBlockPrincipal::id
LuminosityBlockID id() const
Definition: LuminosityBlockPrincipal.h:53
dqmservices::DQMProtobufReader
Definition: DQMProtobufReader.h:19
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
dqm::implementation::IBooker::book3D
MonitorElement * book3D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ, FUNC onbooking=NOOP())
Definition: DQMStore.h:290
ME
Definition: ME.h:11
dqmservices::DQMProtobufReader::load
void load(DQMStore *store, std::string filename)
Definition: DQMProtobufReader.cc:154
edm::LuminosityBlockID::run
RunNumber_t run() const
Definition: LuminosityBlockID.h:41
dqmservices::DQMFileIterator::update_state
void update_state()
Definition: DQMFileIterator.cc:314
DQMNet::DQM_PROP_TYPE_TH2D
static const uint32_t DQM_PROP_TYPE_TH2D
Definition: DQMNet.h:39
DQMNet::DQM_PROP_LUMI
static const uint32_t DQM_PROP_LUMI
Definition: DQMNet.h:61
castor_dqm_sourceclient_file_cfg.path
path
Definition: castor_dqm_sourceclient_file_cfg.py:37
JobReport.h
edm::RunPrincipal
Definition: RunPrincipal.h:34
hlt_dqm_clientPB-live_cfg.me
me
Definition: hlt_dqm_clientPB-live_cfg.py:56
dqmservices::DQMFileIterator::logLumiState
void logLumiState(const LumiEntry &lumi, const std::string &msg)
Definition: DQMFileIterator.cc:378
edm::IDGeneratorSourceBase< PuttableSourceBase >::fillDescription
static void fillDescription(ParameterSetDescription &desc)
Definition: IDGeneratorSourceBase.cc:263
dqmservices::DQMProtobufReader::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: DQMProtobufReader.cc:276
dqmservices::DQMFileIterator::State
State
Definition: DQMFileIterator.h:50
dqmstorepb::ROOTFilePB::histo
const ::dqmstorepb::ROOTFilePB_Histo & histo(int index) const
Definition: ROOTFilePB.pb.h:610
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
dqmservices::DQMProtobufReader::flagDeleteDatFiles_
bool flagDeleteDatFiles_
Definition: DQMProtobufReader.h:45
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
dqmservices::DQMProtobufReader::readRun_
void readRun_(edm::RunPrincipal &rpCache) override
Definition: DQMProtobufReader.cc:85
edm::RunAuxiliary
Definition: RunAuxiliary.h:15
DQMNet::DQM_PROP_TYPE_TPROF2D
static const uint32_t DQM_PROP_TYPE_TPROF2D
Definition: DQMNet.h:44
PuttableSourceBase
edm::Timestamp
Definition: Timestamp.h:30
dqmservices::DQMProtobufReader::currentLumi_
DQMFileIterator::LumiEntry currentLumi_
Definition: DQMProtobufReader.h:50