|
|
Go to the documentation of this file.
26 : bookedStatus_(
false), nSubSystem_(6), qualityLabel_(pSet.getParameter<
std::
string>(
"StripQualityLabel")) {
30 LogDebug(
"SiStripBadComponentInfo") <<
"SiStripBadComponentInfo::Deleting SiStripBadComponentInfo ";
34 LogDebug(
"SiStripBadComponentInfo") <<
"SiStripBadComponentInfo::Deleting SiStripBadComponentInfo ";
41 LogDebug(
"SiStripBadComponentInfo") <<
"SiStripBadComponentInfo:: Begining of Run";
56 for (
size_t i = 0;
i < BC.size(); ++
i) {
106 uint32_t detid = rp->detid;
108 int component = -999;
134 for (
int it = 0; it < sqrange.second - sqrange.first; it++) {
137 ?
mapBadStrip.at(std::make_pair(subdet, component))
146 LogDebug(
"SiStripBadComponentInfo") <<
"SiStripBadComponentInfo:: End of Run";
151 LogDebug(
"SiStripBadComponentInfo") <<
"SiStripBadComponentInfo::dqmEndRun";
153 auto mergedQuality = std::make_unique<SiStripQuality>(*
siStripQuality_);
155 mergedQuality->add(fedErrQuality.get());
156 mergedQuality->cleanUp();
157 mergedQuality->fillBadComponents();
174 ibooker.
cd(
"SiStrip");
175 strip_dir = ibooker.
pwd();
178 <<
"SiStripBadComponentInfo::bookBadComponentHistos ==> " << strip_dir <<
" " << ibooker.
pwd() << std::endl;
179 if (!strip_dir.empty())
185 if (!strip_dir.empty())
190 htitle =
"SiStrip Bad APVs";
195 hname =
"BadFiberMap";
196 htitle =
"SiStrip Bad Fibers";
201 hname =
"BadStripMap";
202 htitle =
"SiStrip Bad Strips";
207 std::vector<std::string>
names;
208 names.push_back(
"TECB");
209 names.push_back(
"TECF");
210 names.push_back(
"TIB");
211 names.push_back(
"TIDB");
212 names.push_back(
"TIDF");
213 names.push_back(
"TOB");
215 for (
unsigned int i = 0;
i <
names.size();
i++) {
227 auto index = std::make_pair(xbin, component);
230 int ntot = std::bitset<16>(BC.
BadApvs & 0x3f).count();
236 int ntot = std::bitset<16>(BC.
BadFibers & 0x7).count();
245 for (
int k = 1;
k <
me->getNbinsY();
k++) {
246 auto index = std::make_pair(
i,
k);
252 me->setBinContent(
i,
me->getNbinsY(), sum);
T const * product() const
SiStripBadComponentInfo(edm::ParameterSet const &ps)
Constructor.
~SiStripBadComponentInfo() override
void endRun(edm::Run const &, edm::EventSetup const &) override
void createSummary(MonitorElement *me, const std::map< std::pair< int, int >, float > &map)
virtual void setCurrentFolder(std::string const &fullpath)
data decode(const unsigned int &value) const
MonitorElement * badStripME_
T getUntrackedParameter(std::string const &, T const &) const
ContainerIterator getDataVectorBegin() const
std::map< std::pair< int, int >, float > mapBadFiber
unsigned int tidWheel(const DetId &id) const
std::pair< ContainerIterator, ContainerIterator > Range
const std::vector< BadComponent > & getBadComponentList() const
edm::ESHandle< SiStripQuality > siStripQuality_
RegistryIterator getRegistryVectorBegin() const
#define DEFINE_FWK_MODULE(type)
void fillBadComponentMaps(const SiStripQuality *siStripQuality)
const std::string names[nVars_]
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
static constexpr auto TIB
std::unique_ptr< SiStripQuality > badStripFromFedErr(dqm::harvesting::DQMStore::IGetter &dqmStore, const SiStripFedCabling &fedCabling, float cutoff)
void bookBadComponentHistos(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
virtual std::string pwd()
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
std::map< std::pair< int, int >, float > mapBadAPV
MonitorElement * badFiberME_
unsigned int tidSide(const DetId &id) const
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)
bool addBadCompFromFedErr_
edm::ESHandle< TrackerTopology > tTopo_
unsigned int tobLayer(const DetId &id) const
static constexpr auto TEC
std::string qualityLabel_
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
void checkBadComponents(edm::EventSetup const &eSetup)
static constexpr auto TOB
std::map< std::pair< int, int >, float > mapBadStrip
Registry::const_iterator RegistryIterator
edm::ESHandle< SiStripFedCabling > fedCabling_
unsigned int tecWheel(const DetId &id) const
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * badAPVME_
RegistryIterator getRegistryVectorEnd() const
virtual bool dirExists(std::string const &path) const
static constexpr auto TID
unsigned int tibLayer(const DetId &id) const
unsigned int tecSide(const DetId &id) const