2 |
* FTrkQLook_EXPERT.cxx |
* FTrkQLook_EXPERT.cxx |
3 |
* |
* |
4 |
* autor: D.Fedele |
* autor: D.Fedele |
5 |
* version v1r08 |
* version v1r12 |
6 |
* Parameters: |
* Parameters: |
7 |
* file - the data file to analyze |
* file - the data file to analyze |
8 |
* fromevent - first event to analyze |
* fromevent - first event to analyze |
136 |
} else if (toevent > nevent) { |
} else if (toevent > nevent) { |
137 |
maxevent = nevent; |
maxevent = nevent; |
138 |
} else { |
} else { |
139 |
maxevent = toevent+1; |
maxevent = nevent; |
140 |
} |
} |
141 |
nevent=maxevent-minevent ; |
nevent=maxevent-minevent ; |
142 |
} |
} |
145 |
// information about the RunHeader |
// information about the RunHeader |
146 |
ULong64_t HOBT[neventH]; |
ULong64_t HOBT[neventH]; |
147 |
Int_t trk_cal_us[neventH]; |
Int_t trk_cal_us[neventH]; |
148 |
|
Int_t countnboot=1; |
149 |
for (Int_t vi=0; vi<neventH;vi++){ |
for (Int_t vi=0; vi<neventH;vi++){ |
150 |
HOBT[vi]=0; |
HOBT[vi]=0; |
151 |
trk_cal_us[vi]=0; |
trk_cal_us[vi]=0; |
155 |
pH = eH->GetPscuHeader(); |
pH = eH->GetPscuHeader(); |
156 |
HOBT[ev]= pH->GetOrbitalTime(); |
HOBT[ev]= pH->GetOrbitalTime(); |
157 |
trk_cal_us[ev]=reh->TRK_CALIB_USED; |
trk_cal_us[ev]=reh->TRK_CALIB_USED; |
158 |
|
if((HOBT[ev]<HOBT[ev-1]) && ev>0) |
159 |
|
countnboot+=1; |
160 |
} |
} |
161 |
|
countnboot+=(Int_t)(2*nevent/MAXSTORAGE); |
162 |
|
// printf("\ncountnboot=%d\n",countnboot); |
163 |
|
|
164 |
|
|
165 |
// |
// |
166 |
// other variables definitions |
// other variables definitions |
180 |
Int_t tempt[tsize][5]; |
Int_t tempt[tsize][5]; |
181 |
ULong64_t xt[tsize]; |
ULong64_t xt[tsize]; |
182 |
|
|
183 |
Int_t countnboot=1; |
Int_t cntpgtemp=1,cntpgdat=0,cntpgmag=0; |
|
Int_t cntpgtemp=0,cntpgdat=0,cntpgmag=0; |
|
184 |
// |
// |
185 |
// information about the temperatures |
// information about the temperatures |
186 |
for (Int_t ev=0; ev<tnevent; ev++){ |
for (Int_t ev=0; ev<tnevent; ev++){ |
190 |
record = (pamela::TsbTRecord*)event->Records->At(j); |
record = (pamela::TsbTRecord*)event->Records->At(j); |
191 |
xt[siztmp]=record->RECORD_OBT; |
xt[siztmp]=record->RECORD_OBT; |
192 |
if((xt[siztmp]<xt[siztmp-1]) && siztmp>0) |
if((xt[siztmp]<xt[siztmp-1]) && siztmp>0) |
193 |
countnboot+=1; |
cntpgtemp+=1; |
194 |
|
|
195 |
for (Int_t z = 0; z < 5; z++){ |
for (Int_t z = 0; z < 5; z++){ |
196 |
tempt[siztmp][z] = record->TEMPERATURES[z+1]; |
tempt[siztmp][z] = record->TEMPERATURES[z+1]; |
198 |
siztmp++; |
siztmp++; |
199 |
} |
} |
200 |
} |
} |
201 |
cntpgtemp=countnboot; |
|
|
countnboot+=2+(Int_t)nevent/MAXSTORAGE; |
|
|
// printf("\ncountnboot=%d\n",countnboot); |
|
|
|
|
202 |
// |
// |
203 |
// information about the entries for the magnetic field |
// information about the entries for the magnetic field |
204 |
if(bnevent>0) cntpgmag=1; |
if(bnevent>0) cntpgmag=1; |
263 |
alarm1 << "================================================="<< endl<<endl; |
alarm1 << "================================================="<< endl<<endl; |
264 |
|
|
265 |
alarm1 << "Alarm variables (range 0-1)"<<endl; |
alarm1 << "Alarm variables (range 0-1)"<<endl; |
266 |
alarm1 << " ALARM[1]= 0x"<< hex << (Int_t)al->ALARM[1]<<endl; |
alarm1 << " ALARM[1]= 0x"<< hex << (Int_t)al->ALARM[0]<<endl; |
267 |
alarm1 << " ALARM[2]= 0x"<< (Int_t)al->ALARM[2]<<endl; |
alarm1 << " ALARM[2]= 0x"<< (Int_t)al->ALARM[1]<<endl; |
268 |
alarm1 << " CmdDuringTrig= 0x"<< (Int_t)al->CmdDuringTrig<<endl; |
alarm1 << " CmdDuringTrig= 0x"<< (Int_t)al->CmdDuringTrig<<endl; |
269 |
alarm1 << " FinalCheck= 0x"<< (Int_t)al->FinalCheck<<endl; |
alarm1 << " FinalCheck= 0x"<< (Int_t)al->FinalCheck<<endl; |
270 |
alarm1 << " FlashData= 0x"<< (Int_t)al->FlashData<<endl; |
alarm1 << " FlashData= 0x"<< (Int_t)al->FlashData<<endl; |
436 |
Double_t xt_tmpw[tsize], tempt_tmpw[tsize]; |
Double_t xt_tmpw[tsize], tempt_tmpw[tsize]; |
437 |
for (Int_t ev=countTEMP; ev<tsize; ev++){ |
for (Int_t ev=countTEMP; ev<tsize; ev++){ |
438 |
|
|
439 |
if(ev==tsize-1 && i==4) countTEMP=tsize-1; |
if(ev==tsize-1 && i==4 && ii==cntpgtemp-1) countTEMP=tsize-1; |
440 |
if(xt[ev]<xt[ev-1] && ev>countTEMP){ |
if(xt[ev]<xt[ev-1] && ev>countTEMP){ |
441 |
if(i==4) countTEMP=ev; |
if(i==4) countTEMP=ev; |
442 |
break; |
break; |
463 |
pad6[i]->cd(); |
pad6[i]->cd(); |
464 |
temp[i][ii]= new TGraph(v,xt_tmp,tempt_tmp); |
temp[i][ii]= new TGraph(v,xt_tmp,tempt_tmp); |
465 |
temp[i][ii]->SetTitle(tit.str().c_str()); |
temp[i][ii]->SetTitle(tit.str().c_str()); |
466 |
|
if(v==1) temp[i][ii]->GetXaxis()->SetNdivisions(502,kTRUE); |
467 |
temp[i][ii]->GetXaxis()->SetLabelSize(0.04); |
temp[i][ii]->GetXaxis()->SetLabelSize(0.04); |
468 |
temp[i][ii]->GetXaxis()->SetTitleSize(0.04); |
temp[i][ii]->GetXaxis()->SetTitleSize(0.04); |
469 |
temp[i][ii]->GetXaxis()->SetTitle("OBT (ms)"); |
temp[i][ii]->GetXaxis()->SetTitle("OBT (ms)"); |
490 |
|
|
491 |
|
|
492 |
} |
} |
493 |
if(countTEMP==tsize-1){ |
if(countTEMP==tsize-1 && ii==cntpgtemp-1){ |
494 |
break; |
break; |
495 |
} |
} |
496 |
} |
} |
555 |
Double_t xb_tmp[bsize], magt_tmp[bsize]; |
Double_t xb_tmp[bsize], magt_tmp[bsize]; |
556 |
for (Int_t ev=countMAG; ev<bsize; ev++){ |
for (Int_t ev=countMAG; ev<bsize; ev++){ |
557 |
|
|
558 |
if(ev==bsize-1 && i==4) countMAG=bsize-1; |
if(ev==bsize-1 && i==4 && ii==cntpgmag-1) countMAG=bsize-1; |
559 |
if(xb[ev]<xb[ev-1] && ev>countMAG){ |
if(xb[ev]<xb[ev-1] && ev>countMAG){ |
560 |
if(i==4) countMAG=ev; |
if(i==4) countMAG=ev; |
561 |
break; |
break; |
579 |
mag[i][ii]->GetXaxis()->CenterTitle(); |
mag[i][ii]->GetXaxis()->CenterTitle(); |
580 |
mag[i][ii]->GetXaxis()->SetTitleOffset(0.85); |
mag[i][ii]->GetXaxis()->SetTitleOffset(0.85); |
581 |
if(i!=4) mag[i][ii]->GetYaxis()->SetRangeUser(2047,2058); |
if(i!=4) mag[i][ii]->GetYaxis()->SetRangeUser(2047,2058); |
582 |
else mag[i][ii]->GetYaxis()->SetRangeUser(2061,2066); |
else mag[i][ii]->GetYaxis()->SetRangeUser(2060,2067); |
583 |
mag[i][ii]->GetYaxis()->SetTitleOffset(1.2); |
mag[i][ii]->GetYaxis()->SetTitleOffset(1.2); |
584 |
mag[i][ii]->GetYaxis()->SetLabelOffset(0.001); |
mag[i][ii]->GetYaxis()->SetLabelOffset(0.001); |
585 |
mag[i][ii]->GetYaxis()->SetLabelSize(0.03); |
mag[i][ii]->GetYaxis()->SetLabelSize(0.03); |
607 |
|
|
608 |
case 1: |
case 1: |
609 |
li.DrawLine(min,2055.,max,2055.); |
li.DrawLine(min,2055.,max,2055.); |
610 |
li.DrawLine(min,2051.,max,2051.); |
li.DrawLine(min,2050.,max,2050.); |
611 |
t1->DrawLatex(xlat,2055.3,ma.str().c_str()); |
t1->DrawLatex(xlat,2055.3,ma.str().c_str()); |
612 |
t1->DrawLatex(xlat,2050.7,mi.str().c_str()); |
t1->DrawLatex(xlat,2049.7,mi.str().c_str()); |
613 |
break; |
break; |
614 |
|
|
615 |
case 2: |
case 2: |
616 |
li.DrawLine(min,2056.,max,2056.); |
li.DrawLine(min,2056.,max,2056.); |
617 |
li.DrawLine(min,2052.,max,2052.); |
li.DrawLine(min,2051.,max,2051.); |
618 |
t1->DrawLatex(xlat,2056.3,ma.str().c_str()); |
t1->DrawLatex(xlat,2056.3,ma.str().c_str()); |
619 |
t1->DrawLatex(xlat,2051.7,mi.str().c_str()); |
t1->DrawLatex(xlat,2050.7,mi.str().c_str()); |
620 |
break; |
break; |
621 |
|
|
622 |
case 3: |
case 3: |
623 |
li.DrawLine(min,2057.,max,2057.); |
li.DrawLine(min,2057.,max,2057.); |
624 |
li.DrawLine(min,2053.,max,2053.); |
li.DrawLine(min,2052.,max,2052.); |
625 |
t1->DrawLatex(xlat,2057.3,ma.str().c_str()); |
t1->DrawLatex(xlat,2057.3,ma.str().c_str()); |
626 |
t1->DrawLatex(xlat,2052.7,mi.str().c_str()); |
t1->DrawLatex(xlat,2051.7,mi.str().c_str()); |
627 |
break; |
break; |
628 |
|
|
629 |
case 4: |
case 4: |
630 |
li.DrawLine(min,2065.,max,2065.); |
li.DrawLine(min,2066.,max,2066.); |
631 |
li.DrawLine(min,2062.,max,2062.); |
li.DrawLine(min,2061.,max,2061.); |
632 |
t1->DrawLatex(xlat,2065.15,ma.str().c_str()); |
t1->DrawLatex(xlat,2066.15,ma.str().c_str()); |
633 |
t1->DrawLatex(xlat,2061.85,mi.str().c_str()); |
t1->DrawLatex(xlat,2060.85,mi.str().c_str()); |
634 |
break; |
break; |
635 |
|
|
636 |
} |
} |
637 |
BfieldCanv[ii]->Update(); |
BfieldCanv[ii]->Update(); |
638 |
tit.str(""); |
tit.str(""); |
639 |
} |
} |
640 |
if(countMAG==bsize-1){ |
if(countMAG==bsize-1 && ii==cntpgmag-1){ |
641 |
break; |
break; |
642 |
} |
} |
643 |
} |
} |
871 |
CompTimeCanv[ii]->Update(); |
CompTimeCanv[ii]->Update(); |
872 |
} |
} |
873 |
|
|
874 |
|
|
875 |
EventNumCanv[ii]->cd(); |
EventNumCanv[ii]->cd(); |
876 |
pt = new TPad("pt"," ",0.02,0.01,1.,0.98,18,0,0); |
pt = new TPad("pt"," ",0.02,0.01,1.,0.98,18,0,0); |
877 |
pt->SetFillColor(10); |
pt->SetFillColor(10); |
894 |
eventnumb[ii]->SetMarkerStyle(21); |
eventnumb[ii]->SetMarkerStyle(21); |
895 |
eventnumb[ii]->SetMarkerColor(kBlue); |
eventnumb[ii]->SetMarkerColor(kBlue); |
896 |
eventnumb[ii]->SetMarkerSize(0.2); |
eventnumb[ii]->SetMarkerSize(0.2); |
897 |
|
oss1.str(""); |
898 |
|
oss1<<"number of events in this graph: "<<maxev-minev; |
899 |
|
t->SetTextColor(kBlue); |
900 |
|
t->SetTextSize(0.02); |
901 |
|
double xtex=0,ytex=0; |
902 |
|
xtex=x[maxev-minev-1]-(x[maxev-minev-1]-x[0])/3; |
903 |
|
ytex=1000.+eventnumb[ii]->GetYaxis()->GetXmax(); |
904 |
|
t->DrawLatex(xtex,ytex,oss1.str().c_str()); |
905 |
|
oss1.str(""); |
906 |
eventnumb[ii]->Draw("ap"); |
eventnumb[ii]->Draw("ap"); |
907 |
EventNumCanv[ii]->Update(); |
EventNumCanv[ii]->Update(); |
908 |
|
|
914 |
|
|
915 |
} |
} |
916 |
|
|
|
|
|
917 |
alarm.close(); |
alarm.close(); |
918 |
|
|
919 |
//**************************************************************************************** |
//**************************************************************************************** |
1058 |
b.DrawBox(2816.,0.,2944.,maxhist); |
b.DrawBox(2816.,0.,2944.,maxhist); |
1059 |
b.DrawBox(2048.,0.,2176.,maxhist); |
b.DrawBox(2048.,0.,2176.,maxhist); |
1060 |
} |
} |
1061 |
|
else if(i==4){ |
1062 |
|
maxhist=illuminazione[i]->GetMaximum(); |
1063 |
|
b.SetFillColor(107); |
1064 |
|
b.SetFillStyle(3954); |
1065 |
|
b.DrawBox(384.,0.,512.,maxhist); |
1066 |
|
} |
1067 |
else if(i==6){ |
else if(i==6){ |
1068 |
maxhist= illuminazione[i]->GetMaximum(); |
maxhist= illuminazione[i]->GetMaximum(); |
1069 |
b.SetFillColor(6); |
b.SetFillColor(6); |
1070 |
b.SetFillStyle(3945); |
b.SetFillStyle(3945); |
1071 |
b.DrawBox(2560.,0.,2816.,maxhist); |
b.DrawBox(2560.,0.,2816.,maxhist); |
1072 |
b.DrawBox(1024.,0.,1792.,maxhist); |
b.DrawBox(1024.,0.,1535.,maxhist); |
1073 |
|
|
1074 |
b.SetFillColor(107); |
b.SetFillColor(107); |
1075 |
b.SetFillStyle(3954); |
b.SetFillStyle(3954); |
1076 |
b.DrawBox(512.,0.,768.,maxhist); |
b.DrawBox(512.,0.,768.,maxhist); |
1077 |
|
b.DrawBox(1536.,0.,1792.,maxhist); |
1078 |
} |
} |
1079 |
else if(i==7){ |
else if(i==7){ |
1080 |
maxhist= illuminazione[i]->GetMaximum(); |
maxhist= illuminazione[i]->GetMaximum(); |
1092 |
b.SetFillStyle(3954); |
b.SetFillStyle(3954); |
1093 |
b.DrawBox(0.,0.,512.,maxhist); |
b.DrawBox(0.,0.,512.,maxhist); |
1094 |
b.DrawBox(1920.,0.,2048.,maxhist); |
b.DrawBox(1920.,0.,2048.,maxhist); |
1095 |
|
b.DrawBox(2176.,0.,2304.,maxhist); |
1096 |
} |
} |
1097 |
IlluminaCanv->Update(); |
IlluminaCanv->Update(); |
1098 |
} |
} |
1108 |
else if(cntpgtemp<=cntpgdat) totpg=cntpgdat; |
else if(cntpgtemp<=cntpgdat) totpg=cntpgdat; |
1109 |
|
|
1110 |
for(Int_t fl=0;fl<totpg;fl++){ |
for(Int_t fl=0;fl<totpg;fl++){ |
1111 |
|
|
1112 |
if(!strcmp(outfile.Data(),"ps")||!strcmp(outfile.Data(),"pdf")){ |
if(!strcmp(outfile.Data(),"ps")||!strcmp(outfile.Data(),"pdf")){ |
1113 |
out1.str(""); |
out1.str(""); |
1114 |
out2.str(""); |
out2.str(""); |