CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Friends
DQMStore Class Reference

#include <DQMStore.h>

Classes

class  IBooker
 
class  IGetter
 

Public Types

enum  OpenRunDirs { KeepRunDirs, StripRunDirs }
 
enum  SaveReferenceTag { SaveWithoutReference, SaveWithReference, SaveWithReferenceForQTest }
 

Public Member Functions

MonitorElementbook1D (const char *name, const char *title, int nchX, double lowX, double highX)
 Book 1D histogram. More...
 
MonitorElementbook1D (const std::string &name, const std::string &title, int nchX, double lowX, double highX)
 Book 1D histogram. More...
 
MonitorElementbook1D (const char *name, const char *title, int nchX, float *xbinsize)
 Book 1D variable bin histogram. More...
 
MonitorElementbook1D (const std::string &name, const std::string &title, int nchX, float *xbinsize)
 Book 1D variable bin histogram. More...
 
MonitorElementbook1D (const char *name, TH1F *h)
 Book 1D histogram by cloning an existing histogram. More...
 
MonitorElementbook1D (const std::string &name, TH1F *h)
 Book 1D histogram by cloning an existing histogram. More...
 
MonitorElementbook1DD (const char *name, const char *title, int nchX, double lowX, double highX)
 Book 1S histogram. More...
 
MonitorElementbook1DD (const std::string &name, const std::string &title, int nchX, double lowX, double highX)
 Book 1S histogram. More...
 
MonitorElementbook1DD (const char *name, const char *title, int nchX, float *xbinsize)
 
MonitorElementbook1DD (const std::string &name, const std::string &title, int nchX, float *xbinsize)
 
MonitorElementbook1DD (const char *name, TH1D *h)
 Book 1D double histogram by cloning an existing histogram. More...
 
MonitorElementbook1DD (const std::string &name, TH1D *h)
 Book 1D double histogram by cloning an existing histogram. More...
 
MonitorElementbook1S (const char *name, const char *title, int nchX, double lowX, double highX)
 Book 1S histogram. More...
 
MonitorElementbook1S (const std::string &name, const std::string &title, int nchX, double lowX, double highX)
 Book 1S histogram. More...
 
MonitorElementbook1S (const char *name, const char *title, int nchX, float *xbinsize)
 
MonitorElementbook1S (const std::string &name, const std::string &title, int nchX, float *xbinsize)
 
MonitorElementbook1S (const char *name, TH1S *h)
 Book 1S histogram by cloning an existing histogram. More...
 
MonitorElementbook1S (const std::string &name, TH1S *h)
 Book 1S histogram by cloning an existing histogram. More...
 
