CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
SiStripCertificationInfo Class Reference

#include <SiStripCertificationInfo.h>

Inheritance diagram for SiStripCertificationInfo:
edm::EDAnalyzer edm::EDConsumerBase

Classes

struct  SubDetMEs
 

Public Types

typedef dqm::harvesting::DQMStore DQMStore
 
typedef dqm::harvesting::MonitorElement MonitorElement
 
- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

 SiStripCertificationInfo (const edm::ParameterSet &ps)
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () 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
 
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::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)
 

Private Member Functions

void analyze (edm::Event const &, edm::EventSetup const &) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &eSetup) override
 
void bookSiStripCertificationMEs (DQMStore &dqm_store)
 
void endLuminosityBlock (edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &iSetup) override
 
void endRun (edm::Run const &run, edm::EventSetup const &eSetup) override
 
void fillDummySiStripCertification (DQMStore &dqm_store)
 
void fillSiStripCertificationMEs (DQMStore &dqm_store, edm::EventSetup const &eSetup)
 
void fillSiStripCertificationMEsAtLumi (DQMStore &dqm_store)
 
void resetSiStripCertificationMEs (DQMStore &dqm_store)
 

Private Attributes

edm::ESHandle< SiStripDetCablingdetCabling_ {}
 
unsigned long long m_cacheID_ {}
 
int nFEDConnected_ {}
 
MonitorElementSiStripCertification {nullptr}
 
bool sistripCertificationBooked_ {false}
 
MonitorElementSiStripCertificationMap {nullptr}
 
MonitorElementSiStripCertificationSummaryMap {nullptr}
 
std::map< std::string, SubDetMEsSubDetMEsMap {}
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- 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 = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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)
 

Detailed Description

DQM/SiStripMonitorCluster/interface/SiStripCertificationInfo.h

Description: Checks the # of SiStrip FEDs from DAQ Usage: <usage>

Definition at line 40 of file SiStripCertificationInfo.h.

Member Typedef Documentation

◆ DQMStore

Definition at line 43 of file SiStripCertificationInfo.h.

◆ MonitorElement

Definition at line 42 of file SiStripCertificationInfo.h.

Constructor & Destructor Documentation

◆ SiStripCertificationInfo()

SiStripCertificationInfo::SiStripCertificationInfo ( const edm::ParameterSet ps)

Definition at line 32 of file SiStripCertificationInfo.cc.

32  {
33  consumes<DQMToken, edm::InRun>(edm::InputTag("siStripOfflineAnalyser", "DQMGenerationSiStripAnalyserRun"));
34  consumes<DQMToken, edm::InLumi>(edm::InputTag("siStripOfflineAnalyser", "DQMGenerationSiStripAnalyserLumi"));
35 }

Member Function Documentation

◆ analyze()

void SiStripCertificationInfo::analyze ( edm::Event const &  event,
edm::EventSetup const &  eSetup 
)
overrideprivatevirtual

Implements edm::EDAnalyzer.

Definition at line 152 of file SiStripCertificationInfo.cc.

152 {}

◆ beginRun()

void SiStripCertificationInfo::beginRun ( edm::Run const &  run,
edm::EventSetup const &  eSetup 
)
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 37 of file SiStripCertificationInfo.cc.

37  {
38  edm::LogInfo("SiStripCertificationInfo") << "SiStripCertificationInfo:: Begining of Run";
39  unsigned long long cacheID = eSetup.get<SiStripDetCablingRcd>().cacheIdentifier();
40  if (m_cacheID_ != cacheID) {
41  m_cacheID_ = cacheID;
42  }
43  eSetup.get<SiStripDetCablingRcd>().get(detCabling_);
44 
45  constexpr int siStripFedIdMin{FEDNumbering::MINSiStripFEDID};
46  constexpr int siStripFedIdMax{FEDNumbering::MAXSiStripFEDID};
47 
48  if (auto runInfoRec = eSetup.tryToGet<RunInfoRcd>()) {
50  runInfoRec->get(sumFED);
51 
52  if (sumFED.isValid()) {
53  for (auto const fedID : sumFED->m_fed_in) {
54  if (fedID >= siStripFedIdMin && fedID <= siStripFedIdMax)
56  }
57  LogDebug("SiStripDcsInfo") << " SiStripDcsInfo :: Connected FEDs " << nFEDConnected_;
58  }
59  }
60 
61  auto& dqm_store = *edm::Service<DQMStore>{};
62  bookSiStripCertificationMEs(dqm_store);
64 }

