29 if (prefixME_.substr(prefixME_.size()-1,prefixME_.size())!=
"/")
30 prefixME_.append(
"/");
70 if (
debug_>2)
std::cout <<
"\t\tHcalBeamClient::calculateProblems()"<<std::endl;
71 double totalLumiBlocks=0;
73 int etabins=0, phibins=0,
zside=0;
74 double problemvalue=0;
100 me=ig.
get(
subdir_+
"Lumi/HFlumi_total_deadcells");
103 else if (
debug_>0)
std::cout <<
" <HcalBeamClient::calculateProblems> Unable to get dead cell plot 'HFlumi_total_deadcells"<<std::endl;
104 me=ig.
get(
subdir_+
"Lumi/HFlumi_total_hotcells");
107 else if (
debug_>0)
std::cout <<
" <HcalBeamClient::calculateProblems> Unable to get hot cell plot 'HFlumi_total_hotcells"<<std::endl;
114 if (dead!=0 || hot!=0)
118 totalLumiBlocks=dead->GetBinContent(-1,-1);
119 etabins=dead->GetNbinsX();
120 phibins=dead->GetNbinsY();
124 totalLumiBlocks=hot->GetBinContent(-1,-1);
125 etabins=hot->GetNbinsX();
126 phibins=hot->GetNbinsY();
128 if (totalLumiBlocks<
minevents_ || totalLumiBlocks==0)
130 for (
int i=0;
i<etabins;++
i)
132 i<=3 ? myieta =
i-36 : myieta=
i+29;
133 if (
abs(myieta)==33 ||
abs(myieta)==34)
135 else if (
abs(myieta)==35 ||
abs(myieta)==36)
137 for (
int j=0;
j<phibins;++
j)
141 if (dead!=0 && dead->GetBinContent(
i+1,
j+1)*1./totalLumiBlocks>
minerrorrate_)
143 problemvalue+=dead->GetBinContent(
i+1,
j+1)*1./totalLumiBlocks;
144 if (
debug_>1)
std::cout <<
"<HcalBeamClient::calculateProblem> Dead cell found at ieta = "<<myieta<<
" iphi = "<<myiphi<<
" depth = "<<mydepth<<std::endl;
146 if (hot!=0 && hot->GetBinContent(
i+1,
j+1)*1./totalLumiBlocks>
minerrorrate_)
148 problemvalue+=hot->GetBinContent(
i+1,
j+1)*1./totalLumiBlocks;
149 if (
debug_>1)
std::cout <<
"<HcalBeamClient::calculateProblem> hot cell found at ieta = "<<myieta<<
" iphi = "<<myiphi<<
" depth = "<<mydepth<<std::endl;
151 if (problemvalue==0)
continue;
157 myieta<0 ?
zside=-1 : zside=1;
167 if (
debug_>0)
std::cout <<
"<HcalBeamClient::analyze> ProblemCells histogram does not exist!"<<std::endl;
198 " Problem Beam Monitor Rate for all HCAL;ieta;iphi",
231 if (
debug_>1)
std::cout <<
"<HcalBeamClient::hasErrors_Temp> ProblemCells histogram does not exist!"<<std::endl;
237 for (
int depth=0;depth<4; ++depth)
241 for (
int hist_eta=0;hist_eta<etabins;++hist_eta)
243 for (
int hist_phi=0; hist_phi<phibins;++hist_phi)
246 if (ieta==-9999)
continue;
256 if (problemcount>0)
return true;
T getUntrackedParameter(std::string const &, T const &) const
const std::string & getName(void) const
get name of ME
MonitorElement * ProblemCells
void setBinContent(int binx, double content)
set content of bin (1-D)
bool hasErrors_Temp(void)
MonitorElement * get(const std::string &path)
bool hasWarnings_Temp(void)
std::vector< MonitorElement * > depth
int CalcIeta(int subdet, int eta, int depth)
~HcalBeamClient()
Destructor.
std::vector< std::string > problemnames_
HcalBeamClient()
Constructors.
EtaPhiHists * ProblemCellsByDepth
Abs< T >::type abs(const T &t)
void setup(DQMStore::IBooker &m_dbe, std::string Name, std::string Units="")
virtual void calculateProblems(void)
void analyze(DQMStore::IBooker &, DQMStore::IGetter &)
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
std::map< HcalDetId, unsigned int > badstatusmap
void FillUnphysicalHEHFBins(std::vector< TH2F > &hh)
double getBinContent(int binx) const
get content of bin (1-D)
int badChannelStatusMask_
TH2F * getTH2F(void) const
void doProblemCellSetup(DQMStore::IBooker &, DQMStore::IGetter &)
void updateChannelStatus(std::map< HcalDetId, unsigned int > &myqual)
void Reset(void)
reset ME (ie. contents, errors, etc)