CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
SiStripDaqInfo Class Reference
Inheritance diagram for SiStripDaqInfo:
edm::one::EDAnalyzer< edm::one::SharedResources, edm::one::WatchRuns > edm::one::EDAnalyzerBase edm::EDConsumerBase

Classes

struct  SubDetMEs
 

Public Types

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

Public Member Functions

 SiStripDaqInfo (edm::ParameterSet const &ps)
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::SharedResources, edm::one::WatchRuns >
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () 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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices 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 bookStatus (DQMStore &dqm_store)
 
void endRun (edm::Run const &run, edm::EventSetup const &eSetup) override
 
void fillDummyStatus (DQMStore &dqm_store)
 
void findExcludedModule (DQMStore &dqm_store, unsigned short fed_id, TrackerTopology const *tTopo)
 
void readFedIds (const SiStripFedCabling *fedcabling, edm::EventSetup const &iSetup)
 
void readSubdetFedFractions (DQMStore &dqm_store, std::vector< int > const &fed_ids, edm::EventSetup const &iSetup)
 

Private Attributes

bool bookedStatus_ {false}
 
MonitorElementdaqFraction_ {nullptr}
 
const SiStripFedCablingfedCabling_
 
edm::ESGetToken< SiStripFedCabling, SiStripFedCablingRcdfedCablingToken_
 
edm::ESWatcher< SiStripFedCablingRcdfedCablingWatcher_
 
int nFedTotal_ {}
 
edm::ESGetToken< RunInfo, RunInfoRcdrunInfoToken_
 
std::map< std::string, std::vector< unsigned short > > subDetFedMap_
 
std::map< std::string, SubDetMEssubDetMEsMap_
 
edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtTopoToken_
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- 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 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)
 

Detailed Description

Definition at line 33 of file SiStripDaqInfo.cc.

Member Typedef Documentation

◆ DQMStore

Definition at line 36 of file SiStripDaqInfo.cc.

◆ MonitorElement

Definition at line 35 of file SiStripDaqInfo.cc.

Constructor & Destructor Documentation

◆ SiStripDaqInfo()

SiStripDaqInfo::SiStripDaqInfo ( edm::ParameterSet const &  ps)

Definition at line 72 of file SiStripDaqInfo.cc.

73  : fedCablingToken_{esConsumes<edm::Transition::BeginRun>()},
74  tTopoToken_{esConsumes<edm::Transition::BeginRun>()},
75  runInfoToken_{esConsumes<edm::Transition::BeginRun>()} {
76  usesResource("DQMStore");
77  edm::LogInfo("SiStripDaqInfo") << "SiStripDaqInfo::Deleting SiStripDaqInfo ";
78 }
edm::ESGetToken< RunInfo, RunInfoRcd > runInfoToken_
edm::ESGetToken< SiStripFedCabling, SiStripFedCablingRcd > fedCablingToken_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
Log< level::Info, false > LogInfo

Member Function Documentation

◆ analyze()

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

Implements edm::one::EDAnalyzerBase.

Definition at line 179 of file SiStripDaqInfo.cc.

179 {}

◆ beginRun()

void SiStripDaqInfo::beginRun ( edm::Run const &  run,
edm::EventSetup const &  eSetup 
)
overrideprivate

Definition at line 137 of file SiStripDaqInfo.cc.

References bookedStatus_, bookStatus(), edm::ESWatcher< T >::check(), ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), daqFraction_, fedCabling_, fedCablingToken_, fedCablingWatcher_, dqm::impl::MonitorElement::Fill(), fillDummyStatus(), edm::EventSetup::getData(), edm::EventSetup::getHandle(), FEDNumbering::MAXSiStripFEDID, FEDNumbering::MINSiStripFEDID, nFedTotal_, readFedIds(), readSubdetFedFractions(), dqm::impl::MonitorElement::Reset(), runInfoToken_, and edm::EventSetup::tryToGet().

