00001 eff(){
00002 c1=new TCanvas("yieldvspt","mass",500,500);
00003 c1->Divide(1,1);
00004 c2=new TCanvas("yieldvse","msass",500,500);
00005 c2->Divide(1,1);
00006 c3=new TCanvas("mass","msass",500,500);
00007 c3->Divide(1,1);
00008
00009 f=new TFile("test.root");
00010
00011 h0=(TH1F*) gPt->Clone();
00012 h1=(TH1F*) McPt->Clone();
00013 h2=(TH1F*) gEnergy->Clone();
00014 h3=(TH1F*) McEnergy->Clone();
00015 h1->Clear();
00016 h1->SetTitle("efficiency vs pt");
00017 h3->Clear();
00018 h3->SetTitle("efficiency vs energy");
00019 int nb1=h1->GetNbinsX();
00020
00021 int nb2=h3->GetNbinsX();
00022 int i;
00023 for(i=1;i<=nb1;i++)
00024 {
00025 float n0=h0->GetBinContent(i);
00026 float n1=h1->GetBinContent(i);
00027
00028 float eff,error;
00029 if(n0==0)
00030 {
00031 eff=0;
00032 error=0;
00033 }
00034 else
00035 {
00036 eff=n1/n0;
00037 error=sqrt(n1*(n0-n1)/pow(n0,3));
00038 }
00039
00040 h1->SetBinContent(i,eff);
00041 h1->SetBinError(i,error);
00042 }
00043 for(i=1;i<=nb2;i++)
00044 {
00045 float n2=h2->GetBinContent(i);
00046 float n3=h3->GetBinContent(i);
00047
00048 float eff,error;
00049 if(n2==0)
00050 {
00051 eff=0;
00052 error=0;
00053 }
00054 else
00055 {
00056 eff=n3/n2;
00057 error=sqrt(n3*(n2-n3)/pow(n2,3));
00058 }
00059
00060 h3->SetBinContent(i,eff);
00061 h3->SetBinError(i,error);
00062 }
00063
00064 c1->cd(1);
00065 h1->SetStats(kFALSE);
00066 h1->Draw();
00067 h1->Fit("pol0","R","",7.5,15.0);
00068 h1->SetLineColor(4);
00069 c1->Print("yieldvspt.gif");
00070 c2->cd(1);
00071 h3->SetStats(kFALSE);
00072 h3->Draw();
00073 h3->Fit("pol0","R","",15.0,35.0);
00074 h3->SetLineColor(4);
00075 c2->Print("yieldvse.gif");
00076
00077
00078 c3->cd(1);
00079 hMassAny->Draw();
00080
00081 hMassAny->SetLineColor(4);
00082 c3->Print("mass.gif");
00083
00084
00085
00086 }