1 |
// |
// |
2 |
// Check for possible errors and shows raw distribution of variables coming from the DSP (no calibrations needed) - Emiliano Mocchiutti |
// Check for possible errors and shows raw distribution of variables coming from the DSP (no calibrations needed) - Emiliano Mocchiutti |
3 |
// |
// |
4 |
// FCaloQLOOK.c version 1.12 (2006-09-22) |
// FCaloQLOOK.c version 1.13 (2006-09-28) |
5 |
// |
// |
6 |
// The only input needed is the path to the directory created by YODA for the data file you want to analyze. |
// The only input needed is the path to the directory created by YODA for the data file you want to analyze. |
7 |
// |
// |
8 |
// Changelog: |
// Changelog: |
9 |
// |
// |
10 |
|
// 1.12 - 1.13 (2006-09-28): Give wrong number of events in compress mode, fixed. |
11 |
|
// |
12 |
// 1.11 - 1.12 (2006-09-22): Check for different number of events, put output in a file and write down errors for each event. Fixed jumpev bug. |
// 1.11 - 1.12 (2006-09-22): Check for different number of events, put output in a file and write down errors for each event. Fixed jumpev bug. |
13 |
// |
// |
14 |
// 1.09 - 1.11 (2006-07-17): Adapted to flight conditions. |
// 1.09 - 1.11 (2006-07-17): Adapted to flight conditions. |
306 |
Int_t pdone, bdone; |
Int_t pdone, bdone; |
307 |
pdone = 0; |
pdone = 0; |
308 |
bdone = 0; |
bdone = 0; |
309 |
bool isCOMP = 0; |
bool isCOMP = false; |
310 |
bool isFULL = 0; |
bool isFULL = false; |
311 |
bool isRAW = 0; |
bool isRAW = false; |
312 |
Int_t alldexy=0; |
Int_t alldexy=0; |
313 |
Int_t alldexy2=0; |
Int_t alldexy2=0; |
314 |
Int_t planebases=0; |
Int_t planebases=0; |
463 |
se = 1; |
se = 1; |
464 |
pl = (ii-1)/2; |
pl = (ii-1)/2; |
465 |
pdone = 0; |
pdone = 0; |
466 |
}; |
}; |
467 |
|
isCOMP = false; |
468 |
isCOMP = 0; |
isFULL = false; |
469 |
isFULL = 0; |
isRAW = false; |
470 |
isRAW = 0; |
if ( ce->stwerr[se] & (1 << 16) ) isCOMP = true; |
471 |
if ( ce->stwerr[se] & (1 << 16) ) isCOMP = 1; |
if ( ce->stwerr[se] & (1 << 17) ) isFULL = true; |
472 |
if ( ce->stwerr[se] & (1 << 17) ) isFULL = 1; |
if ( ce->stwerr[se] & (1 << 3) ) isRAW = true; |
|
if ( ce->stwerr[se] & (1 << 3) ) isRAW = 1; |
|
473 |
bl = -1; |
bl = -1; |
474 |
for (Int_t kk = 0; kk < 96 ; kk++ ){ |
for (Int_t kk = 0; kk < 96 ; kk++ ){ |
475 |
if ( kk%16 == 0 ){ |
if ( kk%16 == 0 ){ |
606 |
}; |
}; |
607 |
cshit = 0; |
cshit = 0; |
608 |
for (Int_t k = 0; k < 4 ; k++ ){ |
for (Int_t k = 0; k < 4 ; k++ ){ |
609 |
isCOMP = 0; |
isCOMP = false; |
610 |
isFULL = 0; |
isFULL = false; |
611 |
if ( ce->stwerr[se] & (1 << 16) ) isCOMP = 1; |
cestw=0; |
612 |
if ( ce->stwerr[se] & (1 << 17) ) isFULL = 1; |
if ( ce->stwerr[k] ) cestw = ce->stwerr[k] & cmask ; |
613 |
|
if ( ce->stwerr[k] & (1 << 16) && !(cestw & (1 << 3)) ) isCOMP = true; |
614 |
|
if ( ce->stwerr[k] & (1 << 17) && !(cestw & (1 << 3)) ) isFULL = true; |
615 |
|
// |
616 |
if ( isCOMP ) ver[k][16]++; |
if ( isCOMP ) ver[k][16]++; |
617 |
if ( isFULL ) ver[k][17]++; |
if ( isFULL ) ver[k][17]++; |
618 |
cshit += (int)ce->calstriphit[k]; |
cshit += (int)ce->calstriphit[k]; |
|
cestw=0; |
|
|
if ( ce->stwerr[k] ) cestw = ce->stwerr[k] & cmask ; |
|
619 |
if ( cestw ){ |
if ( cestw ){ |
620 |
if ( cestw & (1 << 0) ){ |
if ( cestw & (1 << 0) ){ |
621 |
ver[k][6]++ ; |
ver[k][6]++ ; |
1439 |
errore << "Calevnum jump: " << ver[i][j]; |
errore << "Calevnum jump: " << ver[i][j]; |
1440 |
errore << " time(s)"; |
errore << " time(s)"; |
1441 |
t->DrawLatex(2.,42.,errore.str().c_str()); |
t->DrawLatex(2.,42.,errore.str().c_str()); |
1442 |
check = true; |
if ( ver[i][j] > 3 ) check = true; |
1443 |
} |
} |
1444 |
if (j == 11) { |
if (j == 11) { |
1445 |
errore.str(""); |
errore.str(""); |