137  {
138  edm::LogInfo("SiStripDaqInfo") << "SiStripDaqInfo:: Begining of Run";
139 
140  // Check latest Fed cabling and create TrackerMapCreator
141  if (fedCablingWatcher_.check(eSetup)) {
142  fedCabling_ = &eSetup.getData(fedCablingToken_);
143  readFedIds(fedCabling_, eSetup);
144  }
145  auto& dqm_store = *edm::Service<DQMStore>{};
146  if (!bookedStatus_) {
147  bookStatus(dqm_store);
148  }
149  if (nFedTotal_ == 0) {
150  fillDummyStatus(dqm_store);
151  edm::LogInfo("SiStripDaqInfo") << " SiStripDaqInfo::No FEDs Connected!!!";
152  return;
153  }
154 
155  float nFEDConnected = 0.0;
156  constexpr int siStripFedIdMin{FEDNumbering::MINSiStripFEDID};
157  constexpr int siStripFedIdMax{FEDNumbering::MAXSiStripFEDID};
158 
159  if (!eSetup.tryToGet<RunInfoRcd>())
160  return;
161  auto sumFED = eSetup.getHandle(runInfoToken_);
162  if (!sumFED)
163  return;
164 
165  auto const& fedsInIds = sumFED->m_fed_in;
166  for (auto const fedID : fedsInIds) {
167  if (fedID >= siStripFedIdMin && fedID <= siStripFedIdMax)
168  ++nFEDConnected;
169  }
170  edm::LogInfo("SiStripDaqInfo") << " SiStripDaqInfo::Total # of FEDs " << nFedTotal_ << " Connected FEDs "
171  << nFEDConnected;
172  if (nFEDConnected > 0) {
173  daqFraction_->Reset();
174  daqFraction_->Fill(nFEDConnected / nFedTotal_);
175  readSubdetFedFractions(dqm_store, fedsInIds, eSetup);
176  }
177 }
void readSubdetFedFractions(DQMStore &dqm_store, std::vector< int > const &fed_ids, edm::EventSetup const &iSetup)
edm::ESGetToken< RunInfo, RunInfoRcd > runInfoToken_
edm::ESGetToken< SiStripFedCabling, SiStripFedCablingRcd > fedCablingToken_
void bookStatus(DQMStore &dqm_store)
void readFedIds(const SiStripFedCabling *fedcabling, edm::EventSetup const &iSetup)
void Fill(long long x)
virtual void Reset()
Remove all data from the ME, keept the empty histogram with all its settings.
Log< level::Info, false > LogInfo
edm::ESWatcher< SiStripFedCablingRcd > fedCablingWatcher_
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:57
const SiStripFedCabling * fedCabling_
MonitorElement * daqFraction_
void fillDummyStatus(DQMStore &dqm_store)

◆ bookStatus()

void SiStripDaqInfo::bookStatus ( DQMStore dqm_store)
private

Definition at line 83 of file SiStripDaqInfo.cc.

References bookedStatus_, dqm::implementation::IBooker::bookFloat(), dqm::implementation::DQMStore::cd(), daqFraction_, SiStripUtility::getTopFolderPath(), dqm::implementation::DQMStore::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and subDetMEsMap_.

Referenced by beginRun(), and fillDummyStatus().

83  {
84  edm::LogInfo("SiStripDcsInfo") << " SiStripDaqInfo::bookStatus " << bookedStatus_;
85  if (bookedStatus_)
86  return;
87 
88  dqm_store.cd();
89  std::string strip_dir = "";
90  SiStripUtility::getTopFolderPath(dqm_store, "SiStrip", strip_dir);
91  if (!strip_dir.empty())
92  dqm_store.setCurrentFolder(strip_dir + "/EventInfo");
93  else
94  dqm_store.setCurrentFolder("SiStrip/EventInfo");
95 
96  daqFraction_ = dqm_store.bookFloat("DAQSummary");
97 
98  dqm_store.cd();
99  if (!strip_dir.empty())
100  dqm_store.setCurrentFolder(strip_dir + "/EventInfo/DAQContents");
101  else
102  dqm_store.setCurrentFolder("SiStrip/EventInfo/DAQContents");
103 
104  std::vector<std::string> det_types;
105  det_types.push_back("TIB");
106  det_types.push_back("TOB");
107  det_types.push_back("TIDF");
108  det_types.push_back("TIDB");
109  det_types.push_back("TECF");
110  det_types.push_back("TECB");
111 
112  for (auto const& det : det_types) {
113  std::string const me_name{"SiStrip_" + det};
114  SubDetMEs local_mes{dqm_store.bookFloat(me_name), 0};
115  subDetMEsMap_.emplace(det, local_mes);
116  }
117  bookedStatus_ = true;
118  dqm_store.cd();
119 }
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:80
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:647
Log< level::Info, false > LogInfo
std::map< std::string, SubDetMEs > subDetMEsMap_
MonitorElement * daqFraction_
static void getTopFolderPath(DQMStore &dqm_store, std::string const &top_dir, std::string &path)

