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)
 
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 677 of file DQMStore.h.

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

Definition at line 679 of file DQMStore.h.

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

Definition at line 678 of file DQMStore.h.

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

Definition at line 675 of file DQMStore.h.

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

442  : verbose_ (1),
443  verboseQT_ (1),
444  reset_ (false),
445  collateHistograms_ (false),
446  enableMultiThread_(false),
447  forceResetOnBeginLumi_(false),
449  run_(0),
450  streamId_(0),
451  moduleId_(0),
452  pwd_ (""),
453  ibooker_(0),
454  igetter_(0)
455 {
456  if (!ibooker_)
457  ibooker_ = new DQMStore::IBooker(this);
458  if (!igetter_)
459  igetter_ = new DQMStore::IGetter(this);
460  initializeFrom(pset);
461 
462  if(pset.getUntrackedParameter<bool>("forceResetOnBeginRun",false)) {
464  }
465  ar.preallocateSignal_.connect([this](edm::service::SystemBounds const& iBounds) {
466  if(iBounds.maxNumberOfStreams() > 1 ) {
467  enableMultiThread_ = true;
468  }
469  });
470  if(pset.getUntrackedParameter<bool>("forceResetOnBeginLumi",false) && enableMultiThread_ == false) {
471  forceResetOnBeginLumi_ = true;
473  }
474 }
IGetter * igetter_
Definition: DQMStore.h:704
T getUntrackedParameter(std::string const &, T const &) const
uint32_t streamId_
Definition: DQMStore.h:691
bool reset_
Definition: DQMStore.h:683
void initializeFrom(const edm::ParameterSet &)
Definition: DQMStore.cc:508
uint32_t moduleId_
Definition: DQMStore.h:692
Preallocate preallocateSignal_
signal is emitted before beginJob
unsigned int maxNumberOfStreams() const
Definition: SystemBounds.h:43
void forceReset(void)
Definition: DQMStore.cc:2007
unsigned verboseQT_
Definition: DQMStore.h:682
void watchPostSourceRun(PostSourceRun::slot_type const &iSlot)
uint32_t run_
Definition: DQMStore.h:690
std::string pwd_
Definition: DQMStore.h:694
IBooker * ibooker_
Definition: DQMStore.h:703
std::string readSelectedDirectory_
Definition: DQMStore.h:689
void watchPostSourceLumi(PostSourceLumi::slot_type const &iSlot)
unsigned verbose_
Definition: DQMStore.h:681
bool forceResetOnBeginLumi_
Definition: DQMStore.h:688
bool collateHistograms_
Definition: DQMStore.h:685
void connect(U iFunc)
Definition: Signal.h:63
bool enableMultiThread_
Definition: DQMStore.h:686
DQMStore::DQMStore ( const edm::ParameterSet pset)

Definition at line 476 of file DQMStore.cc.

References ibooker_, igetter_, and initializeFrom().

477  : verbose_ (1),
478  verboseQT_ (1),
479  reset_ (false),
480  collateHistograms_ (false),
481  enableMultiThread_(false),
483  run_(0),
484  streamId_(0),
485  moduleId_(0),
486  pwd_ (""),
487  ibooker_(0),
488  igetter_(0)
489 {
490  if (!ibooker_)
491  ibooker_ = new DQMStore::IBooker(this);
492  if (!igetter_)
493  igetter_ = new DQMStore::IGetter(this);
494  initializeFrom(pset);
495 }
IGetter * igetter_
Definition: DQMStore.h:704
uint32_t streamId_
Definition: DQMStore.h:691
bool reset_
Definition: DQMStore.h:683
void initializeFrom(const edm::ParameterSet &)
Definition: DQMStore.cc:508
uint32_t moduleId_
Definition: DQMStore.h:692
unsigned verboseQT_
Definition: DQMStore.h:682
uint32_t run_
Definition: DQMStore.h:690
std::string pwd_
Definition: DQMStore.h:694
IBooker * ibooker_
Definition: DQMStore.h:703
std::string readSelectedDirectory_
Definition: DQMStore.h:689
unsigned verbose_
Definition: DQMStore.h:681
bool collateHistograms_
Definition: DQMStore.h:685
bool enableMultiThread_
Definition: DQMStore.h:686
DQMStore::~DQMStore ( void  )

Definition at line 497 of file DQMStore.cc.

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

498 {
499  for (QCMap::iterator i = qtests_.begin(), e = qtests_.end(); i != e; ++i)
500  delete i->second;
501 
502  for (QTestSpecs::iterator i = qtestspecs_.begin(), e = qtestspecs_.end(); i != e; ++i)
503  delete i->first;
504 
505 }
int i
Definition: DBlmapReader.cc:9
QCMap qtests_
Definition: DQMStore.h:698
QTestSpecs qtestspecs_
Definition: DQMStore.h:700
for(const auto &pset:thresholds)
DQMStore::DQMStore ( const DQMStore )
private

Member Function Documentation

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

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

800 {
801  assert(name.find('/') == std::string::npos);
802  if (verbose_ > 3)
803  print_trace(dir, name);
804 
805  // Check if the request monitor element already exists.
807  {
808  if (verbose_ > 1)
809  {
811  mergePath(path, dir, name);
812 
813  std::cout << "DQMStore: "
814  << context << ": monitor element '"
815  << path << "' already exists, resetting" << std::endl;
816  }
817  me->Reset();
818  return me;
819  }
820  else
821  {
822  // Create it and return for initialisation.
823  assert(dirs_.count(dir));
824  MonitorElement proto(&*dirs_.find(dir), name, run_, streamId_, moduleId_);
825  return &const_cast<MonitorElement &>(*data_.insert(proto).first);
826  }
827 }
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:1826
uint32_t streamId_
Definition: DQMStore.h:691
uint32_t moduleId_
Definition: DQMStore.h:692
tuple path
else: Piece not in the list, fine.
uint32_t run_
Definition: DQMStore.h:690
unsigned verbose_
Definition: DQMStore.h:681
MEMap data_
Definition: DQMStore.h:695
void print_trace(const std::string &dir, const std::string &name)
Definition: DQMStore.cc:568
tuple cout
Definition: gather_cfg.py:121
dbl *** dir
Definition: mlp_gen.cc:35
std::set< std::string > dirs_
Definition: DQMStore.h:696
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 728 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_.

731 {
732  assert(name.find('/') == std::string::npos);
733  if (verbose_ > 3)
734  print_trace(dir, name);
736  mergePath(path, dir, name);
737 
738  // Put us in charge of h.
739  h->SetDirectory(0);
740 
741  // Check if the request monitor element already exists.
743  if (me)
744  {
745  if (collateHistograms_)
746  {
747  collate(me, h);
748  delete h;
749  return me;
750  }
751  else
752  {
753  if (verbose_ > 1)
754  std::cout << "DQMStore: "
755  << context << ": monitor element '"
756  << path << "' already exists, collating" << std::endl;
757  me->Reset();
758  collate(me, h);
759  delete h;
760  return me;
761  }
762  }
763  else
764  {
765  // Create and initialise core object.
766  assert(dirs_.count(dir));
767  MonitorElement proto(&*dirs_.find(dir), name, run_, streamId_, moduleId_);
768  me = const_cast<MonitorElement &>(*data_.insert(proto).first)
770 
771  // Initialise quality test information.
772  QTestSpecs::iterator qi = qtestspecs_.begin();
773  QTestSpecs::iterator qe = qtestspecs_.end();
774  for ( ; qi != qe; ++qi)
775  {
776  if ( qi->first->match(path) )
777  me->addQReport(qi->second);
778  }
779 
780  // Assign reference if we have one.
781  std::string refdir;
782  refdir.reserve(s_referenceDirName.size() + dir.size() + 2);
783  refdir += s_referenceDirName;
784  refdir += '/';
785  refdir += dir;
786 
787  if (MonitorElement *refme = findObject(refdir, name))
788  {
789  me->data_.flags |= DQMNet::DQM_PROP_HAS_REFERENCE;
790  }
791  // Return the monitor element.
792  return me;
793  }
794 }
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:1826
uint32_t streamId_
Definition: DQMStore.h:691
uint32_t moduleId_
Definition: DQMStore.h:692
static const uint32_t DQM_PROP_HAS_REFERENCE
Definition: DQMNet.h:53
QTestSpecs qtestspecs_
Definition: DQMStore.h:700
tuple path
else: Piece not in the list, fine.
uint32_t run_
Definition: DQMStore.h:690
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:681
MEMap data_
Definition: DQMStore.h:695
static const std::string s_referenceDirName
Definition: DQMStore.cc:54
void print_trace(const std::string &dir, const std::string &name)
Definition: DQMStore.cc:568
tuple cout
Definition: gather_cfg.py:121
dbl *** dir
Definition: mlp_gen.cc:35
std::set< std::string > dirs_
Definition: DQMStore.h:696
bool collateHistograms_
Definition: DQMStore.h:685
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 942 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(), EcalZmassClient::beginRun(), L1TdeCSCTF::beginRun(), JetMETHLTOfflineSource::beginRun(), TriggerValidator::beginRun(), HLTOfflineReproducibility::beginRun(), HLTJetMETValidation::beginRun(), L1TRPCTPG::beginRun(), RPCEfficiencySecond::beginRun(), FourVectorHLTOnline::beginRun(), CastorMonitorModule::beginRun(), V0Validator::beginRun(), Vx3DHLTAnalyzer::beginRun(), TrigResRateMon::beginRun(), FourVectorHLTriggerOffline::beginRun(), FourVectorHLTOffline::beginRun(), HcalDetDiagPedestalMonitor::beginRun(), HcalDetDiagLaserMonitor::beginRun(), L1ValidatorHists::Book(), 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(), HcalZDCMonitor::setup(), HcalCaloTowerMonitor::setup(), HcalRecHitMonitor::setup(), HcalNoiseMonitor::setup(), HcalBeamMonitor::setup(), HcalDataIntegrityTask::setup(), HcalHotCellMonitor::setup(), HcalDeadCellMonitor::setup(), HcalEEUSMonitor::setup(), HcalDetDiagNoiseMonitor::setup(), HcalRawDataMonitor::setup(), HcalBaseDQMonitor::setup(), HcalMonitorModule::setup(), HcalDigiMonitor::setup(), HcalDetDiagTimingMonitor::setup(), HcalDetDiagLEDMonitor::setup(), HcalBaseMonitor::setupDepthHists1D(), HLXMonitor::SetupHists(), FourVectorHLTOnline::setupHltMatrix(), TrigResRateMon::setupHltMatrix(), FourVectorHLTOffline::setupHltMatrix(), TopElectronHLTOfflineSource::EleMEs::setupMESet(), TrigResRateMon::setupStreamMatrix(), HcalDigiMonitor::setupSubdetHists(), and TrigResRateMon::TrigResRateMon().

944 {
945  return book1D(pwd_, name, new TH1F(name, title, nchX, lowX, highX));
946 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:942
std::string pwd_
Definition: DQMStore.h:694
MonitorElement * DQMStore::book1D ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX 
)

Book 1D histogram.

Definition at line 950 of file DQMStore.cc.

References book1D(), and pwd_.

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

Book 1D variable bin histogram.

Definition at line 990 of file DQMStore.cc.

References book1D(), and pwd_.

