CMS 3D CMS Logo

CSCMonitorModule.cc
Go to the documentation of this file.
1 /*
2  * =====================================================================================
3  *
4  * Filename: CSCMonitorModule.cc
5  *
6  * Description: CSC Monitor Module
7  *
8  * Version: 1.0
9  * Created: 11/13/2008 02:31:12 PM
10  * Revision: none
11  * Compiler: gcc
12  *
13  * Author: Valdas Rapsevicius (VR), valdas.rapsevicius@cern.ch
14  * Company: CERN, CH
15  *
16  * =====================================================================================
17  */
18 
19 #include "CSCMonitorModule.h"
20 
27 
29  prebookEffParams = ps.getUntrackedParameter<bool>("PREBOOK_EFF_PARAMS", false);
30  processDcsScalers = ps.getUntrackedParameter<bool>("PROCESS_DCS_SCALERS", true);
32  config.load(params);
33 
34  fp = ps.getParameter<edm::FileInPath>("BOOKING_XML_FILE");
35  config.setBOOKING_XML_FILE(fp.fullPath());
36 
37  // dbe = edm::Service<DQMStore>().operator->();
38 
39 #ifdef DQMLOCAL
40  dispatcher = new cscdqm::Dispatcher(&config, const_cast<CSCMonitorModule*>(this));
41 #endif
42 #ifdef DQMGLOBAL
43  // edm::ConsumesCollector coco( consumesCollector() );
44  dispatcher = new cscdqm::Dispatcher(&config, const_cast<CSCMonitorModule*>(this), inputTag, consumesCollector());
45  dcstoken = consumes<DcsStatusCollection>(edm::InputTag("scalersRawToDigi"));
46 
47 #endif
48 
49  dispatcher->init();
50 
51  if (ps.exists("MASKEDHW")) {
52  maskedHW = ps.getUntrackedParameter<std::vector<std::string> >("MASKEDHW");
53  //dispatcher->maskHWElements(maskedHW);
54  }
55 }
56 
61  if (dispatcher)
62  delete dispatcher;
63 }
64 
71 /*
72 void CSCMonitorModule::beginRun(const edm::Run& r, const edm::EventSetup& c) {
73 
74  if (prebookEffParams) {
75  dispatcher->updateFractionAndEfficiencyHistos();
76  }
77 
78 }
79 */
80 
87  // Get crate mapping from database
89  c.get<CSCCrateMapRcd>().get(hcrate);
90  pcrate = hcrate.product();
91 
92  cscdqm::HWStandbyType standby;
93 
94  // Get DCS status scalers
95  if (processDcsScalers) {
97 #ifdef DQMLOCAL
98  if (e.getByToken(dcstoken, dcsStatus)) {
99 #endif
100 #ifdef DQMGLOBAL
101  if (e.getByToken(dcstoken, dcsStatus)) {
102 #endif
103  DcsStatusCollection::const_iterator dcsStatusItr = dcsStatus->begin();
104  for (; dcsStatusItr != dcsStatus->end(); ++dcsStatusItr) {
105  standby.applyMeP(dcsStatusItr->ready(DcsStatus::CSCp));
106  standby.applyMeM(dcsStatusItr->ready(DcsStatus::CSCm));
107  }
108  }
109  standby.process = true;
110  }
111 
112  dispatcher->processEvent(e, inputTag, standby);
113  }
114 
123  ibooker = &ib;
124 
133  dispatcher->book();
134 
135  if (!maskedHW.empty())
137  if (prebookEffParams) {
139  }
140  }
141 
148  cscdqm::MonitorObject* me = nullptr;
149  std::string name = req.hdef->getName();
150 
151  std::string path = req.folder;
152  if (!req.hdef->getPath().empty()) {
153  path = path + req.hdef->getPath() + "/";
154  }
155 
156  //std::cout << "Moving to " << path << " for name = " << name << " with fullPath = " << req.hdef->getFullPath() << "\n";
157 
158  //dbe->setCurrentFolder(path);
159  ibooker->cd();
161 
162  if (req.htype == cscdqm::INT) {
164  me->Fill(req.default_int);
165  } else if (req.htype == cscdqm::FLOAT) {
166  if (req.hdef->getId() == cscdqm::h::PAR_REPORT_SUMMARY || req.hdef->getId() == cscdqm::h::PAR_CRT_SUMMARY ||
167  req.hdef->getId() == cscdqm::h::PAR_DAQ_SUMMARY || req.hdef->getId() == cscdqm::h::PAR_DCS_SUMMARY) {
168  ibooker->cd();
170  } else if (cscdqm::Utility::regexMatch("^PAR_DCS_", cscdqm::h::keys[req.hdef->getId()])) {
171  ibooker->cd();
173  } else if (cscdqm::Utility::regexMatch("^PAR_DAQ_", cscdqm::h::keys[req.hdef->getId()])) {
174  ibooker->cd();
176  } else if (cscdqm::Utility::regexMatch("^PAR_CRT_", cscdqm::h::keys[req.hdef->getId()])) {
177  ibooker->cd();
179  }
181  me->Fill(req.default_float);
182  } else if (req.htype == cscdqm::STRING) {
184  } else if (req.htype == cscdqm::H1D) {
185  me = new CSCMonitorObject(ibooker->book1D(name, req.title, req.nchX, req.lowX, req.highX));
186  } else if (req.htype == cscdqm::H2D) {
187  if (req.hdef->getId() == cscdqm::h::EMU_CSC_STATS_SUMMARY) {
188  ibooker->cd();
190  name = "reportSummaryMap";
191  }
192  me = new CSCMonitorObject(
193  ibooker->book2D(name, req.title, req.nchX, req.lowX, req.highX, req.nchY, req.lowY, req.highY));
194  } else if (req.htype == cscdqm::H3D) {
196  name, req.title, req.nchX, req.lowX, req.highX, req.nchY, req.lowY, req.highY, req.nchZ, req.lowZ, req.highZ));
197  } else if (req.htype == cscdqm::PROFILE) {
199  name, req.title, req.nchX, req.lowX, req.highX, req.nchY, req.lowY, req.highY, req.option.c_str()));
200  } else if (req.htype == cscdqm::PROFILE2D) {
202  req.title,
203  req.nchX,
204  req.lowX,
205  req.highX,
206  req.nchY,
207  req.lowY,
208  req.highY,
209  req.nchZ,
210  req.lowZ,
211  req.highZ,
212  req.option.c_str()));
213  }
214 
215  return me;
216  }
CSCMonitorModule::processDcsScalers
bool processDcsScalers
Definition: CSCMonitorModule.h:89
DIR_CRTINFO
static const char DIR_CRTINFO[]
Definition: CSCMonitorModule.h:62
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
cscdqm::HWStandbyType
Definition: CSCDQM_EventProcessor.h:59
dqm::implementation::IBooker::bookFloat
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:80
cscdqm::FLOAT
Definition: CSCDQM_MonitorObjectProvider.h:29
CSCMonitorModule::maskedHW
std::vector< std::string > maskedHW
Definition: CSCMonitorModule.h:94
cscdqm::HistoBookRequest::hdef
const HistoDef * hdef
Definition: CSCDQM_MonitorObjectProvider.h:32
CalibrationSummaryClient_cfi.params
params
Definition: CalibrationSummaryClient_cfi.py:14
edm::Run
Definition: Run.h:45
CSCMonitorModule::inputTag
edm::InputTag inputTag
Definition: CSCMonitorModule.h:87
DcsStatus::CSCm
Definition: DcsStatus.h:48
dqm::implementation::IBooker::bookProfile2D
MonitorElement * bookProfile2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, double lowZ, double highZ, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:399
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89285
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
DcsStatus::CSCp
Definition: DcsStatus.h:47
cscdqm::Dispatcher::updateFractionAndEfficiencyHistos
void updateFractionAndEfficiencyHistos()
On demand update fraction and efficiency MOs.
Definition: CSCDQM_Dispatcher.cc:257
edm::EDConsumerBase::consumesCollector
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
Definition: EDConsumerBase.cc:47
cscdqm::Utility::regexMatch
static bool regexMatch(const std::string &expression, const std::string &message)
Match RegExp expression string against string message and return result.
Definition: CSCDQM_Utility.cc:166
CSCMonitorModule::analyze
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Begin the run.
Definition: CSCMonitorModule.cc:86
personalPlayback.fp
fp
Definition: personalPlayback.py:523
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
relativeConstraints.keys
keys
Definition: relativeConstraints.py:89
DIR_DCSINFO
static const char DIR_DCSINFO[]
Definition: CSCMonitorModule.h:60
cscdqm::HWStandbyType::process
bool process
Definition: CSCDQM_EventProcessor.h:62
edm::Handle
Definition: AssociativeIterator.h:50
cscdqm::HistoBookRequest::nchZ
int nchZ
Definition: CSCDQM_MonitorObjectProvider.h:46
cscdqm::HistoBookRequest::nchX
int nchX
Definition: CSCDQM_MonitorObjectProvider.h:38
config
Definition: config.py:1
edm::FileInPath
Definition: FileInPath.h:64
CSCMonitorObject
cscdqm::MonitorObject implementation used in CSCMonitorModuleCmn
Definition: CSCMonitorObject.h:29
cscdqm::PROFILE2D
Definition: CSCDQM_MonitorObjectProvider.h:29
edm::ESHandle
Definition: DTSurvey.h:22
dqm::implementation::NavigatorBase::cd
virtual void cd()
Definition: DQMStore.cc:29
dqm::implementation::IBooker::bookProfile
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:322
cscdqm::HistoBookRequest::lowX
double lowX
Definition: CSCDQM_MonitorObjectProvider.h:39
cscdqm::HistoBookRequest
Definition: CSCDQM_MonitorObjectProvider.h:31
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ParameterSet::exists
bool exists(std::string const &parameterName) const
checks if a parameter exists
Definition: ParameterSet.cc:681
edm::ParameterSet
Definition: ParameterSet.h:47
dqm::implementation::IBooker::bookString
MonitorElement * bookString(TString const &name, TString const &value, FUNC onbooking=NOOP())
Definition: DQMStore.h:87
CSCMonitorModule::ibooker
DQMStore::IBooker * ibooker
Definition: CSCMonitorModule.h:86
cscdqm::HistoBookRequest::highY
double highY
Definition: CSCDQM_MonitorObjectProvider.h:44
cscdqm::Dispatcher::maskHWElements
unsigned int maskHWElements(std::vector< std::string > &tokens)
Mask HW elements from the efficiency calculations. Can be applied on runtime!
Definition: CSCDQM_Dispatcher.cc:190
dqm::implementation::IBooker::bookInt
MonitorElement * bookInt(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:73
CSCMonitorModule::dispatcher
cscdqm::Dispatcher * dispatcher
Definition: CSCMonitorModule.h:84
CSCMonitorModule::~CSCMonitorModule
~CSCMonitorModule() override
Destructor.
Definition: CSCMonitorModule.cc:60
CSCMonitorModule.h
cscdqm::HistoDef::getId
const HistoId getId() const
Get Histogram ID.
Definition: CSCDQM_HistoDef.h:84
cscdqm::H2D
Definition: CSCDQM_MonitorObjectProvider.h:29
cscdqm::HWStandbyType::applyMeM
void applyMeM(bool ready)
Definition: CSCDQM_EventProcessor.h:74
CSCMonitorModule::prebookEffParams
bool prebookEffParams
Definition: CSCMonitorModule.h:88
cscdqm::HistoBookRequest::nchY
int nchY
Definition: CSCDQM_MonitorObjectProvider.h:42
CSCMonitorModule::pcrate
const CSCCrateMap * pcrate
Definition: CSCMonitorModule.h:92
cuy.ib
ib
Definition: cuy.py:662
cscdqm::HistoBookRequest::title
std::string title
Definition: CSCDQM_MonitorObjectProvider.h:36
cscdqm::HistoDef::getName
virtual const std::string getName() const
Get processed histogram name. It can include additional parameter in formated name....
Definition: CSCDQM_HistoDef.h:98
edm::EventSetup
Definition: EventSetup.h:58
cscdqm::H3D
Definition: CSCDQM_MonitorObjectProvider.h:29
get
#define get
cscdqm::HistoBookRequest::highX
double highX
Definition: CSCDQM_MonitorObjectProvider.h:40
CSCMonitorModule::bookMonitorObject
cscdqm::MonitorObject * bookMonitorObject(const cscdqm::HistoBookRequest &p_req) override
Book Monitor Object on Request.
Definition: CSCMonitorModule.cc:147
cscdqm::HistoDef::getPath
virtual const std::string getPath() const
Get path part of the histogram (used only for DDUs and CSCs)
Definition: CSCDQM_HistoDef.h:177
cscdqm::STRING
Definition: CSCDQM_MonitorObjectProvider.h:29
CSCMonitorModule::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Book Histograms in the beginRun.
Definition: CSCMonitorModule.cc:121
cscdqm::H1D
Definition: CSCDQM_MonitorObjectProvider.h:29
cscdqm::HistoBookRequest::highZ
double highZ
Definition: CSCDQM_MonitorObjectProvider.h:48
cscdqm::HistoBookRequest::default_int
int default_int
Definition: CSCDQM_MonitorObjectProvider.h:50
cscdqm::HWStandbyType::applyMeP
void applyMeP(bool ready)
Definition: CSCDQM_EventProcessor.h:72
dqm::implementation::IBooker::book2D
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:177
cscdqm::INT
Definition: CSCDQM_MonitorObjectProvider.h:29
dqm::implementation::IBooker::book3D
MonitorElement * book3D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ, FUNC onbooking=NOOP())
Definition: DQMStore.h:290
cscdqm::Dispatcher::init
void init()
Initialize Dispatcher: book histograms, init processor, etc.
Definition: CSCDQM_Dispatcher.cc:98
cscdqm::Dispatcher
CSCDQM Framework frontend and Histogram Cache controller.
Definition: CSCDQM_Dispatcher.h:115
cscdqm::HistoBookRequest::option
std::string option
Definition: CSCDQM_MonitorObjectProvider.h:54
CSCCrateMapRcd
Definition: CSCCrateMapRcd.h:5
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
cscdqm::HistoBookRequest::default_float
float default_float
Definition: CSCDQM_MonitorObjectProvider.h:51
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
INPUT_TAG_LABEL
static const char INPUT_TAG_LABEL[]
Global stuff.
Definition: CSCMonitorModule.h:58
cscdqm::MonitorObject
Monitoring Object interface used to cover Root object and provide common interface to EventProcessor ...
Definition: CSCDQM_MonitorObject.h:35
cscdqm::HistoBookRequest::folder
std::string folder
Definition: CSCDQM_MonitorObjectProvider.h:35
dqm::implementation::IBooker
Definition: DQMStore.h:43
cscdqm::PROFILE
Definition: CSCDQM_MonitorObjectProvider.h:29
castor_dqm_sourceclient_file_cfg.path
path
Definition: castor_dqm_sourceclient_file_cfg.py:37
DIR_EVENTINFO
static const char DIR_EVENTINFO[]
Definition: CSCMonitorModule.h:59
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:46
hlt_dqm_clientPB-live_cfg.me
me
Definition: hlt_dqm_clientPB-live_cfg.py:61
cscdqm::Dispatcher::book
void book()
Definition: CSCDQM_Dispatcher.cc:104
edm::Event
Definition: Event.h:73
cscdqm::HistoBookRequest::htype
HistoType htype
Definition: CSCDQM_MonitorObjectProvider.h:33
edm::InputTag
Definition: InputTag.h:15
cscdqm::HistoBookRequest::default_string
std::string default_string
Definition: CSCDQM_MonitorObjectProvider.h:52
DIR_DAQINFO
static const char DIR_DAQINFO[]
Definition: CSCMonitorModule.h:61
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
cscdqm::HistoBookRequest::lowY
double lowY
Definition: CSCDQM_MonitorObjectProvider.h:43
CSCMonitorModule::CSCMonitorModule
CSCMonitorModule(const edm::ParameterSet &ps)
Constructor.
Definition: CSCMonitorModule.cc:25
cscdqm::HistoBookRequest::lowZ
double lowZ
Definition: CSCDQM_MonitorObjectProvider.h:47
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37