CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
dqm::DQMFileSaverBase Class Reference

#include <DQMFileSaverBase.h>

Inheritance diagram for dqm::DQMFileSaverBase:
edm::global::EDAnalyzer< edm::RunCache< NoCache >, edm::LuminosityBlockCache< NoCache > > edm::global::EDAnalyzerBase edm::EDConsumerBase dqm::DQMFileSaverOnline dqm::DQMFileSaverPB

Classes

struct  FileParameters
 

Public Types

typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 
- Public Types inherited from edm::global::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

 DQMFileSaverBase (const edm::ParameterSet &ps)
 
 ~DQMFileSaverBase () override
 
- Public Member Functions inherited from edm::global::EDAnalyzer< edm::RunCache< NoCache >, edm::LuminosityBlockCache< NoCache > >
 EDAnalyzer ()=default
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsStreamLuminosityBlocks () const final
 
bool wantsStreamRuns () const final
 
- Public Member Functions inherited from edm::global::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescription (edm::ParameterSetDescription &d)
 
- Static Public Member Functions inherited from edm::global::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Protected Member Functions

void analyze (edm::StreamID, const edm::Event &e, const edm::EventSetup &) const final
 
std::shared_ptr< NoCacheglobalBeginLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &) const final
 
std::shared_ptr< NoCacheglobalBeginRun (const edm::Run &, const edm::EventSetup &) const final
 
void globalEndLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &) const final
 
void globalEndRun (const edm::Run &, const edm::EventSetup &) const final
 
virtual void initRun () const
 
void logFileAction (const std::string &msg, const std::string &fileName) const
 
void saveJobReport (const std::string &filename) const
 
virtual void saveLumi (const FileParameters &fp) const
 
virtual void saveRun (const FileParameters &fp) const
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Static Protected Member Functions

static const std::string filename (const FileParameters &fp, bool useLumi=false)
 

Protected Attributes

FileParameters initial_fp_
 
std::mutex initial_fp_lock_
 
int runNumber_
 

Detailed Description

Definition at line 23 of file DQMFileSaverBase.h.

Member Typedef Documentation

◆ DQMStore

Definition at line 26 of file DQMFileSaverBase.h.

◆ MonitorElement

Definition at line 25 of file DQMFileSaverBase.h.

Constructor & Destructor Documentation

◆ DQMFileSaverBase()

DQMFileSaverBase::DQMFileSaverBase ( const edm::ParameterSet ps)

Definition at line 28 of file DQMFileSaverBase.cc.

28  {
29  FileParameters fp;
30 
31  fp.path_ = ps.getUntrackedParameter<std::string>("path");
32  fp.producer_ = ps.getUntrackedParameter<std::string>("producer");
33  fp.run_ = 0;
34  fp.tag_ = ps.getUntrackedParameter<std::string>("tag");
35  fp.lumi_ = 0;
36  fp.version_ = 1;
37  fp.child_ = "";
38 
39  std::unique_lock<std::mutex> lck(initial_fp_lock_);
40  initial_fp_ = fp;
41 
42  runNumber_ = ps.getUntrackedParameter<int>("runNumber", 111);
43 
44  // This makes sure a file saver runs in a very end
45  consumesMany<DQMToken, edm::InLumi>();
46  consumesMany<DQMToken, edm::InRun>();
47 }

References personalPlayback::fp, edm::ParameterSet::getUntrackedParameter(), initial_fp_, initial_fp_lock_, runNumber_, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ~DQMFileSaverBase()

DQMFileSaverBase::~DQMFileSaverBase ( )
overridedefault

Member Function Documentation

◆ analyze()

void DQMFileSaverBase::analyze ( edm::StreamID  ,
const edm::Event e,
const edm::EventSetup  
) const
finalprotectedvirtual

Implements edm::global::EDAnalyzerBase.

Definition at line 62 of file DQMFileSaverBase.cc.

62  {
63  // not supported
64 }

◆ filename()

const std::string DQMFileSaverBase::filename ( const FileParameters fp,
bool  useLumi = false 
)
staticprotected

Definition at line 91 of file DQMFileSaverBase.cc.

91  {
92  char buf[256];
93  if (useLumi) {
94  snprintf(buf,
95  256,
96  "%s_V%04d_%s_R%09ld_L%09ld%s",
97  fp.producer_.c_str(),
98  fp.version_,
99  fp.tag_.c_str(),
100  fp.run_,
101  fp.lumi_,
102  fp.child_.c_str());
103  } else {
104  snprintf(buf,
105  256,
106  "%s_V%04d_%s_R%09ld%s",
107  fp.producer_.c_str(),
108  fp.version_,
109  fp.tag_.c_str(),
110  fp.run_,
111  fp.child_.c_str());
112  }
113  buf[255] = 0;
114 
115  namespace fs = boost::filesystem;
116  fs::path path(fp.path_);
117  fs::path file(buf);
118 
119  return (path / file).string();
120 }

