CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Private Attributes
CSCMonitorModule Class Reference

Common CSC DQM Module that uses CSCDQM Framework. More...

#include <CSCMonitorModule.h>

Inheritance diagram for CSCMonitorModule:
DQMOneEDAnalyzer<> cscdqm::MonitorObjectProvider edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args...> edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

cscdqm::MonitorObjectbookMonitorObject (const cscdqm::HistoBookRequest &p_req) override
 Book Monitor Object on Request. More...
 
 CSCMonitorModule (const edm::ParameterSet &ps)
 Constructor. More...
 
bool getCSCDetId (const unsigned int crateId, const unsigned int dmbId, CSCDetId &detId) const override
 
 ~CSCMonitorModule () override
 Destructor. More...
 
- Public Member Functions inherited from DQMOneEDAnalyzer<>
void accumulate (edm::Event const &event, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
 DQMOneEDAnalyzer ()
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args...>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector
< edm::ProductResolverIndex >
const & 
indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector
< edm::ProductResolverIndex >
const & 
putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) 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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex >
const & 
esGetTokenRecordIndicesVector (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::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 
- Public Member Functions inherited from cscdqm::MonitorObjectProvider
virtual ~MonitorObjectProvider () noexcept(false)
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 Begin the run. More...
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 Book Histograms in the beginRun. More...
 
- Protected Member Functions inherited from DQMOneEDAnalyzer<>
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, 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)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Private Attributes

cscdqm::Configuration config
 
cscdqm::Dispatcherdispatcher
 
const edm::ESGetToken
< CSCCrateMap, CSCCrateMapRcd
hcrateToken_
 
DQMStore::IBookeribooker
 
edm::InputTag inputTag
 
std::vector< std::string > maskedHW
 
const CSCCrateMappcrate
 
bool prebookEffParams
 
bool processDcsScalers
 

Additional Inherited Members

- Public Types inherited from DQMOneEDAnalyzer<>
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Attributes inherited from DQMOneEDAnalyzer<>
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Common CSC DQM Module that uses CSCDQM Framework.

Definition at line 73 of file CSCMonitorModule.h.

Constructor & Destructor Documentation

CSCMonitorModule::CSCMonitorModule ( const edm::ParameterSet ps)

Constructor.

Global stuff

Parameters
psParameters.

Definition at line 25 of file CSCMonitorModule.cc.

References config, edm::EDConsumerBase::consumesCollector(), dispatcher, edm::ParameterSet::exists(), personalPlayback::fp, edm::FileInPath::fullPath(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), cscdqm::Dispatcher::init(), INPUT_TAG_LABEL, inputTag, HLT_FULL_cff::InputTag, maskedHW, submitPVValidationJobs::params, prebookEffParams, and processDcsScalers.

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 }
cscdqm::Configuration config
void init()
Initialize Dispatcher: book histograms, init processor, etc.
T getUntrackedParameter(std::string const &, T const &) const
const edm::ESGetToken< CSCCrateMap, CSCCrateMapRcd > hcrateToken_
bool exists(std::string const &parameterName) const
checks if a parameter exists
cscdqm::Dispatcher * dispatcher
std::vector< std::string > maskedHW
CSCDQM Framework frontend and Histogram Cache controller.
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
static const char INPUT_TAG_LABEL[]
Global stuff.
edm::InputTag inputTag
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
CSCMonitorModule::~CSCMonitorModule ( )
override

Destructor.

Definition at line 61 of file CSCMonitorModule.cc.

References dispatcher.

61  {
62  if (dispatcher)
63  delete dispatcher;
64 }
cscdqm::Dispatcher * dispatcher

Member Function Documentation

void CSCMonitorModule::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overrideprotectedvirtual

Begin the run.

EDAnalyzer Implementation

Parameters
rRun object
cEvent setup Analyze Event.
eEvent to analyze
cEvent Setup

Use esConsumes to get crate mapping

Reimplemented from DQMOneEDAnalyzer<>.

Definition at line 87 of file CSCMonitorModule.cc.

References cscdqm::HWStandbyType::applyMeM(), cscdqm::HWStandbyType::applyMeP(), DcsStatus::CSCm, DcsStatus::CSCp, dispatcher, edm::Event::getByToken(), edm::EventSetup::getHandle(), hcrateToken_, inputTag, pcrate, cscdqm::HWStandbyType::process, processDcsScalers, and edm::ESHandle< class >::product().

