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 
26  : hcrateToken_(esConsumes<CSCCrateMap, CSCCrateMapRcd>()) {
28 
30  prebookEffParams = ps.getUntrackedParameter<bool>("PREBOOK_EFF_PARAMS", false);
31  processDcsScalers = ps.getUntrackedParameter<bool>("PROCESS_DCS_SCALERS", true);
33  config.load(params);
34 
35  fp = ps.getParameter<edm::FileInPath>("BOOKING_XML_FILE");
36  config.setBOOKING_XML_FILE(fp.fullPath());
37 
38  // dbe = edm::Service<DQMStore>().operator->();
39 
40 #ifdef DQMLOCAL
41  dispatcher = new cscdqm::Dispatcher(&config, const_cast<CSCMonitorModule*>(this));
42 #endif
43 #ifdef DQMGLOBAL
44  // edm::ConsumesCollector coco( consumesCollector() );
45  dispatcher = new cscdqm::Dispatcher(&config, const_cast<CSCMonitorModule*>(this), inputTag, consumesCollector());
46  dcstoken = consumes<DcsStatusCollection>(edm::InputTag("scalersRawToDigi"));
47 
48 #endif
49 
50  dispatcher->init();
51 
52  if (ps.exists("MASKEDHW")) {
53  maskedHW = ps.getUntrackedParameter<std::vector<std::string> >("MASKEDHW");
54  //dispatcher->maskHWElements(maskedHW);
55  }
56 }
57 
62  if (dispatcher)
63  delete dispatcher;
64 }
65 
72 /*
73 void CSCMonitorModule::beginRun(const edm::Run& r, const edm::EventSetup& c) {
74 
75  if (prebookEffParams) {
76  dispatcher->updateFractionAndEfficiencyHistos();
77  }
78 
79 }
80 */
81 
88  // Get crate mapping from database
91  hcrate = c.getHandle(hcrateToken_);
92  pcrate = hcrate.product();
93 
94  cscdqm::HWStandbyType standby;
95 
96  // Get DCS status scalers
97  if (processDcsScalers) {
99 #ifdef DQMLOCAL
100  if (e.getByToken(dcstoken, dcsStatus)) {
101 #endif
102 #ifdef DQMGLOBAL
103  if (e.getByToken(dcstoken, dcsStatus)) {
104 #endif
105  DcsStatusCollection::const_iterator dcsStatusItr = dcsStatus->begin();
106  for (; dcsStatusItr != dcsStatus->end(); ++dcsStatusItr) {
107  standby.applyMeP(dcsStatusItr->ready(DcsStatus::CSCp));
108  standby.applyMeM(dcsStatusItr->ready(DcsStatus::CSCm));
109  }
110  }
111  standby.process = true;
112  }
113 
114  dispatcher->processEvent(e, inputTag, standby);
115  }
116 
125  ibooker = &ib;
126 
135  dispatcher->book();
136 
137  if (!maskedHW.empty())
139  if (prebookEffParams) {
141  }
142  }
143 
150  cscdqm::MonitorObject* me = nullptr;
151  std::string name = req.hdef->getName();
152 
153  std::string path = req.folder;
154  if (!req.hdef->getPath().empty()) {
155  path = path + req.hdef->getPath() + "/";
156  }
157 
158  //std::cout << "Moving to " << path << " for name = " << name << " with fullPath = " << req.hdef->getFullPath() << "\n";
159 
160  //dbe->setCurrentFolder(path);
161  ibooker->cd();
163 
164  if (req.htype == cscdqm::INT) {
166  me->Fill(req.default_int);
167  } else if (req.htype == cscdqm::FLOAT) {
168  if (req.hdef->getId() == cscdqm::h::PAR_REPORT_SUMMARY || req.hdef->getId() == cscdqm::h::PAR_CRT_SUMMARY ||
169  req.hdef->getId() == cscdqm::h::PAR_DAQ_SUMMARY || req.hdef->getId() == cscdqm::h::PAR_DCS_SUMMARY) {
170  ibooker->cd();
172  } else if (cscdqm::Utility::regexMatch("^PAR_DCS_", cscdqm::h::keys[req.hdef->getId()])) {
173  ibooker->cd();
175  } else if (cscdqm::Utility::regexMatch("^PAR_DAQ_", cscdqm::h::keys[req.hdef->getId()])) {
176  ibooker->cd();
178  } else if (cscdqm::Utility::regexMatch("^PAR_CRT_", cscdqm::h::keys[req.hdef->getId()])) {
179  ibooker->cd();
181  }
183  me->Fill(req.default_float);
184  } else if (req.htype == cscdqm::STRING) {
186  } else if (req.htype == cscdqm::H1D) {
187  me = new CSCMonitorObject(ibooker->book1D(name, req.title, req.nchX, req.lowX, req.highX));
188  } else if (req.htype == cscdqm::H2D) {
189  if (req.hdef->getId() == cscdqm::h::EMU_CSC_STATS_SUMMARY) {
190  ibooker->cd();
192  name = "reportSummaryMap";
193  }
194  me = new CSCMonitorObject(
195  ibooker->book2D(name, req.title, req.nchX, req.lowX, req.highX, req.nchY, req.lowY, req.highY));
196  } else if (req.htype == cscdqm::H3D) {
198  name, req.title, req.nchX, req.lowX, req.highX, req.nchY, req.lowY, req.highY, req.nchZ, req.lowZ, req.highZ));
199  } else if (req.htype == cscdqm::PROFILE) {
201  name, req.title, req.nchX, req.lowX, req.highX, req.nchY, req.lowY, req.highY, req.option.c_str()));
202  } else if (req.htype == cscdqm::PROFILE2D) {
204  req.title,
205  req.nchX,
206  req.lowX,
207  req.highX,
208  req.nchY,
209  req.lowY,
210  req.highY,
211  req.nchZ,
212  req.lowZ,
213  req.highZ,
214  req.option.c_str()));
215  }
216 
217  return me;
218  }
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:96
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
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:89301
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:87
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:61
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
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:61
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:94
cuy.ib
ib
Definition: cuy.py:661
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
CSCMonitorModule::hcrateToken_
const edm::ESGetToken< CSCCrateMap, CSCCrateMapRcd > hcrateToken_
Definition: CSCMonitorModule.h:91
cscdqm::H3D
Definition: CSCDQM_MonitorObjectProvider.h:29
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
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:149
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:123
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
CSCCrateMap
Definition: CSCCrateMap.h:11
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
DcsStatus::CSCm
Definition: DcsStatus.h:48
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:56
hlt_dqm_clientPB-live_cfg.me
me
Definition: hlt_dqm_clientPB-live_cfg.py:61
DeDxTools::esConsumes
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
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