992 {
993  return book1D(pwd_, name, new TH1F(name, title, nchX, xbinsize));
994 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:942
std::string pwd_
Definition: DQMStore.h:694
MonitorElement * DQMStore::book1D ( const std::string &  name,
const std::string &  title,
int  nchX,
float *  xbinsize 
)

Book 1D variable bin histogram.

Definition at line 998 of file DQMStore.cc.

References book1D(), and pwd_.

1000 {
1001  return book1D(pwd_, name, new TH1F(name.c_str(), title.c_str(), nchX, xbinsize));
1002 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:942
std::string pwd_
Definition: DQMStore.h:694
MonitorElement * DQMStore::book1D ( const char *  name,
TH1F *  h 
)

Book 1D histogram by cloning an existing histogram.

Definition at line 1006 of file DQMStore.cc.

References book1D(), and pwd_.

1007 {
1008  return book1D(pwd_, name, static_cast<TH1F *>(source->Clone(name)));
1009 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:942
std::string pwd_
Definition: DQMStore.h:694
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 1013 of file DQMStore.cc.

References book1D(), and pwd_.

1014 {
1015  return book1D(pwd_, name, static_cast<TH1F *>(source->Clone(name.c_str())));
1016 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:942
std::string pwd_
Definition: DQMStore.h:694
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 921 of file DQMStore.cc.

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

922 {
923  return book(dir, name, "book1D", MonitorElement::DQM_KIND_TH1F, h, collate1D);
924 }
static void collate1D(MonitorElement *me, TH1F *h)
Definition: DQMStore.cc:1509
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:797
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 974 of file DQMStore.cc.

References pwd_.

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

976 {
977  return book1DD(pwd_, name, new TH1D(name, title, nchX, lowX, highX));
978 }
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:974
std::string pwd_
Definition: DQMStore.h:694
MonitorElement * DQMStore::book1DD ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX 
)

Book 1S histogram.

Definition at line 982 of file DQMStore.cc.

References book1DD(), and pwd_.

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

References book1DD(), and pwd_.

1035 {
1036  return book1DD(pwd_, name, static_cast<TH1D *>(source->Clone(name)));
1037 }
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:974
std::string pwd_
Definition: DQMStore.h:694
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 1041 of file DQMStore.cc.

References book1DD(), and pwd_.

1042 {
1043  return book1DD(pwd_, name, static_cast<TH1D *>(source->Clone(name.c_str())));
1044 }
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:974
std::string pwd_
Definition: DQMStore.h:694
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 935 of file DQMStore.cc.

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

936 {
937  return book(dir, name, "book1DD", MonitorElement::DQM_KIND_TH1D, h, collate1DD);
938 }
static void collate1DD(MonitorElement *me, TH1D *h)
Definition: DQMStore.cc:1523
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:797
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 958 of file DQMStore.cc.

References pwd_.

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

960 {
961  return book1S(pwd_, name, new TH1S(name, title, nchX, lowX, highX));
962 }
std::string pwd_
Definition: DQMStore.h:694
MonitorElement * book1S(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:958
MonitorElement * DQMStore::book1S ( const std::string &  name,
const std::string &  title,
int  nchX,
double  lowX,
double  highX 
)

Book 1S histogram.

Definition at line 966 of file DQMStore.cc.

References book1S(), and pwd_.

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

References book1S(), and pwd_.

1021 {
1022  return book1S(pwd_, name, static_cast<TH1S *>(source->Clone(name)));
1023 }
std::string pwd_
Definition: DQMStore.h:694
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:958
MonitorElement * DQMStore::book1S ( const std::string &  name,
TH1S *  h 
)

Book 1S histogram by cloning an existing histogram.

Definition at line 1027 of file DQMStore.cc.

References book1S(), and pwd_.

1028 {
1029  return book1S(pwd_, name, static_cast<TH1S *>(source->Clone(name.c_str())));
1030 }
std::string pwd_
Definition: DQMStore.h:694
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:958
MonitorElement * DQMStore::book1S ( const std::string &  dir,
const std::string &  name,
TH1S *  h 
)
private

Book 1D histogram based on TH1S.

Definition at line 928 of file DQMStore.cc.

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

929 {
930  return book(dir, name, "book1S", MonitorElement::DQM_KIND_TH1S, h, collate1S);
931 }
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:797
static void collate1S(MonitorElement *me, TH1S *h)
Definition: DQMStore.cc:1516
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 1070 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().

1073 {
1074  return book2D(pwd_, name, new TH2F(name, title,
1075  nchX, lowX, highX,
1076  nchY, lowY, highY));
1077 }
std::string pwd_
Definition: DQMStore.h:694
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:1070
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 1081 of file DQMStore.cc.

References book2D(), and pwd_.

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

References book2D(), and pwd_.

1138 {
1139  return book2D(pwd_, name, new TH2F(name, title,
1140  nchX, xbinsize, nchY, ybinsize));
1141 }
std::string pwd_
Definition: DQMStore.h:694
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:1070
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 1145 of file DQMStore.cc.

References book2D(), and pwd_.

1147 {
1148  return book2D(pwd_, name, new TH2F(name.c_str(), title.c_str(),
1149  nchX, xbinsize, nchY, ybinsize));
1150 }
std::string pwd_
Definition: DQMStore.h:694
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:1070
MonitorElement * DQMStore::book2D ( const char *  name,
TH2F *  h 
)

Book 2D histogram by cloning an existing histogram.

Definition at line 1154 of file DQMStore.cc.

References book2D(), and pwd_.

1155 {
1156  return book2D(pwd_, name, static_cast<TH2F *>(source->Clone(name)));
1157 }
std::string pwd_
Definition: DQMStore.h:694
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:1070
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 1161 of file DQMStore.cc.

References book2D(), and pwd_.

1162 {
1163  return book2D(pwd_, name, static_cast<TH2F *>(source->Clone(name.c_str())));
1164 }
std::string pwd_
Definition: DQMStore.h:694
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:1070
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 1049 of file DQMStore.cc.

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

1050 {
1051  return book(dir, name, "book2D", MonitorElement::DQM_KIND_TH2F, h, collate2D);
1052 }
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:797
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:1530
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 1114 of file DQMStore.cc.

References pwd_.

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

1117 {
1118  return book2DD(pwd_, name, new TH2D(name, title,
1119  nchX, lowX, highX,
1120  nchY, lowY, highY));
1121 }
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:1114
std::string pwd_
Definition: DQMStore.h:694
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 1125 of file DQMStore.cc.

References book2DD(), and pwd_.

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

References book2DD(), and pwd_.

1183 {
1184  return book2DD(pwd_, name, static_cast<TH2D *>(source->Clone(name)));
1185 }
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:1114
std::string pwd_
Definition: DQMStore.h:694
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 1189 of file DQMStore.cc.

References book2DD(), and pwd_.

1190 {
1191  return book2DD(pwd_, name, static_cast<TH2D *>(source->Clone(name.c_str())));
1192 }
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:1114
std::string pwd_
Definition: DQMStore.h:694
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 1063 of file DQMStore.cc.

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

1064 {
1065  return book(dir, name, "book2DD", MonitorElement::DQM_KIND_TH2D, h, collate2DD);
1066 }
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:797
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:1544
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 1092 of file DQMStore.cc.

References pwd_.

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

1095 {
1096  return book2S(pwd_, name, new TH2S(name, title,
1097  nchX, lowX, highX,
1098  nchY, lowY, highY));
1099 }
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:1092
std::string pwd_
Definition: DQMStore.h:694
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 1103 of file DQMStore.cc.

References book2S(), and pwd_.

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

References book2S(), and pwd_.

1169 {
1170  return book2S(pwd_, name, static_cast<TH2S *>(source->Clone(name)));
1171 }
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:1092
std::string pwd_
Definition: DQMStore.h:694
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 1175 of file DQMStore.cc.

References book2S(), and pwd_.

1176 {
1177  return book2S(pwd_, name, static_cast<TH2S *>(source->Clone(name.c_str())));
1178 }
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:1092
std::string pwd_
Definition: DQMStore.h:694
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 1056 of file DQMStore.cc.

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

1057 {
1058  return book(dir, name, "book2S", MonitorElement::DQM_KIND_TH2S, h, collate2S);
1059 }
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:797
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:1537
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 1204 of file DQMStore.cc.

References pwd_.

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

1208 {
1209  return book3D(pwd_, name, new TH3F(name, title,
1210  nchX, lowX, highX,
1211  nchY, lowY, highY,
1212  nchZ, lowZ, highZ));
1213 }
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:1204
std::string pwd_
Definition: DQMStore.h:694
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 1217 of file DQMStore.cc.

References book3D(), and pwd_.

1221 {
1222  return book3D(pwd_, name, new TH3F(name.c_str(), title.c_str(),
1223  nchX, lowX, highX,
1224  nchY, lowY, highY,
1225  nchZ, lowZ, highZ));
1226 }
MonitorElement * book3D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ)
Book 3D histogram.
Definition: DQMStore.cc:1204
std::string pwd_
Definition: DQMStore.h:694
MonitorElement * DQMStore::book3D ( const char *  name,
TH3F *  h 
)

Book 3D histogram by cloning an existing histogram.

Definition at line 1230 of file DQMStore.cc.

References book3D(), and pwd_.

1231 {
1232  return book3D(pwd_, name, static_cast<TH3F *>(source->Clone(name)));
1233 }
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:1204
std::string pwd_
Definition: DQMStore.h:694
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 1237 of file DQMStore.cc.

References book3D(), and pwd_.

1238 {
1239  return book3D(pwd_, name, static_cast<TH3F *>(source->Clone(name.c_str())));
1240 }
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:1204
std::string pwd_
Definition: DQMStore.h:694
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 1197 of file DQMStore.cc.

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

1198 {
1199  return book(dir, name, "book3D", MonitorElement::DQM_KIND_TH3F, h, collate3D);
1200 }
static void collate3D(MonitorElement *me, TH3F *h)
Definition: DQMStore.cc:1551
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:797
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 879 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().

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

Book float.

Definition at line 884 of file DQMStore.cc.

References bookFloat(), and pwd_.

885 {
886  return bookFloat(pwd_, name);
887 }
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:879
std::string pwd_
Definition: DQMStore.h:694
MonitorElement * DQMStore::bookFloat ( const std::string &  dir,
const std::string &  name 
)
private

Book float.

Definition at line 862 of file DQMStore.cc.

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

863 {
864  if (collateHistograms_)
865  {
867  {
868  me->Fill(0.);
869  return me;
870  }
871  }
872 
873  return book(dir, name, "bookFloat")
875 }
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:1826
uint32_t streamId_
Definition: DQMStore.h:691
uint32_t moduleId_
Definition: DQMStore.h:692
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:797
uint32_t run_
Definition: DQMStore.h:690
dbl *** dir
Definition: mlp_gen.cc:35
bool collateHistograms_
Definition: DQMStore.h:685
MonitorElement * DQMStore::bookInt ( const char *  name)

Book int.

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

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

Book int.

Definition at line 854 of file DQMStore.cc.

References bookInt(), and pwd_.

855 {
856  return bookInt(pwd_, name);
857 }
std::string pwd_
Definition: DQMStore.h:694
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:849
MonitorElement * DQMStore::bookInt ( const std::string &  dir,
const std::string &  name 
)
private

Book int.

Definition at line 832 of file DQMStore.cc.

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

833 {
834  if (collateHistograms_)
835  {
837  {
838  me->Fill(0);
839  return me;
840  }
841  }
842 
843  return book(dir, name, "bookInt")
845 }
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:1826
uint32_t streamId_
Definition: DQMStore.h:691
uint32_t moduleId_
Definition: DQMStore.h:692
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:797
uint32_t run_
Definition: DQMStore.h:690
dbl *** dir
Definition: mlp_gen.cc:35
bool collateHistograms_
Definition: DQMStore.h:685
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 1256 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().

1260 {
1261  return bookProfile(pwd_, name, new TProfile(name, title,
1262  nchX, lowX, highX,
1263  lowY, highY,
1264  option));
1265 }
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:1256
std::string pwd_
Definition: DQMStore.h:694
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 1271 of file DQMStore.cc.

References bookProfile(), and pwd_.

1275 {
1276  return bookProfile(pwd_, name, new TProfile(name.c_str(), title.c_str(),
1277  nchX, lowX, highX,
1278  lowY, highY,
1279  option));
1280 }
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:1256
std::string pwd_
Definition: DQMStore.h:694
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 1286 of file DQMStore.cc.

References bookProfile(), and pwd_.

1290 {
1291  return bookProfile(pwd_, name, new TProfile(name, title,
1292  nchX, lowX, highX,
1293  lowY, highY,
1294  option));
1295 }
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:1256
std::string pwd_
Definition: DQMStore.h:694
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 1301 of file DQMStore.cc.

References bookProfile(), and pwd_.

1305 {
1306  return bookProfile(pwd_, name, new TProfile(name.c_str(), title.c_str(),
1307  nchX, lowX, highX,
1308  lowY, highY,
1309  option));
1310 }
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:1256
std::string pwd_
Definition: DQMStore.h:694
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 1316 of file DQMStore.cc.

References bookProfile(), and pwd_.

1320 {
1321  return bookProfile(pwd_, name, new TProfile(name, title,
1322  nchX, xbinsize,
1323  lowY, highY,
1324  option));
1325 }
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:1256
std::string pwd_
Definition: DQMStore.h:694
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 1331 of file DQMStore.cc.

References bookProfile(), and pwd_.

1335 {
1336  return bookProfile(pwd_, name, new TProfile(name.c_str(), title.c_str(),
1337  nchX, xbinsize,
1338  lowY, highY,
1339  option));
1340 }
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:1256
std::string pwd_
Definition: DQMStore.h:694
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 1346 of file DQMStore.cc.

References bookProfile(), and pwd_.

1350 {
1351  return bookProfile(pwd_, name, new TProfile(name, title,
1352  nchX, xbinsize,
1353  lowY, highY,
1354  option));
1355 }
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:1256
std::string pwd_
Definition: DQMStore.h:694
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 1361 of file DQMStore.cc.

References bookProfile(), and pwd_.

1365 {
1366  return bookProfile(pwd_, name, new TProfile(name.c_str(), title.c_str(),
1367  nchX, xbinsize,
1368  lowY, highY,
1369  option));
1370 }
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1256
std::string pwd_
Definition: DQMStore.h:694
MonitorElement * DQMStore::bookProfile ( const char *  name,
TProfile *  h 
)

Book TProfile by cloning an existing profile.

Definition at line 1374 of file DQMStore.cc.

References bookProfile(), and pwd_.

1375 {
1376  return bookProfile(pwd_, name, static_cast<TProfile *>(source->Clone(name)));
1377 }
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:1256
std::string pwd_
Definition: DQMStore.h:694
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 1381 of file DQMStore.cc.

References bookProfile(), and pwd_.

1382 {
1383  return bookProfile(pwd_, name, static_cast<TProfile *>(source->Clone(name.c_str())));
1384 }
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:1256
std::string pwd_
Definition: DQMStore.h:694
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 1245 of file DQMStore.cc.

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

1246 {
1247  return book(dir, name, "bookProfile",
1249  h, collateProfile);
1250 }
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:797
static void collateProfile(MonitorElement *me, TProfile *h)
Definition: DQMStore.cc:1558
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 1400 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().

1405 {
1406  return bookProfile2D(pwd_, name, new TProfile2D(name, title,
1407  nchX, lowX, highX,
1408  nchY, lowY, highY,
1409  lowZ, highZ,
1410  option));
1411 }
std::string pwd_
Definition: DQMStore.h:694
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:1400
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 1417 of file DQMStore.cc.

References bookProfile2D(), and pwd_.

1422 {
1423  return bookProfile2D(pwd_, name, new TProfile2D(name.c_str(), title.c_str(),
1424  nchX, lowX, highX,
1425  nchY, lowY, highY,
1426  lowZ, highZ,
1427  option));
1428 }
std::string pwd_
Definition: DQMStore.h:694
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:1400
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 1434 of file DQMStore.cc.

References bookProfile2D(), and pwd_.

1439 {
1440  return bookProfile2D(pwd_, name, new TProfile2D(name, title,
1441  nchX, lowX, highX,
1442  nchY, lowY, highY,
1443  lowZ, highZ,
1444  option));
1445 }
std::string pwd_
Definition: DQMStore.h:694
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:1400
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 1451 of file DQMStore.cc.

References bookProfile2D(), and pwd_.

1456 {
1457  return bookProfile2D(pwd_, name, new TProfile2D(name.c_str(), title.c_str(),
1458  nchX, lowX, highX,
1459  nchY, lowY, highY,
1460  lowZ, highZ,
1461  option));
1462 }
std::string pwd_
Definition: DQMStore.h:694
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:1400
MonitorElement * DQMStore::bookProfile2D ( const char *  name,
TProfile2D *  h 
)

Book TProfile2D by cloning an existing profile.

Definition at line 1466 of file DQMStore.cc.

References bookProfile2D(), and pwd_.

1467 {
1468  return bookProfile2D(pwd_, name, static_cast<TProfile2D *>(source->Clone(name)));
1469 }
std::string pwd_
Definition: DQMStore.h:694
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:1400
MonitorElement * DQMStore::bookProfile2D ( const std::string &  name,
TProfile2D *  h 
)

Book TProfile2D by cloning an existing profile.

Definition at line 1473 of file DQMStore.cc.

References bookProfile2D(), and pwd_.

1474 {
1475  return bookProfile2D(pwd_, name, static_cast<TProfile2D *>(source->Clone(name.c_str())));
1476 }
std::string pwd_
Definition: DQMStore.h:694
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:1400
MonitorElement * DQMStore::bookProfile2D ( const std::string &  folder,
const std::string &  name,
TProfile2D *  h 
)
private

Book 2D profile histogram based on TProfile2D.

Definition at line 1389 of file DQMStore.cc.

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

1390 {
1391  return book(dir, name, "bookProfile2D",
1393  h, collateProfile2D);
1394 }
static void collateProfile2D(MonitorElement *me, TProfile2D *h)
Definition: DQMStore.cc:1568
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:797
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 913 of file DQMStore.cc.

References bookString(), and pwd_.

914 {
915  return bookString(pwd_, name, value);
916 }
MonitorElement * bookString(const char *name, const char *value)
Book string.
Definition: DQMStore.cc:908
std::string pwd_
Definition: DQMStore.h:694
MonitorElement * DQMStore::bookString ( const std::string &  dir,
const std::string &  name,
const std::string &  value 
)
private

Book string.

Definition at line 892 of file DQMStore.cc.

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

895 {
896  if (collateHistograms_)
897  {
899  return me;
900  }
901 
902  return book(dir, name, "bookString")
904 }
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:1826
uint32_t streamId_
Definition: DQMStore.h:691
uint32_t moduleId_
Definition: DQMStore.h:692
MonitorElement * book(const std::string &dir, const std::string &name, const char *context)
Definition: DQMStore.cc:797
uint32_t run_
Definition: DQMStore.h:690
dbl *** dir
Definition: mlp_gen.cc:35
bool collateHistograms_
Definition: DQMStore.h:685
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:691
uint32_t moduleId_
Definition: DQMStore.h:692
std::mutex book_mutex_
Definition: DQMStore.h:702
double f[11][100]
uint32_t run_
Definition: DQMStore.h:690
IBooker * ibooker_
Definition: DQMStore.h:703
bool enableMultiThread_
Definition: DQMStore.h:686
void DQMStore::cd ( void  )

go to top directory (ie. root)

Definition at line 632 of file DQMStore.cc.

References setCurrentFolder().

Referenced by SiStripDcsInfo::addBadModules(), SiStripGainFromData::algoEndJob(), EcalCondDBWriter::analyze(), DQMFileReader::beginJob(), DQMDcsInfoClient::beginRun(), DQMProvInfo::beginRun(), V0Validator::beginRun(), SiPixelActionExecutor::bookDeviations(), SiPixelActionExecutor::bookEfficiency(), SiPixelDataQuality::bookGlobalQualityFlag(), TrackingQualityChecker::bookGlobalStatus(), HiggsDQM::bookHistos(), B2GDQM::bookHistos(), ExoticaDQM::bookHistos(), TrackingQualityChecker::bookLSStatus(), 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().

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

cd to subdirectory (if there)

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

638 {
640  const std::string *cleaned = 0;
641  cleanTrailingSlashes(subdir, clean, cleaned);
642 
643  if (! dirExists(*cleaned))
644  raiseDQMError("DQMStore", "Cannot 'cd' into non-existent directory '%s'",
645  cleaned->c_str());
646 
647  setCurrentFolder(*cleaned);
648 }
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:720
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:655
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 2325 of file DQMStore.cc.

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

Referenced by save().

2326 {
2327  assert(! path.empty());
2328 
2329  // Find the first path component.
2330  size_t start = 0;
2331  size_t end = path.find('/', start);
2332  if (end == std::string::npos)
2333  end = path.size();
2334 
2335  while (true)
2336  {
2337  // Check if this subdirectory component exists. If yes, make sure
2338  // it is actually a subdirectory. Otherwise create or cd into it.
2339  std::string part(path, start, end-start);
2340  TObject *o = gDirectory->Get(part.c_str());
2341  if (o && ! dynamic_cast<TDirectory *>(o))
2342  raiseDQMError("DQMStore", "Attempt to create directory '%s' in a file"
2343  " fails because the part '%s' already exists and is not"
2344  " directory", path.c_str(), part.c_str());
2345  else if (! o)
2346  gDirectory->mkdir(part.c_str());
2347 
2348  if (! gDirectory->cd(part.c_str()))
2349  raiseDQMError("DQMStore", "Attempt to create directory '%s' in a file"
2350  " fails because could not cd into subdirectory '%s'",
2351  path.c_str(), part.c_str());
2352 
2353  // Stop if we reached the end, ignoring any trailing '/'.
2354  if (end+1 >= path.size())
2355  break;
2356 
2357  // Find the next path component.
2358  start = end+1;
2359  end = path.find('/', start);
2360  if (end == std::string::npos)
2361  end = path.size();
2362  }
2363 
2364  return true;
2365 }
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 1482 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().

1483 {
1484  if (me->getTH1()->GetNbinsX() != h->GetNbinsX()
1485  || me->getTH1()->GetNbinsY() != h->GetNbinsY()
1486  || me->getTH1()->GetNbinsZ() != h->GetNbinsZ()
1487  || me->getTH1()->GetXaxis()->GetXmin() != h->GetXaxis()->GetXmin()
1488  || me->getTH1()->GetYaxis()->GetXmin() != h->GetYaxis()->GetXmin()
1489  || me->getTH1()->GetZaxis()->GetXmin() != h->GetZaxis()->GetXmin()
1490  || me->getTH1()->GetXaxis()->GetXmax() != h->GetXaxis()->GetXmax()
1491  || me->getTH1()->GetYaxis()->GetXmax() != h->GetYaxis()->GetXmax()
1492  || me->getTH1()->GetZaxis()->GetXmax() != h->GetZaxis()->GetXmax()
1493  || !MonitorElement::CheckBinLabels((TAxis*)me->getTH1()->GetXaxis(),(TAxis*)h->GetXaxis())
1494  || !MonitorElement::CheckBinLabels((TAxis*)me->getTH1()->GetYaxis(),(TAxis*)h->GetYaxis())
1495  || !MonitorElement::CheckBinLabels((TAxis*)me->getTH1()->GetZaxis(),(TAxis*)h->GetZaxis()) )
1496  {
1497  // edm::LogWarning ("DQMStore")
1498  std::cout << "*** DQMStore: WARNING:"
1499  << "checkBinningMatches: different binning - cannot add object '"
1500  << h->GetName() << "' of type "
1501  << h->IsA()->GetName() << " to existing ME: '"
1502  << me->getFullname() << "'\n";
1503  return false;
1504  }
1505  return true;
1506 }
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 1509 of file DQMStore.cc.

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

Referenced by book1D(), and extract().

1510 {
1511  if (checkBinningMatches(me,h))
1512  me->getTH1F()->Add(h);
1513 }
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1482
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 1523 of file DQMStore.cc.

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

Referenced by book1DD(), and extract().

1524 {
1525  if (checkBinningMatches(me,h))
1526  me->getTH1D()->Add(h);
1527 }
TH1D * getTH1D(void) const
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1482
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 1516 of file DQMStore.cc.

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

Referenced by book1S(), and extract().

1517 {
1518  if (checkBinningMatches(me,h))
1519  me->getTH1S()->Add(h);
1520 }
TH1S * getTH1S(void) const
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1482
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 1530 of file DQMStore.cc.

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

Referenced by book2D(), and extract().

1531 {
1532  if (checkBinningMatches(me,h))
1533  me->getTH2F()->Add(h);
1534 }
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1482
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 1544 of file DQMStore.cc.

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

Referenced by book2DD(), and extract().

1545 {
1546  if (checkBinningMatches(me,h))
1547  me->getTH2D()->Add(h);
1548 }
TH2D * getTH2D(void) const
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1482
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 1537 of file DQMStore.cc.

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

Referenced by book2S(), and extract().

1538 {
1539  if (checkBinningMatches(me,h))
1540  me->getTH2S()->Add(h);
1541 }
TH2S * getTH2S(void) const
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1482
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 1551 of file DQMStore.cc.

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

Referenced by book3D(), and extract().

1552 {
1553  if (checkBinningMatches(me,h))
1554  me->getTH3F()->Add(h);
1555 }
TH3F * getTH3F(void) const
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1482
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 1558 of file DQMStore.cc.

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

Referenced by bookProfile(), and extract().

1559 {
1560  if (checkBinningMatches(me,h))
1561  {
1562  TProfile *meh = me->getTProfile();
1563  me->addProfiles(h, meh, meh, 1, 1);
1564  }
1565 }
void addProfiles(TProfile *h1, TProfile *h2, TProfile *sum, float c1, float c2)
static bool checkBinningMatches(MonitorElement *me, TH1 *h)
Definition: DQMStore.cc:1482
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 1568 of file DQMStore.cc.

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

Referenced by bookProfile2D(), and extract().

1569 {
1570  if (checkBinningMatches(me,h))
1571  {
1572  TProfile2D *meh = me->getTProfile2D();
1573  me->addProfiles(h, meh, meh, 1, 1);
1574  }
1575 }
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:1482
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 1686 of file DQMStore.cc.

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

1687 {
1688  MonitorElement proto(&path, std::string());
1689  MEMap::const_iterator e = data_.end();
1690  MEMap::const_iterator i = data_.lower_bound(proto);
1691  return (i != e && isSubdirectory(path, *i->data_.dirname));
1692 }
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:695
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 3129 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().

3130 {
3131  if (qtests_.count(qtname))
3132  raiseDQMError("DQMStore", "Attempt to create duplicate quality test '%s'",
3133  qtname.c_str());
3134 
3135  QAMap::iterator i = qalgos_.find(algoname);
3136  if (i == qalgos_.end())
3137  raiseDQMError("DQMStore", "Cannot create a quality test using unknown"
3138  " algorithm '%s'", algoname.c_str());
3139 
3140  QCriterion *qc = i->second(qtname);
3141  qc->setVerbose(verboseQT_);
3142 
3143  qtests_[qtname] = qc;
3144  return qc;
3145 }
int i
Definition: DBlmapReader.cc:9
QCMap qtests_
Definition: DQMStore.h:698
unsigned verboseQT_
Definition: DQMStore.h:682
QAMap qalgos_
Definition: DQMStore.h:699
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 3263 of file DQMStore.cc.

References MonitorElement::disableSoftReset().

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

3264 {
3265  if (me)
3266  me->disableSoftReset();
3267 }
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 2029 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().

2031 {
2032  // NB: Profile histograms inherit from TH*D, checking order matters.
2033  MonitorElement *refcheck = 0;
2034  if (TProfile *h = dynamic_cast<TProfile *>(obj))
2035  {
2036  MonitorElement *me = findObject(dir, h->GetName());
2037  if (! me)
2038  me = bookProfile(dir, h->GetName(), (TProfile *) h->Clone());
2039  else if (overwrite)
2040  me->copyFrom(h);
2041  else if (isCollateME(me) || collateHistograms)
2042  collateProfile(me, h);
2043  refcheck = me;
2044  }
2045  else if (TProfile2D *h = dynamic_cast<TProfile2D *>(obj))
2046  {
2047  MonitorElement *me = findObject(dir, h->GetName());
2048  if (! me)
2049  me = bookProfile2D(dir, h->GetName(), (TProfile2D *) h->Clone());
2050  else if (overwrite)
2051  me->copyFrom(h);
2052  else if (isCollateME(me) || collateHistograms)
2053  collateProfile2D(me, h);
2054  refcheck = me;
2055  }
2056  else if (TH1F *h = dynamic_cast<TH1F *>(obj))
2057  {
2058  MonitorElement *me = findObject(dir, h->GetName());
2059  if (! me)
2060  me = book1D(dir, h->GetName(), (TH1F *) h->Clone());
2061  else if (overwrite)
2062  me->copyFrom(h);
2063  else if (isCollateME(me) || collateHistograms)
2064  collate1D(me, h);
2065  refcheck = me;
2066  }
2067  else if (TH1S *h = dynamic_cast<TH1S *>(obj))
2068  {
2069  MonitorElement *me = findObject(dir, h->GetName());
2070  if (! me)
2071  me = book1S(dir, h->GetName(), (TH1S *) h->Clone());
2072  else if (overwrite)
2073  me->copyFrom(h);
2074  else if (isCollateME(me) || collateHistograms)
2075  collate1S(me, h);
2076  refcheck = me;
2077  }
2078  else if (TH1D *h = dynamic_cast<TH1D *>(obj))
2079  {
2080  MonitorElement *me = findObject(dir, h->GetName());
2081  if (! me)
2082  me = book1DD(dir, h->GetName(), (TH1D *) h->Clone());
2083  else if (overwrite)
2084  me->copyFrom(h);
2085  else if (isCollateME(me) || collateHistograms)
2086  collate1DD(me, h);
2087  refcheck = me;
2088  }
2089  else if (TH2F *h = dynamic_cast<TH2F *>(obj))
2090  {
2091  MonitorElement *me = findObject(dir, h->GetName());
2092  if (! me)
2093  me = book2D(dir, h->GetName(), (TH2F *) h->Clone());
2094  else if (overwrite)
2095  me->copyFrom(h);
2096  else if (isCollateME(me) || collateHistograms)
2097  collate2D(me, h);
2098  refcheck = me;
2099  }
2100  else if (TH2S *h = dynamic_cast<TH2S *>(obj))
2101  {
2102  MonitorElement *me = findObject(dir, h->GetName());
2103  if (! me)
2104  me = book2S(dir, h->GetName(), (TH2S *) h->Clone());
2105  else if (overwrite)
2106  me->copyFrom(h);
2107  else if (isCollateME(me) || collateHistograms)
2108  collate2S(me, h);
2109  refcheck = me;
2110  }
2111  else if (TH2D *h = dynamic_cast<TH2D *>(obj))
2112  {
2113  MonitorElement *me = findObject(dir, h->GetName());
2114  if (! me)
2115  me = book2DD(dir, h->GetName(), (TH2D *) h->Clone());
2116  else if (overwrite)
2117  me->copyFrom(h);
2118  else if (isCollateME(me) || collateHistograms)
2119  collate2DD(me, h);
2120  refcheck = me;
2121  }
2122  else if (TH3F *h = dynamic_cast<TH3F *>(obj))
2123  {
2124  MonitorElement *me = findObject(dir, h->GetName());
2125  if (! me)
2126  me = book3D(dir, h->GetName(), (TH3F *) h->Clone());
2127  else if (overwrite)
2128  me->copyFrom(h);
2129  else if (isCollateME(me) || collateHistograms)
2130  collate3D(me, h);
2131  refcheck = me;
2132  }
2133  else if (dynamic_cast<TObjString *>(obj))
2134  {
2135  lat::RegexpMatch m;
2136  if (! s_rxmeval.match(obj->GetName(), 0, 0, &m))
2137  {
2138  if (strstr(obj->GetName(), "CMSSW"))
2139  {
2140  if (verbose_)
2141  std::cout << "Input file version: " << obj->GetName() << std::endl;
2142  return true;
2143  }
2144  else if (strstr(obj->GetName(), "DQMPATCH"))
2145  {
2146  if (verbose_)
2147  std::cout << "DQM patch version: " << obj->GetName() << std::endl;
2148  return true;
2149  }
2150  else
2151  {
2152  std::cout << "*** DQMStore: WARNING: cannot extract object '"
2153  << obj->GetName() << "' of type '"
2154  << obj->IsA()->GetName() << "'\n";
2155  return false;
2156  }
2157  }
2158 
2159  std::string label = m.matchString(obj->GetName(), 1);
2160  std::string kind = m.matchString(obj->GetName(), 2);
2161  std::string value = m.matchString(obj->GetName(), 3);
2162 
2163  if (kind == "i")
2164  {
2165  MonitorElement *me = findObject(dir, label);
2166  if (! me || overwrite)
2167  {
2168  if (! me) me = bookInt(dir, label);
2169  me->Fill(atoll(value.c_str()));
2170  }
2171  }
2172  else if (kind == "f")
2173  {
2174  MonitorElement *me = findObject(dir, label);
2175  if (! me || overwrite)
2176  {
2177  if (! me) me = bookFloat(dir, label);
2178  me->Fill(atof(value.c_str()));
2179  }
2180  }
2181  else if (kind == "s")
2182  {
2183  MonitorElement *me = findObject(dir, label);
2184  if (! me)
2185  me = bookString(dir, label, value);
2186  else if (overwrite)
2187  me->Fill(value);
2188  }
2189  else if (kind == "e")
2190  {
2191  MonitorElement *me = findObject(dir, label);
2192  if (! me)
2193  {
2194  std::cout << "*** DQMStore: WARNING: no monitor element '"
2195  << label << "' in directory '"
2196  << dir << "' to be marked as efficiency plot.\n";
2197  return false;
2198  }
2199  me->setEfficiencyFlag();
2200  }
2201  else if (kind == "t")
2202  {
2203  MonitorElement *me = findObject(dir, label);
2204  if (! me)
2205  {
2206  std::cout << "*** DQMStore: WARNING: no monitor element '"
2207  << label << "' in directory '"
2208  << dir << "' for a tag\n";
2209  return false;
2210  }
2211  errno = 0;
2212  char *endp = 0;
2213  unsigned long val = strtoul(value.c_str(), &endp, 10);
2214  if ((val == 0 && errno) || *endp || val > ~uint32_t(0))
2215  {
2216  std::cout << "*** DQMStore: WARNING: cannot restore tag '"
2217  << value << "' for monitor element '"
2218  << label << "' in directory '"
2219  << dir << "' - invalid value\n";
2220  return false;
2221  }
2222  tag(me, val);
2223  }
2224  else if (kind == "qr")
2225  {
2226  // Handle qreports, but skip them while reading in references.
2228  {
2229  size_t dot = label.find('.');
2230  if (dot == std::string::npos)
2231  {
2232  std::cout << "*** DQMStore: WARNING: quality report label in '" << label
2233  << "' is missing a '.' and cannot be extracted\n";
2234  return false;
2235  }
2236 
2237  std::string mename (label, 0, dot);
2238  std::string qrname (label, dot+1, std::string::npos);
2239 
2240  m.reset();
2241  DQMNet::QValue qv;
2242  if (s_rxmeqr1.match(value, 0, 0, &m))
2243  {
2244  qv.code = atoi(m.matchString(value, 1).c_str());
2245  qv.qtresult = strtod(m.matchString(value, 2).c_str(), 0);
2246  qv.message = m.matchString(value, 4);
2247  qv.qtname = qrname;
2248  qv.algorithm = m.matchString(value, 3);
2249  }
2250  else if (s_rxmeqr2.match(value, 0, 0, &m))
2251  {
2252  qv.code = atoi(m.matchString(value, 1).c_str());
2253  qv.qtresult = 0; // unavailable in old format
2254  qv.message = m.matchString(value, 2);
2255  qv.qtname = qrname;
2256  // qv.algorithm unavailable in old format
2257  }
2258  else
2259  {
2260  std::cout << "*** DQMStore: WARNING: quality test value '"
2261  << value << "' is incorrectly formatted\n";
2262  return false;
2263  }
2264 
2265  MonitorElement *me = findObject(dir, mename);
2266  if (! me)
2267  {
2268  std::cout << "*** DQMStore: WARNING: no monitor element '"
2269  << mename << "' in directory '"
2270  << dir << "' for quality test '"
2271  << label << "'\n";
2272  return false;
2273  }
2274 
2275  me->addQReport(qv, /* FIXME: getQTest(qv.qtname)? */ 0);
2276  }
2277  }
2278  else
2279  {
2280  std::cout << "*** DQMStore: WARNING: cannot extract object '"
2281  << obj->GetName() << "' of type '"
2282  << obj->IsA()->GetName() << "'\n";
2283  return false;
2284  }
2285  }
2286  else if (TNamed *n = dynamic_cast<TNamed *>(obj))
2287  {
2288  // For old DQM data.
2289  std::string s;
2290  s.reserve(6 + strlen(n->GetTitle()) + 2*strlen(n->GetName()));
2291  s += '<'; s += n->GetName(); s += '>';
2292  s += n->GetTitle();
2293  s += '<'; s += '/'; s += n->GetName(); s += '>';
2294  TObjString os(s.c_str());
2295  return extract(&os, dir, overwrite, collateHistograms_);
2296  }
2297  else
2298  {
2299  std::cout << "*** DQMStore: WARNING: cannot extract object '"
2300  << obj->GetName() << "' of type '" << obj->IsA()->GetName()
2301  << "' and with title '" << obj->GetTitle() << "'\n";
2302  return false;
2303  }
2304 
2305  // If we just read in a reference monitor element, and there is a
2306  // monitor element with the same name, link the two together. The
2307  // other direction is handled by the initialise() method.
2308  if (refcheck && isSubdirectory(s_referenceDirName, dir))
2309  {
2310  std::string mdir(dir, s_referenceDirName.size()+1, std::string::npos);
2311  if (MonitorElement *master = findObject(mdir, obj->GetName()))
2312  {
2313  master->data_.flags |= DQMNet::DQM_PROP_HAS_REFERENCE;
2314  master->reference_ = refcheck->object_;
2315  }
2316  }
2317 
2318  return true;
2319 }
static void collateProfile2D(MonitorElement *me, TProfile2D *h)
Definition: DQMStore.cc:1568
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:1092
bool isCollateME(MonitorElement *me) const
Definition: DQMStore.cc:3311
void copyFrom(TH1 *from)
std::string algorithm
Definition: DQMNet.h:92
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:942
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:1826
static void collate3D(MonitorElement *me, TH3F *h)
Definition: DQMStore.cc:1551
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:1204
static void collate1D(MonitorElement *me, TH1F *h)
Definition: DQMStore.cc:1509
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:1114
static void collate1DD(MonitorElement *me, TH1D *h)
Definition: DQMStore.cc:1523
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:974
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:879
void Fill(long long x)
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1582
static void collateProfile(MonitorElement *me, TProfile *h)
Definition: DQMStore.cc:1558
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:908
static void collate1S(MonitorElement *me, TH1S *h)
Definition: DQMStore.cc:1516
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:1256
std::string qtname
Definition: DQMNet.h:91
unsigned verbose_
Definition: DQMStore.h:681
static void collate2S(MonitorElement *me, TH2S *h)
Definition: DQMStore.cc:1537
static void collate2D(MonitorElement *me, TH2F *h)
Definition: DQMStore.cc:1530
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:2029
static void collate2DD(MonitorElement *me, TH2D *h)
Definition: DQMStore.cc:1544
T dot(const Basic3DVector &v) const
Scalar product, or &quot;dot&quot; product, with a vector of same type.
std::string message
Definition: DQMNet.h:90
tuple cout
Definition: gather_cfg.py:121
void setEfficiencyFlag(void)
dbl *** dir
Definition: mlp_gen.cc:35
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:849
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:1070
tuple collateHistograms
float qtresult
Definition: DQMNet.h:89
bool collateHistograms_
Definition: DQMStore.h:685
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:958
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:1400
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 2942 of file DQMStore.cc.

Referenced by get_info().

2942  {
2943  if (buf.Length() == buf.BufferSize())
2944  return 0;
2945  buf.InitMap();
2946  void *ptr = buf.ReadObjectAny(0);
2947  return reinterpret_cast<TObject *>(ptr);
2948 }
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 1826 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().

1832 {
1833  if (dir.find_first_not_of(s_safe) != std::string::npos)
1834  raiseDQMError("DQMStore", "Monitor element path name '%s' uses"
1835  " unacceptable characters", dir.c_str());
1836  if (name.find_first_not_of(s_safe) != std::string::npos)
1837  raiseDQMError("DQMStore", "Monitor element path name '%s' uses"
1838  " unacceptable characters", name.c_str());
1839 
1840  MonitorElement proto;
1841  proto.data_.dirname = &dir;
1842  proto.data_.objname = name;
1843  proto.data_.run = run;
1844  proto.data_.lumi = lumi;
1845  proto.data_.streamId = streamId;
1846  proto.data_.moduleId = moduleId;
1847 
1848  MEMap::const_iterator mepos = data_.find(proto);
1849  return (mepos == data_.end() ? 0
1850  : const_cast<MonitorElement *>(&*mepos));
1851 }
uint32_t moduleId
Definition: DQMNet.h:103
tuple lumi
Definition: fjr2json.py:35
static const std::string s_safe
Definition: DQMStore.cc:56
const std::string * dirname
Definition: DQMNet.h:104
uint32_t run
Definition: DQMNet.h:100
uint32_t lumi
Definition: DQMNet.h:101
std::string objname
Definition: DQMNet.h:105
DQMNet::CoreObject data_
MEMap data_
Definition: DQMStore.h:695
dbl *** dir
Definition: mlp_gen.cc:35
uint32_t streamId
Definition: DQMNet.h:102
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
void DQMStore::forceReset ( void  )
private

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

Definition at line 2007 of file DQMStore.cc.

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

Referenced by DQMStore().

2008 {
2009  MEMap::iterator mi = data_.begin();
2010  MEMap::iterator me = data_.end();
2011  for ( ; mi != me; ++mi)
2012  {
2013  if (forceResetOnBeginLumi_ && ((*mi).getLumiFlag() == false))
2014  continue;
2015  MonitorElement &me = const_cast<MonitorElement &>(*mi);
2016  me.Reset();
2017  me.resetUpdate();
2018  }
2019 
2020  reset_ = true;
2021 }
void resetUpdate(void)
reset &quot;was updated&quot; flag
bool reset_
Definition: DQMStore.h:683
MEMap data_
Definition: DQMStore.h:695
bool forceResetOnBeginLumi_
Definition: DQMStore.h:688
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 1696 of file DQMStore.cc.

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

Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), SiStripDcsInfo::addBadModules(), SiStripGainFromCalibTree::algoEndJob(), EcalCondDBWriter::analyze(), HcalDigiClient::analyze(), HcalRecHitClient::analyze(), HcalSummaryClient::analyze(), RPCMon_SS_Dbx_Global::analyze(), HcalBaseDQMonitor::analyze(), 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(), HcalBeamClient::calculateProblems(), HcalCoarsePedestalClient::calculateProblems(), HcalDeadCellClient::calculateProblems(), HcalDetDiagPedestalClient::calculateProblems(), HcalDigiClient::calculateProblems(), HcalHotCellClient::calculateProblems(), HcalTrigPrimClient::calculateProblems(), HcalRawDataClient::calculateProblems(), CalibrationHistograms::CalibrationHistograms(), CalibrationHistosUsingDb::CalibrationHistosUsingDb(), HcalDataCertification::CertifyHcal(), SiPixelActionExecutor::checkQTestResults(), RPCOccupancyTest::clientOperation(), RPCEventSummary::clientOperation(), rrapi.RRApi::columns(), HDShower::compute(), EMShower::compute(), SiPixelDataQuality::computeGlobalQualityFlag(), SiPixelDataQuality::computeGlobalQualityFlagByLumi(), CommissioningHistograms::copyCustomInformation(), rrapi.RRApi::count(), FourVectorHLTOnline::countHLTGroupBXHitsEndLumiBlock(), FourVectorHLTOnline::countHLTGroupHitsEndLumiBlock(), TrigResRateMon::countHLTGroupHitsEndLumiBlock(), FourVectorHLTOffline::countHLTGroupHitsEndLumiBlock(), FourVectorHLTOnline::countHLTGroupL1HitsEndLumiBlock(), TrigResRateMon::countHLTGroupL1HitsEndLumiBlock(), FourVectorHLTOffline::countHLTGroupL1HitsEndLumiBlock(), FourVectorHLTOnline::countHLTPathHitsEndLumiBlock(), TrigResRateMon::countHLTPathHitsEndLumiBlock(), FourVectorHLTOffline::countHLTPathHitsEndLumiBlock(), PFClient_JetRes::createEfficiencyPlots(), PFClient::createEfficiencyPlots(), createH2CompTest(), createH2ContentTest(), EgHLTOfflineClient::createHLTvsOfflineHists(), EgHLTOfflineClient::createLooseTightTrigEff(), EgHLTOfflineClient::createN1EffHists(), PFClient::createProfilePlots(), PFClient::createProjectionPlots(), PFClient_JetRes::createResolutionPlots(), PFClient::createResolutionPlots(), SiStripActionExecutor::createShiftReport(), TopElectronHLTOfflineClient::createSingleEffHists(), EgHLTOfflineClient::createSingleEffHists(), EgHLTOfflineClient::createTrigTagProbeEffHists(), EgHLTOfflineClient::createTrigTagProbeEffHists2Leg(), EgHLTOfflineClient::createTrigTagProbeEffHistsNewAlgo(), rrapi.RRApi::data(), dqmCopyRecursively(), DTBlockedROChannelsTest::DTRobBinsMap::DTRobBinsMap(), SiPixelActionExecutor::dumpBarrelRefValues(), L1TEventInfoClient::dumpContentMonitorElements(), SiPixelActionExecutor::dumpEndcapRefValues(), EMShower::EMShower(), DQMHcalIsoTrackPostProcessor::endJob(), HarvestingAnalyzer::endJob(), HcalSimHitsValidation::endJob(), HcalMonitorModule::endJob(), ZDCMonitorModule::endJob(), MuonAlignment::endJob(), RPCDcsInfoClient::endLuminosityBlock(), 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(), RPCRecHitProbabilityClient::endRun(), DQMDcsInfoClient::endRun(), TauDQMHistEffProducer::endRun(), HLTTauCertifier::endRun(), DTOfflineSummaryClients::endRun(), RPCEfficiencyShiftHisto::endRun(), RPCEfficiencyPerRingLayer::endRun(), DQMOfflineHLTEventInfoClient::endRun(), MuonAlignmentSummary::endRun(), FourVectorHLTClient::endRun(), HLTOverallSummary::endRun(), EcalZmassClient::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(), ecaldqm::MESetNonObject::retrieve(), ecaldqm::MESetEcal::retrieve(), SiPixelHistoricInfoDQMClient::retrieveMEs(), SiPixelHistoricInfoEDAClient::retrieveMEs(), PhotonOfflineClient::runClient(), EgHLTOfflineSummaryClient::runClient_(), DTLocalTriggerEfficiencyTest::runClientDiagnostic(), CommissioningHistograms::runNumber(), ConversionPostprocessing::runPostprocessing(), PhotonPostprocessing::runPostprocessing(), CommissioningHistograms::runType(), SamplingHistograms::SamplingHistograms(), DQMFileSaver::saveForOnline(), SiPixelInformationExtractor::selectMEList(), L1EmulatorErrorFlagClient::setSummary(), PFMETDQMAnalyzer::storeBadEvents(), PFCandidateDQMAnalyzer::storeBadEvents(), PFJetDQMAnalyzer::storeBadEvents(), rrapi.RRApi::tables(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), DTDataIntegrityTask::TimeHistos(), HcalDetDiagLEDClient::validHtmlOutput(), HcalDetDiagPedestalClient::validHtmlOutput(), rrapi.RRApi::workspaces(), and SubTaskSummaryStatus::WriteThreshold().

1697 {
1698  std::string dir;
1699  std::string name;
1700  splitPath(dir, name, path);
1701  MonitorElement proto(&dir, name);
1702  MEMap::const_iterator mepos = data_.find(proto);
1703  return (mepos == data_.end() ? 0
1704  : const_cast<MonitorElement *>(&*mepos));
1705 }
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:695
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 1709 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().

1710 {
1711  // FIXME: Use reverse map [tag -> path] / [tag -> dir]?
1712  std::vector<MonitorElement *> result;
1713  for (MEMap::const_iterator i = data_.begin(), e = data_.end(); i != e; ++i)
1714  {
1715  const MonitorElement &me = *i;
1716  if ((me.data_.flags & DQMNet::DQM_PROP_TAGGED) && me.data_.tag == tag)
1717  result.push_back(const_cast<MonitorElement *>(&me));
1718  }
1719  return result;
1720 }
int i
Definition: DBlmapReader.cc:9
uint32_t flags
Definition: DQMNet.h:97
static const uint32_t DQM_PROP_TAGGED
Definition: DQMNet.h:54
uint32_t tag
Definition: DQMNet.h:98
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1582
tuple result
Definition: query.py:137
DQMNet::CoreObject data_
MEMap data_
Definition: DQMStore.h:695
void DQMStore::get_info ( const dqmstorepb::ROOTFilePB_Histo h,
std::string &  dirname,
std::string &  objname,
TObject **  obj 
)
private

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

2953  {
2954 
2955  size_t slash = h.full_pathname().rfind('/');
2956  size_t dirpos = (slash == std::string::npos ? 0 : slash);
2957  size_t namepos = (slash == std::string::npos ? 0 : slash+1);
2958  dirname.assign(h.full_pathname(), 0, dirpos);
2959  objname.assign(h.full_pathname(), namepos, std::string::npos);
2960  TBufferFile buf(TBufferFile::kRead, h.size(),
2961  (void*)h.streamed_histo().data(),
2962  kFALSE);
2963  buf.Reset();
2964  *obj = extractNextObject(buf);
2965  if (!*obj) {
2966  raiseDQMError("DQMStore", "Error reading element:'%s'" , h.full_pathname().c_str());
2967  }
2968 }
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:2942
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 1909 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().

1912 {
1914  const std::string *cleaned = 0;
1915  cleanTrailingSlashes(path, clean, cleaned);
1916  MonitorElement proto(cleaned, std::string(), runNumber);
1917  proto.setLumi(lumi);
1918 
1919  std::vector<MonitorElement *> result;
1920  MEMap::const_iterator e = data_.end();
1921  MEMap::const_iterator i = data_.lower_bound(proto);
1922  for ( ; i != e && isSubdirectory(*cleaned, *i->data_.dirname); ++i) {
1923  if (runNumber != 0) {
1924  if (i->data_.run > runNumber // TODO[rovere]: pleonastic? first we encounter local ME of the same run ...
1925  || i->data_.streamId != 0
1926  || i->data_.moduleId != 0)
1927  break;
1928  }
1929  if (lumi != 0) {
1930  if (i->data_.lumi > lumi
1931  || i->data_.streamId != 0
1932  || i->data_.moduleId != 0)
1933  break;
1934  }
1935  if (runNumber != 0 or lumi !=0) {
1936  assert(i->data_.streamId == 0);
1937  assert(i->data_.moduleId == 0);
1938  }
1939  result.push_back(const_cast<MonitorElement *>(&*i));
1940  }
1941  return result;
1942 }
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:695
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 1856 of file DQMStore.cc.

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

Referenced by EDMtoMEConverter::getData().

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

1726 {
1728  const std::string *cleaned = 0;
1729  cleanTrailingSlashes(path, clean, cleaned);
1730  MonitorElement proto(cleaned, std::string());
1731 
1732  std::vector<MonitorElement *> result;
1733  MEMap::const_iterator e = data_.end();
1734  MEMap::const_iterator i = data_.lower_bound(proto);
1735  for ( ; i != e && isSubdirectory(*cleaned, *i->data_.dirname); ++i)
1736  if (*cleaned == *i->data_.dirname)
1737  result.push_back(const_cast<MonitorElement *>(&*i));
1738 
1739  return result;
1740 }
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:695
std::vector< MonitorElement * > DQMStore::getContents ( const std::string &  path,
unsigned int  tag 
) const

same as above for tagged MonitorElements

Definition at line 1744 of file DQMStore.cc.

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

1745 {
1747  const std::string *cleaned = 0;
1748  cleanTrailingSlashes(path, clean, cleaned);
1749  MonitorElement proto(cleaned, std::string());
1750 
1751  std::vector<MonitorElement *> result;
1752  MEMap::const_iterator e = data_.end();
1753  MEMap::const_iterator i = data_.lower_bound(proto);
1754  for ( ; i != e && isSubdirectory(*cleaned, *i->data_.dirname); ++i)
1755  if (*cleaned == *i->data_.dirname
1756  && (i->data_.flags & DQMNet::DQM_PROP_TAGGED)
1757  && i->data_.tag == tag)
1758  result.push_back(const_cast<MonitorElement *>(&*i));
1759 
1760  return result;
1761 }
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:1582
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:695
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 1768 of file DQMStore.cc.

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

1769 {
1770  into.clear();
1771  into.reserve(dirs_.size());
1772 
1773  MEMap::const_iterator me = data_.end();
1774  std::set<std::string>::const_iterator di = dirs_.begin();
1775  std::set<std::string>::const_iterator de = dirs_.end();
1776  for ( ; di != de; ++di)
1777  {
1778  MonitorElement proto(&*di, std::string());
1779  MEMap::const_iterator mi = data_.lower_bound(proto);
1780  MEMap::const_iterator m = mi;
1781  size_t sz = di->size() + 2;
1782  size_t nfound = 0;
1783  for ( ; m != me && isSubdirectory(*di, *m->data_.dirname); ++m)
1784  if (*di == *m->data_.dirname)
1785  {
1786  sz += m->data_.objname.size() + 1;
1787  ++nfound;
1788  }
1789 
1790  if (! nfound)
1791  continue;
1792 
1793  std::vector<std::string>::iterator istr
1794  = into.insert(into.end(), std::string());
1795 
1796  if (showContents)
1797  {
1798  istr->reserve(sz);
1799 
1800  *istr += *di;
1801  *istr += ':';
1802  for (sz = 0; mi != m; ++mi)
1803  {
1804  if (*di != *mi->data_.dirname)
1805  continue;
1806 
1807  if (sz > 0)
1808  *istr += ',';
1809 
1810  *istr += mi->data_.objname;
1811  ++sz;
1812  }
1813  }
1814  else
1815  {
1816  istr->reserve(di->size() + 2);
1817  *istr += *di;
1818  *istr += ':';
1819  }
1820  }
1821 }
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
MEMap data_
Definition: DQMStore.h:695
std::set< std::string > dirs_
Definition: DQMStore.h:696
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 1947 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().

1948 {
1949  lat::Regexp rx;
1950  try
1951  {
1952  rx = lat::Regexp(pattern, 0, syntaxType);
1953  rx.study();
1954  }
1955  catch (lat::Error &e)
1956  {
1957  raiseDQMError("DQMStore", "Invalid regular expression '%s': %s",
1958  pattern.c_str(), e.explain().c_str());
1959  }
1960 
1961  std::string path;
1962  std::vector<MonitorElement *> result;
1963  MEMap::const_iterator i = data_.begin();
1964  MEMap::const_iterator e = data_.end();
1965  for ( ; i != e; ++i)
1966  {
1967  path.clear();
1968  mergePath(path, *i->data_.dirname, i->data_.objname);
1969  if (rx.match(path))
1970  result.push_back(const_cast<MonitorElement *>(&*i));
1971  }
1972 
1973  return result;
1974 }
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:695
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 1670 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().

1671 {
1672  MonitorElement proto(&pwd_, std::string());
1673  std::vector<std::string> result;
1674  MEMap::const_iterator e = data_.end();
1675  MEMap::const_iterator i = data_.lower_bound(proto);
1676  for ( ; i != e && isSubdirectory(pwd_, *i->data_.dirname); ++i)
1677  if (pwd_ == *i->data_.dirname)
1678  result.push_back(i->getName());
1679 
1680  return result;
1681 }
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:694
MEMap data_
Definition: DQMStore.h:695
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 3224 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().

3225 {
3227  const std::string *cleaned = 0;
3228  cleanTrailingSlashes(path, clean, cleaned);
3229 
3231  MEMap::const_iterator mi = data_.begin();
3232  MEMap::const_iterator me = data_.end();
3233  for ( ; mi != me; ++mi)
3234  {
3235  if (! cleaned->empty() && ! isSubdirectory(*cleaned, *mi->data_.dirname))
3236  continue;
3237 
3238  if (mi->hasError())
3239  return dqm::qstatus::ERROR;
3240  else if (mi->hasWarning())
3241  status = dqm::qstatus::WARNING;
3242  else if (status < dqm::qstatus::WARNING
3243  && mi->hasOtherReport())
3244  status = dqm::qstatus::OTHER;
3245  }
3246  return status;
3247 }
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:695
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 1647 of file DQMStore.cc.

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

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

1648 {
1649  std::vector<std::string> result;
1650  std::set<std::string>::const_iterator e = dirs_.end();
1651  std::set<std::string>::const_iterator i = dirs_.find(pwd_);
1652 
1653  // If we didn't find current directory, the tree is empty, so quit.
1654  if (i == e)
1655  return result;
1656 
1657  // Skip the current directory and then start looking for immediate
1658  // subdirectories in the dirs_ list. Stop when we are no longer in
1659  // (direct or indirect) subdirectories of pwd_. Note that we don't
1660  // "know" which order the set will sort A/B, A/B/C and A/D.
1661  while (++i != e && isSubdirectory(pwd_, *i))
1662  if (i->find('/', pwd_.size()+1) == std::string::npos)
1663  result.push_back(*i);
1664 
1665  return result;
1666 }
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:694
std::set< std::string > dirs_
Definition: DQMStore.h:696
void DQMStore::goUp ( void  )

equivalent to "cd .."

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

667 {
668  size_t pos = pwd_.rfind('/');
669  if (pos == std::string::npos)
670  setCurrentFolder("");
671  else
672  setCurrentFolder(pwd_.substr(0, pos));
673 }
std::string pwd_
Definition: DQMStore.h:694
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:655
MonitorElement* DQMStore::initialise ( MonitorElement me,
const std::string &  path 
)
private

Referenced by book().

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

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

508  {
509  makeDirectory("");
510  reset();
511 
512  // set steerable parameters
513  verbose_ = pset.getUntrackedParameter<int>("verbose", 0);
514  if (verbose_ > 0)
515  std::cout << "DQMStore: verbosity set to " << verbose_ << std::endl;
516 
517  verboseQT_ = pset.getUntrackedParameter<int>("verboseQT", 0);
518  if (verbose_ > 0)
519  std::cout << "DQMStore: QTest verbosity set to " << verboseQT_ << std::endl;
520 
521  collateHistograms_ = pset.getUntrackedParameter<bool>("collateHistograms", false);
522  if (collateHistograms_)
523  std::cout << "DQMStore: histogram collation is enabled\n";
524 
525  enableMultiThread_ = pset.getUntrackedParameter<bool>("enableMultiThread", false);
526  if (enableMultiThread_)
527  std::cout << "DQMStore: MultiThread option is enabled\n";
528 
529  LSbasedMode_ = pset.getUntrackedParameter<bool>("LSbasedMode", false);
530  if (LSbasedMode_)
531  std::cout << "DQMStore: LSbasedMode option is enabled\n";
532 
533  std::string ref = pset.getUntrackedParameter<std::string>("referenceFileName", "");
534  if (! ref.empty())
535  {
536  std::cout << "DQMStore: using reference file '" << ref << "'\n";
537  readFile(ref, true, "", s_referenceDirName, StripRunDirs, false);
538  }
539 
540  initQCriterion<Comp2RefChi2>(qalgos_);
541  initQCriterion<Comp2RefKolmogorov>(qalgos_);
542  initQCriterion<ContentsXRange>(qalgos_);
543  initQCriterion<ContentsYRange>(qalgos_);
544  initQCriterion<MeanWithinExpected>(qalgos_);
545  initQCriterion<Comp2RefEqualH>(qalgos_);
546  initQCriterion<DeadChannel>(qalgos_);
547  initQCriterion<NoisyChannel>(qalgos_);
548  initQCriterion<ContentsWithinExpected>(qalgos_);
549  initQCriterion<CompareToMedian>(qalgos_);
550  initQCriterion<CompareLastFilledBin>(qalgos_);
551  initQCriterion<CheckVariance>(qalgos_);
552 
553  scaleFlag_ = pset.getUntrackedParameter<double>("ScalingFlag", 0.0);
554  if (verbose_ > 0)
555  std::cout << "DQMStore: Scaling Flag set to " << scaleFlag_ << std::endl;
556 }
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:2887
unsigned verboseQT_
Definition: DQMStore.h:682
double scaleFlag_
Definition: DQMStore.h:684
QAMap qalgos_
Definition: DQMStore.h:699
unsigned verbose_
Definition: DQMStore.h:681
static const std::string s_referenceDirName
Definition: DQMStore.cc:54
tuple cout
Definition: gather_cfg.py:121
void reset(void)
Definition: DQMStore.cc:1983
bool collateHistograms_
Definition: DQMStore.h:685
bool LSbasedMode_
Definition: DQMStore.h:687
void makeDirectory(const std::string &path)
Definition: DQMStore.cc:679
bool enableMultiThread_
Definition: DQMStore.h:686
bool DQMStore::isCollate ( void  ) const

Definition at line 3302 of file DQMStore.cc.

References collateHistograms_.

3303 {
3304  return collateHistograms_;
3305 }
bool collateHistograms_
Definition: DQMStore.h:685
bool DQMStore::isCollateME ( MonitorElement me) const
private

Definition at line 3311 of file DQMStore.cc.

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

Referenced by extract().

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

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

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

2863 {
2864  bool overwrite = true;
2865  if (collateHistograms_) overwrite = false;
2866  if (verbose_)
2867  {
2868  std::cout << "DQMStore::load: reading from file '" << filename << "'\n";
2869  if (collateHistograms_)
2870  std::cout << "DQMStore::load: in collate mode " << "\n";
2871  else
2872  std::cout << "DQMStore::load: in overwrite mode " << "\n";
2873  }
2874 
2875  if (!s_rxpbfile.match(filename, 0, 0))
2876  return readFile(filename, overwrite, "", "", stripdirs, fileMustExist);
2877  else
2878  return readFilePB(filename, overwrite, "", "", stripdirs, fileMustExist);
2879 }
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:2887
unsigned verbose_
Definition: DQMStore.h:681
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:2971
tuple filename
Definition: lut2db_cfg.py:20
tuple cout
Definition: gather_cfg.py:121
bool collateHistograms_
Definition: DQMStore.h:685
void DQMStore::makeDirectory ( const std::string &  path)
private

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

Definition at line 679 of file DQMStore.cc.

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

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

680 {
681  std::string prev;
682  std::string subdir;
684  prev.reserve(path.size());
685  subdir.reserve(path.size());
686  name.reserve(path.size());
687  size_t prevname = 0;
688  size_t slash = 0;
689 
690  while (true)
691  {
692  // Create this subdirectory component.
693  subdir.clear();
694  subdir.append(path, 0, slash);
695  name.clear();
696  name.append(subdir, prevname, std::string::npos);
697  if (! prev.empty() && findObject(prev, name))
698  raiseDQMError("DQMStore", "Attempt to create subdirectory '%s'"
699  " which already exists as a monitor element",
700  subdir.c_str());
701 
702  if (! dirs_.count(subdir))
703  dirs_.insert(subdir);
704 
705  // Stop if we've reached the end (including possibly a trailing slash).
706  if (slash+1 >= path.size())
707  break;
708 
709  // Find the next slash, making sure we progress. If reach the end,
710  // process the last path component; the next loop round will terminate.
711  prevname = slash ? slash+1 : slash;
712  prev = subdir;
713  if ((slash = path.find('/', ++slash)) == std::string::npos)
714  slash = path.size();
715  }
716 }
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:1826
tuple path
else: Piece not in the list, fine.
std::set< std::string > dirs_
Definition: DQMStore.h:696
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
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:704
double f[11][100]
IBooker * ibooker_
Definition: DQMStore.h:703
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:704
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, 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  const_cast<MonitorElement*>(&*i)->Reset();
435  // TODO(rovere): eventually reset the local object and mark it as reusable??
436  ++i;
437  }
438 }
int i
Definition: DBlmapReader.cc:9
tuple lumi
Definition: fjr2json.py:35
std::mutex book_mutex_
Definition: DQMStore.h:702
unsigned verbose_
Definition: DQMStore.h:681
MEMap data_
Definition: DQMStore.h:695
tuple cout
Definition: gather_cfg.py:121
void Reset(std::vector< TH2F > &depth)
bool LSbasedMode_
Definition: DQMStore.h:687
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:702
unsigned verbose_
Definition: DQMStore.h:681
MEMap data_
Definition: DQMStore.h:695
tuple cout
Definition: gather_cfg.py:121
bool LSbasedMode_
Definition: DQMStore.h:687
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 2845 of file DQMStore.cc.

