9,13 → 9,13 |
#include <TLegend.h> |
// Program za analizo podatkov zajetih z AITSiPMDAQ |
|
int aitana( const char *fname="a1.dat", int range=10, float cut=500, int *offset = NULL) |
int aitana( const char *fname="a1.dat", int range=5, float cut=300, int *offset = NULL) |
{ |
int debug=0; |
//int off[4]={507,521,497,459}; |
int off[4]={87,125,95,80}; |
//int off[4]={198,203,190,150}; /// run 1 |
int off[4]={120,120,120,120}; /// run 6 |
if (offset) for (int i=0;i<4;i++){off[i]=offset[i];}; |
|
gStyle->SetOptStat(0); |
|
char rootname[0xFF]; |
27,7 → 27,7 |
TH1F *hadcsum; |
TH1F *hadcsumx; |
TH1F *hadcsumy; |
TH2F *hxy; |
TH2F *hxy,*hxy1,*hxy2; |
TH2F *h2d=NULL; |
TH2F *h2dx=NULL; |
TH2F *h2dy=NULL; |
42,8 → 42,9 |
hadcsum=new TH1F("adcsum","adcsum",200,0.5,8*200*range+0.5); |
hadcsumx=new TH1F("adcsumx","adcsumx",200,0.5,200*range+0.5); |
hadcsumy=new TH1F("adcsumy","adcsumy",200,0.5,200*range+0.5); |
hxy=new TH2F("hxy","Center of gravity;ycog(a.u.);xcog(a.u.)",200,0,1,200,0,1); |
|
hxy=new TH2F("hxy","Center of gravity;ycog(a.u.);xcog(a.u.)",200,-0.1,1.1,200,-0.1,1.1); |
hxy1=new TH2F("hxy1","Center of gravity for position 1;ycog(a.u.);xcog(a.u.)",200,-0.1,1.1,200,-0.1,1.1); |
hxy2=new TH2F("hxy2","Center of gravity for position 2;ycog(a.u.);xcog(a.u.)",200,-0.1,1.1,200,-0.1,1.1); |
FILE *fin=fopen(fname,"rb"); |
if (fin==NULL) { |
printf("Error opening file %s\n",fname); |
81,7 → 82,8 |
a[j]=adc[j]&0xFFF; |
//sum+=a[j]; |
hadc[j]->Fill(a[j]); |
b[j]=a[j]-off[j]+10; |
b[j]=a[j]-off[j]; |
if (b[j]< 0) b[j]=0; |
sum+=b[j]; |
} |
hadcsum->Fill(sum); |
95,6 → 97,8 |
|
if (sum>cut) { |
hxy->Fill(y,x); |
if (pos[3]==poshdr[6]/4 && pos[4]==poshdr[7]/4) hxy1->Fill(y,x); |
if (pos[3]==poshdr[6]/4*3 && pos[4]==poshdr[7]/4*3) hxy2->Fill(y,x); |
if (hxcorr) hxcorr->Fill(pos[0],y); |
if (hycorr) hycorr->Fill(pos[1],x); |
} |
161,10 → 165,10 |
|
|
c= new TCanvas("c1","ait reconstruction",750,50,700,700); |
c->Divide(2,3); |
c->Divide(2,4); |
if (!h2d){ |
c->Clear(); |
c->Divide(1,4); |
c->Divide(2,3); |
} |
|
|
171,19 → 175,21 |
hxy->SetMinimum(-1); |
hxy->SetMaximum(1000); |
c->cd(1)->SetLogz(); hxy->DrawCopy("colz"); |
c->cd(4)->SetLogy(); hadcsum->DrawCopy(); |
c->cd(3)->SetLogz(); hxy1->DrawCopy("colz"); |
c->cd(4)->SetLogz(); hxy2->DrawCopy("colz"); |
c->cd(2)->SetLogy(); hadcsum->DrawCopy(); |
|
if (h2d){ |
hxcorr->SetMinimum(-1); |
hycorr->SetMinimum(-1); |
c->cd(5); hxcorr->DrawCopy("colz"); |
c->cd(6); hycorr->DrawCopy("colz"); |
c->cd(7); hxcorr->DrawCopy("colz"); |
c->cd(8); hycorr->DrawCopy("colz"); |
} |
TH1D *px = hxy->ProjectionX("_px",0,-1); |
c->cd(2); px->DrawCopy(); |
c->cd(5); px->DrawCopy(); |
|
TH1D *py = hxy->ProjectionY("_py",0,-1); |
c->cd(3); py->DrawCopy(); |
c->cd(6); py->DrawCopy(); |
|
c->Modified(); |
c->Update(); |