Subversion Repositories f9daq

Compare Revisions

Ignore whitespace Rev 314 → Rev 315

/cvi/instr/AitSipmDAQ/data/aitana.cxx
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();