00001 void doBemcScaleRatio(char *f_100,char *f_104,char *f_96){
00002
00003 gStyle->SetErrorX(0);
00004
00005 TFile *f_nom=new TFile(f_100,"OPEN");
00006 TH1F *h_effHT2=f_nom->Get("h_effHT2");
00007 TH1F *h_effDHT2=f_nom->Get("h_effDaughtersHT2");
00008 h_effHT2->Divide(h_effDHT2);
00009
00010 TFile *f_plus=new TFile(f_104,"OPEN");
00011 TH1F *h_effHT2_plus=f_plus->Get("h_effHT2");
00012 TH1F *h_effDHT2_plus=f_plus->Get("h_effDaughtersHT2");
00013 h_effHT2_plus->Divide(h_effDHT2_plus);
00014
00015 TFile *f_min=new TFile(f_96,"OPEN");
00016 TH1F *h_effHT2_min=f_min->Get("h_effHT2");
00017 TH1F *h_effDHT2_min=f_min->Get("h_effDaughtersHT2");
00018 h_effHT2_min->Divide(h_effDHT2_min);
00019
00020
00021 h_effHT2_plus->Divide(h_effHT2);
00022 h_effHT2_min->Divide(h_effHT2);
00023
00024
00025 TF1 *sub=new TF1("sub","1.",0.,20.);
00026 h_effHT2_plus->Add(sub,-1.);
00027 h_effHT2_min->Add(sub,-1.);
00028
00029 TGraphErrors *gHT2_plus=new TGraphErrors(h_effHT2_plus);
00030 gHT2_plus->SetName("gHT2_plus");
00031 TGraphErrors *gHT2_min=new TGraphErrors(h_effHT2_min);
00032 gHT2_min->SetName("gHT2_min");
00033
00034 TCanvas *c=new TCanvas("c","c",400,250);
00035 TMultiGraph *m=new TMultiGraph();
00036 TMultiGraph *mm=new TMultiGraph();
00037
00038 gHT2_plus->SetLineColor(2);
00039 gHT2_min->SetLineColor(2);
00040
00041 gHT2_plus->RemovePoint(0);
00042 gHT2_plus->RemovePoint(0);
00043 gHT2_plus->RemovePoint(0);
00044 gHT2_plus->RemovePoint(0);
00045 gHT2_plus->RemovePoint(0);
00046 gHT2_plus->RemovePoint(0);
00047
00048 gHT2_min->RemovePoint(0);
00049 gHT2_min->RemovePoint(0);
00050 gHT2_min->RemovePoint(0);
00051 gHT2_min->RemovePoint(0);
00052 gHT2_min->RemovePoint(0);
00053 gHT2_min->RemovePoint(0);
00054
00055 TF1 *fit=new TF1("fit","[0]",10.,15.);
00056
00057 TF1 *fit2=new TF1("fit2","[0]",10.,15.);
00058
00059
00060
00061
00062 m->Add(gHT2_plus);
00063 m->Fit(fit,"R0");
00064
00065 mm->Add(gHT2_min);
00066 mm->Fit(fit2,"R0");
00067
00068 m->Add(gHT2_min);
00069
00070 m->SetMinimum(-1.);
00071 m->SetMaximum(1.);
00072
00073 m->Draw("ap");
00074 fit->Draw("same");
00075 fit2->Draw("same");
00076
00077 TLegend *leg=new TLegend(0.5,0.5,0.7,0.7);
00078 leg->AddEntry(gHT2_plus,"E scale +4%","p");
00079 leg->AddEntry(gHT2_min,"E scale -4%","p");
00080 leg->Draw();
00081
00082 c->SaveAs("bemc_escale_ratio_pp.eps");
00083 c->SaveAs("bemc_escale_ratio_pp.root");
00084
00085 }