68 virtual void endJob()
override ;
98 _mode(iConfig.getUntrackedParameter<unsigned
int>(
"granularityMode",
Module)),
99 m_run(iConfig.getParameter<bool>(
"runProcess")),
100 m_maxLS(iConfig.getUntrackedParameter<unsigned
int>(
"maxLSBeforeRebin",100)),
101 m_LSfrac(iConfig.getUntrackedParameter<unsigned
int>(
"startingLSFraction",4)),
117 sprintf(hrunname,
"badmodrun_%s",name.c_str());
119 sprintf(hruntitle,
"Number of bad modules %s",name.c_str());
155 std::vector<SiStripQuality::BadComponent> bads = ssq->getBadComponentList();
157 LogDebug(
"BadComponents") << bads.size() <<
" bad components found";
162 for(std::vector<SiStripQuality::BadComponent>::const_iterator bc=bads.begin();bc!=bads.end();++bc) {
165 if(bc->BadModule) ++nbad;
168 for(
int fiber=1;fiber<5;fiber*=2) {
169 if((bc->BadFibers & fiber)>0) ++nbad;
173 for(
int apv=1;apv<33;apv*=2) {
174 if((bc->BadApvs & apv)>0) ++nbad;
183 nbad += ssq->decode(*data).range;
222 LogDebug(
"BadComponents") << bads.size() <<
" bad components found";
227 for(std::vector<SiStripQuality::BadComponent>::const_iterator bc=bads.begin();bc!=bads.end();++bc) {
230 if(bc->BadModule) ++nbad;
233 for(
int fiber=1;fiber<5;fiber*=2) {
234 if((bc->BadFibers & fiber)>0) ++nbad;
238 for(
int apv=1;apv<33;apv*=2) {
239 if((bc->BadApvs & apv)>0) ++nbad;
254 sprintf(runname,
"%d",iRun.
run());
255 LogDebug(
"AnalyzedRun") << name <<
" " << runname <<
" " << nbad;
const std::vector< BadComponent > & getBadComponentList() const
virtual void analyze(const edm::Event &, const edm::EventSetup &) override
#define DEFINE_FWK_MODULE(type)
virtual void endJob() override
std::vector< unsigned int >::const_iterator ContainerIterator
SiStripQualityHistory(const edm::ParameterSet &)
T * make(const Args &...args) const
make new ROOT object
std::map< std::string, TH1F * > _history
ContainerIterator getDataVectorEnd() const
const std::vector< edm::ParameterSet > _monitoredssq
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
TProfile ** makeTProfile(const char *name, const char *title, const unsigned int nbinx, const double xmin, const double xmax)
virtual void beginJob() override
ContainerIterator getDataVectorBegin() const
const unsigned int m_LSfrac
void beginRun(const edm::Run &iRun)
const unsigned int m_maxLS
virtual void beginRun(const edm::Run &, const edm::EventSetup &) override
std::map< std::string, TProfile ** > m_badmodrun
char data[epos_bytes_allocation]
RunHistogramManager m_rhm
data decode(const unsigned int &value) const