References readFile().

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

2851 {
2852  return readFile(filename,overwrite,onlypath,prepend,stripdirs,fileMustExist);
2853 }
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:2887
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 568 of file DQMStore.cc.

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

Referenced by book().

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

628 { return pwd_; }
std::string pwd_
Definition: DQMStore.h:694
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 2690 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().

2696 {
2697  unsigned int ntot = 0;
2698  unsigned int count = 0;
2699 
2700  if (! file->cd(curdir.c_str()))
2701  raiseDQMError("DQMStore", "Failed to process directory '%s' while"
2702  " reading file '%s'", curdir.c_str(), file->GetName());
2703 
2704  // Figure out current directory name, but strip out the top
2705  // directory into which we dump everything.
2706  std::string dirpart = curdir;
2707  if (dirpart.compare(0, s_monitorDirName.size(), s_monitorDirName) == 0)
2708  {
2709  if (dirpart.size() == s_monitorDirName.size())
2710  dirpart.clear();
2711  else if (dirpart[s_monitorDirName.size()] == '/')
2712  dirpart.erase(0, s_monitorDirName.size()+1);
2713  }
2714 
2715  // See if we are going to skip this directory.
2716  bool skip = (! onlypath.empty() && ! isSubdirectory(onlypath, dirpart));
2717 
2718  if (prepend == s_collateDirName ||
2719  prepend == s_referenceDirName ||
2720  stripdirs == StripRunDirs )
2721  {
2722  // Remove Run # and RunSummary dirs
2723  // first look for Run summary,
2724  // if that is found and erased, also erase Run dir
2725  size_t slash = dirpart.find('/');
2726  size_t pos = dirpart.find("/Run summary");
2727  if (slash != std::string::npos && pos !=std::string::npos)
2728  {
2729  dirpart.erase(pos,12);
2730 
2731  pos = dirpart.find("Run ");
2732  size_t length = dirpart.find('/',pos+1)-pos+1;
2733  if (pos !=std::string::npos)
2734  dirpart.erase(pos,length);
2735  }
2736  }
2737 
2738  // If we are prepending, add it to the directory name,
2739  // and suppress reading of already existing reference histograms
2740  if (prepend == s_collateDirName ||
2741  prepend == s_referenceDirName)
2742  {
2743  size_t slash = dirpart.find('/');
2744  // If we are reading reference, skip previous reference.
2745  if (slash == std::string::npos // skip if Reference is toplevel folder, i.e. no slash
2746  && slash+1+s_referenceDirName.size() == dirpart.size()
2747  && dirpart.compare(slash+1, s_referenceDirName.size(), s_referenceDirName) == 0)
2748  return 0;
2749 
2750  slash = dirpart.find('/');
2751  // Skip reading of EventInfo subdirectory.
2752  if (slash != std::string::npos
2753  && slash + 10 == dirpart.size()
2754  && dirpart.compare( slash+1 , 9 , "EventInfo") == 0) {
2755  if (verbose_)
2756  std::cout << "DQMStore::readDirectory: skipping '" << dirpart << "'\n";
2757  return 0;
2758  }
2759 
2760  // Add prefix.
2761  if (dirpart.empty())
2762  dirpart = prepend;
2763  else
2764  dirpart = prepend + '/' + dirpart;
2765  }
2766  else if (! prepend.empty())
2767  {
2768  if (dirpart.empty())
2769  dirpart = prepend;
2770  else
2771  dirpart = prepend + '/' + dirpart;
2772  }
2773 
2774  // Loop over the contents of this directory in the file.
2775  // Post-pone string object handling to happen after other
2776  // objects have been read in so we are guaranteed to have
2777  // histograms by the time we read in quality tests and tags.
2778  TKey *key;
2779  TIter next (gDirectory->GetListOfKeys());
2780  std::list<TObject *> delayed;
2781  while ((key = (TKey *) next()))
2782  {
2783  std::auto_ptr<TObject> obj(key->ReadObj());
2784  if (dynamic_cast<TDirectory *>(obj.get()))
2785  {
2786  std::string subdir;
2787  subdir.reserve(curdir.size() + strlen(obj->GetName()) + 2);
2788  subdir += curdir;
2789  if (! curdir.empty())
2790  subdir += '/';
2791  subdir += obj->GetName();
2792 
2793  ntot += readDirectory(file, overwrite, onlypath, prepend, subdir, stripdirs);
2794  }
2795  else if (skip)
2796  ;
2797  else if (dynamic_cast<TObjString *>(obj.get()))
2798  {
2799  delayed.push_back(obj.release());
2800  }
2801  else
2802  {
2803  if (verbose_ > 2)
2804  std::cout << "DQMStore: reading object '" << obj->GetName()
2805  << "' of type '" << obj->IsA()->GetName()
2806  << "' from '" << file->GetName()
2807  << "' into '" << dirpart << "'\n";
2808 
2809  makeDirectory(dirpart);
2810  if (extract(obj.get(), dirpart, overwrite, collateHistograms_))
2811  ++count;
2812  }
2813  }
2814 
2815  while (! delayed.empty())
2816  {
2817  if (verbose_ > 2)
2818  std::cout << "DQMStore: reading object '" << delayed.front()->GetName()
2819  << "' of type '" << delayed.front()->IsA()->GetName()
2820  << "' from '" << file->GetName()
2821  << "' into '" << dirpart << "'\n";
2822 
2823  makeDirectory(dirpart);
2824  if (extract(delayed.front(), dirpart, overwrite, collateHistograms_))
2825  ++count;
2826 
2827  delete delayed.front();
2828  delayed.pop_front();
2829  }
2830 
2831  if (verbose_ > 1)
2832  std::cout << "DQMStore: read " << count << '/' << ntot
2833  << " objects from directory '" << dirpart << "'\n";
2834 
2835  return ntot + count;
2836 }
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:681
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:2690
bool extract(TObject *obj, const std::string &dir, bool overwrite, bool collateHistograms)
Definition: DQMStore.cc:2029
list key
Definition: combine.py:13
tuple cout
Definition: gather_cfg.py:121
bool collateHistograms_
Definition: DQMStore.h:685
void makeDirectory(const std::string &path)
Definition: DQMStore.cc:679
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 2887 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().