◆ endRun()

void SiStripDaqInfo::endRun ( edm::Run const &  run,
edm::EventSetup const &  eSetup 
)
inlineoverrideprivate

Definition at line 43 of file SiStripDaqInfo.cc.

43 {};

◆ fillDummyStatus()

void SiStripDaqInfo::fillDummyStatus ( DQMStore dqm_store)
private

Definition at line 123 of file SiStripDaqInfo.cc.

References cms::cuda::assert(), bookedStatus_, bookStatus(), daqFraction_, dqm::impl::MonitorElement::Fill(), dqm::impl::MonitorElement::Reset(), and subDetMEsMap_.

Referenced by beginRun().

123  {
124  if (!bookedStatus_) {
125  bookStatus(dqm_store);
126  }
128 
129  for (auto& pr : subDetMEsMap_) {
130  pr.second.daqFractionME->Reset();
131  pr.second.daqFractionME->Fill(-1.0);
132  }
133  daqFraction_->Reset();
134  daqFraction_->Fill(-1.0);
135 }
void bookStatus(DQMStore &dqm_store)
assert(be >=bs)
void Fill(long long x)
virtual void Reset()
Remove all data from the ME, keept the empty histogram with all its settings.
std::map< std::string, SubDetMEs > subDetMEsMap_
MonitorElement * daqFraction_

◆ findExcludedModule()

void SiStripDaqInfo::findExcludedModule ( DQMStore dqm_store,
unsigned short  fed_id,
TrackerTopology const *  tTopo 
)
private

Definition at line 257 of file SiStripDaqInfo.cc.

References dqm::implementation::IBooker::bookInt(), dqm::implementation::DQMStore::cd(), getInfo::conn, hcalRecHitTable_cff::detId, dqm::implementation::IGetter::dirExists(), fedCabling_, SiStripFedCabling::fedConnections(), RemoveAddSevLevel::flag, dqm::implementation::IGetter::get(), SiStripFolderOrganizer::getSubDetFolder(), SiStripUtility::goToDir(), hlt_dqm_clientPB-live_cfg::me, dqm::implementation::DQMStore::pwd(), SiStripUtility::setBadModuleFlag(), dqm::implementation::DQMStore::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and makeGlobalPositionRcd_cfg::tag.

Referenced by readSubdetFedFractions().

