44 edm::LogInfo(
"SiStripBadComponentsDQMService") <<
"[SiStripBadComponentsDQMService::SiStripBadComponentsDQMService]";
48 edm::LogInfo(
"SiStripBadComponentsDQMService") <<
"[SiStripBadComponentsDQMService::~SiStripBadComponentsDQMService]";
57 ss << SiStripDQMPopConSourceHandler<SiStripBadStrip>::getMetaDataString();
65 std::vector<std::string>& mfolders) {
66 if (std::string::npos != pwd.find(
"module_")) {
68 mfolders.push_back(pwd);
70 for (
const auto& subdir : getter.
getSubdirs()) {
72 getModuleFolderList(getter, subdir, mfolders);
89 const std::string mechanicalview_dir =
"MechanicalView";
90 if (!getter.
dirExists(mechanicalview_dir))
93 const std::vector<std::string> subdet_folder = {
"TIB",
"TOB",
"TEC/side_1",
"TEC/side_2",
"TID/side_1",
"TID/side_2"};
96 int nDetsWithErrorTotal = 0;
97 for (
const auto& im : subdet_folder) {
104 std::vector<std::string> module_folders;
105 getModuleFolderList(getter, dname, module_folders);
106 int nDets = module_folders.size();
108 int nDetsWithError = 0;
109 const std::string bad_module_folder = dname +
"/" +
"BadModuleList";
111 if (getter.
dirExists(bad_module_folder)) {
114 std::cout <<
me->getName() <<
" " <<
me->getIntValue() << std::endl;
115 uint32_t detId = std::stoul(
me->getName());
116 short flag =
me->getIntValue();
118 std::vector<unsigned int> theSiStripVector;
120 unsigned short firstBadStrip = 0, NconsecutiveBadStrips = 0;
121 unsigned int theBadStripRange;
126 NconsecutiveBadStrips = detInfo.getNumberOfApvsAndStripLength(detId).first * 128;
128 theBadStripRange =
m_obj.
encode(firstBadStrip, NconsecutiveBadStrips, flag);
130 LogDebug(
"SiStripBadComponentsDQMService") <<
"detid " << detId <<
" \t"
131 <<
", flag " << flag << std::endl;
133 theSiStripVector.push_back(theBadStripRange);
139 <<
"[SiStripBadFiberBuilder::analyze] detid already exists" << std::endl;
144 nDetsWithErrorTotal += nDetsWithError;
T getUntrackedParameter(std::string const &, T const &) const
void initES(const edm::EventSetup &) override
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
virtual DQM_DEPRECATED std::vector< std::string > getSubdirs() const
#define DEFINE_FWK_MODULE(type)
~SiStripPopConBadComponentsHandlerFromDQM() override
virtual std::vector< dqm::harvesting::MonitorElement * > getContents(std::string const &path) const
virtual bool dirExists(std::string const &path) const
Log< level::Error, false > LogError
const uint16_t range(const Frame &aFrame)
bool getData(T &iHolder) const
void dqmEndJob(DQMStore::IBooker &booker, DQMStore::IGetter &getter) override
SiStripDetInfo read(std::string filePath)
Log< level::Info, false > LogInfo
SiStripPopConBadComponentsHandlerFromDQM(const edm::ParameterSet &iConfig, edm::ConsumesCollector &&iC)
const TrackerTopology * trackerTopo_
std::pair< ContainerIterator, ContainerIterator > Range
std::string fullPath() const
static constexpr char const *const kDefaultFile
dqm::legacy::MonitorElement MonitorElement
std::string getMetaDataString() const override
bool put(const uint32_t &detID, const InputVector &vect)
dqm::legacy::DQMStore DQMStore
unsigned int encode(const unsigned short &first, const unsigned short &NconsecutiveBadStrips, const unsigned short &flag=0)
void printSummary(std::stringstream &ss, const TrackerTopology *trackerTopo) const
SiStripBadStrip * getObj() const override