2893 {
2894 
2895  if (verbose_)
2896  std::cout << "DQMStore::readFile: reading from file '" << filename << "'\n";
2897 
2898  std::auto_ptr<TFile> f;
2899 
2900  try
2901  {
2902  f.reset(TFile::Open(filename.c_str()));
2903  if (! f.get() || f->IsZombie())
2904  raiseDQMError("DQMStore", "Failed to open file '%s'", filename.c_str());
2905  }
2906  catch (std::exception &)
2907  {
2908  if (fileMustExist)
2909  throw;
2910  else
2911  {
2912  if (verbose_)
2913  std::cout << "DQMStore::readFile: file '" << filename << "' does not exist, continuing\n";
2914  return false;
2915  }
2916  }
2917 
2918  unsigned n = readDirectory(f.get(), overwrite, onlypath, prepend, "", stripdirs);
2919  f->Close();
2920 
2921  MEMap::iterator mi = data_.begin();
2922  MEMap::iterator me = data_.end();
2923  for ( ; mi != me; ++mi)
2924  const_cast<MonitorElement &>(*mi).updateQReportStats();
2925 
2926  if (verbose_)
2927  {
2928  std::cout << "DQMStore::open: successfully read " << n
2929  << " objects from file '" << filename << "'";
2930  if (! onlypath.empty())
2931  std::cout << " from directory '" << onlypath << "'";
2932  if (! prepend.empty())
2933  std::cout << " into directory '" << prepend << "'";
2934  std::cout << std::endl;
2935  }
2936  return true;
2937 }
double f[11][100]
unsigned verbose_
Definition: DQMStore.h:681
MEMap data_
Definition: DQMStore.h:695
unsigned int readDirectory(TFile *file, bool overwrite, const std::string &path, const std::string &prepend, const std::string &curdir, OpenRunDirs stripdirs)
Definition: DQMStore.cc:2690
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 2971 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().

