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);
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"};
95 for (
const auto& im : subdet_folder) {
102 std::vector<std::string> module_folders;
103 getModuleFolderList(getter,
dname, module_folders);
107 if (getter.
dirExists(bad_module_folder)) {
109 std::cout <<
me->getName() <<
" " <<
me->getIntValue() << std::endl;
110 uint32_t
detId = std::stoul(
me->getName());
111 short flag =
me->getIntValue();
113 std::vector<unsigned int> theSiStripVector;
115 unsigned short firstBadStrip = 0, NconsecutiveBadStrips = 0;
116 unsigned int theBadStripRange;
121 NconsecutiveBadStrips = detInfo.getNumberOfApvsAndStripLength(
detId).first * 128;
123 theBadStripRange =
m_obj.
encode(firstBadStrip, NconsecutiveBadStrips,
flag);
125 LogDebug(
"SiStripBadComponentsDQMService") <<
"detid " <<
detId <<
" \t" 126 <<
", flag " <<
flag << std::endl;
128 theSiStripVector.push_back(theBadStripRange);
134 <<
"[SiStripBadFiberBuilder::analyze] detid already exists" << std::endl;
void printSummary(std::stringstream &ss, const TrackerTopology *trackerTopo) const
void initES(const edm::EventSetup &) override
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
std::string fullPath() const
~SiStripPopConBadComponentsHandlerFromDQM() override
virtual bool dirExists(std::string const &path) const
Log< level::Error, false > LogError
T getUntrackedParameter(std::string const &, T const &) const
void dqmEndJob(DQMStore::IBooker &booker, DQMStore::IGetter &getter) override
#define DEFINE_FWK_MODULE(type)
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
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)
virtual std::vector< dqm::harvesting::MonitorElement * > getContents(std::string const &path) const
SiStripBadStrip * getObj() const override
virtual DQM_DEPRECATED std::vector< std::string > getSubdirs() const