| 28 |
// |
// |
| 29 |
void r2d2usage(){ |
void r2d2usage(){ |
| 30 |
printf("\nUsage:\n"); |
printf("\nUsage:\n"); |
| 31 |
printf("\n R2-D2 [-h | --help] [--version] [-idRun ID_RUN] [-filename filename]\n"); |
printf("\n R2-D2 [ options ]\n"); |
| 32 |
printf("\n [-host host] [-user username] [-psw password] \n"); |
printf("\n Options are:\n\n"); |
| 33 |
printf("\n --version print informations about compilation and exit\n"); |
printf(" --version print informations about compilation and exit\n"); |
| 34 |
printf("\n -h | --help print this help and exit \n"); |
printf(" -h | --help print this help and exit \n"); |
| 35 |
printf("\n -v | --verbose be verbose [default: print nothing on STDOUT]\n"); |
printf(" -v | --verbose be verbose [default: print nothing on STDOUT]\n"); |
| 36 |
printf("\n -idRun run ID_RUN: ID number of the run \n"); |
printf(" -idRun run ID_RUN: ID number of the run \n"); |
| 37 |
printf("\n -filename file output yoda filename \n"); |
printf(" -filename file output yoda filename \n"); |
| 38 |
printf("\n -host name for the host [default = $PAM_DBHOST or mysql://localhost/pamelaprod]\n"); |
printf(" -host name of the DB host [default = $PAM_DBHOST or mysql://localhost/pamelaprod]\n"); |
| 39 |
printf("\n -user username for the DB [default = $PAM_DBUSER or \"anonymous\"] \n"); |
printf(" -user username for the DB connection [default = $PAM_DBUSER or \"anonymous\"] \n"); |
| 40 |
printf("\n -psw password for the DB [default = $PAM_DBPSW or \"\"]\n"); |
printf(" -psw password for the DB connection [default = $PAM_DBPSW or \"\"]\n"); |
| 41 |
printf("\n -tzone timezone the time zone: UTC,GMT,MSK,MSD,CET,CEST are accepted \n"); |
printf(" -tzone timezone the time zone: UTC,GMT,MSK,MSD,CET,CEST are accepted \n"); |
| 42 |
printf("\n -convert dbtime convert the dbtime given in seconds (from the DB) to a string\n"); |
printf(" -convert dbtime convert the dbtime given in seconds (from the DB) to a string\n"); |
| 43 |
printf("\n -runat date returns run number which contains the given date,\n"); |
printf(" -runat date returns run number which contains the given date,\n"); |
| 44 |
printf("\n for date use the SQL format \"yyyy-mm-dd hh:mm:ss\" \n"); |
printf(" for date use the SQL format \"yyyy-mm-dd hh:mm:ss\" \n"); |
| 45 |
printf("\n -runatDB time returns run number which contains the given DB time\n"); |
printf(" -runatDB time returns run number which contains the given DB time\n"); |
| 46 |
printf("\n -tsfile file yoda filename for the time sync (to be used with -obt)\n"); |
printf(" -tsfile file yoda filename for the time sync (to be used with -obt)\n"); |
| 47 |
printf("\n -obt OBT OBT in ms returns a date (to be used with -tsfile)\n"); |
printf(" -obt OBT OBT in ms returns a date (to be used with -tsfile)\n"); |
| 48 |
printf("\n -getRTime OBT OBT in ms returns Resurs time (to be used with -tsfile)\n"); |
printf(" -getRTime OBT OBT in ms returns Resurs time (to be used with -tsfile)\n"); |
| 49 |
printf("\n -dumpTLEfor date save into file tle.txt the TLE for the given date,\n"); |
printf(" -dumpTLEfor date save into file tle.txt the TLE for the given date,\n"); |
| 50 |
printf("\n for date use the SQL format \"yyyy-mm-dd hh:mm:ss\" \n"); |
printf(" for date use the SQL format \"yyyy-mm-dd hh:mm:ss\" \n"); |
| 51 |
printf("\nExamples: \n"); |
printf("\nExamples: \n"); |
| 52 |
printf("\n R2-D2 -idRun 1085 \n"); |
printf(" R2-D2 -idRun 1085 \n"); |
| 53 |
printf("\n R2-D2 -filename DW_050208_00900.root \n"); |
printf(" R2-D2 -filename DW_050208_00900.root \n"); |
| 54 |
printf("\n R2-D2 -idRun 1085 -filename DW_050208_00900.root \n"); |
printf(" R2-D2 -idRun 1085 -filename DW_050208_00900.root \n"); |
| 55 |
}; |
}; |
| 56 |
// |
// |
| 57 |
// Here the main |
// Here the main |
| 377 |
if ( dtle ){ |
if ( dtle ){ |
| 378 |
// |
// |
| 379 |
// |
// |
| 380 |
TDatime ti = TDatime(runtime.Data()); |
TDatime ti = TDatime(tletime.Data()); |
| 381 |
// |
// |
| 382 |
TTimeStamp *time = new TTimeStamp((UInt_t)ti.GetYear(),(UInt_t)ti.GetMonth(),(UInt_t)ti.GetDay(),(UInt_t)ti.GetHour(),(UInt_t)ti.GetMinute(),(UInt_t)ti.GetSecond(),0,true,0); |
TTimeStamp *time = new TTimeStamp((UInt_t)ti.GetYear(),(UInt_t)ti.GetMonth(),(UInt_t)ti.GetDay(),(UInt_t)ti.GetHour(),(UInt_t)ti.GetMinute(),(UInt_t)ti.GetSecond(),0,true,0); |
| 383 |
// |
// |
| 469 |
exit(-4); |
exit(-4); |
| 470 |
}; |
}; |
| 471 |
printf("\n Run %u belongs to file %s \n",run,(glroot->PATH+glroot->NAME).Data()); |
printf("\n Run %u belongs to file %s \n",run,(glroot->PATH+glroot->NAME).Data()); |
| 472 |
|
filename = glroot->NAME; |
| 473 |
found = true; |
found = true; |
| 474 |
}; |
}; |
| 475 |
// |
// |
| 522 |
} else { |
} else { |
| 523 |
myquery.str(""); |
myquery.str(""); |
| 524 |
myquery << "select "; |
myquery << "select "; |
| 525 |
myquery << " ID,RUNHEADER_TIME,RUNTRAILER_TIME "; |
myquery << " ID,RUNHEADER_TIME,RUNTRAILER_TIME,NEVENTS "; |
| 526 |
myquery << " from GL_RUN where ID_ROOT_L0=" << ID << ";"; |
myquery << " from GL_RUN where ID_ROOT_L0=" << ID << ";"; |
| 527 |
pResult = dbc->Query(myquery.str().c_str()); |
pResult = dbc->Query(myquery.str().c_str()); |
| 528 |
for( r=0; r < 1000; r++){ |
for( r=0; r < 1000; r++){ |
| 530 |
if( Row == NULL ) break; |
if( Row == NULL ) break; |
| 531 |
found = true; |
found = true; |
| 532 |
if ( !r ) printf("\n File %s contains the following runs: \n\n",filename.Data()); |
if ( !r ) printf("\n File %s contains the following runs: \n\n",filename.Data()); |
| 533 |
TString UTC="UTC"; |
TString UTC=tzone.Data(); |
| 534 |
printf(" => ID = %i --> the run started at %s UTC ended at %s UTC \n\n",(UInt_t)atoll(Row->GetField(0)),dbtime->ConvertTime(UTC,(UInt_t)atoll(Row->GetField(1))).Data(),dbtime->ConvertTime(UTC,(UInt_t)atoll(Row->GetField(2))).Data()); |
printf(" => ID = %i --> the run started at %s %s ended at %s %s NEV = %u \n\n",(UInt_t)atoll(Row->GetField(0)),dbtime->ConvertTime(UTC,(UInt_t)atoll(Row->GetField(1))).Data(),tzone.Data(),dbtime->ConvertTime(UTC,(UInt_t)atoll(Row->GetField(2))).Data(),tzone.Data(),(UInt_t)atoll(Row->GetField(3))); |
| 535 |
}; |
}; |
| 536 |
delete pResult; |
delete pResult; |
| 537 |
myquery.str(""); |
myquery.str(""); |
| 543 |
Row = pResult->Next(); |
Row = pResult->Next(); |
| 544 |
if( Row == NULL ) break; |
if( Row == NULL ) break; |
| 545 |
if ( !r ) printf("\n File %s contains the following DELETED runs: \n\n",filename.Data()); |
if ( !r ) printf("\n File %s contains the following DELETED runs: \n\n",filename.Data()); |
| 546 |
TString UTC="UTC"; |
TString UTC=tzone.Data(); |
| 547 |
printf(" => ID = %i --> the run started at %s UTC ended at %s UTC \n\n",(UInt_t)atoll(Row->GetField(0)),dbtime->ConvertTime(UTC,(UInt_t)atoll(Row->GetField(1))).Data(),dbtime->ConvertTime(UTC,(UInt_t)atoll(Row->GetField(2))).Data()); |
printf(" => ID = %i --> the run started at %s %s ended at %s %s \n\n",(UInt_t)atoll(Row->GetField(0)),dbtime->ConvertTime(UTC,(UInt_t)atoll(Row->GetField(1))).Data(),tzone.Data(),dbtime->ConvertTime(UTC,(UInt_t)atoll(Row->GetField(2))).Data(),tzone.Data()); |
| 548 |
}; |
}; |
| 549 |
// |
// |
| 550 |
if ( !found ){ |
if ( !found ){ |