2977 {
2978  using google::protobuf::io::FileInputStream;
2979  using google::protobuf::io::FileOutputStream;
2980  using google::protobuf::io::GzipInputStream;
2981  using google::protobuf::io::GzipOutputStream;
2982  using google::protobuf::io::CodedInputStream;
2983  using google::protobuf::io::ArrayInputStream;
2984 
2985  if (verbose_)
2986  std::cout << "DQMStore::readFile: reading from file '" << filename << "'\n";
2987 
2988  int filedescriptor;
2989  if ((filedescriptor = ::open(filename.c_str(), O_RDONLY)) == -1) {
2990  if (fileMustExist)
2991  raiseDQMError("DQMStore", "Failed to open file '%s'", filename.c_str());
2992  else
2993  if (verbose_)
2994  std::cout << "DQMStore::readFile: file '" << filename << "' does not exist, continuing\n";
2995  return false;
2996  }
2997 
2998  dqmstorepb::ROOTFilePB dqmstore_message;
2999  FileInputStream fin(filedescriptor);
3000  GzipInputStream input(&fin);
3001  CodedInputStream input_coded(&input);
3002  input_coded.SetTotalBytesLimit(1024*1024*1024, -1);
3003  if (!dqmstore_message.ParseFromCodedStream(&input_coded)) {
3004  raiseDQMError("DQMStore", "Fatal parsing file '%s'", filename.c_str());
3005  return false;
3006  }
3007 
3008  for (int i = 0; i < dqmstore_message.histo_size(); i++) {
3009  std::string path;
3010  std::string objname;
3011 
3012  TObject *obj = NULL;
3013  const dqmstorepb::ROOTFilePB::Histo &h = dqmstore_message.histo(i);
3014  get_info(h, path, objname, &obj);
3015 
3016  setCurrentFolder(path);
3017  if (obj)
3018  {
3019  /* Before calling the extract() check if histogram exists:
3020  * if it does - flags for the given monitor are already set (and merged)
3021  * else - set the flags after the histogram is created.
3022  */
3023  MonitorElement *me = findObject(path, objname);
3024 
3025  /* Run histograms should be collated and not overwritten,
3026  * Lumi histograms should be overwritten (and collate flag is not checked)
3027  */
3028  bool overwrite = h.flags() & DQMNet::DQM_PROP_LUMI;
3029  bool collate = !(h.flags() & DQMNet::DQM_PROP_LUMI);
3030  extract(static_cast<TObject *>(obj), path, overwrite, collate);
3031 
3032  if (me == nullptr) {
3033  me = findObject(path, objname);
3034  me->data_.flags = h.flags();
3035  }
3036 
3037  delete obj;
3038  }
3039  }
3040 
3041  cd();
3042  return true;
3043 }
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:1826
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:632
uint32_t flags
Definition: DQMNet.h:97
#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:2950
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:681
bool extract(TObject *obj, const std::string &dir, bool overwrite, bool collateHistograms)
Definition: DQMStore.cc:2029
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:2845
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:655
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 3071 of file DQMStore.cc.

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

