#include "TGraph.h" #include "iostream" #include "TCanvas.h" #include "TLegend.h" #include "TGaxis.h" #include "TH2F.h" #include #include #include #include #include #include #include #include #include #include #include #include #include void setOPT_hists(TH2F *hist, TString xAxisTitle="ala", TString yAxisTitle="ala", Int_t Ndevision=510, Int_t color=2) { hist->GetXaxis()->SetTitle(xAxisTitle); hist->GetYaxis()->SetTitle(yAxisTitle); hist->GetXaxis()->SetTitleSize(0.06); hist->GetYaxis()->SetTitleSize(0.06); hist->GetXaxis()->SetTitleFont(42); hist->GetYaxis()->SetTitleFont(42); hist->GetXaxis()->SetNdivisions(Ndevision); hist->GetXaxis()->SetTitleOffset(1.1); hist->GetYaxis()->SetTitleOffset(1.1); hist->GetXaxis()->CenterTitle(); hist->GetYaxis()->CenterTitle(); hist->GetXaxis()->SetLabelFont(42); hist->GetYaxis()->SetLabelFont(42); hist->GetXaxis()->SetLabelSize(0.05); hist->GetYaxis()->SetLabelSize(0.05); hist->GetXaxis()->SetLabelOffset(0.02); hist->GetYaxis()->SetLabelOffset(0.02); hist->SetLineColor(color); hist->SetLineWidth(2); } void setOPT_graph(TGraph *gr, Int_t color=2) { gr->SetLineColor(color); gr->SetLineWidth(2); } void setOPT_canvas(TCanvas *canvas, Int_t i, Int_t j) { gStyle->SetLineStyleString(22,"80 18 12 18 12 12"); gStyle->SetOptStat(0); gStyle->SetErrorX(0); gStyle->SetLineStyleString(22,"80 18 12 18 12 12"); gStyle->SetCanvasColor(10); gStyle->SetPadColor(10); gStyle->SetPadLeftMargin(0.2); gStyle->SetPadRightMargin(0.06); gStyle->SetPadTopMargin(0.03); gStyle->SetPadBottomMargin(0.2); canvas->ToggleEventStatus(); canvas->Range(-237.19,-8.78484,1074.67,-1.41487); canvas->SetFillColor(0); canvas->SetBorderMode(0); canvas->SetBorderSize(0); canvas->SetTickx(); canvas->SetTicky(); canvas->SetLeftMargin(0.0180804); canvas->SetRightMargin(0.0169196); canvas->SetTopMargin(0.0385488); canvas->SetBottomMargin(0.130385); canvas->SetFrameLineWidth(2); canvas->SetFrameBorderMode(0); canvas->SetFrameBorderSize(0); canvas->Divide(i,j); } void setLegend(char* cH1, TGraph* h1, char* cH2, TGraph* h2) { TLegend *legmass = new TLegend(0.62,0.8,0.98,1.0); legmass->SetFillColor(0); legmass->SetTextSize(0.05); legmass->SetTextFont(42); legmass->SetMargin(0.5); legmass->SetBorderSize(2); if (h1) legmass->AddEntry(h1,cH1,"l"); if (h2) legmass->AddEntry(h2,cH2,"l"); legmass->Draw("same"); } void setOptions() { gStyle->SetErrorX(0); gStyle->SetTitleW(0.94); gStyle->SetTitleH(0.07); gStyle->SetTitleBorderSize(0); gStyle->SetStatY(0.99-gStyle->GetTitleH()); gStyle->SetStatX(0.99); gStyle->SetStatW(0.25); gStyle->SetStatH(0.07); gStyle->SetStatBorderSize(0); gStyle->SetCanvasBorderSize(0); gStyle->SetPadBorderSize(0); gStyle->SetFrameBorderSize(0); gStyle->SetOptTitle(0); gStyle->SetOptStat(00000000); gStyle->SetPadLeftMargin(0.12); gStyle->SetPadBottomMargin(0.14); gStyle->SetPadRightMargin(0.1); gStyle->SetPadTopMargin(0.1); gStyle->SetCanvasColor(10); gStyle->SetPadColor(10); TGaxis::SetMaxDigits(4); } void draw_windows_phi() { setOptions(); TH2F *blank = new TH2F("blank","blank",100,0,600,10,-4,4); TGraph *FULL_RK_theta_up[6]; TGraph *FULL_RK_theta_down[6]; TGraph *FULL_theta_up[6]; TGraph *FULL_theta_down[6]; Float_t FULL_RK_window_up1[7]; Float_t FULL_RK_window_down1[7]; Float_t FULL_RK_window_up2[7]; Float_t FULL_RK_window_down2[7]; Float_t FULL_RK_window_up3[7]; Float_t FULL_RK_window_down3[7]; Float_t FULL_RK_window_up4[7]; Float_t FULL_RK_window_down4[7]; Float_t FULL_RK_window_up5[7]; Float_t FULL_RK_window_down5[7]; Float_t FULL_RK_window_up6[7]; Float_t FULL_RK_window_down6[7]; Float_t FULL_window_up1[7]; Float_t FULL_window_down1[7]; Float_t FULL_window_up2[7]; Float_t FULL_window_down2[7]; Float_t FULL_window_up3[7]; Float_t FULL_window_down3[7]; Float_t FULL_window_up4[7]; Float_t FULL_window_down4[7]; Float_t FULL_window_up5[7]; Float_t FULL_window_down5[7]; Float_t FULL_window_up6[7]; Float_t FULL_window_down6[7]; Int_t bin =7; Float_t x [7]={ 50.00,125.00,175.0,225.0,275.0,350.0,450.0}; Float_t FULL_RK_meanPhi1[7] ={ 0.25, 0.29, 0.31, 0.32, 0.33, 0.34, 0.36}; Float_t FULL_RK_meanPhi2[7] ={ 0.37, 0.39, 0.41, 0.41, 0.40, 0.41, 0.40}; Float_t FULL_RK_meanPhi3[7] ={ 0.13, 0.14, 0.16, 0.16, 0.17, 0.17, 0.22}; Float_t FULL_RK_meanPhi4[7] ={-0.44, -0.43, -0.43, -0.43, -0.44, -0.45, -0.45}; Float_t FULL_RK_meanPhi5[7] ={-0.43, -0.44, -2.86, -0.46, -0.49, -0.47, -0.50}; Float_t FULL_RK_meanPhi6[7] ={ 0.02, 0.03, 0.05, 0.06, 0.07, 0.07, 0.07}; Float_t FULL_RK_sigmaPhi1[7]={1.18, 0.88, 0.73, 0.65, 0.60, 0.54, 0.53}; Float_t FULL_RK_sigmaPhi2[7]={1.16, 0.86, 0.70, 0.60, 0.53, 0.52, 0.52}; Float_t FULL_RK_sigmaPhi3[7]={1.27, 1.01, 0.84, 0.75, 0.70, 0.66, 0.66}; Float_t FULL_RK_sigmaPhi4[7]={1.07, 0.82, 0.68, 0.60, 0.56, 0.52, 0.50}; Float_t FULL_RK_sigmaPhi5[7]={1.14, 0.88, 0.70, 0.62, 0.59, 0.54, 0.50}; Float_t FULL_RK_sigmaPhi6[7]={1.32, 0.97, 0.78, 0.66, 0.62, 0.56, 0.53}; Float_t FULL_meanPhi1[7]={ 0.31, 0.37, 0.35, 0.33, 0.35, 0.34, 0.36}; Float_t FULL_meanPhi2[7]={ 0.41, 0.44, 0.42, 0.41, 0.40, 0.42, 0.40}; Float_t FULL_meanPhi3[7]={ 0.14, 0.19, 0.17, 0.19, 0.20, 0.20, 0.20}; Float_t FULL_meanPhi4[7]={-0.40,-0.42,-0.43,-0.43,-0.44,-0.44,-0.48}; Float_t FULL_meanPhi5[7]={-0.40,-0.39,-0.39,-0.44,-0.44,-0.40,-0.44}; Float_t FULL_meanPhi6[7]={ 0.06, 0.09, 0.06,-1.20, 0.10, 0.07, 0.09}; Float_t FULL_sigmaPhi1[7]={0.96,0.79,0.70,0.65,0.55,0.50,0.59}; Float_t FULL_sigmaPhi2[7]={0.99,0.79,0.69,0.57,0.62,0.48,0.60}; Float_t FULL_sigmaPhi3[7]={1.01,0.89,0.78,0.72,0.63,0.60,0.62}; Float_t FULL_sigmaPhi4[7]={0.96,0.77,0.67,0.58,0.52,0.52,0.57}; Float_t FULL_sigmaPhi5[7]={0.94,0.77,0.68,0.65,0.59,0.63,0.49}; Float_t FULL_sigmaPhi6[7]={1.05,0.90,0.80,0.01,0.66,0.55,0.62}; for(Int_t i=0; i<7; i++ ) { FULL_RK_window_up1[i]=FULL_RK_meanPhi1[i]-2*FULL_RK_sigmaPhi1[i]; FULL_RK_window_down1[i]=FULL_RK_meanPhi1[i]+2*FULL_RK_sigmaPhi1[i]; FULL_RK_window_up2[i]=FULL_RK_meanPhi2[i]-2*FULL_RK_sigmaPhi2[i]; FULL_RK_window_down2[i]=FULL_RK_meanPhi2[i]+2*FULL_RK_sigmaPhi2[i]; FULL_RK_window_up3[i]=FULL_RK_meanPhi3[i]-2*FULL_RK_sigmaPhi3[i]; FULL_RK_window_down3[i]=FULL_RK_meanPhi3[i]+2*FULL_RK_sigmaPhi3[i]; FULL_RK_window_up4[i]=FULL_RK_meanPhi4[i]-2*FULL_RK_sigmaPhi4[i]; FULL_RK_window_down4[i]=FULL_RK_meanPhi4[i]+2*FULL_RK_sigmaPhi4[i]; FULL_RK_window_up5[i]=FULL_RK_meanPhi5[i]-2*FULL_RK_sigmaPhi5[i]; FULL_RK_window_down5[i]=FULL_RK_meanPhi5[i]+2*FULL_RK_sigmaPhi5[i]; FULL_RK_window_up6[i]=FULL_RK_meanPhi6[i]-2*FULL_RK_sigmaPhi6[i]; FULL_RK_window_down6[i]=FULL_RK_meanPhi6[i]+2*FULL_RK_sigmaPhi6[i]; FULL_window_up1[i]=FULL_meanPhi1[i]-2*FULL_sigmaPhi1[i]; FULL_window_down1[i]=FULL_meanPhi1[i]+2*FULL_sigmaPhi1[i]; FULL_window_up2[i]=FULL_meanPhi2[i]-2*FULL_sigmaPhi2[i]; FULL_window_down2[i]=FULL_meanPhi2[i]+2*FULL_sigmaPhi2[i]; FULL_window_up3[i]=FULL_meanPhi3[i]-2*FULL_sigmaPhi3[i]; FULL_window_down3[i]=FULL_meanPhi3[i]+2*FULL_sigmaPhi3[i]; FULL_window_up4[i]=FULL_meanPhi4[i]-2*FULL_sigmaPhi4[i]; FULL_window_down4[i]=FULL_meanPhi4[i]+2*FULL_sigmaPhi4[i]; FULL_window_up5[i]=FULL_meanPhi5[i]-2*FULL_sigmaPhi5[i]; FULL_window_down5[i]=FULL_meanPhi5[i]+2*FULL_sigmaPhi5[i]; FULL_window_up6[i]=FULL_meanPhi6[i]-2*FULL_sigmaPhi6[i]; FULL_window_down6[i]=FULL_meanPhi6[i]+2*FULL_sigmaPhi6[i]; } FULL_RK_theta_up [0]= new TGraph(bin,x,FULL_RK_window_up1); FULL_RK_theta_down[0]= new TGraph(bin,x,FULL_RK_window_down1); FULL_RK_theta_up [1]= new TGraph(bin,x,FULL_RK_window_up1); FULL_RK_theta_down[1]= new TGraph(bin,x,FULL_RK_window_down1); FULL_RK_theta_up [2]= new TGraph(bin,x,FULL_RK_window_up1); FULL_RK_theta_down[2]= new TGraph(bin,x,FULL_RK_window_down1); FULL_RK_theta_up [3]= new TGraph(bin,x,FULL_RK_window_up1); FULL_RK_theta_down[3]= new TGraph(bin,x,FULL_RK_window_down1); FULL_RK_theta_up [4]= new TGraph(bin,x,FULL_RK_window_up1); FULL_RK_theta_down[4]= new TGraph(bin,x,FULL_RK_window_down1); FULL_RK_theta_up [5]= new TGraph(bin,x,FULL_RK_window_up1); FULL_RK_theta_down[5]= new TGraph(bin,x,FULL_RK_window_down1); FULL_theta_up [0]= new TGraph(bin,x,FULL_window_up1); FULL_theta_down[0]= new TGraph(bin,x,FULL_window_down1); FULL_theta_up [1]= new TGraph(bin,x,FULL_window_up1); FULL_theta_down[1]= new TGraph(bin,x,FULL_window_down1); FULL_theta_up [2]= new TGraph(bin,x,FULL_window_up1); FULL_theta_down[2]= new TGraph(bin,x,FULL_window_down1); FULL_theta_up [3]= new TGraph(bin,x,FULL_window_up1); FULL_theta_down[3]= new TGraph(bin,x,FULL_window_down1); FULL_theta_up [4]= new TGraph(bin,x,FULL_window_up1); FULL_theta_down[4]= new TGraph(bin,x,FULL_window_down1); FULL_theta_up [5]= new TGraph(bin,x,FULL_window_up1); FULL_theta_down[5]= new TGraph(bin,x,FULL_window_down1); TCanvas *ala = new TCanvas("ala","ala",176,28,900,912); setOPT_canvas(ala,2,3); setOPT_hists(blank,"p [MeV/c]","#Delta #theta"); for(Int_t i=0; i<6; i++) { setOPT_graph(FULL_theta_down[i],2); setOPT_graph(FULL_theta_up[i],2); setOPT_graph(FULL_RK_theta_down[i],4); setOPT_graph(FULL_RK_theta_up[i],4); } ala->cd(1); blank->Draw(); FULL_RK_theta_up[0]->Draw("l"); FULL_RK_theta_down[0]->Draw("l"); FULL_theta_up[0]->Draw("l"); FULL_theta_down[0]->Draw("l"); setLegend("FULL RK target",FULL_RK_theta_up[0],"FULL target", FULL_theta_up[0]); ala->cd(2); blank->DrawCopy(); FULL_RK_theta_up[1]->Draw("l"); FULL_RK_theta_down[1]->Draw("l"); FULL_theta_up[1]->Draw("l"); FULL_theta_down[1]->Draw("l"); setLegend("FULL RK target",FULL_RK_theta_up[1],"FULL target", FULL_theta_up[1]); ala->cd(3); blank->DrawCopy(); FULL_RK_theta_up[2]->Draw("l"); FULL_RK_theta_down[2]->Draw("l"); FULL_theta_up[2]->Draw("l"); FULL_theta_down[2]->Draw("l"); setLegend("FULL RK target",FULL_RK_theta_up[2],"FULL target", FULL_theta_up[2]); ala->cd(4); blank->DrawCopy(); FULL_RK_theta_up[3]->Draw("l"); FULL_RK_theta_down[3]->Draw("l"); FULL_theta_up[3]->Draw("l"); FULL_theta_down[3]->Draw("l"); setLegend("FULL RK target",FULL_RK_theta_up[3],"FULL target", FULL_theta_up[3]); ala->cd(5); blank->DrawCopy(); FULL_RK_theta_up[4]->Draw("l"); FULL_RK_theta_down[4]->Draw("l"); FULL_theta_up[4]->Draw("l"); FULL_theta_down[4]->Draw("l"); setLegend("FULL RK target",FULL_RK_theta_up[4],"FULL target", FULL_theta_up[4]); ala->cd(6); blank->DrawCopy(); FULL_RK_theta_up[5]->Draw("l"); FULL_RK_theta_down[5]->Draw("l"); FULL_theta_up[5]->Draw("l"); FULL_theta_down[5]->Draw("l"); setLegend("FULL RK target",FULL_RK_theta_up[5],"FULL target", FULL_theta_up[5]); }