29 if (prefixME_.substr(prefixME_.size()-1,prefixME_.size())!=
"/")
30 prefixME_.append(
"/");
65 if (
debug_>2)
std::cout <<
"\t\tHcalBeamClient::calculateProblems()"<<std::endl;
67 double totalLumiBlocks=0;
69 int etabins=0, phibins=0,
zside=0;
70 double problemvalue=0;
99 else if (
debug_>0)
std::cout <<
" <HcalBeamClient::calculateProblems> Unable to get dead cell plot 'HFlumi_total_deadcells"<<std::endl;
103 else if (
debug_>0)
std::cout <<
" <HcalBeamClient::calculateProblems> Unable to get hot cell plot 'HFlumi_total_hotcells"<<std::endl;
110 if (dead!=0 || hot!=0)
114 totalLumiBlocks=dead->GetBinContent(-1,-1);
115 etabins=dead->GetNbinsX();
116 phibins=dead->GetNbinsY();
120 totalLumiBlocks=hot->GetBinContent(-1,-1);
121 etabins=hot->GetNbinsX();
122 phibins=hot->GetNbinsY();
124 if (totalLumiBlocks<
minevents_ || totalLumiBlocks==0)
126 for (
int i=0;
i<etabins;++
i)
128 i<=3 ? myieta =
i-36 : myieta=
i+29;
129 if (
abs(myieta)==33 ||
abs(myieta)==34)
131 else if (
abs(myieta)==35 ||
abs(myieta)==36)
133 for (
int j=0;
j<phibins;++
j)
137 if (dead!=0 && dead->GetBinContent(
i+1,
j+1)*1./totalLumiBlocks>
minerrorrate_)
139 problemvalue+=dead->GetBinContent(
i+1,
j+1)*1./totalLumiBlocks;
140 if (
debug_>1)
std::cout <<
"<HcalBeamClient::calculateProblem> Dead cell found at ieta = "<<myieta<<
" iphi = "<<myiphi<<
" depth = "<<mydepth<<std::endl;
142 if (hot!=0 && hot->GetBinContent(
i+1,
j+1)*1./totalLumiBlocks>
minerrorrate_)
144 problemvalue+=hot->GetBinContent(
i+1,
j+1)*1./totalLumiBlocks;
145 if (
debug_>1)
std::cout <<
"<HcalBeamClient::calculateProblem> hot cell found at ieta = "<<myieta<<
" iphi = "<<myiphi<<
" depth = "<<mydepth<<std::endl;
147 if (problemvalue==0)
continue;
153 myieta<0 ?
zside=-1 : zside=1;
163 if (
debug_>0)
std::cout <<
"<HcalBeamClient::analyze> ProblemCells histogram does not exist!"<<std::endl;
188 std::cout <<
"<HcalBeamClient::beginJob()> Displaying dqmStore directory structure:"<<std::endl;
199 if (
debug_>0)
std::cout <<
"<HcalBeamClient::beginRun> dqmStore does not exist!"<<std::endl;
208 " Problem Beam Monitor Rate for all HCAL;ieta;iphi",
232 if (
debug_>1)
std::cout <<
"<HcalBeamClient::hasErrors_Temp> ProblemCells histogram does not exist!"<<std::endl;
238 for (
int depth=0;depth<4; ++depth)
242 for (
int hist_eta=0;hist_eta<etabins;++hist_eta)
244 for (
int hist_phi=0; hist_phi<phibins;++hist_phi)
247 if (ieta==-9999)
continue;
257 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
Abs< T >::type abs(const T &t)
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)