87  {
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  }
const edm::ESGetToken< CSCCrateMap, CSCCrateMapRcd > hcrateToken_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:539
const CSCCrateMap * pcrate
T const * product() const
Definition: ESHandle.h:86
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:151
void CSCMonitorModule::bookHistograms ( DQMStore::IBooker ib,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Book Histograms in the beginRun.

Parameters
ib- DQMStore::IBooker interface access object
edm::Runconst & - not used
edm::EventSetupconst & - not used

Store pointer to IBooker to use it in ::bookMonitorObject() callback function used by the Dispatcher::book() method

Call Dispatcher histogram booking method to pre-boook all available histograms before processing data. New PREBOOK_ALL_HISTOS config option should be set to true (default). That should disable original CSC on-the-fly histo booking during data processing. Changed for multi-threaded framework compatibility. (pre-booking of all histos is not most efficient way for CSCi DQM).

Implements DQMOneEDAnalyzer<>.

Definition at line 123 of file CSCMonitorModule.cc.

References cscdqm::Dispatcher::book(), dispatcher, cuy::ib, ibooker, maskedHW, cscdqm::Dispatcher::maskHWElements(), prebookEffParams, and cscdqm::Dispatcher::updateFractionAndEfficiencyHistos().

123  {
125  ibooker = &ib;
126 
135  dispatcher->book();
136 
137  if (!maskedHW.empty())
139  if (prebookEffParams) {
141  }
142  }
int ib
Definition: cuy.py:661
void updateFractionAndEfficiencyHistos()
On demand update fraction and efficiency MOs.
cscdqm::Dispatcher * dispatcher
std::vector< std::string > maskedHW
unsigned int maskHWElements(std::vector< std::string > &tokens)
Mask HW elements from the efficiency calculations. Can be applied on runtime!
DQMStore::IBooker * ibooker
cscdqm::MonitorObject * CSCMonitorModule::bookMonitorObject ( const cscdqm::HistoBookRequest req)
overridevirtual

Book Monitor Object on Request.

Parameters
reqRequest.
Returns
MonitorObject created.

Implements cscdqm::MonitorObjectProvider.

Definition at line 149 of file CSCMonitorModule.cc.

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::book3D(), dqm::implementation::IBooker::bookFloat(), dqm::implementation::IBooker::bookInt(), dqm::implementation::IBooker::bookProfile(), dqm::implementation::IBooker::bookProfile2D(), dqm::implementation::IBooker::bookString(), dqm::implementation::NavigatorBase::cd(), cscdqm::HistoBookRequest::default_float, cscdqm::HistoBookRequest::default_int, cscdqm::HistoBookRequest::default_string, DIR_CRTINFO, DIR_DAQINFO, DIR_DCSINFO, DIR_EVENTINFO, cscdqm::h::EMU_CSC_STATS_SUMMARY, cscdqm::MonitorObject::Fill(), cscdqm::FLOAT, cscdqm::HistoBookRequest::folder, cscdqm::HistoDef::getId(), cscdqm::HistoDef::getName(), cscdqm::HistoDef::getPath(), cscdqm::H1D, cscdqm::H2D, cscdqm::H3D, cscdqm::HistoBookRequest::hdef, cscdqm::HistoBookRequest::highX, cscdqm::HistoBookRequest::highY, cscdqm::HistoBookRequest::highZ, cscdqm::HistoBookRequest::htype, ibooker, cscdqm::INT, cscdqm::h::keys, cscdqm::HistoBookRequest::lowX, cscdqm::HistoBookRequest::lowY, cscdqm::HistoBookRequest::lowZ, hlt_dqm_clientPB-live_cfg::me, mergeVDriftHistosByStation::name, cscdqm::HistoBookRequest::nchX, cscdqm::HistoBookRequest::nchY, cscdqm::HistoBookRequest::nchZ, cscdqm::HistoBookRequest::option, cscdqm::h::PAR_CRT_SUMMARY, cscdqm::h::PAR_DAQ_SUMMARY, cscdqm::h::PAR_DCS_SUMMARY, cscdqm::h::PAR_REPORT_SUMMARY, fed_dqm_sourceclient-live_cfg::path, cscdqm::PROFILE, cscdqm::PROFILE2D, cscdqm::Utility::regexMatch(), dqm::implementation::NavigatorBase::setCurrentFolder(), cscdqm::STRING, AlCaHLTBitMon_QueryRunRegistry::string, and cscdqm::HistoBookRequest::title.

149  {
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();
162  ibooker->setCurrentFolder(path);
163 
164  if (req.htype == cscdqm::INT) {
165  me = new CSCMonitorObject(ibooker->bookInt(name));
166  me->Fill(req.default_int);
167  } else if (req.htype == cscdqm::FLOAT) {
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  }
182  me = new CSCMonitorObject(ibooker->bookFloat(name));
183  me->Fill(req.default_float);
184  } else if (req.htype == cscdqm::STRING) {
185  me = new CSCMonitorObject(ibooker->bookString(name, req.default_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) {
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) {
197  me = new CSCMonitorObject(ibooker->book3D(
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) {
203  me = new CSCMonitorObject(ibooker->bookProfile2D(name,
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  }
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:80
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:476
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
static const char DIR_DAQINFO[]
cscdqm::MonitorObject implementation used in CSCMonitorModuleCmn
virtual void Fill(float x)=0
Monitoring Object interface used to cover Root object and provide common interface to EventProcessor ...
static bool regexMatch(const std::string &expression, const std::string &message)
Match RegExp expression string against string message and return result.
MonitorElement * bookString(TString const &name, TString const &value, FUNC onbooking=NOOP())
Definition: DQMStore.h:87
const HistoId getId() const
Get Histogram ID.
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
static const char DIR_DCSINFO[]
static const char DIR_EVENTINFO[]
virtual const std::string getPath() const
Get path part of the histogram (used only for DDUs and CSCs)
static const char DIR_CRTINFO[]
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
MonitorElement * bookInt(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:73
DQMStore::IBooker * ibooker
virtual const std::string getName() const
Get processed histogram name. It can include additional parameter in formated name. This Name is being constructed from raw name and additional parameter.
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
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:367
static const HistoName keys[]
bool CSCMonitorModule::getCSCDetId ( const unsigned int  crateId,
const unsigned int  dmbId,
CSCDetId detId 
) const
inlineoverridevirtual

MonitorObjectProvider Implementation

Implements cscdqm::MonitorObjectProvider.

Definition at line 107 of file CSCMonitorModule.h.

References CSCCrateMap::detId(), MAX_CRATE_ID, MAX_DMB_SLOT, pcrate, and DetId::rawId().

107  {
108  // Check parameter values
109  if (crateId < MIN_CRATE_ID || crateId > MAX_CRATE_ID || dmbId < MIN_DMB_SLOT || dmbId > MAX_DMB_SLOT) {
110  return false;
111  }
112  detId = pcrate->detId(crateId, dmbId, 0, 0);
113  return (detId.rawId() != 0);
114  }
static const unsigned int MAX_CRATE_ID
CSCDetId detId(int vme, int dmb, int cfeb, int layer=0) const
Definition: CSCCrateMap.cc:9
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
const CSCCrateMap * pcrate
static const unsigned int MAX_DMB_SLOT

Member Data Documentation

cscdqm::Configuration CSCMonitorModule::config
private
cscdqm::Dispatcher* CSCMonitorModule::dispatcher
private

Definition at line 84 of file CSCMonitorModule.h.

Referenced by analyze(), bookHistograms(), CSCMonitorModule(), and ~CSCMonitorModule().

const edm::ESGetToken<CSCCrateMap, CSCCrateMapRcd> CSCMonitorModule::hcrateToken_
private

Definition at line 91 of file CSCMonitorModule.h.

Referenced by analyze().

DQMStore::IBooker* CSCMonitorModule::ibooker
private

Definition at line 86 of file CSCMonitorModule.h.

Referenced by bookHistograms(), and bookMonitorObject().

edm::InputTag CSCMonitorModule::inputTag
private

Definition at line 87 of file CSCMonitorModule.h.

Referenced by analyze(), and CSCMonitorModule().

std::vector<std::string> CSCMonitorModule::maskedHW
private

Definition at line 96 of file CSCMonitorModule.h.

Referenced by bookHistograms(), and CSCMonitorModule().

const CSCCrateMap* CSCMonitorModule::pcrate
private

Pointer to crate mapping from database

Definition at line 94 of file CSCMonitorModule.h.

Referenced by analyze(), and getCSCDetId().

bool CSCMonitorModule::prebookEffParams
private

Definition at line 88 of file CSCMonitorModule.h.

Referenced by bookHistograms(), and CSCMonitorModule().

bool CSCMonitorModule::processDcsScalers
private

Definition at line 89 of file CSCMonitorModule.h.

Referenced by analyze(), and CSCMonitorModule().