| 16 |
#include <iostream> |
#include <iostream> |
| 17 |
#include <sstream> |
#include <sstream> |
| 18 |
#include <fstream> |
#include <fstream> |
| 19 |
|
#include <TAxis.h> |
| 20 |
|
#include <TH1F.h> |
| 21 |
|
#include <TROOT.h> |
| 22 |
|
#include <cstdlib> |
| 23 |
// |
// |
| 24 |
#include <TPaveText.h> |
#include <TPaveText.h> |
| 25 |
#include <TLatex.h> |
#include <TLatex.h> |
| 40 |
|
|
| 41 |
using namespace std; |
using namespace std; |
| 42 |
|
|
| 43 |
typedef struct trkword{ |
struct trkword{ |
| 44 |
int type; |
int type; |
| 45 |
int decode; |
int decode; |
| 46 |
}; |
}; |
| 345 |
// = = = = = = = = = = = = = = = = = = = = = = = = = |
// = = = = = = = = = = = = = = = = = = = = = = = = = |
| 346 |
Int_t ndsp=0; |
Int_t ndsp=0; |
| 347 |
|
|
| 348 |
Int_t whistomax[3072]; |
// Int_t whistomax[3072]; |
| 349 |
Int_t whisto[3072]; |
Int_t whisto[3072]; |
| 350 |
Int_t whistocomp[3072]; |
// Int_t whistocomp[3072]; |
| 351 |
Int_t whistofull[3072]; |
Int_t whistofull[3072]; |
| 352 |
|
|
| 353 |
// // transmitted words |
// // transmitted words |
| 354 |
Int_t word = 0; |
Int_t word = 0; |
| 355 |
Int_t iword = 0; |
Int_t iword = 0; |
| 356 |
Int_t ii=0,ifull[12],icomp[12],imax[12],nn=0; |
// Int_t ii=0,ifull[12],icomp[12],imax[12],nn=0; |
| 357 |
|
Int_t ii=0,nn=0; |
| 358 |
trkword thisword; |
trkword thisword; |
| 359 |
|
|
| 360 |
Int_t address,ladder; |
Int_t address,ladder; |
| 363 |
for(Int_t n = 0; n<12; n++){ |
for(Int_t n = 0; n<12; n++){ |
| 364 |
ndsp = trk->DSPnumber[n]; |
ndsp = trk->DSPnumber[n]; |
| 365 |
nn = ndsp-1; |
nn = ndsp-1; |
| 366 |
ifull[nn]=0; |
// ifull[nn]=0; |
| 367 |
icomp[nn]=0; |
// icomp[nn]=0; |
| 368 |
imax[nn]=0; |
// imax[nn]=0; |
| 369 |
|
|
| 370 |
for(Int_t vi = 0; vi< 3072; vi++){ |
for(Int_t vi = 0; vi< 3072; vi++){ |
| 371 |
whistomax[vi] = -200; |
// whistomax[vi] = -200; |
| 372 |
whistocomp[vi] = -200; |
// whistocomp[vi] = -200; |
| 373 |
whistofull[vi] = -200; |
whistofull[vi] = -200; |
| 374 |
whisto[vi] = -200; |
whisto[vi] = -200; |
| 375 |
} |
} |
| 402 |
// end of compressed data - FILL HISTO |
// end of compressed data - FILL HISTO |
| 403 |
//cout << ">>> COMPRESSED data" << "\n"; |
//cout << ">>> COMPRESSED data" << "\n"; |
| 404 |
for(ii = 0; ii < 3072; ii++){ |
for(ii = 0; ii < 3072; ii++){ |
| 405 |
whistocomp[ii]=whisto[ii]; |
// whistocomp[ii]=whisto[ii]; |
| 406 |
whisto[ii] = -200; |
whisto[ii] = -200; |
| 407 |
} |
} |
| 408 |
address = 0; |
address = 0; |
| 574 |
t->DrawLatex(0.02,0.98,fromfile.str().c_str()); |
t->DrawLatex(0.02,0.98,fromfile.str().c_str()); |
| 575 |
t->DrawLatex(0.60,0.98,cal.Data()); |
t->DrawLatex(0.60,0.98,cal.Data()); |
| 576 |
|
|
| 577 |
isfile<<"Boxes so colored point out chips broken before the launch and never resumed"; |
isfile<<"Chips with white line at least once showed anomalous behaviour"; |
| 578 |
t->SetTextColor(6); |
t->SetTextColor(17); |
| 579 |
t->SetTextSize(0.018); |
t->SetTextSize(0.018); |
| 580 |
t->DrawLatex(.05,.96,isfile.str().c_str()); |
t->DrawLatex(.01,.96,isfile.str().c_str()); |
| 581 |
isfile.str(""); |
isfile.str(""); |
| 582 |
|
|
| 583 |
isfile<<"Boxes so colored point out anomalous chips (not necessarily broken)"; |
isfile<<"Boxes so colored point out anomalous chips (not necessarily broken)"; |
| 584 |
t->SetTextColor(107); |
t->SetTextColor(107); |
| 585 |
t->DrawLatex(.5,.96,isfile.str().c_str()); |
// t->DrawLatex(.5,.96,isfile.str().c_str()); |
| 586 |
isfile.str(""); |
isfile.str(""); |
| 587 |
t->SetTextColor(1); |
t->SetTextColor(1); |
| 588 |
|
|
| 853 |
liva1.SetLineStyle(3); |
liva1.SetLineStyle(3); |
| 854 |
liva1.SetLineWidth(1); |
liva1.SetLineWidth(1); |
| 855 |
|
|
| 856 |
Float_t va1x=0; |
Float_t va1x=0,maxhist=4500.,minhist=-500.; |
| 857 |
|
|
| 858 |
if(va1!=0){ |
if(va1!=0){ |
| 859 |
cva[e]->cd(); |
cva[e]->cd(); |
| 898 |
if(icomp[nn]==1) histocomp[nn][e]->Draw("9bsame]["); |
if(icomp[nn]==1) histocomp[nn][e]->Draw("9bsame]["); |
| 899 |
if(imax[nn]==1) histomax[nn][e]->Draw("same]["); |
if(imax[nn]==1) histomax[nn][e]->Draw("same]["); |
| 900 |
histocomp[nn][e]->Draw("axis same"); |
histocomp[nn][e]->Draw("axis same"); |
| 901 |
|
|
| 902 |
|
b.SetFillColor(19); |
| 903 |
|
b.SetFillStyle(3945); |
| 904 |
if(nn==0){ |
if(nn==0){ |
| 905 |
b.SetFillColor(107); |
b.DrawBox(0.,minhist,2047.,maxhist); |
|
b.SetFillStyle(3945); |
|
|
b.DrawBox(256.,-500.,384.,4500); |
|
|
b.DrawBox(768.,-500.,2047.,4500.); |
|
| 906 |
} |
} |
| 907 |
else if(nn==1){ |
else if(nn==1){ |
| 908 |
b.SetFillColor(6); |
b.DrawBox(128.,minhist,256.,maxhist); |
| 909 |
b.SetFillStyle(3945); |
b.DrawBox(384.,minhist,512.,maxhist); |
| 910 |
b.DrawBox(2944.,-500.,3060.,4500.); |
b.DrawBox(896.,minhist,1024.,maxhist); |
| 911 |
|
b.DrawBox(2048.,minhist,2432.,maxhist); |
| 912 |
b.SetFillColor(107); |
b.DrawBox(2816.,minhist,2944.,maxhist); |
| 913 |
b.SetFillStyle(3954); |
b.DrawBox(2944.,minhist,3070.,maxhist); |
|
b.DrawBox(384.,-500.,512.,4500.); |
|
|
b.DrawBox(896.,-500.,1024.,4500.); |
|
|
b.DrawBox(2048.,-500.,2432.,4500.); |
|
|
b.DrawBox(2816.,-500.,2944.,4500.); |
|
| 914 |
} |
} |
| 915 |
else if(nn==3){ |
else if(nn==3){ |
| 916 |
b.SetFillColor(107); |
b.DrawBox(0.,minhist,256.,maxhist); |
| 917 |
b.SetFillStyle(3954); |
b.DrawBox(2816.,minhist,3070.,maxhist); |
|
b.DrawBox(2816.,-500.,3070.,4500.); |
|
| 918 |
} |
} |
| 919 |
else if(nn==4){ |
else if(nn==4){ |
| 920 |
b.SetFillColor(107); |
b.DrawBox(256.,minhist,512.,maxhist); |
| 921 |
b.SetFillStyle(3954); |
b.DrawBox(1792.,minhist,1920.,maxhist); |
| 922 |
b.DrawBox(256.,-500.,512.,4500.); |
b.DrawBox(2816.,minhist,3070.,maxhist); |
|
b.DrawBox(2816.,-500.,3070.,4500.); |
|
| 923 |
} |
} |
| 924 |
else if(nn==5){ |
else if(nn==5){ |
| 925 |
b.SetFillColor(107); |
b.DrawBox(0.,minhist,256.,maxhist); |
| 926 |
b.SetFillStyle(3954); |
b.DrawBox(896.,minhist,1024.,maxhist); |
| 927 |
b.DrawBox(896.,-500.,1024.,4500.); |
b.DrawBox(1664.,minhist,1792.,maxhist); |
|
// b.DrawBox(1664.,-500.,1792.,4500.); |
|
| 928 |
} |
} |
| 929 |
else if(nn==6){ |
else if(nn==6){ |
| 930 |
b.SetFillColor(107); |
b.DrawBox(512.,minhist,768.,maxhist); |
| 931 |
b.SetFillStyle(3954); |
b.DrawBox(1024.,minhist,1280.,maxhist); |
| 932 |
b.DrawBox(512.,-500.,768.,4500.); |
b.DrawBox(1280.,minhist,1792.,maxhist); |
| 933 |
b.DrawBox(1024.,-500.,1280.,4500.); |
b.DrawBox(2560.,minhist,2816.,maxhist); |
|
b.DrawBox(1280.,-500.,1792.,4500.); |
|
|
b.DrawBox(2560.,-500.,2816.,4500.); |
|
| 934 |
} |
} |
| 935 |
else if(nn==7){ |
else if(nn==7){ |
| 936 |
b.SetFillColor(107); |
b.DrawBox(0.,minhist,1535.,maxhist); |
| 937 |
b.SetFillStyle(3954); |
b.DrawBox(2024.,minhist,2280.,maxhist); |
|
b.DrawBox(512.,-500.,768.,4500.); |
|
|
b.DrawBox(896.,-500.,1535.,4500.); |
|
|
b.DrawBox(2024.,-500.,2280.,4500.); |
|
| 938 |
} |
} |
| 939 |
else if(nn==8){ |
else if(nn==8){ |
| 940 |
b.SetFillColor(107); |
b.DrawBox(512.,minhist,768.,maxhist); |
|
b.SetFillStyle(3954); |
|
|
b.DrawBox(512.,-500.,768.,4500.); |
|
| 941 |
} |
} |
| 942 |
else if(nn==9){ |
else if(nn==9){ |
| 943 |
b.SetFillColor(107); |
b.DrawBox(0.,minhist,128.,maxhist); |
| 944 |
b.SetFillStyle(3954); |
b.DrawBox(256.,minhist,384.,maxhist); |
| 945 |
b.DrawBox(0.,-500.,128.,4500.); |
b.DrawBox(512.,minhist,640.,maxhist); |
| 946 |
b.DrawBox(256.,-500.,384.,4500.); |
b.DrawBox(896.,minhist,1152.,maxhist); |
| 947 |
b.DrawBox(512.,-500.,640.,4500.); |
b.DrawBox(1280.,minhist,1535.,maxhist); |
| 948 |
b.DrawBox(896.,-500.,1024.,4500.); |
b.DrawBox(1664.,minhist,1920.,maxhist); |
| 949 |
b.DrawBox(1280.,-500.,1535.,4500.); |
b.DrawBox(2048.,minhist,2304.,maxhist); |
|
b.DrawBox(1664.,-500.,1920.,4500.); |
|
| 950 |
} |
} |
| 951 |
else if(nn==10){ |
else if(nn==10){ |
| 952 |
b.SetFillColor(107); |
b.DrawBox(0.,minhist,512.,maxhist); |
| 953 |
b.SetFillStyle(3954); |
b.DrawBox(1024.,minhist,3070.,maxhist); |
|
b.DrawBox(0.,-500.,512.,4500.); |
|
|
b.DrawBox(1024.,-500.,3070.,4500.); |
|
| 954 |
} |
} |
| 955 |
else if(nn==11){ |
else if(nn==11){ |
| 956 |
b.SetFillColor(6); |
b.DrawBox(0.,minhist,512.,maxhist); |
| 957 |
b.SetFillStyle(3945); |
b.DrawBox(768.,minhist,1024.,maxhist); |
| 958 |
b.DrawBox(768.,-500.,1024.,4500.); |
b.DrawBox(1536.,minhist,1664.,maxhist); |
| 959 |
|
b.DrawBox(1920.,minhist,2560.,maxhist); |
| 960 |
b.SetFillColor(107); |
b.DrawBox(2816.,minhist,3070.,maxhist); |
| 961 |
b.SetFillStyle(3954); |
} |
|
b.DrawBox(0.,-500.,512.,4500.); |
|
|
b.DrawBox(1920.,-500.,2560.,4500.); |
|
|
b.DrawBox(2816.,-500.,3070.,4500.); |
|
|
} |
|
| 962 |
for(int va=1; va<24; va++){ |
for(int va=1; va<24; va++){ |
| 963 |
va1x=128*va; |
va1x=128*va; |
| 964 |
liva1.DrawLine(va1x,-500.,va1x,4500.); |
liva1.DrawLine(va1x,minhist,va1x,maxhist); |
| 965 |
} |
} |
| 966 |
li.DrawLine(1024.5,-500.,1024.5,4500.); |
li.DrawLine(1024.5,minhist,1024.5,maxhist); |
| 967 |
li.DrawLine(2048.5,-500.,2048.5,4500.); |
li.DrawLine(2048.5,minhist,2048.5,maxhist); |
| 968 |
c1[e]->Update(); |
c1[e]->Update(); |
| 969 |
} |
} |
| 970 |
|
|