51 std::stringstream histoName;
55 for (
int r = 0 ; r < 3; r++){
58 histoName<<
"RPCChamberQuality_"<<
regions_[
r];
61 me =
dbe_->
book1D(histoName.str().c_str(), histoName.str().c_str(), 7, 0.5, 7.5);
68 histoName<<
"RPC_System_Quality_Overview";
71 me =
dbe_->
book2D(histoName.str().c_str(), histoName.str().c_str(), 7, 0.5, 7.5, 3, 0.5, 3.5);
78 for(
int w=-2; w<3;w++){
81 histoName<<
"RPCChamberQuality_Roll_vs_Sector_Wheel"<<w;
84 me =
dbe_->
book2D(histoName.str().c_str(), histoName.str().c_str(), 12, 0.5, 12.5, 21, 0.5, 21.5);
90 histoName<<
"RPCChamberQuality_Distribution_Wheel"<<w;
94 me =
dbe_->
book1D(histoName.str().c_str(), histoName.str().c_str(), 7, 0.5, 7.5);
102 histoName<<
"RPCChamberQuality_Ring_vs_Segment_Disk"<<d;
108 me =
dbe_->
book2D(histoName.str().c_str(), histoName.str().c_str(), 36, 0.5, 36.5, 6, 0.5, 6.5);
113 histoName<<
"RPCChamberQuality_Distribution_Disk"<<d;
117 me =
dbe_->
book1D(histoName.str().c_str(), histoName.str().c_str(), 7, 0.5, 7.5);
128 edm::LogVerbatim (
"rpceventsummary") <<
"[RPCChamberQuality]: End Job, performing DQM client operation";
131 std::stringstream meName;
137 RpcEvents =
dbe_->
get(meName.str());
139 if(RpcEvents) rpcEvents= (int)RpcEvents->
getEntries();
145 for(
int r = 0 ; r < 3 ; r++) {
148 summary[
r] =
dbe_ ->
get(meName.str());
150 if( summary[r] != 0 ) summary[
r]->
Reset();
154 for (
int wheel=-2; wheel<3; wheel++) {
156 meName<<
"Roll_vs_Sector_Wheel"<<wheel;
163 for(
int i=-3;
i<4;
i++) {
167 meName<<
"Ring_vs_Segment_Disk"<<
i;
175 meName<<prefixDir_<<
"/RPC_System_Quality_Overview";
176 RpcOverview =
dbe_ ->
get(meName.str());
177 RpcOverview->
Reset();
180 for(
int r = 0 ; r< 3; r++) {
181 if (summary[r] == 0 )
continue;
183 if(entries == 0)
continue;
184 for (
int x = 1;
x <= 7;
x++) {
185 RpcOverview->
setBinContent(
x,r+1,(summary[r]->getBinContent(
x)/entries));
208 std::stringstream meName;
211 meName<<
prefixDir_<<
"/RPCChamberQuality_"<<MESufix;
212 RCQ =
dbe_ ->
get(meName.str());
213 if (RCQ) RCQ->
Reset();
216 int pos = MESufix.find_last_of(
"_");
218 meName<<
prefixDir_<<
"/RPCChamberQuality_Distribution"<<MESufix.substr(pos);
219 RCQD =
dbe_ ->
get(meName.str());
220 if (RCQD) RCQD->
Reset();
225 HV =
dbe_ ->
get(meName.str());
229 LV =
dbe_ ->
get(meName.str());
232 meName <<
prefixDir_<<
"/DeadChannelFraction_"<<MESufix;
233 DEAD =
dbe_->
get(meName.str());
236 meName<<
prefixDir_<<
"/ClusterSizeIn1Bin_"<<MESufix;
237 CLS =
dbe_ ->
get(meName.str());
240 meName<<
prefixDir_<<
"/RPCNoisyStrips_"<<MESufix;
241 NoisySt =
dbe_ ->
get(meName.str());
244 meName<<
prefixDir_<<
"/NumberOfDigi_Mean_"<<MESufix;
245 MULT =
dbe_ ->
get(meName.str());
248 meName<<
prefixDir_<<
"/AsymmetryLeftRight_"<<MESufix;
249 Chip =
dbe_ ->
get(meName.str());
251 int xBinMax, yBinMax;
253 if (region != 0) xBinMax = 37;
256 for(
int x=1;
x<xBinMax;
x++) {
261 else if(
x==9 ||
x==11) yBinMax=16;
264 for(
int y=1;
y<yBinMax;
y++) {
269 float noisystrips = 0;
274 if(HV) hv = (int)HV ->getBinContent(
x,
y);
275 if(LV) lv = (int)LV ->getBinContent(
x,
y);
277 if( hv!=1 || lv!=1) {
280 if(DEAD) dead= DEAD -> getBinContent(
x,
y);
283 }
else if (0.33<=dead && dead<0.80 ){
286 if(CLS ) firstbin = CLS -> getBinContent(
x,
y);
287 if(firstbin >= 0.88) {
290 if(NoisySt) noisystrips = NoisySt -> getBinContent(
x,
y);
291 if (noisystrips > 0){
294 if(MULT) mult = MULT -> getBinContent(
x,
y);
309 if (RCQ) RCQ -> setBinContent(
x,
y, chamberState);
310 if (RCQD) RCQD -> Fill(chamberState);
311 if (quality) quality->
Fill(chamberState);
T getUntrackedParameter(std::string const &, T const &) const
const std::string & getName(void) const
get name of ME
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
void labelXAxisSegment(MonitorElement *myMe)
void analyze(const edm::Event &iEvent, const edm::EventSetup &c)
static const std::string xLabels_[7]
double getEntries(void) const
get # of entries
void beginRun(const edm::Run &r, const edm::EventSetup &c)
virtual ~RPCChamberQuality()
math::XYZTLorentzVectorD LV
void performeClientOperation(std::string, int, MonitorElement *)
RPCChamberQuality(const edm::ParameterSet &ps)
void removeElement(const std::string &name)
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
void labelXAxisSector(MonitorElement *myMe)
static const std::string regions_[3]
void labelYAxisRoll(MonitorElement *myMe, int region, int ring)
double getBinContent(int binx) const
get content of bin (1-D)
void beginLuminosityBlock(edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &context)
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
void endLuminosityBlock(edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &c)
void Reset(void)
reset ME (ie. contents, errors, etc)
void setCurrentFolder(const std::string &fullpath)
void labelYAxisRing(MonitorElement *myMe, int numberOfRings)
void endRun(const edm::Run &r, const edm::EventSetup &c)