147 lines
4.2 KiB
C++
Executable File
147 lines
4.2 KiB
C++
Executable File
{
|
|
gROOT->Reset();
|
|
gROOT->SetStyle("Plain");
|
|
|
|
gStyle->SetOptStat(1111);
|
|
gStyle->SetPalette(1);
|
|
|
|
c1 = new TCanvas ("c1","",200,10,800,800);
|
|
c1.Divide(2,2);
|
|
|
|
Float_t x,y,z,theta,phi,nrj;
|
|
Int_t ncols;
|
|
|
|
FILE *fp1 = fopen("./results/profile.txt","r");
|
|
if (fp1==0) goto jump1;
|
|
|
|
TNtuple *ntuple1 = new TNtuple("ntuple1","file1","x:y:z");
|
|
while (1)
|
|
{
|
|
ncols = fscanf(fp1,"%f %f %f",&x, &y, &z);
|
|
if (ncols < 0) break;
|
|
ntuple1->Fill(x/1000,y/1000,z/1000);
|
|
}
|
|
fclose(fp1);
|
|
|
|
c1.cd(1);
|
|
ntuple1->SetMarkerSize(.2);
|
|
ntuple1->SetMarkerColor(2);
|
|
ntuple1->SetMarkerStyle(20);
|
|
ntuple1->Draw("x:y:z","");
|
|
htemp->GetXaxis()->SetLabelSize(0.025);
|
|
htemp->GetYaxis()->SetLabelSize(0.025);
|
|
htemp->GetZaxis()->SetLabelSize(0.025);
|
|
htemp->GetXaxis()->SetTitleSize(0.035);
|
|
htemp->GetYaxis()->SetTitleSize(0.035);
|
|
htemp->GetZaxis()->SetTitleSize(0.035);
|
|
htemp->GetXaxis()->SetTitleOffset(1.4);
|
|
htemp->GetYaxis()->SetTitleOffset(1.4);
|
|
htemp->GetZaxis()->SetTitleOffset(1.4);
|
|
htemp->GetXaxis()->SetTitle("Z (m)");
|
|
htemp->GetYaxis()->SetTitle("X (mm)");
|
|
htemp->GetZaxis()->SetTitle("Y (mm)");
|
|
htemp->SetTitle("Nanobeam profile");
|
|
|
|
jump1:
|
|
|
|
FILE *fp1 = fopen("./results/x.txt","r");
|
|
if (fp1==0) goto jump2;
|
|
FILE *fp2 = fopen("./results/y.txt","r");
|
|
FILE *fp3 = fopen("./results/theta.txt","r");
|
|
FILE *fp4 = fopen("./results/phi.txt","r");
|
|
TNtuple *ntuple2 = new TNtuple("ntuple2","file2","x:y:theta:phi");
|
|
while (1)
|
|
{
|
|
ncols = fscanf(fp1,"%f",&x);
|
|
if (ncols < 0) break;
|
|
ncols = fscanf(fp2,"%f",&y);
|
|
ncols = fscanf(fp3,"%f",&theta);
|
|
ncols = fscanf(fp4,"%f",&phi);
|
|
ntuple2->Fill(x,y,theta,phi);
|
|
}
|
|
fclose(fp1);
|
|
fclose(fp2);
|
|
fclose(fp3);
|
|
fclose(fp4);
|
|
|
|
c1.cd(2);
|
|
gStyle->SetPalette(1);
|
|
ntuple2->SetMarkerColor(2);
|
|
ntuple2->SetMarkerStyle(20);
|
|
gPad->SetLogz();
|
|
ntuple2->Draw("y:x","","hcolz");
|
|
htemp->GetXaxis()->SetLabelSize(0.025);
|
|
htemp->GetYaxis()->SetLabelSize(0.025);
|
|
htemp->GetXaxis()->SetTitleSize(0.035);
|
|
htemp->GetYaxis()->SetTitleSize(0.035);
|
|
htemp->GetXaxis()->SetTitleOffset(1.4);
|
|
htemp->GetYaxis()->SetTitleOffset(1.4);
|
|
htemp->GetXaxis()->SetTitle("X (micrometer)");
|
|
htemp->GetYaxis()->SetTitle("Y (micrometer)");
|
|
htemp->SetTitle("Nanobeam image");
|
|
|
|
c1.cd(3);
|
|
gStyle->SetPalette(1);
|
|
ntuple2->SetMarkerColor(4);
|
|
ntuple2->SetMarkerStyle(20);
|
|
gPad->SetLogz();
|
|
ntuple2->Draw("theta:x","","hcolz");
|
|
htemp->GetXaxis()->SetLabelSize(0.025);
|
|
htemp->GetYaxis()->SetLabelSize(0.025);
|
|
htemp->GetXaxis()->SetTitleSize(0.035);
|
|
htemp->GetYaxis()->SetTitleSize(0.035);
|
|
htemp->GetXaxis()->SetTitleOffset(1.4);
|
|
htemp->GetYaxis()->SetTitleOffset(1.4);
|
|
htemp->GetXaxis()->SetTitle("X (micrometer)");
|
|
htemp->GetYaxis()->SetTitle("THETA (mrad)");
|
|
htemp->SetTitle("Nanobeam image emittance (X,THETA)");
|
|
|
|
c1.cd(4);
|
|
gStyle->SetPalette(1);
|
|
ntuple2->SetMarkerColor(4);
|
|
ntuple2->SetMarkerStyle(20);
|
|
gPad->SetLogz();
|
|
ntuple2->Draw("phi:y","","hcolz");
|
|
htemp->GetXaxis()->SetLabelSize(0.025);
|
|
htemp->GetYaxis()->SetLabelSize(0.025);
|
|
htemp->GetXaxis()->SetTitleSize(0.035);
|
|
htemp->GetYaxis()->SetTitleSize(0.035);
|
|
htemp->GetXaxis()->SetTitleOffset(1.4);
|
|
htemp->GetYaxis()->SetTitleOffset(1.4);
|
|
htemp->GetXaxis()->SetTitle("Y (micrometer)");
|
|
htemp->GetYaxis()->SetTitle("PHI (mrad)");
|
|
htemp->SetTitle("Nanobeam image emittance (Y,PHI)");
|
|
|
|
jump2:
|
|
FILE *fp3 = fopen("./results/grid.txt","r");
|
|
if (fp3==0) goto jump3;
|
|
|
|
TNtuple *ntuple3 = new TNtuple("ntuple3","file3","x:y:nrj");
|
|
while (1)
|
|
{
|
|
ncols = fscanf(fp3,"%f %f %f",&x, &y, &nrj);
|
|
if (ncols < 0) break;
|
|
ntuple3->Fill(x/1000,y/1000,nrj);
|
|
}
|
|
fclose(fp3);
|
|
|
|
c1.cd(1);
|
|
gStyle->SetPalette(1);
|
|
ntuple3->SetMarkerSize(.2);
|
|
ntuple3->SetMarkerColor(2);
|
|
ntuple3->SetMarkerStyle(20);
|
|
gPad->SetLogz();
|
|
ntuple3->Draw("y:x","","hcolz");
|
|
htemp->GetXaxis()->SetLabelSize(0.025);
|
|
htemp->GetYaxis()->SetLabelSize(0.025);
|
|
htemp->GetXaxis()->SetTitleSize(0.035);
|
|
htemp->GetYaxis()->SetTitleSize(0.035);
|
|
htemp->GetXaxis()->SetTitleOffset(1.4);
|
|
htemp->GetYaxis()->SetTitleOffset(1.4);
|
|
htemp->GetXaxis()->SetTitle("X (mm)");
|
|
htemp->GetYaxis()->SetTitle("Y (mm)");
|
|
htemp->SetTitle("Grid shadow");
|
|
|
|
jump3:
|
|
}
|