References bookSiStripCertificationMEs(), detCabling_, fillDummySiStripCertification(), edm::EventSetup::get(), get, edm::ESHandleBase::isValid(), LogDebug, m_cacheID_, RunInfo::m_fed_in, FEDNumbering::MAXSiStripFEDID, FEDNumbering::MINSiStripFEDID, nFEDConnected_, and edm::EventSetup::tryToGet().

◆ bookSiStripCertificationMEs()

void SiStripCertificationInfo::bookSiStripCertificationMEs ( DQMStore dqm_store)
private

Definition at line 68 of file SiStripCertificationInfo.cc.

68  {
70  return;
71 
72  dqm_store.cd();
73  std::string strip_dir = "";
74  SiStripUtility::getTopFolderPath(dqm_store, "SiStrip", strip_dir);
75  if (!strip_dir.empty())
76  dqm_store.setCurrentFolder(strip_dir + "/EventInfo");
77  else
78  dqm_store.setCurrentFolder("SiStrip/EventInfo");
79 
80  SiStripCertification = dqm_store.bookFloat("CertificationSummary");
81 
82  std::string hname = "CertificationReportMap";
83  std::string htitle = "SiStrip Certification for Good Detector Fraction";
84  SiStripCertificationSummaryMap = dqm_store.book2D(hname, htitle, 6, 0.5, 6.5, 9, 0.5, 9.5);
85  SiStripCertificationSummaryMap->setAxisTitle("Sub Detector Type", 1);
86  SiStripCertificationSummaryMap->setAxisTitle("Layer/Disc Number", 2);
87  int ibin = 0;
88  for (auto const& pr : SubDetMEsMap) {
89  ++ibin;
90  auto const& det = pr.first;
92  }
93 
94  SubDetMEs local_mes;
96  dqm_store.cd();
97  if (!strip_dir.empty())
98  dqm_store.setCurrentFolder(strip_dir + "/EventInfo/CertificationContents");
99  else
100  dqm_store.setCurrentFolder("SiStrip/EventInfo/CertificationContents");
101  tag = "TIB";
102 
103  local_mes.folder_name = "TIB";
104  local_mes.subdet_tag = "TIB";
105  local_mes.n_layer = 4;
106  local_mes.det_fractionME = dqm_store.bookFloat("SiStrip_" + tag);
107  SubDetMEsMap.emplace(tag, local_mes);
108 
109  tag = "TOB";
110  local_mes.folder_name = "TOB";
111  local_mes.subdet_tag = "TOB";
112  local_mes.n_layer = 6;
113  local_mes.det_fractionME = dqm_store.bookFloat("SiStrip_" + tag);
114  SubDetMEsMap.emplace(tag, local_mes);
115 
116  tag = "TECF";
117  local_mes.folder_name = "TEC/PLUS";
118  local_mes.subdet_tag = "TEC+";
119  local_mes.n_layer = 9;
120  local_mes.det_fractionME = dqm_store.bookFloat("SiStrip_" + tag);
121  SubDetMEsMap.emplace(tag, local_mes);
122 
123  tag = "TECB";
124  local_mes.folder_name = "TEC/MINUS";
125  local_mes.subdet_tag = "TEC-";
126  local_mes.n_layer = 9;
127  local_mes.det_fractionME = dqm_store.bookFloat("SiStrip_" + tag);
128  SubDetMEsMap.emplace(tag, local_mes);
129 
130  tag = "TIDF";
131  local_mes.folder_name = "TID/PLUS";
132  local_mes.subdet_tag = "TID+";
133  local_mes.n_layer = 3;
134  local_mes.det_fractionME = dqm_store.bookFloat("SiStrip_" + tag);
135  SubDetMEsMap.emplace(tag, local_mes);
136 
137  tag = "TIDB";
138  local_mes.folder_name = "TID/MINUS";
139  local_mes.subdet_tag = "TID-";
140  local_mes.n_layer = 3;
141  local_mes.det_fractionME = dqm_store.bookFloat("SiStrip_" + tag);
142  SubDetMEsMap.emplace(tag, local_mes);
143 
144  dqm_store.cd();
145  if (!strip_dir.empty())
146  dqm_store.setCurrentFolder(strip_dir + "/EventInfo");
147 
149  dqm_store.cd();
150 }

References dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookFloat(), dqm::implementation::DQMStore::cd(), SiStripCertificationInfo::SubDetMEs::det_fractionME, SiStripCertificationInfo::SubDetMEs::folder_name, SiStripUtility::getTopFolderPath(), SiStripCertificationInfo::SubDetMEs::n_layer, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::DQMStore::setCurrentFolder(), SiStripCertification, sistripCertificationBooked_, SiStripCertificationSummaryMap, AlCaHLTBitMon_QueryRunRegistry::string, SiStripCertificationInfo::SubDetMEs::subdet_tag, SubDetMEsMap, and GlobalPosition_Frontier_DevDB_cff::tag.

Referenced by beginRun(), and resetSiStripCertificationMEs().

◆ endLuminosityBlock()

void SiStripCertificationInfo::endLuminosityBlock ( edm::LuminosityBlock const &  lumiSeg,
edm::EventSetup const &  iSetup 
)
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 154 of file SiStripCertificationInfo.cc.

154  {
155  edm::LogInfo("SiStripDaqInfo") << "SiStripDaqInfo::endLuminosityBlock";
156 
157  if (nFEDConnected_ > 0) {
158  auto& dqm_store = *edm::Service<DQMStore>{};
160  }
161 }

References fillSiStripCertificationMEsAtLumi(), and nFEDConnected_.

◆ endRun()

void SiStripCertificationInfo::endRun ( edm::Run const &  run,
edm::EventSetup const &  eSetup 
)
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 163 of file SiStripCertificationInfo.cc.

163  {
164  edm::LogInfo("SiStripCertificationInfo") << "SiStripCertificationInfo:: End Run";
165 
166  if (nFEDConnected_ > 0) {
167  auto& dqm_store = *edm::Service<DQMStore>{};
168  fillSiStripCertificationMEs(dqm_store, eSetup);
169  }
170 }

References fillSiStripCertificationMEs(), and nFEDConnected_.

◆ fillDummySiStripCertification()

void SiStripCertificationInfo::fillDummySiStripCertification ( DQMStore dqm_store)
private

Definition at line 283 of file SiStripCertificationInfo.cc.

283  {
284  resetSiStripCertificationMEs(dqm_store);
286  SiStripCertification->Fill(-1.0);
287  for (auto const& pr : SubDetMEsMap) {
288  pr.second.det_fractionME->Reset();
289  pr.second.det_fractionME->Fill(-1.0);
290  }
291 
292  for (int xbin = 1; xbin < SiStripCertificationSummaryMap->getNbinsX() + 1; xbin++) {
293  for (int ybin = 1; ybin < SiStripCertificationSummaryMap->getNbinsY() + 1; ybin++) {
294  SiStripCertificationSummaryMap->Fill(xbin, ybin, -1.0);
295  }
296  }
297  }
298 }

References dqm::impl::MonitorElement::Fill(), dqm::impl::MonitorElement::getNbinsX(), dqm::impl::MonitorElement::getNbinsY(), resetSiStripCertificationMEs(), SiStripCertification, sistripCertificationBooked_, SiStripCertificationSummaryMap, and SubDetMEsMap.

