// // Program showing the status of a run // // This is a modified version of RunConfigDB/Test/RunSummaryTest.cc. // It shows the luminosity and good run, cot and svx bits. // This allows to judge whether a run should have a beam line entry or not. // // 020603 Hartmut Stadie // #include #include "DBManager/ConControl.hh" #include "DBManager/IoEntry.hh" #include "DBManager/PackageManager.hh" #include "RunConfigDB/RunSummaryDefs.hh" int main(int argc, char* argv[]) { if (argc < 2) { std::cout << "usage: RunStatus " << std::endl; std::cout << "output formart:store,luminosity,events,good_run,cot_status,cot_offline,svx_status,svx_offline" << std::endl; exit(1); } int run = atoi(argv[1]); PackageManager m; ConControl::instance()->addIoEntry(new IoEntry("offline","OTL","cdf_reader/reader@cdfofprd")); m.setDefaultID("offline"); // Setup the manager : RunSummary_mgr rsmgr("RunSummary"); if( !rsmgr.isValid() ) { std::cout << "RunSummaryTest : error connecting to database to obtain RunSummary information" << endmsg; exit(1); } // Make a RunSummaryKey (just holds the run number) : RunSummaryKey runSummaryKey(run); // Make a Handle to the RunSummary result: RunSummary_var runSummaryResult; // Actually perform the database query : if(rsmgr.get(runSummaryKey,runSummaryResult)!=Result::success) { std::cout << "RunSummaryTest : error retrieving RunSummary information from database" << endmsg; exit(1); } // Grab the results of the query : if (!runSummaryResult.isValid()) { std::cout << "RunSummaryTest : RunSummary handle not valid" << endmsg; exit(1); } std::cout << runSummaryResult->getTevStore() << "," << runSummaryResult->getB0IntegratedLiveLumi() << "," << runSummaryResult->getLevel3_nEventsOutput() << "," << runSummaryResult->getGoodrun_Status() << "," << runSummaryResult->getCOT_Status() << "," << runSummaryResult->getCOT_Offline() << "," << runSummaryResult->getSVX_Status() << "," << runSummaryResult->getSVX_Offline() << std::endl; return 0; }