3072 {
3073  MonitorElement proto(&dir, std::string());
3074  MEMap::iterator e = data_.end();
3075  MEMap::iterator i = data_.lower_bound(proto);
3076  while (i != e && isSubdirectory(dir, *i->data_.dirname))
3077  if (dir == *i->data_.dirname)
3078  data_.erase(i++);
3079  else
3080  ++i;
3081 }
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:695
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 3101 of file DQMStore.cc.

References gather_cfg::cout, and data_.

3102 {
3103  MonitorElement proto(&dir, name);
3104  MEMap::iterator pos = data_.find(proto);
3105  if (pos == data_.end() && warning)
3106  std::cout << "DQMStore: WARNING: attempt to remove non-existent"
3107  << " monitor element '" << name << "' in '" << dir << "'\n";
3108  else
3109  data_.erase(pos);
3110 }
MEMap data_
Definition: DQMStore.h:695
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 1983 of file DQMStore.cc.

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

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

1984 {
1985  MEMap::iterator mi = data_.begin();
1986  MEMap::iterator me = data_.end();
1987  for ( ; mi != me; ++mi)
1988  {
1989  MonitorElement &me = const_cast<MonitorElement &>(*mi);
1990  if (mi->wasUpdated())
1991  {
1992  if (me.resetMe())
1993  me.Reset();
1994  me.resetUpdate();
1995  }
1996  }
1997 
1998  reset_ = true;
1999 }
void resetUpdate(void)
reset &quot;was updated&quot; flag
bool reset_
Definition: DQMStore.h:683
MEMap data_
Definition: DQMStore.h:695
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 3051 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().

