|
|
Go to the documentation of this file.
26 : bookedStatus_(
false),
30 tTopoToken_(esConsumes<edm::Transition::EndRun>()),
31 fedCablingToken_(esConsumes<edm::Transition::EndRun>()) {
32 addBadCompFromFedErr_ = pSet.getUntrackedParameter<
bool>(
"AddBadComponentsFromFedErrors",
false);
33 fedErrCutoff_ =
float(pSet.getUntrackedParameter<
double>(
"FedErrorBadComponentsCutoff", 0.8));
35 LogDebug(
"SiStripBadComponentInfo") <<
"SiStripBadComponentInfo::Deleting SiStripBadComponentInfo ";
39 LogDebug(
"SiStripBadComponentInfo") <<
"SiStripBadComponentInfo::Deleting SiStripBadComponentInfo ";
46 LogDebug(
"SiStripBadComponentInfo") <<
"SiStripBadComponentInfo:: Begining of Run";
61 for (
size_t i = 0;
i < BC.size(); ++
i) {
111 uint32_t detid = rp->detid;
113 int component = -999;
139 for (
int it = 0; it < sqrange.second - sqrange.first; it++) {
142 ?
mapBadStrip.at(std::make_pair(subdet, component))
151 LogDebug(
"SiStripBadComponentInfo") <<
"SiStripBadComponentInfo:: End of Run";
156 LogDebug(
"SiStripBadComponentInfo") <<
"SiStripBadComponentInfo::dqmEndRun";
158 auto mergedQuality = std::make_unique<SiStripQuality>(*
siStripQuality_);
160 mergedQuality->add(fedErrQuality.get());
161 mergedQuality->cleanUp();
162 mergedQuality->fillBadComponents();
179 ibooker.
cd(
"SiStrip");
180 strip_dir = ibooker.
pwd();
183 <<
"SiStripBadComponentInfo::bookBadComponentHistos ==> " << strip_dir <<
" " << ibooker.
pwd() << std::endl;
184 if (!strip_dir.empty())
190 if (!strip_dir.empty())
195 htitle =
"SiStrip Bad APVs";
200 hname =
"BadFiberMap";
201 htitle =
"SiStrip Bad Fibers";
206 hname =
"BadStripMap";
207 htitle =
"SiStrip Bad Strips";
212 std::vector<std::string>
names;
213 names.push_back(
"TECB");
214 names.push_back(
"TECF");
215 names.push_back(
"TIB");
216 names.push_back(
"TIDB");
217 names.push_back(
"TIDF");
218 names.push_back(
"TOB");
220 for (
unsigned int i = 0;
i <
names.size();
i++) {
232 auto index = std::make_pair(xbin, component);
235 int ntot = std::bitset<16>(BC.
BadApvs & 0x3f).count();
250 for (
int k = 1;
k <
me->getNbinsY();
k++) {
251 auto index = std::make_pair(
i,
k);
257 me->setBinContent(
i,
me->getNbinsY(), sum);
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
SiStripBadComponentInfo(edm::ParameterSet const &ps)
Constructor.
edm::ESGetToken< SiStripQuality, SiStripQualityRcd > qualityToken_
const SiStripQuality * siStripQuality_
std::unique_ptr< SiStripQuality > badStripFromFedErr(dqm::harvesting::DQMStore::IGetter &dqmStore, const SiStripFedCabling &fedCabling, float cutoff)
~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_
Log< level::Info, false > LogInfo
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
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
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_
bool getData(T &iHolder) const
const SiStripFedCabling * fedCabling_
unsigned int tobLayer(const DetId &id) const
static constexpr auto TEC
const TrackerTopology * tTopo_
edm::ESGetToken< SiStripFedCabling, SiStripFedCablingRcd > fedCablingToken_
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
T getParameter(std::string const &) const
Registry::const_iterator RegistryIterator
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