void nasty2() { gStyle->SetOptStat("n"); gStyle->SetOptFit(); c1 = new TCanvas("c1","Energy Res",300,10,1400,800); gStyle->SetFrameLineWidth(3); c1->SetGrid(); int states; double nrg[22]; double mean0[22], mean1[22], mean2[22], mean3[22], res0[22], res1[22], res2[22], res3[22], sigma0[22], sigma1[22], sigma2[22], sigma3[22]; ifstream zz0("bline0_gaussians.txt"); if (!zz0) { cout <<" Could not open file0!" << endl; exit(-1); } states=0; while(1) { if(!zz0.good()) break; zz0>>nrg[states]>>mean0[states]>>sigma0[states]; res0[states]=235.5*(sigma0[states]/mean0[states]); states++; } zz0.close(); ifstream zz1("bline1_gaussians.txt"); if (!zz1) { cout <<" Could not open file!" << endl; exit(-1); } states=0; while(1) { if(!zz1.good()) break; zz1>>nrg[states]>>mean1[states]>>sigma1[states]; res1[states]=235.5*(sigma1[states]/mean1[states]); states++; } zz1.close(); ifstream zz2("bline2_gaussians.txt"); if (!zz2) { cout <<" Could not open file!" << endl; exit(-1); } states=0; while(1) { if(!zz2.good()) break; zz2>>nrg[states]>>mean2[states]>>sigma2[states]; res2[states]=235.5*(sigma2[states]/mean2[states]); states++; } zz2.close(); ifstream zz3("bline3_gaussians.txt"); if (!zz3) { cout <<" Could not open file!" << endl; exit(-1); } states=0; while(1) { if(!zz3.good()) break; zz3>>nrg[states]>>mean3[states]>>sigma3[states]; res3[states]=235.5*(sigma3[states]/mean3[states]); states++; } zz3.close(); const Int_t n1 = 7; Double_t x[] = {70,100,120,140,160,180,200}; double blank[22] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; //eres Double_t y0[] = {2.2509203163,1.9196824644,1.8619886171,1.7312493823,1.6693434545,1.4622744459,1.6036869308}; Double_t y1[] = {2.3936715917,1.9971146403,1.9544293455,1.8449137153,1.7273965309,1.7997433278,1.8676223953}; Double_t y2[] = {2.2517672718,1.8089080073,1.8509366785,1.6783462251,1.5328518091,1.4913861307,1.7493423319}; Double_t y3[] = {2.2060688926,1.8419586301,1.8456030319,1.4952478561,1.729524433,1.6746718362,1.7383090724}; Double_t y5[] = {2.1010073213,1.8123187493,1.8112420777,1.6528127152,1.5835666954,1.4694983112,1.694954695}; Double_t y7[] = {2.1703002899,1.8873093499,1.8598710271,1.8406900054,1.9405983913,1.9432245095,1.9534107128}; Double_t y8[] = {2.3208207497,1.965992844,1.9041194849,1.7600897945,1.7211407671,1.6784508793,1.749488239}; Double_t y9[] = {2.3532778294,1.9154880639,1.8886835457,1.6901720888,1.6904405073,1.508847,1.4667261689}; Double_t y11[] = {2.254208659,1.9067688352,1.9059807214,1.752989796,1.7180714863,1.6580514593,1.702384851}; Double_t y12[] = {2.2127356011,1.8246491836,1.7986101983,1.6867846818,1.4552140772,1.4786994986,1.5806841394}; Double_t y16[] = {2.4676922092,2.1245739482,2.0972961156,1.7095017163,1.6071481235,1.7743970398,2.3082353722 }; Double_t y22[] = {2.2596146008,1.8529489296,2.0283369072,1.7473061658,1.65934055,1.6174076755,1.9687175932}; Double_t y28[] = {2.2498963082,1.9216897845,1.9971328891,1.6822461577,1.6416375996,1.7040243902,2.1781705902}; Double_t abc,cba; Double_t yav[7]; Double_t ystdev[7] = {0.0962603446,0.0876952453,0.0883732038,0.0882408969,0.1164043778,0.1496755167,0.2385850099}; Double_t nul[7]= {0,0,0,0,0,0,0}; for (int i=0;i<7;i++) { cout<SetTitle("#scale[1.2]{Top down proton energy vs resolution}"); grx->SetMarkerColor(1); grx->SetMarkerSize(2); grx->SetLineColor(2); grx->GetXaxis()->SetTitle("#scale[2]{Energy (keV)}"); grx->GetYaxis()->SetTitle("#scale[2]{Energy Resolution (%)}"); grx->SetMarkerStyle(22); gr0 = new TGraphErrors(20,nrg,res0); gr0->SetTitle("#scale[1.2]{Top down proton energy vs resolution}"); gr0->SetMarkerColor(1); gr0->SetMarkerSize(2); gr0->SetLineColor(kCyan);gr0->SetLineStyle(6); gr0->SetLineWidth(3); gr0->GetXaxis()->SetTitle("#scale[2]{Energy (keV)}"); gr0->GetYaxis()->SetTitle("#scale[2]{Energy Resolution (%)}"); gr0->GetXaxis()->CenterTitle(); gr0->GetYaxis()->CenterTitle(); gr0->SetMarkerStyle(1); gr1 = new TGraph(20,nrg,res1); gr1->SetMarkerColor(2); gr1->SetMarkerSize(2); gr1->SetLineColor(2);gr1->SetLineStyle(9); gr1->SetLineWidth(3); gr1->SetMarkerStyle(22); abc=6.5; cba=1.5; double nrg_[14],res0_[14],sigma0_[14],blank_[14],res1_[14],sigma1_[14],res2_[14],sigma2_[14],res3_[14],sigma3_[14]; for (int f=0;f<14;f++) { nrg_[f]=nrg[f]; res0_[f]=res0[f]; sigma0_[f]=1.5*sigma0[f]; res1_[f]=res1[f]; sigma1_[f]=1.5*sigma1[f]; res2_[f]=res2[f]; sigma2_[f]=1.5*sigma2[f]; res3_[f]=res3[f]; sigma3_[f]=1.5*sigma3[f]; blank_[f]=blank[f]; } gr2 = new TGraphErrors(14,nrg_,res0_,sigma0_,blank_); gr2->SetTitle("#scale[1.5]{\"Top down\" proton energy vs resolution}"); gr2->SetMarkerColor(3); gr2->SetMarkerSize(2); gr2->GetXaxis()->SetTitle("#scale[1.5]{Energy (MeV)}"); gr2->GetYaxis()->SetTitle("#scale[1.5]{Energy Resolution (%)}"); gr2->GetYaxis()->SetRangeUser(cba,abc); gr2->GetXaxis()->SetRangeUser(65,170); gr2->GetXaxis()->CenterTitle(); gr2->GetYaxis()->CenterTitle(); gr2->GetXaxis()->SetLabelSize(0.05); gr2->GetXaxis()->SetLabelSize(0.05); gr2->GetXaxis()->SetTitleOffset(1.3); gr2->GetYaxis()->SetTitleOffset(1.1); gr2->GetYaxis()->SetLabelSize(0.05); gr2->SetMarkerStyle(24); gr13 = new TGraphErrors(14,nrg_,res1_,sigma1_,blank_); gr13->SetMarkerColor(4); gr13->SetMarkerSize(2); gr13->SetMarkerStyle(27); gr14 = new TGraphErrors(14,nrg_,res2_,sigma2_,blank_); gr14->SetMarkerColor(2); gr14->SetMarkerSize(2); gr14->SetMarkerStyle(32); gr15 = new TGraphErrors(14,nrg_,res3_,sigma3_,blank_); gr15->SetMarkerColor(6); gr15->SetMarkerSize(2); gr15->SetMarkerStyle(26); gr2->Draw("APz"); gr13->Draw("Pz"); gr14->Draw("Pz"); gr15->Draw("Pz"); //crystal 2(3) TLine *esr1 = new TLine(70.5,cba,70.5,abc); esr1->SetLineWidth(3);esr1->SetLineStyle(6);esr1->SetLineColor(kCyan); esr1->Draw(); TLine *esr2 = new TLine(71,cba,71,abc); esr2->SetLineWidth(3);esr2->SetLineStyle(6);esr2->SetLineColor(kCyan); esr2->Draw(); //crystal 3(4) TLine *esr3 = new TLine(105,cba,105,abc); esr3->SetLineWidth(3);esr3->SetLineStyle(6);esr3->SetLineColor(kCyan); esr3->Draw(); TLine *cf1 = new TLine(105.5,cba,105.5,abc); cf1->SetLineWidth(3);cf1->SetLineStyle(9);cf1->SetLineColor(2); cf1->Draw(); TLine *esr4 = new TLine(106,cba,106,abc); esr4->SetLineWidth(3);esr4->SetLineStyle(6);esr4->SetLineColor(kCyan); esr4->Draw(); //crystal 4(5) TLine *esr5 = new TLine(128,cba,128,abc); esr5->SetLineWidth(3);esr5->SetLineStyle(6);esr5->SetLineColor(kCyan); esr5->Draw(); TLine *esr6 = new TLine(128.5,cba,128.5,abc); esr6->SetLineWidth(3);esr6->SetLineStyle(6);esr6->SetLineColor(kCyan); esr6->Draw(); //crystal 5(6) TLine *esr7 = new TLine(152,cba,152,abc); esr7->SetLineWidth(3);esr7->SetLineStyle(6);esr7->SetLineColor(kCyan); esr7->Draw(); TLine *cf2 = new TLine(152.5,cba,152.5,abc); cf2->SetLineWidth(3);cf2->SetLineStyle(9);cf2->SetLineColor(2); cf2->Draw(); TLine *esr8 = new TLine(153,cba,153,abc); esr8->SetLineWidth(3);esr8->SetLineStyle(6);esr8->SetLineColor(kCyan); esr8->Draw(); //crystal 6(7) TLine *esr9 = new TLine(174.5,cba,174.5,abc); esr9->SetLineWidth(3);esr9->SetLineStyle(6);esr9->SetLineColor(kCyan); TLine *esr10 = new TLine(175,cba,175,abc); esr10->SetLineWidth(3);esr10->SetLineStyle(6);esr10->SetLineColor(kCyan); //crystal 7(8) TLine *esr11 = new TLine(192,cba,192,abc); esr11->SetLineWidth(3);esr11->SetLineStyle(6);esr11->SetLineColor(kCyan); TLine *cf3 = new TLine(192.5,cba,192.5,abc); cf3->SetLineWidth(3);cf3->SetLineStyle(9);cf3->SetLineColor(2); TLine *esr12 = new TLine(193,cba,193,abc); esr12->SetLineWidth(3);esr12->SetLineStyle(6);esr12->SetLineColor(kCyan); gr3 = new TGraph(20,nrg,res3); gr3->SetMarkerColor(4); gr3->SetMarkerSize(2); gr3->SetLineColor(6); gr3->SetMarkerStyle(22); TLegend *legend=new TLegend(0.65,0.58,0.9,0.9); legend->SetTextFont(50); legend->SetTextSize(0.05); legend->AddEntry(gr0,"ESR wrapping","l"); legend->AddEntry(gr1,"Carbon fibre","l"); legend->AddEntry(gr15,"line3 3 sigma","lp"); legend->AddEntry(gr14,"line2 3 sigma","lp"); legend->AddEntry(gr13,"line1 3 sigma","lp"); legend->AddEntry(gr2,"line0 3 sigma","lp"); legend->Draw(); legend->SetFillStyle(1); legend->SetLineWidth(3); legend->SetBorderSize(3); c1->SaveAs("protones.png"); }