13 #include <TDirectory.h>
15 #include <TPaveLabel.h>
52 df =
new TFile(
"hd_root.root");
55 TDirectory *
dir = (TDirectory*)gDirectory->FindObjectAny(
"./st_efficiency");
63 SS_can =
new TCanvas(
"SS_can",
"SS_can", 800, 800);
67 char* prd_z_ss = Form(
"h_N_trck_prd_z_ss_%i",i);
68 char* hit_z_ss = Form(
"h_N_recd_hit_z_ss_%i",i);
69 char* eff_z_ss = Form(
"h_N_trck_prd_z_ss_eff_%i",i);
70 char* ACC_z_ss = Form(
"h_N_recd_hit_z_ss_ACC_%i",i);
72 TH1D *hp = (TH1D*) gDirectory->FindObjectAny(prd_z_ss);
73 TH1D *hh = (TH1D*) gDirectory->FindObjectAny(hit_z_ss);
74 TH1D *he = (TH1D*) gDirectory->FindObjectAny(eff_z_ss);
75 TH1D *hA = (TH1D*) gDirectory->FindObjectAny(ACC_z_ss);
82 TH1D * hh_final = (TH1D*) hh->Clone();
83 hh_final->Add(hA,-1.0);
84 he->Divide(hh_final,hp,1.,1.,
"B");
87 gStyle->SetOptStat(0);
93 he->SetMarkerStyle(21);
94 he->SetMarkerSize(1.1);
95 he->SetMarkerColor(4.0);
96 he->SetAxisRange(0.5, 1.0,
"Y");
97 he->GetYaxis()->SetTitleOffset(1.26);
99 for (
int j = 0; j < 30; j++)
101 error_ss[i-1]= he->GetBinError(j+2);
102 sumE_ss[i-1] = sumE_ss[i-1] + error_ss[i-1];
103 BC_ss[i-1] = he->GetBinContent(j+2);
104 WA_ss[i-1] = BC_ss[i-1]*error_ss[i-1];
105 TWA_ss[i-1] = TWA_ss[i-1]+ WA_ss[i-1];
106 Final_ss[i-1]= TWA_ss[i-1]/sumE_ss[i-1];
108 TLine *line =
new TLine(1,Final_ss[i-1],30,Final_ss[i-1]);
109 line->SetLineWidth(3);
110 line->SetLineColor(2);
114 sprintf(tFinal_ss[i-1],
"Straight Section Efficiency = %0.2f #pm %0.2f",Final_ss[i-1]*100,sumE_ss[i-1]*100/30);
117 p[i-1] =
new TPaveLabel(0.2,0.2,0.7,0.4,tFinal_ss[i-1],
"brNDC");
120 memset(error_ss, 0,
sizeof(error_ss));
121 memset(sumE_ss, 0,
sizeof(sumE_ss));
122 memset(BC_ss, 0,
sizeof(BC_ss));
123 memset(WA_ss, 0,
sizeof(WA_ss));
124 memset(TWA_ss, 0,
sizeof(TWA_ss));
125 memset(Final_ss, 0,
sizeof(Final_ss));
132 BS_can =
new TCanvas(
"BS_can",
"BS_can", 800, 800);
133 BS_can->Divide(2, 2);
136 char* prd_z_bs = Form(
"h_N_trck_prd_z_bs_%i",i);
137 char* hit_z_bs = Form(
"h_N_recd_hit_z_bs_%i",i);
138 char* eff_z_bs = Form(
"h_N_trck_prd_z_bs_eff_%i",i);
139 char* ACC_z_bs = Form(
"h_N_recd_hit_z_bs_ACC_%i",i);
141 TH1D *hp_bs = (TH1D*) gDirectory->FindObjectAny(prd_z_bs);
142 TH1D *hh_bs = (TH1D*) gDirectory->FindObjectAny(hit_z_bs);
143 TH1D *he_bs = (TH1D*) gDirectory->FindObjectAny(eff_z_bs);
144 TH1D *hA_bs = (TH1D*) gDirectory->FindObjectAny(ACC_z_bs);
150 TH1D * hh_bs_final = (TH1D*) hh_bs->Clone();
151 hh_bs_final->Add(hA_bs,-1.0);
153 he_bs->Divide(hh_bs_final,hp_bs,1.,1.,
"B");
156 gStyle->SetOptStat(0);
157 gStyle->SetErrorX(0);
162 he_bs->SetMarkerStyle(21);
163 he_bs->SetMarkerSize(1.1);
164 he_bs->SetMarkerColor(4.0);
165 he_bs->SetAxisRange(0.9, 1.0,
"Y");
166 he_bs->GetYaxis()->SetTitleOffset(1.26);
168 for (
int j = 0; j < 30; j++)
170 error_bs[i-1]= he_bs->GetBinError(j+2);
171 sumE_bs[i-1] = sumE_bs[i-1] + error_bs[i-1];
172 BC_bs[i-1] = he_bs->GetBinContent(j+2);
173 WA_bs[i-1] = BC_bs[i-1]*error_bs[i-1];
174 TWA_bs[i-1] = TWA_bs[i-1]+ WA_bs[i-1];
175 Final_bs[i-1]= TWA_bs[i-1]/sumE_bs[i-1];
177 TLine *line =
new TLine(1,Final_bs[i-1],30,Final_bs[i-1]);
178 line->SetLineWidth(3);
179 line->SetLineColor(2);
183 sprintf(tFinal_bs[i-1],
"Bend Section Efficiency = %0.2f #pm %0.2f",Final_bs[i-1]*100,sumE_bs[i-1]*100/30);
186 p[i-1] =
new TPaveLabel(0.2,0.2,0.7,0.4,tFinal_bs[i-1],
"brNDC");
189 memset(error_bs, 0,
sizeof(error_bs));
190 memset(sumE_bs, 0,
sizeof(sumE_bs));
191 memset(BC_bs, 0,
sizeof(BC_bs));
192 memset(WA_bs, 0,
sizeof(WA_bs));
193 memset(TWA_bs, 0,
sizeof(TWA_bs));
194 memset(Final_bs, 0,
sizeof(Final_bs));
200 NS_can =
new TCanvas(
"NS_can",
"NS_can", 800, 800);
201 NS_can->Divide(3, 3);
204 char* prd_z_ns = Form(
"h_N_trck_prd_z_ns_%i",i);
205 char* hit_z_ns = Form(
"h_N_recd_hit_z_ns_%i",i);
206 char* eff_z_ns = Form(
"h_N_trck_prd_z_ns_eff_%i",i);
207 char* ACC_z_ns = Form(
"h_N_recd_hit_z_ns_ACC_%i",i);
209 TH1D *hp_ns = (TH1D*) gDirectory->FindObjectAny(prd_z_ns);
210 TH1D *hh_ns = (TH1D*) gDirectory->FindObjectAny(hit_z_ns);
211 TH1D *he_ns = (TH1D*) gDirectory->FindObjectAny(eff_z_ns);
212 TH1D *hA_ns = (TH1D*) gDirectory->FindObjectAny(ACC_z_ns);
218 TH1D * hh_ns_final = (TH1D*) hh_ns->Clone();
219 hh_ns_final->Add(hA_ns,-1.0);
222 he_ns->Divide(hh_ns_final,hp_ns,1.,1.,
"B");
225 gStyle->SetOptStat(0);
226 gStyle->SetErrorX(0);
231 he_ns->SetMarkerStyle(21);
232 he_ns->SetMarkerSize(1.1);
233 he_ns->SetMarkerColor(4.0);
234 he_ns->SetAxisRange(0.9, 1.0,
"Y");
235 he_ns->GetYaxis()->SetTitleOffset(1.26);
237 for (
int j = 0; j < 30; j++)
239 error_ns[i-1]= he_ns->GetBinError(j+2);
240 sumE_ns[i-1] = sumE_ns[i-1] + error_ns[i-1];
241 BC_ns[i-1] = he_ns->GetBinContent(j+2);
242 WA_ns[i-1] = BC_ns[i-1]*error_ns[i-1];
243 TWA_ns[i-1] = TWA_ns[i-1]+ WA_ns[i-1];
244 Final_ns[i-1]= TWA_ns[i-1]/sumE_ns[i-1];
246 TLine *line =
new TLine(1,Final_ns[i-1],30,Final_ns[i-1]);
247 line->SetLineWidth(3);
248 line->SetLineColor(2);
252 sprintf(tFinal_ns[i-1],
"Nose Section Efficiency = %0.2f #pm %0.2f",Final_ns[i-1]*100,sumE_ns[i-1]*100/30);
255 p[i-1] =
new TPaveLabel(0.2,0.2,0.7,0.4,tFinal_ns[i-1],
"brNDC");
258 memset(error_ns, 0,
sizeof(error_ns));
259 memset(sumE_ns, 0,
sizeof(sumE_ns));
260 memset(BC_ns, 0,
sizeof(BC_ns));
261 memset(WA_ns, 0,
sizeof(WA_ns));
262 memset(TWA_ns, 0,
sizeof(TWA_ns));
263 memset(Final_ns, 0,
sizeof(Final_ns));
const uint32_t Nof_ss_intervals
sprintf(text,"Post KinFit Cut")
const uint32_t Nof_ns_intervals
const uint32_t Nof_bs_intervals