00001 void doBemcScale(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_effMB=f_nom->Get("h_effMB");
00007 TH1F *h_effHT1=f_nom->Get("h_effHT1");
00008 TH1F *h_effHT2=f_nom->Get("h_effHT2");
00009
00010 TFile *f_plus=new TFile(f_104,"OPEN");
00011 TH1F *h_effMB_plus=f_plus->Get("h_effMB");
00012 TH1F *h_effHT1_plus=f_plus->Get("h_effHT1");
00013 TH1F *h_effHT2_plus=f_plus->Get("h_effHT2");
00014
00015 TFile *f_min=new TFile(f_96,"OPEN");
00016 TH1F *h_effMB_min=f_min->Get("h_effMB");
00017 TH1F *h_effHT1_min=f_min->Get("h_effHT1");
00018 TH1F *h_effHT2_min=f_min->Get("h_effHT2");
00019
00020 h_effMB_plus->Divide(h_effMB);
00021 h_effHT1_plus->Divide(h_effHT1);
00022 h_effHT2_plus->Divide(h_effHT2);
00023
00024 h_effMB_min->Divide(h_effMB);
00025 h_effHT1_min->Divide(h_effHT1);
00026 h_effHT2_min->Divide(h_effHT2);
00027
00028 TF1 *sub=new TF1("sub","1.",0.,20.);
00029 h_effMB_plus->Add(sub,-1.);
00030 h_effHT1_plus->Add(sub,-1.);
00031 h_effHT2_plus->Add(sub,-1.);
00032 h_effMB_min->Add(sub,-1.);
00033 h_effHT1_min->Add(sub,-1.);
00034 h_effHT2_min->Add(sub,-1.);
00035
00036 TGraphErrors *gMB_plus=new TGraphErrors(h_effMB_plus);
00037 gMB_plus->SetName("gMB_plus");
00038 TGraphErrors *gHT1_plus=new TGraphErrors(h_effHT1_plus);
00039 gHT1_plus->SetName("gHT1_plus");
00040 TGraphErrors *gHT2_plus=new TGraphErrors(h_effHT2_plus);
00041 gHT2_plus->SetName("gHT2_plus");
00042
00043 TGraphErrors *gMB_min=new TGraphErrors(h_effMB_min);
00044 gMB_min->SetName("gMB_min");
00045 TGraphErrors *gHT1_min=new TGraphErrors(h_effHT1_min);
00046 gHT1_min->SetName("gHT1_min");
00047 TGraphErrors *gHT2_min=new TGraphErrors(h_effHT2_min);
00048 gHT2_min->SetName("gHT2_min");
00049
00050 TCanvas *c=new TCanvas("c","c",400,250);
00051 TMultiGraph *m=new TMultiGraph();
00052 TMultiGraph *mm=new TMultiGraph();
00053
00054 gMB_plus->SetLineColor(1);
00055 gMB_min->SetLineColor(1);
00056 gHT1_plus->SetLineColor(4);
00057 gHT1_min->SetLineColor(4);
00058 gHT2_plus->SetLineColor(2);
00059 gHT2_min->SetLineColor(2);
00060
00061 gMB_plus->RemovePoint(0);
00062 gMB_plus->RemovePoint(0);
00063 gHT1_plus->RemovePoint(0);
00064 gHT1_plus->RemovePoint(0);
00065 gHT1_plus->RemovePoint(0);
00066 gHT1_plus->RemovePoint(0);
00067 gHT2_plus->RemovePoint(0);
00068 gHT2_plus->RemovePoint(0);
00069 gHT2_plus->RemovePoint(0);
00070 gHT2_plus->RemovePoint(0);
00071 gHT2_plus->RemovePoint(0);
00072 gHT2_plus->RemovePoint(0);
00073
00074 gMB_min->RemovePoint(0);
00075 gMB_min->RemovePoint(0);
00076 gHT1_min->RemovePoint(0);
00077 gHT1_min->RemovePoint(0);
00078 gHT1_min->RemovePoint(0);
00079 gHT1_min->RemovePoint(0);
00080 gHT2_min->RemovePoint(0);
00081 gHT2_min->RemovePoint(0);
00082 gHT2_min->RemovePoint(0);
00083 gHT2_min->RemovePoint(0);
00084 gHT2_min->RemovePoint(0);
00085 gHT2_min->RemovePoint(0);
00086
00087 TF1 *fit=new TF1("fit","[0]*x+[1]",1.,15.);
00088 fit->SetParameters(1.,1.);
00089 TF1 *fit2=new TF1("fit2","[0]*x+[1]",1.,15.);
00090 fit2->SetParameters(1.,1.);
00091
00092
00093
00094 m->Add(gMB_plus);
00095 m->Add(gHT1_plus);
00096 m->Add(gHT2_plus);
00097 m->Fit(fit,"R0");
00098
00099 mm->Add(gMB_min);
00100 mm->Add(gHT1_min);
00101 mm->Add(gHT2_min);
00102 mm->Fit(fit2,"R0");
00103
00104 m->Add(gMB_min);
00105 m->Add(gHT1_min);
00106 m->Add(gHT2_min);
00107
00108 m->SetMinimum(-1.);
00109 m->SetMaximum(1.);
00110
00111 m->Draw("ap");
00112 fit->Draw("same");
00113 fit2->Draw("same");
00114
00115 TLegend *leg=new TLegend(0.5,0.5,0.7,0.7);
00116 leg->AddEntry(gMB_plus,"minimum bias, E scale +4%","p");
00117 leg->AddEntry(gHT1_plus,"hightower 1","p");
00118 leg->AddEntry(gHT2_plus,"hightower 2%","p");
00119 leg->AddEntry(gMB_min,"E scale -4%","p");
00120 leg->Draw();
00121
00122 c->SaveAs("bemc_escale_pp.eps");
00123 c->SaveAs("bemc_escale_pp.root");
00124
00125 }