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, const uint32_t lumi=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE", const bool resetMEsAfterWriting=false)
 
void savePB (const std::string &filename, const std::string &path="", const uint32_t run=0, const uint32_t lumi=0, const bool resetMEsAfterWriting=false)
 
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, bool collateHistograms)
 
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, TObject **obj)
 
MonitorElementinitialise (MonitorElement *me, const std::string &path)
 
void initializeFrom (const edm::ParameterSet &)
 
bool isCollateME (MonitorElement *me) const
 
void makeDirectory (const std::string &path)
 
void markForDeletion (uint32_t run, uint32_t lumi)
 
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_
 
bool forceResetOnBeginLumi_
 
IBookeribooker_
 
IGetterigetter_
 
bool LSbasedMode_
 
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 DQMFileSaver
 
class DQMNet
 
class DQMRootOutputModule
 
class DQMService
 
class DQMStoreExample
 
class edm::DQMHttpSource
 
class MEtoEDMConverter
 

Detailed Description

Definition at line 73 of file DQMStore.h.

Member Typedef Documentation

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

Definition at line 679 of file DQMStore.h.

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

Definition at line 681 of file DQMStore.h.

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

Definition at line 680 of file DQMStore.h.

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

Definition at line 677 of file DQMStore.h.

Definition at line 678 of file DQMStore.h.

Member Enumeration Documentation

Enumerator
KeepRunDirs 
StripRunDirs 

Definition at line 82 of file DQMStore.h.

Enumerator
SaveWithoutReference 
SaveWithReference 
SaveWithReferenceForQTest 

Definition at line 76 of file DQMStore.h.

Constructor & Destructor Documentation

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

Definition at line 453 of file DQMStore.cc.

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

454  : verbose_ (1),
455  verboseQT_ (1),
456  reset_ (false),
457  collateHistograms_ (false),
458  enableMultiThread_(false),
459  forceResetOnBeginLumi_(false),
461  run_(0),
462  streamId_(0),
463  moduleId_(0),
464  pwd_ (""),
465  ibooker_(0),
466  igetter_(0)
467 {
468  if (!ibooker_)
469  ibooker_ = new DQMStore::IBooker(this);
470  if (!igetter_)
471  igetter_ = new DQMStore::IGetter(this);
472  initializeFrom(pset);
473 
474  if(pset.getUntrackedParameter<bool>("forceResetOnBeginRun",false)) {
476  }
477  ar.preallocateSignal_.connect([this](edm::service::SystemBounds const& iBounds) {
478  if(iBounds.maxNumberOfStreams() > 1 ) {
479  enableMultiThread_ = true;
480  }
481  });
482  if(pset.getUntrackedParameter<bool>("forceResetOnBeginLumi",false) && enableMultiThread_ == false) {
483  forceResetOnBeginLumi_ = true;
485  }
486 }
IGetter * igetter_
Definition: DQMStore.h:706
T getUntrackedParameter(std::string const &, T const &) const
uint32_t streamId_
Definition: DQMStore.h:693
bool reset_
Definition: DQMStore.h:685
void initializeFrom(const edm::ParameterSet &)
Definition: DQMStore.cc:520
uint32_t moduleId_
Definition: DQMStore.h:694
Preallocate preallocateSignal_
signal is emitted before beginJob
unsigned int maxNumberOfStreams() const
Definition: SystemBounds.h:43
void forceReset(void)
Definition: DQMStore.cc:2019
unsigned verboseQT_
Definition: DQMStore.h:684
void watchPostSourceRun(PostSourceRun::slot_type const &iSlot)
uint32_t run_
Definition: DQMStore.h:692
std::string pwd_
Definition: DQMStore.h:696
IBooker * ibooker_
Definition: DQMStore.h:705
std::string readSelectedDirectory_
Definition: DQMStore.h:691
void watchPostSourceLumi(PostSourceLumi::slot_type const &iSlot)
unsigned verbose_
Definition: DQMStore.h:683
bool forceResetOnBeginLumi_
Definition: DQMStore.h:690
bool collateHistograms_
Definition: DQMStore.h:687
void connect(U iFunc)
Definition: Signal.h:63
bool enableMultiThread_
Definition: DQMStore.h:688
DQMStore::DQMStore ( const edm::ParameterSet pset)

Definition at line 488 of file DQMStore.cc.

References ibooker_, igetter_, and initializeFrom().

489  : verbose_ (1),
490  verboseQT_ (1),
491  reset_ (false),
492  collateHistograms_ (false),
493  enableMultiThread_(false),
495  run_(0),
496  streamId_(0),
497  moduleId_(0),
498  pwd_ (""),
499  ibooker_(0),
500  igetter_(0)
501 {
502  if (!ibooker_)
503  ibooker_ = new DQMStore::IBooker(this);
504  if (!igetter_)
505  igetter_ = new DQMStore::IGetter(this);
506  initializeFrom(pset);
507 }
IGetter * igetter_
Definition: DQMStore.h:706
uint32_t streamId_
Definition: DQMStore.h:693
bool reset_
Definition: DQMStore.h:685
void initializeFrom(const edm::ParameterSet &)
Definition: DQMStore.cc:520
uint32_t moduleId_
Definition: DQMStore.h:694
unsigned verboseQT_
Definition: DQMStore.h:684
uint32_t run_
Definition: DQMStore.h:692
std::string pwd_
Definition: DQMStore.h:696
IBooker * ibooker_
Definition: DQMStore.h:705
std::string readSelectedDirectory_
Definition: DQMStore.h:691
unsigned verbose_
Definition: DQMStore.h:683
bool collateHistograms_
Definition: DQMStore.h:687
bool enableMultiThread_
Definition: DQMStore.h:688
DQMStore::~DQMStore ( void  )

Definition at line 509 of file DQMStore.cc.

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

510 {
511  for (QCMap::iterator i = qtests_.begin(), e = qtests_.end(); i != e; ++i)
512  delete i->second;
513 
514  for (QTestSpecs::iterator i = qtestspecs_.begin(), e = qtestspecs_.end(); i != e; ++i)
515  delete i->first;
516 
517 }
int i
Definition: DBlmapReader.cc:9
QCMap qtests_
Definition: DQMStore.h:700
QTestSpecs qtestspecs_
Definition: DQMStore.h:702
for(const auto &isodef:isoDefs)
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 809 of file DQMStore.cc.

References gather_cfg::cout, data_, dirs_, findObject(), mergePath(), moduleId_, mergeVDriftHistosByStation::name, cmsHarvester::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().

812 {
813  assert(name.find('/') == std::string::npos);
814  if (verbose_ > 3)
815  print_trace(dir, name);
816 
817  // Check if the request monitor element already exists.
819  {
820  if (verbose_ > 1)
821  {
823  mergePath(path, dir, name);
824 
825  std::cout << "DQMStore: "
826  << context << ": monitor element '"
827  << path << "' already exists, resetting" << std::endl;
828  }
829  me->Reset();
830  return me;
831  }
832  else
833  {
834  // Create it and return for initialisation.
835  assert(dirs_.count(dir));
836  MonitorElement proto(&*dirs_.find(dir), name, run_, streamId_, moduleId_);
837  return &const_cast<MonitorElement &>(*data_.insert(proto).first);
838  }
839 }
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:1838
uint32_t streamId_
Definition: DQMStore.h:693
uint32_t moduleId_
Definition: DQMStore.h:694
tuple path
else: Piece not in the list, fine.
uint32_t run_
Definition: DQMStore.h:692
unsigned verbose_
Definition: DQMStore.h:683
MEMap data_
Definition: DQMStore.h:697
void print_trace(const std::string &dir, const std::string &name)
Definition: DQMStore.cc:580
tuple cout
Definition: gather_cfg.py:121
dbl *** dir
Definition: mlp_gen.cc:35
std::set< std::string > dirs_
Definition: DQMStore.h:698
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 740 of file DQMStore.cc.

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

743 {
744  assert(name.find('/') == std::string::npos);
745  if (verbose_ > 3)
746  print_trace(dir, name);
748  mergePath(path, dir, name);
749 
750  // Put us in charge of h.
751  h->SetDirectory(0);
752 
753  // Check if the request monitor element already exists.
755  if (me)
756  {
757  if (collateHistograms_)
758  {
759  collate(me, h);
760  delete h;
761  return me;
762  }
763  else
764  {
765  if (verbose_ > 1)
766  std::cout << "DQMStore: "
767  << context << ": monitor element '"
768  << path << "' already exists, collating" << std::endl;
769  me->Reset();
770  collate(me, h);
771  delete h;
772  return me;
773  }
774  }
775  else
776  {
777  // Create and initialise core object.
778  assert(dirs_.count(dir));
779  MonitorElement proto(&*dirs_.find(dir), name, run_, streamId_, moduleId_);
780  me = const_cast<MonitorElement &>(*data_.insert(proto).first)
782 
783  // Initialise quality test information.
784  QTestSpecs::iterator qi = qtestspecs_.begin();
785  QTestSpecs::iterator qe = qtestspecs_.end();
786  for ( ; qi != qe; ++qi)
787  {
788  if ( qi->first->match(path) )
789  me->addQReport(qi->second);
790  }
791 
792  // Assign reference if we have one.
793  std::string refdir;
794  refdir.reserve(s_referenceDirName.size() + dir.size() + 2);
795  refdir += s_referenceDirName;
796  refdir += '/';
797  refdir += dir;
798 
799  if (MonitorElement *refme = findObject(refdir, name))
800  {
801  me->data_.flags |= DQMNet::DQM_PROP_HAS_REFERENCE;
802  }
803  // Return the monitor element.
804  return me;
805  }
806 }
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:1838
uint32_t streamId_
Definition: DQMStore.h:693
uint32_t moduleId_
Definition: DQMStore.h:694
static const uint32_t DQM_PROP_HAS_REFERENCE
Definition: DQMNet.h:53
QTestSpecs qtestspecs_
Definition: DQMStore.h:702
tuple path
else: Piece not in the list, fine.
uint32_t run_
Definition: DQMStore.h:692
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:683
MEMap data_
Definition: DQMStore.h:697
static const std::string s_referenceDirName
Definition: DQMStore.cc:54
void print_trace(const std::string &dir, const std::string &name)
Definition: DQMStore.cc:580
tuple cout
Definition: gather_cfg.py:121
dbl *** dir
Definition: mlp_gen.cc:35
std::set< std::string > dirs_
Definition: DQMStore.h:698
bool collateHistograms_
Definition: DQMStore.h:687
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 954 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(), AlcaBeamMonitor::beginJob(), HLTMonBitSummary::beginJob(), HLTMonHcalIsoTrack::beginJob(), DQMSourceEleCalib::beginJob(), QcdHighPtDQM::beginJob(), HcalSimHitStudy::beginJob(), TkAlCaRecoMonitor::beginJob(), DQMHcalDiJetsAlCaReco::beginJob(), SimHitsValidationHcal::beginJob(), HLTMonPhotonSource::beginJob(), HLTMonPhotonClient::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(), 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(), RPCMon_SS_Dbx_Global::beginRun(), RPCOccupancyTest::beginRun(), CastorTowerJetMonitor::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(), L1TRCT::beginRun(), ZDCMonitorModule::beginRun(), L1TCSCTPG::beginRun(), HLTInclusiveVBFSource::beginRun(), L1TDTTPG::beginRun(), BTagHLTOfflineSource::beginRun(), L1TdeRCT::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(), HLTMonBTagIPSource::book(), HLTMonBTagMuSource::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(), 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(), 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(), AlcaBeamMonitorClient::endRun(), DQMDcsInfoClient::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(), HcalDataIntegrityTask::setup(), HcalHotCellMonitor::setup(), HcalDeadCellMonitor::setup(), HcalDetDiagNoiseMonitor::setup(), HcalEEUSMonitor::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().

956 {
957  return book1D(pwd_, name, new TH1F(name, title, nchX, lowX, highX));
958 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:954
std::string pwd_
Definition: DQMStore.h:696
MonitorElement * DQMStore::book1D ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX 
)

Book 1D histogram.

Definition at line 962 of file DQMStore.cc.

References book1D(), and pwd_.

