31 if (prefixME_.substr(prefixME_.size()-1,prefixME_.size())!=
"/")
32 prefixME_.append(
"/");
67 if (
debug_>2)
std::cout <<
"\t\tHcalBeamClient::calculateProblems()"<<std::endl;
69 double totalLumiBlocks=0;
71 int etabins=0, phibins=0, zside=0;
72 double problemvalue=0;
101 else if (
debug_>0)
std::cout <<
" <HcalBeamClient::calculateProblems> Unable to get dead cell plot 'HFlumi_total_deadcells"<<std::endl;
105 else if (
debug_>0)
std::cout <<
" <HcalBeamClient::calculateProblems> Unable to get hot cell plot 'HFlumi_total_hotcells"<<std::endl;
112 if (dead!=0 || hot!=0)
116 totalLumiBlocks=dead->GetBinContent(-1,-1);
117 etabins=dead->GetNbinsX();
118 phibins=dead->GetNbinsY();
122 totalLumiBlocks=hot->GetBinContent(-1,-1);
123 etabins=hot->GetNbinsX();
124 phibins=hot->GetNbinsY();
126 if (totalLumiBlocks<
minevents_ || totalLumiBlocks==0)
128 for (
int i=0;
i<etabins;++
i)
130 i<=3 ? myieta =
i-36 : myieta=
i+29;
131 if (
abs(myieta)==33 ||
abs(myieta)==34)
133 else if (
abs(myieta)==35 ||
abs(myieta)==36)
135 for (
int j=0;
j<phibins;++
j)
139 if (dead!=0 && dead->GetBinContent(
i+1,
j+1)*1./totalLumiBlocks>
minerrorrate_)
141 problemvalue+=dead->GetBinContent(
i+1,
j+1)*1./totalLumiBlocks;
142 if (
debug_>1)
std::cout <<
"<HcalBeamClient::calculateProblem> Dead cell found at ieta = "<<myieta<<
" iphi = "<<myiphi<<
" depth = "<<mydepth<<std::endl;
144 if (hot!=0 && hot->GetBinContent(
i+1,
j+1)*1./totalLumiBlocks>
minerrorrate_)
146 problemvalue+=hot->GetBinContent(
i+1,
j+1)*1./totalLumiBlocks;
147 if (
debug_>1)
std::cout <<
"<HcalBeamClient::calculateProblem> hot cell found at ieta = "<<myieta<<
" iphi = "<<myiphi<<
" depth = "<<mydepth<<std::endl;
149 if (problemvalue==0)
continue;
155 myieta<0 ? zside=-1 : zside=1;
165 if (
debug_>0)
std::cout <<
"<HcalBeamClient::analyze> ProblemCells histogram does not exist!"<<std::endl;
190 std::cout <<
"<HcalBeamClient::beginJob()> Displaying dqmStore directory structure:"<<std::endl;
201 if (
debug_>0)
std::cout <<
"<HcalBeamClient::beginRun> dqmStore does not exist!"<<std::endl;
210 " Problem Beam Monitor Rate for all HCAL;ieta;iphi",
234 if (
debug_>1)
std::cout <<
"<HcalBeamClient::hasErrors_Temp> ProblemCells histogram does not exist!"<<std::endl;
240 for (
int depth=0;depth<4; ++depth)
244 for (
int hist_eta=0;hist_eta<etabins;++hist_eta)
246 for (
int hist_phi=0; hist_phi<phibins;++hist_phi)
249 if (ieta==-9999)
continue;
259 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)
void calculateProblems(void)
void setup(DQMStore *&m_dbe, std::string Name, std::string Units="")
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
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
std::map< HcalDetId, unsigned int > badstatusmap
void FillUnphysicalHEHFBins(std::vector< TH2F > &hh)
double getBinContent(int binx) const
get content of bin (1-D)
void showDirStructure(void) const
int badChannelStatusMask_
TH2F * getTH2F(void) const
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
void updateChannelStatus(std::map< HcalDetId, unsigned int > &myqual)
void Reset(void)
reset ME (ie. contents, errors, etc)
void setCurrentFolder(const std::string &fullpath)