CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
TrackerOfflineValidation::DirectoryWrapper Struct Reference

Public Member Functions

 DirectoryWrapper (const DirectoryWrapper &upDir, const std::string &newDir, const std::string &basedir, bool useDqmMode)
 
 DirectoryWrapper (const std::string &newDir, const std::string &basedir, bool useDqmMode)
 
template<typename T >
TH1 * make (const char *name, const char *title, int nBinX, double minBinX, double maxBinX)
 
template<typename T >
TH1 * make (const char *name, const char *title, int nBinX, double *xBins)
 
template<typename T >
TH1 * make (const char *name, const char *title, int nBinX, double minBinX, double maxBinX, int nBinY, double minBinY, double maxBinY)
 
template<typename T >
TH1 * make (const char *name, const char *title, int nBinX, double minBinX, double maxBinX, double minBinY, double maxBinY)
 
template<>
TH1 * make (const char *name, const char *title, int nBinX, double minBinX, double maxBinX)
 
template<>
TH1 * make (const char *name, const char *title, int nBinX, double *xBins)
 
template<>
TH1 * make (const char *name, const char *title, int nBinX, double minBinX, double maxBinX)
 
template<>
TH1 * make (const char *name, const char *title, int nbinX, double minX, double maxX, double minY, double maxY)
 
template<>
TH1 * make (const char *name, const char *title, int nBinX, double minBinX, double maxBinX, int nBinY, double minBinY, double maxBinY)
 

Public Attributes

std::string directoryString
 
const bool dqmMode
 
std::unique_ptr< TFileDirectorytfd
 
DQMStoretheDbe
 

Detailed Description

Definition at line 164 of file TrackerOfflineValidation.cc.

Constructor & Destructor Documentation

◆ DirectoryWrapper() [1/2]

TrackerOfflineValidation::DirectoryWrapper::DirectoryWrapper ( const DirectoryWrapper upDir,
const std::string &  newDir,
const std::string &  basedir,
bool  useDqmMode 
)
inline

Definition at line 165 of file TrackerOfflineValidation.cc.

References directoryString, dqmMode, Utilities::operator, tfd, and theDbe.

169  : tfd(nullptr), dqmMode(useDqmMode), theDbe(nullptr) {
170  if (newDir.length() != 0) {
171  if (upDir.directoryString.length() != 0)
172  directoryString = upDir.directoryString + "/" + newDir;
173  else
174  directoryString = newDir;
175  } else
176  directoryString = upDir.directoryString;
177 
178  if (!dqmMode) {
179  if (newDir.length() == 0)
180  tfd.reset(&(*upDir.tfd));
181  else
182  tfd = std::make_unique<TFileDirectory>(upDir.tfd->mkdir(newDir));
183  } else {
185  }
186  }

◆ DirectoryWrapper() [2/2]

TrackerOfflineValidation::DirectoryWrapper::DirectoryWrapper ( const std::string &  newDir,
const std::string &  basedir,
bool  useDqmMode 
)
inline

Definition at line 188 of file TrackerOfflineValidation.cc.

References mkLumiAveragedPlots::basedir, directoryString, dqmMode, compareTotals::fs, Utilities::operator, tfd, and theDbe.

189  : tfd(nullptr), dqmMode(useDqmMode), theDbe(nullptr) {
190  if (!dqmMode) {
192  if (newDir.length() == 0) {
193  tfd = std::make_unique<TFileDirectory>(fs->tFileDirectory());
194  } else {
195  tfd = std::make_unique<TFileDirectory>(fs->mkdir(newDir));
196  directoryString = newDir;
197  }
198  } else {
199  if (newDir.length() != 0) {
200  if (basedir.length() != 0)
201  directoryString = basedir + "/" + newDir;
202  else
203  directoryString = newDir;
204  } else
207  }
208  }

Member Function Documentation

◆ make() [1/9]

template<typename T >
TH1* TrackerOfflineValidation::DirectoryWrapper::make ( const char *  name,
const char *  title,
int  nBinX,
double  minBinX,
double  maxBinX 
)

◆ make() [2/9]

template<typename T >
TH1* TrackerOfflineValidation::DirectoryWrapper::make ( const char *  name,
const char *  title,
int  nBinX,
double *  xBins 
)

◆ make() [3/9]

template<typename T >
TH1* TrackerOfflineValidation::DirectoryWrapper::make ( const char *  name,
const char *  title,
int  nBinX,
double  minBinX,
double  maxBinX,
int  nBinY,
double  minBinY,
double  maxBinY 
)

◆ make() [4/9]

template<typename T >
TH1* TrackerOfflineValidation::DirectoryWrapper::make ( const char *  name,
const char *  title,
int  nBinX,
double  minBinX,
double  maxBinX,
double  minBinY,
double  maxBinY 
)

◆ make() [5/9]

template<>
TH1* TrackerOfflineValidation::DirectoryWrapper::make ( const char *  name,
const char *  title,
int  nBinX,
double  minBinX,
double  maxBinX 
)

Definition at line 402 of file TrackerOfflineValidation.cc.

