13 #include "toolbox/task/WorkLoopFactory.h"
14 #include "xdaq/ApplicationDescriptorImpl.h"
15 #include "xdaq/ContextDescriptor.h"
16 #include "xdaq/ApplicationContext.h"
17 #include "xdata/Boolean.h"
18 #include "xdata/TableIterator.h"
19 #include "xdata/exdr/Serializer.h"
20 #include "xdata/exdr/AutoSizeOutputStreamBuffer.h"
34 #include "xoap/MessageFactory.h"
35 #include "xoap/SOAPEnvelope.h"
36 #include "xoap/SOAPBody.h"
37 #include "xoap/domutils.h"
38 #include "xoap/Method.h"
39 #include "xmas/xmas.h"
41 #include "cgicc/CgiDefs.h"
42 #include "cgicc/Cgicc.h"
43 #include "cgicc/FormEntry.h"
55 , servicesDone_(
false)
56 , epInitialized_(
false)
60 , hasPrescaleService_(
false)
61 , hasModuleWebRegistry_(
false)
62 , hasServiceWebRegistry_(
false)
63 , monitorInfoSpace_(0)
64 , monitorInfoSpaceLegend_(0)
71 , wlMonitoringActive_(
false)
73 , allPastLumiProcessed_(0)
76 , lsTimeOut_(100000000)
77 , lumiSectionIndex_(1)
78 , prescaleSetIndex_(0)
79 , lastLumiPrescaleIndex_(0)
80 , lastLumiUsingEol_(0)
82 , lsToBeRecovered_(
true)
83 , scalersUpdateAttempted_(0)
84 , scalersUpdateCounter_(0)
85 , lumiSectionsCtr_(lsRollSize_+1)
86 , lumiSectionsTo_(lsRollSize_)
87 , rollingLsIndex_(lsRollSize_-1)
88 , rollingLsWrap_(
false)
91 , waitingForLs_(
false)
95 , countDatasets_(
false)
98 names_.push_back(
"lumiSectionIndex");
99 names_.push_back(
"prescaleSetIndex");
100 names_.push_back(
"scalersTable");
159 std::stringstream oss;
165 oss << i <<
"=" <<
"NotStarted ";
168 std::stringstream oss2;
169 oss2 << 0 <<
"=Invalid ";
198 bool instanceZero = serviceMap & 0x8;
205 LOG4CPLUS_INFO(
log_,
"CMSSW EventProcessor already initialized: skip!");
209 LOG4CPLUS_INFO(
log_,
"Initialize CMSSW EventProcessor.");
210 LOG4CPLUS_INFO(
log_,
"CMSSW_BASE:"<<getenv(
"CMSSW_BASE"));
228 boost::shared_ptr<edm::ParameterSet> params;
229 boost::shared_ptr<std::vector<edm::ParameterSet> > pServiceSets;
230 boost::shared_ptr<edm::ProcessDesc> pdesc;
238 pServiceSets = pdesc->getServicesPSets();
244 internal::addServiceMaybe(*pServiceSets,
"DQMStore");
245 internal::addServiceMaybe(*pServiceSets,
"DQM");
248 internal::removeServiceMaybe(*pServiceSets,
"DQMStore");
249 internal::removeServiceMaybe(*pServiceSets,
"DQM");
251 internal::addServiceMaybe(*pServiceSets,
"MLlog4cplus");
252 internal::addServiceMaybe(*pServiceSets,
"MicroStateService");
253 internal::addServiceMaybe(*pServiceSets,
"ShmOutputModuleRegistry");
260 internal::addServiceMaybe(*pServiceSets,
"DQMStore");
261 internal::addServiceMaybe(*pServiceSets,
"DQM");
268 LOG4CPLUS_ERROR(
log_,e.what());
271 LOG4CPLUS_ERROR(
log_,
"Unknown Exception");
280 edm::LogInfo(
"FWEPWrapper")<<
"started MessageLogger Service.";
290 "exception when trying to get service DQMStore");
292 if(dqm!=0) dqm->
rmdir(
"");
302 "exception when trying to get service ModuleWebRegistry");
306 if(mwr) mwr->
clear();
315 "exception when trying to get service ModuleWebRegistry");
324 "exception when trying to get service ShmOutputModuleRegistry");
326 if(sor) sor->
clear();
338 "exception when trying to get service FastTimerService");
357 std::vector<std::string> defaultServices;
358 std::vector<std::string> forcedServices;
359 defaultServices.push_back(
"MessageLogger");
360 defaultServices.push_back(
"InitRootHandlers");
361 defaultServices.push_back(
"JobReportService");
362 pdesc->addServices(defaultServices, forcedServices);
393 "Checking for edm::service::PrescaleService!");
398 "edm::service::PrescaleService is available!");
401 "Obtained pointer to PrescaleService");
406 "exception when trying to get service "
407 <<
"edm::service::PrescaleService");
409 const edm::ParameterSet *prescaleSvcConfig = internal::findService(*pServiceSets,
"PrescaleService");
416 std::stringstream oss2;
417 unsigned int outcount = 0;
418 oss2 << 0 <<
"=Invalid ";
419 oss2 << 1 <<
"=FwkOvh ";
420 oss2 << 2 <<
"=Input ";
429 for(
unsigned int j = 0;
j <
descs_.size();
j++)
431 if(
descs_[
j]->moduleName() ==
"ShmStreamConsumer")
434 oss2 << outcount <<
"=" <<
descs_[
j]->moduleLabel() <<
" ";
436 mapmod_[outcount] = descs_[
j]->moduleLabel();
441 oss2 << outcount+1 <<
"=DQMHistograms ";
442 unsigned int modcount = 1;
443 for(
unsigned int i = 0;
i <
descs_.size();
i++)
445 if(
descs_[
i]->moduleName() !=
"ShmStreamConsumer")
448 oss2 << outcount+modcount <<
"=" <<
descs_[
i]->moduleLabel() <<
" ";
450 mapmod_[outcount+modcount] = descs_[
i]->moduleLabel();
468 LOG4CPLUS_ERROR(
log_,
"Exception from fireItemGroupChanged: " << e.what());
470 LOG4CPLUS_INFO(
log_,
" edm::EventProcessor configuration finished.");
507 LOG4CPLUS_WARN(
log_,
"FUEventProcessor::stopEventProcessor.1 state "
519 if (stopTimeLeft<500000) {
522 stopTimeLeft-=100000;
531 "FUEventProcessor::stopEventProcessor.2 After 1s - state: "
535 LOG4CPLUS_WARN(
log_,
"FUEventProcessor::stopEventProcessor.3 state "
539 if (stopTimeLeft<1000000) stopTimeLeft=1000000;
540 stopTimeLeft/=1000000;
571 "exception when trying to get service ModuleWebRegistry");
586 "exception when trying to get service ModuleWebRegistry");
616 pid_t
pid = getpid();
619 struct timezone timezone;
622 std::ostringstream ost;
623 ost <<
"Monitoring" <<
pid;
626 toolbox::task::getWorkLoopFactory()->getWorkLoop(ost.str().c_str(),
650 struct timeval monEndTime;
651 struct timezone timezone;
652 gettimeofday(&monEndTime,&timezone);
673 "exception when trying to get service MicroStateService");
701 LOG4CPLUS_DEBUG(
log_,
"getTriggerReport action invoked");
711 "exception when trying to get service ModuleWebRegistry");
715 if(mwr==0)
return false;
766 "exception when trying to get service ShmOutputModuleRegistry");
803 if(
rcms_==0)
return false;
809 catch(...){
return false;}
819 *out <<
"<table>" << std::endl;
821 *out <<
"<tr valign=\"top\">" << std::endl;
822 *out <<
"<td>" << std::endl;
826 *out <<
"<table border=1 bgcolor=\"#CFCFCF\">" << std::endl;
827 *out <<
" <tr>" << std::endl;
828 *out <<
" <th colspan=7>" << std::endl;
829 *out <<
" " <<
"Trigger Summary up to LS "
831 *out <<
" </th>" << std::endl;
832 *out <<
" </tr>" << std::endl;
834 *out <<
" <tr >" << std::endl;
835 *out <<
" <th >Path</th>" << std::endl;
836 *out <<
" <th >Exec</th>" << std::endl;
837 *out <<
" <th >Pass</th>" << std::endl;
838 *out <<
" <th >Fail</th>" << std::endl;
839 *out <<
" <th >Except</th>" << std::endl;
840 *out <<
" </tr>" << std::endl;
844 *out <<
" <tr>" << std::endl;
845 *out <<
" <td>"<<
i <<
"</td>" << std::endl;
851 *out <<
"bgcolor=\"red\"" << std::endl;
853 *out <<
" </tr >" << std::endl;
856 *out <<
" <tr><th colspan=7>EndPaths</th></tr>" << std::endl;
859 *out <<
" <tr>" << std::endl;
860 *out <<
" <td>"<<
i <<
"</td>" << std::endl;
866 *out <<
"bgcolor=\"red\"" << std::endl;
868 *out <<
" </tr >" << std::endl;
873 *out <<
"</table>" << std::endl;
874 *out <<
"</td>" << std::endl;
875 *out <<
"</tr>" << std::endl;
876 *out <<
"</table>" << std::endl;
892 "Exception when trying to get service ModuleWebRegistry");
902 *out <<
"<table>" << std::endl;
904 *out <<
"<tr valign=\"top\">" << std::endl;
905 *out <<
"<td>" << std::endl;
912 *out <<
"<table border=1 bgcolor=\"#CFCFCF\">" << std::endl;
913 *out <<
" <tr>" << std::endl;
914 *out <<
" <th colspan=7>" << std::endl;
915 *out <<
" " <<
"Trigger Summary" << std::endl;
916 *out <<
" </th>" << std::endl;
917 *out <<
" </tr>" << std::endl;
919 *out <<
" <tr >" << std::endl;
920 *out <<
" <th >Path</th>" << std::endl;
921 *out <<
" <th >Exec</th>" << std::endl;
922 *out <<
" <th >Pass</th>" << std::endl;
923 *out <<
" <th >Fail</th>" << std::endl;
924 *out <<
" <th >Except</th>" << std::endl;
925 *out <<
" <th >TargetPF</th>" << std::endl;
926 *out <<
" </tr>" << std::endl;
927 xdata::Serializable *psid = 0;
940 "exception when trying to get service ShmOutputModuleRegistry");
945 *out <<
" <tr>" << std::endl;
954 *out <<
"bgcolor=\"red\"" << std::endl;
960 <<
"</td>" << std::endl;
962 else *out <<
" <td>N/A</td>" << std::endl;
963 *out <<
" </tr >" << std::endl;
971 i,
"ShmStreamConsumer");
973 *out <<
" <tr>" << std::endl;
976 *out <<
" <td>" << (o ? o->
getCounts() : -1) <<
"</td>" << std::endl;
980 *out <<
"bgcolor=\"red\"" << std::endl;
982 *out <<
" <td>N/A</td>" << std::endl;
983 *out <<
" </tr >" << std::endl;
987 *out <<
"</table>" << std::endl;
989 *out <<
"</td>" << std::endl;
993 *out <<
"<td>" << std::endl;
995 *out <<
"<table frame=\"void\" rules=\"rows\" class=\"modules\">" << std::endl;
996 *out <<
" <tr>" << std::endl;
997 *out <<
" <th colspan=3>" << std::endl;
998 *out <<
" " <<
"HLT" << std::endl;
1000 *out <<
" (Process " <<
descs_[0]->processName() <<
")" << std::endl;
1001 *out <<
" </th>" << std::endl;
1002 *out <<
" </tr>" << std::endl;
1004 *out <<
" <tr >" << std::endl;
1005 *out <<
" <th >" << std::endl;
1006 *out <<
" Module" << std::endl;
1007 *out <<
" </th>" << std::endl;
1008 *out <<
" <th >" << std::endl;
1009 *out <<
" Label" << std::endl;
1010 *out <<
" </th>" << std::endl;
1011 *out <<
" <th >" << std::endl;
1012 *out <<
" Version" << std::endl;
1013 *out <<
" </th>" << std::endl;
1016 *out <<
" <th >" << std::endl;
1017 *out <<
" first" << std::endl;
1018 *out <<
" </th>" << std::endl;
1019 *out <<
" <th >" << std::endl;
1020 *out <<
" ave" << std::endl;
1021 *out <<
" </th>" << std::endl;
1022 *out <<
" <th >" << std::endl;
1023 *out <<
" max" << std::endl;
1024 *out <<
" </th>" << std::endl;
1026 *out <<
" </tr>" << std::endl;
1027 if(mwr && mwr->
checkWeb(
"DaqSource"))
1028 *out <<
" <tr><td ><a href=\"/" << urn
1029 <<
"module=DaqSource\">DaqSource</a> </td></tr>";
1031 for(
unsigned int idesc = 0; idesc <
descs_.size(); idesc++)
1033 *out <<
" <tr>" << std::endl;
1036 *out <<
"<a href=\"/" << urn
1038 <<
descs_[idesc]->moduleName() <<
"\">"
1039 <<
descs_[idesc]->moduleName() <<
"</a>";
1041 *out <<
descs_[idesc]->moduleName();
1042 *out <<
"</td>" << std::endl;
1044 *out <<
descs_[idesc]->moduleLabel();
1045 *out <<
"</td>" << std::endl;
1047 *out <<
descs_[idesc]->releaseVersion();
1048 *out <<
"</td>" << std::endl;
1051 *out <<
" <td align=\"right\">";
1053 *out <<
"</td>" << std::endl;
1054 *out <<
" <td align=\"right\"";
1055 *out << (tpr->
getAve(
descs_[idesc]->moduleLabel())>1. ?
"bgcolor=\"red\"" :
"")
1058 *out <<
"</td>" << std::endl;
1059 *out <<
" <td align=\"right\">";
1061 *out <<
"</td>" << std::endl;
1063 *out <<
" </tr>" << std::endl;
1065 *out <<
"</table>" << std::endl;
1066 *out <<
"</td>" << std::endl;
1072 using namespace cgicc;
1074 std::vector<FormEntry> el1;
1075 cgi.getElement(
"module",el1);
1086 LOG4CPLUS_WARN(
log_,
1087 "Exception when trying to get service ModuleWebRegistry");
1089 mwr->invoke(in,out,mod);
1093 *out<<
"EventProcessor just disappeared "<<std::endl;
1101 using namespace cgicc;
1103 std::vector<FormEntry> el1;
1104 cgi.getElement(
"service",el1);
1115 LOG4CPLUS_WARN(
log_,
1116 "Exception when trying to get service ModuleWebRegistry");
1118 swr->invoke(in,out,ser);
1122 *out<<
"EventProcessor just disappeared "<<std::endl;
1133 micro1 =
"initialized";
1141 LOG4CPLUS_INFO(
log_,
1142 "exception when trying to get service MicroStateService");
1154 *out <<
"<td>" << micro1 <<
"</td>";
1155 *out <<
"<td>" << micro2 <<
"</td>";
1159 *out <<
"<td>" <<
psid_ <<
"</td>";
1167 *out <<
" <table border=1 bgcolor=\"#CFCFCF\">" << std::endl;
1168 *out <<
" <tr>" << std::endl;
1169 *out <<
" <td> LS </td>";
1184 *out <<
" </tr>" << std::endl;
1185 *out <<
" <tr>" << std::endl;
1186 *out <<
" <td> Ev </td>";
1197 *out <<
" </tr>" << std::endl;
1198 *out <<
" <tr>" << std::endl;
1199 *out <<
" <td> Acc </td>";
1210 *out <<
" </tr>" << std::endl;
1211 *out <<
"</table>" << std::endl;
1224 xdata::UnsignedInteger32* lsp = 0;
1225 xdata::UnsignedInteger32* psp = 0;
1232 xdata::Serializable *psid = 0;
1233 xdata::Serializable *lsid = 0;
1234 xdata::Serializable *nbs = 0;
1235 xdata::Serializable *nbsr = 0;
1239 lsp = ((xdata::UnsignedInteger32*)lsid);
1244 psp = ((xdata::UnsignedInteger32*)psid);
1256 it->setField(
"lsid", *lsp);
1258 it->setField(
"psid", *psp);
1260 it->setField(
"exprep", *nbs);
1262 std::cout <<
"nbSubProcesses item not found !!!" << std::endl;
1264 it->setField(
"effrep", *nbsr);
1266 std::cout <<
"nbSubProcessesReporting item not found !!!" << std::endl;
1278 toolbox::net::URL
url(
rcms_->getContextDescriptor()->getURL());
1280 toolbox::net::URL properurl(
url.getProtocol(),
url.getHost(),
url.getPort(),
"");
1281 xdaq::ContextDescriptor *ctxdsc =
new xdaq::ContextDescriptor(properurl.toString());
1282 xdaq::ApplicationDescriptor *appdesc =
new xdaq::ApplicationDescriptorImpl(ctxdsc,
rcms_->getClassName(),
rcms_->getLocalId(),
"pippo");
1284 appdesc->setAttribute(
"path",
"/rcms/servlet/monitorreceiver");
1286 xoap::MessageReference
msg = xoap::createMessage();
1287 xoap::SOAPEnvelope envelope = msg->getSOAPPart().getEnvelope();
1288 xoap::SOAPName responseName = envelope.createName(
"report", xmas::NamespacePrefix, xmas::NamespaceUri);
1289 (void) envelope.getBody().addBodyElement ( responseName );
1290 xoap::SOAPName reportName (
"report", xmas::NamespacePrefix, xmas::NamespaceUri);
1291 xoap::SOAPElement reportElement = envelope.getBody().getChildElements(reportName)[0];
1292 reportElement.addNamespaceDeclaration (xmas::sensor::NamespacePrefix, xmas::sensor::NamespaceUri);
1293 xoap::SOAPName sampleName = envelope.createName(
"sample", xmas::NamespacePrefix, xmas::NamespaceUri);
1294 xoap::SOAPElement sampleElement = reportElement.addChildElement(sampleName);
1295 xoap::SOAPName flashListName = envelope.createName(
"flashlist",
"",
"");
1296 sampleElement.addAttribute(flashListName,
"urn:xdaq-flashlist:scalers");
1297 xoap::SOAPName
tagName = envelope.createName(
"tag",
"",
"");
1298 sampleElement.addAttribute(tagName,
"tag");
1299 xoap::MimeHeaders* headers = msg->getMimeHeaders();
1300 headers->removeHeader(
"x-xdaq-tags");
1301 headers->addHeader(
"x-xdaq-tags",
"tag");
1302 tagName = envelope.createName(
"originator",
"",
"");
1303 sampleElement.addAttribute(tagName,
at.toString());
1305 xdata::exdr::AutoSizeOutputStreamBuffer outBuffer;
1306 xdata::exdr::Serializer serializer;
1313 LOG4CPLUS_WARN(
log_,
1314 "Exception in serialization of scalers table");
1319 xoap::AttachmentPart * attachment = msg->createAttachmentPart(outBuffer.getBuffer(), outBuffer.tellp(),
"application/x-xdata+exdr");
1320 attachment->setContentEncoding(
"binary");
1321 tagName = envelope.createName(
"tag",
"",
"");
1322 sampleElement.addAttribute(tagName,
"tag");
1323 std::stringstream contentId;
1325 contentId <<
"<" <<
"urn:xdaq-flashlist:scalers" <<
"@" <<
at.getHost() <<
">";
1326 attachment->setContentId(contentId.str());
1327 std::stringstream contentLocation;
1328 contentId <<
at.toString();
1329 attachment->setContentLocation(contentLocation.str());
1331 std::stringstream disposition;
1332 disposition <<
"attachment; filename=" <<
"urn:xdaq-flashlist:scalers" <<
".exdr; creation-date=" <<
"\"" <<
"dummy" <<
"\"";
1333 attachment->addMimeHeader(
"Content-Disposition",disposition.str());
1334 msg->addAttachmentPart(attachment);
1342 message += ex.what();
1343 LOG4CPLUS_WARN(
log_,message.c_str());
xdata::InfoSpace * monitorLegendaInfoSpace_
xdata::String macro_state_legend_
void summaryWebPage(xgi::Input *, xgi::Output *, const std::string &)
T getParameter(std::string const &) const
ShmOutputModuleRegistry * sorRef_
std::vector< PathSummary > endPathSummaries
unsigned int getfailed(unsigned int ind)
FWEPWrapper(log4cplus::Logger &, unsigned int instance)
std::vector< bool > lumiSectionsTo_
event_processor::State getState() const
double getAve(std::string const &name) const
void setIndex(unsigned int lvl1Index)
void updateRollingReport()
TriggerReportStatic * getPackedTriggerReportAsStruct()
void rmdir(const std::string &fullpath)
void serviceWeb(xgi::Input *in, xgi::Output *out)
bool checkWeb(const std::string &)
xdata::Integer epmAltState_
static PFTauRenderPlugin instance
void moduleWeb(xgi::Input *in, xgi::Output *out)
std::string findLabelOfModuleTypeInEndPath(edm::TriggerReport &, std::vector< edm::ModuleDescription const * > &, unsigned int, std::string)
void startMonitoringWorkLoop()
TrainProcessor *const proc
virtual std::string explainSelf() const
void taskWebPage(xgi::Input *, xgi::Output *, const std::string &)
struct timeval monStartTime_
ShmOutputModuleRegistry * getShmOutputModuleRegistry()
void createAndSendScalersMessage()
std::string configString_
void init(unsigned short, std::string &)
xdata::InfoSpace * scalersInfoSpace_
xdata::UnsignedInteger32 localLsIncludingTimeOuts_
xdaq::ApplicationContext * xappCtxt_
xdata::UnsignedInteger32 lastLumiPrescaleIndex_
xdata::Table & getTable()
void setupFastTimerService(unsigned int nProcesses)
xdata::Boolean lsToBeRecovered_
void setNumberOfProcesses(unsigned int)
double getFirst(std::string const &name) const
xdata::UnsignedInteger32 & getProcThisLumi()
xdata::Table & getTableWithNames()
xdata::InfoSpace * scalersLegendaInfoSpace_
std::vector< std::string > mapmod_
StatusCode waitTillDoneAsync(unsigned int timeout_seconds=0)
ModuleWebRegistry * mwrRef_
std::string const & getMicroState2()
void insertStreamAndDatasetInfo(edm::ParameterSet &streams, edm::ParameterSet &datasets)
toolbox::task::WorkLoop * wlMonitoring_
static const std::string unknown
bool checkLumiSection(unsigned int ls)
int notstarted_state_code_
unsigned int getexcept(unsigned int ind)
std::list< std::string > namesScalersLegenda_
std::string getAsString() const
xdata::Boolean lsTimedOut_
std::vector< PathSummary > trigPathSummaries
static const unsigned int lsRollSize_
ModuleWebRegistry * getModuleWebRegistry()
void publish(xdata::InfoSpace *)
void lumiSumTable(xgi::Output *out)
std::vector< std::string > statmod_
edm::ServiceToken serviceToken_
unsigned int getLumiSectionReferenceIndex()
bool monitoring(toolbox::task::WorkLoop *wl)
void reconfigure(ParameterSet const &ps)
std::string getPathTableAsString() const
void openBackDoor(const std::string &, unsigned int timeout_sec=0, bool *started=0)
xdata::UnsignedInteger32 & getAccThisLumi()
std::list< std::string > namesStatusLegenda_
void publish(xdata::InfoSpace *)
double getMax(std::string const &name) const
xdata::Table scalersComplete_
xdata::String micro_state_legend_
std::list< std::string > names_
unsigned int getl1pre(unsigned int ind)
static ServiceToken createSet(std::vector< ParameterSet > &)
xdata::InfoSpace * monitorInfoSpace_
std::map< std::string, int > modmap_
char const * stateName(event_processor::State s) const
char const * currentStateName() const
unsigned int allPastLumiProcessed_
std::vector< edm::ModuleDescription const * > descs_
unsigned int getaccept(unsigned int ind)
xdata::UnsignedInteger32 lumiSectionIndex_
edm::EventProcessor::StatusCode stop()
xdata::UnsignedInteger32 nbProcessed_
boost::shared_ptr< edm::ProcessDesc > processDesc()
evf::MsgBuf & getPackedTriggerReport()
xdata::String * getPathLegenda()
void formatReportTable(edm::TriggerReport &, std::vector< edm::ModuleDescription const * > &, std::string &pathIndexTable, bool noNukeLegenda)
bool getTriggerReport(bool useLock)
OutputModule * get(std::string &name)
void closeBackDoor(const std::string &)
void packTriggerReport(edm::TriggerReport &, ShmOutputModuleRegistry *, bool)
xdata::UnsignedInteger32 lastLumiUsingEol_
pthread_mutex_t ep_guard_lock_
edm::service::PrescaleService * prescaleSvc_
xdata::UnsignedInteger32 instance_
xdata::UnsignedInteger32 monSleepSec_
void publishConfigAndMonitorItemsSP()
unsigned int scalersUpdateCounter_
toolbox::task::ActionSignature * asMonitoring_
xdata::UnsignedInteger32 prescaleSetIndex_
unsigned int rollingLsIndex_
std::vector< lsTriplet > lumiSectionsCtr_
fuep::TriggerReportHelpers trh_
edm::EventProcessor * evtProcessor_
virtual unsigned int getCounts()=0
xdata::Integer epMAltState_
void sumAndPackTriggerReport(MsgBuf &)
edm::EventSummary eventSummary
std::string lsidTimedOutAsString_
bool hasServiceWebRegistry_
FastTimerService * ftsRef_
void microState(xgi::Input *in, xgi::Output *out)
std::vector< ModuleDescription const * > getAllModuleDescriptions() const
void sumAndPackTriggerReport(MsgBuf &buf)
void packedTriggerReportToTable()
xdaq::ApplicationDescriptor * rcms_
T mod(const T &a, const T &b)
bool hasModuleWebRegistry_
unsigned int scalersUpdateAttempted_
int totalEventsPassed() const
xdata::InfoSpace * applicationInfoSpace_
xdata::UnsignedInteger32 lsTimeOut_
void publishConfigAndMonitorItems(bool)
std::string configuration_
void triggerReportUpdate(edm::TriggerReport &, unsigned int, unsigned int, bool=true)
xdaq::ApplicationDescriptor * xappDesc_
xdata::UnsignedInteger32 timeoutOnStop_
void publishToXmas(xdata::InfoSpace *)
xdata::UnsignedInteger32 nbAccepted_
void getTriggerReport(TriggerReport &rep) const
unsigned int getPrescale(unsigned int lvl1Index, std::string const &prescaledPath)
unsigned int prescaleIndex