Referenced by beginRun().

◆ fillSiStripCertificationMEs()

void SiStripCertificationInfo::fillSiStripCertificationMEs ( DQMStore dqm_store,
edm::EventSetup const &  eSetup 
)
private

Definition at line 175 of file SiStripCertificationInfo.cc.

175  {
177  edm::LogError("SiStripCertificationInfo")
178  << " SiStripCertificationInfo::fillSiStripCertificationMEs : MEs missing ";
179  return;
180  }
181 
182  //Retrieve tracker topology from geometry
183  edm::ESHandle<TrackerTopology> tTopoHandle;
184  eSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
185  const TrackerTopology* const tTopo = tTopoHandle.product();
186 
187  resetSiStripCertificationMEs(dqm_store);
188  std::string mdir = "MechanicalView";
189  dqm_store.cd();
190  if (!SiStripUtility::goToDir(dqm_store, mdir))
191  return;
192  std::string mechanical_dir = dqm_store.pwd();
193  uint16_t nDetTot = 0;
194  uint16_t nFaultyTot = 0;
195  uint16_t nSToNTot = 0;
196  float sToNTot = 0.0;
197  SiStripFolderOrganizer folder_organizer;
198  int xbin = 0;
199  for (auto const& [name, subDetME] : SubDetMEsMap) {
200  ++xbin;
201  MonitorElement* me = subDetME.det_fractionME;
202  if (!me)
203  continue;
204  std::string tag = subDetME.subdet_tag;
205  std::string bad_module_folder = mechanical_dir + "/" + subDetME.folder_name + "/" + "BadModuleList";
206  std::vector<MonitorElement*> faulty_detMEs = dqm_store.getContents(bad_module_folder);
207 
208  uint16_t ndet_subdet = 0;
209  uint16_t nfaulty_subdet = 0;
210  int nlayer = subDetME.n_layer;
211  int ybin = 0;
212  for (int ilayer = 0; ilayer < nlayer; ilayer++) {
213  uint16_t ndet_layer = detCabling_->connectedNumber(tag, ilayer + 1);
214  ndet_subdet += ndet_layer;
215  ybin++;
216  uint16_t nfaulty_layer = 0;
217  for (auto me : faulty_detMEs) {
218  if (me->kind() != MonitorElement::Kind::INT)
219  continue;
220  if (me->getIntValue() == 0)
221  continue;
222  uint32_t detId = atoi(me->getName().c_str());
223  std::pair<std::string, int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detId, tTopo, false);
224  if (abs(det_layer_pair.second) == ilayer + 1)
225  nfaulty_layer++;
226  }
227 
228  nfaulty_subdet += nfaulty_layer;
229  float fraction_layer = -1.0;
230  if (ndet_layer > 0)
231  fraction_layer = 1 - ((nfaulty_layer * 1.0) / ndet_layer);
233  SiStripCertificationSummaryMap->Fill(xbin, ilayer + 1, fraction_layer);
234  }
235  if (ybin <= SiStripCertificationSummaryMap->getNbinsY()) {
236  for (int k = ybin + 1; k <= SiStripCertificationSummaryMap->getNbinsY(); k++)
237  SiStripCertificationSummaryMap->Fill(xbin, k, -1.0);
238  }
239  float fraction_subdet = -1.0;
240  if (ndet_subdet > 0)
241  fraction_subdet = 1 - ((nfaulty_subdet * 1.0) / ndet_subdet);
242  // Check S/N status flag and use the minimum between the two
243  std::string full_path = mechanical_dir.substr(0, mechanical_dir.find_last_of('/')) +
244  "/EventInfo/reportSummaryContents/SiStrip_SToNFlag_" + name;
245  MonitorElement* me_ston = dqm_store.get(full_path);
246  me->Reset();
247  if (me_ston && me_ston->kind() == MonitorElement::Kind::REAL) {
248  float ston_flg = me_ston->getFloatValue();
249  sToNTot += ston_flg;
250  nSToNTot++;
251  me->Fill(fminf(fraction_subdet, ston_flg));
252  } else
253  me->Fill(fraction_subdet);
254  nDetTot += ndet_subdet;
255  nFaultyTot += nfaulty_subdet;
256  }
257  float fraction_global = -1.0;
258  if (nDetTot > 0)
259  fraction_global = 1.0 - ((nFaultyTot * 1.0) / nDetTot);
260  float ston_frac_global = 1.0;
261  if (nSToNTot > 0)
262  ston_frac_global = sToNTot / nSToNTot;
263  SiStripCertification->Fill(fminf(fraction_global, ston_frac_global));
264 }