MonitorElementbook2D (const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
 Book 2D histogram. More...
 
MonitorElementbook2D (const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
 Book 2D histogram. More...
 
MonitorElementbook2D (const char *name, const char *title, int nchX, float *xbinsize, int nchY, float *ybinsize)
 Book 2D variable bin histogram. More...
 
MonitorElementbook2D (const std::string &name, const std::string &title, int nchX, float *xbinsize, int nchY, float *ybinsize)
 Book 2D variable bin histogram. More...
 
MonitorElementbook2D (const char *name, TH2F *h)
 Book 2D histogram by cloning an existing histogram. More...
 
MonitorElementbook2D (const std::string &name, TH2F *h)
 Book 2D histogram by cloning an existing histogram. More...
 
MonitorElementbook2DD (const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
 Book 2D double histogram. More...
 
MonitorElementbook2DD (const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
 Book 2S histogram. More...
 
MonitorElementbook2DD (const char *name, const char *title, int nchX, float *xbinsize, int nchY, float *ybinsize)
 
MonitorElementbook2DD (const std::string &name, const std::string &title, int nchX, float *xbinsize, int nchY, float *ybinsize)
 
MonitorElementbook2DD (const char *name, TH2D *h)
 Book 2DS histogram by cloning an existing histogram. More...
 
MonitorElementbook2DD (const std::string &name, TH2D *h)
 Book 2DS histogram by cloning an existing histogram. More...
 
MonitorElementbook2S (const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
 Book 2S histogram. More...
 
MonitorElementbook2S (const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
 Book 2S histogram. More...
 
MonitorElementbook2S (const char *name, const char *title, int nchX, float *xbinsize, int nchY, float *ybinsize)
 
MonitorElementbook2S (const std::string &name, const std::string &title, int nchX, float *xbinsize, int nchY, float *ybinsize)
 
MonitorElementbook2S (const char *name, TH2S *h)
 Book 2DS histogram by cloning an existing histogram. More...
 
MonitorElementbook2S (const std::string &name, TH2S *h)
 Book 2DS histogram by cloning an existing histogram. More...
 
MonitorElementbook3D (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. More...
 
MonitorElementbook3D (const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ)
 Book 3D histogram. More...
 
MonitorElementbook3D (const char *name, TH3F *h)
 Book 3D histogram by cloning an existing histogram. More...
 
MonitorElementbook3D (const std::string &name, TH3F *h)
 Book 3D histogram by cloning an existing histogram. More...
 
MonitorElementbookFloat (const char *name)
 Book float. More...
 
MonitorElementbookFloat (const std::string &name)
 Book float. More...
 
MonitorElementbookInt (const char *name)
 Book int. More...
 
MonitorElementbookInt (const std::string &name)
 Book int. More...
 
MonitorElementbookProfile (const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
 
MonitorElementbookProfile (const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
 
MonitorElementbookProfile (const char *name, const char *title, int nchX, double lowX, double highX, double lowY, double highY, const char *option="s")
 
MonitorElementbookProfile (const std::string &name, const std::string &title, int nchX, double lowX, double highX, double lowY, double highY, const char *option="s")
 
MonitorElementbookProfile (const char *name, const char *title, int nchX, double *xbinsize, int nchY, double lowY, double highY, const char *option="s")
 
MonitorElementbookProfile (const std::string &name, const std::string &title, int nchX, double *xbinsize, int nchY, double lowY, double highY, const char *option="s")
 
MonitorElementbookProfile (const char *name, const char *title, int nchX, double *xbinsize, double lowY, double highY, const char *option="s")
 
MonitorElementbookProfile (const std::string &name, const std::string &title, int nchX, double *xbinsize, double lowY, double highY, const char *option="s")
 
MonitorElementbookProfile (const char *name, TProfile *h)
 Book TProfile by cloning an existing profile. More...
 
MonitorElementbookProfile (const std::string &name, TProfile *h)
 Book TProfile by cloning an existing profile. More...
 
MonitorElementbookProfile2D (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")
 
MonitorElementbookProfile2D (const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ, const char *option="s")
 
MonitorElementbookProfile2D (const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, double lowZ, double highZ, const char *option="s")
 
MonitorElementbookProfile2D (const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, double lowZ, double highZ, const char *option="s")
 
MonitorElementbookProfile2D (const char *name, TProfile2D *h)
 Book TProfile2D by cloning an existing profile. More...
 
MonitorElementbookProfile2D (const std::string &name, TProfile2D *h)
 Book TProfile2D by cloning an existing profile. More...
 
MonitorElementbookString (const char *name, const char *value)
 Book string. More...
 
MonitorElementbookString (const std::string &name, const std::string &value)
 Book string. More...
 
template<typename iFunc >
void bookTransaction (iFunc f, uint32_t run, uint32_t streamId, uint32_t moduleId)
 
void cd (void)
 go to top directory (ie. root) More...
 
void cd (const std::string &subdir)
 cd to subdirectory (if there) More...
 
bool containsAnyMonitorable (const std::string &path) const
 
QCriterioncreateQTest (const std::string &algoname, const std::string &qtname)
 
bool dirExists (const std::string &path) const
 true if directory exists More...
 
void disableSoftReset (MonitorElement *me)
 
 DQMStore (const edm::ParameterSet &pset, edm::ActivityRegistry &)
 
 DQMStore (const edm::ParameterSet &pset)
 
MonitorElementget (const std::string &path) const
 get ME from full pathname (e.g. "my/long/dir/my_histo") More...
 
std::vector< MonitorElement * > get (unsigned int tag) const
 get all MonitorElements tagged as <tag> More...
 
std::vector< MonitorElement * > getAllContents (const std::string &path, uint32_t runNumber=0, uint32_t lumi=0) const
 
void getAllTags (std::vector< std::string > &into) const
 
std::vector< MonitorElement * > getContents (const std::string &path) const
 
std::vector< MonitorElement * > getContents (const std::string &path, unsigned int tag) const
 same as above for tagged MonitorElements More...
 
void getContents (std::vector< std::string > &into, bool showContents=true) const
 
std::vector< MonitorElement * > getMatchingContents (const std::string &pattern, lat::Regexp::Syntax syntaxType=lat::Regexp::Wildcard) const
 
std::vector< std::string > getMEs (void) const
 get list of (non-dir) MEs of current directory More...
 
QCriteriongetQCriterion (const std::string &qtname) const
 
int getStatus (const std::string &path="") const
 
std::vector< std::string > getSubdirs (void) const
 
void goUp (void)
 equivalent to "cd .." More...
 
bool isCollate (void) const
 
bool load (const std::string &filename, OpenRunDirs stripdirs=StripRunDirs, bool fileMustExist=true)
 
template<typename iFunc >
void meBookerGetter (iFunc f)
 
template<typename iFunc >
void meGetter (iFunc f)
 
void mergeAndResetMEsLuminositySummaryCache (uint32_t run, uint32_t lumi, uint32_t streamId, uint32_t moduleId)
 
void mergeAndResetMEsRunSummaryCache (uint32_t run, uint32_t streamId, uint32_t moduleId)
 
bool open (const std::string &filename, bool overwrite=false, const std::string &path="", const std::string &prepend="", OpenRunDirs stripdirs=KeepRunDirs, bool fileMustExist=true)
 
const std::string & pwd (void) const
 
void removeContents (void)
 erase all monitoring elements in current directory (not including subfolders); More...
 
void removeContents (const std::string &dir)
 remove all monitoring elements from directory; More...
 
void removeElement (const std::string &name)
 
void removeElement (const std::string &dir, const std::string &name, bool warning=true)
 
void rmdir (const std::string &fullpath)
 
void runQTests (void)
 
void save (const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", const uint32_t run=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
 
void savePB (const std::string &filename, const std::string &path="")
 
void scaleElements (void)
 
void setCurrentFolder (const std::string &fullpath)
 
void setVerbose (unsigned level)
 
void showDirStructure (void) const
 
void softReset (MonitorElement *me)
 
void tag (MonitorElement *me, unsigned int myTag)
 
void tag (const std::string &path, unsigned int myTag)
 tag ME specified by full pathname (e.g. "my/long/dir/my_histo") More...
 
void tagAllContents (const std::string &path, unsigned int myTag)
 
void tagContents (const std::string &path, unsigned int myTag)
 tag all children of folder (does NOT include subfolders) More...
 
void useQTest (const std::string &dir, const std::string &qtname)
 
int useQTestByMatch (const std::string &pattern, const std::string &qtname)
 attach quality test <qc> to monitor elements matching <pattern>. More...
 
 ~DQMStore (void)
 

Private Types

typedef std::set< MonitorElementMEMap
 
typedef std::map< std::string,
QCriterion *(*)(const
std::string &)> 
QAMap
 
typedef std::map< std::string,
QCriterion * > 
QCMap
 
typedef std::pair< fastmatch
*, QCriterion * > 
QTestSpec
 
typedef std::list< QTestSpecQTestSpecs
 

Private Member Functions

MonitorElementbook (const std::string &dir, const std::string &name, const char *context)
 
template<class HISTO , class COLLATE >
MonitorElementbook (const std::string &dir, const std::string &name, const char *context, int kind, HISTO *h, COLLATE collate)
 
MonitorElementbook1D (const std::string &dir, const std::string &name, TH1F *h)
 Book 1D histogram based on TH1F. More...
 
MonitorElementbook1DD (const std::string &dir, const std::string &name, TH1D *h)
 Book 1D histogram based on TH1D. More...
 
MonitorElementbook1S (const std::string &dir, const std::string &name, TH1S *h)
 Book 1D histogram based on TH1S. More...
 
MonitorElementbook2D (const std::string &dir, const std::string &name, TH2F *h)
 Book 2D histogram based on TH2F. More...
 
MonitorElementbook2DD (const std::string &dir, const std::string &name, TH2D *h)
 Book 2D histogram based on TH2D. More...
 
MonitorElementbook2S (const std::string &dir, const std::string &name, TH2S *h)
 Book 2D histogram based on TH2S. More...
 
MonitorElementbook3D (const std::string &dir, const std::string &name, TH3F *h)
 Book 3D histogram based on TH3F. More...
 
MonitorElementbookFloat (const std::string &dir, const std::string &name)
 Book float. More...
 
MonitorElementbookInt (const std::string &dir, const std::string &name)
 Book int. More...
 
MonitorElementbookProfile (const std::string &dir, const std::string &name, TProfile *h)
 Book profile histogram based on TProfile. More...
 
MonitorElementbookProfile2D (const std::string &folder, const std::string &name, TProfile2D *h)
 Book 2D profile histogram based on TProfile2D. More...
 
MonitorElementbookString (const std::string &dir, const std::string &name, const std::string &value)
 Book string. More...
 
bool cdInto (const std::string &path) const
 
 DQMStore (const DQMStore &)
 
bool extract (TObject *obj, const std::string &dir, bool overwrite)
 
TObject * extractNextObject (TBufferFile &) const
 
MonitorElementfindObject (const std::string &dir, const std::string &name, const uint32_t run=0, const uint32_t lumi=0, const uint32_t streamId=0, const uint32_t moduleId=0) const
 
void forceReset (void)
 
void get_info (const dqmstorepb::ROOTFilePB_Histo &, std::string &dirname, std::string &objname, TH1 **obj)
 
MonitorElementinitialise (MonitorElement *me, const std::string &path)
 
void initializeFrom (const edm::ParameterSet &)
 
bool isCollateME (MonitorElement *me) const
 
void makeDirectory (const std::string &path)
 
const DQMStoreoperator= (const DQMStore &)
 
void print_trace (const std::string &dir, const std::string &name)
 
unsigned int readDirectory (TFile *file, bool overwrite, const std::string &path, const std::string &prepend, const std::string &curdir, OpenRunDirs stripdirs)
 
bool readFile (const std::string &filename, bool overwrite=false, const std::string &path="", const std::string &prepend="", OpenRunDirs stripdirs=StripRunDirs, bool fileMustExist=true)
 
bool readFilePB (const std::string &filename, bool overwrite=false, const std::string &path="", const std::string &prepend="", OpenRunDirs stripdirs=StripRunDirs, bool fileMustExist=true)
 
void reset (void)
 
void setAccumulate (MonitorElement *me, bool flag)
 

Static Private Member Functions

static bool checkBinningMatches (MonitorElement *me, TH1 *h)
 
static void collate1D (MonitorElement *me, TH1F *h)
 
static void collate1DD (MonitorElement *me, TH1D *h)
 
static void collate1S (MonitorElement *me, TH1S *h)
 
static void collate2D (MonitorElement *me, TH2F *h)
 
static void collate2DD (MonitorElement *me, TH2D *h)
 
static void collate2S (MonitorElement *me, TH2S *h)
 
static void collate3D (MonitorElement *me, TH3F *h)
 
static void collateProfile (MonitorElement *me, TProfile *h)
 
static void collateProfile2D (MonitorElement *me, TProfile2D *h)
 

Private Attributes

std::mutex book_mutex_
 
bool collateHistograms_
 
MEMap data_
 
std::set< std::string > dirs_
 
bool enableMultiThread_
 
IBookeribooker_
 
IGetterigetter_
 
uint32_t moduleId_
 
std::string pwd_
 
QAMap qalgos_
 
QCMap qtests_
 
QTestSpecs qtestspecs_
 
std::string readSelectedDirectory_
 
bool reset_
 
uint32_t run_
 
double scaleFlag_
 
uint32_t streamId_
 
unsigned verbose_
 
unsigned verboseQT_
 

Friends

class DQMArchiver
 
class DQMNet
 
class DQMService
 
class DQMStoreExample
 
class edm::DQMHttpSource
 

Detailed Description

Definition at line 72 of file DQMStore.h.

Member Typedef Documentation

typedef std::set<MonitorElement> DQMStore::MEMap
private

Definition at line 670 of file DQMStore.h.

typedef std::map<std::string, QCriterion *(*)(const std::string &)> DQMStore::QAMap
private

Definition at line 672 of file DQMStore.h.

typedef std::map<std::string, QCriterion *> DQMStore::QCMap
private

Definition at line 671 of file DQMStore.h.

typedef std::pair<fastmatch *, QCriterion *> DQMStore::QTestSpec
private

Definition at line 668 of file DQMStore.h.

Definition at line 669 of file DQMStore.h.

Member Enumeration Documentation

Enumerator
KeepRunDirs 
StripRunDirs 

Definition at line 81 of file DQMStore.h.

Enumerator
SaveWithoutReference 
SaveWithReference 
SaveWithReferenceForQTest 

Definition at line 75 of file DQMStore.h.

Constructor & Destructor Documentation

DQMStore::DQMStore ( const edm::ParameterSet pset,
edm::ActivityRegistry ar 
)

Definition at line 434 of file DQMStore.cc.

References edm::signalslot::Signal< T >::connect(), enableMultiThread_, forceReset(), edm::ParameterSet::getUntrackedParameter(), ibooker_, igetter_, initializeFrom(), edm::service::SystemBounds::maxNumberOfStreams(), edm::ActivityRegistry::preallocateSignal_, and edm::ActivityRegistry::watchPostSourceRun().

435  : verbose_ (1),
436  verboseQT_ (1),
437  reset_ (false),
438  collateHistograms_ (false),
439  enableMultiThread_(false),
441  run_(0),
442  streamId_(0),
443  moduleId_(0),
444  pwd_ (""),
445  ibooker_(0),
446  igetter_(0)
447 {
448  if (!ibooker_)
449  ibooker_ = new DQMStore::IBooker(this);
450  if (!igetter_)
451  igetter_ = new DQMStore::IGetter(this);
452  initializeFrom(pset);
453  if(pset.getUntrackedParameter<bool>("forceResetOnBeginRun",false)) {
455  }
456  ar.preallocateSignal_.connect([this](edm::service::SystemBounds const& iBounds) {
457  if(iBounds.maxNumberOfStreams() > 1 ) {
458  enableMultiThread_ = true;
459  }
460  });
461 
462 }
IGetter * igetter_
Definition: DQMStore.h:695
T getUntrackedParameter(std::string const &, T const &) const
uint32_t streamId_
Definition: DQMStore.h:682
bool reset_
Definition: DQMStore.h:676
void initializeFrom(const edm::ParameterSet &)
Definition: DQMStore.cc:496
uint32_t moduleId_
Definition: DQMStore.h:683
Preallocate preallocateSignal_
signal is emitted before beginJob
unsigned int maxNumberOfStreams() const
Definition: SystemBounds.h:43
void forceReset(void)
Definition: DQMStore.cc:1990
unsigned verboseQT_
Definition: DQMStore.h:675
void watchPostSourceRun(PostSourceRun::slot_type const &iSlot)
uint32_t run_
Definition: DQMStore.h:681
std::string pwd_
Definition: DQMStore.h:685
IBooker * ibooker_
Definition: DQMStore.h:694
std::string readSelectedDirectory_
Definition: DQMStore.h:680
unsigned verbose_
Definition: DQMStore.h:674
bool collateHistograms_
Definition: DQMStore.h:678
void connect(U iFunc)
Definition: Signal.h:63
bool enableMultiThread_
Definition: DQMStore.h:679
DQMStore::DQMStore ( const edm::ParameterSet pset)

Definition at line 464 of file DQMStore.cc.

References ibooker_, igetter_, and initializeFrom().

465  : verbose_ (1),
466  verboseQT_ (1),
467  reset_ (false),
468  collateHistograms_ (false),
469  enableMultiThread_(false),
471  run_(0),
472  streamId_(0),
473  moduleId_(0),
474  pwd_ (""),
475  ibooker_(0),
476  igetter_(0)
477 {
478  if (!ibooker_)
479  ibooker_ = new DQMStore::IBooker(this);
480  if (!igetter_)
481  igetter_ = new DQMStore::IGetter(this);
482  initializeFrom(pset);
483 }
IGetter * igetter_
Definition: DQMStore.h:695
uint32_t streamId_
Definition: DQMStore.h:682
bool reset_
Definition: DQMStore.h:676
void initializeFrom(const edm::ParameterSet &)
Definition: DQMStore.cc:496
uint32_t moduleId_
Definition: DQMStore.h:683
unsigned verboseQT_
Definition: DQMStore.h:675
uint32_t run_
Definition: DQMStore.h:681
std::string pwd_
Definition: DQMStore.h:685
IBooker * ibooker_
Definition: DQMStore.h:694
std::string readSelectedDirectory_
Definition: DQMStore.h:680
unsigned verbose_
Definition: DQMStore.h:674
bool collateHistograms_
Definition: DQMStore.h:678
bool enableMultiThread_
Definition: DQMStore.h:679
DQMStore::~DQMStore ( void  )

Definition at line 485 of file DQMStore.cc.

References alignCSCRings::e, for(), i, qtests_, and qtestspecs_.

486 {
487  for (QCMap::iterator i = qtests_.begin(), e = qtests_.end(); i != e; ++i)
488  delete i->second;
489 
490  for (QTestSpecs::iterator i = qtestspecs_.begin(), e = qtestspecs_.end(); i != e; ++i)
491  delete i->first;
492 
493 }
int i
Definition: DBlmapReader.cc:9
QCMap qtests_
Definition: DQMStore.h:689
QTestSpecs qtestspecs_
Definition: DQMStore.h:691
for(const auto &pset:thresholds)
DQMStore::DQMStore ( const DQMStore )
private

Member Function Documentation

MonitorElement * DQMStore::book ( const std::string &  dir,
const std::string &  name,
const char *  context 
)
private

Definition at line 783 of file DQMStore.cc.

References gather_cfg::cout, data_, dirs_, findObject(), mergePath(), moduleId_, mergeVDriftHistosByStation::name, getHLTPrescaleColumns::path, print_trace(), run_, streamId_, AlCaHLTBitMon_QueryRunRegistry::string, and verbose_.

Referenced by book1D(), book1DD(), book1S(), book2D(), book2DD(), book2S(), book3D(), bookFloat(), bookInt(), bookProfile(), bookProfile2D(), and bookString().

786 {
787  assert(name.find('/') == std::string::npos);
788  if (verbose_ > 3)
789  print_trace(dir, name);
790 
791  // Check if the request monitor element already exists.
793  {
794  if (verbose_ > 1)
795  {
797  mergePath(path, dir, name);
798 
799  std::cout << "DQMStore: "
800  << context << ": monitor element '"
801  << path << "' already exists, resetting" << std::endl;
802  }
803  me->Reset();
804  return me;
805  }
806  else
807  {
808  // Create it and return for initialisation.
809  assert(dirs_.count(dir));
810  MonitorElement proto(&*dirs_.find(dir), name, run_, streamId_, moduleId_);
811  return &const_cast<MonitorElement &>(*data_.insert(proto).first);
812  }
813 }
static void mergePath(std::string &path, const std::string &dir, const std::string &name)
Definition: DQMStore.cc:108
MonitorElement * findObject(const std::string &dir, const std::string &name, const uint32_t run=0, const uint32_t lumi=0, const uint32_t streamId=0, const uint32_t moduleId=0) const
Definition: DQMStore.cc:1809
uint32_t streamId_
Definition: DQMStore.h:682
uint32_t moduleId_
Definition: DQMStore.h:683
uint32_t run_
Definition: DQMStore.h:681
unsigned verbose_
Definition: DQMStore.h:674
MEMap data_
Definition: DQMStore.h:686
void print_trace(const std::string &dir, const std::string &name)
Definition: DQMStore.cc:552
tuple cout
Definition: gather_cfg.py:121
dbl *** dir
Definition: mlp_gen.cc:35
std::set< std::string > dirs_
Definition: DQMStore.h:687
template<class HISTO , class COLLATE >
MonitorElement * DQMStore::book ( const std::string &  dir,
const std::string &  name,
const char *  context,
int  kind,
HISTO *  h,
COLLATE  collate 
)
private

Definition at line 712 of file DQMStore.cc.

References collateHistograms_, gather_cfg::cout, data_, dir, dirs_, DQMNet::DQM_PROP_HAS_REFERENCE, findObject(), h, initialise(), mergePath(), moduleId_, mergeVDriftHistosByStation::name, getHLTPrescaleColumns::path, print_trace(), qtestspecs_, MonitorElement::Reset(), run_, s_referenceDirName, streamId_, AlCaHLTBitMon_QueryRunRegistry::string, and verbose_.

715 {
716  assert(name.find('/') == std::string::npos);
717  if (verbose_ > 3)
718  print_trace(dir, name);
720  mergePath(path, dir, name);
721 
722  // Put us in charge of h.
723  h->SetDirectory(0);
724 
725  // Check if the request monitor element already exists.
727  if (me)
728  {
729  if (collateHistograms_)
730  {
731  collate(me, h);
732  delete h;
733  return me;
734  }
735  else
736  {
737  if (verbose_ > 1)
738  std::cout << "DQMStore: "
739  << context << ": monitor element '"
740  << path << "' already exists, collating" << std::endl;
741  me->Reset();
742  collate(me, h);
743  delete h;
744  return me;
745  }
746  }
747  else
748  {
749  // Create and initialise core object.
750  assert(dirs_.count(dir));
751  MonitorElement proto(&*dirs_.find(dir), name, run_, streamId_, moduleId_);
752  me = const_cast<MonitorElement &>(*data_.insert(proto).first)
754 
755  // Initialise quality test information.
756  QTestSpecs::iterator qi = qtestspecs_.begin();
757  QTestSpecs::iterator qe = qtestspecs_.end();
758  for ( ; qi != qe; ++qi)
759  {
760  if ( qi->first->match(path) )
761  me->addQReport(qi->second);
762  }
763 
764  // Assign reference if we have one.
765  std::string refdir;
766  refdir.reserve(s_referenceDirName.size() + dir.size() + 2);
767  refdir += s_referenceDirName;
768  refdir += '/';
769  refdir += dir;
770 
771  if (MonitorElement *refme = findObject(refdir, name))
772  {
773  me->data_.flags |= DQMNet::DQM_PROP_HAS_REFERENCE;
774  me->reference_ = refme->object_;
775  }
776 
777  // Return the monitor element.
778  return me;
779  }
780 }
static void mergePath(std::string &path, const std::string &dir, const std::string &name)
Definition: DQMStore.cc:108
MonitorElement * findObject(const std::string &dir, const std::string &name, const uint32_t run=0, const uint32_t lumi=0, const uint32_t streamId=0, const uint32_t moduleId=0) const
Definition: DQMStore.cc:1809
uint32_t streamId_
Definition: DQMStore.h:682
uint32_t moduleId_
Definition: DQMStore.h:683
static const uint32_t DQM_PROP_HAS_REFERENCE
Definition: DQMNet.h:53
QTestSpecs qtestspecs_
Definition: DQMStore.h:691
uint32_t run_
Definition: DQMStore.h:681
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
MonitorElement * initialise(MonitorElement *me, const std::string &path)
unsigned verbose_
Definition: DQMStore.h:674
MEMap data_
Definition: DQMStore.h:686
static const std::string s_referenceDirName
Definition: DQMStore.cc:54
void print_trace(const std::string &dir, const std::string &name)
Definition: DQMStore.cc:552
tuple cout
Definition: gather_cfg.py:121
dbl *** dir
Definition: mlp_gen.cc:35
std::set< std::string > dirs_
Definition: DQMStore.h:687
bool collateHistograms_
Definition: DQMStore.h:678
void Reset(void)
reset ME (ie. contents, errors, etc)
MonitorElement * DQMStore::book1D ( const char *  name,
const char *  title,
int  nchX,
double  lowX,
double  highX 
)

Book 1D histogram.

Definition at line 928 of file DQMStore.cc.

References pwd_.

Referenced by SiStripGainFromData::algoBeginJob(), BeamMonitor::analyze(), TestSuite::analyze(), FourVectorHLT::analyze(), DQMHOAlCaRecoStream::beginJob(), PFTester::beginJob(), L1Scalers::beginJob(), DQMSourceExample::beginJob(), HLTAlCaMonEcalPhiSym::beginJob(), L1TGCTClient::beginJob(), L1EmulatorErrorFlagClient::beginJob(), DQMHcalPhiSymAlCaReco::beginJob(), DQMFEDIntegrityClient::beginJob(), EgammaBasicClusters::beginJob(), BeamConditionsMonitor::beginJob(), L1TDTTFClient::beginJob(), EgammaSuperClusters::beginJob(), HLTMonBitSummary::beginJob(), HLTMonHcalIsoTrack::beginJob(), AlcaBeamMonitor::beginJob(), DQMSourceEleCalib::beginJob(), QcdHighPtDQM::beginJob(), HcalSimHitStudy::beginJob(), TkAlCaRecoMonitor::beginJob(), DQMHcalDiJetsAlCaReco::beginJob(), SimHitsValidationHcal::beginJob(), HLTMonPhotonClient::beginJob(), HLTMonPhotonSource::beginJob(), L1TDEMON::beginJob(), BeamMonitor::beginJob(), ConverterTester::beginJob(), BeamSpotProblemMonitor::beginJob(), DQMClientExample::beginJob(), SimplePhotonAnalyzer::beginJob(), TrackEfficiencyClient::beginJob(), L1TDTTF::beginJob(), APVValidationPlots::beginJob(), StripValidationPlots::beginJob(), HLTAlCaMonPi0::beginJob(), GlobalTest::beginJob(), DQMSourcePi0::beginJob(), TopDiLeptonDQM::beginJob(), FourVectorHLT::beginJob(), HLTMonSimpleBTag::beginJob(), ZDCDigiStudy::beginJob(), SiStripFEDCheckPlugin::beginJob(), HLTMonElectron::beginJob(), HLTMonElectronConsumer::beginJob(), L1TRPCTF::beginJob(), HLTMon::beginJob(), ZdcSimHitStudy::beginJob(), SusyDQM< Mu, Ele, Jet, Met >::beginJob(), L1TCSCTF::beginJob(), DQMHcalIsoTrackAlCaReco::beginJob(), MuonAlignment::beginJob(), TauTagValidation::beginJob(), HLTScalers::beginJob(), ValidationHcalIsoTrackAlCaReco::beginJob(), PiZeroAnalyzer::beginJob(), TrigResRateMon::beginJob(), EgHLTOfflineSource::beginJob(), PhotonAnalyzer::beginJob(), ZToMuMuGammaAnalyzer::beginJob(), L1TGCT::beginJob(), MCEmbeddingValidationAnalyzer::beginJob(), CastorHIMonitor::beginRun(), CastorRecHitMonitor::beginRun(), CastorDataIntegrityMonitor::beginRun(), CastorPSMonitor::beginRun(), RPCChamberQuality::beginRun(), RPCNoisyStripTest::beginRun(), CastorDigiMonitor::beginRun(), HcalCoarsePedestalClient::beginRun(), HcalRecHitClient::beginRun(), HcalSummaryClient::beginRun(), RPCBxTest::beginRun(), RPCMonitorLinkSynchro::beginRun(), RPCMon_SS_Dbx_Global::beginRun(), RPCOccupancyTest::beginRun(), CastorTowerJetMonitor::beginRun(), RPCMonitorRaw::beginRun(), RPCRecHitValid::beginRun(), PrimaryVertexMonitor::beginRun(), AlcaBeamMonitor::beginRun(), RPCDigiValid::beginRun(), HLTMonBitSummary::beginRun(), DTnoiseDBValidation::beginRun(), RPCMultiplicityTest::beginRun(), RPCClusterSizeTest::beginRun(), BxTiming::beginRun(), RPCEfficiencyPerRingLayer::beginRun(), RPCEfficiencyShiftHisto::beginRun(), CastorLEDMonitor::beginRun(), DQMProvInfo::beginRun(), MuonAlignmentSummary::beginRun(), L1TOccupancyClient::beginRun(), HLTJetMETDQMSource::beginRun(), SiPixelTrackResidualSource::beginRun(), L1TRCT::beginRun(), ZDCMonitorModule::beginRun(), L1TCSCTPG::beginRun(), L1TDTTPG::beginRun(), HLTInclusiveVBFSource::beginRun(), BTagHLTOfflineSource::beginRun(), L1TdeRCT::beginRun(), EcalZmassClient::beginRun(), L1TdeCSCTF::beginRun(), JetMETHLTOfflineSource::beginRun(), TriggerValidator::beginRun(), HLTOfflineReproducibility::beginRun(), HLTJetMETValidation::beginRun(), L1TRPCTPG::beginRun(), RPCEfficiencySecond::beginRun(), FourVectorHLTOnline::beginRun(), CastorMonitorModule::beginRun(), V0Validator::beginRun(), Vx3DHLTAnalyzer::beginRun(), TrigResRateMon::beginRun(), FourVectorHLTriggerOffline::beginRun(), FourVectorHLTOffline::beginRun(), HcalDetDiagPedestalMonitor::beginRun(), HcalDetDiagLaserMonitor::beginRun(), L1ValidatorHists::Book(), SiPixelHitEfficiencyModule::book(), SiPixelTrackResidualModule::book(), HLTMonBTagMuSource::book(), HLTMonBTagIPSource::book(), HLTMonBTagClient::book(), TopSingleLepton::MonitorEnsemble::book(), SingleTopTChannelLepton::MonitorEnsemble::book(), TopDiLeptonOffline::MonitorEnsemble::book(), MEtoMEComparitor::book(), HcalDigisClient::book1D(), QcdUeDQM::book1D(), HcalDigisValidation::book1D(), QcdLowPtDQM::book1D(), DQMStore::IBooker::book1D(), book1D(), HcalSubdetDigiMonitor::book1D(), EcalSelectiveReadoutValidation::book1D(), PhotonOfflineClient::book2DHistoVector(), PhotonAnalyzer::book2DHistoVector(), PhotonOfflineClient::book3DHistoVector(), PhotonAnalyzer::book3DHistoVector(), L1TGMT::book_(), DTLocalTriggerTask::bookBarrelHistos(), DTRunConditionVar::bookChamberHistos(), DTLocalTriggerEfficiencyTest::bookChambHistos(), L1TGMTClient::bookClone1D(), L1TGMTClient::bookClone1DVB(), SiStripBaseCondObjDQM::bookCumulMEs(), RPCEfficiencySecond::bookDetUnitSeg(), SiPixelActionExecutor::bookDeviations(), SiPixelOfflineCalibAnalysisBase::bookDQMHistogram1D(), RPCFEDIntegrity::bookFEDMe(), SiPixelDataQuality::bookGlobalQualityFlag(), TrackerOfflineValidationSummary::bookHarvestingHists(), PhotonOfflineClient::bookHisto(), PhotonAnalyzer::bookHisto(), RPCValidHistograms::bookHistograms(), PixelVTXMonitor::bookHistograms(), DQMLumiMonitor::bookHistograms(), ElectronConversionRejectionValidator::bookHistograms(), L1TGT::bookHistograms(), EwkElecTauHistManager::bookHistograms(), L1GtHwValidation::bookHistograms(), L1ExtraDQM::L1ExtraMonElement< CollectionType >::bookHistograms(), EwkMuTauHistManager::bookHistograms(), MCEmbeddingValidationAnalyzer::plotEntryTypeEvtWeight::bookHistograms(), MCEmbeddingValidationAnalyzer::plotEntryTypeMuonRadCorrUncertainty::bookHistograms(), MCEmbeddingValidationAnalyzer::plotEntryTypeL1ETM::bookHistograms(), MCEmbeddingValidationAnalyzer::leptonDistributionT< T >::bookHistograms(), MCEmbeddingValidationAnalyzer::electronDistributionExtra::bookHistograms(), MCEmbeddingValidationAnalyzer::tauDistributionExtra::bookHistograms(), MCEmbeddingValidationAnalyzer::leptonEfficiencyT< T >::bookHistograms(), MCEmbeddingValidationAnalyzer::leptonL1TriggerEfficiencyT1T2< T1, T2 >::bookHistograms(), MCEmbeddingValidationAnalyzer::l1ExtraObjectDistributionT< T >::bookHistograms(), MCEmbeddingValidationAnalyzer::metDistributionType::bookHistograms(), MCEmbeddingValidationAnalyzer::metL1TriggerEfficiencyType::bookHistograms(), DTt0DBValidation::bookHistos(), DTDCSByLumiTask::bookHistos(), PlotMakerL1::bookHistos(), DTNoiseTask::bookHistos(), DTLocalTriggerSynchTask::bookHistos(), PlotMakerReco::bookHistos(), DTtTrigDBValidation::bookHistos(), DTLocalTriggerTask::bookHistos(), DTDataIntegrityTask::bookHistos(), HiggsDQM::bookHistos(), DTLocalTriggerLutTask::bookHistos(), DTSegmentAnalysisTask::bookHistos(), DTLocalTriggerBaseTask::bookHistos(), B2GDQM::bookHistos(), ExoticaDQM::bookHistos(), MuonSimHitsValidAnalyzer::bookHistos_CSC(), MuonSimHitsValidAnalyzer::bookHistos_DT(), MuonSimHitsValidAnalyzer::bookHistos_RPC(), SiPixelDigiSource::bookMEs(), SiPixelRawDataErrorSource::bookMEs(), SiPixelClusterSource::bookMEs(), CSCMonitorModule::bookMonitorObject(), SiPixelInformationExtractor::bookNoisyPixels(), HLTOniaSource::bookOniaTriggerInvariantMassMEs(), HLTOniaSource::bookOniaTriggerMEs(), SiStripBaseCondObjDQM::bookProfileMEs(), RCTMonitor::BookRCT(), recoBSVTagInfoValidationAnalyzer::bookRecoToSim(), recoBSVTagInfoValidationAnalyzer::bookSimToReco(), SiStripBaseCondObjDQM::bookSummaryCumulMEs(), TrigResRateMon::bookTestHisto(), CSCOfflineMonitor::bookTheHists(), BeamMonitorBx::BookTrendHistos(), CalorimetryManager::CalorimetryManager(), CaloTowersValidation::CaloTowersValidation(), HcalTrigPrimMonitor::create_et_histogram(), PFClient_JetRes::createEfficiencyPlots(), PFClient::createEfficiencyPlots(), PFClient::createProjectionPlots(), PFClient_JetRes::createResolutionPlots(), PFClient::createResolutionPlots(), CSCALCTDigiValidation::CSCALCTDigiValidation(), CSCCLCTDigiValidation::CSCCLCTDigiValidation(), CSCComparatorDigiValidation::CSCComparatorDigiValidation(), CSCRecHit2DValidation::CSCRecHit2DValidation(), CSCSegmentValidation::CSCSegmentValidation(), CSCStripDigiValidation::CSCStripDigiValidation(), CSCWireDigiValidation::CSCWireDigiValidation(), Digi2Raw2Digi::Digi2Raw2Digi(), dqmRegisterHistogram(), DTTriggerCheck::DTTriggerCheck(), DQMHcalIsoTrackPostProcessor::endJob(), HarvestingAnalyzer::endJob(), BTagValidator::endJob(), HLTScalersClient::endLuminosityBlock(), HltSusyExoPostProcessor::endRun(), RPCRecHitValidClient::endRun(), DQMDcsInfoClient::endRun(), AlcaBeamMonitorClient::endRun(), TauDQMHistEffProducer::endRun(), GlobalHitsProdHistStripper::endRun(), FourVectorHLTClient::endRun(), extract(), SiStripQualityDQM::fillGrandSummaryMEs(), EgHLTOfflineClient::FillHLTvsOfflineHist(), SiPixelActionExecutor::fillSummary(), BeamMonitor::FitAndFill(), FourVectorHLTOffline::FourVectorHLTOffline(), FourVectorHLTOnline::FourVectorHLTOnline(), FourVectorHLTriggerOffline::FourVectorHLTriggerOffline(), EDMtoMEConverter::getData(), SiPixelActionExecutor::getFEDSummaryME(), SiPixelActionExecutor::getGrandSummaryME(), SiStripSummaryCreator::getSummaryME(), SiPixelActionExecutor::getSummaryME(), GlobalDigisAnalyzer::GlobalDigisAnalyzer(), GlobalDigisHistogrammer::GlobalDigisHistogrammer(), GlobalHitsAnalyzer::GlobalHitsAnalyzer(), GlobalHitsHistogrammer::GlobalHitsHistogrammer(), GlobalHitsTester::GlobalHitsTester(), GlobalRecHitsAnalyzer::GlobalRecHitsAnalyzer(), GlobalRecHitsHistogrammer::GlobalRecHitsHistogrammer(), HcalRecHitsValidation::HcalRecHitsValidation(), HcalSimHitsValidation::HcalSimHitsValidation(), HEff1DHit::HEff1DHit(), HEff2DHit::HEff2DHit(), HEff4DHit::HEff4DHit(), SiPixelMuonHLT::Histo_init(), CommissioningHistograms::histogram(), HLTScalersClient::HLTScalersClient(), HRes1DHit::HRes1DHit(), HRes2DHit::HRes2DHit(), HRes4DHit::HRes4DHit(), EwkElecDQM::init_histograms(), EwkMuDQM::init_histograms(), EwkMuLumiMonitorDQM::init_histograms(), HcalTimingMonitorModule::initialize(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::initializeDQMHistograms(), MuonAnalyzerSBSM::InitializePlots(), LaserDQM::initMonitors(), L1ScalersClient::L1ScalersClient(), L1TScalersSCAL::L1TScalersSCAL(), EgHLTOfflineClient::makeEffMonElem2Leg(), TopElectronHLTOfflineClient::makeEffMonElemFromPassAndAll(), EgHLTOfflineClient::makeEffMonElemFromPassAndAll(), EgHLTOfflineClient::makeEffMonElemFromPassAndFail(), EgHLTOfflineClient::makeEffMonElemFromPassAndFailAndTagTag(), egHLT::MonElemManagerHist< T >::MonElemManagerHist(), MonitorElementsDb::MonitorElementsDb(), MuonDTDigis::MuonDTDigis(), RivetAnalyzer::normalizeTree(), CastorDigiMonitor::perChanHists(), CastorLEDMonitor::perChanHists(), CastorRecHitPerChan::perChanHists(), PerformanceAnalyzer::PerformanceAnalyzer(), recoBSVTagInfoValidationAnalyzer::recoBSVTagInfoValidationAnalyzer(), RPCRecHitValid::RPCRecHitValid(), BTagHLTOfflineClient::runClient_(), JetMETHLTOfflineClient::runClient_(), ConversionPostprocessing::runPostprocessing(), PhotonPostprocessing::runPostprocessing(), HcalNZSMonitor::setup(), HcalTrigPrimMonitor::setup(), HcalRecHitMonitor::setup(), HcalZDCMonitor::setup(), HcalCaloTowerMonitor::setup(), HcalNoiseMonitor::setup(), HcalBeamMonitor::setup(), HcalHotCellMonitor::setup(), HcalDataIntegrityTask::setup(), HcalDeadCellMonitor::setup(), HcalEEUSMonitor::setup(), HcalDetDiagNoiseMonitor::setup(), HcalRawDataMonitor::setup(), HcalBaseDQMonitor::setup(), HcalMonitorModule::setup(), HcalDigiMonitor::setup(), HcalDetDiagTimingMonitor::setup(), HcalDetDiagLEDMonitor::setup(), HcalBaseMonitor::setupDepthHists1D(), HLXMonitor::SetupHists(), FourVectorHLTOnline::setupHltMatrix(), TrigResRateMon::setupHltMatrix(), FourVectorHLTOffline::setupHltMatrix(), TopElectronHLTOfflineSource::EleMEs::setupMESet(), TrigResRateMon::setupStreamMatrix(), HcalDigiMonitor::setupSubdetHists(), and TrigResRateMon::TrigResRateMon().

930 {
931  return book1D(pwd_, name, new TH1F(name, title, nchX, lowX, highX));
932 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:928
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::book1D ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX 
)

Book 1D histogram.

Definition at line 936 of file DQMStore.cc.

References book1D(), and pwd_.

938 {
939  return book1D(pwd_, name, new TH1F(name.c_str(), title.c_str(), nchX, lowX, highX));
940 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:928
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::book1D ( const char *  name,
const char *  title,
int  nchX,
float *  xbinsize 
)

Book 1D variable bin histogram.

Definition at line 976 of file DQMStore.cc.

References book1D(), and pwd_.

978 {
979  return book1D(pwd_, name, new TH1F(name, title, nchX, xbinsize));
980 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:928
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::book1D ( const std::string &  name,
const std::string &  title,
int  nchX,
float *  xbinsize 
)

Book 1D variable bin histogram.

Definition at line 984 of file DQMStore.cc.

References book1D(), and pwd_.

986 {
987  return book1D(pwd_, name, new TH1F(name.c_str(), title.c_str(), nchX, xbinsize));
988 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:928
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::book1D ( const char *  name,
TH1F *  h 
)

Book 1D histogram by cloning an existing histogram.

Definition at line 992 of file DQMStore.cc.

References book1D(), and pwd_.

993 {
994  return book1D(pwd_, name, static_cast<TH1F *>(source->Clone(name)));
995 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:928
std::string pwd_
Definition: DQMStore.h:685
static std::string const source
Definition: EdmProvDump.cc:43
MonitorElement * DQMStore::book1D ( const std::string &  name,
TH1F *  h 
)

Book 1D histogram by cloning an existing histogram.

Definition at line 999 of file DQMStore.cc.

References book1D(), and pwd_.

1000 {
1001  return book1D(pwd_, name, static_cast<TH1F *>(source->Clone(name.c_str())));
1002 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:928
std::string pwd_
Definition: DQMStore.h:685
static std::string const source
Definition: EdmProvDump.cc:43
MonitorElement * DQMStore::book1D ( const std::string &  dir,
const std::string &  name,
TH1F *  h 
)
private

Book 1D histogram based on TH1F.

Definition at line 907 of file DQMStore.cc.

References book(), collate1D(), and MonitorElement::DQM_KIND_TH1F.

908 {
909  return book(dir, name, "book1D", MonitorElement::DQM_KIND_TH1F, h, collate1D);
910 }
static void collate1D(MonitorElement *me, TH1F *h)
Definition: DQMStore.cc:1492
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:783
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
dbl *** dir
Definition: mlp_gen.cc:35
MonitorElement * DQMStore::book1DD ( const char *  name,
const char *  title,
int  nchX,
double  lowX,
double  highX 
)

Book 1S histogram.

Definition at line 960 of file DQMStore.cc.

References pwd_.

Referenced by MEtoMEComparitor::book(), DQMStore::IBooker::book1DD(), book1DD(), extract(), and EDMtoMEConverter::getData().

962 {
963  return book1DD(pwd_, name, new TH1D(name, title, nchX, lowX, highX));
964 }
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:960
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::book1DD ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX 
)

Book 1S histogram.

Definition at line 968 of file DQMStore.cc.

References book1DD(), and pwd_.

970 {
971  return book1DD(pwd_, name, new TH1D(name.c_str(), title.c_str(), nchX, lowX, highX));
972 }
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:960
std::string pwd_
Definition: DQMStore.h:685
MonitorElement* DQMStore::book1DD ( const char *  name,
const char *  title,
int  nchX,
float *  xbinsize 
)
MonitorElement* DQMStore::book1DD ( const std::string &  name,
const std::string &  title,
int  nchX,
float *  xbinsize 
)
MonitorElement * DQMStore::book1DD ( const char *  name,
TH1D *  h 
)

Book 1D double histogram by cloning an existing histogram.

Definition at line 1020 of file DQMStore.cc.

References book1DD(), and pwd_.

1021 {
1022  return book1DD(pwd_, name, static_cast<TH1D *>(source->Clone(name)));
1023 }
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:960
std::string pwd_
Definition: DQMStore.h:685
static std::string const source
Definition: EdmProvDump.cc:43
MonitorElement * DQMStore::book1DD ( const std::string &  name,
TH1D *  h 
)

Book 1D double histogram by cloning an existing histogram.

Definition at line 1027 of file DQMStore.cc.

References book1DD(), and pwd_.

1028 {
1029  return book1DD(pwd_, name, static_cast<TH1D *>(source->Clone(name.c_str())));
1030 }
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:960
std::string pwd_
Definition: DQMStore.h:685
static std::string const source
Definition: EdmProvDump.cc:43
MonitorElement * DQMStore::book1DD ( const std::string &  dir,
const std::string &  name,
TH1D *  h 
)
private

Book 1D histogram based on TH1D.

Definition at line 921 of file DQMStore.cc.

References book(), collate1DD(), and MonitorElement::DQM_KIND_TH1D.

922 {
923  return book(dir, name, "book1DD", MonitorElement::DQM_KIND_TH1D, h, collate1DD);
924 }
static void collate1DD(MonitorElement *me, TH1D *h)
Definition: DQMStore.cc:1506
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:783
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
dbl *** dir
Definition: mlp_gen.cc:35
MonitorElement * DQMStore::book1S ( const char *  name,
const char *  title,
int  nchX,
double  lowX,
double  highX 
)

Book 1S histogram.

Definition at line 944 of file DQMStore.cc.

References pwd_.

Referenced by DQMSourceExample::beginJob(), MEtoMEComparitor::book(), DQMStore::IBooker::book1S(), book1S(), dqmRegisterHistogram(), extract(), and EDMtoMEConverter::getData().

946 {
947  return book1S(pwd_, name, new TH1S(name, title, nchX, lowX, highX));
948 }
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * book1S(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:944
MonitorElement * DQMStore::book1S ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX 
)

Book 1S histogram.

Definition at line 952 of file DQMStore.cc.

References book1S(), and pwd_.

954 {
955  return book1S(pwd_, name, new TH1S(name.c_str(), title.c_str(), nchX, lowX, highX));
956 }
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * book1S(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:944
MonitorElement* DQMStore::book1S ( const char *  name,
const char *  title,
int  nchX,
float *  xbinsize 
)
MonitorElement* DQMStore::book1S ( const std::string &  name,
const std::string &  title,
int  nchX,
float *  xbinsize 
)
MonitorElement * DQMStore::book1S ( const char *  name,
TH1S *  h 
)

Book 1S histogram by cloning an existing histogram.

Definition at line 1006 of file DQMStore.cc.

References book1S(), and pwd_.

1007 {
1008  return book1S(pwd_, name, static_cast<TH1S *>(source->Clone(name)));
1009 }
std::string pwd_
Definition: DQMStore.h:685
static std::string const source
Definition: EdmProvDump.cc:43
MonitorElement * book1S(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:944
MonitorElement * DQMStore::book1S ( const std::string &  name,
TH1S *  h 
)

Book 1S histogram by cloning an existing histogram.

Definition at line 1013 of file DQMStore.cc.

References book1S(), and pwd_.

1014 {
1015  return book1S(pwd_, name, static_cast<TH1S *>(source->Clone(name.c_str())));
1016 }
std::string pwd_
Definition: DQMStore.h:685
static std::string const source
Definition: EdmProvDump.cc:43
MonitorElement * book1S(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:944
MonitorElement * DQMStore::book1S ( const std::string &  dir,
const std::string &  name,
TH1S *  h 
)
private

Book 1D histogram based on TH1S.

Definition at line 914 of file DQMStore.cc.

References book(), collate1S(), and MonitorElement::DQM_KIND_TH1S.

915 {
916  return book(dir, name, "book1S", MonitorElement::DQM_KIND_TH1S, h, collate1S);
917 }
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:783
static void collate1S(MonitorElement *me, TH1S *h)
Definition: DQMStore.cc:1499
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
dbl *** dir
Definition: mlp_gen.cc:35
MonitorElement * DQMStore::book2D ( const char *  name,
const char *  title,
int  nchX,
double  lowX,
double  highX,
int  nchY,
double  lowY,
double  highY 
)

Book 2D histogram.

Definition at line 1056 of file DQMStore.cc.

References pwd_.

Referenced by SiStripGainFromData::algoBeginJob(), SiStripGainFromCalibTree::algoBeginRun(), HcalSummaryClient::analyze(), RPCMon_SS_Dbx_Global::analyze(), FourVectorHLT::analyze(), L1Scalers::beginJob(), DQMSourceExample::beginJob(), RPCDaqInfo::beginJob(), DQMHcalPhiSymAlCaReco::beginJob(), DQMFEDIntegrityClient::beginJob(), DQMOfflineHLTEventInfoClient::beginJob(), EgammaBasicClusters::beginJob(), L1TDTTFClient::beginJob(), L1TDTTPGClient::beginJob(), L1TRPCTFClient::beginJob(), HLTMonBitSummary::beginJob(), DTDataIntegrityTest::beginJob(), DQMSourceEleCalib::beginJob(), HLTMonHcalIsoTrack::beginJob(), EgammaSuperClusters::beginJob(), TkAlCaRecoMonitor::beginJob(), HLTEventInfoClient::beginJob(), QcdHighPtDQM::beginJob(), DTBlockedROChannelsTest::beginJob(), HLTMonPhotonSource::beginJob(), L1TDEMON::beginJob(), SimHitsValidationHcal::beginJob(), BeamMonitor::beginJob(), ConverterTester::beginJob(), L1TDTTF::beginJob(), LaserAlignmentT0ProducerDQM::beginJob(), APVValidationPlots::beginJob(), StripValidationPlots::beginJob(), HcalDataCertification::beginJob(), HcalDCSInfo::beginJob(), FourVectorHLT::beginJob(), HLTMonSimpleBTag::beginJob(), TopDiLeptonDQM::beginJob(), HcalDAQInfo::beginJob(), HLTMonElectron::beginJob(), L1TRPCTF::beginJob(), ZDCDigiStudy::beginJob(), HLTMon::beginJob(), ZdcSimHitStudy::beginJob(), SusyDQM< Mu, Ele, Jet, Met >::beginJob(), L1TCSCTF::beginJob(), DQMHcalIsoTrackAlCaReco::beginJob(), MuonAlignment::beginJob(), ValidationHcalIsoTrackAlCaReco::beginJob(), ZToMuMuGammaAnalyzer::beginJob(), L1TGCT::beginJob(), MCEmbeddingValidationAnalyzer::beginJob(), CastorRecHitMonitor::beginRun(), CastorPSMonitor::beginRun(), CastorDataIntegrityMonitor::beginRun(), RPCChamberQuality::beginRun(), RPCNoisyStripTest::beginRun(), HcalBeamClient::beginRun(), HcalCoarsePedestalClient::beginRun(), HcalDeadCellClient::beginRun(), HcalDetDiagLEDClient::beginRun(), HcalDetDiagNoiseMonitorClient::beginRun(), HcalDetDiagPedestalClient::beginRun(), HcalDetDiagTimingClient::beginRun(), HcalDigiClient::beginRun(), HcalHotCellClient::beginRun(), HcalNZSClient::beginRun(), HcalTrigPrimClient::beginRun(), HcalRecHitClient::beginRun(), HcalSummaryClient::beginRun(), RPCDataCertification::beginRun(), RPCDCSSummary::beginRun(), RPCMonitorLinkSynchro::beginRun(), RPCOccupancyTest::beginRun(), HcalRawDataClient::beginRun(), RPCEventSummary::beginRun(), RPCMonitorRaw::beginRun(), DTOfflineSummaryClients::beginRun(), PrimaryVertexMonitor::beginRun(), RPCDeadChannelTest::beginRun(), CastorChannelQualityMonitor::beginRun(), RPCDigiValid::beginRun(), RPCMultiplicityTest::beginRun(), RPCClusterSizeTest::beginRun(), ZDCMonitorClient::beginRun(), RPCEfficiencyShiftHisto::beginRun(), DTSummaryClients::beginRun(), DQMProvInfo::beginRun(), MuonAlignmentSummary::beginRun(), L1TOccupancyClient::beginRun(), HLTJetMETDQMSource::beginRun(), SiPixelTrackResidualSource::beginRun(), L1TRCT::beginRun(), HLTInclusiveVBFSource::beginRun(), L1TDTTPG::beginRun(), BTagHLTOfflineSource::beginRun(), SiPixelClusterSource::beginRun(), L1TdeRCT::beginRun(), L1TdeCSCTF::beginRun(), JetMETHLTOfflineSource::beginRun(), HLTOfflineReproducibility::beginRun(), RPCEfficiencySecond::beginRun(), L1TCompare::beginRun(), FourVectorHLTOnline::beginRun(), CastorMonitorModule::beginRun(), Vx3DHLTAnalyzer::beginRun(), FourVectorHLTriggerOffline::beginRun(), FourVectorHLTOffline::beginRun(), HcalDetDiagPedestalMonitor::beginRun(), HcalDetDiagLaserMonitor::beginRun(), HLTMonBTagIPSource::book(), HLTMonBTagMuSource::book(), HLTMonBTagClient::book(), TopSingleLepton::MonitorEnsemble::book(), SingleTopTChannelLepton::MonitorEnsemble::book(), TopDiLeptonOffline::MonitorEnsemble::book(), QcdUeDQM::book2D(), HcalDigisClient::book2D(), HcalDigisValidation::book2D(), QcdLowPtDQM::book2D(), DQMStore::IBooker::book2D(), HcalSubdetDigiMonitor::book2D(), book2D(), EcalSelectiveReadoutValidation::book2D(), PhotonOfflineClient::book2DHistoVector(), PhotonAnalyzer::book2DHistoVector(), PhotonOfflineClient::book3DHistoVector(), PhotonAnalyzer::book3DHistoVector(), L1TGMT::book_(), DTTriggerEfficiencyTask::bookChamberHistos(), DTLocalTriggerEfficiencyTest::bookChambHistos(), L1TGMTClient::bookClone2D(), SiPixelErrorsDigisToCalibDigis::bookDQMHistogram2D(), SiPixelOfflineCalibAnalysisBase::bookDQMHistogram2D(), SiPixelErrorsDigisToCalibDigis::bookDQMHistoPlaquetteSummary2D(), SiPixelOfflineCalibAnalysisBase::bookDQMHistoPlaquetteSummary2D(), SiPixelActionExecutor::bookEfficiency(), SiPixelDataQuality::bookGlobalQualityFlag(), TrackingQualityChecker::bookGlobalStatus(), DTnoiseDBValidation::bookHisto(), RPCValidHistograms::bookHistograms(), L1TGT::bookHistograms(), L1TEventInfoClient::bookHistograms(), MCEmbeddingValidationAnalyzer::plotEntryTypeL1ETM::bookHistograms(), DTt0DBValidation::bookHistos(), DTNoiseTask::bookHistos(), DTLocalTriggerTask::bookHistos(), DTtTrigDBValidation::bookHistos(), DTDataIntegrityTask::bookHistos(), DTLocalTriggerLutTask::bookHistos(), DTSegmentAnalysisTask::bookHistos(), DTLocalTriggerBaseTask::bookHistos(), MuonSimHitsValidAnalyzer::bookHistos_DT(), MuonSimHitsValidAnalyzer::bookHistos_RPC(), SiPixelDigiSource::bookMEs(), CSCMonitorModule::bookMonitorObject(), SiPixelActionExecutor::bookOccupancyPlots(), HLTOniaSource::bookOniaTriggerMEs(), RCTMonitor::BookRCT(), SiStripCertificationInfo::bookSiStripCertificationMEs(), SiStripQualityChecker::bookStatus(), BeamMonitorBx::BookTables(), CSCOfflineMonitor::bookTheHists(), SiPixelActionExecutor::bookTrackerMaps(), TrackingCertificationInfo::bookTrackingCertificationMEs(), DTTriggerEfficiencyTask::bookWheelHistos(), CalorimetryManager::CalorimetryManager(), CaloTowersValidation::CaloTowersValidation(), HcalTrigPrimMonitor::create_errorflag(), HcalTrigPrimMonitor::create_fg_correlation(), HcalTrigPrimMonitor::create_map(), HcalTrigPrimMonitor::create_summary(), HcalTrigPrimMonitor::create_tp_correlation(), CastorLEDMonitor::createFEDmap(), QcdUeDQM::createHistos(), QcdLowPtDQM::createHistos(), CSCRecHit2DValidation::CSCRecHit2DValidation(), dqmRegisterHistogram(), BTagValidator::endJob(), RPCDcsInfoClient::endRun(), DQMDcsInfoClient::endRun(), PhotonDataCertification::endRun(), FourVectorHLTClient::endRun(), HLTOverallSummary::endRun(), extract(), SiPixelActionExecutor::fillFEDErrorSummary(), SiStripCablingDQM::getActiveDetIds(), EDMtoMEConverter::getData(), EgHLTOfflineSummaryClient::getEgHLTSumHist_(), GlobalHitsTester::GlobalHitsTester(), HcalRecHitsValidation::HcalRecHitsValidation(), HcalTimingMonitorModule::HcalTimingMonitorModule(), SiPixelMuonHLT::Histo_init(), CommissioningHistograms::histogram(), HRes1DHit::HRes1DHit(), HRes2DHit::HRes2DHit(), HRes4DHit::HRes4DHit(), EwkElecDQM::init_histograms(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::initializeDQMHistograms(), L1ScalersClient::L1ScalersClient(), L1TScalersSCAL::L1TScalersSCAL(), PlotCombiner::makePlot(), egHLT::MonElemManagerHist< T >::MonElemManagerHist(), MonitorElementsDb::MonitorElementsDb(), MuonDTDigis::MuonDTDigis(), RPCRecHitValid::RPCRecHitValid(), BTagHLTOfflineClient::runClient_(), JetMETHLTOfflineClient::runClient_(), HcalRecHitMonitor::setup(), HcalZDCMonitor::setup(), HcalCaloTowerMonitor::setup(), HcalNoiseMonitor::setup(), EtaPhiHists::setup(), HcalBeamMonitor::setup(), HcalDeadCellMonitor::setup(), HcalDetDiagNoiseMonitor::setup(), HcalEEUSMonitor::setup(), HcalRawDataMonitor::setup(), HcalBaseDQMonitor::setup(), HcalDigiMonitor::setup(), HcalDetDiagTimingMonitor::setup(), HcalDetDiagLEDMonitor::setup(), HcalBaseMonitor::setupDepthHists2D(), HcalBaseMonitor::SetupEtaPhiHists(), HLXMonitor::SetupEventInfo(), HLXMonitor::SetupHists(), FourVectorHLTOnline::setupHltBxPlots(), TrigResRateMon::setupHltBxPlots(), FourVectorHLTOffline::setupHltBxPlots(), FourVectorHLTOnline::setupHltLsPlots(), TrigResRateMon::setupHltLsPlots(), FourVectorHLTOffline::setupHltLsPlots(), FourVectorHLTOnline::setupHltMatrix(), FourVectorHLTOffline::setupHltMatrix(), and TrigResRateMon::setupStreamMatrix().

1059 {
1060  return book2D(pwd_, name, new TH2F(name, title,
1061  nchX, lowX, highX,
1062  nchY, lowY, highY));
1063 }
std::string pwd_
Definition: DQMStore.h:685
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:1056
MonitorElement * DQMStore::book2D ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX,
int  nchY,
double  lowY,
double  highY 
)

Book 2D histogram.

Definition at line 1067 of file DQMStore.cc.

References book2D(), and pwd_.

1070 {
1071  return book2D(pwd_, name, new TH2F(name.c_str(), title.c_str(),
1072  nchX, lowX, highX,
1073  nchY, lowY, highY));
1074 }
std::string pwd_
Definition: DQMStore.h:685
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:1056
MonitorElement * DQMStore::book2D ( const char *  name,
const char *  title,
int  nchX,
float *  xbinsize,
int  nchY,
float *  ybinsize 
)

Book 2D variable bin histogram.

Definition at line 1122 of file DQMStore.cc.

References book2D(), and pwd_.

1124 {
1125  return book2D(pwd_, name, new TH2F(name, title,
1126  nchX, xbinsize, nchY, ybinsize));
1127 }
std::string pwd_
Definition: DQMStore.h:685
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:1056
MonitorElement * DQMStore::book2D ( const std::string &  name,
const std::string &  title,
int  nchX,
float *  xbinsize,
int  nchY,
float *  ybinsize 
)

Book 2D variable bin histogram.

Definition at line 1131 of file DQMStore.cc.

References book2D(), and pwd_.

1133 {
1134  return book2D(pwd_, name, new TH2F(name.c_str(), title.c_str(),
1135  nchX, xbinsize, nchY, ybinsize));
1136 }
std::string pwd_
Definition: DQMStore.h:685
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:1056
MonitorElement * DQMStore::book2D ( const char *  name,
TH2F *  h 
)

Book 2D histogram by cloning an existing histogram.

Definition at line 1140 of file DQMStore.cc.

References book2D(), and pwd_.

1141 {
1142  return book2D(pwd_, name, static_cast<TH2F *>(source->Clone(name)));
1143 }
std::string pwd_
Definition: DQMStore.h:685
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:1056
static std::string const source
Definition: EdmProvDump.cc:43
MonitorElement * DQMStore::book2D ( const std::string &  name,
TH2F *  h 
)

Book 2D histogram by cloning an existing histogram.

Definition at line 1147 of file DQMStore.cc.

References book2D(), and pwd_.

1148 {
1149  return book2D(pwd_, name, static_cast<TH2F *>(source->Clone(name.c_str())));
1150 }
std::string pwd_
Definition: DQMStore.h:685
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:1056
static std::string const source
Definition: EdmProvDump.cc:43
MonitorElement * DQMStore::book2D ( const std::string &  dir,
const std::string &  name,
TH2F *  h 
)
private

Book 2D histogram based on TH2F.

Definition at line 1035 of file DQMStore.cc.

References book(), collate2D(), and MonitorElement::DQM_KIND_TH2F.

1036 {
1037  return book(dir, name, "book2D", MonitorElement::DQM_KIND_TH2F, h, collate2D);
1038 }
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:783
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
static void collate2D(MonitorElement *me, TH2F *h)
Definition: DQMStore.cc:1513
dbl *** dir
Definition: mlp_gen.cc:35
MonitorElement * DQMStore::book2DD ( const char *  name,
const char *  title,
int  nchX,
double  lowX,
double  highX,
int  nchY,
double  lowY,
double  highY 
)

Book 2D double histogram.

Definition at line 1100 of file DQMStore.cc.

References pwd_.

Referenced by AcceptanceHistoProducer::beginJob(), CastorDigiMonitor::beginRun(), DQMStore::IBooker::book2DD(), book2DD(), extract(), and EDMtoMEConverter::getData().

1103 {
1104  return book2DD(pwd_, name, new TH2D(name, title,
1105  nchX, lowX, highX,
1106  nchY, lowY, highY));
1107 }
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:1100
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::book2DD ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX,
int  nchY,
double  lowY,
double  highY 
)

Book 2S histogram.

Definition at line 1111 of file DQMStore.cc.

References book2DD(), and pwd_.

1114 {
1115  return book2DD(pwd_, name, new TH2D(name.c_str(), title.c_str(),
1116  nchX, lowX, highX,
1117  nchY, lowY, highY));
1118 }
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:1100
std::string pwd_
Definition: DQMStore.h:685
MonitorElement* DQMStore::book2DD ( const char *  name,
const char *  title,
int  nchX,
float *  xbinsize,
int  nchY,
float *  ybinsize 
)
MonitorElement* DQMStore::book2DD ( const std::string &  name,
const std::string &  title,
int  nchX,
float *  xbinsize,
int  nchY,
float *  ybinsize 
)
MonitorElement * DQMStore::book2DD ( const char *  name,
TH2D *  h 
)

Book 2DS histogram by cloning an existing histogram.

Definition at line 1168 of file DQMStore.cc.

References book2DD(), and pwd_.

1169 {
1170  return book2DD(pwd_, name, static_cast<TH2D *>(source->Clone(name)));
1171 }
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:1100
std::string pwd_
Definition: DQMStore.h:685
static std::string const source
Definition: EdmProvDump.cc:43
MonitorElement * DQMStore::book2DD ( const std::string &  name,
TH2D *  h 
)

Book 2DS histogram by cloning an existing histogram.

Definition at line 1175 of file DQMStore.cc.

References book2DD(), and pwd_.

1176 {
1177  return book2DD(pwd_, name, static_cast<TH2D *>(source->Clone(name.c_str())));
1178 }
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:1100
std::string pwd_
Definition: DQMStore.h:685
static std::string const source
Definition: EdmProvDump.cc:43
MonitorElement * DQMStore::book2DD ( const std::string &  dir,
const std::string &  name,
TH2D *  h 
)
private

Book 2D histogram based on TH2D.

Definition at line 1049 of file DQMStore.cc.

References book(), collate2DD(), and MonitorElement::DQM_KIND_TH2D.

1050 {
1051  return book(dir, name, "book2DD", MonitorElement::DQM_KIND_TH2D, h, collate2DD);
1052 }
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:783
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
static void collate2DD(MonitorElement *me, TH2D *h)
Definition: DQMStore.cc:1527
dbl *** dir
Definition: mlp_gen.cc:35
MonitorElement * DQMStore::book2S ( const char *  name,
const char *  title,
int  nchX,
double  lowX,
double  highX,
int  nchY,
double  lowY,
double  highY 
)

Book 2S histogram.

Definition at line 1078 of file DQMStore.cc.

References pwd_.

Referenced by DQMStore::IBooker::book2S(), book2S(), dqmRegisterHistogram(), extract(), and EDMtoMEConverter::getData().

1081 {
1082  return book2S(pwd_, name, new TH2S(name, title,
1083  nchX, lowX, highX,
1084  nchY, lowY, highY));
1085 }
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:1078
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::book2S ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX,
int  nchY,
double  lowY,
double  highY 
)

Book 2S histogram.

Definition at line 1089 of file DQMStore.cc.

References book2S(), and pwd_.

1092 {
1093  return book2S(pwd_, name, new TH2S(name.c_str(), title.c_str(),
1094  nchX, lowX, highX,
1095  nchY, lowY, highY));
1096 }
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:1078
std::string pwd_
Definition: DQMStore.h:685
MonitorElement* DQMStore::book2S ( const char *  name,
const char *  title,
int  nchX,
float *  xbinsize,
int  nchY,
float *  ybinsize 
)
MonitorElement* DQMStore::book2S ( const std::string &  name,
const std::string &  title,
int  nchX,
float *  xbinsize,
int  nchY,
float *  ybinsize 
)
MonitorElement * DQMStore::book2S ( const char *  name,
TH2S *  h 
)

Book 2DS histogram by cloning an existing histogram.

Definition at line 1154 of file DQMStore.cc.

References book2S(), and pwd_.

1155 {
1156  return book2S(pwd_, name, static_cast<TH2S *>(source->Clone(name)));
1157 }
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:1078
std::string pwd_
Definition: DQMStore.h:685
static std::string const source
Definition: EdmProvDump.cc:43
MonitorElement * DQMStore::book2S ( const std::string &  name,
TH2S *  h 
)

Book 2DS histogram by cloning an existing histogram.

Definition at line 1161 of file DQMStore.cc.

References book2S(), and pwd_.

1162 {
1163  return book2S(pwd_, name, static_cast<TH2S *>(source->Clone(name.c_str())));
1164 }
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:1078
std::string pwd_
Definition: DQMStore.h:685
static std::string const source
Definition: EdmProvDump.cc:43
MonitorElement * DQMStore::book2S ( const std::string &  dir,
const std::string &  name,
TH2S *  h 
)
private

Book 2D histogram based on TH2S.

Definition at line 1042 of file DQMStore.cc.

References book(), collate2S(), and MonitorElement::DQM_KIND_TH2S.

1043 {
1044  return book(dir, name, "book2S", MonitorElement::DQM_KIND_TH2S, h, collate2S);
1045 }
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:783
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
static void collate2S(MonitorElement *me, TH2S *h)
Definition: DQMStore.cc:1520
dbl *** dir
Definition: mlp_gen.cc:35
MonitorElement * DQMStore::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 at line 1190 of file DQMStore.cc.

References pwd_.

Referenced by ConverterTester::beginJob(), DQMStore::IBooker::book3D(), book3D(), CSCMonitorModule::bookMonitorObject(), dqmRegisterHistogram(), BTagValidator::endJob(), extract(), EDMtoMEConverter::getData(), and GlobalHitsTester::GlobalHitsTester().

1194 {
1195  return book3D(pwd_, name, new TH3F(name, title,
1196  nchX, lowX, highX,
1197  nchY, lowY, highY,
1198  nchZ, lowZ, highZ));
1199 }
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:1190
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::book3D ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX,
int  nchY,
double  lowY,
double  highY,
int  nchZ,
double  lowZ,
double  highZ 
)

Book 3D histogram.

Definition at line 1203 of file DQMStore.cc.

References book3D(), and pwd_.

1207 {
1208  return book3D(pwd_, name, new TH3F(name.c_str(), title.c_str(),
1209  nchX, lowX, highX,
1210  nchY, lowY, highY,
1211  nchZ, lowZ, highZ));
1212 }
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:1190
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::book3D ( const char *  name,
TH3F *  h 
)

Book 3D histogram by cloning an existing histogram.

Definition at line 1216 of file DQMStore.cc.

References book3D(), and pwd_.

1217 {
1218  return book3D(pwd_, name, static_cast<TH3F *>(source->Clone(name)));
1219 }
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:1190
std::string pwd_
Definition: DQMStore.h:685
static std::string const source
Definition: EdmProvDump.cc:43
MonitorElement * DQMStore::book3D ( const std::string &  name,
TH3F *  h 
)

Book 3D histogram by cloning an existing histogram.

Definition at line 1223 of file DQMStore.cc.

References book3D(), and pwd_.

1224 {
1225  return book3D(pwd_, name, static_cast<TH3F *>(source->Clone(name.c_str())));
1226 }
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:1190
std::string pwd_
Definition: DQMStore.h:685
static std::string const source
Definition: EdmProvDump.cc:43
MonitorElement * DQMStore::book3D ( const std::string &  dir,
const std::string &  name,
TH3F *  h 
)
private

Book 3D histogram based on TH3F.

Definition at line 1183 of file DQMStore.cc.

References book(), collate3D(), and MonitorElement::DQM_KIND_TH3F.

1184 {
1185  return book(dir, name, "book3D", MonitorElement::DQM_KIND_TH3F, h, collate3D);
1186 }
static void collate3D(MonitorElement *me, TH3F *h)
Definition: DQMStore.cc:1534
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:783
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
dbl *** dir
Definition: mlp_gen.cc:35
MonitorElement * DQMStore::bookFloat ( const char *  name)

Book float.

Definition at line 865 of file DQMStore.cc.

References pwd_.

Referenced by DQMSourceExample::beginJob(), RPCDaqInfo::beginJob(), SiPixelCertification::beginJob(), SiPixelDcsInfo::beginJob(), SiPixelDaqInfo::beginJob(), DQMFEDIntegrityClient::beginJob(), DQMOfflineHLTEventInfoClient::beginJob(), HLTEventInfoClient::beginJob(), BeamMonitor::beginJob(), ConverterTester::beginJob(), HcalDataCertification::beginJob(), HcalDCSInfo::beginJob(), DQMDaqInfo::beginJob(), HcalDAQInfo::beginJob(), HLTMonElectronConsumer::beginJob(), CastorPSMonitor::beginRun(), HcalSummaryClient::beginRun(), RPCDataCertification::beginRun(), RPCDCSSummary::beginRun(), RPCEventSummary::beginRun(), DTOfflineSummaryClients::beginRun(), CastorChannelQualityMonitor::beginRun(), ZDCMonitorClient::beginRun(), DTSummaryClients::beginRun(), DQMProvInfo::beginRun(), DTSegmentAnalysisTask::beginRun(), DTNoiseTask::beginRun(), HLTInclusiveVBFSource::beginRun(), DTLocalTriggerBaseTask::beginRun(), BTagHLTOfflineSource::beginRun(), JetMETHLTOfflineSource::beginRun(), Vx3DHLTAnalyzer::beginRun(), DQMStore::IBooker::bookFloat(), bookFloat(), EcalSelectiveReadoutValidation::bookFloat(), SiPixelDataQuality::bookGlobalQualityFlag(), TrackingQualityChecker::bookGlobalStatus(), L1TEventInfoClient::bookHistograms(), DTLocalTriggerSynchTask::bookHistos(), DTDataIntegrityTask::bookHistos(), DTScalerInfoTask::bookHistos(), TrackingQualityChecker::bookLSStatus(), CSCOfflineClient::bookMonitorObject(), CSCMonitorModule::bookMonitorObject(), SiStripCertificationInfo::bookSiStripCertificationMEs(), SiStripQualityChecker::bookStatus(), SiStripDaqInfo::bookStatus(), SiStripDcsInfo::bookStatus(), TrackingCertificationInfo::bookTrackingCertificationMEs(), TrackingCertificationInfo::bookTrackingCertificationMEsAtLumi(), QcdLowPtDQM::createHistos(), DQMDcsInfoClient::endRun(), HLTTauCertifier::endRun(), PhotonDataCertification::endRun(), HLTOverallSummary::endRun(), extract(), EDMtoMEConverter::getData(), GlobalHitsTester::GlobalHitsTester(), HcalTimingMonitorModule::HcalTimingMonitorModule(), EgHLTOfflineSummaryClient::runClient_(), DQMFileSaver::saveForOffline(), HcalCoarsePedestalMonitor::setup(), HcalRecHitMonitor::setup(), HcalHotCellMonitor::setup(), HcalDeadCellMonitor::setup(), HLXMonitor::SetupEventInfo(), PFJetDQMAnalyzer::storeBadEvents(), PFMETDQMAnalyzer::storeBadEvents(), PFCandidateDQMAnalyzer::storeBadEvents(), and SubTaskSummaryStatus::WriteThreshold().

866 { return bookFloat(pwd_, name); }
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:865
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::bookFloat ( const std::string &  name)

Book float.

Definition at line 870 of file DQMStore.cc.

References bookFloat(), and pwd_.

871 {
872  return bookFloat(pwd_, name);
873 }
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:865
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::bookFloat ( const std::string &  dir,
const std::string &  name 
)
private

Book float.

Definition at line 848 of file DQMStore.cc.

References book(), collateHistograms_, MonitorElement::DQM_KIND_REAL, MonitorElement::Fill(), findObject(), MonitorElement::initialise(), moduleId_, run_, and streamId_.

849 {
850  if (collateHistograms_)
851  {
853  {
854  me->Fill(0.);
855  return me;
856  }
857  }
858 
859  return book(dir, name, "bookFloat")
861 }
MonitorElement * initialise(Kind kind)
MonitorElement * findObject(const std::string &dir, const std::string &name, const uint32_t run=0, const uint32_t lumi=0, const uint32_t streamId=0, const uint32_t moduleId=0) const
Definition: DQMStore.cc:1809
uint32_t streamId_
Definition: DQMStore.h:682
uint32_t moduleId_
Definition: DQMStore.h:683
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:783
uint32_t run_
Definition: DQMStore.h:681
dbl *** dir
Definition: mlp_gen.cc:35
bool collateHistograms_
Definition: DQMStore.h:678
MonitorElement * DQMStore::bookInt ( const char *  name)

Book int.

Definition at line 835 of file DQMStore.cc.

References pwd_.

Referenced by SiStripDcsInfo::addBadModules(), L1Scalers::beginJob(), DQMSourceExample::beginJob(), ConverterTester::beginJob(), HLTScalers::beginJob(), EgHLTOfflineSource::beginJob(), PhotonAnalyzer::beginJob(), CastorHIMonitor::beginRun(), CastorRecHitMonitor::beginRun(), CastorPSMonitor::beginRun(), CastorDataIntegrityMonitor::beginRun(), CastorDigiMonitor::beginRun(), CastorTowerJetMonitor::beginRun(), CastorLEDMonitor::beginRun(), DQMProvInfo::beginRun(), ZDCMonitorModule::beginRun(), CastorMonitorModule::beginRun(), HcalDetDiagPedestalMonitor::beginRun(), HcalDetDiagLaserMonitor::beginRun(), FineDelayTask::book(), CalibrationScanTask::book(), CalibrationTask::book(), SiPixelDataQuality::bookGlobalQualityFlag(), DQMStore::IBooker::bookInt(), bookInt(), CSCOfflineClient::bookMonitorObject(), CSCMonitorModule::bookMonitorObject(), CommissioningHistograms::copyCustomInformation(), RPCDcsInfoClient::endRun(), HLTOverallSummary::endRun(), extract(), SiStripQualityChecker::fillFaultyModuleStatus(), SiStripDaqInfo::findExcludedModule(), EDMtoMEConverter::getData(), GlobalHitsTester::GlobalHitsTester(), DQMProvInfo::makeProvInfo(), HcalCoarsePedestalMonitor::setup(), HcalZDCMonitor::setup(), HcalCaloTowerMonitor::setup(), HcalHotCellMonitor::setup(), HcalDeadCellMonitor::setup(), HcalDetDiagNoiseMonitor::setup(), HcalEEUSMonitor::setup(), HcalRawDataMonitor::setup(), HcalBaseDQMonitor::setup(), HcalMonitorModule::setup(), HcalDigiMonitor::setup(), HcalDetDiagLEDMonitor::setup(), and HLXMonitor::SetupEventInfo().

836 { return bookInt(pwd_, name); }
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:835
MonitorElement * DQMStore::bookInt ( const std::string &  name)

Book int.

Definition at line 840 of file DQMStore.cc.

References bookInt(), and pwd_.

841 {
842  return bookInt(pwd_, name);
843 }
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:835
MonitorElement * DQMStore::bookInt ( const std::string &  dir,
const std::string &  name 
)
private

Book int.

Definition at line 818 of file DQMStore.cc.

References book(), collateHistograms_, MonitorElement::DQM_KIND_INT, MonitorElement::Fill(), findObject(), MonitorElement::initialise(), moduleId_, run_, and streamId_.

819 {
820  if (collateHistograms_)
821  {
823  {
824  me->Fill(0);
825  return me;
826  }
827  }
828 
829  return book(dir, name, "bookInt")
831 }
MonitorElement * initialise(Kind kind)
MonitorElement * findObject(const std::string &dir, const std::string &name, const uint32_t run=0, const uint32_t lumi=0, const uint32_t streamId=0, const uint32_t moduleId=0) const
Definition: DQMStore.cc:1809
uint32_t streamId_
Definition: DQMStore.h:682
uint32_t moduleId_
Definition: DQMStore.h:683
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:783
uint32_t run_
Definition: DQMStore.h:681
dbl *** dir
Definition: mlp_gen.cc:35
bool collateHistograms_
Definition: DQMStore.h:678
MonitorElement * DQMStore::bookProfile ( const char *  name,
const char *  title,
int  nchX,
double  lowX,
double  highX,
int  nchY,
double  lowY,
double  highY,
const char *  option = "s" 
)

Book profile. Option is one of: " ", "s" (default), "i", "G" (see TProfile::BuildOptions). The number of channels in Y is disregarded in a profile plot.

Definition at line 1242 of file DQMStore.cc.

References pwd_.

Referenced by DQMSourceExample::beginJob(), AlcaBeamMonitor::beginJob(), HcalSimHitStudy::beginJob(), BeamMonitor::beginJob(), ConverterTester::beginJob(), StripValidationPlots::beginJob(), ZdcSimHitStudy::beginJob(), ZToMuMuGammaAnalyzer::beginJob(), PrimaryVertexMonitor::beginRun(), RPCRecHitValid::beginRun(), AlcaBeamMonitor::beginRun(), SiStripLAProfileBooker::beginRun(), BxTiming::beginRun(), PhotonOfflineClient::book2DHistoVector(), PhotonAnalyzer::book2DHistoVector(), PhotonOfflineClient::book3DHistoVector(), PhotonAnalyzer::book3DHistoVector(), L1TGMT::book_(), HltSusyExoPostProcessor::bookEffMEProfileFromTH1(), DQMLumiMonitor::bookHistograms(), L1TGT::bookHistograms(), CSCMonitorModule::bookMonitorObject(), HcalDigisClient::bookPf(), HcalDigisValidation::bookPf(), QcdUeDQM::bookProfile(), DQMStore::IBooker::bookProfile(), HcalSubdetDigiMonitor::bookProfile(), EcalSelectiveReadoutValidation::bookProfile(), bookProfile(), SiStripBaseCondObjDQM::bookSummaryMEs(), SiStripBaseCondObjDQM::bookSummaryProfileMEs(), TrigResRateMon::bookTestHisto(), DQMGenericTnPClient::calculateEfficiency(), HeavyFlavorHarvesting::calculateEfficiency1D(), CaloTowersValidation::CaloTowersValidation(), PFClient::createProfilePlots(), dqmRegisterHistogram(), JetMETDQMPostProcessor::endRun(), HltSusyExoPostProcessor::endRun(), extract(), EDMtoMEConverter::getData(), GlobalDigisAnalyzer::GlobalDigisAnalyzer(), GlobalDigisHistogrammer::GlobalDigisHistogrammer(), GlobalHitsTester::GlobalHitsTester(), HcalRecHitsValidation::HcalRecHitsValidation(), HcalSimHitsValidation::HcalSimHitsValidation(), CommissioningHistograms::histogram(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::initializeDQMHistograms(), MixCollectionValidation::MixCollectionValidation(), MonitorElementsDb::MonitorElementsDb(), RivetAnalyzer::normalizeTree(), HcalNZSMonitor::setup(), HcalTrigPrimMonitor::setup(), HcalCaloTowerMonitor::setup(), HcalRecHitMonitor::setup(), HcalBeamMonitor::setup(), HcalHotCellMonitor::setup(), HcalDeadCellMonitor::setup(), HcalRawDataMonitor::setup(), HcalDigiMonitor::setup(), HLXMonitor::SetupHists(), and TrigResRateMon::setupHltMatrix().

1246 {
1247  return bookProfile(pwd_, name, new TProfile(name, title,
1248  nchX, lowX, highX,
1249  lowY, highY,
1250  option));
1251 }
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:1242
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::bookProfile ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX,
int  nchY,
double  lowY,
double  highY,
const char *  option = "s" 
)

Book profile. Option is one of: " ", "s" (default), "i", "G" (see TProfile::BuildOptions). The number of channels in Y is disregarded in a profile plot.

Definition at line 1257 of file DQMStore.cc.

References bookProfile(), and pwd_.

1261 {
1262  return bookProfile(pwd_, name, new TProfile(name.c_str(), title.c_str(),
1263  nchX, lowX, highX,
1264  lowY, highY,
1265  option));
1266 }
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:1242
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::bookProfile ( const char *  name,
const char *  title,
int  nchX,
double  lowX,
double  highX,
double  lowY,
double  highY,
const char *  option = "s" 
)

Book profile. Option is one of: " ", "s" (default), "i", "G" (see TProfile::BuildOptions). The number of channels in Y is disregarded in a profile plot.

Definition at line 1272 of file DQMStore.cc.

References bookProfile(), and pwd_.

1276 {
1277  return bookProfile(pwd_, name, new TProfile(name, title,
1278  nchX, lowX, highX,
1279  lowY, highY,
1280  option));
1281 }
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:1242
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::bookProfile ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX,
double  lowY,
double  highY,
const char *  option = "s" 
)

Book profile. Option is one of: " ", "s" (default), "i", "G" (see TProfile::BuildOptions). The number of channels in Y is disregarded in a profile plot.

Definition at line 1287 of file DQMStore.cc.

References bookProfile(), and pwd_.

1291 {
1292  return bookProfile(pwd_, name, new TProfile(name.c_str(), title.c_str(),
1293  nchX, lowX, highX,
1294  lowY, highY,
1295  option));
1296 }
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:1242
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::bookProfile ( const char *  name,
const char *  title,
int  nchX,
double *  xbinsize,
int  nchY,
double  lowY,
double  highY,
const char *  option = "s" 
)

Book variable bin profile. Option is one of: " ", "s" (default), "i", "G" (see TProfile::BuildOptions). The number of channels in Y is disregarded in a profile plot.

Definition at line 1302 of file DQMStore.cc.

References bookProfile(), and pwd_.

1306 {
1307  return bookProfile(pwd_, name, new TProfile(name, title,
1308  nchX, xbinsize,
1309  lowY, highY,
1310  option));
1311 }
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:1242
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::bookProfile ( const std::string &  name,
const std::string &  title,
int  nchX,
double *  xbinsize,
int  nchY,
double  lowY,
double  highY,
const char *  option = "s" 
)

Book variable bin profile. Option is one of: " ", "s" (default), "i", "G" (see TProfile::BuildOptions). The number of channels in Y is disregarded in a profile plot.

Definition at line 1317 of file DQMStore.cc.

References bookProfile(), and pwd_.

1321 {
1322  return bookProfile(pwd_, name, new TProfile(name.c_str(), title.c_str(),
1323  nchX, xbinsize,
1324  lowY, highY,
1325  option));
1326 }
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:1242
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::bookProfile ( const char *  name,
const char *  title,
int  nchX,
double *  xbinsize,
double  lowY,
double  highY,
const char *  option = "s" 
)

Book variable bin profile. Option is one of: " ", "s" (default), "i", "G" (see TProfile::BuildOptions). The number of channels in Y is disregarded in a profile plot.

Definition at line 1332 of file DQMStore.cc.

References bookProfile(), and pwd_.

1336 {
1337  return bookProfile(pwd_, name, new TProfile(name, title,
1338  nchX, xbinsize,
1339  lowY, highY,
1340  option));
1341 }
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:1242
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::bookProfile ( const std::string &  name,
const std::string &  title,
int  nchX,
double *  xbinsize,
double  lowY,
double  highY,
const char *  option = "s" 
)

Book variable bin profile. Option is one of: " ", "s" (default), "i", "G" (see TProfile::BuildOptions). The number of channels in Y is disregarded in a profile plot.

Definition at line 1347 of file DQMStore.cc.

References bookProfile(), and pwd_.

1351 {
1352  return bookProfile(pwd_, name, new TProfile(name.c_str(), title.c_str(),
1353  nchX, xbinsize,
1354  lowY, highY,
1355  option));
1356 }
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:1242
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::bookProfile ( const char *  name,
TProfile *  h 
)

Book TProfile by cloning an existing profile.

Definition at line 1360 of file DQMStore.cc.

References bookProfile(), and pwd_.

1361 {
1362  return bookProfile(pwd_, name, static_cast<TProfile *>(source->Clone(name)));
1363 }
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:1242
std::string pwd_
Definition: DQMStore.h:685
static std::string const source
Definition: EdmProvDump.cc:43
MonitorElement * DQMStore::bookProfile ( const std::string &  name,
TProfile *  h 
)

Book TProfile by cloning an existing profile.

Definition at line 1367 of file DQMStore.cc.

References bookProfile(), and pwd_.

1368 {
1369  return bookProfile(pwd_, name, static_cast<TProfile *>(source->Clone(name.c_str())));
1370 }
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:1242
std::string pwd_
Definition: DQMStore.h:685
static std::string const source
Definition: EdmProvDump.cc:43
MonitorElement * DQMStore::bookProfile ( const std::string &  dir,
const std::string &  name,
TProfile *  h 
)
private

Book profile histogram based on TProfile.

Definition at line 1231 of file DQMStore.cc.

References book(), collateProfile(), and MonitorElement::DQM_KIND_TPROFILE.

1232 {
1233  return book(dir, name, "bookProfile",
1235  h, collateProfile);
1236 }
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:783
static void collateProfile(MonitorElement *me, TProfile *h)
Definition: DQMStore.cc:1541
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
dbl *** dir
Definition: mlp_gen.cc:35
MonitorElement * DQMStore::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" 
)

Book 2-D profile. Option is one of: " ", "s" (default), "i", "G" (see TProfile2D::BuildOptions). The number of channels in Z is disregarded in a 2-D profile.

Definition at line 1386 of file DQMStore.cc.

References pwd_.

Referenced by DQMSourceExample::beginJob(), ConverterTester::beginJob(), DQMLumiMonitor::bookHistograms(), DTLocalTriggerBaseTask::bookHistos(), CSCMonitorModule::bookMonitorObject(), DQMStore::IBooker::bookProfile2D(), EcalSelectiveReadoutValidation::bookProfile2D(), bookProfile2D(), DTLocalTriggerTask::bookWheelHistos(), DQMGenericTnPClient::calculateEfficiency(), HeavyFlavorHarvesting::calculateEfficiency2D(), TkHistoMap::createTkHistoMap(), dqmRegisterHistogram(), extract(), EDMtoMEConverter::getData(), GlobalHitsTester::GlobalHitsTester(), and MonitorElementsDb::MonitorElementsDb().

1391 {
1392  return bookProfile2D(pwd_, name, new TProfile2D(name, title,
1393  nchX, lowX, highX,
1394  nchY, lowY, highY,
1395  lowZ, highZ,
1396  option));
1397 }
std::string pwd_
Definition: DQMStore.h:685
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:1386
MonitorElement * DQMStore::bookProfile2D ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX,
int  nchY,
double  lowY,
double  highY,
int  nchZ,
double  lowZ,
double  highZ,
const char *  option = "s" 
)

Book 2-D profile. Option is one of: " ", "s" (default), "i", "G" (see TProfile2D::BuildOptions). The number of channels in Z is disregarded in a 2-D profile.

Definition at line 1403 of file DQMStore.cc.

References bookProfile2D(), and pwd_.

1408 {
1409  return bookProfile2D(pwd_, name, new TProfile2D(name.c_str(), title.c_str(),
1410  nchX, lowX, highX,
1411  nchY, lowY, highY,
1412  lowZ, highZ,
1413  option));
1414 }
std::string pwd_
Definition: DQMStore.h:685
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:1386
MonitorElement * DQMStore::bookProfile2D ( const char *  name,
const char *  title,
int  nchX,
double  lowX,
double  highX,
int  nchY,
double  lowY,
double  highY,
double  lowZ,
double  highZ,
const char *  option = "s" 
)

Book 2-D profile. Option is one of: " ", "s" (default), "i", "G" (see TProfile2D::BuildOptions). The number of channels in Z is disregarded in a 2-D profile.

Definition at line 1420 of file DQMStore.cc.

References bookProfile2D(), and pwd_.

1425 {
1426  return bookProfile2D(pwd_, name, new TProfile2D(name, title,
1427  nchX, lowX, highX,
1428  nchY, lowY, highY,
1429  lowZ, highZ,
1430  option));
1431 }
std::string pwd_
Definition: DQMStore.h:685
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:1386
MonitorElement * DQMStore::bookProfile2D ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX,
int  nchY,
double  lowY,
double  highY,
double  lowZ,
double  highZ,
const char *  option = "s" 
)

Book 2-D profile. Option is one of: " ", "s" (default), "i", "G" (see TProfile2D::BuildOptions). The number of channels in Z is disregarded in a 2-D profile.

Definition at line 1437 of file DQMStore.cc.

References bookProfile2D(), and pwd_.

1442 {
1443  return bookProfile2D(pwd_, name, new TProfile2D(name.c_str(), title.c_str(),
1444  nchX, lowX, highX,
1445  nchY, lowY, highY,
1446  lowZ, highZ,
1447  option));
1448 }
std::string pwd_
Definition: DQMStore.h:685
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:1386
MonitorElement * DQMStore::bookProfile2D ( const char *  name,
TProfile2D *  h 
)

Book TProfile2D by cloning an existing profile.

Definition at line 1452 of file DQMStore.cc.

References bookProfile2D(), and pwd_.

1453 {
1454  return bookProfile2D(pwd_, name, static_cast<TProfile2D *>(source->Clone(name)));
1455 }
std::string pwd_
Definition: DQMStore.h:685
static std::string const source
Definition: EdmProvDump.cc:43
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:1386
MonitorElement * DQMStore::bookProfile2D ( const std::string &  name,
TProfile2D *  h 
)

Book TProfile2D by cloning an existing profile.

Definition at line 1459 of file DQMStore.cc.

References bookProfile2D(), and pwd_.

1460 {
1461  return bookProfile2D(pwd_, name, static_cast<TProfile2D *>(source->Clone(name.c_str())));
1462 }
std::string pwd_
Definition: DQMStore.h:685
static std::string const source
Definition: EdmProvDump.cc:43
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:1386
MonitorElement * DQMStore::bookProfile2D ( const std::string &  folder,
const std::string &  name,
TProfile2D *  h 
)
private

Book 2D profile histogram based on TProfile2D.

Definition at line 1375 of file DQMStore.cc.

References book(), collateProfile2D(), and MonitorElement::DQM_KIND_TPROFILE2D.

1376 {
1377  return book(dir, name, "bookProfile2D",
1379  h, collateProfile2D);
1380 }
static void collateProfile2D(MonitorElement *me, TProfile2D *h)
Definition: DQMStore.cc:1551
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:783
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
dbl *** dir
Definition: mlp_gen.cc:35
MonitorElement * DQMStore::bookString ( const char *  name,
const char *  value 
)
MonitorElement * DQMStore::bookString ( const std::string &  name,
const std::string &  value 
)

Book string.

Definition at line 899 of file DQMStore.cc.

References bookString(), and pwd_.

900 {
901  return bookString(pwd_, name, value);
902 }
MonitorElement * bookString(const char *name, const char *value)
Book string.
Definition: DQMStore.cc:894
std::string pwd_
Definition: DQMStore.h:685
MonitorElement * DQMStore::bookString ( const std::string &  dir,
const std::string &  name,
const std::string &  value 
)
private

Book string.

Definition at line 878 of file DQMStore.cc.

References book(), collateHistograms_, MonitorElement::DQM_KIND_STRING, findObject(), MonitorElement::initialise(), moduleId_, run_, and streamId_.

881 {
882  if (collateHistograms_)
883  {
885  return me;
886  }
887 
888  return book(dir, name, "bookString")
890 }
MonitorElement * initialise(Kind kind)
MonitorElement * findObject(const std::string &dir, const std::string &name, const uint32_t run=0, const uint32_t lumi=0, const uint32_t streamId=0, const uint32_t moduleId=0) const
Definition: DQMStore.cc:1809
uint32_t streamId_
Definition: DQMStore.h:682
uint32_t moduleId_
Definition: DQMStore.h:683
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:783
uint32_t run_
Definition: DQMStore.h:681
dbl *** dir
Definition: mlp_gen.cc:35
bool collateHistograms_
Definition: DQMStore.h:678
template<typename iFunc >
void DQMStore::bookTransaction ( iFunc  f,
uint32_t  run,
uint32_t  streamId,
uint32_t  moduleId 
)
inline

Definition at line 229 of file DQMStore.h.

References book_mutex_, enableMultiThread_, f, ibooker_, moduleId_, DTTTrigCorrFirst::run, run_, and streamId_.

Referenced by DQMEDAnalyzer::beginRun(), and thread_unsafe::DQMEDAnalyzer::beginRun().

232  {
233  std::lock_guard<std::mutex> guard(book_mutex_);
234  /* If enableMultiThread is not enabled we do not set run_,
235  streamId_ and moduleId_ to 0, since we rely on their default
236  initialization in DQMSTore constructor. */
237  uint32_t oldRun=0,oldStreamId=0,oldModuleId=0;
238  if (enableMultiThread_) {
239  oldRun = run_;
240  run_ = run;
241  oldStreamId = streamId_;
242  streamId_ = streamId;
243  oldModuleId = moduleId_;
244  moduleId_ = moduleId;
245  }
246  f(*ibooker_);
247  if (enableMultiThread_) {
248  run_ = oldRun;
249  streamId_ = oldStreamId;
250  moduleId_ = oldModuleId;
251  }
252  }
uint32_t streamId_
Definition: DQMStore.h:682
uint32_t moduleId_
Definition: DQMStore.h:683
std::mutex book_mutex_
Definition: DQMStore.h:693
double f[11][100]
uint32_t run_
Definition: DQMStore.h:681
IBooker * ibooker_
Definition: DQMStore.h:694
bool enableMultiThread_
Definition: DQMStore.h:679
void DQMStore::cd ( void  )

go to top directory (ie. root)

Definition at line 616 of file DQMStore.cc.

References setCurrentFolder().

Referenced by SiStripDcsInfo::addBadModules(), SiStripGainFromData::algoEndJob(), EcalCondDBWriter::analyze(), SiPixelDigiSource::analyze(), DQMFileReader::beginJob(), DQMDcsInfoClient::beginRun(), DQMProvInfo::beginRun(), V0Validator::beginRun(), SiPixelActionExecutor::bookDeviations(), SiPixelActionExecutor::bookEfficiency(), SiPixelDataQuality::bookGlobalQualityFlag(), TrackingQualityChecker::bookGlobalStatus(), HiggsDQM::bookHistos(), B2GDQM::bookHistos(), ExoticaDQM::bookHistos(), TrackingQualityChecker::bookLSStatus(), SiPixelHLTSource::bookMEs(), SiPixelDigiSource::bookMEs(), SiPixelInformationExtractor::bookNoisyPixels(), SiPixelActionExecutor::bookOccupancyPlots(), SiStripCertificationInfo::bookSiStripCertificationMEs(), SiStripQualityChecker::bookStatus(), SiStripDaqInfo::bookStatus(), SiStripDcsInfo::bookStatus(), BeamMonitorBx::BookTables(), TrackingCertificationInfo::bookTrackingCertificationMEs(), TrackingCertificationInfo::bookTrackingCertificationMEsAtLumi(), BeamMonitorBx::BookTrendHistos(), DQMStore::IBooker::cd(), HDShower::compute(), EMShower::compute(), SiPixelDataQuality::computeGlobalQualityFlag(), SiPixelActionExecutor::createEfficiency(), SiStripTrackerMapCreator::createForOffline(), SiPixelActionExecutor::createLayout(), SiPixelActionExecutor::createMap(), SiPixelActionExecutor::createOccupancy(), SiStripSummaryCreator::createSummary(), SiStripActionExecutor::createSummary(), SiStripActionExecutor::createSummaryOffline(), SiPixelActionExecutor::dumpBarrelModIds(), SiPixelActionExecutor::dumpEndcapModIds(), SiPixelActionExecutor::dumpModIds(), SiPixelActionExecutor::dumpRefValues(), EMShower::EMShower(), DQMHcalIsoTrackPostProcessor::endJob(), APVValidationPlots::endJob(), StripValidationPlots::endJob(), SiStripOfflineDQM::endJob(), TrackingOfflineDQM::endJob(), JetMETDQMPostProcessor::endRun(), HltSusyExoPostProcessor::endRun(), RPCDcsInfoClient::endRun(), DQMDcsInfoClient::endRun(), SiPixelTrackerMapCreator::exploreBeiStructure(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::extractBadAPVSandStrips(), SiPixelRawDataErrorModule::fill(), SiPixelClusterModule::fill(), SiStripQualityChecker::fillDetectorStatus(), SiStripQualityChecker::fillDetectorStatusAtLumi(), SiPixelActionExecutor::fillEfficiency(), SiStripQualityChecker::fillFaultyModuleStatus(), SiPixelActionExecutor::fillFEDErrorSummary(), SiPixelDataQuality::fillGlobalQualityPlot(), TrackingQualityChecker::fillGlobalStatus(), SiPixelActionExecutor::fillGrandBarrelSummaryHistos(), SiPixelActionExecutor::fillGrandEndcapSummaryHistos(), SiStripSummaryCreator::fillGrandSummaryHistos(), SiPixelActionExecutor::fillLayout(), TrackingQualityChecker::fillLSStatus(), SiPixelInformationExtractor::fillModuleAndHistoList(), SiPixelActionExecutor::fillOccupancy(), SiStripCertificationInfo::fillSiStripCertificationMEs(), SiStripCertificationInfo::fillSiStripCertificationMEsAtLumi(), SiStripQualityChecker::fillSubDetStatus(), SiPixelActionExecutor::fillSummary(), SiStripSummaryCreator::fillSummaryHistos(), TrackingCertificationInfo::fillTrackingCertificationMEs(), TrackingCertificationInfo::fillTrackingCertificationMEsAtLumi(), TrackingQualityChecker::fillTrackingStatus(), TrackingQualityChecker::fillTrackingStatusAtLumi(), DQMGenericTnPClient::findAllSubdirectories(), SiStripDaqInfo::findExcludedModule(), SiPixelInformationExtractor::findNoisyPixels(), dqm_interfaces.DQMcommunicator::get_root_objects_list_recursive(), dqm_interfaces.DQMcommunicator::get_root_objects_names_list_recursive(), dqm_interfaces.DQMcommunicator::get_root_objects_recursive(), SiPixelActionExecutor::GetBladeSubdirs(), SiStripTrackerMapCreator::getDetectorFlagAndComment(), SiPixelInformationExtractor::getMEList(), TrackingUtility::getModuleFolderList(), SiStripUtility::getModuleFolderList(), SiStripBadComponentsDQMService::getModuleFolderList(), SiStripSummaryCreator::getSummaryME(), TrackingUtility::getTopFolderPath(), SiStripUtility::getTopFolderPath(), TrackingUtility::goToDir(), SiStripUtility::goToDir(), SiStripBadComponentsDQMService::goToDir(), SiPixelInformationExtractor::goToDir(), HDShower::HDShower(), DQMProvInfo::makeHLTKeyInfo(), DQMProvInfo::makeProvInfo(), SiStripInformationExtractor::printAlarmList(), SiPixelInformationExtractor::printAlarmList(), SiStripActionExecutor::printFaultyModuleList(), SiPixelInformationExtractor::printModuleHistoList(), SiStripInformationExtractor::printNonGeomHistoList(), SiStripInformationExtractor::printSummaryHistoList(), SiPixelInformationExtractor::printSummaryHistoList(), SiStripFEDErrorsDQM::readBadAPVs(), SiStripBadComponentsDQMService::readBadComponents(), SiStripNoisesDQMService::readNoises(), SiStripPedestalsDQMService::readPedestals(), SiStripCommissioningSource::remove(), CommissioningHistograms::remove(), ElectronDqmAnalyzerBase::remove_other_dirs(), ZDCMonitorClient::removeAllME(), HLXMonitor::SaveDQMFile(), DQMFileSaver::saveForOffline(), DQMFileSaver::saveForOnline(), SiPixelInformationExtractor::selectMEList(), SiStripTrackerMapCreator::setTkMapFromHistogram(), GenericBenchmark::setup(), HLXMonitor::SetupHists(), SiPixelActionExecutor::setupQTests(), and dqm_interfaces.DirWalkerFile::walk().

617 { setCurrentFolder(""); }
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:639
void DQMStore::cd ( const std::string &  subdir)

cd to subdirectory (if there)

Definition at line 621 of file DQMStore.cc.

References clean, cleanTrailingSlashes(), dirExists(), raiseDQMError(), setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by dqm_interfaces.DQMcommunicator::get_root_objects_list_recursive(), dqm_interfaces.DQMcommunicator::get_root_objects_names_list_recursive(), dqm_interfaces.DQMcommunicator::get_root_objects_recursive(), and dqm_interfaces.DirWalkerFile::walk().

622 {
624  const std::string *cleaned = 0;
625  cleanTrailingSlashes(subdir, clean, cleaned);
626 
627  if (! dirExists(*cleaned))
628  raiseDQMError("DQMStore", "Cannot 'cd' into non-existent directory '%s'",
629  cleaned->c_str());
630 
631  setCurrentFolder(*cleaned);
632 }
static void cleanTrailingSlashes(const std::string &path, std::string &clean, const std::string *&cleaned)
Definition: DQMStore.cc:78
std::vector< T * > clean
Definition: MVATrainer.cc:156
bool dirExists(const std::string &path) const
true if directory exists
Definition: DQMStore.cc:704
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:639
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
bool DQMStore::cdInto ( const std::string &  path) const
private

Use this for saving monitoring objects in ROOT files with dir structure; cd into directory (create first if it doesn't exist); returns success flag

Definition at line 2305 of file DQMStore.cc.

References end, python.connectstrParser::o, raiseDQMError(), dqm_diff::start, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by save().

2306 {
2307  assert(! path.empty());
2308 
2309  // Find the first path component.
2310  size_t start = 0;
2311  size_t end = path.find('/', start);
2312  if (end == std::string::npos)
2313  end = path.size();
2314 
2315  while (true)
2316  {
2317  // Check if this subdirectory component exists. If yes, make sure
2318  // it is actually a subdirectory. Otherwise create or cd into it.
2319  std::string part(path, start, end-start);
2320  TObject *o = gDirectory->Get(part.c_str());
2321  if (o && ! dynamic_cast<TDirectory *>(o))
2322  raiseDQMError("DQMStore", "Attempt to create directory '%s' in a file"
2323  " fails because the part '%s' already exists and is not"
2324  " directory", path.c_str(), part.c_str());
2325  else if (! o)
2326  gDirectory->mkdir(part.c_str());
2327 
2328  if (! gDirectory->cd(part.c_str()))
2329  raiseDQMError("DQMStore", "Attempt to create directory '%s' in a file"
2330  " fails because could not cd into subdirectory '%s'",
2331  path.c_str(), part.c_str());
2332 
2333  // Stop if we reached the end, ignoring any trailing '/'.
2334  if (end+1 >= path.size())
2335  break;
2336 
2337  // Find the next path component.
2338  start = end+1;
2339  end = path.find('/', start);
2340  if (end == std::string::npos)
2341  end = path.size();
2342  }
2343 
2344  return true;
2345 }
tuple start
Check for commandline option errors.
Definition: dqm_diff.py:58
#define end
Definition: vmac.h:37
part
Definition: HCALResponse.h:20
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
bool DQMStore::checkBinningMatches ( MonitorElement me,
TH1 *  h 
)
staticprivate

Definition at line 1468 of file DQMStore.cc.

References gather_cfg::cout, MonitorElement::getFullname(), and MonitorElement::getTH1().

Referenced by collate1D(), collate1DD(), collate1S(), collate2D(), collate2DD(), collate2S(), collate3D(), collateProfile(), collateProfile2D(), utils.BinToBin::do_test(), and utils.BinToBin1percent::do_test().

1469 {
1470  if (me->getTH1()->GetNbinsX() != h->GetNbinsX()
1471  || me->getTH1()->GetNbinsY() != h->GetNbinsY()
1472  || me->getTH1()->GetNbinsZ() != h->GetNbinsZ()
1473  || me->getTH1()->GetXaxis()->GetXmin() != h->GetXaxis()->GetXmin()
1474  || me->getTH1()->GetYaxis()->GetXmin() != h->GetYaxis()->GetXmin()
1475  || me->getTH1()->GetZaxis()->GetXmin() != h->GetZaxis()->GetXmin()
1476  || me->getTH1()->GetXaxis()->GetXmax() != h->GetXaxis()->GetXmax()
1477  || me->getTH1()->GetYaxis()->GetXmax() != h->GetYaxis()->GetXmax()
1478  || me->getTH1()->GetZaxis()->GetXmax() != h->GetZaxis()->GetXmax())
1479  {
1480  // edm::LogWarning ("DQMStore")
1481  std::cout << "*** DQMStore: WARNING:"
1482  << "checkBinningMatches: different binning - cannot add object '"
1483  << h->GetName() << "' of type "
1484  << h->IsA()->GetName() << " to existing ME: '"
1485  << me->getFullname() << "'\n";
1486  return false;
1487  }
1488  return true;
1489 }
TH1 * getTH1(void) const
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
const std::string getFullname(void) const
get full name of ME including Pathname
tuple cout
Definition: gather_cfg.py:121
void DQMStore::collate1D ( MonitorElement me,
TH1F *  h 
)
staticprivate

Definition at line 1492 of file DQMStore.cc.

References checkBinningMatches(), and MonitorElement::getTH1F().

Referenced by book1D(), and extract().

1493 {
1494  if (checkBinningMatches(me,h))
1495  me->getTH1F()->Add(h);
1496 }
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1468
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
TH1F * getTH1F(void) const
void DQMStore::collate1DD ( MonitorElement me,
TH1D *  h 
)
staticprivate

Definition at line 1506 of file DQMStore.cc.

References checkBinningMatches(), and MonitorElement::getTH1D().

Referenced by book1DD(), and extract().

1507 {
1508  if (checkBinningMatches(me,h))
1509  me->getTH1D()->Add(h);
1510 }
TH1D * getTH1D(void) const
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1468
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
void DQMStore::collate1S ( MonitorElement me,
TH1S *  h 
)
staticprivate

Definition at line 1499 of file DQMStore.cc.

References checkBinningMatches(), and MonitorElement::getTH1S().

Referenced by book1S(), and extract().

1500 {
1501  if (checkBinningMatches(me,h))
1502  me->getTH1S()->Add(h);
1503 }
TH1S * getTH1S(void) const
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1468
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
void DQMStore::collate2D ( MonitorElement me,
TH2F *  h 
)
staticprivate

Definition at line 1513 of file DQMStore.cc.

References checkBinningMatches(), and MonitorElement::getTH2F().

Referenced by book2D(), and extract().

1514 {
1515  if (checkBinningMatches(me,h))
1516  me->getTH2F()->Add(h);
1517 }
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1468
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
TH2F * getTH2F(void) const
void DQMStore::collate2DD ( MonitorElement me,
TH2D *  h 
)
staticprivate

Definition at line 1527 of file DQMStore.cc.

References checkBinningMatches(), and MonitorElement::getTH2D().

Referenced by book2DD(), and extract().

1528 {
1529  if (checkBinningMatches(me,h))
1530  me->getTH2D()->Add(h);
1531 }
TH2D * getTH2D(void) const
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1468
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
void DQMStore::collate2S ( MonitorElement me,
TH2S *  h 
)
staticprivate

Definition at line 1520 of file DQMStore.cc.

References checkBinningMatches(), and MonitorElement::getTH2S().

Referenced by book2S(), and extract().

1521 {
1522  if (checkBinningMatches(me,h))
1523  me->getTH2S()->Add(h);
1524 }
TH2S * getTH2S(void) const
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1468
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
void DQMStore::collate3D ( MonitorElement me,
TH3F *  h 
)
staticprivate

Definition at line 1534 of file DQMStore.cc.

References checkBinningMatches(), and MonitorElement::getTH3F().

Referenced by book3D(), and extract().

1535 {
1536  if (checkBinningMatches(me,h))
1537  me->getTH3F()->Add(h);
1538 }
TH3F * getTH3F(void) const
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1468
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
void DQMStore::collateProfile ( MonitorElement me,
TProfile *  h 
)
staticprivate

Definition at line 1541 of file DQMStore.cc.

References MonitorElement::addProfiles(), checkBinningMatches(), and MonitorElement::getTProfile().

Referenced by bookProfile(), and extract().

1542 {
1543  if (checkBinningMatches(me,h))
1544  {
1545  TProfile *meh = me->getTProfile();
1546  me->addProfiles(h, meh, meh, 1, 1);
1547  }
1548 }
void addProfiles(TProfile *h1, TProfile *h2, TProfile *sum, float c1, float c2)
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1468
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
TProfile * getTProfile(void) const
void DQMStore::collateProfile2D ( MonitorElement me,
TProfile2D *  h 
)
staticprivate

Definition at line 1551 of file DQMStore.cc.

References MonitorElement::addProfiles(), checkBinningMatches(), and MonitorElement::getTProfile2D().

Referenced by bookProfile2D(), and extract().

1552 {
1553  if (checkBinningMatches(me,h))
1554  {
1555  TProfile2D *meh = me->getTProfile2D();
1556  me->addProfiles(h, meh, meh, 1, 1);
1557  }
1558 }
TProfile2D * getTProfile2D(void) const
void addProfiles(TProfile *h1, TProfile *h2, TProfile *sum, float c1, float c2)
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1468
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
bool DQMStore::containsAnyMonitorable ( const std::string &  path) const

true if directory (or any subfolder at any level below it) contains at least one monitorable element

Definition at line 1669 of file DQMStore.cc.

References data_, alignCSCRings::e, i, isSubdirectory(), and AlCaHLTBitMon_QueryRunRegistry::string.

1670 {
1671  MonitorElement proto(&path, std::string());
1672  MEMap::const_iterator e = data_.end();
1673  MEMap::const_iterator i = data_.lower_bound(proto);
1674  return (i != e && isSubdirectory(path, *i->data_.dirname));
1675 }
int i
Definition: DBlmapReader.cc:9
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
MEMap data_
Definition: DQMStore.h:686
QCriterion * DQMStore::createQTest ( const std::string &  algoname,
const std::string &  qtname 
)

create quality test with unique name <qtname> (analogous to ME name); quality test can then be attached to ME with useQTest method (<algo_name> must match one of known algorithms)

Definition at line 3022 of file DQMStore.cc.

References i, qalgos_, qtests_, raiseDQMError(), QCriterion::setVerbose(), and verboseQT_.

Referenced by createH2CompTest(), createMeanValueTest(), createXRangeTest(), createYRangeTest(), QTestConfigure::EnableCheckVarianceTest(), QTestConfigure::EnableComp2RefChi2Test(), QTestConfigure::EnableComp2RefEqualHTest(), QTestConfigure::EnableComp2RefKolmogorovTest(), QTestConfigure::EnableCompareLastFilledBinTest(), QTestConfigure::EnableCompareToMedianTest(), QTestConfigure::EnableContentsWithinExpectedTest(), QTestConfigure::EnableDeadChannelTest(), QTestConfigure::EnableMeanWithinExpectedTest(), QTestConfigure::EnableNoisyChannelTest(), QTestConfigure::EnableXRangeTest(), and QTestConfigure::EnableYRangeTest().

3023 {
3024  if (qtests_.count(qtname))
3025  raiseDQMError("DQMStore", "Attempt to create duplicate quality test '%s'",
3026  qtname.c_str());
3027 
3028  QAMap::iterator i = qalgos_.find(algoname);
3029  if (i == qalgos_.end())
3030  raiseDQMError("DQMStore", "Cannot create a quality test using unknown"
3031  " algorithm '%s'", algoname.c_str());
3032 
3033  QCriterion *qc = i->second(qtname);
3034  qc->setVerbose(verboseQT_);
3035 
3036  qtests_[qtname] = qc;
3037  return qc;
3038 }
int i
Definition: DBlmapReader.cc:9
QCMap qtests_
Definition: DQMStore.h:689
unsigned verboseQT_
Definition: DQMStore.h:675
QAMap qalgos_
Definition: DQMStore.h:690
void setVerbose(int verbose)
probability limits for warnings, errors
Definition: QTest.h:116
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
bool DQMStore::dirExists ( const std::string &  path) const
void DQMStore::disableSoftReset ( MonitorElement me)

Definition at line 3156 of file DQMStore.cc.

References MonitorElement::disableSoftReset().

Referenced by ESIntegrityTask::endRun(), ecaldqm::MESet::recoverStats(), and TrackAnalyzer::undoSoftReset().

3157 {
3158  if (me)
3159  me->disableSoftReset();
3160 }
void disableSoftReset(void)
reverts action of softReset
bool DQMStore::extract ( TObject *  obj,
const std::string &  dir,
bool  overwrite 
)
private

extract object (TH1F, TH2F, ...) from <to>; return success flag flag fromRemoteNode indicating if ME arrived from different node

Definition at line 2010 of file DQMStore.cc.

References MonitorElement::addQReport(), DQMNet::QValue::algorithm, book1D(), book1DD(), book1S(), book2D(), book2DD(), book2S(), book3D(), bookFloat(), bookInt(), bookProfile(), bookProfile2D(), bookString(), DQMNet::QValue::code, collate1D(), collate1DD(), collate1S(), collate2D(), collate2DD(), collate2S(), collate3D(), collateHistograms_, collateProfile(), collateProfile2D(), MonitorElement::copyFrom(), gather_cfg::cout, dot(), DQMNet::DQM_PROP_HAS_REFERENCE, MonitorElement::Fill(), findObject(), h, isCollateME(), isSubdirectory(), diffTwoXMLs::label, m, autoMagneticFieldProducer_cfi::master, DQMNet::QValue::message, n, MonitorElement::object_, DQMNet::QValue::qtname, DQMNet::QValue::qtresult, alignCSCRings::s, s_referenceDirName, s_rxmeqr1(), s_rxmeqr2(), s_rxmeval(), MonitorElement::setEfficiencyFlag(), AlCaHLTBitMon_QueryRunRegistry::string, tag(), relativeConstraints::value, and verbose_.

Referenced by BeautifulSoup.PageElement::_invert(), BeautifulSoup.Tag::decompose(), readDirectory(), and readFilePB().

2011 {
2012  // NB: Profile histograms inherit from TH*D, checking order matters.
2013  MonitorElement *refcheck = 0;
2014  if (TProfile *h = dynamic_cast<TProfile *>(obj))
2015  {
2016  MonitorElement *me = findObject(dir, h->GetName());
2017  if (! me)
2018  me = bookProfile(dir, h->GetName(), (TProfile *) h->Clone());
2019  else if (overwrite)
2020  me->copyFrom(h);
2021  else if (isCollateME(me) || collateHistograms_)
2022  collateProfile(me, h);
2023  refcheck = me;
2024  }
2025  else if (TProfile2D *h = dynamic_cast<TProfile2D *>(obj))
2026  {
2027  MonitorElement *me = findObject(dir, h->GetName());
2028  if (! me)
2029  me = bookProfile2D(dir, h->GetName(), (TProfile2D *) h->Clone());
2030  else if (overwrite)
2031  me->copyFrom(h);
2032  else if (isCollateME(me) || collateHistograms_)
2033  collateProfile2D(me, h);
2034  refcheck = me;
2035  }
2036  else if (TH1F *h = dynamic_cast<TH1F *>(obj))
2037  {
2038  MonitorElement *me = findObject(dir, h->GetName());
2039  if (! me)
2040  me = book1D(dir, h->GetName(), (TH1F *) h->Clone());
2041  else if (overwrite)
2042  me->copyFrom(h);
2043  else if (isCollateME(me) || collateHistograms_)
2044  collate1D(me, h);
2045  refcheck = me;
2046  }
2047  else if (TH1S *h = dynamic_cast<TH1S *>(obj))
2048  {
2049  MonitorElement *me = findObject(dir, h->GetName());
2050  if (! me)
2051  me = book1S(dir, h->GetName(), (TH1S *) h->Clone());
2052  else if (overwrite)
2053  me->copyFrom(h);
2054  else if (isCollateME(me) || collateHistograms_)
2055  collate1S(me, h);
2056  refcheck = me;
2057  }
2058  else if (TH1D *h = dynamic_cast<TH1D *>(obj))
2059  {
2060  MonitorElement *me = findObject(dir, h->GetName());
2061  if (! me)
2062  me = book1DD(dir, h->GetName(), (TH1D *) h->Clone());
2063  else if (overwrite)
2064  me->copyFrom(h);
2065  else if (isCollateME(me) || collateHistograms_)
2066  collate1DD(me, h);
2067  refcheck = me;
2068  }
2069  else if (TH2F *h = dynamic_cast<TH2F *>(obj))
2070  {
2071  MonitorElement *me = findObject(dir, h->GetName());
2072  if (! me)
2073  me = book2D(dir, h->GetName(), (TH2F *) h->Clone());
2074  else if (overwrite)
2075  me->copyFrom(h);
2076  else if (isCollateME(me) || collateHistograms_)
2077  collate2D(me, h);
2078  refcheck = me;
2079  }
2080  else if (TH2S *h = dynamic_cast<TH2S *>(obj))
2081  {
2082  MonitorElement *me = findObject(dir, h->GetName());
2083  if (! me)
2084  me = book2S(dir, h->GetName(), (TH2S *) h->Clone());
2085  else if (overwrite)
2086  me->copyFrom(h);
2087  else if (isCollateME(me) || collateHistograms_)
2088  collate2S(me, h);
2089  refcheck = me;
2090  }
2091  else if (TH2D *h = dynamic_cast<TH2D *>(obj))
2092  {
2093  MonitorElement *me = findObject(dir, h->GetName());
2094  if (! me)
2095  me = book2DD(dir, h->GetName(), (TH2D *) h->Clone());
2096  else if (overwrite)
2097  me->copyFrom(h);
2098  else if (isCollateME(me) || collateHistograms_)
2099  collate2DD(me, h);
2100  refcheck = me;
2101  }
2102  else if (TH3F *h = dynamic_cast<TH3F *>(obj))
2103  {
2104  MonitorElement *me = findObject(dir, h->GetName());
2105  if (! me)
2106  me = book3D(dir, h->GetName(), (TH3F *) h->Clone());
2107  else if (overwrite)
2108  me->copyFrom(h);
2109  else if (isCollateME(me) || collateHistograms_)
2110  collate3D(me, h);
2111  refcheck = me;
2112  }
2113  else if (dynamic_cast<TObjString *>(obj))
2114  {
2115  lat::RegexpMatch m;
2116  if (! s_rxmeval.match(obj->GetName(), 0, 0, &m))
2117  {
2118  if (strstr(obj->GetName(), "CMSSW"))
2119  {
2120  if (verbose_)
2121  std::cout << "Input file version: " << obj->GetName() << std::endl;
2122  return true;
2123  }
2124  else if (strstr(obj->GetName(), "DQMPATCH"))
2125  {
2126  if (verbose_)
2127  std::cout << "DQM patch version: " << obj->GetName() << std::endl;
2128  return true;
2129  }
2130  else
2131  {
2132  std::cout << "*** DQMStore: WARNING: cannot extract object '"
2133  << obj->GetName() << "' of type '"
2134  << obj->IsA()->GetName() << "'\n";
2135  return false;
2136  }
2137  }
2138 
2139  std::string label = m.matchString(obj->GetName(), 1);
2140  std::string kind = m.matchString(obj->GetName(), 2);
2141  std::string value = m.matchString(obj->GetName(), 3);
2142 
2143  if (kind == "i")
2144  {
2145  MonitorElement *me = findObject(dir, label);
2146  if (! me || overwrite)
2147  {
2148  if (! me) me = bookInt(dir, label);
2149  me->Fill(atoll(value.c_str()));
2150  }
2151  }
2152  else if (kind == "f")
2153  {
2154  MonitorElement *me = findObject(dir, label);
2155  if (! me || overwrite)
2156  {
2157  if (! me) me = bookFloat(dir, label);
2158  me->Fill(atof(value.c_str()));
2159  }
2160  }
2161  else if (kind == "s")
2162  {
2163  MonitorElement *me = findObject(dir, label);
2164  if (! me)
2165  me = bookString(dir, label, value);
2166  else if (overwrite)
2167  me->Fill(value);
2168  }
2169  else if (kind == "e")
2170  {
2171  MonitorElement *me = findObject(dir, label);
2172  if (! me)
2173  {
2174  std::cout << "*** DQMStore: WARNING: no monitor element '"
2175  << label << "' in directory '"
2176  << dir << "' to be marked as efficiency plot.\n";
2177  return false;
2178  }
2179  me->setEfficiencyFlag();
2180  }
2181  else if (kind == "t")
2182  {
2183  MonitorElement *me = findObject(dir, label);
2184  if (! me)
2185  {
2186  std::cout << "*** DQMStore: WARNING: no monitor element '"
2187  << label << "' in directory '"
2188  << dir << "' for a tag\n";
2189  return false;
2190  }
2191  errno = 0;
2192  char *endp = 0;
2193  unsigned long val = strtoul(value.c_str(), &endp, 10);
2194  if ((val == 0 && errno) || *endp || val > ~uint32_t(0))
2195  {
2196  std::cout << "*** DQMStore: WARNING: cannot restore tag '"
2197  << value << "' for monitor element '"
2198  << label << "' in directory '"
2199  << dir << "' - invalid value\n";
2200  return false;
2201  }
2202  tag(me, val);
2203  }
2204  else if (kind == "qr")
2205  {
2206  // Handle qreports, but skip them while reading in references.
2208  {
2209  size_t dot = label.find('.');
2210  if (dot == std::string::npos)
2211  {
2212  std::cout << "*** DQMStore: WARNING: quality report label in '" << label
2213  << "' is missing a '.' and cannot be extracted\n";
2214  return false;
2215  }
2216 
2217  std::string mename (label, 0, dot);
2218  std::string qrname (label, dot+1, std::string::npos);
2219 
2220  m.reset();
2221  DQMNet::QValue qv;
2222  if (s_rxmeqr1.match(value, 0, 0, &m))
2223  {
2224  qv.code = atoi(m.matchString(value, 1).c_str());
2225  qv.qtresult = strtod(m.matchString(value, 2).c_str(), 0);
2226  qv.message = m.matchString(value, 4);
2227  qv.qtname = qrname;
2228  qv.algorithm = m.matchString(value, 3);
2229  }
2230  else if (s_rxmeqr2.match(value, 0, 0, &m))
2231  {
2232  qv.code = atoi(m.matchString(value, 1).c_str());
2233  qv.qtresult = 0; // unavailable in old format
2234  qv.message = m.matchString(value, 2);
2235  qv.qtname = qrname;
2236  // qv.algorithm unavailable in old format
2237  }
2238  else
2239  {
2240  std::cout << "*** DQMStore: WARNING: quality test value '"
2241  << value << "' is incorrectly formatted\n";
2242  return false;
2243  }
2244 
2245  MonitorElement *me = findObject(dir, mename);
2246  if (! me)
2247  {
2248  std::cout << "*** DQMStore: WARNING: no monitor element '"
2249  << mename << "' in directory '"
2250  << dir << "' for quality test '"
2251  << label << "'\n";
2252  return false;
2253  }
2254 
2255  me->addQReport(qv, /* FIXME: getQTest(qv.qtname)? */ 0);
2256  }
2257  }
2258  else
2259  {
2260  std::cout << "*** DQMStore: WARNING: cannot extract object '"
2261  << obj->GetName() << "' of type '"
2262  << obj->IsA()->GetName() << "'\n";
2263  return false;
2264  }
2265  }
2266  else if (TNamed *n = dynamic_cast<TNamed *>(obj))
2267  {
2268  // For old DQM data.
2269  std::string s;
2270  s.reserve(6 + strlen(n->GetTitle()) + 2*strlen(n->GetName()));
2271  s += '<'; s += n->GetName(); s += '>';
2272  s += n->GetTitle();
2273  s += '<'; s += '/'; s += n->GetName(); s += '>';
2274  TObjString os(s.c_str());
2275  return extract(&os, dir, overwrite);
2276  }
2277  else
2278  {
2279  std::cout << "*** DQMStore: WARNING: cannot extract object '"
2280  << obj->GetName() << "' of type '" << obj->IsA()->GetName()
2281  << "' and with title '" << obj->GetTitle() << "'\n";
2282  return false;
2283  }
2284 
2285  // If we just read in a reference monitor element, and there is a
2286  // monitor element with the same name, link the two together. The
2287  // other direction is handled by the initialise() method.
2288  if (refcheck && isSubdirectory(s_referenceDirName, dir))
2289  {
2290  std::string mdir(dir, s_referenceDirName.size()+1, std::string::npos);
2291  if (MonitorElement *master = findObject(mdir, obj->GetName()))
2292  {
2293  master->data_.flags |= DQMNet::DQM_PROP_HAS_REFERENCE;
2294  master->reference_ = refcheck->object_;
2295  }
2296  }
2297 
2298  return true;
2299 }
static void collateProfile2D(MonitorElement *me, TProfile2D *h)
Definition: DQMStore.cc:1551
static const lat::Regexp s_rxmeqr2("^st\\.(\\d+)\\.(.*)$")
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:1078
bool isCollateME(MonitorElement *me) const
Definition: DQMStore.cc:3204
void copyFrom(TH1 *from)
std::string algorithm
Definition: DQMNet.h:92
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:928
MonitorElement * findObject(const std::string &dir, const std::string &name, const uint32_t run=0, const uint32_t lumi=0, const uint32_t streamId=0, const uint32_t moduleId=0) const
Definition: DQMStore.cc:1809
static void collate3D(MonitorElement *me, TH3F *h)
Definition: DQMStore.cc:1534
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:1190
static void collate1D(MonitorElement *me, TH1F *h)
Definition: DQMStore.cc:1492
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:1100
static void collate1DD(MonitorElement *me, TH1D *h)
Definition: DQMStore.cc:1506
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:960
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:865
void Fill(long long x)
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1565
static void collateProfile(MonitorElement *me, TProfile *h)
Definition: DQMStore.cc:1541
static const lat::Regexp s_rxmeval("^<(.*)>(i|f|s|e|t|qr)=(.*)</\\1>$")
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
bool extract(TObject *obj, const std::string &dir, bool overwrite)
Definition: DQMStore.cc:2010
static const uint32_t DQM_PROP_HAS_REFERENCE
Definition: DQMNet.h:53
MonitorElement * bookString(const char *name, const char *value)
Book string.
Definition: DQMStore.cc:894
static void collate1S(MonitorElement *me, TH1S *h)
Definition: DQMStore.cc:1499
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
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:1242
std::string qtname
Definition: DQMNet.h:91
unsigned verbose_
Definition: DQMStore.h:674
static void collate2S(MonitorElement *me, TH2S *h)
Definition: DQMStore.cc:1520
static void collate2D(MonitorElement *me, TH2F *h)
Definition: DQMStore.cc:1513
static const std::string s_referenceDirName
Definition: DQMStore.cc:54
static void collate2DD(MonitorElement *me, TH2D *h)
Definition: DQMStore.cc:1527
T dot(const Basic3DVector &v) const
Scalar product, or &quot;dot&quot; product, with a vector of same type.
std::string message
Definition: DQMNet.h:90
tuple cout
Definition: gather_cfg.py:121
void setEfficiencyFlag(void)
dbl *** dir
Definition: mlp_gen.cc:35
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:835
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:1056
float qtresult
Definition: DQMNet.h:89
bool collateHistograms_
Definition: DQMStore.h:678
void addQReport(const DQMNet::QValue &desc, QCriterion *qc)
Add quality report, from DQMStore.
MonitorElement * book1S(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:944
static const lat::Regexp s_rxmeqr1("^st:(\\d+):([-+e.\\d]+):([^:]*):(.*)$")
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:1386
TObject * DQMStore::extractNextObject ( TBufferFile &  buf) const
inlineprivate
Extract the next serialised ROOT object from @a buf. Returns null

if there are no more objects in the buffer, or a null pointer was serialised at this location.

Definition at line 2858 of file DQMStore.cc.

Referenced by get_info().

2858  {
2859  if (buf.Length() == buf.BufferSize())
2860  return 0;
2861  buf.InitMap();
2862  return reinterpret_cast<TObject *>(buf.ReadObjectAny(0));
2863 }
MonitorElement * DQMStore::findObject ( const std::string &  dir,
const std::string &  name,
const uint32_t  run = 0,
const uint32_t  lumi = 0,
const uint32_t  streamId = 0,
const uint32_t  moduleId = 0 
) const
private

get MonitorElement <name> in directory <dir> (null if MonitorElement does not exist)

Definition at line 1809 of file DQMStore.cc.

References MonitorElement::data_, data_, dir, DQMNet::CoreObject::dirname, fjr2json::lumi, DQMNet::CoreObject::lumi, DQMNet::CoreObject::moduleId, mergeVDriftHistosByStation::name, DQMNet::CoreObject::objname, raiseDQMError(), DTTTrigCorrFirst::run, DQMNet::CoreObject::run, s_safe, and DQMNet::CoreObject::streamId.

Referenced by book(), bookFloat(), bookInt(), bookString(), extract(), makeDirectory(), and tag().

1815 {
1816  if (dir.find_first_not_of(s_safe) != std::string::npos)
1817  raiseDQMError("DQMStore", "Monitor element path name '%s' uses"
1818  " unacceptable characters", dir.c_str());
1819  if (name.find_first_not_of(s_safe) != std::string::npos)
1820  raiseDQMError("DQMStore", "Monitor element path name '%s' uses"
1821  " unacceptable characters", name.c_str());
1822 
1823  MonitorElement proto;
1824  proto.data_.dirname = &dir;
1825  proto.data_.objname = name;
1826  proto.data_.run = run;
1827  proto.data_.lumi = lumi;
1828  proto.data_.streamId = streamId;
1829  proto.data_.moduleId = moduleId;
1830 
1831  MEMap::const_iterator mepos = data_.find(proto);
1832  return (mepos == data_.end() ? 0
1833  : const_cast<MonitorElement *>(&*mepos));
1834 }
uint32_t moduleId
Definition: DQMNet.h:103
tuple lumi
Definition: fjr2json.py:35
static const std::string s_safe
Definition: DQMStore.cc:56
const std::string * dirname
Definition: DQMNet.h:104
uint32_t run
Definition: DQMNet.h:100
uint32_t lumi
Definition: DQMNet.h:101
std::string objname
Definition: DQMNet.h:105
DQMNet::CoreObject data_
MEMap data_
Definition: DQMStore.h:686
dbl *** dir
Definition: mlp_gen.cc:35
uint32_t streamId
Definition: DQMNet.h:102
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
void DQMStore::forceReset ( void  )
private

Invoke this method after flushing all recently changed monitoring. Clears updated flag on all MEs and calls their Reset() method.

Definition at line 1990 of file DQMStore.cc.

References data_, MonitorElement::Reset(), reset_, and MonitorElement::resetUpdate().

Referenced by DQMStore().

1991 {
1992  MEMap::iterator mi = data_.begin();
1993  MEMap::iterator me = data_.end();
1994  for ( ; mi != me; ++mi)
1995  {
1996  MonitorElement &me = const_cast<MonitorElement &>(*mi);
1997  me.Reset();
1998  me.resetUpdate();
1999  }
2000 
2001  reset_ = true;
2002 }
void resetUpdate(void)
reset &quot;was updated&quot; flag
bool reset_
Definition: DQMStore.h:676
MEMap data_
Definition: DQMStore.h:686
void Reset(void)
reset ME (ie. contents, errors, etc)
MonitorElement * DQMStore::get ( const std::string &  path) const

get ME from full pathname (e.g. "my/long/dir/my_histo")

Definition at line 1679 of file DQMStore.cc.

References data_, dir, mergeVDriftHistosByStation::name, splitPath(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), SiStripDcsInfo::addBadModules(), SiStripGainFromCalibTree::algoEndJob(), EcalCondDBWriter::analyze(), HcalDigiClient::analyze(), HcalRecHitClient::analyze(), HcalSummaryClient::analyze(), RPCMon_SS_Dbx_Global::analyze(), HcalBaseDQMonitor::analyze(), SiPixelDigiSource::analyze(), RPCDBPopConAnalyzer::analyze(), SiPixelRawDataErrorSource::analyze(), SiPixelClusterSource::analyze(), TrackerOfflineValidationSummary::associateModuleHistsWithTree(), L1EmulatorErrorFlagClient::beginJob(), DQMOfflineHLTEventInfoClient::beginJob(), HLTEventInfoClient::beginJob(), HLTMonPhotonClient::beginJob(), BeamMonitor::beginJob(), HLTMonElectronConsumer::beginJob(), RPCChamberQuality::beginRun(), RPCNoisyStripTest::beginRun(), HcalCoarsePedestalClient::beginRun(), HcalSummaryClient::beginRun(), RPCOccupancyTest::beginRun(), RPCBxTest::beginRun(), RPCMon_SS_Dbx_Global::beginRun(), RPCEventSummary::beginRun(), RPCDeadChannelTest::beginRun(), RPCMultiplicityTest::beginRun(), ZDCMonitorClient::beginRun(), RPCClusterSizeTest::beginRun(), CalibrationScanTask::book(), CalibrationTask::book(), SiPixelDataQuality::bookGlobalQualityFlag(), L1TEventInfoClient::bookHistograms(), DTSegmentAnalysisTask::bookHistos(), BeamMonitorBx::BookTables(), BeamMonitorBx::BookTrendHistos(), DQMGenericTnPClient::calculateEfficiency(), HeavyFlavorHarvesting::calculateEfficiency(), HcalBeamClient::calculateProblems(), HcalCoarsePedestalClient::calculateProblems(), HcalDeadCellClient::calculateProblems(), HcalDetDiagPedestalClient::calculateProblems(), HcalDigiClient::calculateProblems(), HcalHotCellClient::calculateProblems(), HcalTrigPrimClient::calculateProblems(), HcalRawDataClient::calculateProblems(), CalibrationHistograms::CalibrationHistograms(), CalibrationHistosUsingDb::CalibrationHistosUsingDb(), HcalDataCertification::CertifyHcal(), SiPixelActionExecutor::checkQTestResults(), RPCOccupancyTest::clientOperation(), RPCEventSummary::clientOperation(), rrapi.RRApi::columns(), HDShower::compute(), EMShower::compute(), SiPixelDataQuality::computeGlobalQualityFlag(), SiPixelDataQuality::computeGlobalQualityFlagByLumi(), CommissioningHistograms::copyCustomInformation(), rrapi.RRApi::count(), FourVectorHLTOnline::countHLTGroupBXHitsEndLumiBlock(), FourVectorHLTOnline::countHLTGroupHitsEndLumiBlock(), TrigResRateMon::countHLTGroupHitsEndLumiBlock(), FourVectorHLTOffline::countHLTGroupHitsEndLumiBlock(), FourVectorHLTOnline::countHLTGroupL1HitsEndLumiBlock(), TrigResRateMon::countHLTGroupL1HitsEndLumiBlock(), FourVectorHLTOffline::countHLTGroupL1HitsEndLumiBlock(), FourVectorHLTOnline::countHLTPathHitsEndLumiBlock(), TrigResRateMon::countHLTPathHitsEndLumiBlock(), FourVectorHLTOffline::countHLTPathHitsEndLumiBlock(), PFClient_JetRes::createEfficiencyPlots(), PFClient::createEfficiencyPlots(), createH2CompTest(), createH2ContentTest(), EgHLTOfflineClient::createHLTvsOfflineHists(), EgHLTOfflineClient::createLooseTightTrigEff(), EgHLTOfflineClient::createN1EffHists(), PFClient::createProfilePlots(), PFClient::createProjectionPlots(), PFClient_JetRes::createResolutionPlots(), PFClient::createResolutionPlots(), SiStripActionExecutor::createShiftReport(), TopElectronHLTOfflineClient::createSingleEffHists(), EgHLTOfflineClient::createSingleEffHists(), EgHLTOfflineClient::createTrigTagProbeEffHists(), EgHLTOfflineClient::createTrigTagProbeEffHists2Leg(), EgHLTOfflineClient::createTrigTagProbeEffHistsNewAlgo(), rrapi.RRApi::data(), dqmCopyRecursively(), DTBlockedROChannelsTest::DTRobBinsMap::DTRobBinsMap(), SiPixelActionExecutor::dumpBarrelRefValues(), L1TEventInfoClient::dumpContentMonitorElements(), SiPixelActionExecutor::dumpEndcapRefValues(), EMShower::EMShower(), DQMHcalIsoTrackPostProcessor::endJob(), HarvestingAnalyzer::endJob(), HcalSimHitsValidation::endJob(), HcalMonitorModule::endJob(), ZDCMonitorModule::endJob(), MuonAlignment::endJob(), RPCDcsInfoClient::endLuminosityBlock(), AlcaBeamMonitorClient::endLuminosityBlock(), SiPixelCertification::endLuminosityBlock(), DQMDcsInfoClient::endLuminosityBlock(), SiStripMonitorDigi::endLuminosityBlock(), HcalLSbyLSMonitor::endLuminosityBlock(), HLTEventInfoClient::endLuminosityBlock(), L1ScalersClient::endLuminosityBlock(), DTDataIntegrityTest::endLuminosityBlock(), DTSummaryClients::endLuminosityBlock(), TrackEfficiencyClient::endLuminosityBlock(), TrigResRateMon::endLuminosityBlock(), HLTScalersClient::endLuminosityBlock(), JetMETDQMPostProcessor::endRun(), HltSusyExoPostProcessor::endRun(), RPCDcsInfoClient::endRun(), RPCRecHitValidClient::endRun(), RPCRecHitProbabilityClient::endRun(), SiPixelCertification::endRun(), DQMDcsInfoClient::endRun(), TauDQMHistEffProducer::endRun(), DTOfflineSummaryClients::endRun(), HLTTauCertifier::endRun(), RPCEfficiencyPerRingLayer::endRun(), RPCEfficiencyShiftHisto::endRun(), DQMOfflineHLTEventInfoClient::endRun(), MuonAlignmentSummary::endRun(), FourVectorHLTClient::endRun(), HLTOverallSummary::endRun(), EcalZmassClient::endRun(), RPCEfficiencySecond::endRun(), CSCOfflineClient::endRun(), TauDQMHistPlotter::endRun(), ZDCMonitorClient::errorSummary(), CommissioningHistograms::extractHistograms(), SiPixelRawDataErrorModule::fill(), SiPixelClusterModule::fill(), SiPixelDigiModule::fill(), TrigResRateMon::fillCountsPerPath(), SiStripQualityChecker::fillDetectorStatusAtLumi(), SiPixelActionExecutor::fillDeviations(), SiPixelActionExecutor::fillEfficiency(), SiStripQualityChecker::fillFaultyModuleStatus(), SiPixelRawDataErrorModule::fillFED(), SiPixelActionExecutor::fillFEDErrorSummary(), SiPixelDataQuality::fillGlobalQualityPlot(), SiPixelActionExecutor::fillGrandBarrelSummaryHistos(), SiPixelActionExecutor::fillGrandEndcapSummaryHistos(), DQMFEDIntegrityClient::fillHistograms(), FourVectorHLTOnline::fillHltMatrix(), TrigResRateMon::fillHltMatrix(), FourVectorHLTOffline::fillHltMatrix(), EgHLTOfflineClient::FillHLTvsOfflineHist(), SiPixelInformationExtractor::fillModuleAndHistoList(), RPCChamberQuality::fillMonitorElements(), SiPixelActionExecutor::fillOccupancy(), BeamSpotProblemMonitor::FillPlots(), HcalSummaryClient::fillReportSummary(), HcalSummaryClient::fillReportSummaryLSbyLS(), SiStripCertificationInfo::fillSiStripCertificationMEs(), SiStripCertificationInfo::fillSiStripCertificationMEsAtLumi(), SiPixelActionExecutor::fillSummary(), TrackingCertificationInfo::fillTrackingCertificationMEsAtLumi(), TrigResRateMon::fillXsecPerDataset(), PFDQMEventSelector::filter(), CSCOfflineMonitor::finalize(), SiStripDaqInfo::findExcludedModule(), SiPixelInformationExtractor::findNoisyPixels(), ElectronDqmAnalyzerBase::get(), L1TGMTClient::get1DHisto(), HLTEventInfoClient::get1DHisto(), L1TDTTPGClient::get1DHisto(), FourVectorHLTClient::get1DHisto(), HLTEventInfoClient::get1DProfile(), L1TDTTPGClient::get1DProfile(), FourVectorHLTClient::get1DProfile(), L1TGMTClient::get2DHisto(), HLTEventInfoClient::get2DHisto(), L1TDTTPGClient::get2DHisto(), FourVectorHLTClient::get2DHisto(), HLTEventInfoClient::get2DProfile(), L1TDTTPGClient::get2DProfile(), FourVectorHLTClient::get2DProfile(), getAnyHisto(), betterConfigParser.BetterConfigParser::getCompares(), EDMtoMEConverter::getData(), SiPixelActionExecutor::getData(), SiStripTrackerMapCreator::getDetectorFlagAndComment(), EgHLTOfflineSummaryClient::getEgHLTSumHist_(), SiPixelActionExecutor::getFEDSummaryME(), betterConfigParser.BetterConfigParser::getGeneral(), SiPixelActionExecutor::getGrandSummaryME(), HcalRawDataClient::getHardwareSpaceHistos(), getHisto(), getHisto2(), getHistoTH3F(), getHistoTProfile(), getHistoTProfile2D(), rpcdqmclient::clientTools::getMEs(), SiStripQualityChecker::getModuleStatus(), RPCDqmClient::getMonitorElements(), betterConfigParser.BetterConfigParser::getResultingSection(), SiPixelActionExecutor::getSummaryME(), getTH1F(), L1TDTTFClient::getTH1F(), getTH2F(), L1TDTTFClient::getTH2F(), getTH3F(), getTProfile(), getTProfile2D(), HDShower::HDShower(), CommissioningHistograms::histogram(), htmlErrors(), HcalDetDiagLEDClient::htmlOutput(), HcalDetDiagPedestalClient::htmlOutput(), PhotonDataCertification::invMassZtest(), HcalBaseDQMonitor::IsAllowedCalibType(), TkHistoMap::loadTkHistoMap(), EgHLTOfflineClient::makeEffMonElem2Leg(), TopElectronHLTOfflineClient::makeEffMonElemFromPassAndAll(), EgHLTOfflineClient::makeEffMonElemFromPassAndAll(), EgHLTOfflineClient::makeEffMonElemFromPassAndFail(), EgHLTOfflineClient::makeEffMonElemFromPassAndFailAndTagTag(), PlotCombiner::makePlot(), SiPixelHistoPlotter::makePlot(), SiStripHistoPlotter::makePlot(), TrigResRateMon::normalizeHLTMatrix(), DQMClientExample::performClient(), DTBlockedROChannelsTest::performClientDiagnostic(), RPCChamberQuality::performeClientOperation(), SiStripInformationExtractor::plotHistosFromLayout(), SiPixelActionExecutor::prephistosB(), SiPixelActionExecutor::prephistosE(), SiPixelInformationExtractor::printAlarmList(), TrackingActionExecutor::printShiftHistoParameters(), SiStripActionExecutor::printShiftHistoParameters(), QTestStatusChecker::processAlarms(), L1TGCTClient::processHistograms(), L1TRPCTFClient::processHistograms(), L1TEventInfoClient::readQtResults(), rrapi.RRApi::report(), rrapi.RRApi::reports(), CastorLEDMonitor::reset(), RPCFEDIntegrity::reset(), resetME(), ecaldqm::MESetNonObject::retrieve(), ecaldqm::MESetEcal::retrieve(), SiPixelHistoricInfoDQMClient::retrieveMEs(), SiPixelHistoricInfoEDAClient::retrieveMEs(), PhotonOfflineClient::runClient(), EgHLTOfflineSummaryClient::runClient_(), DTLocalTriggerEfficiencyTest::runClientDiagnostic(), CommissioningHistograms::runNumber(), ConversionPostprocessing::runPostprocessing(), PhotonPostprocessing::runPostprocessing(), CommissioningHistograms::runType(), SamplingHistograms::SamplingHistograms(), DQMFileSaver::saveForOffline(), DQMFileSaver::saveForOnline(), SiPixelInformationExtractor::selectMEList(), L1EmulatorErrorFlagClient::setSummary(), PFJetDQMAnalyzer::storeBadEvents(), PFMETDQMAnalyzer::storeBadEvents(), PFCandidateDQMAnalyzer::storeBadEvents(), rrapi.RRApi::tables(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), DTDataIntegrityTask::TimeHistos(), HcalDetDiagLEDClient::validHtmlOutput(), HcalDetDiagPedestalClient::validHtmlOutput(), rrapi.RRApi::workspaces(), and SubTaskSummaryStatus::WriteThreshold().

1680 {
1681  std::string dir;
1682  std::string name;
1683  splitPath(dir, name, path);
1684  MonitorElement proto(&dir, name);
1685  MEMap::const_iterator mepos = data_.find(proto);
1686  return (mepos == data_.end() ? 0
1687  : const_cast<MonitorElement *>(&*mepos));
1688 }
static void splitPath(std::string &dir, std::string &name, const std::string &path)
Definition: DQMStore.cc:95
MEMap data_
Definition: DQMStore.h:686
dbl *** dir
Definition: mlp_gen.cc:35
std::vector< MonitorElement * > DQMStore::get ( unsigned int  tag) const

get all MonitorElements tagged as <tag>

Definition at line 1692 of file DQMStore.cc.

References MonitorElement::data_, data_, DQMNet::DQM_PROP_TAGGED, alignCSCRings::e, DQMNet::CoreObject::flags, i, query::result, DQMNet::CoreObject::tag, and tag().

Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), rrapi.RRApi::columns(), rrapi.RRApi::count(), rrapi.RRApi::data(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), betterConfigParser.BetterConfigParser::getResultingSection(), rrapi.RRApi::report(), rrapi.RRApi::reports(), rrapi.RRApi::tables(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), and rrapi.RRApi::workspaces().

1693 {
1694  // FIXME: Use reverse map [tag -> path] / [tag -> dir]?
1695  std::vector<MonitorElement *> result;
1696  for (MEMap::const_iterator i = data_.begin(), e = data_.end(); i != e; ++i)
1697  {
1698  const MonitorElement &me = *i;
1699  if ((me.data_.flags & DQMNet::DQM_PROP_TAGGED) && me.data_.tag == tag)
1700  result.push_back(const_cast<MonitorElement *>(&me));
1701  }
1702  return result;
1703 }
int i
Definition: DBlmapReader.cc:9
uint32_t flags
Definition: DQMNet.h:97
static const uint32_t DQM_PROP_TAGGED
Definition: DQMNet.h:54
uint32_t tag
Definition: DQMNet.h:98
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1565
tuple result
Definition: query.py:137
DQMNet::CoreObject data_
MEMap data_
Definition: DQMStore.h:686
void DQMStore::get_info ( const dqmstorepb::ROOTFilePB_Histo h,
std::string &  dirname,
std::string &  objname,
TH1 **  obj 
)
private

Definition at line 2865 of file DQMStore.cc.

References extractNextObject(), dqmstorepb::ROOTFilePB_Histo::full_pathname(), raiseDQMError(), dqmstorepb::ROOTFilePB_Histo::size(), pickleFileParser::slash, and dqmstorepb::ROOTFilePB_Histo::streamed_histo().

Referenced by readFilePB().

2868  {
2869  size_t slash = h.full_pathname().rfind('/');
2870  size_t dirpos = (slash == std::string::npos ? 0 : slash);
2871  size_t namepos = (slash == std::string::npos ? 0 : slash+1);
2872  dirname.assign(h.full_pathname(), 0, dirpos);
2873  objname.assign(h.full_pathname(), namepos, std::string::npos);
2874  TBufferFile buf(TBufferFile::kRead, h.size(),
2875  (void*)h.streamed_histo().data(),
2876  kFALSE);
2877  buf.Reset();
2878  *obj = static_cast<TH1*>(extractNextObject(buf));
2879  if (!*obj) {
2880  raiseDQMError("DQMStore", "Error reading element:'%s'" , h.full_pathname().c_str());
2881  }
2882 }
inline::google::protobuf::uint32 size() const
const ::std::string & full_pathname() const
const ::std::string & streamed_histo() const
TObject * extractNextObject(TBufferFile &) const
Definition: DQMStore.cc:2858
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
std::vector< MonitorElement * > DQMStore::getAllContents ( const std::string &  path,
uint32_t  runNumber = 0,
uint32_t  lumi = 0 
) const

get vector with children of folder, including all subfolders + their children; must use an exact pathname

Definition at line 1892 of file DQMStore.cc.

References clean, cleanTrailingSlashes(), data_, alignCSCRings::e, i, isSubdirectory(), or, query::result, MonitorElement::setLumi(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by SiStripCalibLorentzAngle::algoBeginJob(), HcalDataCertification::beginJob(), SiPixelDQMRocLevelAnalyzer::beginJob(), HcalDAQInfo::beginJob(), edmtest::DQMReferenceHistogramRootFileEventSetupAnalyzer::beginRun(), SiStripDQMProfileToTkMapConverter::beginRun(), SiStripQualityHotStripIdentifierRoot::bookHistos(), HcalDataCertification::CertifyHcal(), DQMHistoryServiceBase::createSummary(), HcalDAQInfo::endLuminosityBlock(), DQMHistNormalizer::endRun(), StatisticsFilter::filter(), HcalBaseDQClient::htmlOutput(), SiStripNoisesDQMService::readNoises(), SiStripPedestalsDQMService::readPedestals(), HcalRecHitMonitor::reset(), DQMRootOutputModule::writeLuminosityBlock(), and DQMRootOutputModule::writeRun().

1895 {
1897  const std::string *cleaned = 0;
1898  cleanTrailingSlashes(path, clean, cleaned);
1899  MonitorElement proto(cleaned, std::string(), runNumber);
1900  proto.setLumi(lumi);
1901 
1902  std::vector<MonitorElement *> result;
1903  MEMap::const_iterator e = data_.end();
1904  MEMap::const_iterator i = data_.lower_bound(proto);
1905  for ( ; i != e && isSubdirectory(*cleaned, *i->data_.dirname); ++i) {
1906  if (runNumber != 0) {
1907  if (i->data_.run > runNumber // TODO[rovere]: pleonastic? first we encounter local ME of the same run ...
1908  || i->data_.streamId != 0
1909  || i->data_.moduleId != 0)
1910  break;
1911  }
1912  if (lumi != 0) {
1913  if (i->data_.lumi > lumi
1914  || i->data_.streamId != 0
1915  || i->data_.moduleId != 0)
1916  break;
1917  }
1918  if (runNumber != 0 or lumi !=0) {
1919  assert(i->data_.streamId == 0);
1920  assert(i->data_.moduleId == 0);
1921  }
1922  result.push_back(const_cast<MonitorElement *>(&*i));
1923  }
1924  return result;
1925 }
int i
Definition: DBlmapReader.cc:9
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
tuple lumi
Definition: fjr2json.py:35
static void cleanTrailingSlashes(const std::string &path, std::string &clean, const std::string *&cleaned)
Definition: DQMStore.cc:78
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
tuple result
Definition: query.py:137
std::vector< T * > clean
Definition: MVATrainer.cc:156
MEMap data_
Definition: DQMStore.h:686
void DQMStore::getAllTags ( std::vector< std::string > &  into) const

get tags for various maps, return vector with strings of the form <dir pathname>="">:<obj1>/<tag1>/<tag2>,<obj2>/<tag1>/<tag3>, etc.

Definition at line 1839 of file DQMStore.cc.

References data_, dirs_, DQMNet::DQM_PROP_TAGGED, isSubdirectory(), m, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by EDMtoMEConverter::getData().

1840 {
1841  into.clear();
1842  into.reserve(dirs_.size());
1843 
1844  MEMap::const_iterator me = data_.end();
1845  std::set<std::string>::const_iterator di = dirs_.begin();
1846  std::set<std::string>::const_iterator de = dirs_.end();
1847  char tagbuf[32]; // more than enough for '/' and up to 10 digits
1848 
1849  for ( ; di != de; ++di)
1850  {
1851  MonitorElement proto(&*di, std::string());
1852  MEMap::const_iterator mi = data_.lower_bound(proto);
1853  MEMap::const_iterator m = mi;
1854  size_t sz = di->size() + 2;
1855  size_t nfound = 0;
1856  for ( ; m != me && isSubdirectory(*di, *m->data_.dirname); ++m)
1857  if (*di == *m->data_.dirname && (m->data_.flags & DQMNet::DQM_PROP_TAGGED))
1858  {
1859  // the tags count for '/' + up to 10 digits, otherwise ',' + ME name
1860  sz += 1 + m->data_.objname.size() + 11;
1861  ++nfound;
1862  }
1863 
1864  if (! nfound)
1865  continue;
1866 
1867  std::vector<std::string>::iterator istr
1868  = into.insert(into.end(), std::string());
1869 
1870  istr->reserve(sz);
1871 
1872  *istr += *di;
1873  *istr += ':';
1874  for (sz = 0; mi != m; ++mi)
1875  {
1876  if (*di == *m->data_.dirname && (m->data_.flags & DQMNet::DQM_PROP_TAGGED))
1877  {
1878  sprintf(tagbuf, "/%u", mi->data_.tag);
1879  if (sz > 0)
1880  *istr += ',';
1881  *istr += m->data_.objname;
1882  *istr += tagbuf;
1883  ++sz;
1884  }
1885  }
1886  }
1887 }
static const uint32_t DQM_PROP_TAGGED
Definition: DQMNet.h:54
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
MEMap data_
Definition: DQMStore.h:686
std::set< std::string > dirs_
Definition: DQMStore.h:687
std::vector< MonitorElement * > DQMStore::getContents ( const std::string &  path) const

get vector with all children of folder (does NOT include contents of subfolders)

Definition at line 1708 of file DQMStore.cc.

References clean, cleanTrailingSlashes(), data_, alignCSCRings::e, i, isSubdirectory(), query::result, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by SiStripCommissioningOfflineClient::beginRun(), SiPixelActionExecutor::checkQTestResults(), CommissioningHistograms::copyCustomInformation(), FourVectorHLTClient::endRun(), CommissioningHistograms::extractHistograms(), SiStripSummaryCreator::fillGrandSummaryHistos(), SiStripCertificationInfo::fillSiStripCertificationMEs(), SiStripQualityChecker::fillSubDetStatus(), SiStripSummaryCreator::fillSummaryHistos(), TrackingCertificationInfo::fillTrackingCertificationMEs(), TrackingCertificationInfo::fillTrackingCertificationMEsAtLumi(), TrackingQualityChecker::fillTrackingStatus(), TrackingQualityChecker::fillTrackingStatusAtLumi(), QTestStatusChecker::fullPathNames(), DQMStore::IGetter::getContents(), SiStripSummaryCreator::getSummaryME(), SiStripHistoPlotter::makeCondDBPlots(), SiStripInformationExtractor::printAlarmList(), SiStripActionExecutor::printFaultyModuleList(), SiStripInformationExtractor::printNonGeomHistoList(), SiStripInformationExtractor::printSummaryHistoList(), SiStripFEDErrorsDQM::readBadAPVs(), SiStripBadComponentsDQMService::readBadComponents(), PhotonOfflineClient::retrieveHisto(), SiPixelHistoricInfoDQMClient::retrieveMEs(), SiPixelHistoricInfoEDAClient::retrieveMEs(), HcalDigisClient::runClient(), BTagHLTOfflineClient::runClient_(), HcalRecHitsClient::runClient_(), CaloTowersDQMClient::runClient_(), HcalNoiseRatesClient::runClient_(), NoiseRatesClient::runClient_(), CaloTowersClient::runClient_(), HcalRecHitsDQMClient::runClient_(), HcalSimHitsClient::runClient_(), JetMETHLTOfflineClient::runClient_(), CommissioningHistograms::runNumber(), CommissioningHistograms::runType(), SiStripTrackerMapCreator::setTkMapFromHistogram(), and showDirStructure().

1709 {
1711  const std::string *cleaned = 0;
1712  cleanTrailingSlashes(path, clean, cleaned);
1713  MonitorElement proto(cleaned, std::string());
1714 
1715  std::vector<MonitorElement *> result;
1716  MEMap::const_iterator e = data_.end();
1717  MEMap::const_iterator i = data_.lower_bound(proto);
1718  for ( ; i != e && isSubdirectory(*cleaned, *i->data_.dirname); ++i)
1719  if (*cleaned == *i->data_.dirname)
1720  result.push_back(const_cast<MonitorElement *>(&*i));
1721 
1722  return result;
1723 }
int i
Definition: DBlmapReader.cc:9
static void cleanTrailingSlashes(const std::string &path, std::string &clean, const std::string *&cleaned)
Definition: DQMStore.cc:78
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
tuple result
Definition: query.py:137
std::vector< T * > clean
Definition: MVATrainer.cc:156
MEMap data_
Definition: DQMStore.h:686
std::vector< MonitorElement * > DQMStore::getContents ( const std::string &  path,
unsigned int  tag 
) const

same as above for tagged MonitorElements

Definition at line 1727 of file DQMStore.cc.

References clean, cleanTrailingSlashes(), data_, DQMNet::DQM_PROP_TAGGED, alignCSCRings::e, i, isSubdirectory(), query::result, AlCaHLTBitMon_QueryRunRegistry::string, and tag().

1728 {
1730  const std::string *cleaned = 0;
1731  cleanTrailingSlashes(path, clean, cleaned);
1732  MonitorElement proto(cleaned, std::string());
1733 
1734  std::vector<MonitorElement *> result;
1735  MEMap::const_iterator e = data_.end();
1736  MEMap::const_iterator i = data_.lower_bound(proto);
1737  for ( ; i != e && isSubdirectory(*cleaned, *i->data_.dirname); ++i)
1738  if (*cleaned == *i->data_.dirname
1739  && (i->data_.flags & DQMNet::DQM_PROP_TAGGED)
1740  && i->data_.tag == tag)
1741  result.push_back(const_cast<MonitorElement *>(&*i));
1742 
1743  return result;
1744 }
int i
Definition: DBlmapReader.cc:9
static const uint32_t DQM_PROP_TAGGED
Definition: DQMNet.h:54
static void cleanTrailingSlashes(const std::string &path, std::string &clean, const std::string *&cleaned)
Definition: DQMStore.cc:78
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1565
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
tuple result
Definition: query.py:137
std::vector< T * > clean
Definition: MVATrainer.cc:156
MEMap data_
Definition: DQMStore.h:686
void DQMStore::getContents ( std::vector< std::string > &  into,
bool  showContents = true 
) const

get contents; return vector<string> of the form <dir pathname>="">:<obj1>,<obj2>,<obj3>; if showContents = false, change form to <dir pathname>="">: (useful for subscription requests; meant to imply "all contents")

Definition at line 1751 of file DQMStore.cc.

References data_, dirs_, isSubdirectory(), m, and AlCaHLTBitMon_QueryRunRegistry::string.

1752 {
1753  into.clear();
1754  into.reserve(dirs_.size());
1755 
1756  MEMap::const_iterator me = data_.end();
1757  std::set<std::string>::const_iterator di = dirs_.begin();
1758  std::set<std::string>::const_iterator de = dirs_.end();
1759  for ( ; di != de; ++di)
1760  {
1761  MonitorElement proto(&*di, std::string());
1762  MEMap::const_iterator mi = data_.lower_bound(proto);
1763  MEMap::const_iterator m = mi;
1764  size_t sz = di->size() + 2;
1765  size_t nfound = 0;
1766  for ( ; m != me && isSubdirectory(*di, *m->data_.dirname); ++m)
1767  if (*di == *m->data_.dirname)
1768  {
1769  sz += m->data_.objname.size() + 1;
1770  ++nfound;
1771  }
1772 
1773  if (! nfound)
1774  continue;
1775 
1776  std::vector<std::string>::iterator istr
1777  = into.insert(into.end(), std::string());
1778 
1779  if (showContents)
1780  {
1781  istr->reserve(sz);
1782 
1783  *istr += *di;
1784  *istr += ':';
1785  for (sz = 0; mi != m; ++mi)
1786  {
1787  if (*di != *mi->data_.dirname)
1788  continue;
1789 
1790  if (sz > 0)
1791  *istr += ',';
1792 
1793  *istr += mi->data_.objname;
1794  ++sz;
1795  }
1796  }
1797  else
1798  {
1799  istr->reserve(di->size() + 2);
1800  *istr += *di;
1801  *istr += ':';
1802  }
1803  }
1804 }
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
MEMap data_
Definition: DQMStore.h:686
std::set< std::string > dirs_
Definition: DQMStore.h:687
std::vector< MonitorElement * > DQMStore::getMatchingContents ( const std::string &  pattern,
lat::Regexp::Syntax  syntaxType = lat::Regexp::Wildcard 
) const

get vector with children of folder, including all subfolders + their children; matches names against a wildcard pattern matched against the full ME path

Definition at line 1930 of file DQMStore.cc.

References data_, alignCSCRings::e, i, mergePath(), getHLTPrescaleColumns::path, raiseDQMError(), query::result, corrVsCorr::rx, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by DQMStoreStats::calcstats(), EgHLTOfflineSummaryClient::getQTestResults_(), and DQMFileSaver::saveForOnline().

1931 {
1932  lat::Regexp rx;
1933  try
1934  {
1935  rx = lat::Regexp(pattern, 0, syntaxType);
1936  rx.study();
1937  }
1938  catch (lat::Error &e)
1939  {
1940  raiseDQMError("DQMStore", "Invalid regular expression '%s': %s",
1941  pattern.c_str(), e.explain().c_str());
1942  }
1943 
1944  std::string path;
1945  std::vector<MonitorElement *> result;
1946  MEMap::const_iterator i = data_.begin();
1947  MEMap::const_iterator e = data_.end();
1948  for ( ; i != e; ++i)
1949  {
1950  path.clear();
1951  mergePath(path, *i->data_.dirname, i->data_.objname);
1952  if (rx.match(path))
1953  result.push_back(const_cast<MonitorElement *>(&*i));
1954  }
1955 
1956  return result;
1957 }
int i
Definition: DBlmapReader.cc:9
static void mergePath(std::string &path, const std::string &dir, const std::string &name)
Definition: DQMStore.cc:108
tuple result
Definition: query.py:137
MEMap data_
Definition: DQMStore.h:686
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
std::vector< std::string > DQMStore::getMEs ( void  ) const

get list of (non-dir) MEs of current directory

Definition at line 1653 of file DQMStore.cc.

References data_, alignCSCRings::e, i, isSubdirectory(), pwd_, query::result, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by SiPixelDigiSource::analyze(), CalibrationScanTask::book(), CalibrationTask::book(), SiPixelDataQuality::computeGlobalQualityFlag(), dqmCopyRecursively(), SiPixelActionExecutor::dumpBarrelModIds(), SiPixelActionExecutor::dumpEndcapModIds(), CSCOfflineClient::endRun(), SiPixelTrackerMapCreator::exploreBeiStructure(), SiPixelActionExecutor::fillEfficiency(), SiPixelActionExecutor::fillFEDErrorSummary(), SiPixelDataQuality::fillGlobalQualityPlot(), SiPixelActionExecutor::fillGrandBarrelSummaryHistos(), SiPixelActionExecutor::fillGrandEndcapSummaryHistos(), SiPixelActionExecutor::fillLayout(), SiPixelInformationExtractor::fillModuleAndHistoList(), SiPixelActionExecutor::fillOccupancy(), SiPixelActionExecutor::fillSummary(), ElectronDqmAnalyzerBase::find(), SiPixelInformationExtractor::findNoisyPixels(), SiPixelActionExecutor::getData(), SiPixelActionExecutor::getFEDSummaryME(), SiPixelActionExecutor::getGrandSummaryME(), SiPixelInformationExtractor::getMEList(), SiPixelActionExecutor::getSummaryME(), SiPixelInformationExtractor::printAlarmList(), SiPixelInformationExtractor::printModuleHistoList(), SiPixelInformationExtractor::printSummaryHistoList(), L1TRPCTFClient::processHistograms(), and SiPixelInformationExtractor::selectMEList().

1654 {
1655  MonitorElement proto(&pwd_, std::string());
1656  std::vector<std::string> result;
1657  MEMap::const_iterator e = data_.end();
1658  MEMap::const_iterator i = data_.lower_bound(proto);
1659  for ( ; i != e && isSubdirectory(pwd_, *i->data_.dirname); ++i)
1660  if (pwd_ == *i->data_.dirname)
1661  result.push_back(i->getName());
1662 
1663  return result;
1664 }
int i
Definition: DBlmapReader.cc:9
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
tuple result
Definition: query.py:137
std::string pwd_
Definition: DQMStore.h:685
MEMap data_
Definition: DQMStore.h:686
QCriterion * DQMStore::getQCriterion ( const std::string &  qtname) const
int DQMStore::getStatus ( const std::string &  path = "") const

get "global" folder <path> status (one of:STATUS_OK, WARNING, ERROR, OTHER); returns most sever error, where ERROR > WARNING > OTHER > STATUS_OK; see Core/interface/QTestStatus.h for details on "OTHER"

Definition at line 3117 of file DQMStore.cc.

References clean, cleanTrailingSlashes(), data_, dqm::qstatus::ERROR, isSubdirectory(), dqm::qstatus::OTHER, ntuplemaker::status, dqm::qstatus::STATUS_OK, AlCaHLTBitMon_QueryRunRegistry::string, and dqm::qstatus::WARNING.

Referenced by QTestStatusChecker::checkGlobalStatus(), SiStripInformationExtractor::printAlarmList(), and SiPixelInformationExtractor::printAlarmList().

3118 {
3120  const std::string *cleaned = 0;
3121  cleanTrailingSlashes(path, clean, cleaned);
3122 
3124  MEMap::const_iterator mi = data_.begin();
3125  MEMap::const_iterator me = data_.end();
3126  for ( ; mi != me; ++mi)
3127  {
3128  if (! cleaned->empty() && ! isSubdirectory(*cleaned, *mi->data_.dirname))
3129  continue;
3130 
3131  if (mi->hasError())
3132  return dqm::qstatus::ERROR;
3133  else if (mi->hasWarning())
3134  status = dqm::qstatus::WARNING;
3135  else if (status < dqm::qstatus::WARNING
3136  && mi->hasOtherReport())
3137  status = dqm::qstatus::OTHER;
3138  }
3139  return status;
3140 }
static const int OTHER
static const int WARNING
static void cleanTrailingSlashes(const std::string &path, std::string &clean, const std::string *&cleaned)
Definition: DQMStore.cc:78
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
std::vector< T * > clean
Definition: MVATrainer.cc:156
MEMap data_
Definition: DQMStore.h:686
static const int STATUS_OK
tuple status
Definition: ntuplemaker.py:245
static const int ERROR
std::vector< std::string > DQMStore::getSubdirs ( void  ) const

get list of subdirectories of current directory

Definition at line 1630 of file DQMStore.cc.

References dirs_, alignCSCRings::e, i, isSubdirectory(), pwd_, and query::result.

Referenced by EcalCondDBWriter::analyze(), SiPixelDigiSource::analyze(), SiPixelActionExecutor::bookOccupancyPlots(), SiPixelDataQuality::computeGlobalQualityFlag(), SiPixelActionExecutor::createLayout(), SiPixelActionExecutor::createMap(), SiStripSummaryCreator::createSummary(), dqmCopyRecursively(), SiPixelActionExecutor::dumpBarrelModIds(), SiPixelActionExecutor::dumpEndcapModIds(), JetMETDQMPostProcessor::endRun(), TauDQMFileLoader::endRun(), FourVectorHLTClient::endRun(), SiPixelTrackerMapCreator::exploreBeiStructure(), SiPixelActionExecutor::fillEfficiency(), SiPixelActionExecutor::fillFEDErrorSummary(), SiPixelDataQuality::fillGlobalQualityPlot(), SiPixelActionExecutor::fillGrandBarrelSummaryHistos(), SiPixelActionExecutor::fillGrandEndcapSummaryHistos(), SiStripSummaryCreator::fillGrandSummaryHistos(), SiPixelActionExecutor::fillLayout(), SiPixelInformationExtractor::fillModuleAndHistoList(), SiPixelActionExecutor::fillOccupancy(), SiStripQualityChecker::fillSubDetStatus(), SiPixelActionExecutor::fillSummary(), SiStripSummaryCreator::fillSummaryHistos(), DQMGenericTnPClient::findAllSubdirectories(), SiPixelInformationExtractor::findNoisyPixels(), SiPixelActionExecutor::GetBladeSubdirs(), SiPixelInformationExtractor::getMEList(), TrackingUtility::getModuleFolderList(), SiStripUtility::getModuleFolderList(), SiStripBadComponentsDQMService::getModuleFolderList(), SiStripSummaryCreator::getSummaryME(), TrackingUtility::goToDir(), SiStripUtility::goToDir(), SiStripBadComponentsDQMService::goToDir(), SiStripInformationExtractor::printAlarmList(), SiPixelInformationExtractor::printAlarmList(), SiPixelInformationExtractor::printModuleHistoList(), SiStripInformationExtractor::printNonGeomHistoList(), SiStripInformationExtractor::printSummaryHistoList(), SiPixelInformationExtractor::printSummaryHistoList(), ElectronDqmAnalyzerBase::remove_other_dirs(), HcalDigisClient::runClient(), BTagHLTOfflineClient::runClient_(), CaloTowersClient::runClient_(), HcalRecHitsClient::runClient_(), HcalRecHitsDQMClient::runClient_(), NoiseRatesClient::runClient_(), HcalNoiseRatesClient::runClient_(), CaloTowersDQMClient::runClient_(), HcalSimHitsClient::runClient_(), JetMETHLTOfflineClient::runClient_(), HLXMonitor::SaveDQMFile(), DQMFileSaver::saveForOffline(), DQMFileSaver::saveForOnline(), SiPixelInformationExtractor::selectMEList(), SiStripTrackerMapCreator::setTkMapFromHistogram(), and HLXMonitor::SetupHists().

1631 {
1632  std::vector<std::string> result;
1633  std::set<std::string>::const_iterator e = dirs_.end();
1634  std::set<std::string>::const_iterator i = dirs_.find(pwd_);
1635 
1636  // If we didn't find current directory, the tree is empty, so quit.
1637  if (i == e)
1638  return result;
1639 
1640  // Skip the current directory and then start looking for immediate
1641  // subdirectories in the dirs_ list. Stop when we are no longer in
1642  // (direct or indirect) subdirectories of pwd_. Note that we don't
1643  // "know" which order the set will sort A/B, A/B/C and A/D.
1644  while (++i != e && isSubdirectory(pwd_, *i))
1645  if (i->find('/', pwd_.size()+1) == std::string::npos)
1646  result.push_back(*i);
1647 
1648  return result;
1649 }
int i
Definition: DBlmapReader.cc:9
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
tuple result
Definition: query.py:137
std::string pwd_
Definition: DQMStore.h:685
std::set< std::string > dirs_
Definition: DQMStore.h:687
void DQMStore::goUp ( void  )

equivalent to "cd .."

Definition at line 650 of file DQMStore.cc.

References pwd_, and setCurrentFolder().

Referenced by SiPixelActionExecutor::bookOccupancyPlots(), SiPixelDataQuality::computeGlobalQualityFlag(), SiPixelActionExecutor::createLayout(), SiStripSummaryCreator::createSummary(), SiPixelActionExecutor::dumpBarrelModIds(), SiPixelActionExecutor::dumpEndcapModIds(), JetMETDQMPostProcessor::endRun(), SiPixelTrackerMapCreator::exploreBeiStructure(), SiPixelActionExecutor::fillEfficiency(), SiPixelActionExecutor::fillFEDErrorSummary(), SiPixelDataQuality::fillGlobalQualityPlot(), SiPixelActionExecutor::fillGrandBarrelSummaryHistos(), SiPixelActionExecutor::fillGrandEndcapSummaryHistos(), SiStripSummaryCreator::fillGrandSummaryHistos(), SiPixelActionExecutor::fillLayout(), SiPixelInformationExtractor::fillModuleAndHistoList(), SiPixelActionExecutor::fillOccupancy(), SiPixelActionExecutor::fillSummary(), SiStripSummaryCreator::fillSummaryHistos(), SiPixelInformationExtractor::findNoisyPixels(), SiPixelInformationExtractor::getMEList(), TrackingUtility::getModuleFolderList(), SiStripUtility::getModuleFolderList(), SiStripBadComponentsDQMService::getModuleFolderList(), SiStripSummaryCreator::getSummaryME(), TrackingUtility::goToDir(), SiStripUtility::goToDir(), SiStripBadComponentsDQMService::goToDir(), SiStripInformationExtractor::printAlarmList(), SiPixelInformationExtractor::printAlarmList(), SiPixelInformationExtractor::printModuleHistoList(), SiStripInformationExtractor::printNonGeomHistoList(), SiStripInformationExtractor::printSummaryHistoList(), SiPixelInformationExtractor::printSummaryHistoList(), SiStripFEDErrorsDQM::readBadAPVs(), and SiPixelInformationExtractor::selectMEList().

651 {
652  size_t pos = pwd_.rfind('/');
653  if (pos == std::string::npos)
654  setCurrentFolder("");
655  else
656  setCurrentFolder(pwd_.substr(0, pos));
657 }
std::string pwd_
Definition: DQMStore.h:685
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:639
MonitorElement* DQMStore::initialise ( MonitorElement me,
const std::string &  path 
)
private

Referenced by book().

void DQMStore::initializeFrom ( const edm::ParameterSet pset)
private

Definition at line 496 of file DQMStore.cc.

References collateHistograms_, gather_cfg::cout, enableMultiThread_, edm::ParameterSet::getUntrackedParameter(), makeDirectory(), qalgos_, readFile(), reset(), s_referenceDirName, scaleFlag_, AlCaHLTBitMon_QueryRunRegistry::string, StripRunDirs, verbose_, and verboseQT_.

Referenced by DQMStore().

496  {
497  makeDirectory("");
498  reset();
499 
500  // set steerable parameters
501  verbose_ = pset.getUntrackedParameter<int>("verbose", 0);
502  if (verbose_ > 0)
503  std::cout << "DQMStore: verbosity set to " << verbose_ << std::endl;
504 
505  verboseQT_ = pset.getUntrackedParameter<int>("verboseQT", 0);
506  if (verbose_ > 0)
507  std::cout << "DQMStore: QTest verbosity set to " << verboseQT_ << std::endl;
508 
509  collateHistograms_ = pset.getUntrackedParameter<bool>("collateHistograms", false);
510  if (collateHistograms_)
511  std::cout << "DQMStore: histogram collation is enabled\n";
512 
513  enableMultiThread_ = pset.getUntrackedParameter<bool>("enableMultiThread", false);
514  if (enableMultiThread_)
515  std::cout << "DQMStore: MultiThread option is enabled\n";
516 
517  std::string ref = pset.getUntrackedParameter<std::string>("referenceFileName", "");
518  if (! ref.empty())
519  {
520  std::cout << "DQMStore: using reference file '" << ref << "'\n";
521  readFile(ref, true, "", s_referenceDirName, StripRunDirs, false);
522  }
523 
524  initQCriterion<Comp2RefChi2>(qalgos_);
525  initQCriterion<Comp2RefKolmogorov>(qalgos_);
526  initQCriterion<ContentsXRange>(qalgos_);
527  initQCriterion<ContentsYRange>(qalgos_);
528  initQCriterion<MeanWithinExpected>(qalgos_);
529  initQCriterion<Comp2RefEqualH>(qalgos_);
530  initQCriterion<DeadChannel>(qalgos_);
531  initQCriterion<NoisyChannel>(qalgos_);
532  initQCriterion<ContentsWithinExpected>(qalgos_);
533  initQCriterion<CompareToMedian>(qalgos_);
534  initQCriterion<CompareLastFilledBin>(qalgos_);
535  initQCriterion<CheckVariance>(qalgos_);
536 
537  scaleFlag_ = pset.getUntrackedParameter<double>("ScalingFlag", 0.0);
538  if (verbose_ > 0)
539  std::cout << "DQMStore: Scaling Flag set to " << scaleFlag_ << std::endl;
540 }
T getUntrackedParameter(std::string const &, T const &) const
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:2803
unsigned verboseQT_
Definition: DQMStore.h:675
double scaleFlag_
Definition: DQMStore.h:677
QAMap qalgos_
Definition: DQMStore.h:690
unsigned verbose_
Definition: DQMStore.h:674
static const std::string s_referenceDirName
Definition: DQMStore.cc:54
tuple cout
Definition: gather_cfg.py:121
void reset(void)
Definition: DQMStore.cc:1966
bool collateHistograms_
Definition: DQMStore.h:678
void makeDirectory(const std::string &path)
Definition: DQMStore.cc:663
bool enableMultiThread_
Definition: DQMStore.h:679
bool DQMStore::isCollate ( void  ) const

Definition at line 3195 of file DQMStore.cc.

References collateHistograms_.

3196 {
3197  return collateHistograms_;
3198 }
bool collateHistograms_
Definition: DQMStore.h:678
bool DQMStore::isCollateME ( MonitorElement me) const
private

Definition at line 3204 of file DQMStore.cc.

References MonitorElement::data_, DQMNet::CoreObject::dirname, isSubdirectory(), and s_collateDirName.

Referenced by extract().

3205 { return me && isSubdirectory(s_collateDirName, *me->data_.dirname); }
const std::string * dirname
Definition: DQMNet.h:104
static const std::string s_collateDirName
Definition: DQMStore.cc:55
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
DQMNet::CoreObject data_
bool DQMStore::load ( const std::string &  filename,
OpenRunDirs  stripdirs = StripRunDirs,
bool  fileMustExist = true 
)

public load root file <filename>, and copy MonitorElements; overwrite identical MonitorElements (default: true); set DQMStore.collateHistograms to true to sum several files note: by default this method strips off run dir structure

Definition at line 2776 of file DQMStore.cc.

References collateHistograms_, gather_cfg::cout, readFile(), readFilePB(), s_rxpbfile(), and verbose_.

Referenced by DQMFileReader::beginJob(), and ReadMeFromFile::beginRun().

2779 {
2780  bool overwrite = true;
2781  if (collateHistograms_) overwrite = false;
2782  if (verbose_)
2783  {
2784  std::cout << "DQMStore::load: reading from file '" << filename << "'\n";
2785  if (collateHistograms_)
2786  std::cout << "DQMStore::load: in collate mode " << "\n";
2787  else
2788  std::cout << "DQMStore::load: in overwrite mode " << "\n";
2789  }
2790 
2791  if (!s_rxpbfile.match(filename, 0, 0))
2792  return readFile(filename, overwrite, "", "", stripdirs, fileMustExist);
2793  else
2794  return readFilePB(filename, false, "", "", stripdirs, fileMustExist);
2795 }
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:2803
unsigned verbose_
Definition: DQMStore.h:674
static const lat::Regexp s_rxpbfile(".*\\.pb$")
bool readFilePB(const std::string &filename, bool overwrite=false, const std::string &path="", const std::string &prepend="", OpenRunDirs stripdirs=StripRunDirs, bool fileMustExist=true)
Definition: DQMStore.cc:2885
tuple filename
Definition: lut2db_cfg.py:20
tuple cout
Definition: gather_cfg.py:121
bool collateHistograms_
Definition: DQMStore.h:678
void DQMStore::makeDirectory ( const std::string &  path)
private

get folder corresponding to inpath wrt to root (create subdirs if necessary)

Definition at line 663 of file DQMStore.cc.

References dirs_, findObject(), mergeVDriftHistosByStation::name, raiseDQMError(), pickleFileParser::slash, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by initializeFrom(), readDirectory(), and setCurrentFolder().

664 {
665  std::string prev;
666  std::string subdir;
668  prev.reserve(path.size());
669  subdir.reserve(path.size());
670  name.reserve(path.size());
671  size_t prevname = 0;
672  size_t slash = 0;
673 
674  while (true)
675  {
676  // Create this subdirectory component.
677  subdir.clear();
678  subdir.append(path, 0, slash);
679  name.clear();
680  name.append(subdir, prevname, std::string::npos);
681  if (! prev.empty() && findObject(prev, name))
682  raiseDQMError("DQMStore", "Attempt to create subdirectory '%s'"
683  " which already exists as a monitor element",
684  subdir.c_str());
685 
686  if (! dirs_.count(subdir))
687  dirs_.insert(subdir);
688 
689  // Stop if we've reached the end (including possibly a trailing slash).
690  if (slash+1 >= path.size())
691  break;
692 
693  // Find the next slash, making sure we progress. If reach the end,
694  // process the last path component; the next loop round will terminate.
695  prevname = slash ? slash+1 : slash;
696  prev = subdir;
697  if ((slash = path.find('/', ++slash)) == std::string::npos)
698  slash = path.size();
699  }
700 }
MonitorElement * findObject(const std::string &dir, const std::string &name, const uint32_t run=0, const uint32_t lumi=0, const uint32_t streamId=0, const uint32_t moduleId=0) const
Definition: DQMStore.cc:1809
std::set< std::string > dirs_
Definition: DQMStore.h:687
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
template<typename iFunc >
void DQMStore::meBookerGetter ( iFunc  f)
inline

Definition at line 259 of file DQMStore.h.

References f, ibooker_, and igetter_.

Referenced by DQMEDHarvester::endJob(), and DQMEDHarvester::endLuminosityBlock().

259  {
260  f(*ibooker_, *igetter_);
261  }
IGetter * igetter_
Definition: DQMStore.h:695
double f[11][100]
IBooker * ibooker_
Definition: DQMStore.h:694
template<typename iFunc >
void DQMStore::meGetter ( iFunc  f)
inline

Definition at line 268 of file DQMStore.h.

References f, and igetter_.

268  {
269  f(*igetter_);
270  }
IGetter * igetter_
Definition: DQMStore.h:695
double f[11][100]
void DQMStore::mergeAndResetMEsLuminositySummaryCache ( uint32_t  run,
uint32_t  lumi,
uint32_t  streamId,
uint32_t  moduleId 
)

Definition at line 381 of file DQMStore.cc.

References book_mutex_, gather_cfg::cout, data_, MonitorElement::DQM_KIND_TH1F, alignCSCRings::e, MonitorElement::globalize(), i, HcalObjRepresent::Reset(), MonitorElement::setLumi(), AlCaHLTBitMon_QueryRunRegistry::string, and verbose_.

Referenced by DQMEDAnalyzer::endLuminosityBlockSummary().

384  {
385  if (verbose_ > 1)
386  std::cout << "Merging objects from run: "
387  << run << " lumi: " << lumi
388  << ", stream: " << streamId
389  << " module: " << moduleId << std::endl;
390  std::string null_str("");
391  MonitorElement proto(&null_str, null_str, run, streamId, moduleId);
392  std::set<MonitorElement>::const_iterator e = data_.end();
393  std::set<MonitorElement>::const_iterator i = data_.lower_bound(proto);
394  while (i != e) {
395  if (i->data_.run != run
396  || i->data_.streamId != streamId
397  || i->data_.moduleId != moduleId)
398  break;
399 
400  // Handle LS-based histograms only.
401  if (not i->getLumiFlag()) {
402  ++i;
403  continue;
404  }
405 
406  MonitorElement global_me(*i);
407  global_me.globalize();
408  global_me.setLumi(lumi);
409  // Since this accesses the data, the operation must be
410  // be locked.
411  std::lock_guard<std::mutex> guard(book_mutex_);
412  std::set<MonitorElement>::const_iterator me = data_.find(global_me);
413  if (me != data_.end()) {
414  if (verbose_ > 1)
415  std::cout << "Found global Object, using it --> ";
416 
417  //don't take any action if the ME is an INT || FLOAT || STRING
418  if(me->kind() >= MonitorElement::DQM_KIND_TH1F)
419  me->getTH1()->Add(i->getTH1());
420  } else {
421  if (verbose_ > 1)
422  std::cout << "No global Object found. ";
423  std::pair<std::set<MonitorElement>::const_iterator, bool> gme;
424  gme = data_.insert(global_me);
425  assert(gme.second);
426  }
427  const_cast<MonitorElement*>(&*i)->Reset();
428  // TODO(rovere): eventually reset the local object and mark it as reusable??
429  ++i;
430  }
431 }
int i
Definition: DBlmapReader.cc:9
tuple lumi
Definition: fjr2json.py:35
std::mutex book_mutex_
Definition: DQMStore.h:693
unsigned verbose_
Definition: DQMStore.h:674
MEMap data_
Definition: DQMStore.h:686
tuple cout
Definition: gather_cfg.py:121
void Reset(std::vector< TH2F > &depth)
void DQMStore::mergeAndResetMEsRunSummaryCache ( uint32_t  run,
uint32_t  streamId,
uint32_t  moduleId 
)

Function to transfer the local copies of histograms from each stream into the global ROOT Object. Since this involves de-facto a booking action in the case in which the global object is not yet there, the function requires the acquisition of the central lock into the DQMStore. In case we book the global object for the first time, no Add action is needed since the ROOT histograms is cloned starting from the local one.

Definition at line 332 of file DQMStore.cc.

References book_mutex_, gather_cfg::cout, data_, MonitorElement::DQM_KIND_TH1F, alignCSCRings::e, MonitorElement::globalize(), i, AlCaHLTBitMon_QueryRunRegistry::string, and verbose_.

Referenced by DQMEDAnalyzer::endRunSummary(), and FastTimerService::postStreamEndRun().

334  {
335  if (verbose_ > 1)
336  std::cout << "Merging objects from run: "
337  << run
338  << ", stream: " << streamId
339  << " module: " << moduleId << std::endl;
340  std::string null_str("");
341  MonitorElement proto(&null_str, null_str, run, streamId, moduleId);
342  std::set<MonitorElement>::const_iterator e = data_.end();
343  std::set<MonitorElement>::const_iterator i = data_.lower_bound(proto);
344  while (i != e) {
345  if (i->data_.run != run
346  || i->data_.streamId != streamId
347  || i->data_.moduleId != moduleId)
348  break;
349 
350  // Handle Run-based histograms only.
351  if (i->getLumiFlag()) {
352  ++i;
353  continue;
354  }
355 
356  MonitorElement global_me(*i);
357  global_me.globalize();
358  // Since this accesses the data, the operation must be
359  // be locked.
360  std::lock_guard<std::mutex> guard(book_mutex_);
361  std::set<MonitorElement>::const_iterator me = data_.find(global_me);
362  if (me != data_.end()) {
363  if (verbose_ > 1)
364  std::cout << "Found global Object, using it. ";
365 
366  //don't take any action if the ME is an INT || FLOAT || STRING
367  if(me->kind() >= MonitorElement::DQM_KIND_TH1F)
368  me->getTH1()->Add(i->getTH1());
369  } else {
370  if (verbose_ > 1)
371  std::cout << "No global Object found. ";
372  std::pair<std::set<MonitorElement>::const_iterator, bool> gme;
373  gme = data_.insert(global_me);
374  assert(gme.second);
375  }
376  // TODO(rovere): eventually reset the local object and mark it as reusable??
377  ++i;
378  }
379 }
int i
Definition: DBlmapReader.cc:9
std::mutex book_mutex_
Definition: DQMStore.h:693
unsigned verbose_
Definition: DQMStore.h:674
MEMap data_
Definition: DQMStore.h:686
tuple cout
Definition: gather_cfg.py:121
bool DQMStore::open ( const std::string &  filename,
bool  overwrite = false,
const std::string &  onlypath = "",
const std::string &  prepend = "",
OpenRunDirs  stripdirs = KeepRunDirs,
bool  fileMustExist = true 
)

public open/read root file <filename>, and copy MonitorElements; if flag=true, overwrite identical MonitorElements (default: false); if onlypath != "", read only selected directory if prepend !="", prepend string to path note: by default this method keeps the dir structure as in file and does not update monitor element references!

Definition at line 2761 of file DQMStore.cc.

References readFile().

Referenced by SiStripCalibLorentzAngle::algoBeginJob(), EcalCondDBWriter::analyze(), ElectronDqmAnalyzerBase::beginJob(), DQMFileReader::beginJob(), HcalMonitorClient::beginJob(), SiPixelDQMRocLevelAnalyzer::beginJob(), edmtest::DQMReferenceHistogramRootFileEventSetupAnalyzer::beginRun(), SiStripCommissioningOfflineClient::beginRun(), SiPixelHistoricInfoDQMClient::endRun(), TauDQMFileLoader::endRun(), Vispa.Plugins.ConfigEditor.ConfigEditorTabController.ConfigEditorTabController::importConfig(), ZDCMonitorClient::initialize(), PFDQMEventSelector::openInputFile(), SiStripOfflineDQM::openInputFile(), TrackingOfflineDQM::openInputFile(), DQMHistoryServiceBase::openRequestedFile(), SiStripBadComponentsDQMService::openRequestedFile(), BuildTrackerMapPlugin::read(), readFilePB(), PhotonOfflineClient::runClient(), ConversionPostprocessing::runPostprocessing(), PhotonPostprocessing::runPostprocessing(), savePB(), SiStripDQMProfileToTkMapConverter::SiStripDQMProfileToTkMapConverter(), and StatisticsFilter::StatisticsFilter().

2767 {
2768  return readFile(filename,overwrite,onlypath,prepend,stripdirs,fileMustExist);
2769 }
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:2803
tuple filename
Definition: lut2db_cfg.py:20
const DQMStore& DQMStore::operator= ( const DQMStore )
private
void DQMStore::print_trace ( const std::string &  dir,
const std::string &  name 
)
private

Definition at line 552 of file DQMStore.cc.

References i, m, alignCSCRings::r, s_rxtrace(), findQualityFiles::size, edmStreamStallGrapher::stream, and verbose_.

Referenced by book().

553 {
554  static std::ofstream stream("histogramBookingBT.log");
555  void *array[10];
556  size_t size;
557  char **strings;
558  int r=0;
559  lat::RegexpMatch m;
560  m.reset();
561 
562  size = backtrace (array, 10);
563  strings = backtrace_symbols (array, size);
564 
565  if ((size > 4)
566  &&s_rxtrace.match(strings[4], 0, 0, &m))
567  {
568  char * demangled = abi::__cxa_demangle(m.matchString(strings[4], 2).c_str(), 0, 0, &r);
569  stream << "\"" << dir << "/"
570  << name << "\" "
571  << (r ? m.matchString(strings[4], 2) : demangled) << " "
572  << m.matchString(strings[4], 1) << "\n";
573  free(demangled);
574  }
575  else
576  stream << "Skipping "<< dir << "/" << name
577  << " with stack size " << size << "\n";
578  /* In this case print the full stack trace, up to main or to the
579  * maximum stack size, i.e. 10. */
580  if (verbose_ > 4)
581  {
582  size_t i;
583  m.reset();
584 
585  for (i = 0; i < size; i++)
586  if (s_rxtrace.match(strings[i], 0, 0, &m))
587  {
588  char * demangled = abi::__cxa_demangle(m.matchString(strings[i], 2).c_str(), 0, 0, &r);
589  stream << "\t\t" << i << "/" << size << " "
590  << (r ? m.matchString(strings[i], 2) : demangled) << " "
591  << m.matchString(strings[i], 1) << std::endl;
592  free (demangled);
593  }
594  }
595  free (strings);
596 }
int i
Definition: DBlmapReader.cc:9
static const lat::Regexp s_rxtrace("(.*)\\((.*)\\+0x.*\\).*")
unsigned verbose_
Definition: DQMStore.h:674
dbl *** dir
Definition: mlp_gen.cc:35
tuple size
Write out results.
const std::string & DQMStore::pwd ( void  ) const

return pathname of current directory

Definition at line 611 of file DQMStore.cc.

References pwd_.

Referenced by SiStripDcsInfo::addBadModules(), HcalDataCertification::beginJob(), HcalDAQInfo::beginJob(), SiStripSpyMonitorModule::beginJob(), CalibrationScanTask::book(), FineDelayTask::book(), LatencyTask::book(), CalibrationTask::book(), PhotonOfflineClient::book2DHistoVector(), PhotonAnalyzer::book2DHistoVector(), PhotonOfflineClient::book3DHistoVector(), PhotonAnalyzer::book3DHistoVector(), PhotonOfflineClient::bookHisto(), PhotonAnalyzer::bookHisto(), RPCValidHistograms::bookHistograms(), SiPixelDigiSource::bookMEs(), CalibrationHistosUsingDb::CalibrationHistosUsingDb(), HcalDataCertification::CertifyHcal(), SiPixelActionExecutor::checkQTestResults(), SiPixelDataQuality::computeGlobalQualityFlag(), SiStripTrackerMapCreator::createForOffline(), SiPixelActionExecutor::createLayout(), SiStripSummaryCreator::createSummary(), SiPixelActionExecutor::dumpBarrelModIds(), SiPixelActionExecutor::dumpEndcapModIds(), DQMHcalIsoTrackPostProcessor::endJob(), HcalDAQInfo::endLuminosityBlock(), JetMETDQMPostProcessor::endRun(), HltSusyExoPostProcessor::endRun(), SiPixelTrackerMapCreator::exploreBeiStructure(), SiPixelRawDataErrorModule::fill(), SiPixelClusterModule::fill(), SiStripQualityChecker::fillDetectorStatus(), SiStripQualityChecker::fillDetectorStatusAtLumi(), SiPixelActionExecutor::fillEfficiency(), SiStripQualityChecker::fillFaultyModuleStatus(), SiPixelActionExecutor::fillFEDErrorSummary(), SiPixelDataQuality::fillGlobalQualityPlot(), SiPixelActionExecutor::fillGrandBarrelSummaryHistos(), SiPixelActionExecutor::fillGrandEndcapSummaryHistos(), SiStripSummaryCreator::fillGrandSummaryHistos(), SiPixelActionExecutor::fillLayout(), SiPixelInformationExtractor::fillModuleAndHistoList(), SiPixelActionExecutor::fillOccupancy(), SiStripCertificationInfo::fillSiStripCertificationMEs(), SiPixelActionExecutor::fillSummary(), SiStripSummaryCreator::fillSummaryHistos(), TrackingQualityChecker::fillTrackingStatus(), TrackingQualityChecker::fillTrackingStatusAtLumi(), SiStripDaqInfo::findExcludedModule(), SiPixelInformationExtractor::findNoisyPixels(), SiPixelActionExecutor::getData(), SiPixelActionExecutor::getFEDSummaryME(), SiPixelActionExecutor::getGrandSummaryME(), SiPixelInformationExtractor::getMEList(), TrackingUtility::getModuleFolderList(), SiStripUtility::getModuleFolderList(), SiStripBadComponentsDQMService::getModuleFolderList(), SiStripQualityChecker::getModuleStatus(), SiStripSummaryCreator::getSummaryME(), SiPixelActionExecutor::getSummaryME(), TrackingUtility::getTopFolderPath(), SiStripUtility::getTopFolderPath(), TrackingUtility::goToDir(), SiStripUtility::goToDir(), SiStripBadComponentsDQMService::goToDir(), SiPixelInformationExtractor::goToDir(), CommissioningHistograms::histogram(), SiPixelActionExecutor::prephistosB(), SiPixelActionExecutor::prephistosE(), SiStripInformationExtractor::printAlarmList(), SiPixelInformationExtractor::printAlarmList(), SiStripActionExecutor::printFaultyModuleList(), SiPixelInformationExtractor::printModuleHistoList(), SiStripInformationExtractor::printNonGeomHistoList(), SiStripInformationExtractor::printSummaryHistoList(), SiPixelInformationExtractor::printSummaryHistoList(), SiStripFEDErrorsDQM::readBadAPVs(), SiStripBadComponentsDQMService::readBadComponents(), ElectronDqmAnalyzerBase::remove_other_dirs(), SiPixelInformationExtractor::selectMEList(), SiStripTrackerMapCreator::setTkMapFromHistogram(), GenericBenchmark::setup(), and SubTaskSummaryStatus::WriteThreshold().

612 { return pwd_; }
std::string pwd_
Definition: DQMStore.h:685
unsigned int DQMStore::readDirectory ( TFile *  file,
bool  overwrite,
const std::string &  onlypath,
const std::string &  prepend,
const std::string &  curdir,
OpenRunDirs  stripdirs 
)
private

read ROOT objects from file <file> in directory <onlypath>; return total # of ROOT objects read

Definition at line 2606 of file DQMStore.cc.

References prof2calltree::count, gather_cfg::cout, extract(), isSubdirectory(), combine::key, makeDirectory(), GetRecoTauVFromDQM_MC_cff::next, getGTfromDQMFile::obj, raiseDQMError(), s_collateDirName, s_monitorDirName, s_referenceDirName, runGlobalFakeInputProducer::skip, pickleFileParser::slash, AlCaHLTBitMon_QueryRunRegistry::string, StripRunDirs, and verbose_.

Referenced by readFile().

2612 {
2613  unsigned int ntot = 0;
2614  unsigned int count = 0;
2615 
2616  if (! file->cd(curdir.c_str()))
2617  raiseDQMError("DQMStore", "Failed to process directory '%s' while"
2618  " reading file '%s'", curdir.c_str(), file->GetName());
2619 
2620  // Figure out current directory name, but strip out the top
2621  // directory into which we dump everything.
2622  std::string dirpart = curdir;
2623  if (dirpart.compare(0, s_monitorDirName.size(), s_monitorDirName) == 0)
2624  {
2625  if (dirpart.size() == s_monitorDirName.size())
2626  dirpart.clear();
2627  else if (dirpart[s_monitorDirName.size()] == '/')
2628  dirpart.erase(0, s_monitorDirName.size()+1);
2629  }
2630 
2631  // See if we are going to skip this directory.
2632  bool skip = (! onlypath.empty() && ! isSubdirectory(onlypath, dirpart));
2633 
2634  if (prepend == s_collateDirName ||
2635  prepend == s_referenceDirName ||
2636  stripdirs == StripRunDirs )
2637  {
2638  // Remove Run # and RunSummary dirs
2639  // first look for Run summary,
2640  // if that is found and erased, also erase Run dir
2641  size_t slash = dirpart.find('/');
2642  size_t pos = dirpart.find("/Run summary");
2643  if (slash != std::string::npos && pos !=std::string::npos)
2644  {
2645  dirpart.erase(pos,12);
2646 
2647  pos = dirpart.find("Run ");
2648  size_t length = dirpart.find('/',pos+1)-pos+1;
2649  if (pos !=std::string::npos)
2650  dirpart.erase(pos,length);
2651  }
2652  }
2653 
2654  // If we are prepending, add it to the directory name,
2655  // and suppress reading of already existing reference histograms
2656  if (prepend == s_collateDirName ||
2657  prepend == s_referenceDirName)
2658  {
2659  size_t slash = dirpart.find('/');
2660  // If we are reading reference, skip previous reference.
2661  if (slash == std::string::npos // skip if Reference is toplevel folder, i.e. no slash
2662  && slash+1+s_referenceDirName.size() == dirpart.size()
2663  && dirpart.compare(slash+1, s_referenceDirName.size(), s_referenceDirName) == 0)
2664  return 0;
2665 
2666  slash = dirpart.find('/');
2667  // Skip reading of EventInfo subdirectory.
2668  if (slash != std::string::npos
2669  && slash + 10 == dirpart.size()
2670  && dirpart.compare( slash+1 , 9 , "EventInfo") == 0) {
2671  if (verbose_)
2672  std::cout << "DQMStore::readDirectory: skipping '" << dirpart << "'\n";
2673  return 0;
2674  }
2675 
2676  // Add prefix.
2677  if (dirpart.empty())
2678  dirpart = prepend;
2679  else
2680  dirpart = prepend + '/' + dirpart;
2681  }
2682  else if (! prepend.empty())
2683  {
2684  if (dirpart.empty())
2685  dirpart = prepend;
2686  else
2687  dirpart = prepend + '/' + dirpart;
2688  }
2689 
2690  // Loop over the contents of this directory in the file.
2691  // Post-pone string object handling to happen after other
2692  // objects have been read in so we are guaranteed to have
2693  // histograms by the time we read in quality tests and tags.
2694  TKey *key;
2695  TIter next (gDirectory->GetListOfKeys());
2696  std::list<TObject *> delayed;
2697  while ((key = (TKey *) next()))
2698  {
2699  std::auto_ptr<TObject> obj(key->ReadObj());
2700  if (dynamic_cast<TDirectory *>(obj.get()))
2701  {
2702  std::string subdir;
2703  subdir.reserve(curdir.size() + strlen(obj->GetName()) + 2);
2704  subdir += curdir;
2705  if (! curdir.empty())
2706  subdir += '/';
2707  subdir += obj->GetName();
2708 
2709  ntot += readDirectory(file, overwrite, onlypath, prepend, subdir, stripdirs);
2710  }
2711  else if (skip)
2712  ;
2713  else if (dynamic_cast<TObjString *>(obj.get()))
2714  {
2715  delayed.push_back(obj.release());
2716  }
2717  else
2718  {
2719  if (verbose_ > 2)
2720  std::cout << "DQMStore: reading object '" << obj->GetName()
2721  << "' of type '" << obj->IsA()->GetName()
2722  << "' from '" << file->GetName()
2723  << "' into '" << dirpart << "'\n";
2724 
2725  makeDirectory(dirpart);
2726  if (extract(obj.get(), dirpart, overwrite))
2727  ++count;
2728  }
2729  }
2730 
2731  while (! delayed.empty())
2732  {
2733  if (verbose_ > 2)
2734  std::cout << "DQMStore: reading object '" << delayed.front()->GetName()
2735  << "' of type '" << delayed.front()->IsA()->GetName()
2736  << "' from '" << file->GetName()
2737  << "' into '" << dirpart << "'\n";
2738 
2739  makeDirectory(dirpart);
2740  if (extract(delayed.front(), dirpart, overwrite))
2741  ++count;
2742 
2743  delete delayed.front();
2744  delayed.pop_front();
2745  }
2746 
2747  if (verbose_ > 1)
2748  std::cout << "DQMStore: read " << count << '/' << ntot
2749  << " objects from directory '" << dirpart << "'\n";
2750 
2751  return ntot + count;
2752 }
static const std::string s_collateDirName
Definition: DQMStore.cc:55
static const std::string s_monitorDirName
name of global monitoring folder (containing all sources subdirectories)
Definition: DQMStore.cc:53
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
bool extract(TObject *obj, const std::string &dir, bool overwrite)
Definition: DQMStore.cc:2010
unsigned verbose_
Definition: DQMStore.h:674
static const std::string s_referenceDirName
Definition: DQMStore.cc:54
unsigned int readDirectory(TFile *file, bool overwrite, const std::string &path, const std::string &prepend, const std::string &curdir, OpenRunDirs stripdirs)
Definition: DQMStore.cc:2606
list key
Definition: combine.py:13
tuple cout
Definition: gather_cfg.py:121
void makeDirectory(const std::string &path)
Definition: DQMStore.cc:663
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
bool DQMStore::readFile ( const std::string &  filename,
bool  overwrite = false,
const std::string &  onlypath = "",
const std::string &  prepend = "",
OpenRunDirs  stripdirs = StripRunDirs,
bool  fileMustExist = true 
)
private

private readFile <filename>, and copy MonitorElements; if flag=true, overwrite identical MonitorElements (default: false); if onlypath != "", read only selected directory if prepend !="", prepend string to path if StripRunDirs is set the run and run summary folders are erased.

Definition at line 2803 of file DQMStore.cc.

References gather_cfg::cout, data_, cppFunctionSkipper::exception, f, n, raiseDQMError(), readDirectory(), and verbose_.

Referenced by initializeFrom(), load(), Vispa.Plugins.EventBrowser.EventBrowserTabController.EventBrowserTabController::navigate(), Vispa.Main.TabController.TabController::open(), open(), and Vispa.Main.TabController.TabController::refresh().

2809 {
2810 
2811  if (verbose_)
2812  std::cout << "DQMStore::readFile: reading from file '" << filename << "'\n";
2813 
2814  std::auto_ptr<TFile> f;
2815 
2816  try
2817  {
2818  f.reset(TFile::Open(filename.c_str()));
2819  if (! f.get() || f->IsZombie())
2820  raiseDQMError("DQMStore", "Failed to open file '%s'", filename.c_str());
2821  }
2822  catch (std::exception &)
2823  {
2824  if (fileMustExist)
2825  throw;
2826  else
2827  {
2828  if (verbose_)
2829  std::cout << "DQMStore::readFile: file '" << filename << "' does not exist, continuing\n";
2830  return false;
2831  }
2832  }
2833 
2834  unsigned n = readDirectory(f.get(), overwrite, onlypath, prepend, "", stripdirs);
2835  f->Close();
2836 
2837  MEMap::iterator mi = data_.begin();
2838  MEMap::iterator me = data_.end();
2839  for ( ; mi != me; ++mi)
2840  const_cast<MonitorElement &>(*mi).updateQReportStats();
2841 
2842  if (verbose_)
2843  {
2844  std::cout << "DQMStore::open: successfully read " << n
2845  << " objects from file '" << filename << "'";
2846  if (! onlypath.empty())
2847  std::cout << " from directory '" << onlypath << "'";
2848  if (! prepend.empty())
2849  std::cout << " into directory '" << prepend << "'";
2850  std::cout << std::endl;
2851  }
2852  return true;
2853 }
double f[11][100]
unsigned verbose_
Definition: DQMStore.h:674
MEMap data_
Definition: DQMStore.h:686
unsigned int readDirectory(TFile *file, bool overwrite, const std::string &path, const std::string &prepend, const std::string &curdir, OpenRunDirs stripdirs)
Definition: DQMStore.cc:2606
tuple filename
Definition: lut2db_cfg.py:20
tuple cout
Definition: gather_cfg.py:121
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
bool DQMStore::readFilePB ( const std::string &  filename,
bool  overwrite = false,
const std::string &  path = "",
const std::string &  prepend = "",
OpenRunDirs  stripdirs = StripRunDirs,
bool  fileMustExist = true 
)
private

Definition at line 2885 of file DQMStore.cc.

References gather_cfg::cout, extract(), groupFilesInBlocks::fin, get_info(), h, dqmstorepb::ROOTFilePB::histo(), dqmstorepb::ROOTFilePB::histo_size(), i, input, NULL, getGTfromDQMFile::obj, open(), getHLTPrescaleColumns::path, raiseDQMError(), setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and verbose_.

Referenced by load().

2891 {
2892  using google::protobuf::io::FileInputStream;
2893  using google::protobuf::io::FileOutputStream;
2894  using google::protobuf::io::GzipInputStream;
2895  using google::protobuf::io::GzipOutputStream;
2896  using google::protobuf::io::CodedInputStream;
2897  using google::protobuf::io::ArrayInputStream;
2898 
2899  if (verbose_)
2900  std::cout << "DQMStore::readFile: reading from file '" << filename << "'\n";
2901 
2902  int filedescriptor;
2903  if ((filedescriptor = ::open(filename.c_str(), O_RDONLY)) == -1) {
2904  if (fileMustExist)
2905  raiseDQMError("DQMStore", "Failed to open file '%s'", filename.c_str());
2906  else
2907  if (verbose_)
2908  std::cout << "DQMStore::readFile: file '" << filename << "' does not exist, continuing\n";
2909  return false;
2910  }
2911 
2912  dqmstorepb::ROOTFilePB dqmstore_message;
2913  FileInputStream fin(filedescriptor);
2914  GzipInputStream input(&fin);
2915  CodedInputStream input_coded(&input);
2916  input_coded.SetTotalBytesLimit(1024*1024*1024, -1);
2917  if (!dqmstore_message.ParseFromCodedStream(&input_coded)) {
2918  raiseDQMError("DQMStore", "Fatal parsing file '%s'", filename.c_str());
2919  return false;
2920  }
2921 
2922  for (int i = 0; i < dqmstore_message.histo_size(); i++) {
2923  std::string path;
2924  std::string objname;
2925  TH1 *obj = NULL;
2926  const dqmstorepb::ROOTFilePB::Histo &h = dqmstore_message.histo(i);
2927  get_info(h, path, objname, &obj);
2928  setCurrentFolder(path);
2929  if (obj)
2930  {
2931  extract(static_cast<TObject *>(obj), path, overwrite);
2932  delete obj;
2933  }
2934  }
2935  return true;
2936 }
int i
Definition: DBlmapReader.cc:9
#define NULL
Definition: scimark2.h:8
static std::string const input
Definition: EdmProvDump.cc:44
bool extract(TObject *obj, const std::string &dir, bool overwrite)
Definition: DQMStore.cc:2010
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
void get_info(const dqmstorepb::ROOTFilePB_Histo &, std::string &dirname, std::string &objname, TH1 **obj)
Definition: DQMStore.cc:2865
const ::dqmstorepb::ROOTFilePB_Histo & histo(int index) const
unsigned verbose_
Definition: DQMStore.h:674
tuple filename
Definition: lut2db_cfg.py:20
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:2761
tuple cout
Definition: gather_cfg.py:121
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:639
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
void DQMStore::removeContents ( void  )
void DQMStore::removeContents ( const std::string &  dir)

remove all monitoring elements from directory;

Definition at line 2964 of file DQMStore.cc.

References data_, alignCSCRings::e, i, isSubdirectory(), and AlCaHLTBitMon_QueryRunRegistry::string.

2965 {
2966  MonitorElement proto(&dir, std::string());
2967  MEMap::iterator e = data_.end();
2968  MEMap::iterator i = data_.lower_bound(proto);
2969  while (i != e && isSubdirectory(dir, *i->data_.dirname))
2970  if (dir == *i->data_.dirname)
2971  data_.erase(i++);
2972  else
2973  ++i;
2974 }
int i
Definition: DBlmapReader.cc:9
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
MEMap data_
Definition: DQMStore.h:686
dbl *** dir
Definition: mlp_gen.cc:35
void DQMStore::removeElement ( const std::string &  name)
void DQMStore::removeElement ( const std::string &  dir,
const std::string &  name,
bool  warning = true 
)

remove monitoring element from directory; if warning = true, print message if element does not exist

Definition at line 2994 of file DQMStore.cc.

References gather_cfg::cout, and data_.

2995 {
2996  MonitorElement proto(&dir, name);
2997  MEMap::iterator pos = data_.find(proto);
2998  if (pos == data_.end() && warning)
2999  std::cout << "DQMStore: WARNING: attempt to remove non-existent"
3000  << " monitor element '" << name << "' in '" << dir << "'\n";
3001  else
3002  data_.erase(pos);
3003 }
MEMap data_
Definition: DQMStore.h:686
tuple cout
Definition: gather_cfg.py:121
dbl *** dir
Definition: mlp_gen.cc:35
void DQMStore::reset ( void  )
private

Invoke this method after flushing all recently changed monitoring. Clears updated flag on all recently updated MEs and calls their Reset() method for those that have resetMe = true.

Definition at line 1966 of file DQMStore.cc.

References data_, MonitorElement::Reset(), reset_, MonitorElement::resetMe(), and MonitorElement::resetUpdate().

Referenced by DQMService::flushStandalone(), and initializeFrom().

1967 {
1968  MEMap::iterator mi = data_.begin();
1969  MEMap::iterator me = data_.end();
1970  for ( ; mi != me; ++mi)
1971  {
1972  MonitorElement &me = const_cast<MonitorElement &>(*mi);
1973  if (mi->wasUpdated())
1974  {
1975  if (me.resetMe())
1976  me.Reset();
1977  me.resetUpdate();
1978  }
1979  }
1980 
1981  reset_ = true;
1982 }
void resetUpdate(void)
reset &quot;was updated&quot; flag
bool reset_
Definition: DQMStore.h:676
MEMap data_
Definition: DQMStore.h:686
bool resetMe(void) const
true if ME should be reset at end of monitoring cycle
void Reset(void)
reset ME (ie. contents, errors, etc)
void DQMStore::rmdir ( const std::string &  path)

delete directory and all contents; delete directory (all contents + subfolders);

Definition at line 2944 of file DQMStore.cc.

References clean, cleanTrailingSlashes(), data_, dirs_, alignCSCRings::e, i, isSubdirectory(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by HLTMonPhotonClient::beginJob(), HLTMonPhotonSource::beginJob(), L1TOccupancyClient::beginJob(), HLTJetMETDQMSource::beginJob(), L1TRate_Harvest::beginJob(), FourVectorHLT::beginJob(), L1TRate::beginJob(), HLTMonSimpleBTag::beginJob(), HLTMonElectron::beginJob(), HLTMonElectronConsumer::beginJob(), L1TRPCTF::beginJob(), HLTMon::beginJob(), L1TRate_Offline::beginJob(), L1TCSCTF::beginJob(), FourVectorHLTOnline::beginJob(), L1TSync::beginJob(), L1TSync_Harvest::beginJob(), L1TSync_Offline::beginJob(), FourVectorHLTriggerOffline::beginJob(), L1TBPTX::beginJob(), FourVectorHLTOffline::beginJob(), L1TGCT::beginJob(), L1TCSCTPG::beginRun(), HLTInclusiveVBFSource::beginRun(), L1TDTTPG::beginRun(), L1TGT::beginRun(), BTagHLTOfflineSource::beginRun(), L1TdeRCT::beginRun(), JetMETHLTOfflineSource::beginRun(), TriggerValidator::beginRun(), L1TRPCTPG::beginRun(), L1ExtraRecoDQM::beginRun(), L1TCompare::beginRun(), L1GtHwValidation::beginRun(), L1ExtraDQM::beginRun(), L1TGMT::book_(), dqmCopyRecursively(), DTTriggerCheck::endJob(), DTLocalTriggerLutTask::endJob(), DTLocalTriggerBaseTask::endJob(), DTLocalTriggerSynchTask::endJob(), DTLocalTriggerTask::endJob(), SiStripCommissioningSource::remove(), CommissioningHistograms::remove(), ElectronDqmAnalyzerBase::remove_other_dirs(), and ZDCMonitorClient::removeAllME().

2945 {
2947  const std::string *cleaned = 0;
2948  cleanTrailingSlashes(path, clean, cleaned);
2949  MonitorElement proto(cleaned, std::string());
2950 
2951  MEMap::iterator e = data_.end();
2952  MEMap::iterator i = data_.lower_bound(proto);
2953  while (i != e && isSubdirectory(*cleaned, *i->data_.dirname))
2954  data_.erase(i++);
2955 
2956  std::set<std::string>::iterator de = dirs_.end();
2957  std::set<std::string>::iterator di = dirs_.lower_bound(*cleaned);
2958  while (di != de && isSubdirectory(*cleaned, *di))
2959  dirs_.erase(di++);
2960 }
int i
Definition: DBlmapReader.cc:9
static void cleanTrailingSlashes(const std::string &path, std::string &clean, const std::string *&cleaned)
Definition: DQMStore.cc:78
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
std::vector< T * > clean
Definition: MVATrainer.cc:156
MEMap data_
Definition: DQMStore.h:686
std::set< std::string > dirs_
Definition: DQMStore.h:687
void DQMStore::runQTests ( void  )

run quality tests (also finds updated contents in last monitoring cycle, including newly added content)

Definition at line 3096 of file DQMStore.cc.

References gather_cfg::cout, data_, isSubdirectory(), reset_, MonitorElement::runQTests(), s_referenceDirName, and verbose_.

Referenced by ZDCMonitorClient::analyze(), and ZDCMonitorClient::report().

3097 {
3098 
3099  if (verbose_ > 0)
3100  std::cout << "DQMStore: running runQTests() with reset = "
3101  << ( reset_ ? "true" : "false" ) << std::endl;
3102 
3103  // Apply quality tests to each monitor element, skipping references.
3104  MEMap::iterator mi = data_.begin();
3105  MEMap::iterator me = data_.end();
3106  for ( ; mi != me; ++mi)
3107  if (! isSubdirectory(s_referenceDirName, *mi->data_.dirname))
3108  const_cast<MonitorElement &>(*mi).runQTests();
3109 
3110  reset_ = false;
3111 }
void runQTests(void)
run all quality tests
bool reset_
Definition: DQMStore.h:676
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
unsigned verbose_
Definition: DQMStore.h:674
MEMap data_
Definition: DQMStore.h:686
static const std::string s_referenceDirName
Definition: DQMStore.cc:54
tuple cout
Definition: gather_cfg.py:121
void DQMStore::save ( const std::string &  filename,
const std::string &  path = "",
const std::string &  pattern = "",
const std::string &  rewrite = "",
const uint32_t  run = 0,
SaveReferenceTag  ref = SaveWithReference,
int  minStatus = dqm::qstatus::STATUS_OK,
const std::string &  fileupdate = "RECREATE" 
)

save directory with monitoring objects into root file <filename>; include quality test results with status >= minimum_status (defined in Core/interface/QTestStatus.h); if directory="", save full monitoring structure

Definition at line 2424 of file DQMStore.cc.

References cdInto(), gather_cfg::cout, data_, dirs_, MonitorElement::DQM_KIND_INT, MonitorElement::DQM_KIND_REAL, MonitorElement::DQM_KIND_STRING, DQMNet::DQM_PROP_EFFICIENCY_PLOT, DQMNet::DQM_PROP_TAGGED, alignCSCRings::e, f, mergeVDriftHistosByStation::file, i, isSubdirectory(), autoMagneticFieldProducer_cfi::master, max(), getHLTPrescaleColumns::path, raiseDQMError(), python.rootplot.root2matplotlib::replace(), s_monitorDirName, s_referenceDirName, SaveWithoutReference, SaveWithReference, SaveWithReferenceForQTest, ntuplemaker::status, AlCaHLTBitMon_QueryRunRegistry::string, and verbose_.

Referenced by SiStripGainFromData::algoEndJob(), Vispa.Main.TabController.TabController::allowClose(), CalibrationScanTask::checkAndSave(), CalibrationTask::checkAndSave(), Vispa.Main.TabController.TabController::checkModificationTimestamp(), doSaveForOnline(), DQMHOAlCaRecoStream::endJob(), PerformanceAnalyzer::endJob(), Digi2Raw2Digi::endJob(), DQMHcalIsoTrackPostProcessor::endJob(), CSCRecHitValidation::endJob(), CSCDigiValidation::endJob(), GenericBenchmarkAnalyzer::endJob(), TauDQMSimpleFileSaver::endJob(), ElectronDqmAnalyzerBase::endJob(), PFTester::endJob(), TrackingTruthValid::endJob(), SiPixelDigiValid::endJob(), SiStripDigiValid::endJob(), SiPixelHistoricInfoDQMClient::endJob(), HLTMonBTagClient::endJob(), HLTMonBTagIPSource::endJob(), HLTMonBTagMuSource::endJob(), SiPixelHistoricInfoEDAClient::endJob(), HcalDigiTester::endJob(), SiStripMonitorFilter::endJob(), SiStripMonitorHLT::endJob(), EgammaBasicClusters::endJob(), MonitorLTC::endJob(), EgammaSuperClusters::endJob(), RPCDigiValid::endJob(), TkAlCaRecoMonitor::endJob(), DTtTrigDBValidation::endJob(), LaserDQM::endJob(), HcalSimHitStudy::endJob(), HLTMonHcalIsoTrack::endJob(), MonitorTrackResiduals::endJob(), DTnoiseDBValidation::endJob(), SiStripLAProfileBooker::endJob(), SiStripMonitorDigi::endJob(), HcalDigisClient::endJob(), MixCollectionValidation::endJob(), SiPixelRecHitsValid::endJob(), SiStripCommissioningSource::endJob(), BxTiming::endJob(), BTagValidator::endJob(), DTt0DBValidation::endJob(), dEdxAnalyzer::endJob(), HLTAlCaMonEcalPhiSym::endJob(), TrackerHitAnalyzer::endJob(), SiStripMonitorCluster::endJob(), DQMHcalPhiSymAlCaReco::endJob(), SiPixelHitEfficiencySource::endJob(), LaserAlignmentT0ProducerDQM::endJob(), DQMSourceEleCalib::endJob(), HcalSimHitsValidation::endJob(), TrackEfficiencyMonitor::endJob(), TrackSplittingMonitor::endJob(), DQMHcalDiJetsAlCaReco::endJob(), APVValidationPlots::endJob(), StripValidationPlots::endJob(), L1TDTTF::endJob(), SiPixelTrackResidualSource::endJob(), GlobalTest::endJob(), TestSuite::endJob(), TrackingMonitor::endJob(), SiPixelHLTSource::endJob(), L1TDTTPG::endJob(), SiPixelDigiSource::endJob(), CaloTowersDQMClient::endJob(), HcalNoiseRatesClient::endJob(), HcalRecHitsDQMClient::endJob(), NoiseRatesClient::endJob(), CaloTowersClient::endJob(), HcalRecHitsClient::endJob(), ElectronConversionRejectionValidator::endJob(), HcalSimHitsClient::endJob(), ZDCDigiStudy::endJob(), L1TRCT::endJob(), SiStripFEDCheckPlugin::endJob(), HLTMon::endJob(), L1TRPCTF::endJob(), SiPixelRawDataErrorSource::endJob(), L1TCSCTPG::endJob(), SiPixelRecHitSource::endJob(), SiStripSpyMonitorModule::endJob(), ZdcSimHitStudy::endJob(), LogMessageMonitor::endJob(), HLTAlCaMonPi0::endJob(), TkConvValidator::endJob(), DQMSourcePi0::endJob(), SiStripMonitorTrack::endJob(), SiPixelClusterSource::endJob(), TrackingOfflineDQM::endJob(), SiStripOfflineDQM::endJob(), SiStripFEDMonitorPlugin::endJob(), L1TdeCSCTF::endJob(), PhotonValidator::endJob(), L1TCSCTF::endJob(), DQMHcalIsoTrackAlCaReco::endJob(), SiStripCMMonitorPlugin::endJob(), CSCOfflineMonitor::endJob(), L1TRPCTPG::endJob(), TauTagValidation::endJob(), L1TdeRCT::endJob(), MuonAlignment::endJob(), RCTMonitor::endJob(), ValidationHcalIsoTrackAlCaReco::endJob(), L1TCompare::endJob(), PiZeroAnalyzer::endJob(), SiPixelMuonHLT::endJob(), PhotonAnalyzer::endJob(), ZToMuMuGammaAnalyzer::endJob(), SiStripRecHitsValid::endJob(), L1TGCT::endJob(), SiPixelOfflineCalibAnalysisBase::endJob(), SiStripTrackingRecHitsValid::endJob(), SiPixelHistoricInfoDQMClient::endRun(), SiPixelHistoricInfoEDAClient::endRun(), RecoMuonValidator::endRun(), RPCEfficiencyShiftHisto::endRun(), RPCEfficiencyPerRingLayer::endRun(), SaveDQMFile::endRun(), SiStripMonitorRawData::endRun(), SiStripMonitorQuality::endRun(), GlobalMuonMatchAnalyzer::endRun(), SiStripMonitorPedestals::endRun(), MuonTrackResidualAnalyzer::endRun(), MuonTrackAnalyzer::endRun(), EcalSelectiveReadoutValidation::endRun(), RPCEfficiencySecond::endRun(), V0Validator::endRun(), MuonTrackValidator::endRun(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::extractBadAPVSandStrips(), PhotonOfflineClient::runClient(), ConversionPostprocessing::runPostprocessing(), PhotonPostprocessing::runPostprocessing(), TkHistoMap::save(), CommissioningHistograms::save(), HLXMonitor::SaveDQMFile(), SiPixelHistoricInfoEDAClient::saveFile(), DQMFileSaver::saveForFilterUnit(), DQMFileSaver::saveForOffline(), MuonSimHitsValidAnalyzer::saveHistos_CSC(), MuonSimHitsValidAnalyzer::saveHistos_DT(), MuonSimHitsValidAnalyzer::saveHistos_RPC(), PFTauElecRejectionBenchmark::write(), PFJetBenchmark::write(), PFMETBenchmark::write(), CSCDigiValidation::~CSCDigiValidation(), CSCRecHitValidation::~CSCRecHitValidation(), EcalDigisValidation::~EcalDigisValidation(), EcalRecHitsValidation::~EcalRecHitsValidation(), EcalSimHitsValidation::~EcalSimHitsValidation(), GlobalDigisHistogrammer::~GlobalDigisHistogrammer(), GlobalHitsHistogrammer::~GlobalHitsHistogrammer(), GlobalHitsProdHistStripper::~GlobalHitsProdHistStripper(), GlobalHitsTester::~GlobalHitsTester(), GlobalRecHitsHistogrammer::~GlobalRecHitsHistogrammer(), MuonDTDigis::~MuonDTDigis(), and SiPixelTrackingRecHitsValid::~SiPixelTrackingRecHitsValid().

2432 {
2433  std::set<std::string>::iterator di, de;
2434  MEMap::iterator mi, me = data_.end();
2435  DQMNet::QReports::const_iterator qi, qe;
2436  int nme=0;
2437 
2438  // TFile flushes to disk with fsync() on every TDirectory written to
2439  // the file. This makes DQM file saving painfully slow, and
2440  // ironically makes it _more_ likely the file saving gets
2441  // interrupted and corrupts the file. The utility class below
2442  // simply ignores the flush synchronisation.
2443  class TFileNoSync : public TFile
2444  {
2445  public:
2446  TFileNoSync(const char *file, const char *opt) : TFile(file, opt) {}
2447  virtual Int_t SysSync(Int_t) override { return 0; }
2448  };
2449 
2450  // open output file, on 1st save recreate, later update
2451  if (verbose_)
2452  std::cout << "\n DQMStore: Opening TFile '" << filename
2453  << "' with option '" << fileupdate <<"'\n";
2454 
2455  TFileNoSync f(filename.c_str(), fileupdate.c_str()); // open file
2456  if(f.IsZombie())
2457  raiseDQMError("DQMStore", "Failed to create/update file '%s'", filename.c_str());
2458  f.cd();
2459 
2460  // Construct a regular expression from the pattern string.
2461  std::auto_ptr<lat::Regexp> rxpat;
2462  if (! pattern.empty())
2463  rxpat.reset(new lat::Regexp(pattern.c_str()));
2464 
2465  // Prepare a path for the reference object selection.
2466  std::string refpath;
2467  refpath.reserve(s_referenceDirName.size() + path.size() + 2);
2468  refpath += s_referenceDirName;
2469  if (! path.empty())
2470  {
2471  refpath += '/';
2472  refpath += path;
2473  }
2474 
2475  // Loop over the directory structure.
2476  for (di = dirs_.begin(), de = dirs_.end(); di != de; ++di)
2477  {
2478  // Check if we should process this directory. We process the
2479  // requested part of the object tree, including references.
2480  if (! path.empty()
2481  && ! isSubdirectory(path, *di)
2482  && ! isSubdirectory(refpath, *di))
2483  continue;
2484 
2485  // Loop over monitor elements in this directory.
2486  MonitorElement proto(&*di, std::string(), run, 0, 0);
2487  mi = data_.lower_bound(proto);
2488  for ( ; mi != me && isSubdirectory(*di, *mi->data_.dirname); ++mi)
2489  {
2490  if (verbose_ > 1)
2491  std::cout << "Run: " << (*mi).run()
2492  << " Lumi: " << (*mi).lumi()
2493  << " LumiFlag: " << (*mi).getLumiFlag()
2494  << " streamId: " << (*mi).streamId()
2495  << " moduleId: " << (*mi).moduleId()
2496  << " fullpathname: " << (*mi).getPathname() << std::endl;
2497  // Skip if it isn't a direct child.
2498  if (*di != *mi->data_.dirname)
2499  continue;
2500 
2501  // Keep backward compatibility with the old way of
2502  // booking/handlind MonitorElements into the DQMStore. If run is
2503  // 0 it means that a booking happened w/ the old non-threadsafe
2504  // style, and we have to ignore the streamId and moduleId as a
2505  // consequence.
2506 
2507  if (run != 0 && (mi->data_.streamId !=0 || mi->data_.moduleId !=0))
2508  continue;
2509 
2510  // Handle reference histograms, with three distinct cases:
2511  // 1) Skip all references entirely on saving.
2512  // 2) Blanket saving of all references.
2513  // 3) Save only references for monitor elements with qtests.
2514  // The latter two are affected by "path" sub-tree selection,
2515  // i.e. references are saved only in the selected tree part.
2516  if (isSubdirectory(refpath, *mi->data_.dirname))
2517  {
2518  if (ref == SaveWithoutReference)
2519  // Skip the reference entirely.
2520  continue;
2521  else if (ref == SaveWithReference)
2522  // Save all references regardless of qtests.
2523  ;
2524  else if (ref == SaveWithReferenceForQTest)
2525  {
2526  // Save only references for monitor elements with qtests
2527  // with an optional cut on minimum quality test result.
2528  int status = -1;
2529  std::string mname(mi->getFullname(), s_referenceDirName.size()+1, std::string::npos);
2530  MonitorElement *master = get(mname);
2531  if (master)
2532  for (size_t i = 0, e = master->data_.qreports.size(); i != e; ++i)
2533  status = std::max(status, master->data_.qreports[i].code);
2534 
2535  if (! master || status < minStatus)
2536  {
2537  if (verbose_ > 1)
2538  std::cout << "DQMStore::save: skipping monitor element '"
2539  << mi->data_.objname << "' while saving, status is "
2540  << status << ", required minimum status is "
2541  << minStatus << std::endl;
2542  continue;
2543  }
2544  }
2545  }
2546 
2547  if (verbose_ > 1)
2548  std::cout << "DQMStore::save: saving monitor element '"
2549  << mi->data_.objname << "'\n";
2550  nme++; // count saved histograms
2551 
2552  // Create the directory.
2553  gDirectory->cd("/");
2554  if (di->empty())
2556  else if (rxpat.get())
2557  cdInto(s_monitorDirName + '/' + lat::StringOps::replace(*di, *rxpat, rewrite));
2558  else
2559  cdInto(s_monitorDirName + '/' + *di);
2560 
2561  // Save the object.
2562  switch (mi->kind())
2563  {
2567  TObjString(mi->tagString().c_str()).Write();
2568  break;
2569 
2570  default:
2571  mi->object_->Write();
2572  break;
2573  }
2574 
2575  // Save quality reports if this is not in reference section.
2576  if (! isSubdirectory(s_referenceDirName, *mi->data_.dirname))
2577  {
2578  qi = mi->data_.qreports.begin();
2579  qe = mi->data_.qreports.end();
2580  for ( ; qi != qe; ++qi)
2581  TObjString(mi->qualityTagString(*qi).c_str()).Write();
2582  }
2583 
2584  // Save efficiency tag, if any
2585  if (mi->data_.flags & DQMNet::DQM_PROP_EFFICIENCY_PLOT)
2586  TObjString(mi->effLabelString().c_str()).Write();
2587 
2588  // Save tag if any
2589  if (mi->data_.flags & DQMNet::DQM_PROP_TAGGED)
2590  TObjString(mi->tagLabelString().c_str()).Write();
2591  }
2592  }
2593 
2594  f.Close();
2595 
2596  // Maybe make some noise.
2597  if (verbose_)
2598  std::cout << "DQMStore::save: successfully wrote " << nme
2599  << " objects from path '" << path
2600  << "' into DQM file '" << filename << "'\n";
2601 }
int i
Definition: DBlmapReader.cc:9
bool cdInto(const std::string &path) const
Definition: DQMStore.cc:2305
static const uint32_t DQM_PROP_TAGGED
Definition: DQMNet.h:54
static const uint32_t DQM_PROP_EFFICIENCY_PLOT
Definition: DQMNet.h:63
static const std::string s_monitorDirName
name of global monitoring folder (containing all sources subdirectories)
Definition: DQMStore.cc:53
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
const T & max(const T &a, const T &b)
double f[11][100]
unsigned verbose_
Definition: DQMStore.h:674
MEMap data_
Definition: DQMStore.h:686
static const std::string s_referenceDirName
Definition: DQMStore.cc:54
tuple filename
Definition: lut2db_cfg.py:20
tuple cout
Definition: gather_cfg.py:121
tuple status
Definition: ntuplemaker.py:245
std::set< std::string > dirs_
Definition: DQMStore.h:687
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
void DQMStore::savePB ( const std::string &  filename,
const std::string &  path = "" 
)

Definition at line 2347 of file DQMStore.cc.

References dqmstorepb::ROOTFilePB::add_histo(), gather_cfg::cout, data_, dirs_, MonitorElement::DQM_KIND_TH1F, isSubdirectory(), open(), AlCaHLTBitMon_ParallelJobs::options, dqmstorepb::ROOTFilePB_Histo::set_full_pathname(), dqmstorepb::ROOTFilePB_Histo::set_size(), dqmstorepb::ROOTFilePB_Histo::set_streamed_histo(), AlCaHLTBitMon_QueryRunRegistry::string, and verbose_.

Referenced by doSaveForOnline(), DQMFileSaver::saveForFilterUnitPB(), and DQMFileSaver::saveForOfflinePB().

2349 {
2350  using google::protobuf::io::FileOutputStream;
2351  using google::protobuf::io::GzipOutputStream;
2352  using google::protobuf::io::StringOutputStream;
2353 
2354  std::set<std::string>::iterator di, de;
2355  MEMap::iterator mi, me = data_.end();
2356  dqmstorepb::ROOTFilePB dqmstore_message;
2357  int nme = 0;
2358 
2359  if (verbose_)
2360  std::cout << "\n DQMStore: Opening PBFile '"
2361  << filename << "'"<< std::endl;
2362 
2363  // Loop over the directory structure.
2364  for (di = dirs_.begin(), de = dirs_.end(); di != de; ++di)
2365  {
2366  // Check if we should process this directory. We process the
2367  // requested part of the object tree, including references.
2368  if (! path.empty()
2369  && ! isSubdirectory(path, *di))
2370  continue;
2371 
2372  // Loop over monitor elements in this directory.
2373  MonitorElement proto(&*di, std::string());
2374  mi = data_.lower_bound(proto);
2375  for ( ; mi != me && isSubdirectory(*di, *mi->data_.dirname); ++mi)
2376  {
2377  // Skip if it isn't a direct child.
2378  if (*di != *mi->data_.dirname)
2379  continue;
2380  // Skip if it is not a ROOT object
2381  if ((*mi).kind() < MonitorElement::DQM_KIND_TH1F)
2382  continue;
2383 
2384  if (verbose_ > 1)
2385  std::cout << "DQMStore::save: saving monitor element '"
2386  << *mi->data_.dirname << "/" << mi->data_.objname << "'\n";
2387 
2388  nme++;
2389  dqmstorepb::ROOTFilePB::Histo* me = dqmstore_message.add_histo();
2390  me->set_full_pathname((*mi->data_.dirname) + '/' + mi->data_.objname);
2391  TBufferFile buffer(TBufferFile::kWrite);
2392  buffer.WriteObject(mi->object_);
2393  me->set_size(buffer.Length());
2394  me->set_streamed_histo((const void*)buffer.Buffer(),
2395  buffer.Length());
2396  delete mi->object_;
2397  const_cast<MonitorElement*>(&*mi)->object_ = 0;
2398  }
2399  }
2400  int filedescriptor = ::open(filename.c_str(),
2401  O_WRONLY | O_CREAT | O_TRUNC,
2402  S_IRUSR | S_IWUSR);
2403  FileOutputStream file_stream(filedescriptor);
2405  options.format = GzipOutputStream::GZIP;
2406  options.compression_level = 6;
2407  GzipOutputStream gzip_stream(&file_stream,
2408  options);
2409  dqmstore_message.SerializeToZeroCopyStream(&gzip_stream);
2410 
2411  // Maybe make some noise.
2412  if (verbose_)
2413  std::cout << "DQMStore::save: successfully wrote " << nme
2414  << " objects from path '" << path
2415  << "' into DQM file '" << filename << "'\n";
2416 }
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
unsigned verbose_
Definition: DQMStore.h:674
void set_size(::google::protobuf::uint32 value)
MEMap data_
Definition: DQMStore.h:686
void set_full_pathname(const ::std::string &value)
std::vector< boost::shared_ptr< fireworks::OptionNode > > Options
inline::dqmstorepb::ROOTFilePB_Histo * add_histo()
tuple filename
Definition: lut2db_cfg.py:20
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:2761
tuple cout
Definition: gather_cfg.py:121
std::set< std::string > dirs_
Definition: DQMStore.h:687
void set_streamed_histo(const ::std::string &value)
void DQMStore::scaleElements ( void  )

Invoke this method after flushing all recently changed monitoring. Clears updated flag on all MEs and calls their Reset() method.

Definition at line 3212 of file DQMStore.cc.

References gather_cfg::cout, data_, dirExists(), MonitorElement::DQM_KIND_INT, MonitorElement::DQM_KIND_REAL, MonitorElement::DQM_KIND_TH1D, MonitorElement::DQM_KIND_TH1F, MonitorElement::DQM_KIND_TH1S, MonitorElement::DQM_KIND_TH2D, MonitorElement::DQM_KIND_TH2F, MonitorElement::DQM_KIND_TH2S, MonitorElement::DQM_KIND_TH3F, MonitorElement::DQM_KIND_TPROFILE, MonitorElement::DQM_KIND_TPROFILE2D, patZpeak::events, MonitorElement::getFloatValue(), MonitorElement::getFullname(), MonitorElement::getIntValue(), MonitorElement::getTH1D(), MonitorElement::getTH1F(), MonitorElement::getTH1S(), MonitorElement::getTH2D(), MonitorElement::getTH2F(), MonitorElement::getTH2S(), MonitorElement::getTH3F(), MonitorElement::getTProfile(), MonitorElement::getTProfile2D(), MonitorElement::kind(), scaleFlag_, and verbose_.

3213 {
3214  if (scaleFlag_ == 0.0) return;
3215  if (verbose_ > 0)
3216  std::cout << " =========== " << " ScaleFlag " << scaleFlag_ << std::endl;
3217  double factor = scaleFlag_;
3218  int events = 1;
3219  if (dirExists("Info/EventInfo")) {
3220  if ( scaleFlag_ == -1.0) {
3221  MonitorElement * scale_me = get("Info/EventInfo/ScaleFactor");
3222  if (scale_me && scale_me->kind()==MonitorElement::DQM_KIND_REAL) factor = scale_me->getFloatValue();
3223  }
3224  MonitorElement * event_me = get("Info/EventInfo/processedEvents");
3225  if (event_me && event_me->kind()==MonitorElement::DQM_KIND_INT) events = event_me->getIntValue();
3226  }
3227  factor = factor/(events*1.0);
3228 
3229  MEMap::iterator mi = data_.begin();
3230  MEMap::iterator me = data_.end();
3231  for ( ; mi != me; ++mi)
3232  {
3233  MonitorElement &me = const_cast<MonitorElement &>(*mi);
3234  switch (me.kind())
3235  {
3237  {
3238  me.getTH1F()->Scale(factor);
3239  break;
3240  }
3242  {
3243  me.getTH1S()->Scale(factor);
3244  break;
3245  }
3247  {
3248  me.getTH1D()->Scale(factor);
3249  break;
3250  }
3252  {
3253  me.getTH2F()->Scale(factor);
3254  break;
3255  }
3257  {
3258  me.getTH2S()->Scale(factor);
3259  break;
3260  }
3262  {
3263  me.getTH2D()->Scale(factor);
3264  break;
3265  }
3267  {
3268  me.getTH3F()->Scale(factor);
3269  break;
3270  }
3272  {
3273  me.getTProfile()->Scale(factor);
3274  break;
3275  }
3277  {
3278  me.getTProfile2D()->Scale(factor);
3279  break;
3280  }
3281  default:
3282  if (verbose_ > 0)
3283  std::cout << " The DQM object '" << me.getFullname() << "' is not scalable object " << std::endl;
3284  continue;
3285  }
3286  }
3287 }
TH2S * getTH2S(void) const
TH1S * getTH1S(void) const
TProfile2D * getTProfile2D(void) const
TH3F * getTH3F(void) const
TH1D * getTH1D(void) const
TH2D * getTH2D(void) const
double scaleFlag_
Definition: DQMStore.h:677
double getFloatValue(void) const
Kind kind(void) const
Get the type of the monitor element.
const std::string getFullname(void) const
get full name of ME including Pathname
bool dirExists(const std::string &path) const
true if directory exists
Definition: DQMStore.cc:704
unsigned verbose_
Definition: DQMStore.h:674
MEMap data_
Definition: DQMStore.h:686
int64_t getIntValue(void) const
TH1F * getTH1F(void) const
tuple events
Definition: patZpeak.py:19
TProfile * getTProfile(void) const
tuple cout
Definition: gather_cfg.py:121
TH2F * getTH2F(void) const
void DQMStore::setAccumulate ( MonitorElement me,
bool  flag 
)
private

if true, will accumulate ME contents (over many periods) until method is called with flag = false again

Definition at line 3165 of file DQMStore.cc.

References MonitorElement::setAccumulate().

3166 {
3167  if (me)
3168  me->setAccumulate(flag);
3169 }
void setAccumulate(bool)
void DQMStore::setCurrentFolder ( const std::string &  fullpath)

set the last directory in fullpath as the current directory(create if needed); to be invoked by user to specify directories for monitoring objects before booking; commands book1D (etc) & removeElement(name) imply elements in this directory!;

Definition at line 639 of file DQMStore.cc.

References clean, cleanTrailingSlashes(), makeDirectory(), pwd_, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by SiStripDcsInfo::addBadModules(), SiStripGainFromCalibTree::algoBeginRun(), HcalSummaryClient::analyze(), RPCMon_SS_Dbx_Global::analyze(), BeamMonitor::analyze(), BeamSpotProblemMonitor::analyze(), FourVectorHLT::analyze(), DQMHOAlCaRecoStream::beginJob(), BenchmarkAnalyzer::beginJob(), PFCandidateDQMAnalyzer::beginJob(), PFJetDQMAnalyzer::beginJob(), PFMETDQMAnalyzer::beginJob(), ElectronDqmAnalyzerBase::beginJob(), GenericBenchmarkAnalyzer::beginJob(), PFTester::beginJob(), L1Scalers::beginJob(), HLTMonBTagClient::beginJob(), HLTMonBTagIPSource::beginJob(), HLTMonBTagMuSource::beginJob(), DQMSourceExample::beginJob(), HLTAlCaMonEcalPhiSym::beginJob(), ScoutingAnalyzerBase::beginJob(), DQMFileReader::beginJob(), L1TGCTClient::beginJob(), RPCDaqInfo::beginJob(), SiPixelCertification::beginJob(), SiPixelDcsInfo::beginJob(), L1EmulatorErrorFlagClient::beginJob(), SiPixelDaqInfo::beginJob(), DQMHcalPhiSymAlCaReco::beginJob(), DQMFEDIntegrityClient::beginJob(), L1ScalersClient::beginJob(), DQMOfflineHLTEventInfoClient::beginJob(), L1TDTTFClient::beginJob(), BeamConditionsMonitor::beginJob(), L1TDTTPGClient::beginJob(), L1TRPCTFClient::beginJob(), EgammaBasicClusters::beginJob(), AlcaBeamMonitor::beginJob(), HLTMonBitSummary::beginJob(), DTDataIntegrityTest::beginJob(), HLTMonHcalIsoTrack::beginJob(), DQMSourceEleCalib::beginJob(), EgammaSuperClusters::beginJob(), HcalSimHitStudy::beginJob(), HLTEventInfoClient::beginJob(), TkAlCaRecoMonitor::beginJob(), DQMHcalDiJetsAlCaReco::beginJob(), TopElectronHLTOfflineSource::beginJob(), AcceptanceHistoProducer::beginJob(), QcdHighPtDQM::beginJob(), SimHitsValidationHcal::beginJob(), DTBlockedROChannelsTest::beginJob(), HLTMonPhotonClient::beginJob(), HLTMonPhotonSource::beginJob(), L1TDEMON::beginJob(), BeamMonitorBx::beginJob(), L1TOccupancyClient::beginJob(), BeamMonitor::beginJob(), ConverterTester::beginJob(), BeamSpotProblemMonitor::beginJob(), DQMClientExample::beginJob(), HLTJetMETDQMSource::beginJob(), TrackEfficiencyClient::beginJob(), L1TDTTF::beginJob(), LaserAlignmentT0ProducerDQM::beginJob(), APVValidationPlots::beginJob(), StripValidationPlots::beginJob(), HLTAlCaMonPi0::beginJob(), GlobalTest::beginJob(), DQMSourcePi0::beginJob(), L1TRate_Harvest::beginJob(), HcalDataCertification::beginJob(), TestSuite::beginJob(), HcalDCSInfo::beginJob(), DQMDaqInfo::beginJob(), FourVectorHLT::beginJob(), HLTMonSimpleBTag::beginJob(), L1TRate::beginJob(), TopDiLeptonDQM::beginJob(), ZDCDigiStudy::beginJob(), HcalDAQInfo::beginJob(), SiStripFEDCheckPlugin::beginJob(), HLTMonElectron::beginJob(), HLTMonElectronConsumer::beginJob(), L1TRPCTF::beginJob(), HLTMon::beginJob(), SiStripSpyMonitorModule::beginJob(), L1TRate_Offline::beginJob(), ZdcSimHitStudy::beginJob(), SusyDQM< Mu, Ele, Jet, Met >::beginJob(), SiStripFEDMonitorPlugin::beginJob(), L1TCSCTF::beginJob(), SiStripCMMonitorPlugin::beginJob(), DQMHcalIsoTrackAlCaReco::beginJob(), MuonAlignment::beginJob(), TauTagValidation::beginJob(), HLTScalers::beginJob(), ValidationHcalIsoTrackAlCaReco::beginJob(), FourVectorHLTOnline::beginJob(), L1TSync::beginJob(), QcdLowPtDQM::beginJob(), PiZeroAnalyzer::beginJob(), TrigResRateMon::beginJob(), EgHLTOfflineSource::beginJob(), L1TSync_Harvest::beginJob(), L1TSync_Offline::beginJob(), FourVectorHLTriggerOffline::beginJob(), PhotonAnalyzer::beginJob(), L1TBPTX::beginJob(), ZToMuMuGammaAnalyzer::beginJob(), FourVectorHLTOffline::beginJob(), L1TGCT::beginJob(), HLTScalersClient::beginJob(), MCEmbeddingValidationAnalyzer::beginJob(), CastorRecHitMonitor::beginRun(), CastorHIMonitor::beginRun(), CastorPSMonitor::beginRun(), CastorDataIntegrityMonitor::beginRun(), RPCChamberQuality::beginRun(), RPCNoisyStripTest::beginRun(), CastorDigiMonitor::beginRun(), HcalBeamClient::beginRun(), HcalCoarsePedestalClient::beginRun(), HcalDeadCellClient::beginRun(), HcalDetDiagLEDClient::beginRun(), HcalDetDiagNoiseMonitorClient::beginRun(), HcalDetDiagPedestalClient::beginRun(), HcalDetDiagTimingClient::beginRun(), HcalDigiClient::beginRun(), HcalHotCellClient::beginRun(), HcalNZSClient::beginRun(), HcalTrigPrimClient::beginRun(), HcalRecHitMonitor::beginRun(), HcalRecHitClient::beginRun(), HcalSummaryClient::beginRun(), RPCBxTest::beginRun(), RPCDataCertification::beginRun(), RPCDCSSummary::beginRun(), RPCMon_SS_Dbx_Global::beginRun(), RPCMonitorLinkSynchro::beginRun(), RPCOccupancyTest::beginRun(), CastorTowerJetMonitor::beginRun(), HcalRawDataClient::beginRun(), RPCEventSummary::beginRun(), RPCMonitorRaw::beginRun(), L1TGMTClient::beginRun(), RPCRecHitValid::beginRun(), DTOfflineSummaryClients::beginRun(), PrimaryVertexMonitor::beginRun(), DQMDcsInfoClient::beginRun(), HLTOniaSource::beginRun(), AlcaBeamMonitor::beginRun(), RPCDeadChannelTest::beginRun(), RPCDigiValid::beginRun(), HLTMonBitSummary::beginRun(), CastorChannelQualityMonitor::beginRun(), RPCMultiplicityTest::beginRun(), RPCClusterSizeTest::beginRun(), ZDCMonitorClient::beginRun(), BxTiming::beginRun(), RPCEfficiencyPerRingLayer::beginRun(), RPCEfficiencyShiftHisto::beginRun(), CastorLEDMonitor::beginRun(), DTSummaryClients::beginRun(), DQMProvInfo::beginRun(), MuonAlignmentSummary::beginRun(), L1TOccupancyClient::beginRun(), HcalMonitorClient::beginRun(), DTSegmentAnalysisTask::beginRun(), RPCDBPopConAnalyzer::beginRun(), DTNoiseTask::beginRun(), HLTJetMETDQMSource::beginRun(), SiPixelTrackResidualSource::beginRun(), L1TRCT::beginRun(), ZDCMonitorModule::beginRun(), L1TCSCTPG::beginRun(), L1TDTTPG::beginRun(), HLTInclusiveVBFSource::beginRun(), L1TGT::beginRun(), DTLocalTriggerBaseTask::beginRun(), BTagHLTOfflineSource::beginRun(), SiPixelClusterSource::beginRun(), L1TdeRCT::beginRun(), L1Validator::beginRun(), EcalZmassClient::beginRun(), L1TdeCSCTF::beginRun(), JetMETHLTOfflineSource::beginRun(), TriggerValidator::beginRun(), HLTOfflineReproducibility::beginRun(), HLTJetMETValidation::beginRun(), L1TRPCTPG::beginRun(), RPCEfficiencySecond::beginRun(), L1ExtraRecoDQM::beginRun(), L1TCompare::beginRun(), FourVectorHLTOnline::beginRun(), CastorMonitorModule::beginRun(), V0Validator::beginRun(), Vx3DHLTAnalyzer::beginRun(), EgHLTOfflineSource::beginRun(), TrigResRateMon::beginRun(), L1GtHwValidation::beginRun(), FourVectorHLTriggerOffline::beginRun(), FourVectorHLTOffline::beginRun(), HcalDetDiagPedestalMonitor::beginRun(), L1ExtraDQM::beginRun(), HcalDetDiagLaserMonitor::beginRun(), CalibrationScanTask::book(), CalibrationTask::book(), FineDelayTask::book(), LatencyTask::book(), TopSingleLepton::MonitorEnsemble::book(), SingleTopTChannelLepton::MonitorEnsemble::book(), TopDiLeptonOffline::MonitorEnsemble::book(), MEtoMEComparitor::book(), QcdUeDQM::book1D(), QcdUeDQM::book2D(), PhotonOfflineClient::book2DHistoVector(), PhotonAnalyzer::book2DHistoVector(), PhotonOfflineClient::book3DHistoVector(), PhotonAnalyzer::book3DHistoVector(), L1TGMT::book_(), DTLocalTriggerTask::bookBarrelHistos(), DTRunConditionVar::bookChamberHistos(), DTTriggerEfficiencyTask::bookChamberHistos(), DTLocalTriggerEfficiencyTest::bookChambHistos(), L1TGMTClient::bookClone1DVB(), RPCEfficiencySecond::bookDetUnitSeg(), SiPixelActionExecutor::bookDeviations(), SiPixelActionExecutor::bookEfficiency(), RPCFEDIntegrity::bookFEDMe(), SiPixelDataQuality::bookGlobalQualityFlag(), TrackingQualityChecker::bookGlobalStatus(), TrackerOfflineValidationSummary::bookHarvestingHists(), RPCValidHistograms::bookHistograms(), PixelVTXMonitor::bookHistograms(), DQMLumiMonitor::bookHistograms(), ElectronConversionRejectionValidator::bookHistograms(), L1TGT::bookHistograms(), EwkElecTauHistManager::bookHistograms(), L1GtHwValidation::bookHistograms(), L1TEventInfoClient::bookHistograms(), EwkMuTauHistManager::bookHistograms(), MCEmbeddingValidationAnalyzer::plotEntryTypeEvtWeight::bookHistograms(), MCEmbeddingValidationAnalyzer::plotEntryTypeMuonRadCorrUncertainty::bookHistograms(), MCEmbeddingValidationAnalyzer::plotEntryTypeL1ETM::bookHistograms(), MCEmbeddingValidationAnalyzer::leptonDistributionT< T >::bookHistograms(), MCEmbeddingValidationAnalyzer::electronDistributionExtra::bookHistograms(), MCEmbeddingValidationAnalyzer::tauDistributionExtra::bookHistograms(), MCEmbeddingValidationAnalyzer::leptonEfficiencyT< T >::bookHistograms(), MCEmbeddingValidationAnalyzer::leptonL1TriggerEfficiencyT1T2< T1, T2 >::bookHistograms(), MCEmbeddingValidationAnalyzer::l1ExtraObjectDistributionT< T >::bookHistograms(), MCEmbeddingValidationAnalyzer::metDistributionType::bookHistograms(), MCEmbeddingValidationAnalyzer::metL1TriggerEfficiencyType::bookHistograms(), DTt0DBValidation::bookHistos(), DTDataIntegrityTest::bookHistos(), DTDCSByLumiTask::bookHistos(), PlotMakerL1::bookHistos(), DTNoiseTask::bookHistos(), DTLocalTriggerSynchTask::bookHistos(), PlotMakerReco::bookHistos(), DTtTrigDBValidation::bookHistos(), DTLocalTriggerTask::bookHistos(), DTDataIntegrityTask::bookHistos(), DTScalerInfoTask::bookHistos(), HiggsDQM::bookHistos(), DTLocalTriggerLutTask::bookHistos(), DTSegmentAnalysisTask::bookHistos(), DTLocalTriggerBaseTask::bookHistos(), B2GDQM::bookHistos(), ExoticaDQM::bookHistos(), MuonSimHitsValidAnalyzer::bookHistos_CSC(), MuonSimHitsValidAnalyzer::bookHistos_DT(), MuonSimHitsValidAnalyzer::bookHistos_RPC(), TrackingQualityChecker::bookLSStatus(), SiPixelHLTSource::bookMEs(), SiPixelDigiSource::bookMEs(), SiPixelRawDataErrorSource::bookMEs(), SiPixelClusterSource::bookMEs(), CSCOfflineClient::bookMonitorObject(), CSCMonitorModule::bookMonitorObject(), SiPixelInformationExtractor::bookNoisyPixels(), SiPixelActionExecutor::bookOccupancyPlots(), QcdUeDQM::bookProfile(), RCTMonitor::BookRCT(), SiStripCertificationInfo::bookSiStripCertificationMEs(), SiStripQualityChecker::bookStatus(), SiStripDaqInfo::bookStatus(), SiStripDcsInfo::bookStatus(), TrigResRateMon::bookTestHisto(), CSCOfflineMonitor::bookTheHists(), SiPixelActionExecutor::bookTrackerMaps(), TrackingCertificationInfo::bookTrackingCertificationMEs(), TrackingCertificationInfo::bookTrackingCertificationMEsAtLumi(), DTTriggerEfficiencyTask::bookWheelHistos(), DTLocalTriggerTask::bookWheelHistos(), BTagHLTOfflineClient::BTagHLTOfflineClient(), BxTiming::BxTiming(), DQMGenericTnPClient::calculateEfficiency(), HeavyFlavorHarvesting::calculateEfficiency(), CalorimetryManager::CalorimetryManager(), CaloTowersValidation::CaloTowersValidation(), CastorMonitorModule::CastorMonitorModule(), cd(), HcalDataCertification::CertifyHcal(), HcalCoarsePedestalMonitor::cleanup(), HcalNZSMonitor::cleanup(), HcalTrigPrimMonitor::cleanup(), HcalRecHitMonitor::cleanup(), HcalNoiseMonitor::cleanup(), HcalLSbyLSMonitor::cleanup(), HcalDataIntegrityTask::cleanup(), HcalHotCellMonitor::cleanup(), HcalBeamMonitor::cleanup(), HcalDeadCellMonitor::cleanup(), HcalDetDiagNoiseMonitor::cleanup(), HcalMonitorModule::cleanup(), HcalDigiMonitor::cleanup(), HcalDetDiagTimingMonitor::cleanup(), HcalDetDiagLEDMonitor::cleanup(), CastorBaseMonitor::clearME(), HcalEEUSMonitor::clearME(), HcalBaseMonitor::clearME(), L1GtHwValidation::compareDaqRecord(), L1GtHwValidation::compareFDL(), L1GtHwValidation::compareGTFE(), CommissioningHistograms::copyCustomInformation(), HcalTrigPrimMonitor::create_errorflag(), HcalTrigPrimMonitor::create_et_histogram(), HcalTrigPrimMonitor::create_fg_correlation(), HcalTrigPrimMonitor::create_map(), HcalTrigPrimMonitor::create_summary(), HcalTrigPrimMonitor::create_tp_correlation(), SiStripCommissioningSource::createCablingTasks(), PFClient_JetRes::createEfficiencyPlots(), PFClient::createEfficiencyPlots(), CastorLEDMonitor::createFEDmap(), QcdUeDQM::createHistos(), QcdLowPtDQM::createHistos(), SiPixelActionExecutor::createMaps(), PFClient::createProfilePlots(), PFClient::createProjectionPlots(), PFClient_JetRes::createResolutionPlots(), PFClient::createResolutionPlots(), SiStripCommissioningSource::createRunNumber(), SiPixelActionExecutor::createSummary(), SiStripCommissioningSource::createTask(), SiStripCommissioningSource::createTasks(), CSCDigiValidation::CSCDigiValidation(), CSCRecHit2DValidation::CSCRecHit2DValidation(), CSCSegmentValidation::CSCSegmentValidation(), Digi2Raw2Digi::Digi2Raw2Digi(), dqmCopyRecursively(), DTGlobalRecoTask::DTGlobalRecoTask(), DTnoiseDBValidation::DTnoiseDBValidation(), DTt0DBValidation::DTt0DBValidation(), DTTriggerCheck::DTTriggerCheck(), DTtTrigDBValidation::DTtTrigDBValidation(), EgHLTOfflineClient::EgHLTOfflineClient(), ElectronDqmAnalyzerBase::endJob(), HarvestingAnalyzer::endJob(), BTagValidator::endJob(), PhotonAnalyzer::endJob(), ZToMuMuGammaAnalyzer::endJob(), ElectronDqmAnalyzerBase::endLuminosityBlock(), HcalLSbyLSMonitor::endLuminosityBlock(), HcalDAQInfo::endLuminosityBlock(), HLTScalersClient::endLuminosityBlock(), HltSusyExoPostProcessor::endRun(), RPCDcsInfoClient::endRun(), ElectronDqmAnalyzerBase::endRun(), RPCRecHitValidClient::endRun(), DQMGenericTnPClient::endRun(), DQMDcsInfoClient::endRun(), AlcaBeamMonitorClient::endRun(), TauDQMHistEffProducer::endRun(), TauDQMFileLoader::endRun(), HLTTauCertifier::endRun(), HcalDigisClient::endRun(), DQMOfflineHLTEventInfoClient::endRun(), GlobalHitsProdHistStripper::endRun(), PhotonDataCertification::endRun(), FourVectorHLTClient::endRun(), HLTOverallSummary::endRun(), CSCOfflineClient::endRun(), PhotonAnalyzer::endRun(), ZToMuMuGammaAnalyzer::endRun(), EwkElecDQM::EwkElecDQM(), EwkMuDQM::EwkMuDQM(), EwkMuLumiMonitorDQM::EwkMuLumiMonitorDQM(), SiStripQualityChecker::fillFaultyModuleStatus(), SiStripQualityDQM::fillGrandSummaryMEs(), HcalSummaryClient::fillReportSummary(), HcalSummaryClient::fillReportSummaryLSbyLS(), TrackerOfflineValidationSummary::fillTree(), SiStripDaqInfo::findExcludedModule(), SiPixelInformationExtractor::findNoisyPixels(), BeamMonitor::FitAndFill(), TkHistoMap::folderDefinition(), FourVectorHLT::FourVectorHLT(), FourVectorHLTOffline::FourVectorHLTOffline(), FourVectorHLTOnline::FourVectorHLTOnline(), FourVectorHLTriggerOffline::FourVectorHLTriggerOffline(), SiStripCablingDQM::getActiveDetIds(), EDMtoMEConverter::getData(), EgHLTOfflineSummaryClient::getEgHLTSumHist_(), GlobalDigisAnalyzer::GlobalDigisAnalyzer(), GlobalDigisHistogrammer::GlobalDigisHistogrammer(), GlobalHitsAnalyzer::GlobalHitsAnalyzer(), GlobalHitsHistogrammer::GlobalHitsHistogrammer(), GlobalHitsTester::GlobalHitsTester(), GlobalRecHitsAnalyzer::GlobalRecHitsAnalyzer(), GlobalRecHitsHistogrammer::GlobalRecHitsHistogrammer(), goUp(), HcalDigisClient::HcalDigisClient(), HcalDigisValidation::HcalDigisValidation(), HcalRecHitsValidation::HcalRecHitsValidation(), HcalSimHitsValidation::HcalSimHitsValidation(), HcalSubdetDigiMonitor::HcalSubdetDigiMonitor(), HcalTimingMonitorModule::HcalTimingMonitorModule(), HEff1DHit::HEff1DHit(), HEff2DHit::HEff2DHit(), HEff4DHit::HEff4DHit(), SiPixelMuonHLT::Histo_init(), CommissioningHistograms::histogram(), HLTInclusiveVBFClient::HLTInclusiveVBFClient(), HLTJetMETDQMSource::HLTJetMETDQMSource(), HLTMon::HLTMon(), HLTMonSimpleBTag::HLTMonSimpleBTag(), HLTScalers::HLTScalers(), HLTScalersClient::HLTScalersClient(), HRes1DHit::HRes1DHit(), HRes2DHit::HRes2DHit(), HRes4DHit::HRes4DHit(), HcalTimingMonitorModule::initialize(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::initializeDQMHistograms(), MuonAnalyzerSBSM::InitializePlots(), LaserDQM::initMonitors(), JetMETHLTOfflineClient::JetMETHLTOfflineClient(), L1ExtraDQM::L1ExtraDQM(), L1ExtraRecoDQM::L1ExtraRecoDQM(), L1GtHwValidation::L1GtHwValidation(), L1ScalersClient::L1ScalersClient(), L1TCompare::L1TCompare(), L1TCSCTF::L1TCSCTF(), L1TCSCTPG::L1TCSCTPG(), L1TdeRCT::L1TdeRCT(), L1TDTTF::L1TDTTF(), L1TDTTPG::L1TDTTPG(), L1TGCT::L1TGCT(), L1TRCT::L1TRCT(), L1TRPCTF::L1TRPCTF(), L1TRPCTPG::L1TRPCTPG(), L1TScalersSCAL::L1TScalersSCAL(), L1TGMTClient::makeEfficiency1D(), L1TGMTClient::makeEfficiency2D(), DQMProvInfo::makeHLTKeyInfo(), PlotCombiner::makePlot(), DQMProvInfo::makeProvInfo(), L1TGMTClient::makeRatio1D(), MixCollectionValidation::MixCollectionValidation(), MonitorElementsDb::MonitorElementsDb(), MuonDTDigis::MuonDTDigis(), RivetAnalyzer::normalizeTree(), CastorDigiMonitor::perChanHists(), CastorLEDMonitor::perChanHists(), CastorRecHitPerChan::perChanHists(), PerformanceAnalyzer::PerformanceAnalyzer(), L1TRPCTFClient::processHistograms(), SiStripFEDErrorsDQM::readBadAPVs(), readFilePB(), recoBSVTagInfoValidationAnalyzer::recoBSVTagInfoValidationAnalyzer(), ElectronDqmAnalyzerBase::remove(), RPCRecHitValid::RPCRecHitValid(), HcalDigisClient::runClient(), PhotonOfflineClient::runClient(), BTagHLTOfflineClient::runClient_(), CaloTowersClient::runClient_(), HcalNoiseRatesClient::runClient_(), CaloTowersDQMClient::runClient_(), NoiseRatesClient::runClient_(), HcalRecHitsClient::runClient_(), HcalRecHitsDQMClient::runClient_(), HcalSimHitsClient::runClient_(), HLTInclusiveVBFClient::runClient_(), JetMETHLTOfflineClient::runClient_(), TopElectronHLTOfflineClient::runClient_(), EgHLTOfflineSummaryClient::runClient_(), EgHLTOfflineClient::runClient_(), CommissioningHistograms::runNumber(), ConversionPostprocessing::runPostprocessing(), PhotonPostprocessing::runPostprocessing(), CommissioningHistograms::runType(), DQMFileSaver::saveForOffline(), MuonSimHitsValidAnalyzer::saveHistos_CSC(), MuonSimHitsValidAnalyzer::saveHistos_DT(), MuonSimHitsValidAnalyzer::saveHistos_RPC(), SiStripFolderOrganizer::setDetectorFolder(), SiPixelErrorsDigisToCalibDigis::setDQMDirectory(), SiPixelOfflineCalibAnalysisBase::setDQMDirectory(), SiPixelFolderOrganizer::setFedFolder(), SiStripFolderOrganizer::setLayerFolder(), SiPixelFolderOrganizer::setModuleFolder(), SiStripFolderOrganizer::setSiStripControlFolder(), SiStripFolderOrganizer::setSiStripFolder(), SiStripFolderOrganizer::setSiStripTopControlFolder(), HcalNZSMonitor::setup(), HcalTrigPrimMonitor::setup(), HcalCoarsePedestalMonitor::setup(), HcalCaloTowerMonitor::setup(), HcalZDCMonitor::setup(), HcalRecHitMonitor::setup(), HcalNoiseMonitor::setup(), HcalBeamMonitor::setup(), HcalLSbyLSMonitor::setup(), HcalHotCellMonitor::setup(), HcalDataIntegrityTask::setup(), HcalDeadCellMonitor::setup(), PFJetBenchmark::setup(), PFMETBenchmark::setup(), HcalEEUSMonitor::setup(), PFTauElecRejectionBenchmark::setup(), HcalDetDiagNoiseMonitor::setup(), HcalRawDataMonitor::setup(), HcalBaseDQMonitor::setup(), HcalMonitorModule::setup(), HcalDigiMonitor::setup(), HcalDetDiagTimingMonitor::setup(), HcalDetDiagLEDMonitor::setup(), HLXMonitor::SetupEventInfo(), HLXMonitor::SetupHists(), FourVectorHLTOnline::setupHltBxPlots(), TrigResRateMon::setupHltBxPlots(), FourVectorHLTOffline::setupHltBxPlots(), FourVectorHLTOnline::setupHltLsPlots(), TrigResRateMon::setupHltLsPlots(), FourVectorHLTOffline::setupHltLsPlots(), FourVectorHLTOnline::setupHltMatrix(), TrigResRateMon::setupHltMatrix(), FourVectorHLTOffline::setupHltMatrix(), TrigResRateMon::setupStreamMatrix(), HcalDigiMonitor::setupSubdetHists(), PFMETDQMAnalyzer::storeBadEvents(), PFCandidateDQMAnalyzer::storeBadEvents(), PFJetDQMAnalyzer::storeBadEvents(), TopElectronHLTOfflineClient::TopElectronHLTOfflineClient(), TriggerValidator::TriggerValidator(), TrigResRateMon::TrigResRateMon(), SubTaskSummaryStatus::WriteThreshold(), and ZDCMonitorModule::~ZDCMonitorModule().

640 {
642  const std::string *cleaned = 0;
643  cleanTrailingSlashes(fullpath, clean, cleaned);
644  makeDirectory(*cleaned);
645  pwd_ = *cleaned;
646 }
static void cleanTrailingSlashes(const std::string &path, std::string &clean, const std::string *&cleaned)
Definition: DQMStore.cc:78
std::string pwd_
Definition: DQMStore.h:685
std::vector< T * > clean
Definition: MVATrainer.cc:156
void makeDirectory(const std::string &path)
Definition: DQMStore.cc:663
void DQMStore::setVerbose ( unsigned  level)

set verbose level (0 turns all non-error messages off)

Definition at line 603 of file DQMStore.cc.

Referenced by RPCRecHitProbabilityClient::beginJob(), ElectronDqmAnalyzerBase::beginJob(), RPCDqmClient::beginJob(), L1Scalers::beginJob(), HLTMonBTagIPSource::beginJob(), HLTMonBTagMuSource::beginJob(), HLTMonBTagClient::beginJob(), ScoutingAnalyzerBase::beginJob(), EgammaBasicClusters::beginJob(), EgammaSuperClusters::beginJob(), PhotonDataCertification::beginJob(), PiZeroAnalyzer::beginJob(), ReadMeFromFile::beginRun(), SaveDQMFile::beginRun(), SiStripCommissioningOfflineClient::beginRun(), SiStripCommissioningSource::beginRun(), DTSegment2DQuality::beginRun(), DTSegment2DSLPhiQuality::beginRun(), DTSegment4DQuality::beginRun(), DTRecHitQuality::beginRun(), TrackerHitAnalyzer::bookHistograms(), BTagHLTOfflineClient::BTagHLTOfflineClient(), BTagHLTOfflineSource::BTagHLTOfflineSource(), BxTiming::BxTiming(), ConversionPostprocessing::ConversionPostprocessing(), EgHLTOfflineClient::EgHLTOfflineClient(), EgHLTOfflineSource::EgHLTOfflineSource(), FourVectorHLT::FourVectorHLT(), FourVectorHLTOffline::FourVectorHLTOffline(), FourVectorHLTOnline::FourVectorHLTOnline(), FourVectorHLTriggerOffline::FourVectorHLTriggerOffline(), GlobalDigisAnalyzer::GlobalDigisAnalyzer(), GlobalDigisHistogrammer::GlobalDigisHistogrammer(), GlobalHitsAnalyzer::GlobalHitsAnalyzer(), GlobalHitsHistogrammer::GlobalHitsHistogrammer(), GlobalHitsProdHistStripper::GlobalHitsProdHistStripper(), GlobalRecHitsAnalyzer::GlobalRecHitsAnalyzer(), GlobalRecHitsHistogrammer::GlobalRecHitsHistogrammer(), HcalSimHitStudy::HcalSimHitStudy(), HLTInclusiveVBFClient::HLTInclusiveVBFClient(), HLTInclusiveVBFSource::HLTInclusiveVBFSource(), HLTJetMETDQMSource::HLTJetMETDQMSource(), HLTMon::HLTMon(), HLTMonBitSummary::HLTMonBitSummary(), HLTMonMuonClient::HLTMonMuonClient(), HLTMonSimpleBTag::HLTMonSimpleBTag(), HLTOverallSummary::HLTOverallSummary(), HLTScalers::HLTScalers(), HLTScalersClient::HLTScalersClient(), HLXMonitor::HLXMonitor(), JetMETHLTOfflineClient::JetMETHLTOfflineClient(), JetMETHLTOfflineSource::JetMETHLTOfflineSource(), L1ExtraDQM::L1ExtraDQM(), L1ExtraRecoDQM::L1ExtraRecoDQM(), L1GtHwValidation::L1GtHwValidation(), L1TCompare::L1TCompare(), L1TCSCTF::L1TCSCTF(), L1TCSCTPG::L1TCSCTPG(), L1TdeRCT::L1TdeRCT(), L1TDTTF::L1TDTTF(), L1TDTTPG::L1TDTTPG(), L1TEfficiency_Harvesting::L1TEfficiency_Harvesting(), L1TGCT::L1TGCT(), L1TRCT::L1TRCT(), L1TRPCTF::L1TRPCTF(), L1TRPCTPG::L1TRPCTPG(), L1TScalersSCAL::L1TScalersSCAL(), MixCollectionValidation::MixCollectionValidation(), MuonDTDigis::MuonDTDigis(), MuonSimHitsValidAnalyzer::MuonSimHitsValidAnalyzer(), SiStripBadComponentsDQMService::openRequestedFile(), PhotonOfflineClient::PhotonOfflineClient(), PhotonPostprocessing::PhotonPostprocessing(), CommissioningHistograms::remove(), RivetAnalyzer::RivetAnalyzer(), SimHitsValidationHcal::SimHitsValidationHcal(), SiStripDQMProfileToTkMapConverter::SiStripDQMProfileToTkMapConverter(), SiStripGainFromCalibTree::SiStripGainFromCalibTree(), TopElectronHLTOfflineClient::TopElectronHLTOfflineClient(), TopElectronHLTOfflineSource::TopElectronHLTOfflineSource(), TriggerValidator::TriggerValidator(), TrigResRateMon::TrigResRateMon(), ZDCDigiStudy::ZDCDigiStudy(), and ZdcSimHitStudy::ZdcSimHitStudy().

604 { return; }
void DQMStore::showDirStructure ( void  ) const

Definition at line 3175 of file DQMStore.cc.

References relmon_rootfiles_spy::contents, filterCSVwithJSON::copy, gather_cfg::cout, and getContents().

Referenced by HcalBeamClient::beginJob(), HcalCoarsePedestalClient::beginJob(), HcalDetDiagNoiseMonitorClient::beginJob(), HcalTrigPrimClient::beginJob(), HcalDetDiagPedestalClient::beginJob(), HcalDetDiagTimingClient::beginJob(), HcalDigiClient::beginJob(), HcalDeadCellClient::beginJob(), HcalHotCellClient::beginJob(), HcalNZSClient::beginJob(), HcalDetDiagLEDClient::beginJob(), HcalRecHitClient::beginJob(), HcalRawDataClient::beginJob(), DQMSourceExample::beginJob(), HcalBaseDQClient::beginJob(), EgammaBasicClusters::beginJob(), EgammaSuperClusters::beginJob(), GlobalTest::beginJob(), TestSuite::beginJob(), PiZeroAnalyzer::beginJob(), DTSegment2DQuality::beginRun(), DTSegment2DSLPhiQuality::beginRun(), DTSegment4DQuality::beginRun(), TrackerHitAnalyzer::bookHistograms(), EcalBarrelMonitorDbModule::EcalBarrelMonitorDbModule(), BTagValidator::endJob(), dEdxAnalyzer::endJob(), LaserAlignmentT0ProducerDQM::endJob(), TrackEfficiencyMonitor::endJob(), TrackSplittingMonitor::endJob(), TrackingMonitor::endJob(), LogMessageMonitor::endJob(), RCTMonitor::endJob(), HLTScalersClient::endLuminosityBlock(), TauDQMFileLoader::endRun(), GlobalDigisAnalyzer::GlobalDigisAnalyzer(), GlobalDigisHistogrammer::GlobalDigisHistogrammer(), GlobalHitsAnalyzer::GlobalHitsAnalyzer(), GlobalHitsHistogrammer::GlobalHitsHistogrammer(), GlobalHitsProdHistStripper::GlobalHitsProdHistStripper(), GlobalRecHitsAnalyzer::GlobalRecHitsAnalyzer(), GlobalRecHitsHistogrammer::GlobalRecHitsHistogrammer(), HcalSimHitStudy::HcalSimHitStudy(), ZDCMonitorClient::initialize(), LaserDQM::initMonitors(), MixCollectionValidation::MixCollectionValidation(), MuonDTDigis::MuonDTDigis(), MuonSimHitsValidAnalyzer::MuonSimHitsValidAnalyzer(), HLXMonitor::SetupHists(), SimHitsValidationHcal::SimHitsValidationHcal(), ZDCDigiStudy::ZDCDigiStudy(), and ZdcSimHitStudy::ZdcSimHitStudy().

3176 {
3177  std::vector<std::string> contents;
3178  getContents(contents);
3179 
3180  std::cout << " ------------------------------------------------------------\n"
3181  << " Directory structure: \n"
3182  << " ------------------------------------------------------------\n";
3183 
3184  std::copy(contents.begin(), contents.end(),
3185  std::ostream_iterator<std::string>(std::cout, "\n"));
3186 
3187  std::cout << " ------------------------------------------------------------\n";
3188 }
std::vector< MonitorElement * > getContents(const std::string &path) const
Definition: DQMStore.cc:1708
tuple cout
Definition: gather_cfg.py:121
void DQMStore::softReset ( MonitorElement me)

reset contents (does not erase contents permanently) (makes copy of current contents; will be subtracted from future contents)

Definition at line 3148 of file DQMStore.cc.

References MonitorElement::softReset().

Referenced by TrackAnalyzer::doSoftReset(), HLXMonitor::FillHistograms(), HLXMonitor::ResetAll(), resetME(), and ecaldqm::MESet::softReset().

3149 {
3150  if (me)
3151  me->softReset();
3152 }
void softReset(void)
void DQMStore::tag ( MonitorElement me,
unsigned int  myTag 
)

tag ME as <myTag> (myTag > 0)

Definition at line 1565 of file DQMStore.cc.

References MonitorElement::data_, DQMNet::DQM_PROP_TAGGED, DQMNet::CoreObject::flags, MonitorElement::getFullname(), raiseDQMError(), and DQMNet::CoreObject::tag.

Referenced by DQMSourceExample::beginJob(), ConverterTester::beginJob(), SiStripBaseCondObjDQM::bookCumulMEs(), SiStripBaseCondObjDQM::bookProfileMEs(), SiStripBaseCondObjDQM::bookSummaryCumulMEs(), SiStripBaseCondObjDQM::bookSummaryMEs(), SiStripBaseCondObjDQM::bookSummaryProfileMEs(), extract(), get(), getContents(), EDMtoMEConverter::getData(), RPCDqmClient::getMonitorElements(), GlobalHitsTester::GlobalHitsTester(), Inspector.Inspector::SetTag(), tag(), tagAllContents(), and tagContents().

1566 {
1567  if (! myTag)
1568  raiseDQMError("DQMStore", "Attempt to tag monitor element '%s'"
1569  " with a zero tag", me->getFullname().c_str());
1570  if ((me->data_.flags & DQMNet::DQM_PROP_TAGGED) && myTag != me->data_.tag)
1571  raiseDQMError("DQMStore", "Attempt to tag monitor element '%s'"
1572  " twice with multiple tags", me->getFullname().c_str());
1573 
1574  me->data_.tag = myTag;
1576 }
uint32_t flags
Definition: DQMNet.h:97
static const uint32_t DQM_PROP_TAGGED
Definition: DQMNet.h:54
uint32_t tag
Definition: DQMNet.h:98
const std::string getFullname(void) const
get full name of ME including Pathname
DQMNet::CoreObject data_
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
void DQMStore::tag ( const std::string &  path,
unsigned int  myTag 
)

tag ME specified by full pathname (e.g. "my/long/dir/my_histo")

Definition at line 1580 of file DQMStore.cc.

References dir, findObject(), mergeVDriftHistosByStation::name, raiseDQMError(), splitPath(), AlCaHLTBitMon_QueryRunRegistry::string, and tag().

Referenced by Inspector.Inspector::SetTag().

1581 {
1582  std::string dir;
1583  std::string name;
1584  splitPath(dir, name, path);
1585 
1586  if (MonitorElement *me = findObject(dir, name))
1587  tag(me, myTag);
1588  else
1589  raiseDQMError("DQMStore", "Attempt to tag non-existent monitor element"
1590  " '%s' with tag %u", path.c_str(), myTag);
1591 
1592 }
MonitorElement * findObject(const std::string &dir, const std::string &name, const uint32_t run=0, const uint32_t lumi=0, const uint32_t streamId=0, const uint32_t moduleId=0) const
Definition: DQMStore.cc:1809
static void splitPath(std::string &dir, std::string &name, const std::string &path)
Definition: DQMStore.cc:95
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1565
dbl *** dir
Definition: mlp_gen.cc:35
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
void DQMStore::tagAllContents ( const std::string &  path,
unsigned int  myTag 
)

tag all children of folder, including all subfolders and their children; path must be an exact path name

Definition at line 1608 of file DQMStore.cc.

References clean, cleanTrailingSlashes(), data_, alignCSCRings::e, i, isSubdirectory(), AlCaHLTBitMon_QueryRunRegistry::string, and tag().

1609 {
1611  const std::string *cleaned = 0;
1612  cleanTrailingSlashes(path, clean, cleaned);
1613  MonitorElement proto(cleaned, std::string());
1614 
1615  // FIXME: WILDCARDS? Old one supported them, but nobody seemed to use them.
1616  MEMap::iterator e = data_.end();
1617  MEMap::iterator i = data_.lower_bound(proto);
1618  while (i != e && isSubdirectory(*cleaned, *i->data_.dirname))
1619  {
1620  tag(const_cast<MonitorElement *>(&*i), myTag);
1621  ++i;
1622  }
1623 }
int i
Definition: DBlmapReader.cc:9
static void cleanTrailingSlashes(const std::string &path, std::string &clean, const std::string *&cleaned)
Definition: DQMStore.cc:78
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1565
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
std::vector< T * > clean
Definition: MVATrainer.cc:156
MEMap data_
Definition: DQMStore.h:686
void DQMStore::tagContents ( const std::string &  path,
unsigned int  myTag 
)

tag all children of folder (does NOT include subfolders)

Definition at line 1596 of file DQMStore.cc.

References data_, alignCSCRings::e, i, AlCaHLTBitMon_QueryRunRegistry::string, and tag().

Referenced by DQMSourceExample::beginJob(), and HLXMonitor::SetupHists().

1597 {
1598  MonitorElement proto(&path, std::string());
1599  MEMap::iterator e = data_.end();
1600  MEMap::iterator i = data_.lower_bound(proto);
1601  for ( ; i != e && path == *i->data_.dirname; ++i)
1602  tag(const_cast<MonitorElement *>(&*i), myTag);
1603 }
int i
Definition: DBlmapReader.cc:9
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1565
MEMap data_
Definition: DQMStore.h:686
void DQMStore::useQTest ( const std::string &  dir,
const std::string &  qtname 
)

attach quality test <qtname> to directory contents (need exact pathname without wildcards, e.g. A/B/C);

Definition at line 3043 of file DQMStore.cc.

References clean, cleanTrailingSlashes(), raiseDQMError(), s_safe, AlCaHLTBitMon_QueryRunRegistry::string, and useQTestByMatch().

Referenced by createMeanValueTest(), createXRangeTest(), and createYRangeTest().

3044 {
3045  // Clean the path
3047  const std::string *cleaned = 0;
3048  cleanTrailingSlashes(dir, clean, cleaned);
3049 
3050  // Validate the path.
3051  if (cleaned->find_first_not_of(s_safe) != std::string::npos)
3052  raiseDQMError("DQMStore", "Monitor element path name '%s'"
3053  " uses unacceptable characters", cleaned->c_str());
3054 
3055  // Redirect to the pattern match version.
3056  useQTestByMatch(*cleaned + "/*", qtname);
3057 }
static const std::string s_safe
Definition: DQMStore.cc:56
static void cleanTrailingSlashes(const std::string &path, std::string &clean, const std::string *&cleaned)
Definition: DQMStore.cc:78
std::vector< T * > clean
Definition: MVATrainer.cc:156
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:3061
dbl *** dir
Definition: mlp_gen.cc:35
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
int DQMStore::useQTestByMatch ( const std::string &  pattern,
const std::string &  qtname 
)

attach quality test <qc> to monitor elements matching <pattern>.

Definition at line 3061 of file DQMStore.cc.

References MonitorElement::addQReport(), data_, getQCriterion(), mergePath(), getHLTPrescaleColumns::path, qtestspecs_, raiseDQMError(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by QTestHandle::attachTests(), and useQTest().

3062 {
3063  QCriterion *qc = getQCriterion(qtname);
3064  if (! qc)
3065  raiseDQMError("DQMStore", "Cannot apply non-existent quality test '%s'",
3066  qtname.c_str());
3067 
3068  fastmatch * fm = new fastmatch( pattern );
3069 
3070  // Record the test for future reference.
3071  QTestSpec qts(fm, qc);
3072  qtestspecs_.push_back(qts);
3073 
3074  // Apply the quality test.
3075  MEMap::iterator mi = data_.begin();
3076  MEMap::iterator me = data_.end();
3077  std::string path;
3078  int cases = 0;
3079  for ( ; mi != me; ++mi)
3080  {
3081  path.clear();
3082  mergePath(path, *mi->data_.dirname, mi->data_.objname);
3083  if (fm->match(path))
3084  {
3085  ++cases;
3086  const_cast<MonitorElement &>(*mi).addQReport(qts.second);
3087  }
3088  }
3089 
3090  //return the number of matched cases
3091  return cases;
3092 }
QCriterion * getQCriterion(const std::string &qtname) const
Definition: DQMStore.cc:3011
std::pair< fastmatch *, QCriterion * > QTestSpec
Definition: DQMStore.h:668
static void mergePath(std::string &path, const std::string &dir, const std::string &name)
Definition: DQMStore.cc:108
QTestSpecs qtestspecs_
Definition: DQMStore.h:691
MEMap data_
Definition: DQMStore.h:686
void addQReport(const DQMNet::QValue &desc, QCriterion *qc)
Add quality report, from DQMStore.
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11

Friends And Related Function Documentation

friend class DQMArchiver
friend

Definition at line 700 of file DQMStore.h.

friend class DQMNet
friend

Definition at line 699 of file DQMStore.h.

friend class DQMService
friend

Definition at line 698 of file DQMStore.h.

friend class DQMStoreExample
friend

Definition at line 701 of file DQMStore.h.

friend class edm::DQMHttpSource
friend

Definition at line 697 of file DQMStore.h.

Member Data Documentation

std::mutex DQMStore::book_mutex_
private
bool DQMStore::collateHistograms_
private

Definition at line 678 of file DQMStore.h.

Referenced by book(), bookFloat(), bookInt(), bookString(), extract(), initializeFrom(), isCollate(), and load().

MEMap DQMStore::data_
private
std::set<std::string> DQMStore::dirs_
private
bool DQMStore::enableMultiThread_
private

Definition at line 679 of file DQMStore.h.

Referenced by bookTransaction(), DQMStore(), and initializeFrom().

IBooker* DQMStore::ibooker_
private

Definition at line 694 of file DQMStore.h.

Referenced by bookTransaction(), DQMStore(), and meBookerGetter().

IGetter* DQMStore::igetter_
private

Definition at line 695 of file DQMStore.h.

Referenced by DQMStore(), meBookerGetter(), and meGetter().

uint32_t DQMStore::moduleId_
private

Definition at line 683 of file DQMStore.h.

Referenced by book(), bookFloat(), bookInt(), bookString(), and bookTransaction().

DQMStore::pwd_
private
DQMStore::qalgos_
private

Set of all the available quality test algorithms.

Definition at line 690 of file DQMStore.h.

Referenced by createQTest(), and initializeFrom().

DQMStore::qtests_
private

All the quality tests.

Definition at line 689 of file DQMStore.h.

Referenced by createQTest(), getQCriterion(), and ~DQMStore().

QTestSpecs DQMStore::qtestspecs_
private

Definition at line 691 of file DQMStore.h.

Referenced by book(), useQTestByMatch(), and ~DQMStore().

DQMStore::readSelectedDirectory_
private

If non-empty, read from file only selected directory.

Definition at line 680 of file DQMStore.h.

DQMStore::reset_
private

Flag used to print out a warning when calling quality tests. twice without having called reset() in between; to be reset in DQMOldReceiver::runQualityTests.

Definition at line 676 of file DQMStore.h.

Referenced by forceReset(), reset(), and runQTests().

uint32_t DQMStore::run_
private

Definition at line 681 of file DQMStore.h.

Referenced by book(), bookFloat(), bookInt(), bookString(), and bookTransaction().

double DQMStore::scaleFlag_
private

Definition at line 677 of file DQMStore.h.

Referenced by initializeFrom(), and scaleElements().

uint32_t DQMStore::streamId_
private

Definition at line 682 of file DQMStore.h.

Referenced by book(), bookFloat(), bookInt(), bookString(), and bookTransaction().

DQMStore::verbose_
private
DQMStore::verboseQT_
private

Verbose flag for xml-based QTests.

Definition at line 675 of file DQMStore.h.

Referenced by createQTest(), and initializeFrom().