Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HistMacro_BCALReconstruction_p3.C
Go to the documentation of this file.
1 // hnamepath: /Independent/Hist_DetectorPID/BCAL/BetaVsP_q-
2 // hnamepath: /Independent/Hist_DetectorPID/BCAL/BetaVsP_q0
3 // hnamepath: /Independent/Hist_DetectorPID/BCAL/BetaVsP_q+
4 // hnamepath: /Independent/Hist_DetectorPID/BCAL/EOverPVsP_q-
5 // hnamepath: /Independent/Hist_DetectorPID/BCAL/EOverPVsP_q+
6 
7 {
8  //Goto Path
9  TDirectory *locDirectory = (TDirectory*)gDirectory->FindObjectAny("Hist_DetectorPID");
10  if(!locDirectory)
11  return;
12  locDirectory->cd();
13 
14  //Get Histograms
15  gDirectory->cd("BCAL");
16  TH2I* locHist_BetaVsP_QMinus = (TH2I*)gDirectory->Get("BetaVsP_q-"); //q-
17  TH2I* locHist_BetaVsP_QZero = (TH2I*)gDirectory->Get("BetaVsP_q0"); //q0
18  TH2I* locHist_BetaVsP_QPlus = (TH2I*)gDirectory->Get("BetaVsP_q+"); //q+
19  TH2I* locHist_EOverPVsP_QPlus = (TH2I*)gDirectory->Get("EOverPVsP_q+"); //q+
20  TH2I* locHist_EOverPVsP_QMinus = (TH2I*)gDirectory->Get("EOverPVsP_q-"); //q-
21 
22  //Beta-vs-p functions
23  TF1* locBetaVsPFunc_Proton = new TF1("BetaVsPFunc_Proton", "x/sqrt(x*x + [0]*[0])", 0.0, 12.0);
24  locBetaVsPFunc_Proton->SetParameter(0, 0.938272046);
25  locBetaVsPFunc_Proton->SetLineWidth(2);
26  locBetaVsPFunc_Proton->SetLineColor(kBlack);
27  locBetaVsPFunc_Proton->SetNpx(1000);
28 
29  TF1* locBetaVsPFunc_Kaon = new TF1("BetaVsPFunc_Kaon", "x/sqrt(x*x + [0]*[0])", 0.0, 12.0);
30  locBetaVsPFunc_Kaon->SetParameter(0, 0.493677);
31  locBetaVsPFunc_Kaon->SetLineWidth(2);
32  locBetaVsPFunc_Kaon->SetLineColor(kBlack);
33  locBetaVsPFunc_Kaon->SetNpx(1000);
34 
35  TF1* locBetaVsPFunc_Pion = new TF1("BetaVsPFunc_Pion", "x/sqrt(x*x + [0]*[0])", 0.0, 12.0);
36  locBetaVsPFunc_Pion->SetParameter(0, 0.13957018);
37  locBetaVsPFunc_Pion->SetLineWidth(2);
38  locBetaVsPFunc_Pion->SetLineColor(kBlack);
39  locBetaVsPFunc_Pion->SetNpx(1000);
40 
41  //Get/Make Canvas
42  TCanvas *locCanvas = NULL;
43  if(TVirtualPad::Pad() == NULL)
44  locCanvas = new TCanvas("BCALReconstruction_p3", "BCALReconstruction_p3", 1200, 800); //for testing
45  else
46  locCanvas = gPad->GetCanvas();
47  locCanvas->Divide(3, 2);
48 
49  //Draw
50  locCanvas->cd(1);
51  gPad->SetTicks();
52  gPad->SetGrid();
53  if(locHist_BetaVsP_QMinus != NULL)
54  {
55  locHist_BetaVsP_QMinus->GetXaxis()->SetRangeUser(0.0, 2.0);
56  locHist_BetaVsP_QMinus->GetXaxis()->SetTitleSize(0.05);
57  locHist_BetaVsP_QMinus->GetYaxis()->SetTitleSize(0.05);
58  locHist_BetaVsP_QMinus->GetXaxis()->SetLabelSize(0.05);
59  locHist_BetaVsP_QMinus->GetYaxis()->SetLabelSize(0.05);
60  locHist_BetaVsP_QMinus->GetListOfFunctions()->Add(locBetaVsPFunc_Pion);
61  locHist_BetaVsP_QMinus->GetListOfFunctions()->Add(locBetaVsPFunc_Kaon);
62  locHist_BetaVsP_QMinus->Draw("COLZ");
63  }
64 
65  locCanvas->cd(2);
66  gPad->SetTicks();
67  gPad->SetGrid();
68  if(locHist_BetaVsP_QZero != NULL)
69  {
70  locHist_BetaVsP_QZero->GetXaxis()->SetRangeUser(0.0, 2.0);
71  locHist_BetaVsP_QZero->GetXaxis()->SetTitleSize(0.05);
72  locHist_BetaVsP_QZero->GetYaxis()->SetTitleSize(0.05);
73  locHist_BetaVsP_QZero->GetXaxis()->SetLabelSize(0.05);
74  locHist_BetaVsP_QZero->GetYaxis()->SetLabelSize(0.05);
75  locHist_BetaVsP_QZero->Draw("COLZ");
76  }
77 
78  locCanvas->cd(3);
79  gPad->SetTicks();
80  gPad->SetGrid();
81  if(locHist_BetaVsP_QPlus != NULL)
82  {
83  locHist_BetaVsP_QPlus->GetXaxis()->SetRangeUser(0.0, 2.0);
84  locHist_BetaVsP_QPlus->GetXaxis()->SetTitleSize(0.05);
85  locHist_BetaVsP_QPlus->GetYaxis()->SetTitleSize(0.05);
86  locHist_BetaVsP_QPlus->GetXaxis()->SetLabelSize(0.05);
87  locHist_BetaVsP_QPlus->GetYaxis()->SetLabelSize(0.05);
88  locHist_BetaVsP_QPlus->GetListOfFunctions()->Add(locBetaVsPFunc_Proton);
89  locHist_BetaVsP_QPlus->GetListOfFunctions()->Add(locBetaVsPFunc_Kaon);
90  locHist_BetaVsP_QPlus->GetListOfFunctions()->Add(locBetaVsPFunc_Pion);
91  locHist_BetaVsP_QPlus->Draw("COLZ");
92  }
93 
94  locCanvas->cd(4);
95  gPad->SetTicks();
96  gPad->SetGrid();
97  if(locHist_EOverPVsP_QPlus != NULL)
98  {
99  locHist_EOverPVsP_QPlus->GetXaxis()->SetRangeUser(0.0, 2.0);
100  locHist_EOverPVsP_QPlus->GetXaxis()->SetTitleSize(0.05);
101  locHist_EOverPVsP_QPlus->GetYaxis()->SetTitleSize(0.05);
102  locHist_EOverPVsP_QPlus->GetXaxis()->SetLabelSize(0.05);
103  locHist_EOverPVsP_QPlus->GetYaxis()->SetLabelSize(0.05);
104  locHist_EOverPVsP_QPlus->Draw("COLZ");
105  }
106 
107  locCanvas->cd(5);
108  gPad->SetTicks();
109  gPad->SetGrid();
110  if(locHist_EOverPVsP_QMinus != NULL)
111  {
112  locHist_EOverPVsP_QMinus->GetXaxis()->SetRangeUser(0.0, 2.0);
113  locHist_EOverPVsP_QMinus->GetXaxis()->SetTitleSize(0.05);
114  locHist_EOverPVsP_QMinus->GetYaxis()->SetTitleSize(0.05);
115  locHist_EOverPVsP_QMinus->GetXaxis()->SetLabelSize(0.05);
116  locHist_EOverPVsP_QMinus->GetYaxis()->SetLabelSize(0.05);
117  locHist_EOverPVsP_QMinus->Draw("COLZ");
118  }
119 }
120 
TH2I * locHist_BetaVsP_QPlus
TH2I * locHist_BetaVsP_QZero
TF1 * locBetaVsPFunc_Kaon
TDirectory * locDirectory
TH2I * locHist_EOverPVsP_QPlus
TH2I * locHist_BetaVsP_QMinus
TF1 * locBetaVsPFunc_Proton
TH2I * locHist_EOverPVsP_QMinus
TCanvas * locCanvas
TF1 * locBetaVsPFunc_Pion