References funct::abs(), dqm::implementation::DQMStore::cd(), SiStripDetCabling::connectedNumber(), detCabling_, dqm::impl::MonitorElement::Fill(), edm::EventSetup::get(), get, dqm::implementation::IGetter::get(), dqm::implementation::IGetter::getContents(), dqm::impl::MonitorElement::getFloatValue(), dqm::impl::MonitorElement::getNbinsY(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripUtility::goToDir(), MonitorElementData::INT, dqmdumpme::k, dqm::impl::MonitorElement::kind(), hlt_dqm_clientPB-live_cfg::me, Skims_PA_cff::name, edm::ESHandle< T >::product(), dqm::implementation::DQMStore::pwd(), MonitorElementData::REAL, resetSiStripCertificationMEs(), SiStripCertification, sistripCertificationBooked_, SiStripCertificationSummaryMap, AlCaHLTBitMon_QueryRunRegistry::string, SubDetMEsMap, and GlobalPosition_Frontier_DevDB_cff::tag.

Referenced by endRun().

◆ fillSiStripCertificationMEsAtLumi()

void SiStripCertificationInfo::fillSiStripCertificationMEsAtLumi ( DQMStore dqm_store)
private

Definition at line 302 of file SiStripCertificationInfo.cc.

302  {
304  edm::LogError("SiStripCertificationInfo")
305  << " SiStripCertificationInfo::fillSiStripCertificationMEsAtLumi : MEs missing ";
306  return;
307  }
308  resetSiStripCertificationMEs(dqm_store);
309  dqm_store.cd();
310  std::string strip_dir = "";
311  SiStripUtility::getTopFolderPath(dqm_store, "SiStrip", strip_dir);
312  if (strip_dir.empty())
313  strip_dir = "SiStrip";
314 
315  std::string full_path;
316  float dcs_flag = 1.0;
317  float dqm_flag = 1.0;
318  for (auto const& [type, subDetME] : SubDetMEsMap) {
319  full_path = strip_dir + "/EventInfo/DCSContents/SiStrip_" + type;
320  MonitorElement* me_dcs = dqm_store.get(full_path);
321  if (me_dcs && me_dcs->kind() == MonitorElement::Kind::REAL)
322  dcs_flag = me_dcs->getFloatValue();
323  full_path = strip_dir + "/EventInfo/reportSummaryContents/SiStrip_" + type;
324  MonitorElement* me_dqm = dqm_store.get(full_path);
325  if (me_dqm && me_dqm->kind() == MonitorElement::Kind::REAL)
326  dqm_flag = me_dqm->getFloatValue();
327  subDetME.det_fractionME->Reset();
328  subDetME.det_fractionME->Fill(fminf(dqm_flag, dcs_flag));
329  }
330  dcs_flag = 1.0;
331  dqm_flag = 1.0;
332  full_path = strip_dir + "/EventInfo/reportSummary";
333  MonitorElement* me_dqm = dqm_store.get(full_path);
334  if (me_dqm && me_dqm->kind() == MonitorElement::Kind::REAL)
335  dqm_flag = me_dqm->getFloatValue();
336  full_path = strip_dir + "/EventInfo/DCSSummary";
337  MonitorElement* me_dcs = dqm_store.get(full_path);
338  if (me_dcs && me_dcs->kind() == MonitorElement::Kind::REAL)
339  dcs_flag = me_dcs->getFloatValue();
341  SiStripCertification->Fill(fminf(dqm_flag, dcs_flag));
342 }