3052 {
3054  const std::string *cleaned = 0;
3055  cleanTrailingSlashes(path, clean, cleaned);
3056  MonitorElement proto(cleaned, std::string());
3057 
3058  MEMap::iterator e = data_.end();
3059  MEMap::iterator i = data_.lower_bound(proto);
3060  while (i != e && isSubdirectory(*cleaned, *i->data_.dirname))
3061  data_.erase(i++);
3062 
3063  std::set<std::string>::iterator de = dirs_.end();
3064  std::set<std::string>::iterator di = dirs_.lower_bound(*cleaned);
3065  while (di != de && isSubdirectory(*cleaned, *di))
3066  dirs_.erase(di++);
3067 }
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:695
std::set< std::string > dirs_
Definition: DQMStore.h:696
void DQMStore::runQTests ( void  )

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

Definition at line 3203 of file DQMStore.cc.

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

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

3204 {
3205 
3206  if (verbose_ > 0)
3207  std::cout << "DQMStore: running runQTests() with reset = "
3208  << ( reset_ ? "true" : "false" ) << std::endl;
3209 
3210  // Apply quality tests to each monitor element, skipping references.
3211  MEMap::iterator mi = data_.begin();
3212  MEMap::iterator me = data_.end();
3213  for ( ; mi != me; ++mi)
3214  if (! isSubdirectory(s_referenceDirName, *mi->data_.dirname))
3215  const_cast<MonitorElement &>(*mi).runQTests();
3216 
3217  reset_ = false;
3218 }
void runQTests(void)
run all quality tests
bool reset_
Definition: DQMStore.h:683
static bool isSubdirectory(const std::string &ofdir, const std::string &path)
Definition: DQMStore.cc:68
unsigned verbose_
Definition: DQMStore.h:681
MEMap data_
Definition: DQMStore.h:695
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 2490 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, 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().

2500 {
2501  std::set<std::string>::iterator di, de;
2502  MEMap::iterator mi, me = data_.end();
2503  DQMNet::QReports::const_iterator qi, qe;
2504  int nme=0;
2505 
2506  // TFile flushes to disk with fsync() on every TDirectory written to
2507  // the file. This makes DQM file saving painfully slow, and
2508  // ironically makes it _more_ likely the file saving gets
2509  // interrupted and corrupts the file. The utility class below
2510  // simply ignores the flush synchronisation.
2511  class TFileNoSync : public TFile
2512  {
2513  public:
2514  TFileNoSync(const char *file, const char *opt) : TFile(file, opt) {}
2515  virtual Int_t SysSync(Int_t) override { return 0; }
2516  };
2517 
2518  // open output file, on 1st save recreate, later update
2519  if (verbose_)
2520  std::cout << "\n DQMStore: Opening TFile '" << filename
2521  << "' with option '" << fileupdate <<"'\n";
2522 
2523  TFileNoSync f(filename.c_str(), fileupdate.c_str()); // open file
2524  if(f.IsZombie())
2525  raiseDQMError("DQMStore", "Failed to create/update file '%s'", filename.c_str());
2526  f.cd();
2527 
2528  // Construct a regular expression from the pattern string.
2529  std::auto_ptr<lat::Regexp> rxpat;
2530  if (! pattern.empty())
2531  rxpat.reset(new lat::Regexp(pattern.c_str()));
2532 
2533  // Prepare a path for the reference object selection.
2534  std::string refpath;
2535  refpath.reserve(s_referenceDirName.size() + path.size() + 2);
2536  refpath += s_referenceDirName;
2537  if (! path.empty())
2538  {
2539  refpath += '/';
2540  refpath += path;
2541  }
2542 
2543  // Loop over the directory structure.
2544  for (di = dirs_.begin(), de = dirs_.end(); di != de; ++di)
2545  {
2546  // Check if we should process this directory. We process the
2547  // requested part of the object tree, including references.
2548  if (! path.empty()
2549  && ! isSubdirectory(path, *di)
2550  && ! isSubdirectory(refpath, *di))
2551  continue;
2552 
2553  // Loop over monitor elements in this directory.
2554  MonitorElement proto(&*di, std::string(), run, 0, 0);
2555  if (enableMultiThread_)
2556  proto.setLumi(lumi);
2557 
2558  mi = data_.lower_bound(proto);
2559  for ( ; mi != me && isSubdirectory(*di, *mi->data_.dirname); ++mi)
2560  {
2561  if (verbose_ > 1)
2562  std::cout << "DQMStore::save: Run: " << (*mi).run()
2563  << " Lumi: " << (*mi).lumi()
2564  << " LumiFlag: " << (*mi).getLumiFlag()
2565  << " streamId: " << (*mi).streamId()
2566  << " moduleId: " << (*mi).moduleId()
2567  << " fullpathname: " << (*mi).getFullname() << std::endl;
2568 
2569  // Upper bound in the loop over the MEs
2570  if (enableMultiThread_ && ((*mi).lumi() != lumi))
2571  break;
2572 
2573  // Skip if it isn't a direct child.
2574  if (*di != *mi->data_.dirname) {
2575  if (verbose_ > 1)
2576  std::cout << "DQMStore::save: isn't a direct child. Skipping" << std::endl;
2577  continue;
2578  }
2579 
2580  // Keep backward compatibility with the old way of
2581  // booking/handlind MonitorElements into the DQMStore. If run is
2582  // 0 it means that a booking happened w/ the old non-threadsafe
2583  // style, and we have to ignore the streamId and moduleId as a
2584  // consequence.
2585 
2586  if (run != 0 && (mi->data_.streamId !=0 || mi->data_.moduleId !=0)) {
2587  continue;
2588  }
2589 
2590  // Handle reference histograms, with three distinct cases:
2591  // 1) Skip all references entirely on saving.
2592  // 2) Blanket saving of all references.
2593  // 3) Save only references for monitor elements with qtests.
2594  // The latter two are affected by "path" sub-tree selection,
2595  // i.e. references are saved only in the selected tree part.
2596  if (isSubdirectory(refpath, *mi->data_.dirname))
2597  {
2598  if (ref == SaveWithoutReference)
2599  // Skip the reference entirely.
2600  continue;
2601  else if (ref == SaveWithReference)
2602  // Save all references regardless of qtests.
2603  ;
2604  else if (ref == SaveWithReferenceForQTest)
2605  {
2606  // Save only references for monitor elements with qtests
2607  // with an optional cut on minimum quality test result.
2608  int status = -1;
2609  std::string mname(mi->getFullname(), s_referenceDirName.size()+1, std::string::npos);
2610  MonitorElement *master = get(mname);
2611  if (master)
2612  for (size_t i = 0, e = master->data_.qreports.size(); i != e; ++i)
2613  status = std::max(status, master->data_.qreports[i].code);
2614 
2615  if (! master || status < minStatus)
2616  {
2617  if (verbose_ > 1)
2618  std::cout << "DQMStore::save: skipping monitor element '"
2619  << mi->data_.objname << "' while saving, status is "
2620  << status << ", required minimum status is "
2621  << minStatus << std::endl;
2622  continue;
2623  }
2624  }
2625  }
2626 
2627  if (verbose_ > 1)
2628  std::cout << "DQMStore::save: saving monitor element '"
2629  << mi->data_.objname << "'\n";
2630  nme++; // count saved histograms
2631 
2632  // Create the directory.
2633  gDirectory->cd("/");
2634  if (di->empty())
2636  else if (rxpat.get())
2637  cdInto(s_monitorDirName + '/' + lat::StringOps::replace(*di, *rxpat, rewrite));
2638  else
2639  cdInto(s_monitorDirName + '/' + *di);
2640 
2641  // Save the object.
2642  switch (mi->kind())
2643  {
2647  TObjString(mi->tagString().c_str()).Write();
2648  break;
2649 
2650  default:
2651  mi->object_->Write();
2652  break;
2653  }
2654 
2655  // Save quality reports if this is not in reference section.
2656  if (! isSubdirectory(s_referenceDirName, *mi->data_.dirname))
2657  {
2658  qi = mi->data_.qreports.begin();
2659  qe = mi->data_.qreports.end();
2660  for ( ; qi != qe; ++qi)
2661  TObjString(mi->qualityTagString(*qi).c_str()).Write();
2662  }
2663 
2664  // Save efficiency tag, if any
2665  if (mi->data_.flags & DQMNet::DQM_PROP_EFFICIENCY_PLOT)
2666  TObjString(mi->effLabelString().c_str()).Write();
2667 
2668  // Save tag if any
2669  if (mi->data_.flags & DQMNet::DQM_PROP_TAGGED)
2670  TObjString(mi->tagLabelString().c_str()).Write();
2671 
2672  //reset the ME just written to make it available for the next LS (online)
2673  if(resetMEsAfterWriting)
2674  const_cast<MonitorElement*>(&*mi)->Reset();
2675  }
2676  }
2677 
2678  f.Close();
2679 
2680  // Maybe make some noise.
2681  if (verbose_)
2682  std::cout << "DQMStore::save: successfully wrote " << nme
2683  << " objects from path '" << path
2684  << "' into DQM file '" << filename << "'\n";
2685 }
int i
Definition: DBlmapReader.cc:9
bool cdInto(const std::string &path) const
Definition: DQMStore.cc:2325
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.
const T & max(const T &a, const T &b)
double f[11][100]
unsigned verbose_
Definition: DQMStore.h:681
MEMap data_
Definition: DQMStore.h:695
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:696
bool enableMultiThread_
Definition: DQMStore.h:686
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 2367 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().

2372 {
2373  using google::protobuf::io::FileOutputStream;
2374  using google::protobuf::io::GzipOutputStream;
2375  using google::protobuf::io::StringOutputStream;
2376 
2377  std::set<std::string>::iterator di, de;
2378  MEMap::iterator mi, me = data_.end();
2379  dqmstorepb::ROOTFilePB dqmstore_message;
2380  int nme = 0;
2381 
2382  if (verbose_)
2383  std::cout << "\n DQMStore: Opening PBFile '"
2384  << filename << "'"<< std::endl;
2385 
2386  // Loop over the directory structure.
2387  for (di = dirs_.begin(), de = dirs_.end(); di != de; ++di)
2388  {
2389  // Check if we should process this directory. We process the
2390  // requested part of the object tree, including references.
2391  if (! path.empty()
2392  && ! isSubdirectory(path, *di))
2393  continue;
2394 
2395  // Loop over monitor elements in this directory.
2396  MonitorElement proto(&*di, std::string(), run, 0, 0);
2397  if (enableMultiThread_)
2398  proto.setLumi(lumi);
2399 
2400  mi = data_.lower_bound(proto);
2401  for ( ; mi != me && isSubdirectory(*di, *mi->data_.dirname); ++mi)
2402  {
2403  if (verbose_ > 1)
2404  std::cout << "Run: " << (*mi).run()
2405  << " Lumi: " << (*mi).lumi()
2406  << " LumiFlag: " << (*mi).getLumiFlag()
2407  << " streamId: " << (*mi).streamId()
2408  << " moduleId: " << (*mi).moduleId()
2409  << " fullpathname: " << (*mi).getFullname() << std::endl;
2410 
2411  // Upper bound in the loop over the MEs
2412  if (enableMultiThread_ && ((*mi).lumi() != lumi))
2413  break;
2414 
2415  // Skip if it isn't a direct child.
2416  if (*di != *mi->data_.dirname)
2417  continue;
2418 
2419  // Keep backward compatibility with the old way of
2420  // booking/handlind MonitorElements into the DQMStore. If run is
2421  // 0 it means that a booking happened w/ the old non-threadsafe
2422  // style, and we have to ignore the streamId and moduleId as a
2423  // consequence.
2424 
2425  if (run != 0 && (mi->data_.streamId !=0 || mi->data_.moduleId !=0))
2426  continue;
2427 
2428  if (verbose_ > 1)
2429  std::cout << "DQMStore::savePB: saving monitor element '"
2430  << *mi->data_.dirname << "/" << mi->data_.objname << "'"
2431  << "flags " << mi->data_.flags << "\n";
2432 
2433  nme++;
2434  dqmstorepb::ROOTFilePB::Histo* me = dqmstore_message.add_histo();
2435  me->set_full_pathname((*mi->data_.dirname) + '/' + mi->data_.objname);
2436  me->set_flags(mi->data_.flags);
2437 
2438  TObject *toWrite = nullptr;
2439  bool deleteObject = false;
2440 
2441  if (mi->kind() < MonitorElement::DQM_KIND_TH1F) {
2442  toWrite = new TObjString(mi->tagString().c_str());
2443  deleteObject = true;
2444  } else {
2445  toWrite = mi->object_;
2446  }
2447 
2448  TBufferFile buffer(TBufferFile::kWrite);
2449  buffer.WriteObject(toWrite);
2450  me->set_size(buffer.Length());
2451  me->set_streamed_histo((const void*)buffer.Buffer(),
2452  buffer.Length());
2453 
2454  if (deleteObject) {
2455  delete toWrite;
2456  }
2457 
2458  //reset the ME just written to make it available for the next LS (online)
2459  if (resetMEsAfterWriting)
2460  const_cast<MonitorElement*>(&*mi)->Reset();
2461  }
2462  }
2463 
2464  int filedescriptor = ::open(filename.c_str(),
2465  O_WRONLY | O_CREAT | O_TRUNC,
2466  S_IRUSR | S_IWUSR |
2467  S_IRGRP | S_IWGRP |
2468  S_IROTH);
2469  FileOutputStream file_stream(filedescriptor);
2471  options.format = GzipOutputStream::GZIP;
2472  options.compression_level = 6;
2473  GzipOutputStream gzip_stream(&file_stream,
2474  options);
2475  dqmstore_message.SerializeToZeroCopyStream(&gzip_stream);
2476 
2477  // Maybe make some noise.
2478  if (verbose_)
2479  std::cout << "DQMStore::savePB: successfully wrote " << nme
2480  << " objects from path '" << path
2481  << "' into DQM file '" << filename << "'\n";
2482 }
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:681
void set_size(::google::protobuf::uint32 value)
MEMap data_
Definition: DQMStore.h:695
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:2845
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:696
bool enableMultiThread_
Definition: DQMStore.h:686
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 3319 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_.

