StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
eff.C
1 eff(){
2  c1=new TCanvas("yieldvspt","mass",500,500);
3  c1->Divide(1,1);
4  c2=new TCanvas("yieldvse","msass",500,500);
5  c2->Divide(1,1);
6  c3=new TCanvas("mass","msass",500,500);
7  c3->Divide(1,1);
8 
9  f=new TFile("test.root");
10  //gFile->cd("pions");
11  h0=(TH1F*) gPt->Clone();
12  h1=(TH1F*) McPt->Clone();
13  h2=(TH1F*) gEnergy->Clone();
14  h3=(TH1F*) McEnergy->Clone();
15  h1->Clear();
16  h1->SetTitle("efficiency vs pt");
17  h3->Clear();
18  h3->SetTitle("efficiency vs energy");
19  int nb1=h1->GetNbinsX();
20  //printf("nb1=%d\n",nb1);
21  int nb2=h3->GetNbinsX();
22  int i;
23  for(i=1;i<=nb1;i++)
24  {
25  float n0=h0->GetBinContent(i);
26  float n1=h1->GetBinContent(i);
27  //printf("n0=%f\n",n0);
28  float eff,error;
29  if(n0==0)
30  {
31  eff=0;
32  error=0;
33  }
34  else
35  {
36  eff=n1/n0;
37  error=sqrt(n1*(n0-n1)/pow(n0,3));
38  }
39 
40  h1->SetBinContent(i,eff);
41  h1->SetBinError(i,error);
42  }
43  for(i=1;i<=nb2;i++)
44  {
45  float n2=h2->GetBinContent(i);
46  float n3=h3->GetBinContent(i);
47  //printf("n2=%f\n",n2);
48  float eff,error;
49  if(n2==0)
50  {
51  eff=0;
52  error=0;
53  }
54  else
55  {
56  eff=n3/n2;
57  error=sqrt(n3*(n2-n3)/pow(n2,3));
58  }
59 
60  h3->SetBinContent(i,eff);
61  h3->SetBinError(i,error);
62  }
63 
64  c1->cd(1);
65  h1->SetStats(kFALSE);
66  h1->Draw();
67  h1->Fit("pol0","R","",7.5,15.0);
68  h1->SetLineColor(4);
69  c1->Print("yieldvspt.gif");
70  c2->cd(1);
71  h3->SetStats(kFALSE);
72  h3->Draw();
73  h3->Fit("pol0","R","",15.0,35.0);
74  h3->SetLineColor(4);
75  c2->Print("yieldvse.gif");
76  //THStack *hs=new THStack("hs","stacked histogram");
77 
78  c3->cd(1);
79  hMassAny->Draw();
80  //hMassAny->Fit("gaus","R","",0.08,0.18);
81  hMassAny->SetLineColor(4);
82  c3->Print("mass.gif");
83 
84 
85 
86 }