References visDQMUpload::buf, FrontierConditions_GlobalTag_cff::file, personalPlayback::fp, and castor_dqm_sourceclient_file_cfg::path.

Referenced by dqm::DQMFileSaverOnline::fillOrigin(), dqm::DQMFileSaverOnline::makeSnapshot(), saveJobReport(), and dqm::DQMFileSaverPB::savePB().

◆ fillDescription()

void DQMFileSaverBase::fillDescription ( edm::ParameterSetDescription d)
static

Definition at line 138 of file DQMFileSaverBase.cc.

138  {
139  desc.addUntracked<std::string>("tag", "UNKNOWN")->setComment("File tag, DQM_V000_<TAG>*, usually a subsytem name.");
140 
141  desc.addUntracked<std::string>("producer", "DQM")
142  ->setComment("Base prefix for files, <BASE>_V000_**, either 'DQM' or 'Playback'.");
143 
144  desc.addUntracked<std::string>("referenceHandling", "all")->setComment("saveReference_, passed to the DQMStore");
145 
146  desc.addUntracked<int>("referenceRequireStatus", dqm::qstatus::STATUS_OK)
147  ->setComment("saveReference_, passed to the DQMStore");
148 
149  desc.addUntracked<std::string>("path", "./")->setComment("Output path prefix.");
150 
151  desc.addUntracked<int>("runNumber", 111)
152  ->setComment("Run number passed in the configuration. Will appear in output file names.");
153 }

References edm::ParameterSetDescription::addUntracked(), dqm::qstatus::STATUS_OK, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by dqm::DQMFileSaverPB::fillDescriptions(), and dqm::DQMFileSaverOnline::fillDescriptions().

◆ globalBeginLuminosityBlock()

std::shared_ptr< NoCache > DQMFileSaverBase::globalBeginLuminosityBlock ( const edm::LuminosityBlock l,
const edm::EventSetup  
) const
finalprotected

Definition at line 57 of file DQMFileSaverBase.cc.

58  {
59  return nullptr;
60 }

◆ globalBeginRun()

std::shared_ptr< NoCache > DQMFileSaverBase::globalBeginRun ( const edm::Run r,
const edm::EventSetup  
) const
finalprotected

Definition at line 51 of file DQMFileSaverBase.cc.

51  {
52  this->initRun();
53 
54  return nullptr;
55 }

References initRun().

◆ globalEndLuminosityBlock()

void DQMFileSaverBase::globalEndLuminosityBlock ( const edm::LuminosityBlock iLS,
const edm::EventSetup  
) const
finalprotected

Definition at line 66 of file DQMFileSaverBase.cc.

66  {
67  int ilumi = iLS.id().luminosityBlock();
68  int irun = iLS.id().run();
69 
70  std::unique_lock<std::mutex> lck(initial_fp_lock_);
71  FileParameters fp = initial_fp_;
72  lck.unlock();
73 
74  fp.lumi_ = ilumi;
75  fp.run_ = runNumber_ == 111 ? irun : runNumber_;
76 
77  this->saveLumi(fp);
78 }

References personalPlayback::fp, edm::LuminosityBlockBase::id(), initial_fp_, initial_fp_lock_, edm::LuminosityBlockID::luminosityBlock(), edm::LuminosityBlockID::run(), runNumber_, and saveLumi().

◆ globalEndRun()

void DQMFileSaverBase::globalEndRun ( const edm::Run iRun,
const edm::EventSetup  
) const
finalprotected

Definition at line 80 of file DQMFileSaverBase.cc.

80  {
81  std::unique_lock<std::mutex> lck(initial_fp_lock_);
82  FileParameters fp = initial_fp_;
83  lck.unlock();
84 
85  fp.run_ = runNumber_ == 111 ? iRun.id().run() : runNumber_;
86 
87  // empty
88  this->saveRun(fp);
89 }

References personalPlayback::fp, edm::RunBase::id(), initial_fp_, initial_fp_lock_, edm::RunID::run(), runNumber_, and saveRun().

◆ initRun()

virtual void dqm::DQMFileSaverBase::initRun ( ) const
inlineprotectedvirtual

Reimplemented in dqm::DQMFileSaverPB.

Definition at line 59 of file DQMFileSaverBase.h.

59 {};

Referenced by globalBeginRun().

◆ logFileAction()

void DQMFileSaverBase::logFileAction ( const std::string &  msg,
const std::string &  fileName 
) const
protected

◆ saveJobReport()

void DQMFileSaverBase::saveJobReport ( const std::string &  filename) const
protected

Definition at line 122 of file DQMFileSaverBase.cc.

