void getBeginTime(int runNumber = 15047028) { const char* database = "mysql://db04.star.bnl.gov:3413/RunLog?timeout=60"; const char* user = "******"; const char* pass = ""; TMySQLServer* mysql = TMySQLServer::Connect(database,user,pass); gSystem->mkdir("beginTimes"); ofstream of(Form("beginTimes_t/%0.8d.beginTimes.txt", runNumber)); if (!mysql) { cerr << "Connection to " << database << " failed" << endl; return; } TString query; TMySQLResult* result; query = Form("select distinct beginTime from `RunLog`.`runDescriptor` where runNumber = %d",runNumber); result = (TMySQLResult*)mysql->Query(query); if (result) { TMySQLRow* row; while (row = (TMySQLRow*)result->Next()) { TString str(Form("%s", row->GetField(0))); cout<<str.Data()<<endl; TString str_new = str; cout<<str_new.Data()<<endl; of<<str_new.Data()<<endl; delete row; } result->Close(); } of.close(); mysql->Close(); }
TObjArray readOnline(int runNumber) { // Open connection to online database const char* database = "mysql://db04.star.bnl.gov:3411/Conditions_rts?timeout=60"; const char* user = "******"; const char* pass = ""; TMySQLServer* mysql = TMySQLServer::Connect(database,user,pass); if (!mysql) { cerr << "Connection to " << database << " failed" << endl; return; } TObjArray arr; TString query; TMySQLResult* result; // TDatime beginTime; query = Form("select object,idx,reg,label,value,defaultvalue from `Conditions_rts`.`dict` where hash=(select dicthash from run where idx_rn = %d)",runNumber); result = (TMySQLResult*)mysql->Query(query); if (result) { TMySQLRow* row; while (row = (TMySQLRow*)result->Next()) { StTriggerThreshold* th = new StTriggerThreshold; th->object = atoi(row->GetField(0)); th->index = atoi(row->GetField(1)); th->reg = atoi(row->GetField(2)); th->label = row->GetField(3); th->value = atoi(row->GetField(4)); th->defaultvalue = atoi(row->GetField(5)); delete row; arr.Add(th); } result->Close(); } mysql->Close(); for (int i = 0; i < arr.GetEntriesFast(); ++i) { StTriggerThreshold* th = (StTriggerThreshold*)arr.At(i); th->print(); } return arr; }