data analysis scripts
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

440 lines
19 KiB

  1. {
  2. gROOT->ProcessLine(".x lhcbStyle.C");
  3. TCanvas c1_g1_c;
  4. TGraphErrors * g1_c = new TGraphErrors("beamenergyfile_int_c.txt","%lg %lg %lg");
  5. for (int i=0;i<g1_c->GetN();i++) g1_c->GetY()[i] *= 0.001; //scale graph
  6. for (int i=0;i<g1_c->GetN();i++) g1_c->GetEY()[i] *= 0.001; //scale errors
  7. g1_c->SetMarkerStyle(22);
  8. g1_c->SetTitle("Carbon Ions");
  9. g1_c->GetXaxis()->SetTitle("Intensity / 10^{6}s^{-1}");
  10. g1_c->GetYaxis()->SetTitle("#bar{A}_{BPM} / 10^{3} a.u.");
  11. g1_c->GetYaxis()->SetRangeUser(0,6);
  12. g1_c->Draw("AP");
  13. g1_c->Fit("pol1");
  14. c1_g1_c.SaveAs("figs/beamenergyfile_int_c.pdf");
  15. c1_g1_c.SaveAs("figs/beamenergyfile_int_c.png");
  16. c1_g1_c.SaveAs("figs/beamenergyfile_int_c.C");
  17. TCanvas c1_g1_p;
  18. TGraphErrors * g1_p = new TGraphErrors("beamenergyfile_int_p.txt","%lg %lg %lg");
  19. for (int i=0;i<g1_p->GetN();i++) g1_p->GetY()[i] *= 0.001; //scale graph
  20. for (int i=0;i<g1_p->GetN();i++) g1_p->GetEY()[i] *= 0.001; //scale errors
  21. g1_p->SetMarkerStyle(20);
  22. g1_p->SetTitle("Protons");
  23. g1_p->GetXaxis()->SetTitle("Intensity / 10^{6}s^{-1}");
  24. g1_p->GetYaxis()->SetTitle("#bar{A}_{BPM} / 10^{3} a.u.");
  25. g1_p->GetYaxis()->SetRangeUser(0,20);
  26. g1_p->Draw("AP");
  27. g1_p->Fit("pol1");
  28. c1_g1_p.SaveAs("figs/beamenergyfile_int_p.pdf");
  29. c1_g1_p.SaveAs("figs/beamenergyfile_int_p.png");
  30. c1_g1_p.SaveAs("figs/beamenergyfile_int_p.C");
  31. TCanvas c1_mg1_e1;
  32. TGraphErrors * ge1_p = new TGraphErrors("energylist_p_bpm1.txt","%lg %lg %lg");
  33. TGraphErrors * ge1_he = new TGraphErrors("energylist_he_bpm1.txt","%lg %lg %lg");
  34. TGraphErrors * ge1_c = new TGraphErrors("energylist_c_bpm1.txt","%lg %lg %lg");
  35. TGraphErrors * ge1_o = new TGraphErrors("energylist_o_bpm1.txt","%lg %lg %lg");
  36. TMultiGraph * mg_e1 = new TMultiGraph();
  37. mg_e1->Add(ge1_p,"p"); ge1_p->SetMarkerStyle(20);
  38. mg_e1->Add(ge1_he,"p"); ge1_he->SetMarkerStyle(21);
  39. mg_e1->Add(ge1_c,"p"); ge1_c->SetMarkerStyle(22);
  40. mg_e1->Add(ge1_o,"p"); ge1_o->SetMarkerStyle(23);
  41. mg_e1->Draw("a");
  42. mg_e1->SetTitle(" ");
  43. mg_e1->GetXaxis()->SetTitle("Stopping Power / MeV#upointcm^{2}g^{-1}");
  44. mg_e1->GetYaxis()->SetTitle("#bar{A}_{BPM} / a.u.#upoint10^{-6}#upointion^{-1}s^{-1}");
  45. mg_e1->GetXaxis()->SetRangeUser(2,600);
  46. mg_e1->GetYaxis()->SetRangeUser(2,600);
  47. mg_e1->SetMinimum(1.);
  48. mg_e1->SetMaximum(1000.);
  49. c1_mg1_e1.SetLogy(1);
  50. c1_mg1_e1.SetLogx(1);
  51. TF1 * tf1_birk1 = new TF1("tf1_birk1","[0]*x*(1/(1+[1]*x))",3,14);
  52. TF1 * tf1_birk2 = new TF1("tf1_birk2","[0]*x*(1/(1+[1]*x))",15,44);
  53. TF1 * tf1_birk3 = new TF1("tf1_birk3","[0]*x*(1/(1+[1]*x))",100,300);
  54. TF1 * tf1_birk4 = new TF1("tf1_birk4","[0]*x*(1/(1+[1]*x))",180,460);
  55. TF1 * tf1_btv1 = new TF1("tf1_btv1","[0]*x*((1-[1])/(1+[2]*(1-[1])*x)+[1])",3,14);
  56. TF1 * tf1_btv2 = new TF1("tf1_btv2","[0]*x*((1-[1])/(1+[2]*(1-[1])*x)+[1])",15,44);
  57. TF1 * tf1_btv3 = new TF1("tf1_btv3","[0]*x*((1-[1])/(1+[2]*(1-[1])*x)+[1])",100,300);
  58. TF1 * tf1_btv4 = new TF1("tf1_btv4","[0]*x*((1-[1])/(1+[2]*(1-[1])*x)+[1])",180,460);
  59. tf1_birk1->SetParameters(1,0.01);tf1_birk1->SetLineStyle(2);
  60. tf1_birk2->SetParameters(1,0.01);tf1_birk2->SetLineStyle(2);
  61. tf1_birk3->SetParameters(1,0.01);tf1_birk3->SetLineStyle(2);
  62. tf1_birk4->SetParameters(1,0.01);tf1_birk4->SetLineStyle(2);
  63. //ge1_p->Fit(tf1_birk1);
  64. // ge1_he->Fit(tf1_birk2);
  65. //ge1_c->Fit(tf1_birk3);
  66. // ge1_o->Fit(tf1_birk4);
  67. tf1_btv1->SetParameters(1,0.5,0.01);;tf1_btv1->SetLineColor(kRed);
  68. tf1_btv2->SetParameters(1,0.5,0.01);tf1_btv2->SetLineColor(kRed);
  69. tf1_btv3->SetParameters(1,0.5,0.01);tf1_btv3->SetLineColor(kRed);
  70. tf1_btv4->SetParameters(1,0.5,0.01);tf1_btv4->SetLineColor(kRed);
  71. tf1_btv1->SetParLimits(1,0.,1.0);
  72. tf1_btv2->SetParLimits(1,0.,1.0);
  73. tf1_btv3->SetParLimits(1,0.,1.0);
  74. tf1_btv4->SetParLimits(1,0.,1.0);
  75. // ge1_p->Fit(tf1_btv1);tf1_birk1->Draw("same");
  76. // ge1_he->Fit(tf1_btv2);tf1_birk2->Draw("same");
  77. // ge1_c->Fit(tf1_btv3);tf1_birk3->Draw("same");
  78. // ge1_o->Fit(tf1_btv4);tf1_birk4->Draw("same");
  79. TLegend * mylegend = new TLegend(0.20,0.6,0.45,0.9);
  80. mylegend->SetFillColor(0); // white background
  81. mylegend->SetTextFont(22);
  82. mylegend->SetBorderSize(0); // get rid of the box
  83. mylegend->SetTextSize(0.045); // set text size
  84. mylegend->AddEntry(ge1_p,"Protons","p"); // options: p,l,f
  85. mylegend->AddEntry(ge1_he,"Helium","p"); // options: p,l,f
  86. mylegend->AddEntry(ge1_c,"Carbon","p"); // options: p,l,f
  87. mylegend->AddEntry(ge1_o,"Oxygen","p"); // options: p,l,f
  88. // mylegend->AddEntry(tf1_birk1,"Birk's Model","l"); // options: p,l,f
  89. // mylegend->AddEntry(tf1_btv1,"BVT Model","l"); // options: p,l,f
  90. mylegend->Draw();
  91. gPad->Modified();
  92. c1_mg1_e1.SaveAs("figs/energylist_p_bpm1.pdf");
  93. c1_mg1_e1.SaveAs("figs/energylist_p_bpm1.png");
  94. c1_mg1_e1.SaveAs("figs/energylist_p_bpm1.C");
  95. TCanvas c1_mg1_e1ic;
  96. TGraphErrors * ge1ic_p = new TGraphErrors("energylist_p_ic1.txt","%lg %lg %lg");
  97. TGraphErrors * ge1ic_he = new TGraphErrors("energylist_he_ic1.txt","%lg %lg %lg");
  98. TGraphErrors * ge1ic_c = new TGraphErrors("energylist_c_ic1.txt","%lg %lg %lg");
  99. TGraphErrors * ge1ic_o = new TGraphErrors("energylist_o_ic1.txt","%lg %lg %lg");
  100. TMultiGraph * mg_e1ic = new TMultiGraph();
  101. mg_e1ic->Add(ge1ic_p,"p"); ge1ic_p->SetMarkerStyle(20);
  102. mg_e1ic->Add(ge1ic_he,"p"); ge1ic_he->SetMarkerStyle(21);
  103. mg_e1ic->Add(ge1ic_c,"p"); ge1ic_c->SetMarkerStyle(22);
  104. mg_e1ic->Add(ge1ic_o,"p"); ge1ic_o->SetMarkerStyle(23);
  105. mg_e1ic->Draw("a");
  106. mg_e1ic->SetTitle(" ");
  107. mg_e1ic->GetXaxis()->SetTitle("Stopping Power / MeV#upointcm^{2}g^{-1}");
  108. mg_e1ic->GetYaxis()->SetTitle("#bar{A}_{BPM} / a.u.#upoint10^{-6}#upointion^{-1}s^{-1}");
  109. TLegend * mylegendic = new TLegend(0.20,0.6,0.45,0.9);
  110. mylegendic->SetFillColor(0); // white background
  111. mylegendic->SetTextFont(22);
  112. mylegendic->SetBorderSize(0); // get rid of the box
  113. mylegendic->SetTextSize(0.045); // set text size
  114. mylegendic->AddEntry(ge1ic_p,"Protons","p"); // options: p,l,f
  115. mylegendic->AddEntry(ge1ic_he,"Helium","p"); // options: p,l,f
  116. mylegendic->AddEntry(ge1ic_c,"Carbon","p"); // options: p,l,f
  117. mylegendic->AddEntry(ge1ic_o,"Oxygen","p"); // options: p,l,f
  118. mylegendic->Draw();
  119. gPad->Modified();
  120. c1_mg1_e1ic.SaveAs("figs/energylist_p_ic1.pdf");
  121. c1_mg1_e1ic.SaveAs("figs/energylist_p_ic1.png");
  122. c1_mg1_e1ic.SaveAs("figs/energylist_p_ic1.C");
  123. // c1->SetLogx();
  124. TCanvas c1_mg1_e2;
  125. TGraphErrors * ge2_p = new TGraphErrors("energylist_p_bpm1ratio.txt","%lg %lg %lg");
  126. TGraphErrors * ge2_he = new TGraphErrors("energylist_he_bpm1ratio.txt","%lg %lg %lg");
  127. TGraphErrors * ge2_c = new TGraphErrors("energylist_c_bpm1ratio.txt","%lg %lg %lg");
  128. TGraphErrors * ge2_o = new TGraphErrors("energylist_o_bpm1ratio.txt","%lg %lg %lg");
  129. TMultiGraph * mg_e2 = new TMultiGraph();
  130. mg_e2->Add(ge2_p,"p"); ge2_p->SetMarkerStyle(20);
  131. mg_e2->Add(ge2_he,"p"); ge2_he->SetMarkerStyle(21);
  132. mg_e2->Add(ge2_c,"p"); ge2_c->SetMarkerStyle(22);
  133. mg_e2->Add(ge2_o,"p"); ge2_o->SetMarkerStyle(23);
  134. mg_e2->Draw("a");
  135. mg_e2->SetTitle(" ");
  136. mg_e2->GetXaxis()->SetTitle("S_{ps} / MeV#upointcm^{2}g^{-1}");
  137. mg_e2->GetYaxis()->SetTitle("(#bar{A}_{BPM} / #bar{A}_{IC})#upoint(S_{air} / S_{ps}) ");
  138. mg_e2->SetMinimum(0.);
  139. mg_e2->SetMaximum(1.3);
  140. gPad->SetLogx();
  141. TLegend * mylegend2 = new TLegend(0.20,0.2,0.45,0.5);
  142. mylegend2->SetFillColor(0); // white background
  143. mylegend2->SetTextFont(22);
  144. mylegend2->SetBorderSize(0); // get rid of the box
  145. mylegend2->SetTextSize(0.045); // set text size
  146. mylegend2->AddEntry(ge2_p,"Protons","p"); // options: p,l,f
  147. mylegend2->AddEntry(ge2_he,"Helium","p"); // options: p,l,f
  148. mylegend2->AddEntry(ge2_c,"Carbon","p"); // options: p,l,f
  149. mylegend2->AddEntry(ge2_o,"Oxygen","p"); // options: p,l,f
  150. mylegend2->Draw();
  151. gPad->Modified();
  152. c1_mg1_e2.SaveAs("figs/energylist_p_bpm1ratio.pdf");
  153. c1_mg1_e2.SaveAs("figs/energylist_p_bpm1ratio.png");
  154. c1_mg1_e2.SaveAs("figs/energylist_p_bpm1ratio.C");
  155. // c1->SetLogx();
  156. TCanvas c1_mg1_e3;
  157. TGraphErrors * ge3_p = new TGraphErrors("energylist_p_ic1ratio.txt","%lg %lg %lg");
  158. TGraphErrors * ge3_he = new TGraphErrors("energylist_he_ic1ratio.txt","%lg %lg %lg");
  159. TGraphErrors * ge3_c = new TGraphErrors("energylist_c_ic1ratio.txt","%lg %lg %lg");
  160. TGraphErrors * ge3_o = new TGraphErrors("energylist_o_ic1ratio.txt","%lg %lg %lg");
  161. TMultiGraph * mg_e3 = new TMultiGraph();
  162. mg_e3->Add(ge3_p,"p"); ge3_p->SetMarkerStyle(20);
  163. mg_e3->Add(ge3_he,"p"); ge3_he->SetMarkerStyle(21);
  164. mg_e3->Add(ge3_c,"p"); ge3_c->SetMarkerStyle(22);
  165. mg_e3->Add(ge3_o,"p"); ge3_o->SetMarkerStyle(23);
  166. mg_e3->Draw("a");
  167. mg_e3->SetTitle(" ");
  168. mg_e3->GetXaxis()->SetTitle("S_{ps} / MeV#upointcm^{2}g^{-1}");
  169. mg_e3->GetYaxis()->SetTitle("(#bar{A}_{BPM}: #bar{A}_{IC}) correlation ");
  170. mg_e3->SetMinimum(0.6);
  171. mg_e3->SetMaximum(1.3);
  172. gPad->SetLogx();
  173. TLegend * mylegend3 = new TLegend(0.20,0.7,0.45,0.9);
  174. mylegend3->SetFillColor(0); // white background
  175. mylegend3->SetTextFont(22);
  176. mylegend3->SetBorderSize(0); // get rid of the box
  177. mylegend3->SetTextSize(0.045); // set text size
  178. mylegend3->AddEntry(ge3_p,"Protons","p"); // options: p,l,f
  179. mylegend3->AddEntry(ge3_he,"Helium","p"); // options: p,l,f
  180. mylegend3->AddEntry(ge3_c,"Carbon","p"); // options: p,l,f
  181. mylegend3->AddEntry(ge3_o,"Oxygen","p"); // options: p,l,f
  182. mylegend3->Draw();
  183. gPad->Modified();
  184. c1_mg1_e3.SaveAs("figs/energylist_p_ic1ratio.pdf");
  185. c1_mg1_e3.SaveAs("figs/energylist_p_ic1ratio.png");
  186. c1_mg1_e3.SaveAs("figs/energylist_p_ic1ratio.C");
  187. TCanvas c1_mg1_e4;
  188. TGraphErrors * ge4_p = new TGraphErrors("energylist_p_focusfit.txt","%lg %lg %lg");
  189. TGraphErrors * ge4_he = new TGraphErrors("energylist_he_focusfit.txt","%lg %lg %lg");
  190. TGraphErrors * ge4_c = new TGraphErrors("energylist_c_focusfit.txt","%lg %lg %lg");
  191. TGraphErrors * ge4_o = new TGraphErrors("energylist_o_focusfit.txt","%lg %lg %lg");
  192. TGraph * ge4_hit = new TGraph("focusHITfile.txt","%lg %lg");
  193. TMultiGraph * mg_e4 = new TMultiGraph();
  194. mg_e4->Add(ge4_p,"p"); ge4_p->SetMarkerStyle(20);
  195. mg_e4->Add(ge4_he,"p"); ge4_he->SetMarkerStyle(21);
  196. mg_e4->Add(ge4_c,"p"); ge4_c->SetMarkerStyle(22);
  197. mg_e4->Add(ge4_o,"p"); ge4_o->SetMarkerStyle(23);
  198. mg_e4->Add(ge4_hit,"p"); ge4_hit->SetMarkerStyle(30);
  199. mg_e4->Draw("a");
  200. mg_e4->SetTitle(" ");
  201. mg_e4->GetXaxis()->SetTitle("S_{ps} / MeV#upointcm^{2}g^{-1}");
  202. mg_e4->GetYaxis()->SetTitle("Beam Width (FWHM) / mm");
  203. mg_e4->SetMinimum(0.0);
  204. mg_e4->SetMaximum(40.);
  205. gPad->SetLogx();
  206. TLegend * mylegend4 = new TLegend(0.60,0.7,0.9,0.9);
  207. mylegend4->SetFillColor(0); // white background
  208. mylegend4->SetTextFont(22);
  209. mylegend4->SetBorderSize(0); // get rid of the box
  210. mylegend4->SetTextSize(0.045); // set text size
  211. mylegend4->AddEntry(ge4_p,"Protons","p"); // options: p,l,f
  212. mylegend4->AddEntry(ge4_he,"Helium","p"); // options: p,l,f
  213. mylegend4->AddEntry(ge4_c,"Carbon","p"); // options: p,l,f
  214. mylegend4->AddEntry(ge4_o,"Oxygen","p"); // options: p,l,f
  215. mylegend4->AddEntry(ge4_hit,"HIT nominal","p"); // options: p,l,f
  216. mylegend4->Draw();
  217. gPad->Modified();
  218. c1_mg1_e4.SaveAs("figs/energylist_p_focusfit.pdf");
  219. c1_mg1_e4.SaveAs("figs/energylist_p_focusfit.png");
  220. c1_mg1_e4.SaveAs("figs/energylist_p_focusfit.C");
  221. TCanvas c1_mg1_e5;
  222. TGraphErrors * ge5_p = new TGraphErrors("energylist_p_focus1.txt","%lg %lg %lg");
  223. TGraphErrors * ge5_he = new TGraphErrors("energylist_he_focus1.txt","%lg %lg %lg");
  224. TGraphErrors * ge5_c = new TGraphErrors("energylist_c_focus1.txt","%lg %lg %lg");
  225. TGraphErrors * ge5_o = new TGraphErrors("energylist_o_focus1.txt","%lg %lg %lg");
  226. TGraph * ge5_hit = new TGraph("focusHITfile.txt","%lg %lg");
  227. TMultiGraph * mg_e5 = new TMultiGraph();
  228. mg_e5->Add(ge5_p,"p"); ge5_p->SetMarkerStyle(20);
  229. mg_e5->Add(ge5_he,"p"); ge5_he->SetMarkerStyle(21);
  230. mg_e5->Add(ge5_c,"p"); ge5_c->SetMarkerStyle(22);
  231. mg_e5->Add(ge5_o,"p"); ge5_o->SetMarkerStyle(23);
  232. mg_e5->Add(ge5_hit,"p"); ge5_hit->SetMarkerStyle(30);
  233. mg_e5->Draw("a");
  234. mg_e5->SetTitle(" ");
  235. mg_e5->GetXaxis()->SetTitle("S_{ps} / MeV#upointcm^{2}g^{-1}");
  236. mg_e5->GetYaxis()->SetTitle("Beam Width (FWHM) / mm");
  237. mg_e5->SetMinimum(0.0);
  238. mg_e5->SetMaximum(40.);
  239. gPad->SetLogx();
  240. TLegend * mylegend5 = new TLegend(0.60,0.7,0.9,0.9);
  241. mylegend5->SetFillColor(0); // white background
  242. mylegend5->SetTextFont(22);
  243. mylegend5->SetBorderSize(0); // get rid of the box
  244. mylegend5->SetTextSize(0.045); // set text size
  245. mylegend5->AddEntry(ge5_p,"Protons","p"); // options: p,l,f
  246. mylegend5->AddEntry(ge5_he,"Helium","p"); // options: p,l,f
  247. mylegend5->AddEntry(ge5_c,"Carbon","p"); // options: p,l,f
  248. mylegend5->AddEntry(ge5_o,"Oxygen","p"); // options: p,l,f
  249. mylegend5->AddEntry(ge5_hit,"HIT nominal","p"); // options: p,l,f
  250. mylegend5->Draw();
  251. gPad->Modified();
  252. c1_mg1_e5.SaveAs("figs/energylist_p_focus.pdf");
  253. c1_mg1_e5.SaveAs("figs/energylist_p_focus.png");
  254. c1_mg1_e5.SaveAs("figs/energylist_p_focus.C");
  255. TCanvas c1_mg1_e6;
  256. TGraphErrors * ge6_p = new TGraphErrors("energylist_p_skew1.txt","%lg %lg %lg");
  257. TGraphErrors * ge6_he = new TGraphErrors("energylist_he_skew1.txt","%lg %lg %lg");
  258. TGraphErrors * ge6_c = new TGraphErrors("energylist_c_skew1.txt","%lg %lg %lg");
  259. TGraphErrors * ge6_o = new TGraphErrors("energylist_o_skew1.txt","%lg %lg %lg");
  260. TMultiGraph * mg_e6 = new TMultiGraph();
  261. mg_e6->Add(ge6_p,"p"); ge6_p->SetMarkerStyle(20);
  262. mg_e6->Add(ge6_he,"p"); ge6_he->SetMarkerStyle(21);
  263. mg_e6->Add(ge6_c,"p"); ge6_c->SetMarkerStyle(22);
  264. mg_e6->Add(ge6_o,"p"); ge6_o->SetMarkerStyle(23);
  265. mg_e6->Draw("a");
  266. mg_e6->SetTitle(" ");
  267. mg_e6->GetXaxis()->SetTitle("S_{ps} / MeV#upointcm^{2}g^{-1}");
  268. mg_e6->GetYaxis()->SetTitle("Beam Skew");
  269. mg_e6->SetMinimum(0.0);
  270. // mg_e6->SetMaximum(40.);
  271. gPad->SetLogx();
  272. TLegend * mylegend6 = new TLegend(0.60,0.7,0.9,0.9);
  273. mylegend6->SetFillColor(0); // white background
  274. mylegend6->SetTextFont(22);
  275. mylegend6->SetBorderSize(0); // get rid of the box
  276. mylegend6->SetTextSize(0.046); // set text size
  277. mylegend6->AddEntry(ge6_p,"Protons","p"); // options: p,l,f
  278. mylegend6->AddEntry(ge6_he,"Helium","p"); // options: p,l,f
  279. mylegend6->AddEntry(ge6_c,"Carbon","p"); // options: p,l,f
  280. mylegend6->AddEntry(ge6_o,"Oxygen","p"); // options: p,l,f
  281. mylegend6->Draw();
  282. gPad->Modified();
  283. c1_mg1_e6.SaveAs("figs/energylist_p_skew.pdf");
  284. c1_mg1_e6.SaveAs("figs/energylist_p_skew.png");
  285. c1_mg1_e6.SaveAs("figs/energylist_p_skew.C");
  286. TCanvas c1_mg1_e7;
  287. TGraphErrors * ge7_p = new TGraphErrors("energylist_p_kurt1.txt","%lg %lg %lg");
  288. TGraphErrors * ge7_he = new TGraphErrors("energylist_he_kurt1.txt","%lg %lg %lg");
  289. TGraphErrors * ge7_c = new TGraphErrors("energylist_c_kurt1.txt","%lg %lg %lg");
  290. TGraphErrors * ge7_o = new TGraphErrors("energylist_o_kurt1.txt","%lg %lg %lg");
  291. TMultiGraph * mg_e7 = new TMultiGraph();
  292. mg_e7->Add(ge7_p,"p"); ge7_p->SetMarkerStyle(20);
  293. mg_e7->Add(ge7_he,"p"); ge7_he->SetMarkerStyle(21);
  294. mg_e7->Add(ge7_c,"p"); ge7_c->SetMarkerStyle(22);
  295. mg_e7->Add(ge7_o,"p"); ge7_o->SetMarkerStyle(23);
  296. mg_e7->Draw("a");
  297. mg_e7->SetTitle(" ");
  298. mg_e7->GetXaxis()->SetTitle("S_{ps} / MeV#upointcm^{2}g^{-1}");
  299. mg_e7->GetYaxis()->SetTitle("Beam Kurt");
  300. mg_e7->SetMinimum(0.0);
  301. // mg_e7->SetMaximum(40.);
  302. gPad->SetLogx();
  303. TLegend * mylegend7 = new TLegend(0.70,0.7,0.9,0.9);
  304. mylegend7->SetFillColor(0); // white background
  305. mylegend7->SetTextFont(22);
  306. mylegend7->SetBorderSize(0); // get rid of the box
  307. mylegend7->SetTextSize(0.047); // set text size
  308. mylegend7->AddEntry(ge7_p,"Protons","p"); // options: p,l,f
  309. mylegend7->AddEntry(ge7_he,"Helium","p"); // options: p,l,f
  310. mylegend7->AddEntry(ge7_c,"Carbon","p"); // options: p,l,f
  311. mylegend7->AddEntry(ge7_o,"Oxygen","p"); // options: p,l,f
  312. mylegend7->Draw();
  313. gPad->Modified();
  314. c1_mg1_e7.SaveAs("figs/energylist_p_kurt.pdf");
  315. c1_mg1_e7.SaveAs("figs/energylist_p_kurt.png");
  316. c1_mg1_e7.SaveAs("figs/energylist_p_kurt.C");
  317. TCanvas c1_mg1_e8;
  318. TGraph * ge8_p = new TGraph("betadedxz2_p.prn","%lg %lg ");
  319. TGraph * ge8_he = new TGraph("betadedxz2_he.prn","%lg %lg");
  320. TGraph * ge8_c = new TGraph("betadedxz2_c.prn","%lg %lg ");
  321. TGraph * ge8_o = new TGraph("betadedxz2_o.prn","%lg %lg ");
  322. TGraph * ge8_sum = new TGraph("betadedxz2_sum.prn","%lg %lg ");
  323. TMultiGraph * mg_e8 = new TMultiGraph();
  324. mg_e8->Add(ge8_p,"p"); ge8_p->SetMarkerStyle(20);
  325. mg_e8->Add(ge8_he,"p"); ge8_he->SetMarkerStyle(21);
  326. mg_e8->Add(ge8_c,"p"); ge8_c->SetMarkerStyle(22);
  327. mg_e8->Add(ge8_o,"p"); ge8_o->SetMarkerStyle(23);
  328. mg_e8->Add(ge8_sum,"p"); ge8_sum->SetMarkerStyle(1);
  329. mg_e8->Draw("a");
  330. mg_e8->SetTitle(" ");
  331. mg_e8->GetXaxis()->SetTitle("Lorentz #beta");
  332. mg_e8->GetYaxis()->SetTitle("#frac{1}{Z^{2}} #upoint #frac{dE}{dx}");
  333. mg_e8->SetMinimum(0.0);
  334. TF1 * tf1_pow1 = new TF1("tf1_pow1","[0]*pow(x,[1])",0,1);
  335. tf1_pow1->SetParameters(1.6,-1.7);
  336. tf1_pow1->SetLineColor(kRed);
  337. ge8_sum->Fit(tf1_pow1);
  338. // mg_e8->SetMaximum(40.);
  339. // gPad->SetLogx();
  340. TLegend * mylegende8 = new TLegend(0.70,0.7,0.9,0.9);
  341. mylegende8->SetFillColor(0); // white background
  342. mylegende8->SetTextFont(22);
  343. mylegende8->SetBorderSize(0); // get rid of the box
  344. mylegende8->SetTextSize(0.047); // set text size
  345. mylegende8->AddEntry(ge8_p,"Protons","p"); // options: p,l,f
  346. mylegende8->AddEntry(ge8_he,"Helium","p"); // options: p,l,f
  347. mylegende8->AddEntry(ge8_c,"Carbon","p"); // options: p,l,f
  348. mylegende8->AddEntry(ge8_o,"Oxygen","p"); // options: p,l,f
  349. mylegende8->AddEntry(tf1_pow1,"[1]#upointpow(#beta,[2])}","l"); // options: p,l,f
  350. mylegende8->Draw();
  351. gPad->Modified();
  352. c1_mg1_e8.SaveAs("figs/betadedxz2.pdf");
  353. c1_mg1_e8.SaveAs("figs/betadedxz2.png");
  354. c1_mg1_e8.SaveAs("figs/betadedxz2.C");
  355. TCanvas c1_mg1_e9;
  356. TGraph * ge9_p = new TGraph("energylist_p_bpmbeta1.txt","%lg %lg ");
  357. TGraph * ge9_he = new TGraph("energylist_he_bpmbeta1.txt","%lg %lg");
  358. TGraph * ge9_c = new TGraph("energylist_c_bpmbeta1.txt","%lg %lg ");
  359. TGraph * ge9_o = new TGraph("energylist_o_bpmbeta1.txt","%lg %lg ");
  360. TMultiGraph * mg_e9 = new TMultiGraph();
  361. mg_e9->Add(ge9_p,"p"); ge9_p->SetMarkerStyle(20);
  362. mg_e9->Add(ge9_he,"p"); ge9_he->SetMarkerStyle(21);
  363. mg_e9->Add(ge9_c,"p"); ge9_c->SetMarkerStyle(22);
  364. mg_e9->Add(ge9_o,"p"); ge9_o->SetMarkerStyle(23);
  365. // mg_e9->Add(ge9_sum,"p"); ge9_sum->SetMarkerStyle(1);
  366. TF1 * tf1_btvbeta1 = new TF1("tf1_btvbeta1","[0]*( (1- 0.5*(TMath::Log(2*0.511E6*x*x/(1-x*x)/[1] -x*x) )/TMath::Log(2*0.511E6*x*x/(1-x*x)/68.7 -x*x) ) / (1+[2]*(1- 0.5*(TMath::Log(2*0.511E6*x*x/(1-x*x)/[1] -x*x) )/TMath::Log(2*0.511E6*x*x/(1-x*x)/68.7 -x*x) )*1*1.65901*TMath::Power(x,-1.7218))+ (0.5*(TMath::Log(2*0.511E6*x*x/(1-x*x)/[1] -x*x) )/TMath::Log(2*0.511E6*x*x/(1-x*x)/68.7 -x*x) ) )",0,1);
  367. tf1_btvbeta1->SetParameters(1,9.7, 0.05);
  368. mg_e9->Draw("a");
  369. mg_e9->SetTitle(" ");
  370. mg_e9->GetXaxis()->SetTitle("Lorentz #beta");
  371. mg_e9->GetYaxis()->SetTitle("#frac{dA}{dE}");
  372. mg_e9->SetMinimum(0.0);
  373. // mg_e9->SetMaximum(40.);
  374. // gPad->SetLogx();
  375. ge9_p->Fit(tf1_btvbeta1);
  376. TLegend * mylegende9 = new TLegend(0.70,0.7,0.9,0.9);
  377. mylegende9->SetFillColor(0); // white background
  378. mylegende9->SetTextFont(22);
  379. mylegende9->SetBorderSize(0); // get rid of the box
  380. mylegende9->SetTextSize(0.047); // set text size
  381. mylegende9->AddEntry(ge9_p,"Protons","p"); // options: p,l,f
  382. mylegende9->AddEntry(ge9_he,"Helium","p"); // options: p,l,f
  383. mylegende9->AddEntry(ge9_c,"Carbon","p"); // options: p,l,f
  384. mylegende9->AddEntry(ge9_o,"Oxygen","p"); // options: p,l,f
  385. // mylegende9->AddEntry(tf1_pow1,"[1]#upointpow(#beta,[2])}","l"); // options: p,l,f
  386. mylegende9->Draw();
  387. gPad->Modified();
  388. c1_mg1_e9.SaveAs("figs/betadedxz2.pdf");
  389. c1_mg1_e9.SaveAs("figs/betadedxz2.png");
  390. c1_mg1_e9.SaveAs("figs/betadedxz2.C");
  391. }