122  {
123  // Report the file to job report service.
125  if (jr.isAvailable()) {
126  std::map<std::string, std::string> info;
127  info["Source"] = "DQMStore";
128  info["FileClass"] = "DQM";
130  }
131 }

References filename(), info(), edm::Service< T >::isAvailable(), and edm::JobReport::reportAnalysisFile().

Referenced by dqm::DQMFileSaverOnline::makeSnapshot().

◆ saveLumi()

virtual void dqm::DQMFileSaverBase::saveLumi ( const FileParameters fp) const
inlineprotectedvirtual

Reimplemented in dqm::DQMFileSaverPB, and dqm::DQMFileSaverOnline.

Definition at line 60 of file DQMFileSaverBase.h.

60 {};

Referenced by globalEndLuminosityBlock().

◆ saveRun()

virtual void dqm::DQMFileSaverBase::saveRun ( const FileParameters fp) const
inlineprotectedvirtual

Reimplemented in dqm::DQMFileSaverPB, and dqm::DQMFileSaverOnline.

Definition at line 61 of file DQMFileSaverBase.h.

61 {};

Referenced by globalEndRun().

Member Data Documentation

◆ initial_fp_

FileParameters dqm::DQMFileSaverBase::initial_fp_
protected

Definition at line 71 of file DQMFileSaverBase.h.

Referenced by DQMFileSaverBase(), globalEndLuminosityBlock(), and globalEndRun().

◆ initial_fp_lock_

std::mutex dqm::DQMFileSaverBase::initial_fp_lock_
mutableprotected

Definition at line 70 of file DQMFileSaverBase.h.

Referenced by DQMFileSaverBase(), globalEndLuminosityBlock(), and globalEndRun().

◆ runNumber_

int dqm::DQMFileSaverBase::runNumber_
protected

Definition at line 72 of file DQMFileSaverBase.h.

Referenced by DQMFileSaverBase(), globalEndLuminosityBlock(), and globalEndRun().

edm::LogAbsolute
Definition: MessageLogger.h:469
edm::TimeOfDay
Definition: TimeOfDay.h:9
dqm::DQMFileSaverBase::saveLumi
virtual void saveLumi(const FileParameters &fp) const
Definition: DQMFileSaverBase.h:60
edm::RunID::run
RunNumber_t run() const
Definition: RunID.h:36
dqm::DQMFileSaverBase::filename
static const std::string filename(const FileParameters &fp, bool useLumi=false)
Definition: DQMFileSaverBase.cc:91
edm::JobReport::reportAnalysisFile
void reportAnalysisFile(std::string const &fileName, std::map< std::string, std::string > const &fileData)
Definition: JobReport.cc:473
info
static const TGPicture * info(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:152
personalPlayback.fp
fp
Definition: personalPlayback.py:523
mps_check.msg
tuple msg
Definition: mps_check.py:285
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
MillePedeFileConverter_cfg.fileName
fileName
Definition: MillePedeFileConverter_cfg.py:32
edm::Service::isAvailable
bool isAvailable() const
Definition: Service.h:40
dqm::DQMFileSaverBase::initRun
virtual void initRun() const
Definition: DQMFileSaverBase.h:59
dqm::DQMFileSaverBase::initial_fp_lock_
std::mutex initial_fp_lock_
Definition: DQMFileSaverBase.h:70
dqm::DQMFileSaverBase::saveRun
virtual void saveRun(const FileParameters &fp) const
Definition: DQMFileSaverBase.h:61
dqm::DQMFileSaverBase::runNumber_
int runNumber_
Definition: DQMFileSaverBase.h:72
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::FlushMessageLog
void FlushMessageLog()
Definition: MessageLogger.cc:94
dqm::DQMFileSaverBase::initial_fp_
FileParameters initial_fp_
Definition: DQMFileSaverBase.h:71
edm::Service
Definition: Service.h:30
FrontierConditions_GlobalTag_cff.file
file
Definition: FrontierConditions_GlobalTag_cff.py:13
edm::LuminosityBlockID::luminosityBlock
LuminosityBlockNumber_t luminosityBlock() const
Definition: LuminosityBlockID.h:42
edm::LuminosityBlockBase::id
LuminosityBlockID id() const
Definition: LuminosityBlockBase.h:44
visDQMUpload.buf
buf
Definition: visDQMUpload.py:154
dqm::qstatus::STATUS_OK
static const int STATUS_OK
Definition: MonitorElement.h:52
edm::LuminosityBlockID::run
RunNumber_t run() const
Definition: LuminosityBlockID.h:41
castor_dqm_sourceclient_file_cfg.path
path
Definition: castor_dqm_sourceclient_file_cfg.py:37
edm::RunBase::id
RunID const & id() const
Definition: RunBase.h:39