41 "file",
edm::FileInPath(
"CalibTracker/SiStripCommon/data/SiStripDetInfo.dat"))} {
42 edm::LogInfo(
"SiStripBadComponentsDQMService") <<
"[SiStripBadComponentsDQMService::SiStripBadComponentsDQMService]";
46 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 =
reader.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
std::string getMetaDataString() const override
~SiStripPopConBadComponentsHandlerFromDQM() override
std::vector< MonitorElement * > getContents(Args &&...args)
bool dirExists(std::string const &path)
#define DEFINE_FWK_MODULE(type)
void dqmEndJob(DQMStore::IBooker &booker, DQMStore::IGetter &getter) override
SiStripBadStrip * getObj() const override
const TrackerTopology * trackerTopo_
SiStripPopConBadComponentsHandlerFromDQM(const edm::ParameterSet &iConfig)
std::pair< ContainerIterator, ContainerIterator > Range
std::string fullPath() const
dqm::legacy::MonitorElement MonitorElement
bool put(const uint32_t &detID, const InputVector &vect)
dqm::legacy::DQMStore DQMStore
T const * product() const
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
std::vector< std::string > getSubdirs()