43 : m_verbose(parSet.getUntrackedParameter<
bool>(
"verbose",
false)),
44 m_monitorDir(parSet.getUntrackedParameter<
std::
string>(
"monitorDir",
"")),
45 m_runInEventLoop(parSet.getUntrackedParameter<
bool>(
"runInEventLoop",
false)),
46 m_runInEndLumi(parSet.getUntrackedParameter<
bool>(
"runInEndLumi",
false)),
47 m_runInEndRun(parSet.getUntrackedParameter<
bool>(
"runInEndRun",
false)),
48 m_runInEndJob(parSet.getUntrackedParameter<
bool>(
"runInEndJob",
false)),
51 m_disableL1Systems(parSet.getParameter<
std::vector<
std::
string> >(
"DisableL1Systems")),
52 m_disableL1Objects(parSet.getParameter<
std::vector<
std::
string> >(
"DisableL1Objects")),
55 m_totalNrQtSummaryEnabled(0) {
84 int totalNrQualityTests = 0;
86 for (std::vector<edm::ParameterSet>::const_iterator itSystem =
m_l1Systems.begin(); itSystem !=
m_l1Systems.end();
92 m_systemDisable.push_back(itSystem->getParameter<
unsigned int>(
"SystemDisable"));
101 std::vector<edm::ParameterSet> qTests = itSystem->getParameter<std::vector<edm::ParameterSet> >(
"QualityTests");
102 size_t qtPerSystem = qTests.size();
104 std::vector<std::string> qtNames;
105 qtNames.reserve(qtPerSystem);
107 std::vector<std::string> qtFullPathHists;
108 qtFullPathHists.reserve(qtPerSystem);
110 std::vector<unsigned int> qtSumEnabled;
111 qtSumEnabled.reserve(qtPerSystem);
113 for (std::vector<edm::ParameterSet>::const_iterator itQT = qTests.begin(); itQT != qTests.end(); ++itQT) {
114 totalNrQualityTests++;
116 qtNames.push_back(itQT->getParameter<
std::string>(
"QualityTestName"));
118 qtFullPathHists.push_back(itQT->getParameter<
std::string>(
"QualityTestHist"));
120 unsigned int qtEnabled = itQT->getParameter<
unsigned int>(
"QualityTestSummaryEnabled");
122 qtSumEnabled.push_back(qtEnabled);
151 for (std::vector<edm::ParameterSet>::const_iterator itObject =
m_l1Objects.begin(); itObject !=
m_l1Objects.end();
155 m_objectDisable.push_back(itObject->getParameter<
unsigned int>(
"ObjectDisable"));
164 std::vector<edm::ParameterSet> qTests = itObject->getParameter<std::vector<edm::ParameterSet> >(
"QualityTests");
165 size_t qtPerObject = qTests.size();
167 std::vector<std::string> qtNames;
168 qtNames.reserve(qtPerObject);
170 std::vector<std::string> qtFullPathHists;
171 qtFullPathHists.reserve(qtPerObject);
173 std::vector<unsigned int> qtSumEnabled;
174 qtSumEnabled.reserve(qtPerObject);
176 for (std::vector<edm::ParameterSet>::const_iterator itQT = qTests.begin(); itQT != qTests.end(); ++itQT) {
177 totalNrQualityTests++;
179 qtNames.push_back(itQT->getParameter<
std::string>(
"QualityTestName"));
181 qtFullPathHists.push_back(itQT->getParameter<
std::string>(
"QualityTestHist"));
183 unsigned int qtEnabled = itQT->getParameter<
unsigned int>(
"QualityTestSummaryEnabled");
185 qtSumEnabled.push_back(qtEnabled);
208 book(ibooker, igetter);
212 std::cout <<
"\n L1TEventInfoClient::endLuminosityBlock\n" << std::endl;
219 book(ibooker, igetter);
224 std::cout <<
"\n L1TEventInfoClient::endRun\n" << std::endl;
230 std::cout <<
"\nSummary report " << std::endl;
241 <<
"\nNo summary content per system and object as filled in histogram.\n " << std::endl;
245 TH2F*
hist =
me->getTH2F();
247 const int nBinsX =
hist->GetNbinsX();
248 const int nBinsY =
hist->GetNbinsY();
251 std::vector<std::vector<int> > meReportSummaryMap(nBinsX, std::vector<int>(nBinsY));
265 <<
m_systemDisable[iSys] <<
" \t" << std::setw(25) <<
" m_summaryContent[" << std::setw(2) << iSys
266 <<
"] = " << meReportSummaryMap[0][iSys] << std::endl;
273 <<
" \t" << std::setw(25) <<
" m_summaryContent[" << std::setw(2) << iMon <<
"] = \t"
281 std::cout <<
"\nQuality test results as filled in "
282 <<
"\n " <<
m_monitorDir <<
"/EventInfo/reportSummaryContents\n"
289 std::cout << std::setw(50) << (*itME)->getName() <<
" \t" << std::setw(25) << (*itME)->getFloatValue() << std::endl;
325 for (std::vector<std::string>::const_iterator itQtName = sysQtName.begin(); itQtName != sysQtName.end();
343 for (std::vector<std::string>::const_iterator itQtName = objQtName.begin(); itQtName != objQtName.end();
379 for (
int iBin = 0; iBin < nBinsY; ++iBin) {
418 for (std::vector<std::string>::const_iterator itQtName = sysQtName.begin(); itQtName != sysQtName.end();
425 const std::vector<QReport*> qtVec = qHist->
getQReports();
428 std::cout <<
"\nNumber of quality tests "
429 <<
" for histogram " << sysQtHist[iSysQTest] <<
": " << qtVec.size() <<
"\n"
435 const float sysQtResult = sysQReport->
getQTresult();
436 const int sysQtStatus = sysQReport->
getStatus();
441 << (*itQtName) <<
" quality test:"
442 <<
"\n result: " << sysQtResult <<
"\n status: " << sysQtStatus
443 <<
"\n message: " << sysQtMessage <<
"\n"
444 <<
"\nFilling m_meReportSummaryContent[" << iAllQTest <<
"] with value " << sysQtResult <<
"\n"
452 if (sysQtSummaryEnabled[iSysQTest]) {
466 if (sysQtSummaryEnabled[iSysQTest]) {
475 std::cout <<
"\n" << (*itQtName) <<
" quality test not found\n" << std::endl;
485 if (sysQtSummaryEnabled[iSysQTest]) {
494 std::cout <<
"\nHistogram " << sysQtHist[iSysQTest] <<
" not found\n" << std::endl;
518 for (std::vector<std::string>::const_iterator itQtName = objQtName.begin(); itQtName != objQtName.end();
525 const std::vector<QReport*> qtVec = qHist->
getQReports();
528 std::cout <<
"\nNumber of quality tests "
529 <<
" for histogram " << objQtHist[iObjQTest] <<
": " << qtVec.size() <<
"\n"
535 const float objQtResult = objQReport->
getQTresult();
536 const int objQtStatus = objQReport->
getStatus();
541 << (*itQtName) <<
" quality test:"
542 <<
"\n result: " << objQtResult <<
"\n status: " << objQtStatus
543 <<
"\n message: " << objQtMessage <<
"\n"
544 <<
"\nFilling m_meReportSummaryContent[" << iAllQTest <<
"] with value " << objQtResult <<
"\n"
552 if (objQtSummaryEnabled[iObjQTest]) {
566 if (objQtSummaryEnabled[iObjQTest]) {
575 std::cout <<
"\n" << (*itQtName) <<
" quality test not found\n" << std::endl;
585 if (objQtSummaryEnabled[iObjQTest]) {
594 std::cout <<
"\nHistogram " << objQtHist[iObjQTest] <<
" not found\n" << std::endl;