964 {
965  return book1D(pwd_, name, new TH1F(name.c_str(), title.c_str(), nchX, lowX, highX));
966 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:954
std::string pwd_
Definition: DQMStore.h:696
MonitorElement * DQMStore::book1D ( const char *  name,
const char *  title,
int  nchX,
float *  xbinsize 
)

Book 1D variable bin histogram.

Definition at line 1002 of file DQMStore.cc.

References book1D(), and pwd_.

1004 {
1005  return book1D(pwd_, name, new TH1F(name, title, nchX, xbinsize));
1006 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:954
std::string pwd_
Definition: DQMStore.h:696
MonitorElement * DQMStore::book1D ( const std::string &  name,
const std::string &  title,
int  nchX,
float *  xbinsize 
)

Book 1D variable bin histogram.

Definition at line 1010 of file DQMStore.cc.

References book1D(), and pwd_.

1012 {
1013  return book1D(pwd_, name, new TH1F(name.c_str(), title.c_str(), nchX, xbinsize));
1014 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:954
std::string pwd_
Definition: DQMStore.h:696
MonitorElement * DQMStore::book1D ( const char *  name,
TH1F *  h 
)

Book 1D histogram by cloning an existing histogram.

Definition at line 1018 of file DQMStore.cc.

References book1D(), and pwd_.

1019 {
1020  return book1D(pwd_, name, static_cast<TH1F *>(source->Clone(name)));
1021 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:954
std::string pwd_
Definition: DQMStore.h:696
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 1025 of file DQMStore.cc.

References book1D(), and pwd_.

1026 {
1027  return book1D(pwd_, name, static_cast<TH1F *>(source->Clone(name.c_str())));
1028 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:954
std::string pwd_
Definition: DQMStore.h:696
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 933 of file DQMStore.cc.

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

934 {
935  return book(dir, name, "book1D", MonitorElement::DQM_KIND_TH1F, h, collate1D);
936 }
static void collate1D(MonitorElement *me, TH1F *h)
Definition: DQMStore.cc:1521
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:809
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 986 of file DQMStore.cc.

References pwd_.

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

988 {
989  return book1DD(pwd_, name, new TH1D(name, title, nchX, lowX, highX));
990 }
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:986
std::string pwd_
Definition: DQMStore.h:696
MonitorElement * DQMStore::book1DD ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX 
)

Book 1S histogram.

Definition at line 994 of file DQMStore.cc.

References book1DD(), and pwd_.

996 {
997  return book1DD(pwd_, name, new TH1D(name.c_str(), title.c_str(), nchX, lowX, highX));
998 }
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:986
std::string pwd_
Definition: DQMStore.h:696
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 1046 of file DQMStore.cc.

References book1DD(), and pwd_.

1047 {
1048  return book1DD(pwd_, name, static_cast<TH1D *>(source->Clone(name)));
1049 }
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:986
std::string pwd_
Definition: DQMStore.h:696
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 1053 of file DQMStore.cc.

References book1DD(), and pwd_.

1054 {
1055  return book1DD(pwd_, name, static_cast<TH1D *>(source->Clone(name.c_str())));
1056 }
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:986
std::string pwd_
Definition: DQMStore.h:696
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 947 of file DQMStore.cc.

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

948 {
949  return book(dir, name, "book1DD", MonitorElement::DQM_KIND_TH1D, h, collate1DD);
950 }
static void collate1DD(MonitorElement *me, TH1D *h)
Definition: DQMStore.cc:1535
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:809
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 970 of file DQMStore.cc.

References pwd_.

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

972 {
973  return book1S(pwd_, name, new TH1S(name, title, nchX, lowX, highX));
974 }
std::string pwd_
Definition: DQMStore.h:696
MonitorElement * book1S(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:970
MonitorElement * DQMStore::book1S ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX 
)

Book 1S histogram.

Definition at line 978 of file DQMStore.cc.

References book1S(), and pwd_.

980 {
981  return book1S(pwd_, name, new TH1S(name.c_str(), title.c_str(), nchX, lowX, highX));
982 }
std::string pwd_
Definition: DQMStore.h:696
MonitorElement * book1S(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:970
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 1032 of file DQMStore.cc.

References book1S(), and pwd_.

1033 {
1034  return book1S(pwd_, name, static_cast<TH1S *>(source->Clone(name)));
1035 }
std::string pwd_
Definition: DQMStore.h:696
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:970
MonitorElement * DQMStore::book1S ( const std::string &  name,
TH1S *  h 
)

Book 1S histogram by cloning an existing histogram.

Definition at line 1039 of file DQMStore.cc.

References book1S(), and pwd_.

1040 {
1041  return book1S(pwd_, name, static_cast<TH1S *>(source->Clone(name.c_str())));
1042 }
std::string pwd_
Definition: DQMStore.h:696
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:970
MonitorElement * DQMStore::book1S ( const std::string &  dir,
const std::string &  name,
TH1S *  h 
)
private

Book 1D histogram based on TH1S.

Definition at line 940 of file DQMStore.cc.

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

941 {
942  return book(dir, name, "book1S", MonitorElement::DQM_KIND_TH1S, h, collate1S);
943 }
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:809
static void collate1S(MonitorElement *me, TH1S *h)
Definition: DQMStore.cc:1528
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 1082 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(), L1TDTTFClient::beginJob(), EgammaBasicClusters::beginJob(), L1TDTTPGClient::beginJob(), L1TRPCTFClient::beginJob(), DTDataIntegrityTest::beginJob(), HLTMonBitSummary::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(), ZDCDigiStudy::beginJob(), L1TRPCTF::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(), HcalDetDiagPedestalClient::beginRun(), HcalDetDiagNoiseMonitorClient::beginRun(), HcalDetDiagTimingClient::beginRun(), HcalDigiClient::beginRun(), HcalNZSClient::beginRun(), HcalHotCellClient::beginRun(), HcalTrigPrimClient::beginRun(), HcalRecHitClient::beginRun(), HcalSummaryClient::beginRun(), RPCDataCertification::beginRun(), RPCDCSSummary::beginRun(), RPCOccupancyTest::beginRun(), HcalRawDataClient::beginRun(), RPCEventSummary::beginRun(), PrimaryVertexMonitor::beginRun(), DTOfflineSummaryClients::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(), L1TRCT::beginRun(), HLTInclusiveVBFSource::beginRun(), L1TDTTPG::beginRun(), BTagHLTOfflineSource::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(), DTtTrigDBValidation::bookHistos(), DTLocalTriggerTask::bookHistos(), DTDataIntegrityTask::bookHistos(), DTLocalTriggerLutTask::bookHistos(), DTSegmentAnalysisTask::bookHistos(), DTLocalTriggerBaseTask::bookHistos(), MuonSimHitsValidAnalyzer::bookHistos_DT(), MuonSimHitsValidAnalyzer::bookHistos_RPC(), 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_(), HcalZDCMonitor::setup(), HcalRecHitMonitor::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().

1085 {
1086  return book2D(pwd_, name, new TH2F(name, title,
1087  nchX, lowX, highX,
1088  nchY, lowY, highY));
1089 }
std::string pwd_
Definition: DQMStore.h:696
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:1082
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 1093 of file DQMStore.cc.

References book2D(), and pwd_.

1096 {
1097  return book2D(pwd_, name, new TH2F(name.c_str(), title.c_str(),
1098  nchX, lowX, highX,
1099  nchY, lowY, highY));
1100 }
std::string pwd_
Definition: DQMStore.h:696
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:1082
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 1148 of file DQMStore.cc.

References book2D(), and pwd_.

1150 {
1151  return book2D(pwd_, name, new TH2F(name, title,
1152  nchX, xbinsize, nchY, ybinsize));
1153 }
std::string pwd_
Definition: DQMStore.h:696
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:1082
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 1157 of file DQMStore.cc.

References book2D(), and pwd_.

1159 {
1160  return book2D(pwd_, name, new TH2F(name.c_str(), title.c_str(),
1161  nchX, xbinsize, nchY, ybinsize));
1162 }
std::string pwd_
Definition: DQMStore.h:696
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:1082
MonitorElement * DQMStore::book2D ( const char *  name,
TH2F *  h 
)

Book 2D histogram by cloning an existing histogram.

Definition at line 1166 of file DQMStore.cc.

References book2D(), and pwd_.

1167 {
1168  return book2D(pwd_, name, static_cast<TH2F *>(source->Clone(name)));
1169 }
std::string pwd_
Definition: DQMStore.h:696
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:1082
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 1173 of file DQMStore.cc.

References book2D(), and pwd_.

1174 {
1175  return book2D(pwd_, name, static_cast<TH2F *>(source->Clone(name.c_str())));
1176 }
std::string pwd_
Definition: DQMStore.h:696
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:1082
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 1061 of file DQMStore.cc.

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

1062 {
1063  return book(dir, name, "book2D", MonitorElement::DQM_KIND_TH2F, h, collate2D);
1064 }
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:809
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:1542
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 1126 of file DQMStore.cc.

References pwd_.

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

1129 {
1130  return book2DD(pwd_, name, new TH2D(name, title,
1131  nchX, lowX, highX,
1132  nchY, lowY, highY));
1133 }
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:1126
std::string pwd_
Definition: DQMStore.h:696
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 1137 of file DQMStore.cc.

References book2DD(), and pwd_.

1140 {
1141  return book2DD(pwd_, name, new TH2D(name.c_str(), title.c_str(),
1142  nchX, lowX, highX,
1143  nchY, lowY, highY));
1144 }
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:1126
std::string pwd_
Definition: DQMStore.h:696
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 1194 of file DQMStore.cc.

References book2DD(), and pwd_.

1195 {
1196  return book2DD(pwd_, name, static_cast<TH2D *>(source->Clone(name)));
1197 }
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:1126
std::string pwd_
Definition: DQMStore.h:696
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 1201 of file DQMStore.cc.

References book2DD(), and pwd_.

1202 {
1203  return book2DD(pwd_, name, static_cast<TH2D *>(source->Clone(name.c_str())));
1204 }
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:1126
std::string pwd_
Definition: DQMStore.h:696
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 1075 of file DQMStore.cc.

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

1076 {
1077  return book(dir, name, "book2DD", MonitorElement::DQM_KIND_TH2D, h, collate2DD);
1078 }
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:809
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:1556
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 1104 of file DQMStore.cc.

References pwd_.

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

1107 {
1108  return book2S(pwd_, name, new TH2S(name, title,
1109  nchX, lowX, highX,
1110  nchY, lowY, highY));
1111 }
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:1104
std::string pwd_
Definition: DQMStore.h:696
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 1115 of file DQMStore.cc.

References book2S(), and pwd_.

1118 {
1119  return book2S(pwd_, name, new TH2S(name.c_str(), title.c_str(),
1120  nchX, lowX, highX,
1121  nchY, lowY, highY));
1122 }
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:1104
std::string pwd_
Definition: DQMStore.h:696
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 1180 of file DQMStore.cc.

References book2S(), and pwd_.

1181 {
1182  return book2S(pwd_, name, static_cast<TH2S *>(source->Clone(name)));
1183 }
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:1104
std::string pwd_
Definition: DQMStore.h:696
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 1187 of file DQMStore.cc.

References book2S(), and pwd_.

1188 {
1189  return book2S(pwd_, name, static_cast<TH2S *>(source->Clone(name.c_str())));
1190 }
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:1104
std::string pwd_
Definition: DQMStore.h:696
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 1068 of file DQMStore.cc.

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

1069 {
1070  return book(dir, name, "book2S", MonitorElement::DQM_KIND_TH2S, h, collate2S);
1071 }
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:809
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:1549
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 1216 of file DQMStore.cc.

References pwd_.

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

1220 {
1221  return book3D(pwd_, name, new TH3F(name, title,
1222  nchX, lowX, highX,
1223  nchY, lowY, highY,
1224  nchZ, lowZ, highZ));
1225 }
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:1216
std::string pwd_
Definition: DQMStore.h:696
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 1229 of file DQMStore.cc.

References book3D(), and pwd_.

1233 {
1234  return book3D(pwd_, name, new TH3F(name.c_str(), title.c_str(),
1235  nchX, lowX, highX,
1236  nchY, lowY, highY,
1237  nchZ, lowZ, highZ));
1238 }
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:1216
std::string pwd_
Definition: DQMStore.h:696
MonitorElement * DQMStore::book3D ( const char *  name,
TH3F *  h 
)

Book 3D histogram by cloning an existing histogram.

Definition at line 1242 of file DQMStore.cc.

References book3D(), and pwd_.

1243 {
1244  return book3D(pwd_, name, static_cast<TH3F *>(source->Clone(name)));
1245 }
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:1216
std::string pwd_
Definition: DQMStore.h:696
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 1249 of file DQMStore.cc.

References book3D(), and pwd_.

1250 {
1251  return book3D(pwd_, name, static_cast<TH3F *>(source->Clone(name.c_str())));
1252 }
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:1216
std::string pwd_
Definition: DQMStore.h:696
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 1209 of file DQMStore.cc.

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

1210 {
1211  return book(dir, name, "book3D", MonitorElement::DQM_KIND_TH3F, h, collate3D);
1212 }
static void collate3D(MonitorElement *me, TH3F *h)
Definition: DQMStore.cc:1563
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:809
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 891 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(), DQMDaqInfo::beginJob(), HcalDCSInfo::beginJob(), HLTMonElectronConsumer::beginJob(), HcalDAQInfo::beginJob(), CastorPSMonitor::beginRun(), HcalSummaryClient::beginRun(), RPCDataCertification::beginRun(), RPCDCSSummary::beginRun(), RPCEventSummary::beginRun(), DTOfflineSummaryClients::beginRun(), CastorChannelQualityMonitor::beginRun(), ZDCMonitorClient::beginRun(), DQMProvInfo::beginRun(), DTSummaryClients::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(), 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_(), HcalCoarsePedestalMonitor::setup(), HcalRecHitMonitor::setup(), HcalHotCellMonitor::setup(), HcalDeadCellMonitor::setup(), HLXMonitor::SetupEventInfo(), PFJetDQMAnalyzer::storeBadEvents(), PFCandidateDQMAnalyzer::storeBadEvents(), PFMETDQMAnalyzer::storeBadEvents(), and SubTaskSummaryStatus::WriteThreshold().

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

Book float.

Definition at line 896 of file DQMStore.cc.

References bookFloat(), and pwd_.

897 {
898  return bookFloat(pwd_, name);
899 }
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:891
std::string pwd_
Definition: DQMStore.h:696
MonitorElement * DQMStore::bookFloat ( const std::string &  dir,
const std::string &  name 
)
private

Book float.

Definition at line 874 of file DQMStore.cc.

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

875 {
876  if (collateHistograms_)
877  {
879  {
880  me->Fill(0.);
881  return me;
882  }
883  }
884 
885  return book(dir, name, "bookFloat")
887 }
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:1838
uint32_t streamId_
Definition: DQMStore.h:693
uint32_t moduleId_
Definition: DQMStore.h:694
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:809
uint32_t run_
Definition: DQMStore.h:692
dbl *** dir
Definition: mlp_gen.cc:35
bool collateHistograms_
Definition: DQMStore.h:687
MonitorElement * DQMStore::bookInt ( const char *  name)

Book int.

Definition at line 861 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(), CalibrationScanTask::book(), CalibrationTask::book(), FineDelayTask::book(), SiPixelDataQuality::bookGlobalQualityFlag(), DQMStore::IBooker::bookInt(), bookInt(), CommissioningHistograms::copyCustomInformation(), RPCDcsInfoClient::endRun(), HLTOverallSummary::endRun(), extract(), SiStripQualityChecker::fillFaultyModuleStatus(), SiStripDaqInfo::findExcludedModule(), EDMtoMEConverter::getData(), GlobalHitsTester::GlobalHitsTester(), DQMProvInfo::makeProvInfo(), HcalCoarsePedestalMonitor::setup(), HcalCaloTowerMonitor::setup(), HcalZDCMonitor::setup(), HcalHotCellMonitor::setup(), HcalDeadCellMonitor::setup(), HcalEEUSMonitor::setup(), HcalDetDiagNoiseMonitor::setup(), HcalRawDataMonitor::setup(), HcalBaseDQMonitor::setup(), HcalMonitorModule::setup(), HcalDigiMonitor::setup(), HcalDetDiagLEDMonitor::setup(), and HLXMonitor::SetupEventInfo().

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

Book int.

Definition at line 866 of file DQMStore.cc.

References bookInt(), and pwd_.

867 {
868  return bookInt(pwd_, name);
869 }
std::string pwd_
Definition: DQMStore.h:696
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:861
MonitorElement * DQMStore::bookInt ( const std::string &  dir,
const std::string &  name 
)
private

Book int.

Definition at line 844 of file DQMStore.cc.

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

845 {
846  if (collateHistograms_)
847  {
849  {
850  me->Fill(0);
851  return me;
852  }
853  }
854 
855  return book(dir, name, "bookInt")
857 }
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:1838
uint32_t streamId_
Definition: DQMStore.h:693
uint32_t moduleId_
Definition: DQMStore.h:694
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:809
uint32_t run_
Definition: DQMStore.h:692
dbl *** dir
Definition: mlp_gen.cc:35
bool collateHistograms_
Definition: DQMStore.h:687
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 1268 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(), HcalDigisValidation::bookPf(), HcalDigisClient::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(), HcalRecHitMonitor::setup(), HcalCaloTowerMonitor::setup(), HcalBeamMonitor::setup(), HcalHotCellMonitor::setup(), HcalDeadCellMonitor::setup(), HcalRawDataMonitor::setup(), HcalDigiMonitor::setup(), HLXMonitor::SetupHists(), and TrigResRateMon::setupHltMatrix().

1272 {
1273  return bookProfile(pwd_, name, new TProfile(name, title,
1274  nchX, lowX, highX,
1275  lowY, highY,
1276  option));
1277 }
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:1268
std::string pwd_
Definition: DQMStore.h:696
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 1283 of file DQMStore.cc.

References bookProfile(), and pwd_.

1287 {
1288  return bookProfile(pwd_, name, new TProfile(name.c_str(), title.c_str(),
1289  nchX, lowX, highX,
1290  lowY, highY,
1291  option));
1292 }
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:1268
std::string pwd_
Definition: DQMStore.h:696
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 1298 of file DQMStore.cc.

References bookProfile(), and pwd_.

1302 {
1303  return bookProfile(pwd_, name, new TProfile(name, title,
1304  nchX, lowX, highX,
1305  lowY, highY,
1306  option));
1307 }
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:1268
std::string pwd_
Definition: DQMStore.h:696
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 1313 of file DQMStore.cc.

References bookProfile(), and pwd_.

1317 {
1318  return bookProfile(pwd_, name, new TProfile(name.c_str(), title.c_str(),
1319  nchX, lowX, highX,
1320  lowY, highY,
1321  option));
1322 }
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:1268
std::string pwd_
Definition: DQMStore.h:696
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 1328 of file DQMStore.cc.

References bookProfile(), and pwd_.

1332 {
1333  return bookProfile(pwd_, name, new TProfile(name, title,
1334  nchX, xbinsize,
1335  lowY, highY,
1336  option));
1337 }
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:1268
std::string pwd_
Definition: DQMStore.h:696
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 1343 of file DQMStore.cc.

References bookProfile(), and pwd_.

1347 {
1348  return bookProfile(pwd_, name, new TProfile(name.c_str(), title.c_str(),
1349  nchX, xbinsize,
1350  lowY, highY,
1351  option));
1352 }
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:1268
std::string pwd_
Definition: DQMStore.h:696
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 1358 of file DQMStore.cc.

References bookProfile(), and pwd_.

1362 {
1363  return bookProfile(pwd_, name, new TProfile(name, title,
1364  nchX, xbinsize,
1365  lowY, highY,
1366  option));
1367 }
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:1268
std::string pwd_
Definition: DQMStore.h:696
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 1373 of file DQMStore.cc.

References bookProfile(), and pwd_.

1377 {
1378  return bookProfile(pwd_, name, new TProfile(name.c_str(), title.c_str(),
1379  nchX, xbinsize,
1380  lowY, highY,
1381  option));
1382 }
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:1268
std::string pwd_
Definition: DQMStore.h:696
MonitorElement * DQMStore::bookProfile ( const char *  name,
TProfile *  h 
)

Book TProfile by cloning an existing profile.

Definition at line 1386 of file DQMStore.cc.

References bookProfile(), and pwd_.

1387 {
1388  return bookProfile(pwd_, name, static_cast<TProfile *>(source->Clone(name)));
1389 }
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:1268
std::string pwd_
Definition: DQMStore.h:696
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 1393 of file DQMStore.cc.

References bookProfile(), and pwd_.

1394 {
1395  return bookProfile(pwd_, name, static_cast<TProfile *>(source->Clone(name.c_str())));
1396 }
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:1268
std::string pwd_
Definition: DQMStore.h:696
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 1257 of file DQMStore.cc.

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

1258 {
1259  return book(dir, name, "bookProfile",
1261  h, collateProfile);
1262 }
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:809
static void collateProfile(MonitorElement *me, TProfile *h)
Definition: DQMStore.cc:1570
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 1412 of file DQMStore.cc.

References pwd_.

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

1417 {
1418  return bookProfile2D(pwd_, name, new TProfile2D(name, title,
1419  nchX, lowX, highX,
1420  nchY, lowY, highY,
1421  lowZ, highZ,
1422  option));
1423 }
std::string pwd_
Definition: DQMStore.h:696
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:1412
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 1429 of file DQMStore.cc.

References bookProfile2D(), and pwd_.

1434 {
1435  return bookProfile2D(pwd_, name, new TProfile2D(name.c_str(), title.c_str(),
1436  nchX, lowX, highX,
1437  nchY, lowY, highY,
1438  lowZ, highZ,
1439  option));
1440 }
std::string pwd_
Definition: DQMStore.h:696
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:1412
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 1446 of file DQMStore.cc.

References bookProfile2D(), and pwd_.

1451 {
1452  return bookProfile2D(pwd_, name, new TProfile2D(name, title,
1453  nchX, lowX, highX,
1454  nchY, lowY, highY,
1455  lowZ, highZ,
1456  option));
1457 }
std::string pwd_
Definition: DQMStore.h:696
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:1412
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 1463 of file DQMStore.cc.

References bookProfile2D(), and pwd_.

1468 {
1469  return bookProfile2D(pwd_, name, new TProfile2D(name.c_str(), title.c_str(),
1470  nchX, lowX, highX,
1471  nchY, lowY, highY,
1472  lowZ, highZ,
1473  option));
1474 }
std::string pwd_
Definition: DQMStore.h:696
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:1412
MonitorElement * DQMStore::bookProfile2D ( const char *  name,
TProfile2D *  h 
)

Book TProfile2D by cloning an existing profile.

Definition at line 1478 of file DQMStore.cc.

References bookProfile2D(), and pwd_.

1479 {
1480  return bookProfile2D(pwd_, name, static_cast<TProfile2D *>(source->Clone(name)));
1481 }
std::string pwd_
Definition: DQMStore.h:696
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:1412
MonitorElement * DQMStore::bookProfile2D ( const std::string &  name,
TProfile2D *  h 
)

Book TProfile2D by cloning an existing profile.

Definition at line 1485 of file DQMStore.cc.

References bookProfile2D(), and pwd_.

1486 {
1487  return bookProfile2D(pwd_, name, static_cast<TProfile2D *>(source->Clone(name.c_str())));
1488 }
std::string pwd_
Definition: DQMStore.h:696
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:1412
MonitorElement * DQMStore::bookProfile2D ( const std::string &  folder,
const std::string &  name,
TProfile2D *  h 
)
private

Book 2D profile histogram based on TProfile2D.

Definition at line 1401 of file DQMStore.cc.

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

1402 {
1403  return book(dir, name, "bookProfile2D",
1405  h, collateProfile2D);
1406 }
static void collateProfile2D(MonitorElement *me, TProfile2D *h)
Definition: DQMStore.cc:1580
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:809
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 925 of file DQMStore.cc.

References bookString(), and pwd_.

926 {
927  return bookString(pwd_, name, value);
928 }
MonitorElement * bookString(const char *name, const char *value)
Book string.
Definition: DQMStore.cc:920
std::string pwd_
Definition: DQMStore.h:696
MonitorElement * DQMStore::bookString ( const std::string &  dir,
const std::string &  name,
const std::string &  value 
)
private

Book string.

Definition at line 904 of file DQMStore.cc.

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

907 {
908  if (collateHistograms_)
909  {
911  return me;
912  }
913 
914  return book(dir, name, "bookString")
916 }
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:1838
uint32_t streamId_
Definition: DQMStore.h:693
uint32_t moduleId_
Definition: DQMStore.h:694
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:809
uint32_t run_
Definition: DQMStore.h:692
dbl *** dir
Definition: mlp_gen.cc:35
bool collateHistograms_
Definition: DQMStore.h:687
template<typename iFunc >
void DQMStore::bookTransaction ( iFunc  f,
uint32_t  run,
uint32_t  streamId,
uint32_t  moduleId 
)
inline

Definition at line 230 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().

233  {
234  std::lock_guard<std::mutex> guard(book_mutex_);
235  /* If enableMultiThread is not enabled we do not set run_,
236  streamId_ and moduleId_ to 0, since we rely on their default
237  initialization in DQMStore constructor. */
238  if (enableMultiThread_) {
239  run_ = run;
240  streamId_ = streamId;
241  moduleId_ = moduleId;
242  }
243  f(*ibooker_);
244 
245  /* Initialize to 0 the run_, streamId_ and moduleId_ variables
246  in case we run in mixed conditions with DQMEDAnalyzers and
247  legacy modules */
248  if (enableMultiThread_) {
249  run_ = 0;
250  streamId_ = 0;
251  moduleId_ = 0;
252  }
253  }
uint32_t streamId_
Definition: DQMStore.h:693
uint32_t moduleId_
Definition: DQMStore.h:694
std::mutex book_mutex_
Definition: DQMStore.h:704
double f[11][100]
uint32_t run_
Definition: DQMStore.h:692
IBooker * ibooker_
Definition: DQMStore.h:705
bool enableMultiThread_
Definition: DQMStore.h:688
void DQMStore::cd ( void  )

go to top directory (ie. root)

Definition at line 644 of file DQMStore.cc.

References setCurrentFolder().

Referenced by SiStripDcsInfo::addBadModules(), SiStripGainFromData::algoEndJob(), DQMFileReader::beginJob(), DQMDcsInfoClient::beginRun(), DQMProvInfo::beginRun(), V0Validator::beginRun(), SiPixelActionExecutor::bookDeviations(), SiPixelActionExecutor::bookEfficiency(), SiPixelDataQuality::bookGlobalQualityFlag(), TrackingQualityChecker::bookGlobalStatus(), HiggsDQM::bookHistos(), B2GDQM::bookHistos(), ExoticaDQM::bookHistos(), TrackingQualityChecker::bookLSStatus(), 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(), TrackingOfflineDQM::endJob(), SiStripOfflineDQM::endJob(), JetMETDQMPostProcessor::endRun(), HltSusyExoPostProcessor::endRun(), RPCDcsInfoClient::endRun(), DQMDcsInfoClient::endRun(), SiPixelTrackerMapCreator::exploreBeiStructure(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::extractBadAPVSandStrips(), 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(), readFilePB(), 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().

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

cd to subdirectory (if there)

Definition at line 649 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().

650 {
652  const std::string *cleaned = 0;
653  cleanTrailingSlashes(subdir, clean, cleaned);
654 
655  if (! dirExists(*cleaned))
656  raiseDQMError("DQMStore", "Cannot 'cd' into non-existent directory '%s'",
657  cleaned->c_str());
658 
659  setCurrentFolder(*cleaned);
660 }
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:732
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:667
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 2375 of file DQMStore.cc.

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

Referenced by save().

2376 {
2377  assert(! path.empty());
2378 
2379  // Find the first path component.
2380  size_t start = 0;
2381  size_t end = path.find('/', start);
2382  if (end == std::string::npos)
2383  end = path.size();
2384 
2385  while (true)
2386  {
2387  // Check if this subdirectory component exists. If yes, make sure
2388  // it is actually a subdirectory. Otherwise create or cd into it.
2389  std::string part(path, start, end-start);
2390  TObject *o = gDirectory->Get(part.c_str());
2391  if (o && ! dynamic_cast<TDirectory *>(o))
2392  raiseDQMError("DQMStore", "Attempt to create directory '%s' in a file"
2393  " fails because the part '%s' already exists and is not"
2394  " directory", path.c_str(), part.c_str());
2395  else if (! o)
2396  gDirectory->mkdir(part.c_str());
2397 
2398  if (! gDirectory->cd(part.c_str()))
2399  raiseDQMError("DQMStore", "Attempt to create directory '%s' in a file"
2400  " fails because could not cd into subdirectory '%s'",
2401  path.c_str(), part.c_str());
2402 
2403  // Stop if we reached the end, ignoring any trailing '/'.
2404  if (end+1 >= path.size())
2405  break;
2406 
2407  // Find the next path component.
2408  start = end+1;
2409  end = path.find('/', start);
2410  if (end == std::string::npos)
2411  end = path.size();
2412  }
2413 
2414  return true;
2415 }
tuple start
Check for commandline option errors.
Definition: dqm_diff.py:58
tuple path
else: Piece not in the list, fine.
#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 1494 of file DQMStore.cc.

References MonitorElement::CheckBinLabels(), 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().

1495 {
1496  if (me->getTH1()->GetNbinsX() != h->GetNbinsX()
1497  || me->getTH1()->GetNbinsY() != h->GetNbinsY()
1498  || me->getTH1()->GetNbinsZ() != h->GetNbinsZ()
1499  || me->getTH1()->GetXaxis()->GetXmin() != h->GetXaxis()->GetXmin()
1500  || me->getTH1()->GetYaxis()->GetXmin() != h->GetYaxis()->GetXmin()
1501  || me->getTH1()->GetZaxis()->GetXmin() != h->GetZaxis()->GetXmin()
1502  || me->getTH1()->GetXaxis()->GetXmax() != h->GetXaxis()->GetXmax()
1503  || me->getTH1()->GetYaxis()->GetXmax() != h->GetYaxis()->GetXmax()
1504  || me->getTH1()->GetZaxis()->GetXmax() != h->GetZaxis()->GetXmax()
1505  || !MonitorElement::CheckBinLabels((TAxis*)me->getTH1()->GetXaxis(),(TAxis*)h->GetXaxis())
1506  || !MonitorElement::CheckBinLabels((TAxis*)me->getTH1()->GetYaxis(),(TAxis*)h->GetYaxis())
1507  || !MonitorElement::CheckBinLabels((TAxis*)me->getTH1()->GetZaxis(),(TAxis*)h->GetZaxis()) )
1508  {
1509  // edm::LogWarning ("DQMStore")
1510  std::cout << "*** DQMStore: WARNING:"
1511  << "checkBinningMatches: different binning - cannot add object '"
1512  << h->GetName() << "' of type "
1513  << h->IsA()->GetName() << " to existing ME: '"
1514  << me->getFullname() << "'\n";
1515  return false;
1516  }
1517  return true;
1518 }
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
static bool CheckBinLabels(const TAxis *a1, const TAxis *a2)
Check the consistency of the axis labels.
void DQMStore::collate1D ( MonitorElement me,
TH1F *  h 
)
staticprivate

Definition at line 1521 of file DQMStore.cc.

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

Referenced by book1D(), and extract().

1522 {
1523  if (checkBinningMatches(me,h))
1524  me->getTH1F()->Add(h);
1525 }
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1494
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 1535 of file DQMStore.cc.

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

Referenced by book1DD(), and extract().

1536 {
1537  if (checkBinningMatches(me,h))
1538  me->getTH1D()->Add(h);
1539 }
TH1D * getTH1D(void) const
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1494
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 1528 of file DQMStore.cc.

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

Referenced by book1S(), and extract().

1529 {
1530  if (checkBinningMatches(me,h))
1531  me->getTH1S()->Add(h);
1532 }
TH1S * getTH1S(void) const
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1494
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 1542 of file DQMStore.cc.

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

Referenced by book2D(), and extract().

1543 {
1544  if (checkBinningMatches(me,h))
1545  me->getTH2F()->Add(h);
1546 }
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1494
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 1556 of file DQMStore.cc.

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

Referenced by book2DD(), and extract().

1557 {
1558  if (checkBinningMatches(me,h))
1559  me->getTH2D()->Add(h);
1560 }
TH2D * getTH2D(void) const
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1494
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 1549 of file DQMStore.cc.

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

Referenced by book2S(), and extract().

1550 {
1551  if (checkBinningMatches(me,h))
1552  me->getTH2S()->Add(h);
1553 }
TH2S * getTH2S(void) const
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1494
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 1563 of file DQMStore.cc.

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

Referenced by book3D(), and extract().

1564 {
1565  if (checkBinningMatches(me,h))
1566  me->getTH3F()->Add(h);
1567 }
TH3F * getTH3F(void) const
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1494
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 1570 of file DQMStore.cc.

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

Referenced by bookProfile(), and extract().

1571 {
1572  if (checkBinningMatches(me,h))
1573  {
1574  TProfile *meh = me->getTProfile();
1575  me->addProfiles(h, meh, meh, 1, 1);
1576  }
1577 }
void addProfiles(TProfile *h1, TProfile *h2, TProfile *sum, float c1, float c2)
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1494
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 1580 of file DQMStore.cc.

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

Referenced by bookProfile2D(), and extract().

1581 {
1582  if (checkBinningMatches(me,h))
1583  {
1584  TProfile2D *meh = me->getTProfile2D();
1585  me->addProfiles(h, meh, meh, 1, 1);
1586  }
1587 }
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:1494
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 1698 of file DQMStore.cc.

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

1699 {
1700  MonitorElement proto(&path, std::string());
1701  MEMap::const_iterator e = data_.end();
1702  MEMap::const_iterator i = data_.lower_bound(proto);
1703  return (i != e && isSubdirectory(path, *i->data_.dirname));
1704 }
int i
Definition: DBlmapReader.cc:9
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
tuple path
else: Piece not in the list, fine.
MEMap data_
Definition: DQMStore.h:697
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 3179 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().

3180 {
3181  if (qtests_.count(qtname))
3182  raiseDQMError("DQMStore", "Attempt to create duplicate quality test '%s'",
3183  qtname.c_str());
3184 
3185  QAMap::iterator i = qalgos_.find(algoname);
3186  if (i == qalgos_.end())
3187  raiseDQMError("DQMStore", "Cannot create a quality test using unknown"
3188  " algorithm '%s'", algoname.c_str());
3189 
3190  QCriterion *qc = i->second(qtname);
3191  qc->setVerbose(verboseQT_);
3192 
3193  qtests_[qtname] = qc;
3194  return qc;
3195 }
int i
Definition: DBlmapReader.cc:9
QCMap qtests_
Definition: DQMStore.h:700
unsigned verboseQT_
Definition: DQMStore.h:684
QAMap qalgos_
Definition: DQMStore.h:701
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 3313 of file DQMStore.cc.

References MonitorElement::disableSoftReset().

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

3314 {
3315  if (me)
3316  me->disableSoftReset();
3317 }
void disableSoftReset(void)
reverts action of softReset
bool DQMStore::extract ( TObject *  obj,
const std::string &  dir,
bool  overwrite,
bool  collateHistograms 
)
private

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

Definition at line 2079 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().

2081 {
2082  // NB: Profile histograms inherit from TH*D, checking order matters.
2083  MonitorElement *refcheck = 0;
2084  if (TProfile *h = dynamic_cast<TProfile *>(obj))
2085  {
2086  MonitorElement *me = findObject(dir, h->GetName());
2087  if (! me)
2088  me = bookProfile(dir, h->GetName(), (TProfile *) h->Clone());
2089  else if (overwrite)
2090  me->copyFrom(h);
2091  else if (isCollateME(me) || collateHistograms)
2092  collateProfile(me, h);
2093  refcheck = me;
2094  }
2095  else if (TProfile2D *h = dynamic_cast<TProfile2D *>(obj))
2096  {
2097  MonitorElement *me = findObject(dir, h->GetName());
2098  if (! me)
2099  me = bookProfile2D(dir, h->GetName(), (TProfile2D *) h->Clone());
2100  else if (overwrite)
2101  me->copyFrom(h);
2102  else if (isCollateME(me) || collateHistograms)
2103  collateProfile2D(me, h);
2104  refcheck = me;
2105  }
2106  else if (TH1F *h = dynamic_cast<TH1F *>(obj))
2107  {
2108  MonitorElement *me = findObject(dir, h->GetName());
2109  if (! me)
2110  me = book1D(dir, h->GetName(), (TH1F *) h->Clone());
2111  else if (overwrite)
2112  me->copyFrom(h);
2113  else if (isCollateME(me) || collateHistograms)
2114  collate1D(me, h);
2115  refcheck = me;
2116  }
2117  else if (TH1S *h = dynamic_cast<TH1S *>(obj))
2118  {
2119  MonitorElement *me = findObject(dir, h->GetName());
2120  if (! me)
2121  me = book1S(dir, h->GetName(), (TH1S *) h->Clone());
2122  else if (overwrite)
2123  me->copyFrom(h);
2124  else if (isCollateME(me) || collateHistograms)
2125  collate1S(me, h);
2126  refcheck = me;
2127  }
2128  else if (TH1D *h = dynamic_cast<TH1D *>(obj))
2129  {
2130  MonitorElement *me = findObject(dir, h->GetName());
2131  if (! me)
2132  me = book1DD(dir, h->GetName(), (TH1D *) h->Clone());
2133  else if (overwrite)
2134  me->copyFrom(h);
2135  else if (isCollateME(me) || collateHistograms)
2136  collate1DD(me, h);
2137  refcheck = me;
2138  }
2139  else if (TH2F *h = dynamic_cast<TH2F *>(obj))
2140  {
2141  MonitorElement *me = findObject(dir, h->GetName());
2142  if (! me)
2143  me = book2D(dir, h->GetName(), (TH2F *) h->Clone());
2144  else if (overwrite)
2145  me->copyFrom(h);
2146  else if (isCollateME(me) || collateHistograms)
2147  collate2D(me, h);
2148  refcheck = me;
2149  }
2150  else if (TH2S *h = dynamic_cast<TH2S *>(obj))
2151  {
2152  MonitorElement *me = findObject(dir, h->GetName());
2153  if (! me)
2154  me = book2S(dir, h->GetName(), (TH2S *) h->Clone());
2155  else if (overwrite)
2156  me->copyFrom(h);
2157  else if (isCollateME(me) || collateHistograms)
2158  collate2S(me, h);
2159  refcheck = me;
2160  }
2161  else if (TH2D *h = dynamic_cast<TH2D *>(obj))
2162  {
2163  MonitorElement *me = findObject(dir, h->GetName());
2164  if (! me)
2165  me = book2DD(dir, h->GetName(), (TH2D *) h->Clone());
2166  else if (overwrite)
2167  me->copyFrom(h);
2168  else if (isCollateME(me) || collateHistograms)
2169  collate2DD(me, h);
2170  refcheck = me;
2171  }
2172  else if (TH3F *h = dynamic_cast<TH3F *>(obj))
2173  {
2174  MonitorElement *me = findObject(dir, h->GetName());
2175  if (! me)
2176  me = book3D(dir, h->GetName(), (TH3F *) h->Clone());
2177  else if (overwrite)
2178  me->copyFrom(h);
2179  else if (isCollateME(me) || collateHistograms)
2180  collate3D(me, h);
2181  refcheck = me;
2182  }
2183  else if (dynamic_cast<TObjString *>(obj))
2184  {
2185  lat::RegexpMatch m;
2186  if (! s_rxmeval.match(obj->GetName(), 0, 0, &m))
2187  {
2188  if (strstr(obj->GetName(), "CMSSW"))
2189  {
2190  if (verbose_)
2191  std::cout << "Input file version: " << obj->GetName() << std::endl;
2192  return true;
2193  }
2194  else if (strstr(obj->GetName(), "DQMPATCH"))
2195  {
2196  if (verbose_)
2197  std::cout << "DQM patch version: " << obj->GetName() << std::endl;
2198  return true;
2199  }
2200  else
2201  {
2202  std::cout << "*** DQMStore: WARNING: cannot extract object '"
2203  << obj->GetName() << "' of type '"
2204  << obj->IsA()->GetName() << "'\n";
2205  return false;
2206  }
2207  }
2208 
2209  std::string label = m.matchString(obj->GetName(), 1);
2210  std::string kind = m.matchString(obj->GetName(), 2);
2211  std::string value = m.matchString(obj->GetName(), 3);
2212 
2213  if (kind == "i")
2214  {
2215  MonitorElement *me = findObject(dir, label);
2216  if (! me || overwrite)
2217  {
2218  if (! me) me = bookInt(dir, label);
2219  me->Fill(atoll(value.c_str()));
2220  }
2221  }
2222  else if (kind == "f")
2223  {
2224  MonitorElement *me = findObject(dir, label);
2225  if (! me || overwrite)
2226  {
2227  if (! me) me = bookFloat(dir, label);
2228  me->Fill(atof(value.c_str()));
2229  }
2230  }
2231  else if (kind == "s")
2232  {
2233  MonitorElement *me = findObject(dir, label);
2234  if (! me)
2235  me = bookString(dir, label, value);
2236  else if (overwrite)
2237  me->Fill(value);
2238  }
2239  else if (kind == "e")
2240  {
2241  MonitorElement *me = findObject(dir, label);
2242  if (! me)
2243  {
2244  std::cout << "*** DQMStore: WARNING: no monitor element '"
2245  << label << "' in directory '"
2246  << dir << "' to be marked as efficiency plot.\n";
2247  return false;
2248  }
2249  me->setEfficiencyFlag();
2250  }
2251  else if (kind == "t")
2252  {
2253  MonitorElement *me = findObject(dir, label);
2254  if (! me)
2255  {
2256  std::cout << "*** DQMStore: WARNING: no monitor element '"
2257  << label << "' in directory '"
2258  << dir << "' for a tag\n";
2259  return false;
2260  }
2261  errno = 0;
2262  char *endp = 0;
2263  unsigned long val = strtoul(value.c_str(), &endp, 10);
2264  if ((val == 0 && errno) || *endp || val > ~uint32_t(0))
2265  {
2266  std::cout << "*** DQMStore: WARNING: cannot restore tag '"
2267  << value << "' for monitor element '"
2268  << label << "' in directory '"
2269  << dir << "' - invalid value\n";
2270  return false;
2271  }
2272  tag(me, val);
2273  }
2274  else if (kind == "qr")
2275  {
2276  // Handle qreports, but skip them while reading in references.
2278  {
2279  size_t dot = label.find('.');
2280  if (dot == std::string::npos)
2281  {
2282  std::cout << "*** DQMStore: WARNING: quality report label in '" << label
2283  << "' is missing a '.' and cannot be extracted\n";
2284  return false;
2285  }
2286 
2287  std::string mename (label, 0, dot);
2288  std::string qrname (label, dot+1, std::string::npos);
2289 
2290  m.reset();
2291  DQMNet::QValue qv;
2292  if (s_rxmeqr1.match(value, 0, 0, &m))
2293  {
2294  qv.code = atoi(m.matchString(value, 1).c_str());
2295  qv.qtresult = strtod(m.matchString(value, 2).c_str(), 0);
2296  qv.message = m.matchString(value, 4);
2297  qv.qtname = qrname;
2298  qv.algorithm = m.matchString(value, 3);
2299  }
2300  else if (s_rxmeqr2.match(value, 0, 0, &m))
2301  {
2302  qv.code = atoi(m.matchString(value, 1).c_str());
2303  qv.qtresult = 0; // unavailable in old format
2304  qv.message = m.matchString(value, 2);
2305  qv.qtname = qrname;
2306  // qv.algorithm unavailable in old format
2307  }
2308  else
2309  {
2310  std::cout << "*** DQMStore: WARNING: quality test value '"
2311  << value << "' is incorrectly formatted\n";
2312  return false;
2313  }
2314 
2315  MonitorElement *me = findObject(dir, mename);
2316  if (! me)
2317  {
2318  std::cout << "*** DQMStore: WARNING: no monitor element '"
2319  << mename << "' in directory '"
2320  << dir << "' for quality test '"
2321  << label << "'\n";
2322  return false;
2323  }
2324 
2325  me->addQReport(qv, /* FIXME: getQTest(qv.qtname)? */ 0);
2326  }
2327  }
2328  else
2329  {
2330  std::cout << "*** DQMStore: WARNING: cannot extract object '"
2331  << obj->GetName() << "' of type '"
2332  << obj->IsA()->GetName() << "'\n";
2333  return false;
2334  }
2335  }
2336  else if (TNamed *n = dynamic_cast<TNamed *>(obj))
2337  {
2338  // For old DQM data.
2339  std::string s;
2340  s.reserve(6 + strlen(n->GetTitle()) + 2*strlen(n->GetName()));
2341  s += '<'; s += n->GetName(); s += '>';
2342  s += n->GetTitle();
2343  s += '<'; s += '/'; s += n->GetName(); s += '>';
2344  TObjString os(s.c_str());
2345  return extract(&os, dir, overwrite, collateHistograms_);
2346  }
2347  else
2348  {
2349  std::cout << "*** DQMStore: WARNING: cannot extract object '"
2350  << obj->GetName() << "' of type '" << obj->IsA()->GetName()
2351  << "' and with title '" << obj->GetTitle() << "'\n";
2352  return false;
2353  }
2354 
2355  // If we just read in a reference monitor element, and there is a
2356  // monitor element with the same name, link the two together. The
2357  // other direction is handled by the initialise() method.
2358  if (refcheck && isSubdirectory(s_referenceDirName, dir))
2359  {
2360  std::string mdir(dir, s_referenceDirName.size()+1, std::string::npos);
2361  if (MonitorElement *master = findObject(mdir, obj->GetName()))
2362  {
2363  master->data_.flags |= DQMNet::DQM_PROP_HAS_REFERENCE;
2364  master->reference_ = refcheck->object_;
2365  }
2366  }
2367 
2368  return true;
2369 }
static void collateProfile2D(MonitorElement *me, TProfile2D *h)
Definition: DQMStore.cc:1580
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:1104
bool isCollateME(MonitorElement *me) const
Definition: DQMStore.cc:3361
void copyFrom(TH1 *from)
std::string algorithm
Definition: DQMNet.h:93
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:954
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:1838
static void collate3D(MonitorElement *me, TH3F *h)
Definition: DQMStore.cc:1563
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:1216
static void collate1D(MonitorElement *me, TH1F *h)
Definition: DQMStore.cc:1521
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:1126
static void collate1DD(MonitorElement *me, TH1D *h)
Definition: DQMStore.cc:1535
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:986
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:891
void Fill(long long x)
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1594
static void collateProfile(MonitorElement *me, TProfile *h)
Definition: DQMStore.cc:1570
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
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:920
static void collate1S(MonitorElement *me, TH1S *h)
Definition: DQMStore.cc:1528
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:1268
std::string qtname
Definition: DQMNet.h:92
unsigned verbose_
Definition: DQMStore.h:683
static void collate2S(MonitorElement *me, TH2S *h)
Definition: DQMStore.cc:1549
static void collate2D(MonitorElement *me, TH2F *h)
Definition: DQMStore.cc:1542
static const std::string s_referenceDirName
Definition: DQMStore.cc:54
bool extract(TObject *obj, const std::string &dir, bool overwrite, bool collateHistograms)
Definition: DQMStore.cc:2079
static void collate2DD(MonitorElement *me, TH2D *h)
Definition: DQMStore.cc:1556
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:91
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:861
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:1082
tuple collateHistograms
float qtresult
Definition: DQMNet.h:90
bool collateHistograms_
Definition: DQMStore.h:687
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:970
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:1412
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 2992 of file DQMStore.cc.

Referenced by get_info().

2992  {
2993  if (buf.Length() == buf.BufferSize())
2994  return 0;
2995  buf.InitMap();
2996  void *ptr = buf.ReadObjectAny(0);
2997  return reinterpret_cast<TObject *>(ptr);
2998 }
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 1838 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(), readFilePB(), and tag().

1844 {
1845  if (dir.find_first_not_of(s_safe) != std::string::npos)
1846  raiseDQMError("DQMStore", "Monitor element path name '%s' uses"
1847  " unacceptable characters", dir.c_str());
1848  if (name.find_first_not_of(s_safe) != std::string::npos)
1849  raiseDQMError("DQMStore", "Monitor element path name '%s' uses"
1850  " unacceptable characters", name.c_str());
1851 
1852  MonitorElement proto;
1853  proto.data_.dirname = &dir;
1854  proto.data_.objname = name;
1855  proto.data_.run = run;
1856  proto.data_.lumi = lumi;
1857  proto.data_.streamId = streamId;
1858  proto.data_.moduleId = moduleId;
1859 
1860  MEMap::const_iterator mepos = data_.find(proto);
1861  return (mepos == data_.end() ? 0
1862  : const_cast<MonitorElement *>(&*mepos));
1863 }
uint32_t moduleId
Definition: DQMNet.h:104
tuple lumi
Definition: fjr2json.py:35
static const std::string s_safe
Definition: DQMStore.cc:56
const std::string * dirname
Definition: DQMNet.h:105
uint32_t run
Definition: DQMNet.h:101
uint32_t lumi
Definition: DQMNet.h:102
std::string objname
Definition: DQMNet.h:106
DQMNet::CoreObject data_
MEMap data_
Definition: DQMStore.h:697
dbl *** dir
Definition: mlp_gen.cc:35
uint32_t streamId
Definition: DQMNet.h:103
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 2019 of file DQMStore.cc.

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

Referenced by DQMStore().

2020 {
2021  MEMap::iterator mi = data_.begin();
2022  MEMap::iterator me = data_.end();
2023  for ( ; mi != me; ++mi)
2024  {
2025  if (forceResetOnBeginLumi_ && ((*mi).getLumiFlag() == false))
2026  continue;
2027  MonitorElement &me = const_cast<MonitorElement &>(*mi);
2028  me.Reset();
2029  me.resetUpdate();
2030  }
2031 
2032  reset_ = true;
2033 }
void resetUpdate(void)
reset &quot;was updated&quot; flag
bool reset_
Definition: DQMStore.h:685
MEMap data_
Definition: DQMStore.h:697
bool forceResetOnBeginLumi_
Definition: DQMStore.h:690
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 1708 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(), HcalDigiClient::analyze(), HcalRecHitClient::analyze(), HcalSummaryClient::analyze(), RPCMon_SS_Dbx_Global::analyze(), HcalBaseDQMonitor::analyze(), RPCDBPopConAnalyzer::analyze(), TrackerOfflineValidationSummary::associateModuleHistsWithTree(), L1EmulatorErrorFlagClient::beginJob(), DQMOfflineHLTEventInfoClient::beginJob(), HLTEventInfoClient::beginJob(), HLTMonPhotonClient::beginJob(), BeamMonitor::beginJob(), HLTMonElectronConsumer::beginJob(), RPCChamberQuality::beginRun(), RPCNoisyStripTest::beginRun(), HcalCoarsePedestalClient::beginRun(), HcalSummaryClient::beginRun(), RPCBxTest::beginRun(), RPCMon_SS_Dbx_Global::beginRun(), RPCOccupancyTest::beginRun(), RPCEventSummary::beginRun(), RPCDeadChannelTest::beginRun(), RPCMultiplicityTest::beginRun(), RPCClusterSizeTest::beginRun(), ZDCMonitorClient::beginRun(), CalibrationScanTask::book(), CalibrationTask::book(), SiPixelDataQuality::bookGlobalQualityFlag(), L1TEventInfoClient::bookHistograms(), DTSegmentAnalysisTask::bookHistos(), BeamMonitorBx::BookTables(), BeamMonitorBx::BookTrendHistos(), DQMGenericTnPClient::calculateEfficiency(), HeavyFlavorHarvesting::calculateEfficiency(), HcalCoarsePedestalClient::calculateProblems(), HcalDeadCellClient::calculateProblems(), HcalDetDiagPedestalClient::calculateProblems(), HcalDigiClient::calculateProblems(), HcalHotCellClient::calculateProblems(), HcalBeamClient::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(), SiPixelCertification::endLuminosityBlock(), AlcaBeamMonitorClient::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(), SiPixelCertification::endRun(), DQMDcsInfoClient::endRun(), RPCRecHitProbabilityClient::endRun(), TauDQMHistEffProducer::endRun(), DTOfflineSummaryClients::endRun(), HLTTauCertifier::endRun(), RPCEfficiencyPerRingLayer::endRun(), RPCEfficiencyShiftHisto::endRun(), DQMOfflineHLTEventInfoClient::endRun(), MuonAlignmentSummary::endRun(), FourVectorHLTClient::endRun(), HLTOverallSummary::endRun(), RPCEfficiencySecond::endRun(), TauDQMHistPlotter::endRun(), ZDCMonitorClient::errorSummary(), CommissioningHistograms::extractHistograms(), TrigResRateMon::fillCountsPerPath(), SiStripQualityChecker::fillDetectorStatusAtLumi(), SiPixelActionExecutor::fillDeviations(), SiPixelActionExecutor::fillEfficiency(), SiStripQualityChecker::fillFaultyModuleStatus(), 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(), resetME(), SiPixelHistoricInfoDQMClient::retrieveMEs(), SiPixelHistoricInfoEDAClient::retrieveMEs(), PhotonOfflineClient::runClient(), EgHLTOfflineSummaryClient::runClient_(), DTLocalTriggerEfficiencyTest::runClientDiagnostic(), CommissioningHistograms::runNumber(), ConversionPostprocessing::runPostprocessing(), PhotonPostprocessing::runPostprocessing(), CommissioningHistograms::runType(), SamplingHistograms::SamplingHistograms(), DQMFileSaver::saveForOnline(), SiPixelInformationExtractor::selectMEList(), L1EmulatorErrorFlagClient::setSummary(), PFCandidateDQMAnalyzer::storeBadEvents(), PFMETDQMAnalyzer::storeBadEvents(), PFJetDQMAnalyzer::storeBadEvents(), rrapi.RRApi::tables(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), DTDataIntegrityTask::TimeHistos(), HcalDetDiagLEDClient::validHtmlOutput(), HcalDetDiagPedestalClient::validHtmlOutput(), rrapi.RRApi::workspaces(), and SubTaskSummaryStatus::WriteThreshold().

1709 {
1710  std::string dir;
1711  std::string name;
1712  splitPath(dir, name, path);
1713  MonitorElement proto(&dir, name);
1714  MEMap::const_iterator mepos = data_.find(proto);
1715  return (mepos == data_.end() ? 0
1716  : const_cast<MonitorElement *>(&*mepos));
1717 }
static void splitPath(std::string &dir, std::string &name, const std::string &path)
Definition: DQMStore.cc:95
tuple path
else: Piece not in the list, fine.
MEMap data_
Definition: DQMStore.h:697
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 1721 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().

1722 {
1723  // FIXME: Use reverse map [tag -> path] / [tag -> dir]?
1724  std::vector<MonitorElement *> result;
1725  for (MEMap::const_iterator i = data_.begin(), e = data_.end(); i != e; ++i)
1726  {
1727  const MonitorElement &me = *i;
1728  if ((me.data_.flags & DQMNet::DQM_PROP_TAGGED) && me.data_.tag == tag)
1729  result.push_back(const_cast<MonitorElement *>(&me));
1730  }
1731  return result;
1732 }
int i
Definition: DBlmapReader.cc:9
uint32_t flags
Definition: DQMNet.h:98
static const uint32_t DQM_PROP_TAGGED
Definition: DQMNet.h:54
uint32_t tag
Definition: DQMNet.h:99
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1594
tuple result
Definition: query.py:137
DQMNet::CoreObject data_
MEMap data_
Definition: DQMStore.h:697
void DQMStore::get_info ( const dqmstorepb::ROOTFilePB_Histo h,
std::string &  dirname,
std::string &  objname,
TObject **  obj 
)
private

Definition at line 3000 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().

3003  {
3004 
3005  size_t slash = h.full_pathname().rfind('/');
3006  size_t dirpos = (slash == std::string::npos ? 0 : slash);
3007  size_t namepos = (slash == std::string::npos ? 0 : slash+1);
3008  dirname.assign(h.full_pathname(), 0, dirpos);
3009  objname.assign(h.full_pathname(), namepos, std::string::npos);
3010  TBufferFile buf(TBufferFile::kRead, h.size(),
3011  (void*)h.streamed_histo().data(),
3012  kFALSE);
3013  buf.Reset();
3014  *obj = extractNextObject(buf);
3015  if (!*obj) {
3016  raiseDQMError("DQMStore", "Error reading element:'%s'" , h.full_pathname().c_str());
3017  }
3018 }
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:2992
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 1921 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(), dqmservices::DQMProtobufReader::readLuminosityBlock_(), SiStripNoisesDQMService::readNoises(), SiStripPedestalsDQMService::readPedestals(), dqmservices::DQMProtobufReader::readRun_(), HcalRecHitMonitor::reset(), DQMRootOutputModule::writeLuminosityBlock(), and DQMRootOutputModule::writeRun().

1924 {
1926  const std::string *cleaned = 0;
1927  cleanTrailingSlashes(path, clean, cleaned);
1928  MonitorElement proto(cleaned, std::string(), runNumber);
1929  proto.setLumi(lumi);
1930 
1931  std::vector<MonitorElement *> result;
1932  MEMap::const_iterator e = data_.end();
1933  MEMap::const_iterator i = data_.lower_bound(proto);
1934  for ( ; i != e && isSubdirectory(*cleaned, *i->data_.dirname); ++i) {
1935  if (runNumber != 0) {
1936  if (i->data_.run > runNumber // TODO[rovere]: pleonastic? first we encounter local ME of the same run ...
1937  || i->data_.streamId != 0
1938  || i->data_.moduleId != 0)
1939  break;
1940  }
1941  if (lumi != 0) {
1942  if (i->data_.lumi > lumi
1943  || i->data_.streamId != 0
1944  || i->data_.moduleId != 0)
1945  break;
1946  }
1947  if (runNumber != 0 or lumi !=0) {
1948  assert(i->data_.streamId == 0);
1949  assert(i->data_.moduleId == 0);
1950  }
1951  result.push_back(const_cast<MonitorElement *>(&*i));
1952  }
1953  return result;
1954 }
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 path
else: Piece not in the list, fine.
tuple result
Definition: query.py:137
std::vector< T * > clean
Definition: MVATrainer.cc:156
MEMap data_
Definition: DQMStore.h:697
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 1868 of file DQMStore.cc.

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

Referenced by EDMtoMEConverter::getData().

1869 {
1870  into.clear();
1871  into.reserve(dirs_.size());
1872 
1873  MEMap::const_iterator me = data_.end();
1874  std::set<std::string>::const_iterator di = dirs_.begin();
1875  std::set<std::string>::const_iterator de = dirs_.end();
1876  char tagbuf[32]; // more than enough for '/' and up to 10 digits
1877 
1878  for ( ; di != de; ++di)
1879  {
1880  MonitorElement proto(&*di, std::string());
1881  MEMap::const_iterator mi = data_.lower_bound(proto);
1882  MEMap::const_iterator m = mi;
1883  size_t sz = di->size() + 2;
1884  size_t nfound = 0;
1885  for ( ; m != me && isSubdirectory(*di, *m->data_.dirname); ++m)
1886  if (*di == *m->data_.dirname && (m->data_.flags & DQMNet::DQM_PROP_TAGGED))
1887  {
1888  // the tags count for '/' + up to 10 digits, otherwise ',' + ME name
1889  sz += 1 + m->data_.objname.size() + 11;
1890  ++nfound;
1891  }
1892 
1893  if (! nfound)
1894  continue;
1895 
1896  std::vector<std::string>::iterator istr
1897  = into.insert(into.end(), std::string());
1898 
1899  istr->reserve(sz);
1900 
1901  *istr += *di;
1902  *istr += ':';
1903  for (sz = 0; mi != m; ++mi)
1904  {
1905  if (*di == *m->data_.dirname && (m->data_.flags & DQMNet::DQM_PROP_TAGGED))
1906  {
1907  sprintf(tagbuf, "/%u", mi->data_.tag);
1908  if (sz > 0)
1909  *istr += ',';
1910  *istr += m->data_.objname;
1911  *istr += tagbuf;
1912  ++sz;
1913  }
1914  }
1915  }
1916 }
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:697
std::set< std::string > dirs_
Definition: DQMStore.h:698
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 1737 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().

1738 {
1740  const std::string *cleaned = 0;
1741  cleanTrailingSlashes(path, clean, cleaned);
1742  MonitorElement proto(cleaned, std::string());
1743 
1744  std::vector<MonitorElement *> result;
1745  MEMap::const_iterator e = data_.end();
1746  MEMap::const_iterator i = data_.lower_bound(proto);
1747  for ( ; i != e && isSubdirectory(*cleaned, *i->data_.dirname); ++i)
1748  if (*cleaned == *i->data_.dirname)
1749  result.push_back(const_cast<MonitorElement *>(&*i));
1750 
1751  return result;
1752 }
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 path
else: Piece not in the list, fine.
tuple result
Definition: query.py:137
std::vector< T * > clean
Definition: MVATrainer.cc:156
MEMap data_
Definition: DQMStore.h:697
std::vector< MonitorElement * > DQMStore::getContents ( const std::string &  path,
unsigned int  tag 
) const

same as above for tagged MonitorElements

Definition at line 1756 of file DQMStore.cc.

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

1757 {
1759  const std::string *cleaned = 0;
1760  cleanTrailingSlashes(path, clean, cleaned);
1761  MonitorElement proto(cleaned, std::string());
1762 
1763  std::vector<MonitorElement *> result;
1764  MEMap::const_iterator e = data_.end();
1765  MEMap::const_iterator i = data_.lower_bound(proto);
1766  for ( ; i != e && isSubdirectory(*cleaned, *i->data_.dirname); ++i)
1767  if (*cleaned == *i->data_.dirname
1768  && (i->data_.flags & DQMNet::DQM_PROP_TAGGED)
1769  && i->data_.tag == tag)
1770  result.push_back(const_cast<MonitorElement *>(&*i));
1771 
1772  return result;
1773 }
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:1594
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
tuple path
else: Piece not in the list, fine.
tuple result
Definition: query.py:137
std::vector< T * > clean
Definition: MVATrainer.cc:156
MEMap data_
Definition: DQMStore.h:697
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 1780 of file DQMStore.cc.

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

1781 {
1782  into.clear();
1783  into.reserve(dirs_.size());
1784 
1785  MEMap::const_iterator me = data_.end();
1786  std::set<std::string>::const_iterator di = dirs_.begin();
1787  std::set<std::string>::const_iterator de = dirs_.end();
1788  for ( ; di != de; ++di)
1789  {
1790  MonitorElement proto(&*di, std::string());
1791  MEMap::const_iterator mi = data_.lower_bound(proto);
1792  MEMap::const_iterator m = mi;
1793  size_t sz = di->size() + 2;
1794  size_t nfound = 0;
1795  for ( ; m != me && isSubdirectory(*di, *m->data_.dirname); ++m)
1796  if (*di == *m->data_.dirname)
1797  {
1798  sz += m->data_.objname.size() + 1;
1799  ++nfound;
1800  }
1801 
1802  if (! nfound)
1803  continue;
1804 
1805  std::vector<std::string>::iterator istr
1806  = into.insert(into.end(), std::string());
1807 
1808  if (showContents)
1809  {
1810  istr->reserve(sz);
1811 
1812  *istr += *di;
1813  *istr += ':';
1814  for (sz = 0; mi != m; ++mi)
1815  {
1816  if (*di != *mi->data_.dirname)
1817  continue;
1818 
1819  if (sz > 0)
1820  *istr += ',';
1821 
1822  *istr += mi->data_.objname;
1823  ++sz;
1824  }
1825  }
1826  else
1827  {
1828  istr->reserve(di->size() + 2);
1829  *istr += *di;
1830  *istr += ':';
1831  }
1832  }
1833 }
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
MEMap data_
Definition: DQMStore.h:697
std::set< std::string > dirs_
Definition: DQMStore.h:698
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 1959 of file DQMStore.cc.

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

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

1960 {
1961  lat::Regexp rx;
1962  try
1963  {
1964  rx = lat::Regexp(pattern, 0, syntaxType);
1965  rx.study();
1966  }
1967  catch (lat::Error &e)
1968  {
1969  raiseDQMError("DQMStore", "Invalid regular expression '%s': %s",
1970  pattern.c_str(), e.explain().c_str());
1971  }
1972 
1973  std::string path;
1974  std::vector<MonitorElement *> result;
1975  MEMap::const_iterator i = data_.begin();
1976  MEMap::const_iterator e = data_.end();
1977  for ( ; i != e; ++i)
1978  {
1979  path.clear();
1980  mergePath(path, *i->data_.dirname, i->data_.objname);
1981  if (rx.match(path))
1982  result.push_back(const_cast<MonitorElement *>(&*i));
1983  }
1984 
1985  return result;
1986 }
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 path
else: Piece not in the list, fine.
tuple result
Definition: query.py:137
MEMap data_
Definition: DQMStore.h:697
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 1682 of file DQMStore.cc.

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

Referenced by CalibrationScanTask::book(), CalibrationTask::book(), SiPixelDataQuality::computeGlobalQualityFlag(), dqmCopyRecursively(), SiPixelActionExecutor::dumpBarrelModIds(), SiPixelActionExecutor::dumpEndcapModIds(), 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().

1683 {
1684  MonitorElement proto(&pwd_, std::string());
1685  std::vector<std::string> result;
1686  MEMap::const_iterator e = data_.end();
1687  MEMap::const_iterator i = data_.lower_bound(proto);
1688  for ( ; i != e && isSubdirectory(pwd_, *i->data_.dirname); ++i)
1689  if (pwd_ == *i->data_.dirname)
1690  result.push_back(i->getName());
1691 
1692  return result;
1693 }
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:696
MEMap data_
Definition: DQMStore.h:697
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 3274 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().

3275 {
3277  const std::string *cleaned = 0;
3278  cleanTrailingSlashes(path, clean, cleaned);
3279 
3281  MEMap::const_iterator mi = data_.begin();
3282  MEMap::const_iterator me = data_.end();
3283  for ( ; mi != me; ++mi)
3284  {
3285  if (! cleaned->empty() && ! isSubdirectory(*cleaned, *mi->data_.dirname))
3286  continue;
3287 
3288  if (mi->hasError())
3289  return dqm::qstatus::ERROR;
3290  else if (mi->hasWarning())
3291  status = dqm::qstatus::WARNING;
3292  else if (status < dqm::qstatus::WARNING
3293  && mi->hasOtherReport())
3294  status = dqm::qstatus::OTHER;
3295  }
3296  return status;
3297 }
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
tuple path
else: Piece not in the list, fine.
std::vector< T * > clean
Definition: MVATrainer.cc:156
MEMap data_
Definition: DQMStore.h:697
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 1659 of file DQMStore.cc.

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

Referenced by 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_(), CaloTowersDQMClient::runClient_(), HcalRecHitsClient::runClient_(), HcalRecHitsDQMClient::runClient_(), NoiseRatesClient::runClient_(), HcalNoiseRatesClient::runClient_(), CaloTowersClient::runClient_(), HcalSimHitsClient::runClient_(), JetMETHLTOfflineClient::runClient_(), HLXMonitor::SaveDQMFile(), DQMFileSaver::saveForOffline(), DQMFileSaver::saveForOnline(), SiPixelInformationExtractor::selectMEList(), SiStripTrackerMapCreator::setTkMapFromHistogram(), and HLXMonitor::SetupHists().

1660 {
1661  std::vector<std::string> result;
1662  std::set<std::string>::const_iterator e = dirs_.end();
1663  std::set<std::string>::const_iterator i = dirs_.find(pwd_);
1664 
1665  // If we didn't find current directory, the tree is empty, so quit.
1666  if (i == e)
1667  return result;
1668 
1669  // Skip the current directory and then start looking for immediate
1670  // subdirectories in the dirs_ list. Stop when we are no longer in
1671  // (direct or indirect) subdirectories of pwd_. Note that we don't
1672  // "know" which order the set will sort A/B, A/B/C and A/D.
1673  while (++i != e && isSubdirectory(pwd_, *i))
1674  if (i->find('/', pwd_.size()+1) == std::string::npos)
1675  result.push_back(*i);
1676 
1677  return result;
1678 }
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:696
std::set< std::string > dirs_
Definition: DQMStore.h:698
void DQMStore::goUp ( void  )

equivalent to "cd .."

Definition at line 678 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().

679 {
680  size_t pos = pwd_.rfind('/');
681  if (pos == std::string::npos)
682  setCurrentFolder("");
683  else
684  setCurrentFolder(pwd_.substr(0, pos));
685 }
std::string pwd_
Definition: DQMStore.h:696
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:667
MonitorElement* DQMStore::initialise ( MonitorElement me,
const std::string &  path 
)
private

Referenced by book().

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

Definition at line 520 of file DQMStore.cc.

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

Referenced by DQMStore().

520  {
521  makeDirectory("");
522  reset();
523 
524  // set steerable parameters
525  verbose_ = pset.getUntrackedParameter<int>("verbose", 0);
526  if (verbose_ > 0)
527  std::cout << "DQMStore: verbosity set to " << verbose_ << std::endl;
528 
529  verboseQT_ = pset.getUntrackedParameter<int>("verboseQT", 0);
530  if (verbose_ > 0)
531  std::cout << "DQMStore: QTest verbosity set to " << verboseQT_ << std::endl;
532 
533  collateHistograms_ = pset.getUntrackedParameter<bool>("collateHistograms", false);
534  if (collateHistograms_)
535  std::cout << "DQMStore: histogram collation is enabled\n";
536 
537  enableMultiThread_ = pset.getUntrackedParameter<bool>("enableMultiThread", false);
538  if (enableMultiThread_)
539  std::cout << "DQMStore: MultiThread option is enabled\n";
540 
541  LSbasedMode_ = pset.getUntrackedParameter<bool>("LSbasedMode", false);
542  if (LSbasedMode_)
543  std::cout << "DQMStore: LSbasedMode option is enabled\n";
544 
545  std::string ref = pset.getUntrackedParameter<std::string>("referenceFileName", "");
546  if (! ref.empty())
547  {
548  std::cout << "DQMStore: using reference file '" << ref << "'\n";
549  readFile(ref, true, "", s_referenceDirName, StripRunDirs, false);
550  }
551 
552  initQCriterion<Comp2RefChi2>(qalgos_);
553  initQCriterion<Comp2RefKolmogorov>(qalgos_);
554  initQCriterion<ContentsXRange>(qalgos_);
555  initQCriterion<ContentsYRange>(qalgos_);
556  initQCriterion<MeanWithinExpected>(qalgos_);
557  initQCriterion<Comp2RefEqualH>(qalgos_);
558  initQCriterion<DeadChannel>(qalgos_);
559  initQCriterion<NoisyChannel>(qalgos_);
560  initQCriterion<ContentsWithinExpected>(qalgos_);
561  initQCriterion<CompareToMedian>(qalgos_);
562  initQCriterion<CompareLastFilledBin>(qalgos_);
563  initQCriterion<CheckVariance>(qalgos_);
564 
565  scaleFlag_ = pset.getUntrackedParameter<double>("ScalingFlag", 0.0);
566  if (verbose_ > 0)
567  std::cout << "DQMStore: Scaling Flag set to " << scaleFlag_ << std::endl;
568 }
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:2937
unsigned verboseQT_
Definition: DQMStore.h:684
double scaleFlag_
Definition: DQMStore.h:686
QAMap qalgos_
Definition: DQMStore.h:701
unsigned verbose_
Definition: DQMStore.h:683
static const std::string s_referenceDirName
Definition: DQMStore.cc:54
tuple cout
Definition: gather_cfg.py:121
void reset(void)
Definition: DQMStore.cc:1995
bool collateHistograms_
Definition: DQMStore.h:687
bool LSbasedMode_
Definition: DQMStore.h:689
void makeDirectory(const std::string &path)
Definition: DQMStore.cc:691
bool enableMultiThread_
Definition: DQMStore.h:688
bool DQMStore::isCollate ( void  ) const

Definition at line 3352 of file DQMStore.cc.

References collateHistograms_.

3353 {
3354  return collateHistograms_;
3355 }
bool collateHistograms_
Definition: DQMStore.h:687
bool DQMStore::isCollateME ( MonitorElement me) const
private

Definition at line 3361 of file DQMStore.cc.

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

Referenced by extract().

3362 { return me && isSubdirectory(s_collateDirName, *me->data_.dirname); }
const std::string * dirname
Definition: DQMNet.h:105
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 2910 of file DQMStore.cc.

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

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

2913 {
2914  bool overwrite = true;
2915  if (collateHistograms_) overwrite = false;
2916  if (verbose_)
2917  {
2918  std::cout << "DQMStore::load: reading from file '" << filename << "'\n";
2919  if (collateHistograms_)
2920  std::cout << "DQMStore::load: in collate mode " << "\n";
2921  else
2922  std::cout << "DQMStore::load: in overwrite mode " << "\n";
2923  }
2924 
2925  if (!s_rxpbfile.match(filename, 0, 0))
2926  return readFile(filename, overwrite, "", "", stripdirs, fileMustExist);
2927  else
2928  return readFilePB(filename, overwrite, "", "", stripdirs, fileMustExist);
2929 }
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:2937
unsigned verbose_
Definition: DQMStore.h:683
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:3021
tuple filename
Definition: lut2db_cfg.py:20
tuple cout
Definition: gather_cfg.py:121
bool collateHistograms_
Definition: DQMStore.h:687
void DQMStore::makeDirectory ( const std::string &  path)
private

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

Definition at line 691 of file DQMStore.cc.

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

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

692 {
693  std::string prev;
694  std::string subdir;
696  prev.reserve(path.size());
697  subdir.reserve(path.size());
698  name.reserve(path.size());
699  size_t prevname = 0;
700  size_t slash = 0;
701 
702  while (true)
703  {
704  // Create this subdirectory component.
705  subdir.clear();
706  subdir.append(path, 0, slash);
707  name.clear();
708  name.append(subdir, prevname, std::string::npos);
709  if (! prev.empty() && findObject(prev, name))
710  raiseDQMError("DQMStore", "Attempt to create subdirectory '%s'"
711  " which already exists as a monitor element",
712  subdir.c_str());
713 
714  if (! dirs_.count(subdir))
715  dirs_.insert(subdir);
716 
717  // Stop if we've reached the end (including possibly a trailing slash).
718  if (slash+1 >= path.size())
719  break;
720 
721  // Find the next slash, making sure we progress. If reach the end,
722  // process the last path component; the next loop round will terminate.
723  prevname = slash ? slash+1 : slash;
724  prev = subdir;
725  if ((slash = path.find('/', ++slash)) == std::string::npos)
726  slash = path.size();
727  }
728 }
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:1838
tuple path
else: Piece not in the list, fine.
std::set< std::string > dirs_
Definition: DQMStore.h:698
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
void DQMStore::markForDeletion ( uint32_t  run,
uint32_t  lumi 
)
private

Mark a set of histograms for deletion based on run, lumi and path

Definition at line 2040 of file DQMStore.cc.

References gather_cfg::cout, data_, alignCSCRings::e, enableMultiThread_, i, MonitorElement::setLumi(), AlCaHLTBitMon_QueryRunRegistry::string, and verbose_.

Referenced by DQMFileSaver::globalEndLuminosityBlock().

2042 {
2043 
2044  std::string null_str("");
2045  MonitorElement proto(&null_str, null_str, run, 0, 0);
2046  if (enableMultiThread_)
2047  proto.setLumi(lumi);
2048 
2049  std::set<MonitorElement>::const_iterator e = data_.end();
2050  std::set<MonitorElement>::const_iterator i = data_.lower_bound(proto);
2051 
2052  while (i != e) {
2053  if (i->data_.streamId != 0 ||
2054  i->data_.moduleId != 0)
2055  break;
2056  if ((i->data_.lumi != lumi) && enableMultiThread_)
2057  break;
2058  if (i->data_.run != run)
2059  break;
2060 
2061  const_cast<MonitorElement*>(&*i)->markToDelete();
2062 
2063  if (verbose_ > 1)
2064  std::cout << "DQMStore::markForDeletion: marked monitor element '"
2065  << *i->data_.dirname << "/" << i->data_.objname << "'"
2066  << "flags " << i->data_.flags << "\n";
2067 
2068  ++i;
2069  }
2070 }
int i
Definition: DBlmapReader.cc:9
tuple lumi
Definition: fjr2json.py:35
unsigned verbose_
Definition: DQMStore.h:683
MEMap data_
Definition: DQMStore.h:697
tuple cout
Definition: gather_cfg.py:121
bool enableMultiThread_
Definition: DQMStore.h:688
template<typename iFunc >
void DQMStore::meBookerGetter ( iFunc  f)
inline

Definition at line 260 of file DQMStore.h.

References f, ibooker_, and igetter_.

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

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

Definition at line 269 of file DQMStore.h.

References f, and igetter_.

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

Definition at line 387 of file DQMStore.cc.

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

Referenced by DQMEDAnalyzer::endLuminosityBlockSummary(), and FastTimerService::postStreamEndLumi().

390  {
391  if (verbose_ > 1)
392  std::cout << "DQMStore::mergeAndResetMEsLuminositySummaryCache - Merging objects from run: "
393  << run << " lumi: " << lumi
394  << ", stream: " << streamId
395  << " module: " << moduleId << std::endl;
396  std::string null_str("");
397  MonitorElement proto(&null_str, null_str, run, streamId, moduleId);
398  std::set<MonitorElement>::const_iterator e = data_.end();
399  std::set<MonitorElement>::const_iterator i = data_.lower_bound(proto);
400 
401  while (i != e) {
402  if (i->data_.run != run
403  || i->data_.streamId != streamId
404  || i->data_.moduleId != moduleId)
405  break;
406 
407  // Handle LS-based histograms only.
408  if (not (i->getLumiFlag() || LSbasedMode_)) {
409  ++i;
410  continue;
411  }
412 
413  MonitorElement global_me(*i);
414  global_me.globalize();
415  global_me.setLumi(lumi);
416  // Since this accesses the data, the operation must be
417  // be locked.
418  std::lock_guard<std::mutex> guard(book_mutex_);
419  std::set<MonitorElement>::const_iterator me = data_.find(global_me);
420  if (me != data_.end()) {
421  if (verbose_ > 1)
422  std::cout << "Found global Object, using it --> " << me->getFullname() << std::endl;
423 
424  //don't take any action if the ME is an INT || FLOAT || STRING
425  if (me->kind() >= MonitorElement::DQM_KIND_TH1F)
426  me->getTH1()->Add(i->getTH1());
427  } else {
428  if (verbose_ > 1)
429  std::cout << "No global Object found. " << std::endl;
430  std::pair<std::set<MonitorElement>::const_iterator, bool> gme;
431  gme = data_.insert(global_me);
432  assert(gme.second);
433  }
434  // make the ME reusable for the next LS
435  const_cast<MonitorElement*>(&*i)->Reset();
436  ++i;
437 
438  // check and remove the global lumi based histo belonging to the previous LSs
439  // if properly flagged as DQMNet::DQM_PROP_MARKTODELETE
440  global_me.setLumi(1);
441  std::set<MonitorElement>::const_iterator i_lumi = data_.lower_bound(global_me);
442  while (i_lumi->data_.lumi != lumi) {
443  auto temp = i_lumi++;
444  if (i_lumi->getFullname() == i->getFullname() && i_lumi->markedToDelete())
445  {
446  data_.erase(temp);
447  }
448  }
449  }
450 }
int i
Definition: DBlmapReader.cc:9
tuple lumi
Definition: fjr2json.py:35
std::mutex book_mutex_
Definition: DQMStore.h:704
unsigned verbose_
Definition: DQMStore.h:683
MEMap data_
Definition: DQMStore.h:697
tuple cout
Definition: gather_cfg.py:121
void Reset(std::vector< TH2F > &depth)
bool LSbasedMode_
Definition: DQMStore.h:689
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, LSbasedMode_, AlCaHLTBitMon_QueryRunRegistry::string, and verbose_.

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

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

References readFile().

Referenced by SiStripCalibLorentzAngle::algoBeginJob(), ElectronDqmAnalyzerBase::beginJob(), DQMFileReader::beginJob(), HcalMonitorClient::beginJob(), SiPixelDQMRocLevelAnalyzer::beginJob(), edmtest::DQMReferenceHistogramRootFileEventSetupAnalyzer::beginRun(), SiStripCommissioningOfflineClient::beginRun(), EcalCondDBWriter::EcalCondDBWriter(), 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().

2901 {
2902  return readFile(filename,overwrite,onlypath,prepend,stripdirs,fileMustExist);
2903 }
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:2937
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 580 of file DQMStore.cc.

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

Referenced by book().

581 {
582  static std::ofstream stream("histogramBookingBT.log");
583  void *array[10];
584  size_t size;
585  char **strings;
586  int r=0;
587  lat::RegexpMatch m;
588  m.reset();
589 
590  size = backtrace (array, 10);
591  strings = backtrace_symbols (array, size);
592 
593  if ((size > 4)
594  &&s_rxtrace.match(strings[4], 0, 0, &m))
595  {
596  char * demangled = abi::__cxa_demangle(m.matchString(strings[4], 2).c_str(), 0, 0, &r);
597  stream << "\"" << dir << "/"
598  << name << "\" "
599  << (r ? m.matchString(strings[4], 2) : demangled) << " "
600  << m.matchString(strings[4], 1) << "\n";
601  free(demangled);
602  }
603  else
604  stream << "Skipping "<< dir << "/" << name
605  << " with stack size " << size << "\n";
606  /* In this case print the full stack trace, up to main or to the
607  * maximum stack size, i.e. 10. */
608  if (verbose_ > 4)
609  {
610  size_t i;
611  m.reset();
612 
613  for (i = 0; i < size; i++)
614  if (s_rxtrace.match(strings[i], 0, 0, &m))
615  {
616  char * demangled = abi::__cxa_demangle(m.matchString(strings[i], 2).c_str(), 0, 0, &r);
617  stream << "\t\t" << i << "/" << size << " "
618  << (r ? m.matchString(strings[i], 2) : demangled) << " "
619  << m.matchString(strings[i], 1) << std::endl;
620  free (demangled);
621  }
622  }
623  free (strings);
624 }
int i
Definition: DBlmapReader.cc:9
static const lat::Regexp s_rxtrace("(.*)\\((.*)\\+0x.*\\).*")
unsigned verbose_
Definition: DQMStore.h:683
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 639 of file DQMStore.cc.

References pwd_.

Referenced by SiStripDcsInfo::addBadModules(), HcalDataCertification::beginJob(), HcalDAQInfo::beginJob(), SiStripSpyMonitorModule::beginJob(), CalibrationTask::book(), FineDelayTask::book(), LatencyTask::book(), CalibrationScanTask::book(), PhotonOfflineClient::book2DHistoVector(), PhotonAnalyzer::book2DHistoVector(), PhotonOfflineClient::book3DHistoVector(), PhotonAnalyzer::book3DHistoVector(), PhotonOfflineClient::bookHisto(), PhotonAnalyzer::bookHisto(), RPCValidHistograms::bookHistograms(), 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(), 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().

640 { return pwd_; }
std::string pwd_
Definition: DQMStore.h:696
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 2740 of file DQMStore.cc.

References collateHistograms_, 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().

2746 {
2747  unsigned int ntot = 0;
2748  unsigned int count = 0;
2749 
2750  if (! file->cd(curdir.c_str()))
2751  raiseDQMError("DQMStore", "Failed to process directory '%s' while"
2752  " reading file '%s'", curdir.c_str(), file->GetName());
2753 
2754  // Figure out current directory name, but strip out the top
2755  // directory into which we dump everything.
2756  std::string dirpart = curdir;
2757  if (dirpart.compare(0, s_monitorDirName.size(), s_monitorDirName) == 0)
2758  {
2759  if (dirpart.size() == s_monitorDirName.size())
2760  dirpart.clear();
2761  else if (dirpart[s_monitorDirName.size()] == '/')
2762  dirpart.erase(0, s_monitorDirName.size()+1);
2763  }
2764 
2765  // See if we are going to skip this directory.
2766  bool skip = (! onlypath.empty() && ! isSubdirectory(onlypath, dirpart));
2767 
2768  if (prepend == s_collateDirName ||
2769  prepend == s_referenceDirName ||
2770  stripdirs == StripRunDirs )
2771  {
2772  // Remove Run # and RunSummary dirs
2773  // first look for Run summary,
2774  // if that is found and erased, also erase Run dir
2775  size_t slash = dirpart.find('/');
2776  size_t pos = dirpart.find("/Run summary");
2777  if (slash != std::string::npos && pos !=std::string::npos)
2778  {
2779  dirpart.erase(pos,12);
2780 
2781  pos = dirpart.find("Run ");
2782  size_t length = dirpart.find('/',pos+1)-pos+1;
2783  if (pos !=std::string::npos)
2784  dirpart.erase(pos,length);
2785  }
2786  }
2787 
2788  // If we are prepending, add it to the directory name,
2789  // and suppress reading of already existing reference histograms
2790  if (prepend == s_collateDirName ||
2791  prepend == s_referenceDirName)
2792  {
2793  size_t slash = dirpart.find('/');
2794  // If we are reading reference, skip previous reference.
2795  if (slash == std::string::npos // skip if Reference is toplevel folder, i.e. no slash
2796  && slash+1+s_referenceDirName.size() == dirpart.size()
2797  && dirpart.compare(slash+1, s_referenceDirName.size(), s_referenceDirName) == 0)
2798  return 0;
2799 
2800  slash = dirpart.find('/');
2801  // Skip reading of EventInfo subdirectory.
2802  if (slash != std::string::npos
2803  && slash + 10 == dirpart.size()
2804  && dirpart.compare( slash+1 , 9 , "EventInfo") == 0) {
2805  if (verbose_)
2806  std::cout << "DQMStore::readDirectory: skipping '" << dirpart << "'\n";
2807  return 0;
2808  }
2809 
2810  // Add prefix.
2811  if (dirpart.empty())
2812  dirpart = prepend;
2813  else
2814  dirpart = prepend + '/' + dirpart;
2815  }
2816  else if (! prepend.empty())
2817  {
2818  if (dirpart.empty())
2819  dirpart = prepend;
2820  else
2821  dirpart = prepend + '/' + dirpart;
2822  }
2823 
2824  // Loop over the contents of this directory in the file.
2825  // Post-pone string object handling to happen after other
2826  // objects have been read in so we are guaranteed to have
2827  // histograms by the time we read in quality tests and tags.
2828  TKey *key;
2829  TIter next (gDirectory->GetListOfKeys());
2830  std::list<TObject *> delayed;
2831  while ((key = (TKey *) next()))
2832  {
2833  std::auto_ptr<TObject> obj(key->ReadObj());
2834  if (dynamic_cast<TDirectory *>(obj.get()))
2835  {
2836  std::string subdir;
2837  subdir.reserve(curdir.size() + strlen(obj->GetName()) + 2);
2838  subdir += curdir;
2839  if (! curdir.empty())
2840  subdir += '/';
2841  subdir += obj->GetName();
2842 
2843  ntot += readDirectory(file, overwrite, onlypath, prepend, subdir, stripdirs);
2844  }
2845  else if (skip)
2846  ;
2847  else if (dynamic_cast<TObjString *>(obj.get()))
2848  {
2849  delayed.push_back(obj.release());
2850  }
2851  else
2852  {
2853  if (verbose_ > 2)
2854  std::cout << "DQMStore: reading object '" << obj->GetName()
2855  << "' of type '" << obj->IsA()->GetName()
2856  << "' from '" << file->GetName()
2857  << "' into '" << dirpart << "'\n";
2858 
2859  makeDirectory(dirpart);
2860  if (extract(obj.get(), dirpart, overwrite, collateHistograms_))
2861  ++count;
2862  }
2863  }
2864 
2865  while (! delayed.empty())
2866  {
2867  if (verbose_ > 2)
2868  std::cout << "DQMStore: reading object '" << delayed.front()->GetName()
2869  << "' of type '" << delayed.front()->IsA()->GetName()
2870  << "' from '" << file->GetName()
2871  << "' into '" << dirpart << "'\n";
2872 
2873  makeDirectory(dirpart);
2874  if (extract(delayed.front(), dirpart, overwrite, collateHistograms_))
2875  ++count;
2876 
2877  delete delayed.front();
2878  delayed.pop_front();
2879  }
2880 
2881  if (verbose_ > 1)
2882  std::cout << "DQMStore: read " << count << '/' << ntot
2883  << " objects from directory '" << dirpart << "'\n";
2884 
2885  return ntot + count;
2886 }
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
unsigned verbose_
Definition: DQMStore.h:683
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:2740
bool extract(TObject *obj, const std::string &dir, bool overwrite, bool collateHistograms)
Definition: DQMStore.cc:2079
list key
Definition: combine.py:13
tuple cout
Definition: gather_cfg.py:121
bool collateHistograms_
Definition: DQMStore.h:687
void makeDirectory(const std::string &path)
Definition: DQMStore.cc:691
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 2937 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().

2943 {
2944 
2945  if (verbose_)
2946  std::cout << "DQMStore::readFile: reading from file '" << filename << "'\n";
2947 
2948  std::auto_ptr<TFile> f;
2949 
2950  try
2951  {
2952  f.reset(TFile::Open(filename.c_str()));
2953  if (! f.get() || f->IsZombie())
2954  raiseDQMError("DQMStore", "Failed to open file '%s'", filename.c_str());
2955  }
2956  catch (std::exception &)
2957  {
2958  if (fileMustExist)
2959  throw;
2960  else
2961  {
2962  if (verbose_)
2963  std::cout << "DQMStore::readFile: file '" << filename << "' does not exist, continuing\n";
2964  return false;
2965  }
2966  }
2967 
2968  unsigned n = readDirectory(f.get(), overwrite, onlypath, prepend, "", stripdirs);
2969  f->Close();
2970 
2971  MEMap::iterator mi = data_.begin();
2972  MEMap::iterator me = data_.end();
2973  for ( ; mi != me; ++mi)
2974  const_cast<MonitorElement &>(*mi).updateQReportStats();
2975 
2976  if (verbose_)
2977  {
2978  std::cout << "DQMStore::open: successfully read " << n
2979  << " objects from file '" << filename << "'";
2980  if (! onlypath.empty())
2981  std::cout << " from directory '" << onlypath << "'";
2982  if (! prepend.empty())
2983  std::cout << " into directory '" << prepend << "'";
2984  std::cout << std::endl;
2985  }
2986  return true;
2987 }
double f[11][100]
unsigned verbose_
Definition: DQMStore.h:683
MEMap data_
Definition: DQMStore.h:697
unsigned int readDirectory(TFile *file, bool overwrite, const std::string &path, const std::string &prepend, const std::string &curdir, OpenRunDirs stripdirs)
Definition: DQMStore.cc:2740
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 3021 of file DQMStore.cc.

References cd(), gather_cfg::cout, MonitorElement::data_, DQMNet::DQM_PROP_LUMI, extract(), groupFilesInBlocks::fin, findObject(), DQMNet::CoreObject::flags, dqmstorepb::ROOTFilePB_Histo::flags(), get_info(), h, dqmstorepb::ROOTFilePB::histo(), dqmstorepb::ROOTFilePB::histo_size(), i, input, NULL, getGTfromDQMFile::obj, open(), cmsHarvester::path, raiseDQMError(), setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and verbose_.

Referenced by load().

3027 {
3028  using google::protobuf::io::FileInputStream;
3029  using google::protobuf::io::FileOutputStream;
3030  using google::protobuf::io::GzipInputStream;
3031  using google::protobuf::io::GzipOutputStream;
3032  using google::protobuf::io::CodedInputStream;
3033  using google::protobuf::io::ArrayInputStream;
3034 
3035  if (verbose_)
3036  std::cout << "DQMStore::readFile: reading from file '" << filename << "'\n";
3037 
3038  int filedescriptor;
3039  if ((filedescriptor = ::open(filename.c_str(), O_RDONLY)) == -1) {
3040  if (fileMustExist)
3041  raiseDQMError("DQMStore", "Failed to open file '%s'", filename.c_str());
3042  else
3043  if (verbose_)
3044  std::cout << "DQMStore::readFile: file '" << filename << "' does not exist, continuing\n";
3045  return false;
3046  }
3047 
3048  dqmstorepb::ROOTFilePB dqmstore_message;
3049  FileInputStream fin(filedescriptor);
3050  GzipInputStream input(&fin);
3051  CodedInputStream input_coded(&input);
3052  input_coded.SetTotalBytesLimit(1024*1024*1024, -1);
3053  if (!dqmstore_message.ParseFromCodedStream(&input_coded)) {
3054  raiseDQMError("DQMStore", "Fatal parsing file '%s'", filename.c_str());
3055  return false;
3056  }
3057 
3058  for (int i = 0; i < dqmstore_message.histo_size(); i++) {
3059  std::string path;
3060  std::string objname;
3061 
3062  TObject *obj = NULL;
3063  const dqmstorepb::ROOTFilePB::Histo &h = dqmstore_message.histo(i);
3064  get_info(h, path, objname, &obj);
3065 
3066  setCurrentFolder(path);
3067  if (obj)
3068  {
3069  /* Before calling the extract() check if histogram exists:
3070  * if it does - flags for the given monitor are already set (and merged)
3071  * else - set the flags after the histogram is created.
3072  */
3073  MonitorElement *me = findObject(path, objname);
3074 
3075  /* Run histograms should be collated and not overwritten,
3076  * Lumi histograms should be overwritten (and collate flag is not checked)
3077  */
3078  bool overwrite = h.flags() & DQMNet::DQM_PROP_LUMI;
3079  bool collate = !(h.flags() & DQMNet::DQM_PROP_LUMI);
3080  extract(static_cast<TObject *>(obj), path, overwrite, collate);
3081 
3082  if (me == nullptr) {
3083  me = findObject(path, objname);
3084  me->data_.flags = h.flags();
3085  }
3086 
3087  delete obj;
3088  }
3089  }
3090 
3091  cd();
3092  return true;
3093 }
int i
Definition: DBlmapReader.cc:9
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:1838
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:644
uint32_t flags
Definition: DQMNet.h:98
#define NULL
Definition: scimark2.h:8
static std::string const input
Definition: EdmProvDump.cc:44
tuple path
else: Piece not in the list, fine.
void get_info(const dqmstorepb::ROOTFilePB_Histo &, std::string &dirname, std::string &objname, TObject **obj)
Definition: DQMStore.cc:3000
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
DQMNet::CoreObject data_
const ::dqmstorepb::ROOTFilePB_Histo & histo(int index) const
unsigned verbose_
Definition: DQMStore.h:683
bool extract(TObject *obj, const std::string &dir, bool overwrite, bool collateHistograms)
Definition: DQMStore.cc:2079
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:2895
inline::google::protobuf::uint32 flags() const
tuple cout
Definition: gather_cfg.py:121
static const uint32_t DQM_PROP_LUMI
Definition: DQMNet.h:60
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:667
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 3121 of file DQMStore.cc.

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

3122 {
3123  MonitorElement proto(&dir, std::string());
3124  MEMap::iterator e = data_.end();
3125  MEMap::iterator i = data_.lower_bound(proto);
3126  while (i != e && isSubdirectory(dir, *i->data_.dirname))
3127  if (dir == *i->data_.dirname)
3128  data_.erase(i++);
3129  else
3130  ++i;
3131 }
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:697
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 3151 of file DQMStore.cc.

References gather_cfg::cout, and data_.

3152 {
3153  MonitorElement proto(&dir, name);
3154  MEMap::iterator pos = data_.find(proto);
3155  if (pos == data_.end() && warning)
3156  std::cout << "DQMStore: WARNING: attempt to remove non-existent"
3157  << " monitor element '" << name << "' in '" << dir << "'\n";
3158  else
3159  data_.erase(pos);
3160 }
MEMap data_
Definition: DQMStore.h:697
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 1995 of file DQMStore.cc.

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

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

1996 {
1997  MEMap::iterator mi = data_.begin();
1998  MEMap::iterator me = data_.end();
1999  for ( ; mi != me; ++mi)
2000  {
2001  MonitorElement &me = const_cast<MonitorElement &>(*mi);
2002  if (mi->wasUpdated())
2003  {
2004  if (me.resetMe())
2005  me.Reset();
2006  me.resetUpdate();
2007  }
2008  }
2009 
2010  reset_ = true;
2011 }
void resetUpdate(void)
reset &quot;was updated&quot; flag
bool reset_
Definition: DQMStore.h:685
MEMap data_
Definition: DQMStore.h:697
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 3101 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().

3102 {
3104  const std::string *cleaned = 0;
3105  cleanTrailingSlashes(path, clean, cleaned);
3106  MonitorElement proto(cleaned, std::string());
3107 
3108  MEMap::iterator e = data_.end();
3109  MEMap::iterator i = data_.lower_bound(proto);
3110  while (i != e && isSubdirectory(*cleaned, *i->data_.dirname))
3111  data_.erase(i++);
3112 
3113  std::set<std::string>::iterator de = dirs_.end();
3114  std::set<std::string>::iterator di = dirs_.lower_bound(*cleaned);
3115  while (di != de && isSubdirectory(*cleaned, *di))
3116  dirs_.erase(di++);
3117 }
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 path
else: Piece not in the list, fine.
std::vector< T * > clean
Definition: MVATrainer.cc:156
MEMap data_
Definition: DQMStore.h:697
std::set< std::string > dirs_
Definition: DQMStore.h:698
void DQMStore::runQTests ( void  )

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

Definition at line 3253 of file DQMStore.cc.

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

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

3254 {
3255 
3256  if (verbose_ > 0)
3257  std::cout << "DQMStore: running runQTests() with reset = "
3258  << ( reset_ ? "true" : "false" ) << std::endl;
3259 
3260  // Apply quality tests to each monitor element, skipping references.
3261  MEMap::iterator mi = data_.begin();
3262  MEMap::iterator me = data_.end();
3263  for ( ; mi != me; ++mi)
3264  if (! isSubdirectory(s_referenceDirName, *mi->data_.dirname))
3265  const_cast<MonitorElement &>(*mi).runQTests();
3266 
3267  reset_ = false;
3268 }
void runQTests(void)
run all quality tests
bool reset_
Definition: DQMStore.h:685
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
unsigned verbose_
Definition: DQMStore.h:683
MEMap data_
Definition: DQMStore.h:697
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,
const uint32_t  lumi = 0,
SaveReferenceTag  ref = SaveWithReference,
int  minStatus = dqm::qstatus::STATUS_OK,
const std::string &  fileupdate = "RECREATE",
const bool  resetMEsAfterWriting = false 
)

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 2540 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, enableMultiThread_, f, mergeVDriftHistosByStation::file, i, isSubdirectory(), fjr2json::lumi, autoMagneticFieldProducer_cfi::master, bookConverter::max, cmsHarvester::path, raiseDQMError(), python.rootplot.root2matplotlib::replace(), HcalObjRepresent::Reset(), s_monitorDirName, s_referenceDirName, SaveWithoutReference, SaveWithReference, SaveWithReferenceForQTest, MonitorElement::setLumi(), 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(), GenericBenchmarkAnalyzer::endJob(), CSCDigiValidation::endJob(), TauDQMSimpleFileSaver::endJob(), ElectronDqmAnalyzerBase::endJob(), PFTester::endJob(), TrackingTruthValid::endJob(), SiStripDigiValid::endJob(), SiPixelDigiValid::endJob(), SiPixelHistoricInfoDQMClient::endJob(), HLTMonBTagClient::endJob(), HLTMonBTagMuSource::endJob(), HLTMonBTagIPSource::endJob(), SiPixelHistoricInfoEDAClient::endJob(), HcalDigiTester::endJob(), SiStripMonitorFilter::endJob(), SiStripMonitorHLT::endJob(), MonitorLTC::endJob(), EgammaBasicClusters::endJob(), EgammaSuperClusters::endJob(), RPCDigiValid::endJob(), TkAlCaRecoMonitor::endJob(), DTtTrigDBValidation::endJob(), LaserDQM::endJob(), HcalSimHitStudy::endJob(), HLTMonHcalIsoTrack::endJob(), MonitorTrackResiduals::endJob(), DTnoiseDBValidation::endJob(), SiStripMonitorDigi::endJob(), SiStripLAProfileBooker::endJob(), HcalDigisClient::endJob(), SiPixelRecHitsValid::endJob(), SiStripCommissioningSource::endJob(), MixCollectionValidation::endJob(), BxTiming::endJob(), BTagValidator::endJob(), DTt0DBValidation::endJob(), HLTAlCaMonEcalPhiSym::endJob(), TrackerHitAnalyzer::endJob(), dEdxAnalyzer::endJob(), SiStripMonitorCluster::endJob(), DQMHcalPhiSymAlCaReco::endJob(), LaserAlignmentT0ProducerDQM::endJob(), DQMSourceEleCalib::endJob(), HcalSimHitsValidation::endJob(), DQMHcalDiJetsAlCaReco::endJob(), APVValidationPlots::endJob(), StripValidationPlots::endJob(), L1TDTTF::endJob(), TrackEfficiencyMonitor::endJob(), TrackSplittingMonitor::endJob(), GlobalTest::endJob(), TestSuite::endJob(), TrackingMonitor::endJob(), L1TDTTPG::endJob(), CaloTowersDQMClient::endJob(), HcalNoiseRatesClient::endJob(), HcalRecHitsDQMClient::endJob(), CaloTowersClient::endJob(), HcalRecHitsClient::endJob(), NoiseRatesClient::endJob(), ElectronConversionRejectionValidator::endJob(), HcalSimHitsClient::endJob(), ZDCDigiStudy::endJob(), L1TRCT::endJob(), HLTMon::endJob(), L1TRPCTF::endJob(), ZdcSimHitStudy::endJob(), L1TCSCTPG::endJob(), SiStripSpyMonitorModule::endJob(), HLTAlCaMonPi0::endJob(), LogMessageMonitor::endJob(), TkConvValidator::endJob(), DQMSourcePi0::endJob(), SiStripMonitorTrack::endJob(), SiStripOfflineDQM::endJob(), SiStripFEDMonitorPlugin::endJob(), TrackingOfflineDQM::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(), SiStripMonitorQuality::endRun(), SiStripMonitorRawData::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().

2550 {
2551  std::set<std::string>::iterator di, de;
2552  MEMap::iterator mi, me = data_.end();
2553  DQMNet::QReports::const_iterator qi, qe;
2554  int nme=0;
2555 
2556  // TFile flushes to disk with fsync() on every TDirectory written to
2557  // the file. This makes DQM file saving painfully slow, and
2558  // ironically makes it _more_ likely the file saving gets
2559  // interrupted and corrupts the file. The utility class below
2560  // simply ignores the flush synchronisation.
2561  class TFileNoSync : public TFile
2562  {
2563  public:
2564  TFileNoSync(const char *file, const char *opt) : TFile(file, opt) {}
2565  virtual Int_t SysSync(Int_t) override { return 0; }
2566  };
2567 
2568  // open output file, on 1st save recreate, later update
2569  if (verbose_)
2570  std::cout << "\n DQMStore: Opening TFile '" << filename
2571  << "' with option '" << fileupdate <<"'\n";
2572 
2573  TFileNoSync f(filename.c_str(), fileupdate.c_str()); // open file
2574  if(f.IsZombie())
2575  raiseDQMError("DQMStore", "Failed to create/update file '%s'", filename.c_str());
2576  f.cd();
2577 
2578  // Construct a regular expression from the pattern string.
2579  std::auto_ptr<lat::Regexp> rxpat;
2580  if (! pattern.empty())
2581  rxpat.reset(new lat::Regexp(pattern.c_str()));
2582 
2583  // Prepare a path for the reference object selection.
2584  std::string refpath;
2585  refpath.reserve(s_referenceDirName.size() + path.size() + 2);
2586  refpath += s_referenceDirName;
2587  if (! path.empty())
2588  {
2589  refpath += '/';
2590  refpath += path;
2591  }
2592 
2593  // Loop over the directory structure.
2594  for (di = dirs_.begin(), de = dirs_.end(); di != de; ++di)
2595  {
2596  // Check if we should process this directory. We process the
2597  // requested part of the object tree, including references.
2598  if (! path.empty()
2599  && ! isSubdirectory(path, *di)
2600  && ! isSubdirectory(refpath, *di))
2601  continue;
2602 
2603  // Loop over monitor elements in this directory.
2604  MonitorElement proto(&*di, std::string(), run, 0, 0);
2605  if (enableMultiThread_)
2606  proto.setLumi(lumi);
2607 
2608  mi = data_.lower_bound(proto);
2609  for ( ; mi != me && isSubdirectory(*di, *mi->data_.dirname); ++mi)
2610  {
2611  if (verbose_ > 1)
2612  std::cout << "DQMStore::save: Run: " << (*mi).run()
2613  << " Lumi: " << (*mi).lumi()
2614  << " LumiFlag: " << (*mi).getLumiFlag()
2615  << " streamId: " << (*mi).streamId()
2616  << " moduleId: " << (*mi).moduleId()
2617  << " fullpathname: " << (*mi).getFullname() << std::endl;
2618 
2619  // Upper bound in the loop over the MEs
2620  if (enableMultiThread_ && ((*mi).lumi() != lumi))
2621  break;
2622 
2623  // Skip if it isn't a direct child.
2624  if (*di != *mi->data_.dirname) {
2625  if (verbose_ > 1)
2626  std::cout << "DQMStore::save: isn't a direct child. Skipping" << std::endl;
2627  continue;
2628  }
2629 
2630  // Keep backward compatibility with the old way of
2631  // booking/handlind MonitorElements into the DQMStore. If run is
2632  // 0 it means that a booking happened w/ the old non-threadsafe
2633  // style, and we have to ignore the streamId and moduleId as a
2634  // consequence.
2635 
2636  if (run != 0 && (mi->data_.streamId !=0 || mi->data_.moduleId !=0)) {
2637  continue;
2638  }
2639 
2640  // Handle reference histograms, with three distinct cases:
2641  // 1) Skip all references entirely on saving.
2642  // 2) Blanket saving of all references.
2643  // 3) Save only references for monitor elements with qtests.
2644  // The latter two are affected by "path" sub-tree selection,
2645  // i.e. references are saved only in the selected tree part.
2646  if (isSubdirectory(refpath, *mi->data_.dirname))
2647  {
2648  if (ref == SaveWithoutReference)
2649  // Skip the reference entirely.
2650  continue;
2651  else if (ref == SaveWithReference)
2652  // Save all references regardless of qtests.
2653  ;
2654  else if (ref == SaveWithReferenceForQTest)
2655  {
2656  // Save only references for monitor elements with qtests
2657  // with an optional cut on minimum quality test result.
2658  int status = -1;
2659  std::string mname(mi->getFullname(), s_referenceDirName.size()+1, std::string::npos);
2660  MonitorElement *master = get(mname);
2661  if (master)
2662  for (size_t i = 0, e = master->data_.qreports.size(); i != e; ++i)
2663  status = std::max(status, master->data_.qreports[i].code);
2664 
2665  if (! master || status < minStatus)
2666  {
2667  if (verbose_ > 1)
2668  std::cout << "DQMStore::save: skipping monitor element '"
2669  << mi->data_.objname << "' while saving, status is "
2670  << status << ", required minimum status is "
2671  << minStatus << std::endl;
2672  continue;
2673  }
2674  }
2675  }
2676 
2677  if (verbose_ > 1)
2678  std::cout << "DQMStore::save: saving monitor element '"
2679  << mi->data_.objname << "'\n";
2680  nme++; // count saved histograms
2681 
2682  // Create the directory.
2683  gDirectory->cd("/");
2684  if (di->empty())
2686  else if (rxpat.get())
2687  cdInto(s_monitorDirName + '/' + lat::StringOps::replace(*di, *rxpat, rewrite));
2688  else
2689  cdInto(s_monitorDirName + '/' + *di);
2690 
2691  // Save the object.
2692  switch (mi->kind())
2693  {
2697  TObjString(mi->tagString().c_str()).Write();
2698  break;
2699 
2700  default:
2701  mi->object_->Write();
2702  break;
2703  }
2704 
2705  // Save quality reports if this is not in reference section.
2706  if (! isSubdirectory(s_referenceDirName, *mi->data_.dirname))
2707  {
2708  qi = mi->data_.qreports.begin();
2709  qe = mi->data_.qreports.end();
2710  for ( ; qi != qe; ++qi)
2711  TObjString(mi->qualityTagString(*qi).c_str()).Write();
2712  }
2713 
2714  // Save efficiency tag, if any
2715  if (mi->data_.flags & DQMNet::DQM_PROP_EFFICIENCY_PLOT)
2716  TObjString(mi->effLabelString().c_str()).Write();
2717 
2718  // Save tag if any
2719  if (mi->data_.flags & DQMNet::DQM_PROP_TAGGED)
2720  TObjString(mi->tagLabelString().c_str()).Write();
2721 
2722  //reset the ME just written to make it available for the next LS (online)
2723  if (resetMEsAfterWriting)
2724  const_cast<MonitorElement*>(&*mi)->Reset();
2725  }
2726  }
2727 
2728  f.Close();
2729 
2730  // Maybe make some noise.
2731  if (verbose_)
2732  std::cout << "DQMStore::save: successfully wrote " << nme
2733  << " objects from path '" << path
2734  << "' into DQM file '" << filename << "'\n";
2735 }
int i
Definition: DBlmapReader.cc:9
bool cdInto(const std::string &path) const
Definition: DQMStore.cc:2375
tuple lumi
Definition: fjr2json.py:35
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
tuple path
else: Piece not in the list, fine.
double f[11][100]
unsigned verbose_
Definition: DQMStore.h:683
MEMap data_
Definition: DQMStore.h:697
static const std::string s_referenceDirName
Definition: DQMStore.cc:54
tuple filename
Definition: lut2db_cfg.py:20
tuple cout
Definition: gather_cfg.py:121
void Reset(std::vector< TH2F > &depth)
tuple status
Definition: ntuplemaker.py:245
std::set< std::string > dirs_
Definition: DQMStore.h:698
bool enableMultiThread_
Definition: DQMStore.h:688
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
void DQMStore::savePB ( const std::string &  filename,
const std::string &  path = "",
const uint32_t  run = 0,
const uint32_t  lumi = 0,
const bool  resetMEsAfterWriting = false 
)

Definition at line 2417 of file DQMStore.cc.

References dqmstorepb::ROOTFilePB::add_histo(), gather_cfg::cout, data_, deleteObject(), dirs_, MonitorElement::DQM_KIND_TH1F, enableMultiThread_, isSubdirectory(), fjr2json::lumi, open(), AlCaHLTBitMon_ParallelJobs::options, HcalObjRepresent::Reset(), dqmstorepb::ROOTFilePB_Histo::set_flags(), dqmstorepb::ROOTFilePB_Histo::set_full_pathname(), dqmstorepb::ROOTFilePB_Histo::set_size(), dqmstorepb::ROOTFilePB_Histo::set_streamed_histo(), MonitorElement::setLumi(), AlCaHLTBitMon_QueryRunRegistry::string, and verbose_.

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

2422 {
2423  using google::protobuf::io::FileOutputStream;
2424  using google::protobuf::io::GzipOutputStream;
2425  using google::protobuf::io::StringOutputStream;
2426 
2427  std::set<std::string>::iterator di, de;
2428  MEMap::iterator mi, me = data_.end();
2429  dqmstorepb::ROOTFilePB dqmstore_message;
2430  int nme = 0;
2431 
2432  if (verbose_)
2433  std::cout << "\n DQMStore: Opening PBFile '"
2434  << filename << "'"<< std::endl;
2435 
2436  // Loop over the directory structure.
2437  for (di = dirs_.begin(), de = dirs_.end(); di != de; ++di)
2438  {
2439  // Check if we should process this directory. We process the
2440  // requested part of the object tree, including references.
2441  if (! path.empty()
2442  && ! isSubdirectory(path, *di))
2443  continue;
2444 
2445  // Loop over monitor elements in this directory.
2446  MonitorElement proto(&*di, std::string(), run, 0, 0);
2447  if (enableMultiThread_)
2448  proto.setLumi(lumi);
2449 
2450  mi = data_.lower_bound(proto);
2451  for ( ; mi != me && isSubdirectory(*di, *mi->data_.dirname); ++mi)
2452  {
2453  if (verbose_ > 1)
2454  std::cout << "Run: " << (*mi).run()
2455  << " Lumi: " << (*mi).lumi()
2456  << " LumiFlag: " << (*mi).getLumiFlag()
2457  << " streamId: " << (*mi).streamId()
2458  << " moduleId: " << (*mi).moduleId()
2459  << " fullpathname: " << (*mi).getFullname() << std::endl;
2460 
2461  // Upper bound in the loop over the MEs
2462  if (enableMultiThread_ && ((*mi).lumi() != lumi))
2463  break;
2464 
2465  // Skip if it isn't a direct child.
2466  if (*di != *mi->data_.dirname)
2467  continue;
2468 
2469  // Keep backward compatibility with the old way of
2470  // booking/handlind MonitorElements into the DQMStore. If run is
2471  // 0 it means that a booking happened w/ the old non-threadsafe
2472  // style, and we have to ignore the streamId and moduleId as a
2473  // consequence.
2474 
2475  if (run != 0 && (mi->data_.streamId !=0 || mi->data_.moduleId !=0))
2476  continue;
2477 
2478  if (verbose_ > 1)
2479  std::cout << "DQMStore::savePB: saving monitor element '"
2480  << *mi->data_.dirname << "/" << mi->data_.objname << "'"
2481  << "flags " << mi->data_.flags << "\n";
2482 
2483  nme++;
2484  dqmstorepb::ROOTFilePB::Histo* me = dqmstore_message.add_histo();
2485  me->set_full_pathname((*mi->data_.dirname) + '/' + mi->data_.objname);
2486  me->set_flags(mi->data_.flags);
2487 
2488  TObject *toWrite = nullptr;
2489  bool deleteObject = false;
2490 
2491  if (mi->kind() < MonitorElement::DQM_KIND_TH1F) {
2492  toWrite = new TObjString(mi->tagString().c_str());
2493  deleteObject = true;
2494  } else {
2495  toWrite = mi->object_;
2496  }
2497 
2498  TBufferFile buffer(TBufferFile::kWrite);
2499  buffer.WriteObject(toWrite);
2500  me->set_size(buffer.Length());
2501  me->set_streamed_histo((const void*)buffer.Buffer(),
2502  buffer.Length());
2503 
2504  if (deleteObject) {
2505  delete toWrite;
2506  }
2507 
2508  //reset the ME just written to make it available for the next LS (online)
2509  if (resetMEsAfterWriting)
2510  const_cast<MonitorElement*>(&*mi)->Reset();
2511  }
2512  }
2513 
2514  int filedescriptor = ::open(filename.c_str(),
2515  O_WRONLY | O_CREAT | O_TRUNC,
2516  S_IRUSR | S_IWUSR |
2517  S_IRGRP | S_IWGRP |
2518  S_IROTH);
2519  FileOutputStream file_stream(filedescriptor);
2521  options.format = GzipOutputStream::GZIP;
2522  options.compression_level = 6;
2523  GzipOutputStream gzip_stream(&file_stream,
2524  options);
2525  dqmstore_message.SerializeToZeroCopyStream(&gzip_stream);
2526 
2527  // Maybe make some noise.
2528  if (verbose_)
2529  std::cout << "DQMStore::savePB: successfully wrote " << nme
2530  << " objects from path '" << path
2531  << "' into DQM file '" << filename << "'\n";
2532 }
tuple lumi
Definition: fjr2json.py:35
void set_flags(::google::protobuf::uint32 value)
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
tuple path
else: Piece not in the list, fine.
unsigned verbose_
Definition: DQMStore.h:683
void set_size(::google::protobuf::uint32 value)
MEMap data_
Definition: DQMStore.h:697
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:2895
tuple cout
Definition: gather_cfg.py:121
void Reset(std::vector< TH2F > &depth)
bool deleteObject(T *fObject, const std::string &fInput, const std::string &fInputTag, HcalDbTool::IOVRun fInputRun, bool fVerbose)
std::set< std::string > dirs_
Definition: DQMStore.h:698
bool enableMultiThread_
Definition: DQMStore.h:688
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 3369 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_.

3370 {
3371  if (scaleFlag_ == 0.0) return;
3372  if (verbose_ > 0)
3373  std::cout << " =========== " << " ScaleFlag " << scaleFlag_ << std::endl;
3374  double factor = scaleFlag_;
3375  int events = 1;
3376  if (dirExists("Info/EventInfo")) {
3377  if ( scaleFlag_ == -1.0) {
3378  MonitorElement * scale_me = get("Info/EventInfo/ScaleFactor");
3379  if (scale_me && scale_me->kind()==MonitorElement::DQM_KIND_REAL) factor = scale_me->getFloatValue();
3380  }
3381  MonitorElement * event_me = get("Info/EventInfo/processedEvents");
3382  if (event_me && event_me->kind()==MonitorElement::DQM_KIND_INT) events = event_me->getIntValue();
3383  }
3384  factor = factor/(events*1.0);
3385 
3386  MEMap::iterator mi = data_.begin();
3387  MEMap::iterator me = data_.end();
3388  for ( ; mi != me; ++mi)
3389  {
3390  MonitorElement &me = const_cast<MonitorElement &>(*mi);
3391  switch (me.kind())
3392  {
3394  {
3395  me.getTH1F()->Scale(factor);
3396  break;
3397  }
3399  {
3400  me.getTH1S()->Scale(factor);
3401  break;
3402  }
3404  {
3405  me.getTH1D()->Scale(factor);
3406  break;
3407  }
3409  {
3410  me.getTH2F()->Scale(factor);
3411  break;
3412  }
3414  {
3415  me.getTH2S()->Scale(factor);
3416  break;
3417  }
3419  {
3420  me.getTH2D()->Scale(factor);
3421  break;
3422  }
3424  {
3425  me.getTH3F()->Scale(factor);
3426  break;
3427  }
3429  {
3430  me.getTProfile()->Scale(factor);
3431  break;
3432  }
3434  {
3435  me.getTProfile2D()->Scale(factor);
3436  break;
3437  }
3438  default:
3439  if (verbose_ > 0)
3440  std::cout << " The DQM object '" << me.getFullname() << "' is not scalable object " << std::endl;
3441  continue;
3442  }
3443  }
3444 }
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:686
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:732
unsigned verbose_
Definition: DQMStore.h:683
MEMap data_
Definition: DQMStore.h:697
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 3322 of file DQMStore.cc.

References MonitorElement::setAccumulate().

3323 {
3324  if (me)
3325  me->setAccumulate(flag);
3326 }
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 667 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(), ScoutingAnalyzerBase::beginJob(), HLTAlCaMonEcalPhiSym::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(), L1TDTTPGClient::beginJob(), BeamConditionsMonitor::beginJob(), L1TRPCTFClient::beginJob(), EgammaBasicClusters::beginJob(), AlcaBeamMonitor::beginJob(), DTDataIntegrityTest::beginJob(), HLTMonBitSummary::beginJob(), HLTMonHcalIsoTrack::beginJob(), DQMSourceEleCalib::beginJob(), EgammaSuperClusters::beginJob(), HLTEventInfoClient::beginJob(), TkAlCaRecoMonitor::beginJob(), DQMHcalDiJetsAlCaReco::beginJob(), TopElectronHLTOfflineSource::beginJob(), AcceptanceHistoProducer::beginJob(), QcdHighPtDQM::beginJob(), HcalSimHitStudy::beginJob(), DTBlockedROChannelsTest::beginJob(), HLTMonPhotonSource::beginJob(), HLTMonPhotonClient::beginJob(), L1TDEMON::beginJob(), SimHitsValidationHcal::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(), DQMSourcePi0::beginJob(), L1TRate_Harvest::beginJob(), GlobalTest::beginJob(), HcalDataCertification::beginJob(), TestSuite::beginJob(), HcalDCSInfo::beginJob(), DQMDaqInfo::beginJob(), FourVectorHLT::beginJob(), HLTMonSimpleBTag::beginJob(), L1TRate::beginJob(), TopDiLeptonDQM::beginJob(), HcalDAQInfo::beginJob(), HLTMonElectron::beginJob(), HLTMonElectronConsumer::beginJob(), L1TRPCTF::beginJob(), ZDCDigiStudy::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(), RPCNoisyStripTest::beginRun(), CastorDigiMonitor::beginRun(), RPCChamberQuality::beginRun(), HcalBeamClient::beginRun(), HcalCoarsePedestalClient::beginRun(), HcalDeadCellClient::beginRun(), HcalDetDiagLEDClient::beginRun(), HcalDetDiagNoiseMonitorClient::beginRun(), HcalDetDiagTimingClient::beginRun(), HcalDetDiagPedestalClient::beginRun(), HcalDigiClient::beginRun(), HcalHotCellClient::beginRun(), HcalNZSClient::beginRun(), HcalTrigPrimClient::beginRun(), HcalRecHitMonitor::beginRun(), HcalRecHitClient::beginRun(), HcalSummaryClient::beginRun(), RPCDataCertification::beginRun(), RPCDCSSummary::beginRun(), RPCMon_SS_Dbx_Global::beginRun(), RPCOccupancyTest::beginRun(), CastorTowerJetMonitor::beginRun(), HcalRawDataClient::beginRun(), RPCBxTest::beginRun(), RPCEventSummary::beginRun(), L1TGMTClient::beginRun(), RPCRecHitValid::beginRun(), DTOfflineSummaryClients::beginRun(), PrimaryVertexMonitor::beginRun(), DQMDcsInfoClient::beginRun(), HLTOniaSource::beginRun(), AlcaBeamMonitor::beginRun(), RPCDigiValid::beginRun(), RPCDeadChannelTest::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(), L1TRCT::beginRun(), ZDCMonitorModule::beginRun(), L1TCSCTPG::beginRun(), L1TDTTPG::beginRun(), HLTInclusiveVBFSource::beginRun(), L1TGT::beginRun(), DTLocalTriggerBaseTask::beginRun(), BTagHLTOfflineSource::beginRun(), L1TdeRCT::beginRun(), L1Validator::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(), 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(), 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(), HcalNoiseMonitor::cleanup(), HcalRecHitMonitor::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(), 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_(), NoiseRatesClient::runClient_(), HcalNoiseRatesClient::runClient_(), HcalRecHitsDQMClient::runClient_(), CaloTowersClient::runClient_(), CaloTowersDQMClient::runClient_(), HcalRecHitsClient::runClient_(), HcalSimHitsClient::runClient_(), HLTInclusiveVBFClient::runClient_(), JetMETHLTOfflineClient::runClient_(), TopElectronHLTOfflineClient::runClient_(), EgHLTOfflineSummaryClient::runClient_(), EgHLTOfflineClient::runClient_(), CommissioningHistograms::runNumber(), ConversionPostprocessing::runPostprocessing(), PhotonPostprocessing::runPostprocessing(), CommissioningHistograms::runType(), 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(), HcalRecHitMonitor::setup(), HcalZDCMonitor::setup(), HcalCaloTowerMonitor::setup(), HcalNoiseMonitor::setup(), HcalBeamMonitor::setup(), HcalLSbyLSMonitor::setup(), HcalHotCellMonitor::setup(), HcalDataIntegrityTask::setup(), HcalDeadCellMonitor::setup(), PFJetBenchmark::setup(), PFMETBenchmark::setup(), PFTauElecRejectionBenchmark::setup(), HcalDetDiagNoiseMonitor::setup(), HcalEEUSMonitor::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(), PFJetDQMAnalyzer::storeBadEvents(), PFCandidateDQMAnalyzer::storeBadEvents(), PFMETDQMAnalyzer::storeBadEvents(), TopElectronHLTOfflineClient::TopElectronHLTOfflineClient(), TriggerValidator::TriggerValidator(), TrigResRateMon::TrigResRateMon(), SubTaskSummaryStatus::WriteThreshold(), and ZDCMonitorModule::~ZDCMonitorModule().

668 {
670  const std::string *cleaned = 0;
671  cleanTrailingSlashes(fullpath, clean, cleaned);
672  makeDirectory(*cleaned);
673  pwd_ = *cleaned;
674 }
static void cleanTrailingSlashes(const std::string &path, std::string &clean, const std::string *&cleaned)
Definition: DQMStore.cc:78
std::string pwd_
Definition: DQMStore.h:696
std::vector< T * > clean
Definition: MVATrainer.cc:156
void makeDirectory(const std::string &path)
Definition: DQMStore.cc:691
void DQMStore::setVerbose ( unsigned  level)

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

Definition at line 631 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().

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

Definition at line 3332 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().

3333 {
3334  std::vector<std::string> contents;
3335  getContents(contents);
3336 
3337  std::cout << " ------------------------------------------------------------\n"
3338  << " Directory structure: \n"
3339  << " ------------------------------------------------------------\n";
3340 
3341  std::copy(contents.begin(), contents.end(),
3342  std::ostream_iterator<std::string>(std::cout, "\n"));
3343 
3344  std::cout << " ------------------------------------------------------------\n";
3345 }
std::vector< MonitorElement * > getContents(const std::string &path) const
Definition: DQMStore.cc:1737
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 3305 of file DQMStore.cc.

References MonitorElement::softReset().

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

3306 {
3307  if (me)
3308  me->softReset();
3309 }
void softReset(void)
void DQMStore::tag ( MonitorElement me,
unsigned int  myTag 
)

tag ME as <myTag> (myTag > 0)

Definition at line 1594 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().

1595 {
1596  if (! myTag)
1597  raiseDQMError("DQMStore", "Attempt to tag monitor element '%s'"
1598  " with a zero tag", me->getFullname().c_str());
1599  if ((me->data_.flags & DQMNet::DQM_PROP_TAGGED) && myTag != me->data_.tag)
1600  raiseDQMError("DQMStore", "Attempt to tag monitor element '%s'"
1601  " twice with multiple tags", me->getFullname().c_str());
1602 
1603  me->data_.tag = myTag;
1605 }
uint32_t flags
Definition: DQMNet.h:98
static const uint32_t DQM_PROP_TAGGED
Definition: DQMNet.h:54
uint32_t tag
Definition: DQMNet.h:99
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 1609 of file DQMStore.cc.

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

Referenced by Inspector.Inspector::SetTag().

1610 {
1611  std::string dir;
1612  std::string name;
1613  splitPath(dir, name, path);
1614 
1615  if (MonitorElement *me = findObject(dir, name))
1616  tag(me, myTag);
1617  else
1618  raiseDQMError("DQMStore", "Attempt to tag non-existent monitor element"
1619  " '%s' with tag %u", path.c_str(), myTag);
1620 
1621 }
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:1838
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:1594
tuple path
else: Piece not in the list, fine.
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 1637 of file DQMStore.cc.

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

1638 {
1640  const std::string *cleaned = 0;
1641  cleanTrailingSlashes(path, clean, cleaned);
1642  MonitorElement proto(cleaned, std::string());
1643 
1644  // FIXME: WILDCARDS? Old one supported them, but nobody seemed to use them.
1645  MEMap::iterator e = data_.end();
1646  MEMap::iterator i = data_.lower_bound(proto);
1647  while (i != e && isSubdirectory(*cleaned, *i->data_.dirname))
1648  {
1649  tag(const_cast<MonitorElement *>(&*i), myTag);
1650  ++i;
1651  }
1652 }
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:1594
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
tuple path
else: Piece not in the list, fine.
std::vector< T * > clean
Definition: MVATrainer.cc:156
MEMap data_
Definition: DQMStore.h:697
void DQMStore::tagContents ( const std::string &  path,
unsigned int  myTag 
)

tag all children of folder (does NOT include subfolders)

Definition at line 1625 of file DQMStore.cc.

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

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

1626 {
1627  MonitorElement proto(&path, std::string());
1628  MEMap::iterator e = data_.end();
1629  MEMap::iterator i = data_.lower_bound(proto);
1630  for ( ; i != e && path == *i->data_.dirname; ++i)
1631  tag(const_cast<MonitorElement *>(&*i), myTag);
1632 }
int i
Definition: DBlmapReader.cc:9
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1594
tuple path
else: Piece not in the list, fine.
MEMap data_
Definition: DQMStore.h:697
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 3200 of file DQMStore.cc.

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

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

3201 {
3202  // Clean the path
3204  const std::string *cleaned = 0;
3205  cleanTrailingSlashes(dir, clean, cleaned);
3206 
3207  // Validate the path.
3208  if (cleaned->find_first_not_of(s_safe) != std::string::npos)
3209  raiseDQMError("DQMStore", "Monitor element path name '%s'"
3210  " uses unacceptable characters", cleaned->c_str());
3211 
3212  // Redirect to the pattern match version.
3213  useQTestByMatch(*cleaned + "/*", qtname);
3214 }
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:3218
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 3218 of file DQMStore.cc.

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

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

3219 {
3220  QCriterion *qc = getQCriterion(qtname);
3221  if (! qc)
3222  raiseDQMError("DQMStore", "Cannot apply non-existent quality test '%s'",
3223  qtname.c_str());
3224 
3225  fastmatch * fm = new fastmatch( pattern );
3226 
3227  // Record the test for future reference.
3228  QTestSpec qts(fm, qc);
3229  qtestspecs_.push_back(qts);
3230 
3231  // Apply the quality test.
3232  MEMap::iterator mi = data_.begin();
3233  MEMap::iterator me = data_.end();
3234  std::string path;
3235  int cases = 0;
3236  for ( ; mi != me; ++mi)
3237  {
3238  path.clear();
3239  mergePath(path, *mi->data_.dirname, mi->data_.objname);
3240  if (fm->match(path))
3241  {
3242  ++cases;
3243  const_cast<MonitorElement &>(*mi).addQReport(qts.second);
3244  }
3245  }
3246 
3247  //return the number of matched cases
3248  return cases;
3249 }
QCriterion * getQCriterion(const std::string &qtname) const
Definition: DQMStore.cc:3168
std::pair< fastmatch *, QCriterion * > QTestSpec
Definition: DQMStore.h:677
static void mergePath(std::string &path, const std::string &dir, const std::string &name)
Definition: DQMStore.cc:108
QTestSpecs qtestspecs_
Definition: DQMStore.h:702
tuple path
else: Piece not in the list, fine.
MEMap data_
Definition: DQMStore.h:697
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 711 of file DQMStore.h.

friend class DQMFileSaver
friend

Definition at line 714 of file DQMStore.h.

friend class DQMNet
friend

Definition at line 710 of file DQMStore.h.

friend class DQMRootOutputModule
friend

Definition at line 713 of file DQMStore.h.

friend class DQMService
friend

Definition at line 709 of file DQMStore.h.

friend class DQMStoreExample
friend

Definition at line 712 of file DQMStore.h.

friend class edm::DQMHttpSource
friend

Definition at line 708 of file DQMStore.h.

friend class MEtoEDMConverter
friend

Definition at line 715 of file DQMStore.h.

Member Data Documentation

std::mutex DQMStore::book_mutex_
private
bool DQMStore::collateHistograms_
private
MEMap DQMStore::data_
private
std::set<std::string> DQMStore::dirs_
private
bool DQMStore::enableMultiThread_
private
bool DQMStore::forceResetOnBeginLumi_
private

Definition at line 690 of file DQMStore.h.

Referenced by DQMStore(), and forceReset().

IBooker* DQMStore::ibooker_
private

Definition at line 705 of file DQMStore.h.

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

IGetter* DQMStore::igetter_
private

Definition at line 706 of file DQMStore.h.

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

bool DQMStore::LSbasedMode_
private
uint32_t DQMStore::moduleId_
private

Definition at line 694 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 701 of file DQMStore.h.

Referenced by createQTest(), and initializeFrom().

DQMStore::qtests_
private

All the quality tests.

Definition at line 700 of file DQMStore.h.

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

QTestSpecs DQMStore::qtestspecs_
private

Definition at line 702 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 691 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 685 of file DQMStore.h.

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

uint32_t DQMStore::run_
private

Definition at line 692 of file DQMStore.h.

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

double DQMStore::scaleFlag_
private

Definition at line 686 of file DQMStore.h.

Referenced by initializeFrom(), and scaleElements().

uint32_t DQMStore::streamId_
private

Definition at line 693 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 684 of file DQMStore.h.

Referenced by createQTest(), and initializeFrom().