References dqm::implementation::DQMStore::cd(), dqm::impl::MonitorElement::Fill(), dqm::implementation::IGetter::get(), dqm::impl::MonitorElement::getFloatValue(), SiStripUtility::getTopFolderPath(), dqm::impl::MonitorElement::kind(), MonitorElementData::REAL, dqm::impl::MonitorElement::Reset(), resetSiStripCertificationMEs(), SiStripCertification, sistripCertificationBooked_, AlCaHLTBitMon_QueryRunRegistry::string, and SubDetMEsMap.

Referenced by endLuminosityBlock().

◆ resetSiStripCertificationMEs()

void SiStripCertificationInfo::resetSiStripCertificationMEs ( DQMStore dqm_store)
private

Member Data Documentation

◆ detCabling_

edm::ESHandle<SiStripDetCabling> SiStripCertificationInfo::detCabling_ {}
private

Definition at line 75 of file SiStripCertificationInfo.h.

Referenced by beginRun(), and fillSiStripCertificationMEs().

◆ m_cacheID_

unsigned long long SiStripCertificationInfo::m_cacheID_ {}
private

Definition at line 73 of file SiStripCertificationInfo.h.

Referenced by beginRun().

◆ nFEDConnected_

int SiStripCertificationInfo::nFEDConnected_ {}
private

Definition at line 77 of file SiStripCertificationInfo.h.

Referenced by beginRun(), endLuminosityBlock(), and endRun().

◆ SiStripCertification

MonitorElement* SiStripCertificationInfo::SiStripCertification {nullptr}
private

◆ sistripCertificationBooked_

bool SiStripCertificationInfo::sistripCertificationBooked_ {false}
private

◆ SiStripCertificationMap

MonitorElement* SiStripCertificationInfo::SiStripCertificationMap {nullptr}
private

Definition at line 68 of file SiStripCertificationInfo.h.

◆ SiStripCertificationSummaryMap

MonitorElement* SiStripCertificationInfo::SiStripCertificationSummaryMap {nullptr}
private

◆ SubDetMEsMap

