31 LogVerbatim(
"DTDQM|DTMonitorClient|DTSummaryClients") <<
"[DTSummaryClients]: Constructor";
39 LogVerbatim (
"DTDQM|DTMonitorClient|DTSummaryClients") <<
"DTSummaryClients: analyzed " <<
nevents <<
" events";
45 LogVerbatim(
"DTDQM|DTMonitorClient|DTSummaryClients") <<
"[DTSummaryClients]: BeginRun";
59 for(
int wheel = -2; wheel != 3; ++wheel) {
61 streams <<
"DT_Wheel" << wheel;
62 string meName = streams.str();
76 LogVerbatim (
"DTDQM|DTMonitorClient|DTSummaryClients") <<
"[DTSummaryClients]: endJob";
83 LogVerbatim (
"DTDQM|DTMonitorClient|DTSummaryClients") <<
"[DTSummaryClients]: endRun";
92 LogVerbatim(
"DTDQM|DTMonitorClient|DTSummaryClients") <<
"[DTSummaryClients] Analyze #Run: " <<
event.id().run()
93 <<
" #Event: " <<
event.id().event()
94 <<
" LS: " <<
event.luminosityBlock()
102 LogVerbatim(
"DTDQM|DTMonitorClient|DTSummaryClients")
103 <<
"[DTSummaryClients]: End of LS transition, performing the DQM client operation" << endl;
108 for(
int ii = 0;
ii != 5; ++
ii) {
112 bool noDTData =
false;
117 if(dataIntegritySummary != 0) {
118 int nDisabledFED = 0;
119 for(
int wheel = 1; wheel != 6; ++wheel) {
120 int nDisablesROS = 0;
121 for(
int sect = 1; sect != 13; ++sect) {
126 if(nDisablesROS == 12) {
132 if(nDisabledFED == 5) {
138 LogError(
"DTDQM|DTMonitorClient|DTSummaryClients")
139 <<
"Data Integrity Summary not found with name: DT/00-DataIntegrity/DataIntegritySummary" <<endl;
142 double totalStatus = 0;
144 bool occupancyFound =
true;
148 for(
int wheel=-2; wheel<=2; wheel++){
151 str <<
"DT/01-Digi/OccupancySummary_W" << wheel;
153 if(wheelOccupancySummary != 0) {
154 int nFailingChambers = 0;
155 for(
int sector=1; sector<=12; sector++){
158 LogTrace(
"DTDQM|DTMonitorClient|DTSummaryClients")
159 <<
"Wheel: " << wheel <<
" Stat: " <<
station <<
" Sect: " << sector <<
" status: " << chamberStatus << endl;
160 if(chamberStatus != 4) {
165 LogTrace(
"DTDQM|DTMonitorClient|DTSummaryClients") <<
" sector (" << sector <<
") status on the map is: "
171 totalStatus += (48.-nFailingChambers)/48.;
173 occupancyFound =
false;
174 LogError(
"DTDQM|DTMonitorClient|DTSummaryClients")<<
" Wheel Occupancy Summary not found with name: " << str.str() << endl;
179 if(occupancyFound && !noDTData)
DTSummaryClients(const edm::ParameterSet &ps)
Constructor.
MonitorElement * summaryReport
MonitorElement * summaryReportMap
void endLuminosityBlock(edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &c)
DQM Client Diagnostic.
MonitorElement * bookFloat(const char *name)
Book float.
void analyze(const edm::Event &e, const edm::EventSetup &c)
Analyze.
void beginRun(edm::Run const &run, edm::EventSetup const &eSetup)
BeginRun.
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
void endRun(edm::Run const &run, edm::EventSetup const &eSetup)
EndRun.
double getBinContent(int binx) const
get content of bin (1-D)
std::vector< MonitorElement * > theSummaryContents
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void Reset(void)
reset ME (ie. contents, errors, etc)
void setCurrentFolder(const std::string &fullpath)
virtual ~DTSummaryClients()
Destructor.