00001 void doBsmdSpread(char *f_20,char *f_10,char *f_30){
00002
00003 gStyle->SetErrorX(0);
00004
00005 TFile *f_nom=new TFile(f_20,"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_10,"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_30,"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 TF1 *mult=new TF1("mult","-1.",0.,20.);
00030 h_effMB_plus->Add(sub,-1.);
00031 h_effHT1_plus->Add(sub,-1.);
00032 h_effHT2_plus->Add(sub,-1.);
00033 h_effMB_min->Add(sub,-1.);
00034 h_effHT1_min->Add(sub,-1.);
00035 h_effHT2_min->Add(sub,-1.);
00036 h_effMB_plus->Multiply(mult);
00037 h_effHT1_plus->Multiply(mult);
00038 h_effHT2_plus->Multiply(mult);
00039 h_effMB_min->Multiply(mult);
00040 h_effHT1_min->Multiply(mult);
00041 h_effHT2_min->Multiply(mult);
00042
00043
00044
00045 TGraphErrors *gMB_plus=new TGraphErrors(h_effMB_plus);
00046 gMB_plus->SetName("gMB_plus");
00047 TGraphErrors *gHT1_plus=new TGraphErrors(h_effHT1_plus);
00048 gHT1_plus->SetName("gHT1_plus");
00049 TGraphErrors *gHT2_plus=new TGraphErrors(h_effHT2_plus);
00050 gHT2_plus->SetName("gHT2_plus");
00051
00052 TGraphErrors *gMB_min=new TGraphErrors(h_effMB_min);
00053 gMB_min->SetName("gMB_min");
00054 TGraphErrors *gHT1_min=new TGraphErrors(h_effHT1_min);
00055 gHT1_min->SetName("gHT1_min");
00056 TGraphErrors *gHT2_min=new TGraphErrors(h_effHT2_min);
00057 gHT2_min->SetName("gHT2_min");
00058
00059 TCanvas *c=new TCanvas("c","c",400,250);
00060 TMultiGraph *m=new TMultiGraph();
00061 TMultiGraph *mm=new TMultiGraph();
00062
00063 gMB_plus->SetLineColor(1);
00064 gMB_min->SetLineColor(1);
00065 gHT1_plus->SetLineColor(4);
00066 gHT1_min->SetLineColor(4);
00067 gHT2_plus->SetLineColor(2);
00068 gHT2_min->SetLineColor(2);
00069
00070 gMB_plus->RemovePoint(0);
00071 gMB_plus->RemovePoint(0);
00072 gHT1_plus->RemovePoint(0);
00073 gHT1_plus->RemovePoint(0);
00074 gHT1_plus->RemovePoint(0);
00075 gHT1_plus->RemovePoint(0);
00076 gHT2_plus->RemovePoint(0);
00077 gHT2_plus->RemovePoint(0);
00078 gHT2_plus->RemovePoint(0);
00079 gHT2_plus->RemovePoint(0);
00080 gHT2_plus->RemovePoint(0);
00081 gHT2_plus->RemovePoint(0);
00082
00083 gMB_min->RemovePoint(0);
00084 gMB_min->RemovePoint(0);
00085 gHT1_min->RemovePoint(0);
00086 gHT1_min->RemovePoint(0);
00087 gHT1_min->RemovePoint(0);
00088 gHT1_min->RemovePoint(0);
00089 gHT2_min->RemovePoint(0);
00090 gHT2_min->RemovePoint(0);
00091 gHT2_min->RemovePoint(0);
00092 gHT2_min->RemovePoint(0);
00093 gHT2_min->RemovePoint(0);
00094 gHT2_min->RemovePoint(0);
00095
00096 TF1 *fit=new TF1("fit","[0]+[1]*exp([2]*x)",1.,15.);
00097 fit->SetParameters(0.,1.,-1.);
00098 TF1 *fit2=new TF1("fit2","[0]+[1]*exp([2]*x)",1.,15.);
00099 fit2->SetParameters(0.,1.,-1.);
00100
00101 m->Add(gMB_plus);
00102 m->Add(gHT1_plus);
00103 m->Add(gHT2_plus);
00104 m->Fit(fit,"R0");
00105
00106 mm->Add(gMB_min);
00107 mm->Add(gHT1_min);
00108 mm->Add(gHT2_min);
00109 mm->Fit(fit2,"R0");
00110
00111 m->Add(gMB_min);
00112 m->Add(gHT1_min);
00113 m->Add(gHT2_min);
00114
00115 m->SetMinimum(-1.);
00116 m->SetMaximum(1.);
00117
00118 m->Draw("ap");
00119 fit->Draw("same");
00120 fit2->Draw("same");
00121
00122 TLegend *leg=new TLegend(0.5,0.5,0.7,0.7);
00123 leg->AddEntry(gMB_min,"minimum bias, BSMD #sigma(C)/C=30%","p");
00124 leg->AddEntry(gHT1_min,"hightower 1","p");
00125 leg->AddEntry(gHT2_min,"hightower 2","p");
00126 leg->AddEntry(gMB_plus,"BSMD #sigma(C)/C=10%","p");
00127 leg->Draw();
00128
00129 c->SaveAs("bsmd_spread_pp.eps");
00130 c->SaveAs("bsmd_spread_pp.root");
00131
00132 }