259  {
260  dqm_store.cd();
261  std::string mdir = "MechanicalView";
262  if (!SiStripUtility::goToDir(dqm_store, mdir)) {
263  dqm_store.setCurrentFolder("SiStrip/" + mdir);
264  }
265  std::string mechanical_dir = dqm_store.pwd();
266  auto fedChannels = fedCabling_->fedConnections(fed_id);
267  int ichannel = 0;
268  std::string tag = "ExcludedFedChannel";
269  std::string bad_module_folder;
270  for (auto const& conn : fedChannels) {
271  if (!conn.isConnected())
272  continue;
273  uint32_t detId = conn.detId();
274  if (detId == 0 || detId == 0xFFFFFFFF)
275  continue;
276 
277  ichannel++;
278  if (ichannel == 1) {
279  std::string subdet_folder;
280  SiStripFolderOrganizer folder_organizer;
281  folder_organizer.getSubDetFolder(detId, tTopo, subdet_folder);
282  if (!dqm_store.dirExists(subdet_folder)) {
283  subdet_folder = mechanical_dir + subdet_folder.substr(subdet_folder.find(mdir) + mdir.size());
284  }
285  bad_module_folder = subdet_folder + "/" + "BadModuleList";
286  dqm_store.setCurrentFolder(bad_module_folder);
287  }
288  std::ostringstream detid_str;
289  detid_str << detId;
290  std::string full_path = bad_module_folder + "/" + detid_str.str();
291  MonitorElement* me = dqm_store.get(full_path);
292  uint16_t flag = 0;
293  if (me) {
294  flag = me->getIntValue();
295  me->Reset();
296  } else
297  me = dqm_store.bookInt(detid_str.str());
299  me->Fill(flag);
300  }
301  dqm_store.cd();
302 }
static void setBadModuleFlag(std::string &hname, uint16_t &flg)
void getSubDetFolder(const uint32_t &detid, const TrackerTopology *tTopo, std::string &folder_name)
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:647
virtual bool dirExists(std::string const &path) const
Definition: DQMStore.cc:769
std::string pwd() override
Definition: DQMStore.h:645
MonitorElement * bookInt(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:73
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:712
const SiStripFedCabling * fedCabling_
static bool goToDir(DQMStore &dqm_store, std::string const &name)
conn
Definition: getInfo.py:9
ConnsConstIterRange fedConnections(uint16_t fed_id) const

◆ readFedIds()

void SiStripDaqInfo::readFedIds ( const SiStripFedCabling fedcabling,
edm::EventSetup const &  iSetup 
)
private

Definition at line 184 of file SiStripDaqInfo.cc.

References getInfo::conn, hcalRecHitTable_cff::detId, fedCabling_, SiStripFedCabling::fedConnections(), SiStripFedCabling::fedIds(), l1tstage2emulator_dqm_sourceclient-live_cfg::feds, edm::EventSetup::getData(), SiStripUtility::getSubDetectorTag(), nFedTotal_, AlCaHLTBitMon_QueryRunRegistry::string, xuti::subdet_tag(), subDetFedMap_, and tTopoToken_.

Referenced by beginRun().

184  {
185  //Retrieve tracker topology from geometry
186  const auto tTopo = &iSetup.getData(tTopoToken_);
187 
188  auto feds = fedCabling_->fedIds();
189 
190  nFedTotal_ = feds.size();
191  for (auto const fed : feds) {
192  auto fedChannels = fedCabling_->fedConnections(fed);
193  for (auto const& conn : fedChannels) {
194  if (!conn.isConnected())
195  continue;
196  uint32_t detId = conn.detId();
197  if (detId == 0 || detId == 0xFFFFFFFF)
198  continue;
201  subDetFedMap_[subdet_tag].push_back(fed);
202  break;
203  }
204  }
205 }
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
std::map< std::string, std::vector< unsigned short > > subDetFedMap_
const std::string subdet_tag("SubDet")
const SiStripFedCabling * fedCabling_
static void getSubDetectorTag(uint32_t det_id, std::string &subdet_tag, const TrackerTopology *tTopo)
conn
Definition: getInfo.py:9
FedsConstIterRange fedIds() const
ConnsConstIterRange fedConnections(uint16_t fed_id) const

◆ readSubdetFedFractions()

void SiStripDaqInfo::readSubdetFedFractions ( DQMStore dqm_store,
std::vector< int > const &  fed_ids,
edm::EventSetup const &  iSetup 
)
private

Definition at line 209 of file SiStripDaqInfo.cc.

References ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), l1tstage2_dqm_sourceclient-live_cfg::fedId, findExcludedModule(), edm::EventSetup::getData(), FEDNumbering::MAXSiStripFEDID, FEDNumbering::MINSiStripFEDID, Skims_PA_cff::name, subDetFedMap_, subDetMEsMap_, and tTopoToken_.

Referenced by beginRun().

