FairRoot/PandaRoot
overall_perf.C
Go to the documentation of this file.
1 // *** MASS cut only
2 // 2.40 3.77 4.50 5.50
3 // ---------------------------------------------
4 // e^+e^- | 79.41 80.28 80.43 80.88
5 // \phi | 88.32 91.16 92.08 91.81
6 // \eta_c | - 87.41 89.24 89.14
7 // J/\psi(1) | - 79.88 80.55 80.84
8 // J/\psi(2) | - 81.49 82.01 82.78
9 // D^0 | - 85.16 87.36 87.04
10 // D^\pm | - 81.87 85.55 85.54
11 // D_s | - - 89.13 90.38
12 // \Lambda | 91.12 91.12 90.87 91.05
13 // \Lambda_c | - - - 89.06
14 // DPM | 3.46 11.70 15.27 21.93
15 //
16 
17 // *** intermediate solution
18 // 2.40 3.77 4.50 5.50
19 // ---------------------------------------------
20 // e^+e^- | 79.41 80.27 78.92 79.24
21 // \phi | 71.31 79.88 73.34 84.64
22 // \eta_c | - 43.07 41.60 52.76
23 // J/\psi(1) | - 79.22 78.20 77.71
24 // J/\psi(2) | - 80.94 79.92 79.91
25 // D^0 | - 50.52 38.94 55.53
26 // D^\pm | - 29.65 28.90 46.91
27 // D_s | - - 41.90 54.91
28 // \Lambda | 45.98 67.65 76.23 72.77
29 // \Lambda_c | - - - 39.52
30 // DPM | 0.10 0.16 0.18 0.12
31 
32 // *** FACTOR 1000
33 // 2.40 3.77 4.50 5.50
34 // ---------------------------------------------
35 // e^+e^- | 79.41 80.27 78.92 79.24
36 // \phi | 71.31 79.81 73.32 84.64
37 // \eta_c | - 29.33 39.63 52.70
38 // J/\psi(ee) | - 79.22 78.15 77.71
39 // J/\psi(\mu\mu) | - 80.94 79.86 79.91
40 // D^0 | - 45.08 21.55 55.50
41 // D^\pm | - 15.59 17.58 46.86
42 // D_s | - - 24.30 54.83
43 // \Lambda | 45.98 67.65 76.23 72.77
44 // \Lambda_c | - - - 36.13
45 // DPM | 0.10 0.09 0.09 0.09
46 
47 
48 // *** High EFFICIENCY >90% after combinatorics
49 // 2.40 3.77 4.50 5.50
50 // ---------------------------------------------
51 // e^+e^- | 79.41 80.27 78.92 79.24
52 // \phi | 80.84 86.55 83.84 85.83
53 // \eta_c | - 69.03 77.04 71.28
54 // J/\psi(ee) | - 79.17 78.28 77.87
55 // J/\psi(\mu\mu) | - 80.90 79.97 80.02
56 // D^0 | - 76.64 79.19 78.52
57 // D^\pm | - 71.74 76.10 73.67
58 // D_s | - - 74.75 74.42
59 // \Lambda | 84.72 83.03 83.77 81.75
60 // \Lambda_c | - - - 72.39
61 // DPM | 0.08 0.80 1.49 1.11
62 //
63 
64 int cols[10] = {1,2,4,6,kOrange+5,9,kGreen+2, kBlue+3,kCyan-2,kMagenta+2};
65 
66 // *** setup style
67 void setStyle()
68 {
69  gStyle->SetPadTopMargin(0.10);
70  gStyle->SetPadBottomMargin(0.16);
71  gStyle->SetPadLeftMargin(0.12);
72  gStyle->SetPadRightMargin(0.05);
73 
74  gStyle->SetLabelSize(0.05,"X");
75  gStyle->SetLabelSize(0.05,"Y");
76 
77  gStyle->SetTitleH(0.07);
78  gStyle->SetTitleX(0.08);
79  gStyle->SetTitleOffset(1.3,"x");
80  gStyle->SetTitleXSize(0.055);
81 }
82 void renorm(double* a, int n=4)
83 {
84  for (int i=0;i<n;++i) a[i]/=100.;
85 }
86 
87 void config_graph(TGraph *g, int m=20, TString name="")
88 {
89  g->SetMarkerStyle(m);
90  g->SetMarkerColor(1);
91  g->SetMarkerSize(1.2);
92  g->SetLineWidth(2);
93  g->SetLineColor(cols[m-20]);
94  g->SetMarkerColor(cols[m-20]);
95  g->SetName(name);
96 }
97 
99 {
100  setStyle();
101 
102  TCanvas *c1=new TCanvas("c1","c1",10,10,700,500);
103  TCanvas *c2=new TCanvas("c2","c2",900,10,700,500);
104  TCanvas *c3=new TCanvas("c3","c3",900,500,700,500);
105 
106  TH1F *h=new TH1F("h","Background fraction",100,2.0, 6.0);
107  h->SetMaximum(0.3);
108  h->SetMinimum(0);
109  h->SetStats(0);
110  h->SetXTitle("#sqrt{s} [GeV]");
111 
112  TH1F *h2=new TH1F("h","Efficiency - mass cut only",100,2.0, 6.0);
113  h2->SetMaximum(1);
114  h2->SetMinimum(0.65);
115  h2->SetStats(0);
116  h2->SetXTitle("#sqrt{s} [GeV]");
117 
118  TH1F *h3=new TH1F("h","Efficiency - all cuts (high suppression)",100,2.0, 6.0);
119  h3->SetMaximum(1);
120  h3->SetMinimum(0.0);
121  h3->SetStats(0);
122  h3->SetXTitle("#sqrt{s} [GeV]");
123 
124  double E[4]={2.4, 3.77, 4.5, 5.5};
125  double E2[3]={ 3.77, 4.5, 5.5};
126  double E3[2]={4.5, 5.5};
127  double E4[1]={ 5.5};
128 
129  // ****
130  // *** Combinatorics and mass cut only
131  // ****
132  double ee1[4] = {79.41 , 80.28 , 80.43, 80.88};
133  double phi1[4] = {88.32 , 91.16 , 92.08 , 91.81 };
134  double etac1[3] = { 87.41 , 89.24 , 89.14 };
135  double j11[3] = { 79.88 , 80.55 , 80.84};
136  double j21[3] = { 81.49 , 82.01 , 82.78};
137  double d01[3] = {85.16 , 87.36 , 87.04 };
138  double d1[3] = {81.87 , 85.55 , 85.54 };
139  double ds1[2] = {89.13 , 90.38 };
140  double lam1[4] = {91.12 , 91.12 , 90.87 , 91.05 };
141  double lamc1[1] = { 89.06 };
142  double dpm1[4] = {3.46 , 11.70 , 15.27 , 21.93};
143 
144  // ****
145  // *** values for forced factor 1000 suppression
146  // ****
147  double ee2[4] = {79.41 , 80.27 , 78.92 , 79.24};
148  double phi2[4] = {71.31 , 79.81 , 73.32 , 84.64 };
149  double etac2[3] = { 29.33 , 39.63 , 52.70 };
150  double j12[3] = {79.22 , 78.15 , 77.71 };
151  double j22[3] = {80.94 , 79.86 , 79.91 };
152  double d02[3] = {45.08 , 21.55 , 55.50 };
153  double d2[3] = { 15.59 , 17.58 , 46.86};
154  double ds2[2] = {24.30 , 54.83 };
155  double lam2[4] = {45.98 , 67.65 , 76.23 , 72.77 };
156  double lamc2[1] = {36.13 };
157  double dpm2[4] = {0.10 , 0.09 , 0.09 , 0.09};
158 
159 // 2.40 3.77 4.50 5.50
160 // ---------------------------------------------
161 // e^+e^- | 79.41 80.27 78.92 79.24
162 // \phi | 80.84 86.55 83.84 85.83
163 // \eta_c | - 69.03 77.04 71.28
164 // J/\psi(ee) | - 79.17 78.28 77.87
165 // J/\psi(\mu\mu) | - 80.90 79.97 80.02
166 // D^0 | - 76.64 79.19 78.52
167 // D^\pm | - 71.74 76.10 73.67
168 // D_s | - - 74.75 74.42
169 // \Lambda | 84.72 83.03 83.77 81.75
170 // \Lambda_c | - - - 72.39
171 // DPM | 0.08 0.80 1.49 1.11
172 
173  // ****
174  //*** Values with high efficiency
175  // ****
176 /* double ee2[4] = {79.41 , 80.27 , 78.92 , 79.24};
177  double phi2[4] = { 80.84 , 86.55 , 83.84 , 85.83};
178  double etac2[3] = { 69.03 , 77.04 , 71.28 };
179  double j12[3] = { 79.17 , 78.28 , 77.87 };
180  double j22[3] = {80.90 , 79.97 , 80.02};
181  double d02[3] = {76.64 , 79.19 , 78.52};
182  double d2[3] = {71.74 , 76.10 , 73.67 };
183  double ds2[2] = { 74.75 , 74.42};
184  double lam2[4] = { 84.72 , 83.03 , 83.77 , 81.75 };
185  double lamc2[1] = { 72.39};
186  double dpm2[4] = { 0.08 , 0.80 , 1.49 , 1.11};*/
187 
188  renorm(dpm1);renorm(dpm2);renorm(ee1);renorm(ee2);
189  renorm(phi1);renorm(phi2);renorm(etac1,3);renorm(etac2,3);
190  renorm(j11,3);renorm(j12,3);renorm(j21,3);renorm(j22,3);
191  renorm(d01,3);renorm(d02,3);renorm(d1,3);renorm(d2,3);
192  renorm(ds1,2);renorm(ds2,2);renorm(lam1);renorm(lam2);
193  renorm(lamc1,1);renorm(lamc2,1);
194 
195  TGraph *gdpm1=new TGraph(4,E,dpm1);
196  TGraph *gdpm2=new TGraph(4,E,dpm2);
197 
198  TGraph *gee1=new TGraph(4,E,ee1);
199  TGraph *gee2=new TGraph(4,E,ee2);
200 
201  TGraph *gphi1=new TGraph(4,E,phi1);
202  TGraph *gphi2=new TGraph(4,E,phi2);
203 
204  TGraph *get1=new TGraph(3,E2,etac1);
205  TGraph *get2=new TGraph(3,E2,etac2);
206 
207  TGraph *gj11=new TGraph(3,E2,j11);
208  TGraph *gj12=new TGraph(3,E2,j12);
209 
210  TGraph *gj21=new TGraph(3,E2,j21);
211  TGraph *gj22=new TGraph(3,E2,j22);
212 
213  TGraph *gd01=new TGraph(3,E2,d01);
214  TGraph *gd02=new TGraph(3,E2,d02);
215 
216  TGraph *gd1=new TGraph(3,E2,d1);
217  TGraph *gd2=new TGraph(3,E2,d2);
218 
219  TGraph *gds1=new TGraph(2,E3,ds1);
220  TGraph *gds2=new TGraph(2,E3,ds2);
221 
222  TGraph *glam1=new TGraph(4,E,lam1);
223  TGraph *glam2=new TGraph(4,E,lam2);
224 
225  TGraph *glc1=new TGraph(1,E4,lamc1);
226  TGraph *glc2=new TGraph(1,E4,lamc2);
227 
228 
229  config_graph(gdpm1,20, "gdpm1");config_graph(gdpm2,21, "gdpm2");
230  config_graph(gee1,20, "gee1");config_graph(gee2,20, "gee2");
231  config_graph(gphi1,21, "gphi1");config_graph(gphi2,21, "gphi2");
232  config_graph(gj11,22 , "gj11");config_graph(gj12,22, "gj12");
233  config_graph(gj21,23, "gj21");config_graph(gj22,23, "gj22");
234  config_graph(get1,24, "get1");config_graph(get2,24, "get2");
235  config_graph(gd01,25, "gd01");config_graph(gd02,25, "gd02");
236  config_graph(gd1,26, "gd1");config_graph(gd2,26, "gd2");
237  config_graph(gds1,27, "gds1");config_graph(gds2,27, "gds2");
238  config_graph(glam1,28, "glam1");config_graph(glam2,28, "glam2");
239  config_graph(glc1,29, "glc1");config_graph(glc2,29, "glc2");
240 
241  glc1->SetMarkerSize(2);glc2->SetMarkerSize(2);
242 
243  (c1->cd())->SetLogy(0);
244  gPad->SetGridx();
245  gPad->SetGridy();
246 
247  h->Draw();
248  gdpm1->Draw("LP same");
249  //gdpm2->Draw("LP same");
250  //TLegend *leg1 = new TLegend(0.12,0.75,0.58,0.9);
251  TLegend *leg1 = new TLegend(0.12,0.83,0.58,0.9);
252  leg1->AddEntry("gdpm1","mass cut only","lp");
253  //leg1->AddEntry("gdpm2","all cuts (high suppression)","lp");
254  leg1->Draw();
255 
256  c1->SaveAs("fig/Background_sum.gif");
257  c1->SaveAs("fig/Background_sum.pdf");
258 
259 
260  c2->cd();
261  gPad->SetGridx();
262  gPad->SetGridy();
263  h2->Draw();
264  gee1->Draw("LP same");
265  gphi1->Draw("LP same");
266  get1->Draw("LP same");
267  gj11->Draw("LP same");
268  gj21->Draw("LP same");
269  gd01->Draw("LP same");
270  gd1->Draw("LP same");
271  gds1->Draw("LP same");
272  glam1->Draw("LP same");
273  glc1->Draw("LP same");
274 // TLegend *leg2 = new TLegend(0.12,0.68,0.5,0.9);
275  TLegend *leg2 = new TLegend(0.12,0.16,0.5,0.40);
276  leg2->SetNColumns(3);
277  leg2->AddEntry("glam1","#Lambda","lp");
278  leg2->AddEntry("glc1","#Lambda_{c}","lp");
279  leg2->AddEntry("gphi1","#phi","lp");
280  leg2->AddEntry("gj11","J/#psi(2e)","lp");
281  leg2->AddEntry("gj21","J/#psi(2#mu)","lp");
282  leg2->AddEntry("get1","#eta_{c}","lp");
283  leg2->AddEntry("gd01","D^{0}","lp");
284  leg2->AddEntry("gd1","D^{#pm}","lp");
285  leg2->AddEntry("gds1","D_{s}","lp");
286  leg2->AddEntry("gee1","e+e-","lp");
287  leg2->Draw();
288  c2->SaveAs("fig/Efficiency_sum_mass_only.gif");
289  c2->SaveAs("fig/Efficiency_sum_mass_only.pdf");
290 
291  c3->cd();
292  gPad->SetGridx();
293  gPad->SetGridy();
294  h3->Draw();
295  gee2->Draw("LP same");
296  gphi2->Draw("LP same");
297  get2->Draw("LP same");
298  gj12->Draw("LP same");
299  gj22->Draw("LP same");
300  gd02->Draw("LP same");
301  gd2->Draw("LP same");
302  gds2->Draw("LP same");
303  glam2->Draw("LP same");
304  glc2->Draw("LP same");
305 
306  TLegend *leg3 = new TLegend(0.12,0.16,0.45,0.45);
307  leg3->SetNColumns(2);
308 /* TLegend *leg3 = new TLegend(0.12,0.66,0.5,0.9);
309  leg3->SetNColumns(3);*/
310  leg3->AddEntry("glam2","#Lambda","lp");
311  leg3->AddEntry("glc2","#Lambda_{c}","lp");
312  leg3->AddEntry("gphi2","#phi","lp");
313  leg3->AddEntry("gj12","J/#psi(2e)","lp");
314  leg3->AddEntry("gj22","J/#psi(2#mu)","lp");
315  leg3->AddEntry("get2","#eta_{c}","lp");
316  leg3->AddEntry("gd02","D^{0}","lp");
317  leg3->AddEntry("gd2","D^{#pm}","lp");
318  leg3->AddEntry("gds2","D_{s}","lp");
319  leg3->AddEntry("gee2","e+e-","lp");
320  leg3->Draw();
321  c3->SaveAs("fig/Efficiency_sum_opt_fac1000.gif");
322  c3->SaveAs("fig/Efficiency_sum_opt_fac1000.pdf");
323  return 0;
324 }
325 
326 
327 
328 
329 
330 
331 
gPad SetLogy()
Int_t i
Definition: run_full.C:25
__m128 m
Definition: P4_F32vec4.h:28
int n
TFile * g
int overall_perf()
Definition: overall_perf.C:98
c2
Definition: plot_dirc.C:39
int cols[10]
Definition: overall_perf.C:64
void renorm(double *a, int n=4)
Definition: overall_perf.C:82
Int_t a
Definition: anaLmdDigi.C:126
c1
Definition: plot_dirc.C:35
TH1F * h3
TString name
c3
Definition: plot_dirc.C:50
void config_graph(TGraph *g, int m=20, TString name="")
Definition: overall_perf.C:87
void setStyle()
Definition: overall_perf.C:67