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
56  bool compare_strings_reverse (std::string const& pattern,
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_;
63  std::string fastString_;
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);
104  MonitorElement * bookInt (const std::string &name);
105 
106  MonitorElement * bookFloat (const char *name);
107  MonitorElement * bookFloat (const std::string &name);
108 
109  MonitorElement * bookString (const char *name,
110  const char *value);
111  MonitorElement * bookString (const std::string &name,
112  const std::string &value);
113 
114  MonitorElement * book1D (const char *name,
115  const char *title,
116  int nchX, double lowX, double highX);
117  MonitorElement * book1D (const std::string &name,
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);
123  MonitorElement * book1D (const std::string &name,
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);
132  MonitorElement * book1S (const std::string &name,
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);
138  MonitorElement * book1S (const std::string &name,
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);
147  MonitorElement * book1DD (const std::string &name,
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);
153  MonitorElement * book1DD (const std::string &name,
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);
163  MonitorElement * book2D (const std::string &name,
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);
171  MonitorElement * book2D (const std::string &name,
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);
182  MonitorElement * book2S (const std::string &name,
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);
190  MonitorElement * book2S (const std::string &name,
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);
201  MonitorElement * book2DD (const std::string &name,
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);
209  MonitorElement * book2DD (const std::string &name,
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);
221  MonitorElement * book3D (const std::string &name,
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");
234  MonitorElement * bookProfile (const std::string &name,
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");
244  MonitorElement * bookProfile (const std::string &name,
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");
254  MonitorElement * bookProfile (const std::string &name,
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");
264  MonitorElement * bookProfile (const std::string &name,
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");
278  MonitorElement * bookProfile2D(const std::string &name,
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");
290  MonitorElement * bookProfile2D(const std::string &name,
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  //-------------------------------------------------------------------------
353  // ---------------------- Quality Test methods -----------------------------
354  QCriterion * getQCriterion(const std::string &qtname) const;
355  QCriterion * createQTest(const std::string &algoname, const std::string &qtname);
356  void useQTest(const std::string &dir, const std::string &qtname);
357  int useQTestByMatch(const std::string &pattern, const std::string &qtname);
358  void runQTests(void);
359  int getStatus(const std::string &path = "") const;
360 
361 private:
362  // ---------------- Navigation -----------------------
363  bool cdInto(const std::string &path) const;
364 
365  // ------------------- Reference ME -------------------------------
366  bool isCollateME(MonitorElement *me) const;
367 
368  // ------------------- Private "getters" ------------------------------
369  bool readFile(const std::string &filename,
370  bool overwrite = false,
371  const std::string &path ="",
372  const std::string &prepend = "",
373  OpenRunDirs stripdirs = StripRunDirs,
374  bool fileMustExist = true);
375  void makeDirectory(const std::string &path);
376  unsigned int readDirectory(TFile *file,
377  bool overwrite,
378  const std::string &path,
379  const std::string &prepend,
380  const std::string &curdir,
381  OpenRunDirs stripdirs);
382 
383  MonitorElement * findObject(const std::string &dir, const std::string &name) const;
384 
385 public:
386  void getAllTags(std::vector<std::string> &into) const;
387  std::vector<MonitorElement*> getAllContents(const std::string &path) const;
388  std::vector<MonitorElement*> getMatchingContents(const std::string &pattern, lat::Regexp::Syntax syntaxType = lat::Regexp::Wildcard) const;
389 private:
390 
391  // ---------------- Miscellaneous -----------------------------
392  void initializeFrom(const edm::ParameterSet&);
393  void reset(void);
394  void forceReset(void);
395 
396  bool extract(TObject *obj, const std::string &dir, bool overwrite);
397 
398  // ---------------------- Booking ------------------------------------
399  MonitorElement * initialise(MonitorElement *me, const std::string &path);
400  MonitorElement * book(const std::string &dir,
401  const std::string &name,
402  const char *context);
403  template <class HISTO, class COLLATE>
404  MonitorElement * book(const std::string &dir, const std::string &name,
405  const char *context, int kind,
406  HISTO *h, COLLATE collate);
407 
408  MonitorElement * bookInt(const std::string &dir, const std::string &name);
409  MonitorElement * bookFloat(const std::string &dir, const std::string &name);
410  MonitorElement * bookString(const std::string &dir, const std::string &name, const std::string &value);
411  MonitorElement * book1D(const std::string &dir, const std::string &name, TH1F *h);
412  MonitorElement * book1S(const std::string &dir, const std::string &name, TH1S *h);
413  MonitorElement * book1DD(const std::string &dir, const std::string &name, TH1D *h);
414  MonitorElement * book2D(const std::string &dir, const std::string &name, TH2F *h);
415  MonitorElement * book2S(const std::string &dir, const std::string &name, TH2S *h);
416  MonitorElement * book2DD(const std::string &dir, const std::string &name, TH2D *h);
417  MonitorElement * book3D(const std::string &dir, const std::string &name, TH3F *h);
418  MonitorElement * bookProfile(const std::string &dir, const std::string &name, TProfile *h);
419  MonitorElement * bookProfile2D(const std::string &folder, const std::string &name, TProfile2D *h);
420 
421  static bool checkBinningMatches(MonitorElement *me, TH1 *h);
422 
423  static void collate1D(MonitorElement *me, TH1F *h);
424  static void collate1S(MonitorElement *me, TH1S *h);
425  static void collate1DD(MonitorElement *me, TH1D *h);
426  static void collate2D(MonitorElement *me, TH2F *h);
427  static void collate2S(MonitorElement *me, TH2S *h);
428  static void collate2DD(MonitorElement *me, TH2D *h);
429  static void collate3D(MonitorElement *me, TH3F *h);
430  static void collateProfile(MonitorElement *me, TProfile *h);
431  static void collateProfile2D(MonitorElement *me, TProfile2D *h);
432 
433  // --- Operations on MEs that are normally reset at end of monitoring cycle ---
434  void setAccumulate(MonitorElement *me, bool flag);
435 
436  void print_trace(const std::string &dir, const std::string &name);
437 
438  // ----------------------- Unavailable ---------------------------------------
439  DQMStore(const DQMStore&);
440  const DQMStore& operator=(const DQMStore&);
441 
442  //-------------------------------------------------------------------------------
443  //-------------------------------------------------------------------------------
444  typedef std::pair<fastmatch *, QCriterion *> QTestSpec;
445  typedef std::list<QTestSpec> QTestSpecs;
446  typedef std::set<MonitorElement> MEMap;
447  typedef std::map<std::string, QCriterion *> QCMap;
448  typedef std::map<std::string, QCriterion *(*)(const std::string &)> QAMap;
449 
450  unsigned verbose_;
451  unsigned verboseQT_;
452  bool reset_;
455 
456  std::string pwd_;
458  std::set<std::string> dirs_;
459 
463 
464  friend class edm::DQMHttpSource;
465  friend class DQMService;
466  friend class DQMNet;
467  friend class DQMArchiver;
468  friend class DQMStoreExample; // for get{All,Matching}Contents -- sole user of this method!
469 };
470 
471 #endif // DQMSERVICES_CORE_DQM_STORE_H
static void collateProfile2D(MonitorElement *me, TProfile2D *h)
Definition: DQMStore.cc:1340
QCriterion * getQCriterion(const std::string &qtname) const
Definition: DQMStore.cc:2597
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:444
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:867
std::map< std::string, QCriterion * > QCMap
Definition: DQMStore.h:447
bool containsAnyMonitorable(const std::string &path) const
Definition: DQMStore.cc:1458
bool isCollateME(MonitorElement *me) const
Definition: DQMStore.cc:2781
long int flag
Definition: mlp_lapack.h:47
bool cdInto(const std::string &path) const
Definition: DQMStore.cc:2066
int getStatus(const std::string &path="") const
Definition: DQMStore.cc:2703
std::vector< std::string > getSubdirs(void) const
Definition: DQMStore.cc:1419
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:717
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2530
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:2472
static void collate3D(MonitorElement *me, TH3F *h)
Definition: DQMStore.cc:1323
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:979
static void collate1D(MonitorElement *me, TH1F *h)
Definition: DQMStore.cc:1281
MatchingHeuristicEnum
Definition: DQMStore.h:46
Definition: DQMNet.h:22
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:406
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:889
static void collate1DD(MonitorElement *me, TH1D *h)
Definition: DQMStore.cc:1295
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:2113
std::vector< MonitorElement * > getMatchingContents(const std::string &pattern, lat::Regexp::Syntax syntaxType=lat::Regexp::Wildcard) const
Definition: DQMStore.cc:1691
MatchingHeuristicEnum matching_
Definition: DQMStore.h:64
bool reset_
Definition: DQMStore.h:452
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:749
friend class DQMArchiver
Definition: DQMStore.h:467
void initializeFrom(const edm::ParameterSet &)
Definition: DQMStore.cc:295
OpenRunDirs
Definition: DQMStore.h:76
QCMap qtests_
Definition: DQMStore.h:460
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:572
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:654
SaveReferenceTag
Definition: DQMStore.h:70
std::vector< MonitorElement * > getAllContents(const std::string &path) const
Definition: DQMStore.cc:1672
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1354
~DQMStore(void)
Definition: DQMStore.cc:284
void disableSoftReset(MonitorElement *me)
Definition: DQMStore.cc:2742
static void collateProfile(MonitorElement *me, TProfile *h)
Definition: DQMStore.cc:1330
void forceReset(void)
Definition: DQMStore.cc:1751
fastmatch(std::string const &_fastString)
Definition: DQMStore.cc:122
unsigned verboseQT_
Definition: DQMStore.h:451
bool extract(TObject *obj, const std::string &dir, bool overwrite)
Definition: DQMStore.cc:1771
list path
Definition: scaleCards.py:51
QTestSpecs qtestspecs_
Definition: DQMStore.h:462
void removeContents(void)
erase all monitoring elements in current directory (not including subfolders);
Definition: DQMStore.cc:2564
MonitorElement * bookString(const char *name, const char *value)
Book string.
Definition: DQMStore.cc:683
std::set< MonitorElement > MEMap
Definition: DQMStore.h:446
static void collate1S(MonitorElement *me, TH1S *h)
Definition: DQMStore.cc:1288
void removeElement(const std::string &name)
Definition: DQMStore.cc:2572
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1257
MonitorElement * findObject(const std::string &dir, const std::string &name) const
Definition: DQMStore.cc:1598
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:1031
void setVerbose(unsigned level)
Definition: DQMStore.cc:393
void softReset(MonitorElement *me)
Definition: DQMStore.cc:2734
std::string pwd_
Definition: DQMStore.h:456
void runQTests(void)
Definition: DQMStore.cc:2682
lat::Regexp * regexp_
Definition: DQMStore.h:62
QAMap qalgos_
Definition: DQMStore.h:461
std::vector< MonitorElement * > getContents(const std::string &path) const
Definition: DQMStore.cc:1497
std::string readSelectedDirectory_
Definition: DQMStore.h:454
std::string fastString_
Definition: DQMStore.h:63
bool dirExists(const std::string &path) const
true if directory exists
Definition: DQMStore.cc:493
void getAllTags(std::vector< std::string > &into) const
Definition: DQMStore.cc:1619
const DQMStore & operator=(const DQMStore &)
bool load(const std::string &filename, OpenRunDirs stripdirs=StripRunDirs, bool fileMustExist=true)
Definition: DQMStore.cc:2447
~fastmatch()
Definition: DQMStore.cc:192
void tagAllContents(const std::string &path, unsigned int myTag)
Definition: DQMStore.cc:1397
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:450
std::list< QTestSpec > QTestSpecs
Definition: DQMStore.h:445
static void collate2S(MonitorElement *me, TH2S *h)
Definition: DQMStore.cc:1309
MEMap data_
Definition: DQMStore.h:457
static void collate2D(MonitorElement *me, TH2F *h)
Definition: DQMStore.cc:1302
void print_trace(const std::string &dir, const std::string &name)
Definition: DQMStore.cc:342
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:2647
std::vector< std::string > getMEs(void) const
get list of (non-dir) MEs of current directory
Definition: DQMStore.cc:1442
friend class DQMStoreExample
Definition: DQMStore.h:468
unsigned int readDirectory(TFile *file, bool overwrite, const std::string &path, const std::string &prepend, const std::string &curdir, OpenRunDirs stripdirs)
Definition: DQMStore.cc:2277
static void collate2DD(MonitorElement *me, TH2D *h)
Definition: DQMStore.cc:1316
void tagContents(const std::string &path, unsigned int myTag)
tag all children of folder (does NOT include subfolders)
Definition: DQMStore.cc:1385
std::map< std::string, QCriterion *(*)(const std::string &)> QAMap
Definition: DQMStore.h:448
void useQTest(const std::string &dir, const std::string &qtname)
Definition: DQMStore.cc:2629
tuple filename
Definition: lut2db_cfg.py:20
void goUp(void)
equivalent to &quot;cd ..&quot;
Definition: DQMStore.cc:440
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:2432
static const int STATUS_OK
void setAccumulate(MonitorElement *me, bool flag)
Definition: DQMStore.cc:2751
tuple level
Definition: testEve_cfg.py:34
QCriterion * createQTest(const std::string &algoname, const std::string &qtname)
Definition: DQMStore.cc:2608
dbl *** dir
Definition: mlp_gen.cc:35
void showDirStructure(void) const
Definition: DQMStore.cc:2761
void reset(void)
Definition: DQMStore.cc:1727
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:624
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:845
std::set< std::string > dirs_
Definition: DQMStore.h:458
bool collateHistograms_
Definition: DQMStore.h:453
MonitorElement * book1S(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:733
void makeDirectory(const std::string &path)
get folder corresponding to inpath wrt to root (create subdirs if necessary)
Definition: DQMStore.cc:452
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:429
const std::string & pwd(void) const
Definition: DQMStore.cc:401
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:1175