CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DQMStore.h
Go to the documentation of this file.
1 #ifndef DQMSERVICES_CORE_DQM_STORE_H
2 # define DQMSERVICES_CORE_DQM_STORE_H
3 
4 # if __GNUC__ && ! defined DQM_DEPRECATED
5 # define DQM_DEPRECATED __attribute__((deprecated))
6 # endif
7 
9 # include "classlib/utils/Regexp.h"
10 # include <vector>
11 # include <string>
12 # include <list>
13 # include <map>
14 # include <set>
15 # include <execinfo.h>
16 # include <stdio.h>
17 # include <stdlib.h>
18 # include <cxxabi.h>
19 
20 namespace edm { class DQMHttpSource; class ParameterSet; class ActivityRegistry;}
21 namespace lat { class Regexp; }
22 
23 class MonitorElement;
24 class QCriterion;
25 class TFile;
26 class TObject;
27 class TH1;
28 class TObjString;
29 class TH1F;
30 class TH1S;
31 class TH1D;
32 class TH2F;
33 class TH2S;
34 class TH2D;
35 class TH3F;
36 class TProfile;
37 class TProfile2D;
38 
43 class fastmatch
44 {
45 private:
47 
48 public:
49  fastmatch (std::string const& _fastString);
50  ~fastmatch();
51 
52  bool match (std::string const& s) const;
53 
54 private:
55  // checks if two strings are equal, starting at the back of the strings
57  std::string const& input) const;
58  // checks if two strings are equal, starting at the front of the strings
59  bool compare_strings (std::string const& pattern,
60  std::string const& input) const;
61 
62  lat::Regexp * regexp_;
65 };
66 
67 class DQMStore
68 {
69 public:
71  {
75  };
77  {
80  };
81 
82  //-------------------------------------------------------------------------
83  // ---------------------- Constructors ------------------------------------
85  DQMStore(const edm::ParameterSet &pset);
86  ~DQMStore(void);
87 
88  //-------------------------------------------------------------------------
89  void setVerbose(unsigned level);
90 
91  // ---------------------- public navigation -------------------------------
92  const std::string & pwd(void) const;
93  void cd(void);
94  void cd(const std::string &subdir);
95  void setCurrentFolder(const std::string &fullpath);
96  void goUp(void);
97 
98  bool dirExists(const std::string &path) const;
99 
100  //-------------------------------------------------------------------------
101  // ---------------------- public ME booking -------------------------------
102 
103  MonitorElement * bookInt (const char *name);
105 
106  MonitorElement * bookFloat (const char *name);
108 
109  MonitorElement * bookString (const char *name,
110  const char *value);
112  const std::string &value);
113 
114  MonitorElement * book1D (const char *name,
115  const char *title,
116  int nchX, double lowX, double highX);
118  const std::string &title,
119  int nchX, double lowX, double highX);
120  MonitorElement * book1D (const char *name,
121  const char *title,
122  int nchX, float *xbinsize);
124  const std::string &title,
125  int nchX, float *xbinsize);
126  MonitorElement * book1D (const char *name, TH1F *h);
127  MonitorElement * book1D (const std::string &name, TH1F *h);
128 
129  MonitorElement * book1S (const char *name,
130  const char *title,
131  int nchX, double lowX, double highX);
133  const std::string &title,
134  int nchX, double lowX, double highX);
135  MonitorElement * book1S (const char *name,
136  const char *title,
137  int nchX, float *xbinsize);
139  const std::string &title,
140  int nchX, float *xbinsize);
141  MonitorElement * book1S (const char *name, TH1S *h);
142  MonitorElement * book1S (const std::string &name, TH1S *h);
143 
144  MonitorElement * book1DD (const char *name,
145  const char *title,
146  int nchX, double lowX, double highX);
148  const std::string &title,
149  int nchX, double lowX, double highX);
150  MonitorElement * book1DD (const char *name,
151  const char *title,
152  int nchX, float *xbinsize);
154  const std::string &title,
155  int nchX, float *xbinsize);
156  MonitorElement * book1DD (const char *name, TH1D *h);
157  MonitorElement * book1DD (const std::string &name, TH1D *h);
158 
159  MonitorElement * book2D (const char *name,
160  const char *title,
161  int nchX, double lowX, double highX,
162  int nchY, double lowY, double highY);
164  const std::string &title,
165  int nchX, double lowX, double highX,
166  int nchY, double lowY, double highY);
167  MonitorElement * book2D (const char *name,
168  const char *title,
169  int nchX, float *xbinsize,
170  int nchY, float *ybinsize);
172  const std::string &title,
173  int nchX, float *xbinsize,
174  int nchY, float *ybinsize);
175  MonitorElement * book2D (const char *name, TH2F *h);
176  MonitorElement * book2D (const std::string &name, TH2F *h);
177 
178  MonitorElement * book2S (const char *name,
179  const char *title,
180  int nchX, double lowX, double highX,
181  int nchY, double lowY, double highY);
183  const std::string &title,
184  int nchX, double lowX, double highX,
185  int nchY, double lowY, double highY);
186  MonitorElement * book2S (const char *name,
187  const char *title,
188  int nchX, float *xbinsize,
189  int nchY, float *ybinsize);
191  const std::string &title,
192  int nchX, float *xbinsize,
193  int nchY, float *ybinsize);
194  MonitorElement * book2S (const char *name, TH2S *h);
195  MonitorElement * book2S (const std::string &name, TH2S *h);
196 
197  MonitorElement * book2DD (const char *name,
198  const char *title,
199  int nchX, double lowX, double highX,
200  int nchY, double lowY, double highY);
202  const std::string &title,
203  int nchX, double lowX, double highX,
204  int nchY, double lowY, double highY);
205  MonitorElement * book2DD (const char *name,
206  const char *title,
207  int nchX, float *xbinsize,
208  int nchY, float *ybinsize);
210  const std::string &title,
211  int nchX, float *xbinsize,
212  int nchY, float *ybinsize);
213  MonitorElement * book2DD (const char *name, TH2D *h);
214  MonitorElement * book2DD (const std::string &name, TH2D *h);
215 
216  MonitorElement * book3D (const char *name,
217  const char *title,
218  int nchX, double lowX, double highX,
219  int nchY, double lowY, double highY,
220  int nchZ, double lowZ, double highZ);
222  const std::string &title,
223  int nchX, double lowX, double highX,
224  int nchY, double lowY, double highY,
225  int nchZ, double lowZ, double highZ);
226  MonitorElement * book3D (const char *name, TH3F *h);
227  MonitorElement * book3D (const std::string &name, TH3F *h);
228 
229  MonitorElement * bookProfile (const char *name,
230  const char *title,
231  int nchX, double lowX, double highX,
232  int nchY, double lowY, double highY,
233  const char *option = "s");
235  const std::string &title,
236  int nchX, double lowX, double highX,
237  int nchY, double lowY, double highY,
238  const char *option = "s");
239  MonitorElement * bookProfile (const char *name,
240  const char *title,
241  int nchX, double lowX, double highX,
242  double lowY, double highY,
243  const char *option = "s");
245  const std::string &title,
246  int nchX, double lowX, double highX,
247  double lowY, double highY,
248  const char *option = "s");
249  MonitorElement * bookProfile (const char *name,
250  const char *title,
251  int nchX, double *xbinsize,
252  int nchY, double lowY, double highY,
253  const char *option = "s");
255  const std::string &title,
256  int nchX, double *xbinsize,
257  int nchY, double lowY, double highY,
258  const char *option = "s");
259  MonitorElement * bookProfile (const char *name,
260  const char *title,
261  int nchX, double *xbinsize,
262  double lowY, double highY,
263  const char *option = "s");
265  const std::string &title,
266  int nchX, double *xbinsize,
267  double lowY, double highY,
268  const char *option = "s");
269  MonitorElement * bookProfile (const char *name, TProfile *h);
270  MonitorElement * bookProfile (const std::string &name, TProfile *h);
271 
272  MonitorElement * bookProfile2D(const char *name,
273  const char *title,
274  int nchX, double lowX, double highX,
275  int nchY, double lowY, double highY,
276  int nchZ, double lowZ, double highZ,
277  const char *option = "s");
279  const std::string &title,
280  int nchX, double lowX, double highX,
281  int nchY, double lowY, double highY,
282  int nchZ, double lowZ, double highZ,
283  const char *option = "s");
284  MonitorElement * bookProfile2D(const char *name,
285  const char *title,
286  int nchX, double lowX, double highX,
287  int nchY, double lowY, double highY,
288  double lowZ, double highZ,
289  const char *option = "s");
291  const std::string &title,
292  int nchX, double lowX, double highX,
293  int nchY, double lowY, double highY,
294  double lowZ, double highZ,
295  const char *option = "s");
296  MonitorElement * bookProfile2D(const char *name, TProfile2D *h);
297  MonitorElement * bookProfile2D(const std::string &name, TProfile2D *h);
298 
299  //-------------------------------------------------------------------------
300  // ---------------------- public tagging ----------------------------------
301  void tag(MonitorElement *me, unsigned int myTag);
302  void tag(const std::string &path, unsigned int myTag);
303  void tagContents(const std::string &path, unsigned int myTag);
304  void tagAllContents(const std::string &path, unsigned int myTag);
305 
306  //-------------------------------------------------------------------------
307  // ---------------------- public ME getters -------------------------------
308  std::vector<std::string> getSubdirs(void) const;
309  std::vector<std::string> getMEs(void) const;
310  bool containsAnyMonitorable(const std::string &path) const;
311 
312  MonitorElement * get(const std::string &path) const;
313  std::vector<MonitorElement *> get(unsigned int tag) const;
314  std::vector<MonitorElement *> getContents(const std::string &path) const;
315  std::vector<MonitorElement *> getContents(const std::string &path, unsigned int tag) const;
316  void getContents(std::vector<std::string> &into, bool showContents = true) const;
317 
318  // ---------------------- softReset methods -------------------------------
319  void softReset(MonitorElement *me);
321 
322  // ---------------------- Public deleting ---------------------------------
323  void rmdir(const std::string &fullpath);
324  void removeContents(void);
325  void removeContents(const std::string &dir);
326  void removeElement(const std::string &name);
327  void removeElement(const std::string &dir, const std::string &name, bool warning = true);
328 
329  //-------------------------------------------------------------------------
330  // ---------------------- public I/O --------------------------------------
331  void save(const std::string &filename,
332  const std::string &path = "",
333  const std::string &pattern = "",
334  const std::string &rewrite = "",
337  const std::string &fileupdate = "RECREATE");
338  bool open(const std::string &filename,
339  bool overwrite = false,
340  const std::string &path ="",
341  const std::string &prepend = "",
342  OpenRunDirs stripdirs = KeepRunDirs,
343  bool fileMustExist = true);
344  bool load(const std::string &filename,
345  OpenRunDirs stripdirs = StripRunDirs,
346  bool fileMustExist = true);
347 
348  //-------------------------------------------------------------------------
349  // ---------------------- Public print methods -----------------------------
350  void showDirStructure(void) const;
351 
352  // ---------------------- Public check options -----------------------------
353  bool isCollate(void) const;
354 
355  //-------------------------------------------------------------------------
356  // ---------------------- Quality Test methods -----------------------------
357  QCriterion * getQCriterion(const std::string &qtname) const;
358  QCriterion * createQTest(const std::string &algoname, const std::string &qtname);
359  void useQTest(const std::string &dir, const std::string &qtname);
360  int useQTestByMatch(const std::string &pattern, const std::string &qtname);
361  void runQTests(void);
362  int getStatus(const std::string &path = "") const;
363  void scaleElements(void);
364 
365 private:
366  // ---------------- Navigation -----------------------
367  bool cdInto(const std::string &path) const;
368 
369  // ------------------- Reference ME -------------------------------
370  bool isCollateME(MonitorElement *me) const;
371 
372  // ------------------- Private "getters" ------------------------------
373  bool readFile(const std::string &filename,
374  bool overwrite = false,
375  const std::string &path ="",
376  const std::string &prepend = "",
377  OpenRunDirs stripdirs = StripRunDirs,
378  bool fileMustExist = true);
379  void makeDirectory(const std::string &path);
380  unsigned int readDirectory(TFile *file,
381  bool overwrite,
382  const std::string &path,
383  const std::string &prepend,
384  const std::string &curdir,
385  OpenRunDirs stripdirs);
386 
387  MonitorElement * findObject(const std::string &dir, const std::string &name) const;
388 
389 public:
390  void getAllTags(std::vector<std::string> &into) const;
391  std::vector<MonitorElement*> getAllContents(const std::string &path) const;
392  std::vector<MonitorElement*> getMatchingContents(const std::string &pattern, lat::Regexp::Syntax syntaxType = lat::Regexp::Wildcard) const;
393 private:
394 
395  // ---------------- Miscellaneous -----------------------------
396  void initializeFrom(const edm::ParameterSet&);
397  void reset(void);
398  void forceReset(void);
399 
400  bool extract(TObject *obj, const std::string &dir, bool overwrite);
401 
402  // ---------------------- Booking ------------------------------------
405  const std::string &name,
406  const char *context);
407  template <class HISTO, class COLLATE>
409  const char *context, int kind,
410  HISTO *h, COLLATE collate);
411 
415  MonitorElement * book1D(const std::string &dir, const std::string &name, TH1F *h);
416  MonitorElement * book1S(const std::string &dir, const std::string &name, TH1S *h);
417  MonitorElement * book1DD(const std::string &dir, const std::string &name, TH1D *h);
418  MonitorElement * book2D(const std::string &dir, const std::string &name, TH2F *h);
419  MonitorElement * book2S(const std::string &dir, const std::string &name, TH2S *h);
420  MonitorElement * book2DD(const std::string &dir, const std::string &name, TH2D *h);
421  MonitorElement * book3D(const std::string &dir, const std::string &name, TH3F *h);
422  MonitorElement * bookProfile(const std::string &dir, const std::string &name, TProfile *h);
423  MonitorElement * bookProfile2D(const std::string &folder, const std::string &name, TProfile2D *h);
424 
425  static bool checkBinningMatches(MonitorElement *me, TH1 *h);
426 
427  static void collate1D(MonitorElement *me, TH1F *h);
428  static void collate1S(MonitorElement *me, TH1S *h);
429  static void collate1DD(MonitorElement *me, TH1D *h);
430  static void collate2D(MonitorElement *me, TH2F *h);
431  static void collate2S(MonitorElement *me, TH2S *h);
432  static void collate2DD(MonitorElement *me, TH2D *h);
433  static void collate3D(MonitorElement *me, TH3F *h);
434  static void collateProfile(MonitorElement *me, TProfile *h);
435  static void collateProfile2D(MonitorElement *me, TProfile2D *h);
436 
437  // --- Operations on MEs that are normally reset at end of monitoring cycle ---
438  void setAccumulate(MonitorElement *me, bool flag);
439 
440  void print_trace(const std::string &dir, const std::string &name);
441 
442  // ----------------------- Unavailable ---------------------------------------
443  DQMStore(const DQMStore&);
444  const DQMStore& operator=(const DQMStore&);
445 
446  //-------------------------------------------------------------------------------
447  //-------------------------------------------------------------------------------
448  typedef std::pair<fastmatch *, QCriterion *> QTestSpec;
449  typedef std::list<QTestSpec> QTestSpecs;
450  typedef std::set<MonitorElement> MEMap;
451  typedef std::map<std::string, QCriterion *> QCMap;
452  typedef std::map<std::string, QCriterion *(*)(const std::string &)> QAMap;
453 
454  unsigned verbose_;
455  unsigned verboseQT_;
456  bool reset_;
457  double scaleFlag_;
460 
463  std::set<std::string> dirs_;
464 
468 
469  friend class edm::DQMHttpSource;
470  friend class DQMService;
471  friend class DQMNet;
472  friend class DQMArchiver;
473  friend class DQMStoreExample; // for get{All,Matching}Contents -- sole user of this method!
474 };
475 
476 #endif // DQMSERVICES_CORE_DQM_STORE_H
static void collateProfile2D(MonitorElement *me, TProfile2D *h)
Definition: DQMStore.cc:1345
QCriterion * getQCriterion(const std::string &qtname) const
Definition: DQMStore.cc:2602
bool compare_strings_reverse(std::string const &pattern, std::string const &input) const
Definition: DQMStore.cc:198
std::pair< fastmatch *, QCriterion * > QTestSpec
Definition: DQMStore.h:448
DQMStore(const edm::ParameterSet &pset, edm::ActivityRegistry &)
Definition: DQMStore.cc:259
MonitorElement * book2S(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2S histogram.
Definition: DQMStore.cc:872
std::map< std::string, QCriterion * > QCMap
Definition: DQMStore.h:451
bool containsAnyMonitorable(const std::string &path) const
Definition: DQMStore.cc:1463
bool isCollateME(MonitorElement *me) const
Definition: DQMStore.cc:2795
long int flag
Definition: mlp_lapack.h:47
bool cdInto(const std::string &path) const
Definition: DQMStore.cc:2071
int getStatus(const std::string &path="") const
Definition: DQMStore.cc:2708
std::vector< std::string > getSubdirs(void) const
Definition: DQMStore.cc:1424
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2535
bool match(std::string const &s) const
Definition: DQMStore.cc:240
bool readFile(const std::string &filename, bool overwrite=false, const std::string &path="", const std::string &prepend="", OpenRunDirs stripdirs=StripRunDirs, bool fileMustExist=true)
Definition: DQMStore.cc:2477
static void collate3D(MonitorElement *me, TH3F *h)
Definition: DQMStore.cc:1328
MonitorElement * book3D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ)
Book 3D histogram.
Definition: DQMStore.cc:984
static void collate1D(MonitorElement *me, TH1F *h)
Definition: DQMStore.cc:1286
MatchingHeuristicEnum
Definition: DQMStore.h:46
Definition: DQMNet.h:22
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:411
MonitorElement * book2DD(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D double histogram.
Definition: DQMStore.cc:894
static void collate1DD(MonitorElement *me, TH1D *h)
Definition: DQMStore.cc:1300
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:2118
std::vector< MonitorElement * > getMatchingContents(const std::string &pattern, lat::Regexp::Syntax syntaxType=lat::Regexp::Wildcard) const
Definition: DQMStore.cc:1696
MatchingHeuristicEnum matching_
Definition: DQMStore.h:64
bool reset_
Definition: DQMStore.h:456
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:754
friend class DQMArchiver
Definition: DQMStore.h:472
void initializeFrom(const edm::ParameterSet &)
Definition: DQMStore.cc:296
OpenRunDirs
Definition: DQMStore.h:76
QCMap qtests_
Definition: DQMStore.h:465
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:577
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:659
SaveReferenceTag
Definition: DQMStore.h:70
std::vector< MonitorElement * > getAllContents(const std::string &path) const
Definition: DQMStore.cc:1677
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1359
~DQMStore(void)
Definition: DQMStore.cc:285
void disableSoftReset(MonitorElement *me)
Definition: DQMStore.cc:2747
static void collateProfile(MonitorElement *me, TProfile *h)
Definition: DQMStore.cc:1335
void forceReset(void)
Definition: DQMStore.cc:1756
fastmatch(std::string const &_fastString)
Definition: DQMStore.cc:122
unsigned verboseQT_
Definition: DQMStore.h:455
bool extract(TObject *obj, const std::string &dir, bool overwrite)
Definition: DQMStore.cc:1776
QTestSpecs qtestspecs_
Definition: DQMStore.h:467
void removeContents(void)
erase all monitoring elements in current directory (not including subfolders);
Definition: DQMStore.cc:2569
double scaleFlag_
Definition: DQMStore.h:457
MonitorElement * bookString(const char *name, const char *value)
Book string.
Definition: DQMStore.cc:688
std::set< MonitorElement > MEMap
Definition: DQMStore.h:450
static void collate1S(MonitorElement *me, TH1S *h)
Definition: DQMStore.cc:1293
bool isCollate(void) const
Definition: DQMStore.cc:2786
void removeElement(const std::string &name)
Definition: DQMStore.cc:2577
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1262
MonitorElement * findObject(const std::string &dir, const std::string &name) const
Definition: DQMStore.cc:1603
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1036
void setVerbose(unsigned level)
Definition: DQMStore.cc:398
void softReset(MonitorElement *me)
Definition: DQMStore.cc:2739
std::string pwd_
Definition: DQMStore.h:461
void runQTests(void)
Definition: DQMStore.cc:2687
lat::Regexp * regexp_
Definition: DQMStore.h:62
QAMap qalgos_
Definition: DQMStore.h:466
std::vector< MonitorElement * > getContents(const std::string &path) const
Definition: DQMStore.cc:1502
std::string readSelectedDirectory_
Definition: DQMStore.h:459
std::string fastString_
Definition: DQMStore.h:63
bool dirExists(const std::string &path) const
true if directory exists
Definition: DQMStore.cc:498
void getAllTags(std::vector< std::string > &into) const
Definition: DQMStore.cc:1624
const DQMStore & operator=(const DQMStore &)
bool load(const std::string &filename, OpenRunDirs stripdirs=StripRunDirs, bool fileMustExist=true)
Definition: DQMStore.cc:2452
void scaleElements(void)
Definition: DQMStore.cc:2803
~fastmatch()
Definition: DQMStore.cc:192
void tagAllContents(const std::string &path, unsigned int myTag)
Definition: DQMStore.cc:1402
MonitorElement * initialise(MonitorElement *me, const std::string &path)
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
unsigned verbose_
Definition: DQMStore.h:454
std::list< QTestSpec > QTestSpecs
Definition: DQMStore.h:449
static void collate2S(MonitorElement *me, TH2S *h)
Definition: DQMStore.cc:1314
MEMap data_
Definition: DQMStore.h:462
static void collate2D(MonitorElement *me, TH2F *h)
Definition: DQMStore.cc:1307
void print_trace(const std::string &dir, const std::string &name)
Definition: DQMStore.cc:347
int useQTestByMatch(const std::string &pattern, const std::string &qtname)
attach quality test &lt;qc&gt; to monitor elements matching &lt;pattern&gt;.
Definition: DQMStore.cc:2652
std::vector< std::string > getMEs(void) const
get list of (non-dir) MEs of current directory
Definition: DQMStore.cc:1447
friend class DQMStoreExample
Definition: DQMStore.h:473
unsigned int readDirectory(TFile *file, bool overwrite, const std::string &path, const std::string &prepend, const std::string &curdir, OpenRunDirs stripdirs)
Definition: DQMStore.cc:2282
static void collate2DD(MonitorElement *me, TH2D *h)
Definition: DQMStore.cc:1321
void tagContents(const std::string &path, unsigned int myTag)
tag all children of folder (does NOT include subfolders)
Definition: DQMStore.cc:1390
std::map< std::string, QCriterion *(*)(const std::string &)> QAMap
Definition: DQMStore.h:452
void useQTest(const std::string &dir, const std::string &qtname)
Definition: DQMStore.cc:2634
tuple filename
Definition: lut2db_cfg.py:20
void goUp(void)
equivalent to &quot;cd ..&quot;
Definition: DQMStore.cc:445
bool open(const std::string &filename, bool overwrite=false, const std::string &path="", const std::string &prepend="", OpenRunDirs stripdirs=KeepRunDirs, bool fileMustExist=true)
Definition: DQMStore.cc:2437
static const int STATUS_OK
void setAccumulate(MonitorElement *me, bool flag)
Definition: DQMStore.cc:2756
tuple level
Definition: testEve_cfg.py:34
QCriterion * createQTest(const std::string &algoname, const std::string &qtname)
Definition: DQMStore.cc:2613
dbl *** dir
Definition: mlp_gen.cc:35
void showDirStructure(void) const
Definition: DQMStore.cc:2766
void reset(void)
Definition: DQMStore.cc:1732
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:629
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:850
std::set< std::string > dirs_
Definition: DQMStore.h:463
bool collateHistograms_
Definition: DQMStore.h:458
MonitorElement * book1S(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:738
void makeDirectory(const std::string &path)
get folder corresponding to inpath wrt to root (create subdirs if necessary)
Definition: DQMStore.cc:457
bool compare_strings(std::string const &pattern, std::string const &input) const
Definition: DQMStore.cc:219
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
const std::string & pwd(void) const
Definition: DQMStore.cc:406
MonitorElement * bookProfile2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ, const char *option="s")
Definition: DQMStore.cc:1180