References Skims_PA_cff::name, anotherprimaryvertexanalyzer_cfi::nBinX, and runGCPTkAlMap::title.

403  {
404  if (dqmMode) {
406  return theDbe->book1D(name, title, nBinX, minBinX, maxBinX)->getTH1();
407  } else {
408  return tfd->make<TH1F>(name, title, nBinX, minBinX, maxBinX);
409  }
410 }
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:647
virtual TH1 * getTH1() const
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98

◆ make() [6/9]

template<>
TH1* TrackerOfflineValidation::DirectoryWrapper::make ( const char *  name,
const char *  title,
int  nBinX,
double *  xBins 
)

Definition at line 413 of file TrackerOfflineValidation.cc.

References Skims_PA_cff::name, anotherprimaryvertexanalyzer_cfi::nBinX, runGCPTkAlMap::title, and multiplicitycorr_cfi::xBins.

416  {
417  if (dqmMode) {
419  //DQM profile requires y-bins for construction... using TProfile creator by hand...
420  TProfile* tmpProfile = new TProfile(name, title, nBinX, xBins);
421  tmpProfile->SetDirectory(nullptr);
422  return theDbe->bookProfile(name, tmpProfile)->getTH1();
423  } else {
424  return tfd->make<TProfile>(name, title, nBinX, xBins);
425  }
426 }
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:647
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:399
virtual TH1 * getTH1() const

◆ make() [7/9]

template<>
TH1* TrackerOfflineValidation::DirectoryWrapper::make ( const char *  name,
const char *  title,
int  nBinX,
double  minBinX,
double  maxBinX 
)

Definition at line 429 of file TrackerOfflineValidation.cc.

References Skims_PA_cff::name, anotherprimaryvertexanalyzer_cfi::nBinX, and runGCPTkAlMap::title.

430  {
431  if (dqmMode) {
433  //DQM profile requires y-bins for construction... using TProfile creator by hand...
434  TProfile* tmpProfile = new TProfile(name, title, nBinX, minBinX, maxBinX);
435  tmpProfile->SetDirectory(nullptr);
436  return theDbe->bookProfile(name, tmpProfile)->getTH1();
437  } else {
438  return tfd->make<TProfile>(name, title, nBinX, minBinX, maxBinX);
439  }
440 }
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:647
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:399
virtual TH1 * getTH1() const

◆ make() [8/9]

template<>
TH1* TrackerOfflineValidation::DirectoryWrapper::make ( const char *  name,
const char *  title,
int  nbinX,
double  minX,
double  maxX,
double  minY,
double  maxY 
)

Definition at line 443 of file TrackerOfflineValidation.cc.

References HGVHistoProducerAlgoBlock_cfi::maxX, HGVHistoProducerAlgoBlock_cfi::maxY, HGVHistoProducerAlgoBlock_cfi::minX, HGVHistoProducerAlgoBlock_cfi::minY, Skims_PA_cff::name, and runGCPTkAlMap::title.

444  {
445  if (dqmMode) {
447  int dummy(0); // DQMProfile wants Y channels... does not use them!
448  return (theDbe->bookProfile(name, title, nbinX, minX, maxX, dummy, minY, maxY)->getTH1());
449  } else {
450  return tfd->make<TProfile>(name, title, nbinX, minX, maxX, minY, maxY);
451  }
452 }
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:647
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:399
virtual TH1 * getTH1() const

◆ make() [9/9]

template<>
TH1* TrackerOfflineValidation::DirectoryWrapper::make ( const char *  name,
const char *  title,
int  nBinX,
double  minBinX,
double  maxBinX,
int  nBinY,
double  minBinY,
double  maxBinY 
)

Definition at line 455 of file TrackerOfflineValidation.cc.

References Skims_PA_cff::name, anotherprimaryvertexanalyzer_cfi::nBinX, anotherprimaryvertexanalyzer_cfi::nBinY, and runGCPTkAlMap::title.

462  {
463  if (dqmMode) {
465  return theDbe->book2D(name, title, nBinX, minBinX, maxBinX, nBinY, minBinY, maxBinY)->getTH1();
466  } else {
467  return tfd->make<TH2F>(name, title, nBinX, minBinX, maxBinX, nBinY, minBinY, maxBinY);
468  }
469 }
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:647
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:212
virtual TH1 * getTH1() const

Member Data Documentation

◆ directoryString

std::string TrackerOfflineValidation::DirectoryWrapper::directoryString

Definition at line 233 of file TrackerOfflineValidation.cc.

Referenced by DirectoryWrapper().

◆ dqmMode

const bool TrackerOfflineValidation::DirectoryWrapper::dqmMode

Definition at line 234 of file TrackerOfflineValidation.cc.

Referenced by DirectoryWrapper().

◆ tfd

std::unique_ptr<TFileDirectory> TrackerOfflineValidation::DirectoryWrapper::tfd

Definition at line 232 of file TrackerOfflineValidation.cc.

Referenced by DirectoryWrapper().

◆ theDbe

DQMStore* TrackerOfflineValidation::DirectoryWrapper::theDbe

Definition at line 235 of file TrackerOfflineValidation.cc.

Referenced by DirectoryWrapper().