3320 {
3321  if (scaleFlag_ == 0.0) return;
3322  if (verbose_ > 0)
3323  std::cout << " =========== " << " ScaleFlag " << scaleFlag_ << std::endl;
3324  double factor = scaleFlag_;
3325  int events = 1;
3326  if (dirExists("Info/EventInfo")) {
3327  if ( scaleFlag_ == -1.0) {
3328  MonitorElement * scale_me = get("Info/EventInfo/ScaleFactor");
3329  if (scale_me && scale_me->kind()==MonitorElement::DQM_KIND_REAL) factor = scale_me->getFloatValue();
3330  }
3331  MonitorElement * event_me = get("Info/EventInfo/processedEvents");
3332  if (event_me && event_me->kind()==MonitorElement::DQM_KIND_INT) events = event_me->getIntValue();
3333  }
3334  factor = factor/(events*1.0);
3335 
3336  MEMap::iterator mi = data_.begin();
3337  MEMap::iterator me = data_.end();
3338  for ( ; mi != me; ++mi)
3339  {
3340  MonitorElement &me = const_cast<MonitorElement &>(*mi);
3341  switch (me.kind())
3342  {
3344  {
3345  me.getTH1F()->Scale(factor);
3346  break;
3347  }
3349  {
3350  me.getTH1S()->Scale(factor);
3351  break;
3352  }
3354  {
3355  me.getTH1D()->Scale(factor);
3356  break;
3357  }
3359  {
3360  me.getTH2F()->Scale(factor);
3361  break;
3362  }
3364  {
3365  me.getTH2S()->Scale(factor);
3366  break;
3367  }
3369  {
3370  me.getTH2D()->Scale(factor);
3371  break;
3372  }
3374  {
3375  me.getTH3F()->Scale(factor);
3376  break;
3377  }
3379  {
3380  me.getTProfile()->Scale(factor);
3381  break;
3382  }
3384  {
3385  me.getTProfile2D()->Scale(factor);
3386  break;
3387  }
3388  default:
3389  if (verbose_ > 0)
3390  std::cout << " The DQM object '" << me.getFullname() << "' is not scalable object " << std::endl;
3391  continue;
3392  }
3393  }
3394 }
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:684
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:720
unsigned verbose_
Definition: DQMStore.h:681
MEMap data_
Definition: DQMStore.h:695
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 3272 of file DQMStore.cc.

References MonitorElement::setAccumulate().

3273 {
3274  if (me)
3275  me->setAccumulate(flag);
3276 }
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 655 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(), EcalZmassClient::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(), HcalRecHitMonitor::cleanup(), HcalNoiseMonitor::cleanup(), HcalLSbyLSMonitor::cleanup(), HcalDataIntegrityTask::cleanup(), HcalHotCellMonitor::cleanup(), HcalBeamMonitor::cleanup(), HcalDeadCellMonitor::cleanup(), HcalDetDiagNoiseMonitor::cleanup(), HcalMonitorModule::cleanup(), HcalDigiMonitor::cleanup(), HcalDetDiagTimingMonitor::cleanup(), HcalDetDiagLEDMonitor::cleanup(), CastorBaseMonitor::clearME(), HcalEEUSMonitor::clearME(), HcalBaseMonitor::clearME(), L1GtHwValidation::compareDaqRecord(), L1GtHwValidation::compareFDL(), L1GtHwValidation::compareGTFE(), CommissioningHistograms::copyCustomInformation(), HcalTrigPrimMonitor::create_errorflag(), HcalTrigPrimMonitor::create_et_histogram(), HcalTrigPrimMonitor::create_fg_correlation(), HcalTrigPrimMonitor::create_map(), HcalTrigPrimMonitor::create_summary(), HcalTrigPrimMonitor::create_tp_correlation(), SiStripCommissioningSource::createCablingTasks(), PFClient_JetRes::createEfficiencyPlots(), PFClient::createEfficiencyPlots(), CastorLEDMonitor::createFEDmap(), QcdUeDQM::createHistos(), QcdLowPtDQM::createHistos(), SiPixelActionExecutor::createMaps(), PFClient::createProfilePlots(), PFClient::createProjectionPlots(), PFClient_JetRes::createResolutionPlots(), PFClient::createResolutionPlots(), SiStripCommissioningSource::createRunNumber(), SiPixelActionExecutor::createSummary(), SiStripCommissioningSource::createTask(), SiStripCommissioningSource::createTasks(), CSCDigiValidation::CSCDigiValidation(), CSCRecHit2DValidation::CSCRecHit2DValidation(), CSCSegmentValidation::CSCSegmentValidation(), Digi2Raw2Digi::Digi2Raw2Digi(), dqmCopyRecursively(), DTGlobalRecoTask::DTGlobalRecoTask(), DTnoiseDBValidation::DTnoiseDBValidation(), DTt0DBValidation::DTt0DBValidation(), DTTriggerCheck::DTTriggerCheck(), DTtTrigDBValidation::DTtTrigDBValidation(), EgHLTOfflineClient::EgHLTOfflineClient(), ElectronDqmAnalyzerBase::endJob(), HarvestingAnalyzer::endJob(), BTagValidator::endJob(), PhotonAnalyzer::endJob(), ZToMuMuGammaAnalyzer::endJob(), ElectronDqmAnalyzerBase::endLuminosityBlock(), HcalLSbyLSMonitor::endLuminosityBlock(), HcalDAQInfo::endLuminosityBlock(), HLTScalersClient::endLuminosityBlock(), HltSusyExoPostProcessor::endRun(), RPCDcsInfoClient::endRun(), ElectronDqmAnalyzerBase::endRun(), RPCRecHitValidClient::endRun(), DQMGenericTnPClient::endRun(), AlcaBeamMonitorClient::endRun(), DQMDcsInfoClient::endRun(), TauDQMHistEffProducer::endRun(), HLTTauCertifier::endRun(), TauDQMFileLoader::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_(), HcalRecHitsClient::runClient_(), HcalRecHitsDQMClient::runClient_(), CaloTowersDQMClient::runClient_(), NoiseRatesClient::runClient_(), CaloTowersClient::runClient_(), HcalNoiseRatesClient::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(), HcalZDCMonitor::setup(), HcalCaloTowerMonitor::setup(), HcalRecHitMonitor::setup(), HcalNoiseMonitor::setup(), HcalBeamMonitor::setup(), HcalLSbyLSMonitor::setup(), HcalDataIntegrityTask::setup(), HcalHotCellMonitor::setup(), HcalDeadCellMonitor::setup(), PFJetBenchmark::setup(), PFMETBenchmark::setup(), HcalDetDiagNoiseMonitor::setup(), PFTauElecRejectionBenchmark::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(), PFMETDQMAnalyzer::storeBadEvents(), PFCandidateDQMAnalyzer::storeBadEvents(), PFJetDQMAnalyzer::storeBadEvents(), TopElectronHLTOfflineClient::TopElectronHLTOfflineClient(), TriggerValidator::TriggerValidator(), TrigResRateMon::TrigResRateMon(), SubTaskSummaryStatus::WriteThreshold(), and ZDCMonitorModule::~ZDCMonitorModule().

656 {
658  const std::string *cleaned = 0;
659  cleanTrailingSlashes(fullpath, clean, cleaned);
660  makeDirectory(*cleaned);
661  pwd_ = *cleaned;
662 }
static void cleanTrailingSlashes(const std::string &path, std::string &clean, const std::string *&cleaned)
Definition: DQMStore.cc:78
std::string pwd_
Definition: DQMStore.h:694
std::vector< T * > clean
Definition: MVATrainer.cc:156
void makeDirectory(const std::string &path)
Definition: DQMStore.cc:679
void DQMStore::setVerbose ( unsigned  level)

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

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

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

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

3283 {
3284  std::vector<std::string> contents;
3285  getContents(contents);
3286 
3287  std::cout << " ------------------------------------------------------------\n"
3288  << " Directory structure: \n"
3289  << " ------------------------------------------------------------\n";
3290 
3291  std::copy(contents.begin(), contents.end(),
3292  std::ostream_iterator<std::string>(std::cout, "\n"));
3293 
3294  std::cout << " ------------------------------------------------------------\n";
3295 }
std::vector< MonitorElement * > getContents(const std::string &path) const
Definition: DQMStore.cc:1725
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 3255 of file DQMStore.cc.

References MonitorElement::softReset().

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

3256 {
3257  if (me)
3258  me->softReset();
3259 }
void softReset(void)
void DQMStore::tag ( MonitorElement me,
unsigned int  myTag 
)

tag ME as <myTag> (myTag > 0)

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

1583 {
1584  if (! myTag)
1585  raiseDQMError("DQMStore", "Attempt to tag monitor element '%s'"
1586  " with a zero tag", me->getFullname().c_str());
1587  if ((me->data_.flags & DQMNet::DQM_PROP_TAGGED) && myTag != me->data_.tag)
1588  raiseDQMError("DQMStore", "Attempt to tag monitor element '%s'"
1589  " twice with multiple tags", me->getFullname().c_str());
1590 
1591  me->data_.tag = myTag;
1593 }
uint32_t flags
Definition: DQMNet.h:97
static const uint32_t DQM_PROP_TAGGED
Definition: DQMNet.h:54
uint32_t tag
Definition: DQMNet.h:98
const std::string getFullname(void) const
get full name of ME including Pathname
DQMNet::CoreObject data_
void raiseDQMError(const char *context, const char *fmt,...)
Definition: DQMError.cc:11
void DQMStore::tag ( const std::string &  path,
unsigned int  myTag 
)

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

Definition at line 1597 of file DQMStore.cc.

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

Referenced by Inspector.Inspector::SetTag().

1598 {
1599  std::string dir;
1600  std::string name;
1601  splitPath(dir, name, path);
1602 
1603  if (MonitorElement *me = findObject(dir, name))
1604  tag(me, myTag);
1605  else
1606  raiseDQMError("DQMStore", "Attempt to tag non-existent monitor element"
1607  " '%s' with tag %u", path.c_str(), myTag);
1608 
1609 }
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:1826
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:1582
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 1625 of file DQMStore.cc.

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

1626 {
1628  const std::string *cleaned = 0;
1629  cleanTrailingSlashes(path, clean, cleaned);
1630  MonitorElement proto(cleaned, std::string());
1631 
1632  // FIXME: WILDCARDS? Old one supported them, but nobody seemed to use them.
1633  MEMap::iterator e = data_.end();
1634  MEMap::iterator i = data_.lower_bound(proto);
1635  while (i != e && isSubdirectory(*cleaned, *i->data_.dirname))
1636  {
1637  tag(const_cast<MonitorElement *>(&*i), myTag);
1638  ++i;
1639  }
1640 }
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:1582
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:695
void DQMStore::tagContents ( const std::string &  path,
unsigned int  myTag 
)

tag all children of folder (does NOT include subfolders)

Definition at line 1613 of file DQMStore.cc.

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

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

1614 {
1615  MonitorElement proto(&path, std::string());
1616  MEMap::iterator e = data_.end();
1617  MEMap::iterator i = data_.lower_bound(proto);
1618  for ( ; i != e && path == *i->data_.dirname; ++i)
1619  tag(const_cast<MonitorElement *>(&*i), myTag);
1620 }
int i
Definition: DBlmapReader.cc:9
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1582
tuple path
else: Piece not in the list, fine.
MEMap data_
Definition: DQMStore.h:695
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 3150 of file DQMStore.cc.

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

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

3151 {
3152  // Clean the path
3154  const std::string *cleaned = 0;
3155  cleanTrailingSlashes(dir, clean, cleaned);
3156 
3157  // Validate the path.
3158  if (cleaned->find_first_not_of(s_safe) != std::string::npos)
3159  raiseDQMError("DQMStore", "Monitor element path name '%s'"
3160  " uses unacceptable characters", cleaned->c_str());
3161 
3162  // Redirect to the pattern match version.
3163  useQTestByMatch(*cleaned + "/*", qtname);
3164 }
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:3168
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 3168 of file DQMStore.cc.

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

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

3169 {
3170  QCriterion *qc = getQCriterion(qtname);
3171  if (! qc)
3172  raiseDQMError("DQMStore", "Cannot apply non-existent quality test '%s'",
3173  qtname.c_str());
3174 
3175  fastmatch * fm = new fastmatch( pattern );
3176 
3177  // Record the test for future reference.
3178  QTestSpec qts(fm, qc);
3179  qtestspecs_.push_back(qts);
3180 
3181  // Apply the quality test.
3182  MEMap::iterator mi = data_.begin();
3183  MEMap::iterator me = data_.end();
3184  std::string path;
3185  int cases = 0;
3186  for ( ; mi != me; ++mi)
3187  {
3188  path.clear();
3189  mergePath(path, *mi->data_.dirname, mi->data_.objname);
3190  if (fm->match(path))
3191  {
3192  ++cases;
3193  const_cast<MonitorElement &>(*mi).addQReport(qts.second);
3194  }
3195  }
3196 
3197  //return the number of matched cases
3198  return cases;
3199 }
QCriterion * getQCriterion(const std::string &qtname) const
Definition: DQMStore.cc:3118
std::pair< fastmatch *, QCriterion * > QTestSpec
Definition: DQMStore.h:675
static void mergePath(std::string &path, const std::string &dir, const std::string &name)
Definition: DQMStore.cc:108
QTestSpecs qtestspecs_
Definition: DQMStore.h:700
tuple path
else: Piece not in the list, fine.
MEMap data_
Definition: DQMStore.h:695
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 709 of file DQMStore.h.

friend class DQMFileSaver
friend

Definition at line 712 of file DQMStore.h.

friend class DQMNet
friend

Definition at line 708 of file DQMStore.h.

friend class DQMRootOutputModule
friend

Definition at line 711 of file DQMStore.h.

friend class DQMService
friend

Definition at line 707 of file DQMStore.h.

friend class DQMStoreExample
friend

Definition at line 710 of file DQMStore.h.

friend class edm::DQMHttpSource
friend

Definition at line 706 of file DQMStore.h.

friend class MEtoEDMConverter
friend

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

Referenced by DQMStore(), and forceReset().

IBooker* DQMStore::ibooker_
private

Definition at line 703 of file DQMStore.h.

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

IGetter* DQMStore::igetter_
private

Definition at line 704 of file DQMStore.h.

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

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

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

Referenced by createQTest(), and initializeFrom().

DQMStore::qtests_
private

All the quality tests.

Definition at line 698 of file DQMStore.h.

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

QTestSpecs DQMStore::qtestspecs_
private

Definition at line 700 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 689 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 683 of file DQMStore.h.

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

uint32_t DQMStore::run_
private

Definition at line 690 of file DQMStore.h.

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

double DQMStore::scaleFlag_
private

Definition at line 684 of file DQMStore.h.

Referenced by initializeFrom(), and scaleElements().

uint32_t DQMStore::streamId_
private

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

Referenced by createQTest(), and initializeFrom().