| 226 |
qu.str(""); |
qu.str(""); |
| 227 |
// qu << "SELECT BOOT_NUMBER from ROOT_TABLE where BOOT_NUMBER!=0 AND ABS(LAST_TIME_SYNC_INFO-"<< chlastts <<")<10000 AND ABS(REAL_TIME_INIT-"<< row2->GetField(10) <<")<7200 group by BOOT_NUMBER order by BOOT_NUMBER asc;"; |
// qu << "SELECT BOOT_NUMBER from ROOT_TABLE where BOOT_NUMBER!=0 AND ABS(LAST_TIME_SYNC_INFO-"<< chlastts <<")<10000 AND ABS(REAL_TIME_INIT-"<< row2->GetField(10) <<")<7200 group by BOOT_NUMBER order by BOOT_NUMBER asc;"; |
| 228 |
// qu << "SELECT BOOT_NUMBER from ROOT_TABLE where BOOT_NUMBER!=0 AND ABS(LAST_TIME_SYNC_INFO-"<< chlastts <<")<40000 AND ABS(REAL_TIME_INIT-"<< row2->GetField(10) <<")<40000 group by BOOT_NUMBER order by BOOT_NUMBER asc;"; // relax conditions... 090112 [8RED: error -29] |
// qu << "SELECT BOOT_NUMBER from ROOT_TABLE where BOOT_NUMBER!=0 AND ABS(LAST_TIME_SYNC_INFO-"<< chlastts <<")<40000 AND ABS(REAL_TIME_INIT-"<< row2->GetField(10) <<")<40000 group by BOOT_NUMBER order by BOOT_NUMBER asc;"; // relax conditions... 090112 [8RED: error -29] |
| 229 |
qu << "SELECT BOOT_NUMBER from ROOT_TABLE where BOOT_NUMBER!=0 AND ABS(LAST_TIME_SYNC_INFO-"<< chlastts <<")<50000 AND ABS(REAL_TIME_INIT-"<< row2->GetField(10) <<")<50000 group by BOOT_NUMBER order by BOOT_NUMBER asc;"; // even more relaxed conditions... 091214 [9REDtest3: error -29] |
qu << "SELECT BOOT_NUMBER from ROOT_TABLE where BOOT_NUMBER!=0 AND ABS(LAST_TIME_SYNC_INFO-"<< (float)chlastts <<")<50000 AND ABS(REAL_TIME_INIT-"<< atof(row2->GetField(10)) <<")<50000 group by BOOT_NUMBER order by BOOT_NUMBER asc;"; // even more relaxed conditions... 091214 [9REDtest3: error -29] // 10RED MYSQL operators BUG: |
| 230 |
|
/* |
| 231 |
|
|
| 232 |
|
mysql> select CAST(1322000646 AS UNSIGNED INTEGER)-1322017203.; |
| 233 |
|
+--------------------------------------------------+ |
| 234 |
|
| CAST(1322000646 AS UNSIGNED INTEGER)-1322017203. | |
| 235 |
|
+--------------------------------------------------+ |
| 236 |
|
| -16557 | |
| 237 |
|
+--------------------------------------------------+ |
| 238 |
|
1 row in set (0.06 sec) |
| 239 |
|
|
| 240 |
|
mysql> select CAST(1322000646 AS UNSIGNED INTEGER)-1322017203; |
| 241 |
|
+-------------------------------------------------+ |
| 242 |
|
| CAST(1322000646 AS UNSIGNED INTEGER)-1322017203 | |
| 243 |
|
+-------------------------------------------------+ |
| 244 |
|
| 18446744073709535059 | |
| 245 |
|
+-------------------------------------------------+ |
| 246 |
|
1 row in set (0.02 sec) |
| 247 |
|
|
| 248 |
|
*/ |
| 249 |
if ( debug ) printf(" chewbacca: query is %s \n",qu.str().c_str()); |
if ( debug ) printf(" chewbacca: query is %s \n",qu.str().c_str()); |
| 250 |
result3 = conn->Query(qu.str().c_str()); |
result3 = conn->Query(qu.str().c_str()); |
| 251 |
if ( result3 ){ |
if ( result3 ){ |
| 1749 |
TYPE = 0; |
TYPE = 0; |
| 1750 |
TSYNC = 0; |
TSYNC = 0; |
| 1751 |
// |
// |
| 1752 |
Double_t minimum = 0.; |
// Double_t minimum = 0.; |
| 1753 |
Double_t maximum = 0.; |
// Double_t maximum = 0.; |
| 1754 |
Double_t minimum2 = 0.; |
//Double_t minimum2 = 0.; |
| 1755 |
Double_t maximum2 = 0.; |
Double_t maximum2 = 0.; |
| 1756 |
// |
// |
| 1757 |
// |
// |
| 1759 |
pamela::McmdRecord *mcrc = 0; |
pamela::McmdRecord *mcrc = 0; |
| 1760 |
TArrayC *mcmddata = 0; |
TArrayC *mcmddata = 0; |
| 1761 |
// |
// |
| 1762 |
minimum = numeric_limits<Double_t>::max(); |
// minimum = numeric_limits<Double_t>::max(); |
| 1763 |
maximum = numeric_limits<Double_t>::min(); |
// maximum = numeric_limits<Double_t>::min(); |
| 1764 |
minimum2 = numeric_limits<Double_t>::max(); |
// minimum2 = numeric_limits<Double_t>::max(); |
| 1765 |
maximum2 = numeric_limits<Double_t>::min(); |
maximum2 = numeric_limits<Double_t>::min(); |
| 1766 |
// |
// |
| 1767 |
T = (TTree*)file->Get("Mcmd"); |
T = (TTree*)file->Get("Mcmd"); |
| 2181 |
UInt_t lowerts = tsync-(obt0/1000)-5; |
UInt_t lowerts = tsync-(obt0/1000)-5; |
| 2182 |
if ( chewbacca ){ |
if ( chewbacca ){ |
| 2183 |
oss.str(""); |
oss.str(""); |
| 2184 |
oss << "select BOOT_NUMBER from ROOT_TABLE where LAST_TIME_SYNC_INFO-(OBT_TIME_SYNC)<" |
oss << "select BOOT_NUMBER from ROOT_TABLE where CAST((LAST_TIME_SYNC_INFO-(OBT_TIME_SYNC)) AS SIGNED INT)<" // 10RED MYSQL OPERATORS BUG |
| 2185 |
<< upperts |
<< upperts |
| 2186 |
<< " AND LAST_TIME_SYNC_INFO-(OBT_TIME_SYNC)>" |
<< " AND CAST((LAST_TIME_SYNC_INFO-(OBT_TIME_SYNC)) AS SIGNED INT)>" // 10RED MYSQL OPERATORS BUG |
| 2187 |
<< lowerts |
<< lowerts |
| 2188 |
<< " AND BOOT_NUMBER>1;"; |
<< " AND BOOT_NUMBER>1;"; |
| 2189 |
} else { |
} else { |
| 2190 |
oss.str(""); |
oss.str(""); |
| 2191 |
oss << "select GL_RAW.BOOT_NUMBER from GL_TIMESYNC LEFT JOIN GL_RAW ON GL_RAW.ID = GL_TIMESYNC.ID_RAW where TIMESYNC-(OBT0/1000)<" |
oss << "select GL_RAW.BOOT_NUMBER from GL_TIMESYNC LEFT JOIN GL_RAW ON GL_RAW.ID = GL_TIMESYNC.ID_RAW where CAST((TIMESYNC-(OBT0/1000)) AS SIGNED INT)<" // 10RED MYSQL OPERATORS BUG |
| 2192 |
<< upperts |
<< upperts |
| 2193 |
<< " AND TIMESYNC-(OBT0/1000)>" |
<< " AND CAST((TIMESYNC-(OBT0/1000)) AS SIGNED INT)>" // 10RED MYSQL OPERATORS BUG |
| 2194 |
<< lowerts |
<< lowerts |
| 2195 |
<< " AND GL_RAW.BOOT_NUMBER>0 GROUP BY GL_TIMESYNC.OBT0;"; |
<< " AND GL_RAW.BOOT_NUMBER>0 GROUP BY GL_TIMESYNC.OBT0;"; |
| 2196 |
}; |
}; |
| 2289 |
// |
// |
| 2290 |
// no runtrailers in the file! |
// no runtrailers in the file! |
| 2291 |
// |
// |
| 2292 |
if ( !rtev ){ |
if ( IsDebug() ) printf(" Start rtev %i rhev %i nrtev %i nrhev %i \n",rtev,rhev,nrtev,nrhev); |
| 2293 |
if ( !rhev ){ |
if ( !rtev || (chewbacca && !nrtev) ){ |
| 2294 |
|
if ( IsDebug() ) printf(" No runtrailers \n"); |
| 2295 |
|
if ( !rhev || (chewbacca && !nrhev) ){ |
| 2296 |
if ( IsDebug() ) printf(" No runheaders nor runtrailers!! \n"); |
if ( IsDebug() ) printf(" No runheaders nor runtrailers!! \n"); |
| 2297 |
if ( !(upperentry-chminentry) ){ |
if ( !(upperentry-chminentry) ){ |
| 2298 |
if ( IsDebug() ) printf(" No physics events nor runs in the file \n"); // di nuovo potrebbe esserci un runtrailer senza eventi (riempimento MM) |
if ( IsDebug() ) printf(" No physics events nor runs in the file \n"); // di nuovo potrebbe esserci un runtrailer senza eventi (riempimento MM) |
| 2329 |
// |
// |
| 2330 |
} else { |
} else { |
| 2331 |
// |
// |
| 2332 |
|
if ( IsDebug() ) printf(" We have runtrailers \n"); |
| 2333 |
Int_t conptt = -1; |
Int_t conptt = -1; |
| 2334 |
for (Int_t ptt=0; ptt<rtev; ptt++){ |
for (Int_t ptt=0; ptt<rtev; ptt++){ |
| 2335 |
// |
// |
| 3617 |
// |
// |
| 3618 |
EventCounter *code=0; |
EventCounter *code=0; |
| 3619 |
// |
// |
| 3620 |
UInt_t nevent = 0; |
// UInt_t nevent = 0; |
| 3621 |
UInt_t checkfirst = 0; |
UInt_t checkfirst = 0; |
| 3622 |
UInt_t checklast = 0; |
UInt_t checklast = 0; |
| 3623 |
UInt_t firstentry = 0; |
UInt_t firstentry = 0; |
| 3639 |
EventHeader *eh = 0; |
EventHeader *eh = 0; |
| 3640 |
PscuHeader *ph = 0; |
PscuHeader *ph = 0; |
| 3641 |
T->SetBranchAddress("Header", &eh); |
T->SetBranchAddress("Header", &eh); |
| 3642 |
nevent = T->GetEntries(); |
// nevent = T->GetEntries(); |
| 3643 |
// |
// |
| 3644 |
// |
// |
| 3645 |
if ( firstev == lastev+1 || lastev == firstev ) { // no events inside the run! |
if ( firstev == lastev+1 || lastev == firstev ) { // no events inside the run! |
| 4160 |
EventCounter *code=0; |
EventCounter *code=0; |
| 4161 |
UInt_t firstev = 0; |
UInt_t firstev = 0; |
| 4162 |
UInt_t lastev = 0; |
UInt_t lastev = 0; |
| 4163 |
UInt_t nevent = 0; |
// UInt_t nevent = 0; |
| 4164 |
UInt_t checkfirst = 0; |
UInt_t checkfirst = 0; |
| 4165 |
UInt_t checklast = 0; |
UInt_t checklast = 0; |
| 4166 |
UInt_t firstentry = 0; |
UInt_t firstentry = 0; |
| 4185 |
EventHeader *eh = 0; |
EventHeader *eh = 0; |
| 4186 |
PscuHeader *ph = 0; |
PscuHeader *ph = 0; |
| 4187 |
T->SetBranchAddress("Header", &eh); |
T->SetBranchAddress("Header", &eh); |
| 4188 |
nevent = T->GetEntries(); |
// nevent = T->GetEntries(); |
| 4189 |
// |
// |
| 4190 |
codt = eht->GetCounter(); |
codt = eht->GetCounter(); |
| 4191 |
codh = ehh->GetCounter(); |
codh = ehh->GetCounter(); |
| 5468 |
|
|
| 5469 |
if ( IsDebug() ) cout << endl << ">>>> TRY TO RECOVER TRACKER CALIBRATIONS <<<<"<<endl; |
if ( IsDebug() ) cout << endl << ">>>> TRY TO RECOVER TRACKER CALIBRATIONS <<<<"<<endl; |
| 5470 |
|
|
| 5471 |
TSQLResult *result = 0; |
TSQLResult *rresult = 0; // 10RED bug, result is re-used inside result looop... |
| 5472 |
|
TSQLResult *result = 0; // 10RED bug, result is re-used inside result looop... |
| 5473 |
TSQLRow *row = 0; |
TSQLRow *row = 0; |
| 5474 |
// |
// |
| 5475 |
stringstream oss; |
stringstream oss; |
| 5499 |
oss << " ORDER BY ID DESC LIMIT "<<ncalib<<"; "; |
oss << " ORDER BY ID DESC LIMIT "<<ncalib<<"; "; |
| 5500 |
if ( IsDebug() ) cout << oss.str().c_str() << endl; |
if ( IsDebug() ) cout << oss.str().c_str() << endl; |
| 5501 |
|
|
| 5502 |
result = conn->Query(oss.str().c_str()); |
rresult = conn->Query(oss.str().c_str()); |
| 5503 |
if ( !result ) throw -4;; |
if ( !result ) throw -4;; |
| 5504 |
if ( IsDebug() ) cout <<"Rows: "<<result->GetRowCount()<<endl; |
if ( IsDebug() ) cout <<"Rows: "<<result->GetRowCount()<<endl; |
| 5505 |
|
|
| 5508 |
// ----------------------------------- |
// ----------------------------------- |
| 5509 |
UInt_t nn=0; |
UInt_t nn=0; |
| 5510 |
do { |
do { |
| 5511 |
row = result->Next(); |
row = rresult->Next(); |
| 5512 |
if(!row)break; |
if(!row)break; |
| 5513 |
|
|
| 5514 |
UInt_t id = (UInt_t)atoll(row->GetField(0)); |
UInt_t id = (UInt_t)atoll(row->GetField(0)); |
| 5547 |
TString path = ""; |
TString path = ""; |
| 5548 |
TString name = ""; |
TString name = ""; |
| 5549 |
TString raw = ""; |
TString raw = ""; |
| 5550 |
UInt_t obt0 = 0; |
// UInt_t obt0 = 0; |
| 5551 |
UInt_t timesync = 0; |
// UInt_t timesync = 0; |
| 5552 |
UInt_t boot_number = 0; |
// UInt_t boot_number = 0; |
| 5553 |
bool FOUND = false; |
bool FOUND = false; |
| 5554 |
|
|
| 5555 |
if ( IsDebug() ) cout << "------------------------------------------------------------" <<endl; |
if ( IsDebug() ) cout << "------------------------------------------------------------" <<endl; |
| 5622 |
path = (TString)row2->GetField(0); |
path = (TString)row2->GetField(0); |
| 5623 |
name = (TString)row2->GetField(1); |
name = (TString)row2->GetField(1); |
| 5624 |
raw = (TString)row2->GetField(5); |
raw = (TString)row2->GetField(5); |
| 5625 |
obt0 = (UInt_t)atoll(row2->GetField(2)); |
// obt0 = (UInt_t)atoll(row2->GetField(2)); |
| 5626 |
timesync = (UInt_t)atoll(row2->GetField(3)); |
// timesync = (UInt_t)atoll(row2->GetField(3)); |
| 5627 |
boot_number = (UInt_t)atoll(row2->GetField(4)); |
// boot_number = (UInt_t)atoll(row2->GetField(4)); |
| 5628 |
|
|
| 5629 |
if ( IsDebug() ) cout << "- - - - - - - - - - -" <<endl; |
if ( IsDebug() ) cout << "- - - - - - - - - - -" <<endl; |
| 5630 |
// cout << path <<endl; |
// cout << path <<endl; |
| 5688 |
if(FOUND)break; |
if(FOUND)break; |
| 5689 |
|
|
| 5690 |
}while(1);//endl loop over root table entries |
}while(1);//endl loop over root table entries |
| 5691 |
|
|
| 5692 |
|
delete result2; // 10RED potential memory leak |
| 5693 |
if(FOUND)break; |
if(FOUND)break; |
| 5694 |
|
|
| 5695 |
}//end loop over tables |
}//end loop over tables |
| 5843 |
}while(1);//end loop over calibrations |
}while(1);//end loop over calibrations |
| 5844 |
|
|
| 5845 |
|
|
| 5846 |
if( result )delete result; |
if( rresult )delete rresult; // 10RED bug |
| 5847 |
if( row )delete row; |
if( row )delete row; |
| 5848 |
|
|
| 5849 |
|
|
| 6144 |
memset(myid,0,500*sizeof(UInt_t)); |
memset(myid,0,500*sizeof(UInt_t)); |
| 6145 |
// |
// |
| 6146 |
oss.str(""); |
oss.str(""); |
| 6147 |
oss << "SELECT ID,RUNTRAILER_TIME,RUNTRAILER_PKT,BOOT_NUMBER FROM GL_RUN_FRAGMENTS WHERE INSERT_TIME <= '" << clean_time->AsSQLString() << "'order BY RUNHEADER_TIME asc;"; |
oss << "SELECT ID,RUNTRAILER_TIME,RUNTRAILER_PKT,BOOT_NUMBER FROM GL_RUN_FRAGMENTS WHERE INSERT_TIME <= '" << clean_time->AsSQLString() << "' order BY RUNHEADER_TIME asc;"; |
| 6148 |
if ( IsDebug() ) printf(" Select from GL_RUN_FRAGMENTS runs older than %s : query is \n %s \n",clean_time->AsSQLString(),oss.str().c_str()); |
if ( IsDebug() ) printf(" Select from GL_RUN_FRAGMENTS runs older than %s : query is \n %s \n",clean_time->AsSQLString(),oss.str().c_str()); |
| 6149 |
nresult = conn->Query(oss.str().c_str()); |
nresult = conn->Query(oss.str().c_str()); |
| 6150 |
// |
// |
| 6175 |
while ( anr ){ |
while ( anr ){ |
| 6176 |
// |
// |
| 6177 |
oss.str(""); |
oss.str(""); |
| 6178 |
oss << "SELECT ID,RUNTRAILER_TIME,RUNTRAILER_PKT,BOOT_NUMBER FROM GL_RUN_FRAGMENTS WHERE BOOT_NUMBER=" << mbo << " AND RUNHEADER_PKT=" << mrhp << "+1 AND ABS(RUNHEADER_TIME-"<< mrht <<")<=1 AND INSERT_TIME <= '" << clean_time->AsSQLString() << "' order BY RUNHEADER_TIME asc;"; |
oss << "SELECT ID,RUNTRAILER_TIME,RUNTRAILER_PKT,BOOT_NUMBER FROM GL_RUN_FRAGMENTS WHERE BOOT_NUMBER=" << mbo << " AND RUNHEADER_PKT=" << mrhp << "+1 AND ABS(RUNHEADER_TIME-"<< (float)mrht <<")<=1 AND INSERT_TIME <= '" << clean_time->AsSQLString() << "' order BY RUNHEADER_TIME asc;"; // 10RED MYSQL OPERATOR BUG |
| 6179 |
if ( IsDebug() ) printf(" In the loop searching for fragmented runs : query is \n %s \n",oss.str().c_str()); |
if ( IsDebug() ) printf(" In the loop searching for fragmented runs : query is \n %s \n",oss.str().c_str()); |
| 6180 |
// |
// |
| 6181 |
nresult1 = conn->Query(oss.str().c_str()); |
nresult1 = conn->Query(oss.str().c_str()); |