CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DQMProvInfo.cc
Go to the documentation of this file.
1 /*
2  * \file DQMProvInfo.cc
3  * \author A.Raval / A.Meyer - DESY
4  * Last Update:
5  * $Date: 2010/09/17 16:16:05 $
6  * $Revision: 1.28 $
7  * $Author: lilopera $
8  *
9  */
10 
11 #include "DQMProvInfo.h"
12 #include <TSystem.h>
20 
21 const static int XBINS=2500;
22 const static int YBINS=28;
23 
25 
26  parameters_ = ps;
27 
29  globalTag_ = "MODULE::DEFAULT";
30  provinfofolder_ = parameters_.getUntrackedParameter<std::string>("provInfoFolder", "ProvInfo") ;
31  subsystemname_ = parameters_.getUntrackedParameter<std::string>("subSystemFolder", "Info") ;
32 
33  // initialize
34  nameProcess_ = "HLT"; // the process name is not contained in this ps
36  physDecl_=true; // set true and switch off in case a single event in a given LS does not have it set.
37  for (int i=0;i<25;i++) dcs25[i]=true;
38  lastlumi_=0;
39 }
40 
42 }
43 
44 void
46 
47  makeProvInfo();
48  makeHLTKeyInfo(r,c);
49 
50  dbe_->cd();
51  dbe_->setCurrentFolder(subsystemname_ +"/EventInfo/");
52 
53  reportSummary_=dbe_->bookFloat("reportSummary");
54  reportSummaryMap_ = dbe_->book2D("reportSummaryMap",
55  "HV and Beam Status vs Lumi", XBINS, 1., XBINS+1, YBINS+1, 0., YBINS+1);
56  reportSummaryMap_->setBinLabel(1," CSC+",2);
57  reportSummaryMap_->setBinLabel(2," CSC-",2);
58  reportSummaryMap_->setBinLabel(3," DT0",2);
59  reportSummaryMap_->setBinLabel(4," DT+",2);
60  reportSummaryMap_->setBinLabel(5," DT-",2);
61  reportSummaryMap_->setBinLabel(6," EB+",2);
62  reportSummaryMap_->setBinLabel(7," EB-",2);
63  reportSummaryMap_->setBinLabel(8," EE+",2);
64  reportSummaryMap_->setBinLabel(9," EE-",2);
65  reportSummaryMap_->setBinLabel(10,"ES+",2);
66  reportSummaryMap_->setBinLabel(11,"ES-",2);
67  reportSummaryMap_->setBinLabel(12,"HBHEa",2);
68  reportSummaryMap_->setBinLabel(13,"HBHEb",2);
69  reportSummaryMap_->setBinLabel(14,"HBHEc",2);
70  reportSummaryMap_->setBinLabel(15,"HF",2);
71  reportSummaryMap_->setBinLabel(16,"HO",2);
72  reportSummaryMap_->setBinLabel(17,"BPIX",2);
73  reportSummaryMap_->setBinLabel(18,"FPIX",2);
74  reportSummaryMap_->setBinLabel(19,"RPC",2);
75  reportSummaryMap_->setBinLabel(20,"TIBTID",2);
76  reportSummaryMap_->setBinLabel(21,"TOB",2);
77  reportSummaryMap_->setBinLabel(22,"TECp",2);
78  reportSummaryMap_->setBinLabel(23,"TECm",2);
79  reportSummaryMap_->setBinLabel(24,"CASTOR",2);
80  reportSummaryMap_->setBinLabel(25,"ZDC",2);
81  reportSummaryMap_->setBinLabel(26,"PhysDecl",2);
82  reportSummaryMap_->setBinLabel(27,"7 TeV",2);
83  reportSummaryMap_->setBinLabel(28,"Stable B",2);
84  reportSummaryMap_->setBinLabel(29,"Valid",2);
85  reportSummaryMap_->setAxisTitle("Luminosity Section");
86  reportSummaryMap_->getTH2F()->SetBit(TH1::kCanRebin);
87 
88  dbe_->cd();
89  dbe_->setCurrentFolder(subsystemname_ +"/LhcInfo/");
90  hBeamMode_=dbe_->book1D("beamMode","beamMode",XBINS,1.,XBINS+1);
91  hBeamMode_->getTH1F()->GetYaxis()->Set(21,0.5,21.5);
92  hBeamMode_->getTH1F()->SetMaximum(21.5);
93  hBeamMode_->getTH1F()->SetBit(TH1::kCanRebin);
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  hBeamMode_->setBinContent(0.,22.);
118 
119 
120  hLhcFill_=dbe_->book1D("lhcFill","LHC Fill Number",XBINS,1.,XBINS+1);
121  hLhcFill_->setAxisTitle("Luminosity Section",1);
122  hLhcFill_->getTH1F()->SetBit(TH1::kCanRebin);
123 
124  hMomentum_=dbe_->book1D("momentum","Beam Energy [GeV]",XBINS,1.,XBINS+1);
125  hMomentum_->setAxisTitle("Luminosity Section",1);
126  hMomentum_->getTH1F()->SetBit(TH1::kCanRebin);
127 
128  hIntensity1_=dbe_->book1D("intensity1","Intensity Beam 1",XBINS,1.,XBINS+1);
129  hIntensity1_->setAxisTitle("Luminosity Section",1);
130  hIntensity1_->setAxisTitle("N [E10]",2);
131  hIntensity1_->getTH1F()->SetBit(TH1::kCanRebin);
132  hIntensity2_=dbe_->book1D("intensity2","Intensity Beam 2",XBINS,1.,XBINS+1);
133  hIntensity2_->setAxisTitle("Luminosity Section",1);
134  hIntensity2_->setAxisTitle("N [E10]",2);
135  hIntensity2_->getTH1F()->SetBit(TH1::kCanRebin);
136 
137  dbe_->cd();
138  dbe_->setCurrentFolder(subsystemname_ +"/ProvInfo/");
139  hIsCollisionsRun_ = dbe_->bookInt("isCollisionsRun");
141 
142  // initialize
143  physDecl_=true;
144  for (int i=0;i<25;i++) dcs25[i]=true;
145  lastlumi_=0;
146 }
147 
152  //fetch the real process name
153  nameProcess_ = e.processHistory()[e.processHistory().size()-1].processName();
155  globalTag_ = ps.getParameterSet("PoolDBESSource@GlobalTag").getParameter<std::string>("globaltag");
157  }
158 
159  makeDcsInfo(e);
160  makeGtInfo(e);
161 
162  return;
163 }
164 
165 void
167 {
168 
169  int nlumi = l.id().luminosityBlock();
170 
171  edm::LogInfo("DQMProvInfo") << "nlumi: " << nlumi << " / number of bins: " << hBeamMode_->getTH1F()->GetNbinsX() << std::endl;
172 
173  if (nlumi <= lastlumi_ ) return;
174 
180 
181  // set to previous in case there was a jump or no previous fill
182  for (int l=lastlumi_+1;l<nlumi;l++)
183  {
185  {
187  for (int i=0;i<YBINS;i++)
188  {
189  float lastvalue = reportSummaryMap_->getBinContent(lastlumi_,i+1);
190  reportSummaryMap_->setBinContent(l,i+1,lastvalue);
191  }
192  }
193  else
194  {
196  for (int i=0;i<YBINS;i++)
198  }
199  }
200 
201 
202  // fill dcs vs lumi
204  for (int i=0;i<25;i++)
205  {
206  if (dcs25[i])
207  reportSummaryMap_->setBinContent(nlumi,i+1,1.);
208  else
209  reportSummaryMap_->setBinContent(nlumi,i+1,0.);
210 
211  // set next lumi to -1 for better visibility
212  if (nlumi < XBINS)
213  reportSummaryMap_->setBinContent(nlumi+1,i+1,-1.);
214  dcs25[i]=true;
215  }
216 
217  // fill physics decl. bit in y bin 26
218  if (physDecl_)
219  {
220  reportSummary_->Fill(1.);
221  reportSummaryMap_->setBinContent(nlumi,25+1,1.);
222  if (nlumi < XBINS)
223  reportSummaryMap_->setBinContent(nlumi+1,25+1,-1.);
224  }
225  else
226  {
227  reportSummary_->Fill(0.);
228  reportSummaryMap_->setBinContent(nlumi,25+1,0.);
229  if (nlumi < XBINS)
230  reportSummaryMap_->setBinContent(nlumi+1,25+1,-1.);
231  }
232 
233  // fill 7 TeV bit in y bin 27
234  if (momentum_ == 3500)
235  {
236  reportSummary_->Fill(1.);
237  reportSummaryMap_->setBinContent(nlumi,26+1,1.);
238  if (nlumi < XBINS)
239  reportSummaryMap_->setBinContent(nlumi+1,26+1,-1.);
240  }
241  else
242  {
243  reportSummary_->Fill(0.);
244  reportSummaryMap_->setBinContent(nlumi,26+1,0.);
245  if (nlumi < XBINS)
246  reportSummaryMap_->setBinContent(nlumi+1,26+1,-1.);
247  }
248 
249  // fill stable beams bit in y bin 28
250  if (beamMode_ == 11)
251  {
253  reportSummary_->Fill(1.);
254  reportSummaryMap_->setBinContent(nlumi,27+1,1.);
255  if (nlumi < XBINS)
256  reportSummaryMap_->setBinContent(nlumi+1,27+1,-1.);
257  }
258  else
259  {
260  reportSummary_->Fill(0.);
261  reportSummaryMap_->setBinContent(nlumi,27+1,0.);
262  if (nlumi < XBINS)
263  reportSummaryMap_->setBinContent(nlumi+1,27+1,-1.);
264  }
265 
266  // reset
267  physDecl_=true;
268  lastlumi_=nlumi;
269 
270  return;
271 
272 }
273 
274 // run showtag command line
275 std::string
277 {
278  TString out;
279  TString cwd;
280  TString showtagswd;
281  cwd=gSystem->pwd();
282  showtagswd=gSystem->ExpandPathName("$CMSSW_BASE/");
283  gSystem->ChangeDirectory(showtagswd);
284  FILE *pipe = gSystem->OpenPipe("showtags u -t", "r");
285 
286  TString line;
287  while (line.Gets(pipe,true)) {
288  if (line.Contains("Test Release")) continue;
289  if (line.Contains("Base Release")) continue;
290  if (line.Contains("Test release")) continue;
291  if (line.Contains("--- Tag ---")) continue;
292  if (line.Contains(" ")) line.Replace(line.First(" "),1,":");
293  line.ReplaceAll(" ","");
294  out = out + line + ";";
295  if (line.Contains("-------------------")) break;
296  if (out.Length()>XBINS) break;
297  }
298  out.ReplaceAll("--","");
299  out.ReplaceAll(";-",";");
300  out.ReplaceAll(";;",";");
301  out.ReplaceAll("\n","");
302 
303  Int_t r = gSystem->ClosePipe(pipe);
304  gSystem->ChangeDirectory(cwd);
305  if (r) {
306  gSystem->Error("ShowTags","problem running command showtags -u -t");
307  }
308 
309  std::string str(out);
310  if (str.length()>2000) str.resize(2000);
311 
312  std::string safestr =
313  "/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-;:";
314  size_t found=str.find_first_not_of(safestr);
315  if (found!=std::string::npos)
316  {
317  edm::LogWarning("DQMProvInfo::ShowTags") << " Illegal character found: "
318  << str[found]
319  << " at position "
320  << int(found) ;
321  return "notags";
322  }
323  return str;
324 }
325 
326 
327 void
329 {
330  dbe_->cd() ;
332 
333  // if (dbe_->get("ProvInfo/CMSSW")) return ;
334 
335  versCMSSW_ = dbe_->bookString("CMSSW",edm::getReleaseVersion().c_str() );
336  hostName_ = dbe_->bookString("hostName",gSystem->HostName());
337  workingDir_ = dbe_->bookString("workingDir",gSystem->pwd());
338  processId_ = dbe_->bookInt("processID"); processId_->Fill(gSystem->GetPid());
339 
340  //versDataset_ = dbe_->bookString("Dataset",workflow_);
341  versGlobaltag_ = dbe_->bookString("Globaltag",globalTag_);
342  versTaglist_ = dbe_->bookString("Taglist",getShowTags());
343 
344  isComplete_ = dbe_->bookInt("runIsComplete");
345  //isComplete_->Fill((runIsComplete_?1:0));
346  fileVersion_ = dbe_->bookInt("fileVersion");
347  //fileVersion_->Fill(version_);
348 
349  return ;
350 }
351 void
353 {
354 
356  e.getByLabel("scalersRawToDigi", dcsStatus);
357  for (DcsStatusCollection::const_iterator dcsStatusItr = dcsStatus->begin();
358  dcsStatusItr != dcsStatus->end(); ++dcsStatusItr)
359  {
360  // edm::LogInfo("DQMProvInfo") << "DCS status: 0x" << std::hex << dcsStatusItr->ready() << std::dec << std::endl;
361  if (!dcsStatusItr->ready(DcsStatus::CSCp)) dcs25[0]=false;
362  if (!dcsStatusItr->ready(DcsStatus::CSCm)) dcs25[1]=false;
363  if (!dcsStatusItr->ready(DcsStatus::DT0)) dcs25[2]=false;
364  if (!dcsStatusItr->ready(DcsStatus::DTp)) dcs25[3]=false;
365  if (!dcsStatusItr->ready(DcsStatus::DTm)) dcs25[4]=false;
366  if (!dcsStatusItr->ready(DcsStatus::EBp)) dcs25[5]=false;
367  if (!dcsStatusItr->ready(DcsStatus::EBm)) dcs25[6]=false;
368  if (!dcsStatusItr->ready(DcsStatus::EEp)) dcs25[7]=false;
369  if (!dcsStatusItr->ready(DcsStatus::EEm)) dcs25[8]=false;
370  if (!dcsStatusItr->ready(DcsStatus::ESp)) dcs25[9]=false;
371  if (!dcsStatusItr->ready(DcsStatus::ESm)) dcs25[10]=false;
372  if (!dcsStatusItr->ready(DcsStatus::HBHEa)) dcs25[11]=false;
373  if (!dcsStatusItr->ready(DcsStatus::HBHEb)) dcs25[12]=false;
374  if (!dcsStatusItr->ready(DcsStatus::HBHEc)) dcs25[13]=false;
375  if (!dcsStatusItr->ready(DcsStatus::HF)) dcs25[14]=false;
376  if (!dcsStatusItr->ready(DcsStatus::HO)) dcs25[15]=false;
377  if (!dcsStatusItr->ready(DcsStatus::BPIX)) dcs25[16]=false;
378  if (!dcsStatusItr->ready(DcsStatus::FPIX)) dcs25[17]=false;
379  if (!dcsStatusItr->ready(DcsStatus::RPC)) dcs25[18]=false;
380  if (!dcsStatusItr->ready(DcsStatus::TIBTID)) dcs25[19]=false;
381  if (!dcsStatusItr->ready(DcsStatus::TOB)) dcs25[20]=false;
382  if (!dcsStatusItr->ready(DcsStatus::TECp)) dcs25[21]=false;
383  if (!dcsStatusItr->ready(DcsStatus::TECm)) dcs25[22]=false;
384  if (!dcsStatusItr->ready(DcsStatus::CASTOR)) dcs25[23]=false;
385  if (!dcsStatusItr->ready(DcsStatus::ZDC)) dcs25[24]=false;
386  }
387 
388  return ;
389 }
390 void
392 {
393 
394  std::string hltKey = "";
396  bool changed( true );
397  if ( ! hltConfig.init( r, c, nameProcess_, changed) )
398  {
399  // edm::LogInfo("DQMProvInfo") << "errorHltConfigExtraction" << std::endl;
400  hltKey = "error extraction" ;
401  }
402  else if ( hltConfig.size() <= 0 )
403  {
404  // edm::LogInfo("DQMProvInfo") << "hltConfig" << std::endl;
405  hltKey = "error key of length 0" ;
406  }
407  else
408  {
409  edm::LogInfo("DQMProvInfo") << "HLT key (run) : " << hltConfig.tableName() << std::endl;
410  hltKey = hltConfig.tableName() ;
411  }
412 
413  dbe_->cd() ;
415  hHltKey_= dbe_->bookString("hltKey",hltKey);
416 
417  return ;
418 
419 }
420 void
422 {
423 
425  e.getByLabel("gtDigis", gtrr_handle);
426  L1GlobalTriggerReadoutRecord const* gtrr = gtrr_handle.product();
427  L1GtFdlWord fdlWord ;
428  if (gtrr)
429  fdlWord = gtrr->gtFdlWord();
430  else
431  {
432  edm::LogWarning("DQMProvInfo") << " phys decl. bit not accessible !!!" ;
433  physDecl_=false;
434  return;
435  }
436  // cout << "phys decl. bit =" << static_cast<int>(fdlWord.physicsDeclared()) << endl;
437  if (fdlWord.physicsDeclared() !=1) physDecl_=false;
438 
439 
440  //
442  e.getByLabel("gtEvmDigis", gtEvm_handle);
443  L1GlobalTriggerEvmReadoutRecord const* gtevm = gtEvm_handle.product();
444 
445  L1GtfeWord gtfeEvmWord;
446  L1GtfeExtWord gtfeEvmExtWord;
447  if (gtevm)
448  {
449  gtfeEvmWord = gtevm->gtfeWord();
450  gtfeEvmExtWord = gtevm->gtfeWord();
451  }
452  else
453  edm::LogInfo("DQMProvInfo") << " gtfeEvmWord inaccessible" ;
454 
455  lhcFill_ = gtfeEvmExtWord.lhcFillNumber();
456  beamMode_ = gtfeEvmExtWord.beamMode();
457  momentum_ = gtfeEvmExtWord.beamMomentum();
458  intensity1_ = gtfeEvmExtWord.totalIntensityBeam1();
459  intensity2_ = gtfeEvmExtWord.totalIntensityBeam2();
460 
461  edm::LogInfo("DQMProvInfo") << lhcFill_ << " " << beamMode_ << " "
462  << momentum_ << " "
463  << intensity1_ << " " << intensity2_
464  << std::endl;
465 
466  return;
467 }
unsigned int size() const
number of trigger paths in trigger table
LuminosityBlockID id() const
bool getProcessParameterSet(std::string const &processName, ParameterSet &ps) const
Definition: Event.cc:76
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
MonitorElement * hBeamMode_
Definition: DQMProvInfo.h:86
size_type size() const
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * hIntensity2_
Definition: DQMProvInfo.h:90
MonitorElement * reportSummary_
Definition: DQMProvInfo.h:95
MonitorElement * fileVersion_
Definition: DQMProvInfo.h:84
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:514
MonitorElement * hMomentum_
Definition: DQMProvInfo.h:88
MonitorElement * workingDir_
Hostname of the local machine.
Definition: DQMProvInfo.h:81
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:209
const L1GtfeExtWord gtfeWord() const
get / set GTFE word (record) in the GT readout record
void makeHLTKeyInfo(const edm::Run &r, const edm::EventSetup &c)
Definition: DQMProvInfo.cc:391
int intensity2_
Definition: DQMProvInfo.h:70
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)
bool gotProcessParameterSet_
Definition: DQMProvInfo.h:63
def pipe
Definition: pipe.py:5
void endLuminosityBlock(const edm::LuminosityBlock &l, const edm::EventSetup &c)
Definition: DQMProvInfo.cc:166
const std::string & tableName() const
HLT ConfDB table name.
MonitorElement * processId_
Current working directory of the job.
Definition: DQMProvInfo.h:82
static const int YBINS
Definition: DQMProvInfo.cc:22
MonitorElement * hHltKey_
Definition: DQMProvInfo.h:93
MonitorElement * versGlobaltag_
Definition: DQMProvInfo.h:78
std::string nameProcess_
Definition: DQMProvInfo.h:59
void makeDcsInfo(const edm::Event &e)
Definition: DQMProvInfo.cc:352
const boost::uint32_t totalIntensityBeam2() const
static const int XBINS
Definition: DQMProvInfo.cc:21
MonitorElement * versTaglist_
Definition: DQMProvInfo.h:77
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:451
return((rh^lh)&mask)
void Fill(long long x)
void analyze(const edm::Event &e, const edm::EventSetup &c)
Analyze.
Definition: DQMProvInfo.cc:148
const boost::uint16_t beamMode() const
std::string globalTag_
Definition: DQMProvInfo.h:58
MonitorElement * bookString(const char *name, const char *value)
Book string.
Definition: DQMStore.cc:480
MonitorElement * isComplete_
The PID associated with this job.
Definition: DQMProvInfo.h:83
std::string getShowTags(void)
Definition: DQMProvInfo.cc:276
void makeProvInfo()
Definition: DQMProvInfo.cc:328
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
void makeGtInfo(const edm::Event &e)
Definition: DQMProvInfo.cc:421
const boost::uint32_t lhcFillNumber() const
std::string subsystemname_
Definition: DQMProvInfo.h:57
tuple out
Definition: dbtoconf.py:99
ProcessHistory const & processHistory() const
Definition: Event.cc:189
int intensity1_
Definition: DQMProvInfo.h:69
MonitorElement * hLhcFill_
Definition: DQMProvInfo.h:87
std::string getReleaseVersion()
DQMStore * dbe_
Definition: DQMProvInfo.h:52
const boost::uint32_t totalIntensityBeam1() const
virtual ~DQMProvInfo()
Destructor.
Definition: DQMProvInfo.cc:41
const L1GtFdlWord gtFdlWord(int bxInEventValue) const
get / set FDL word (record) in the GT readout record
ParameterSet const & getParameterSet(std::string const &) const
bool physDecl_
Definition: DQMProvInfo.h:61
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
MonitorElement * hIntensity1_
Definition: DQMProvInfo.h:89
TH1F * getTH1F(void) const
LuminosityBlockNumber_t luminosityBlock() const
MonitorElement * versCMSSW_
Definition: DQMProvInfo.h:75
MonitorElement * hIsCollisionsRun_
Definition: DQMProvInfo.h:92
T const * product() const
Definition: Handle.h:74
DQMProvInfo(const edm::ParameterSet &ps)
Constructor.
Definition: DQMProvInfo.cc:24
double getBinContent(int binx) const
get content of bin (1-D)
const boost::uint16_t physicsDeclared() const
get/set &quot;physics declared&quot; bit
Definition: L1GtFdlWord.h:229
void beginRun(const edm::Run &r, const edm::EventSetup &c)
Definition: DQMProvInfo.cc:45
std::string provinfofolder_
Definition: DQMProvInfo.h:56
const boost::uint16_t beamMomentum() const
TH2F * getTH2F(void) const
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:421
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:642
bool dcs25[25]
Definition: DQMProvInfo.h:62
MonitorElement * hostName_
Definition: DQMProvInfo.h:79
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
Definition: Run.h:32
MonitorElement * reportSummaryMap_
Definition: DQMProvInfo.h:96
edm::ParameterSet parameters_
Definition: DQMProvInfo.h:54