211  {
212  //Retrieve tracker topology from geometry
213  const auto tTopo = &iSetup.getData(tTopoToken_);
214 
215  constexpr int siStripFedIdMin{FEDNumbering::MINSiStripFEDID};
216  constexpr int siStripFedIdMax{FEDNumbering::MAXSiStripFEDID};
217 
218  // initialiase
219  for (auto const& pr : subDetFedMap_) {
220  auto const& name = pr.first;
221  auto iPos = subDetMEsMap_.find(name);
222  if (iPos == subDetMEsMap_.end())
223  continue;
224  iPos->second.connectedFeds = 0;
225  }
226  // count sub detector feds
227 
228  for (auto const& [name, subdetIds] : subDetFedMap_) {
229  auto iPos = subDetMEsMap_.find(name);
230  if (iPos == subDetMEsMap_.end())
231  continue;
232  iPos->second.connectedFeds = 0;
233  for (auto const subdetId : subdetIds) {
234  bool fedid_found = false;
235  for (auto const fedId : fed_ids) {
236  if (fedId < siStripFedIdMin || fedId > siStripFedIdMax)
237  continue;
238  if (subdetId == fedId) {
239  fedid_found = true;
240  iPos->second.connectedFeds++;
241  break;
242  }
243  }
244  if (!fedid_found)
245  findExcludedModule(dqm_store, subdetId, tTopo);
246  }
247  if (auto nFedSubDet = subdetIds.size(); nFedSubDet > 0) {
248  iPos->second.daqFractionME->Reset();
249  int const nFedsConnected = iPos->second.connectedFeds;
250  iPos->second.daqFractionME->Fill(nFedsConnected * 1.0 / nFedSubDet);
251  }
252  }
253 }
void findExcludedModule(DQMStore &dqm_store, unsigned short fed_id, TrackerTopology const *tTopo)
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
std::map< std::string, std::vector< unsigned short > > subDetFedMap_
std::map< std::string, SubDetMEs > subDetMEsMap_

Member Data Documentation

◆ bookedStatus_

bool SiStripDaqInfo::bookedStatus_ {false}
private

Definition at line 63 of file SiStripDaqInfo.cc.

Referenced by beginRun(), bookStatus(), and fillDummyStatus().

◆ daqFraction_

MonitorElement* SiStripDaqInfo::daqFraction_ {nullptr}
private

Definition at line 53 of file SiStripDaqInfo.cc.

Referenced by beginRun(), bookStatus(), and fillDummyStatus().

◆ fedCabling_

const SiStripFedCabling* SiStripDaqInfo::fedCabling_
private

Definition at line 65 of file SiStripDaqInfo.cc.

Referenced by beginRun(), findExcludedModule(), and readFedIds().

◆ fedCablingToken_

edm::ESGetToken<SiStripFedCabling, SiStripFedCablingRcd> SiStripDaqInfo::fedCablingToken_
private

Definition at line 67 of file SiStripDaqInfo.cc.

Referenced by beginRun().

◆ fedCablingWatcher_

edm::ESWatcher<SiStripFedCablingRcd> SiStripDaqInfo::fedCablingWatcher_
private

Definition at line 66 of file SiStripDaqInfo.cc.

Referenced by beginRun().

◆ nFedTotal_

int SiStripDaqInfo::nFedTotal_ {}
private

Definition at line 62 of file SiStripDaqInfo.cc.

Referenced by beginRun(), and readFedIds().

◆ runInfoToken_

edm::ESGetToken<RunInfo, RunInfoRcd> SiStripDaqInfo::runInfoToken_
private

Definition at line 69 of file SiStripDaqInfo.cc.

Referenced by beginRun().

◆ subDetFedMap_

std::map<std::string, std::vector<unsigned short> > SiStripDaqInfo::subDetFedMap_
private

Definition at line 51 of file SiStripDaqInfo.cc.

Referenced by readFedIds(), and readSubdetFedFractions().

◆ subDetMEsMap_

std::map<std::string, SubDetMEs> SiStripDaqInfo::subDetMEsMap_
private

Definition at line 60 of file SiStripDaqInfo.cc.

Referenced by bookStatus(), fillDummyStatus(), and readSubdetFedFractions().

◆ tTopoToken_

edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> SiStripDaqInfo::tTopoToken_
private

Definition at line 68 of file SiStripDaqInfo.cc.

Referenced by readFedIds(), and readSubdetFedFractions().