std::map<std::string, SubDetMEs> SiStripCertificationInfo::SubDetMEsMap {}
private
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
dqm::implementation::IGetter::getContents
virtual std::vector< dqm::harvesting::MonitorElement * > getContents(std::string const &path) const
Definition: DQMStore.cc:593
dqm::implementation::IBooker::bookFloat
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:80
MonitorElementData::Kind::INT
TrackerTopology
Definition: TrackerTopology.h:16
SiStripCertificationInfo::resetSiStripCertificationMEs
void resetSiStripCertificationMEs(DQMStore &dqm_store)
Definition: SiStripCertificationInfo.cc:268
cms::cuda::assert
assert(be >=bs)
RunInfo::m_fed_in
std::vector< int > m_fed_in
Definition: RunInfo.h:25
dqm::legacy::MonitorElement
Definition: MonitorElement.h:461
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
SiStripCertificationInfo::fillSiStripCertificationMEsAtLumi
void fillSiStripCertificationMEsAtLumi(DQMStore &dqm_store)
Definition: SiStripCertificationInfo.cc:302
dqm::impl::MonitorElement::kind
Kind kind() const
Get the type of the monitor element.
Definition: MonitorElement.h:247
SiStripCertificationInfo::detCabling_
edm::ESHandle< SiStripDetCabling > detCabling_
Definition: SiStripCertificationInfo.h:75
SiStripFolderOrganizer::GetSubDetAndLayer
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=false)
Definition: SiStripFolderOrganizer.cc:106
GlobalPosition_Frontier_DevDB_cff.tag
tag
Definition: GlobalPosition_Frontier_DevDB_cff.py:11
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
dqm::impl::MonitorElement::Reset
virtual void Reset()
Remove all data from the ME, keept the empty histogram with all its settings.
Definition: MonitorElement.cc:354
edm::ESHandle
Definition: DTSurvey.h:22
dqm::implementation::DQMStore::setCurrentFolder
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:569
SiStripCertificationInfo::nFEDConnected_
int nFEDConnected_
Definition: SiStripCertificationInfo.h:77
SiStripCertificationInfo::sistripCertificationBooked_
bool sistripCertificationBooked_
Definition: SiStripCertificationInfo.h:72
dqmdumpme.k
k
Definition: dqmdumpme.py:60
SiStripDetCablingRcd
Definition: SiStripDependentRecords.h:19
RunInfoRcd
Definition: RunSummaryRcd.h:26
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
dqm::impl::MonitorElement::getFloatValue
virtual double getFloatValue() const
Definition: MonitorElement.cc:917
dqm::implementation::DQMStore::pwd
std::string pwd() override
Definition: DQMStore.h:567
SiStripCertificationInfo::fillDummySiStripCertification
void fillDummySiStripCertification(DQMStore &dqm_store)
Definition: SiStripCertificationInfo.cc:283
FEDNumbering::MAXSiStripFEDID
Definition: FEDNumbering.h:30
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
dqm::impl::MonitorElement::getNbinsY
virtual int getNbinsY() const
get # of bins in Y-axis
Definition: MonitorElement.cc:580
sipixeldigitoraw
Definition: SiPixelDigiToRaw.cc:39
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
gainCalibHelper::gainCalibPI::type
type
Definition: SiPixelGainCalibHelper.h:39
SiStripUtility::goToDir
static bool goToDir(DQMStore &dqm_store, std::string const &name)
Definition: SiStripUtility.cc:252
edm::Service
Definition: Service.h:30
dqm::impl::MonitorElement::setBinLabel
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:771
SiStripCertificationInfo::SubDetMEsMap
std::map< std::string, SubDetMEs > SubDetMEsMap
Definition: SiStripCertificationInfo.h:69
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
get
#define get
edm::ESHandleBase::isValid
bool isValid() const
Definition: ESHandle.h:44
SiStripCertificationInfo::bookSiStripCertificationMEs
void bookSiStripCertificationMEs(DQMStore &dqm_store)
Definition: SiStripCertificationInfo.cc:68
SiStripCertificationInfo::SiStripCertificationSummaryMap
MonitorElement * SiStripCertificationSummaryMap
Definition: SiStripCertificationInfo.h:70
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
dqm::impl::MonitorElement::getNbinsX
virtual int getNbinsX() const
get # of bins in X-axis
Definition: MonitorElement.cc:574
SiStripCertificationInfo::fillSiStripCertificationMEs
void fillSiStripCertificationMEs(DQMStore &dqm_store, edm::EventSetup const &eSetup)
Definition: SiStripCertificationInfo.cc:175
SiStripFolderOrganizer
Definition: SiStripFolderOrganizer.h:27
dqm::implementation::IGetter::get
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:651
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
SiStripCertificationInfo::SiStripCertification
MonitorElement * SiStripCertification
Definition: SiStripCertificationInfo.h:67
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
hlt_dqm_clientPB-live_cfg.me
me
Definition: hlt_dqm_clientPB-live_cfg.py:61
SiStripCertificationInfo::m_cacheID_
unsigned long long m_cacheID_
Definition: SiStripCertificationInfo.h:73
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
edm::InputTag
Definition: InputTag.h:15
MonitorElementData::Kind::REAL
SiStripUtility::getTopFolderPath
static void getTopFolderPath(DQMStore &dqm_store, std::string const &top_dir, std::string &path)
Definition: SiStripUtility.cc:362
dqm::implementation::DQMStore::cd
void cd() override
Definition: DQMStore.h:564
SiStripDetCabling::connectedNumber
uint32_t connectedNumber(const std::string &subDet, const uint16_t layer) const
Definition: SiStripDetCabling.h:79
FEDNumbering::MINSiStripFEDID
Definition: FEDNumbering.h:29