00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <algorithm>
00020
00021 void makeBkgdFilesEta(int charge=1, int two_or_four=4, int etaLow=0, int etaHigh=100) {
00022
00023
00024
00025
00026
00027
00028 string dataDir="/star/data01/pwg/stevens4/wAnalysis/xSecPaper/sl11b/data/";
00029 string dataName="run9setABCD.wana.hist.root";
00030
00031 gStyle->SetOptDate(0);
00032 TFile *f1 = new TFile(Form("%s%s",dataDir,dataName));
00033
00034
00035 if (charge == 1) {
00036 TH1F *signal = (TH1F*)((TH2F*)f1->Get("pos_muclustpTbal_wE_etaBin"))->ProjectionY("signal_py",etaLow,etaHigh);
00037 TH1F *signal_wo_eemc = (TH1F*)((TH2F*)f1->Get("pos_muclustpTbal_noE_etaBin"))->ProjectionY("signal_no_eemc_py",etaLow,etaHigh);
00038 } else if (charge == -1) {
00039 TH1F *signal = (TH1F*)((TH2F*)f1->Get("neg_muclustpTbal_wE_etaBin"))->ProjectionY("signal_py",etaLow,etaHigh);
00040 TH1F *signal_wo_eemc = (TH1F*)((TH2F*)f1->Get("neg_muclustpTbal_noE_etaBin"))->ProjectionY("signal_no_eemc_py",etaLow,etaHigh);
00041 } else if (charge == 0) {
00042 TH1F *signal = (TH1F*)f1->Get("muclustPtBal");
00043 TH1F *signal_wo_eemc = (TH1F*)f1->Get("muclustPtBalnoE");
00044 }
00045
00046
00047
00048
00049
00050
00051 TFile *MC_fs[6];
00052 string mcDir="/star/u/stevens4/wAnalysis/efficXsec/outEmb/gainUp2/";
00053 string tpcHV="";
00054
00055
00056 MC_fs[0] = new TFile(Form("%sWplus%s.wana.hist.root",mcDir,tpcHV));
00057 MC_fs[1] = new TFile(Form("%sWminus%s.wana.hist.root",mcDir,tpcHV));
00058 MC_fs[2] = new TFile(Form("%sWtau%s.wana.hist.root",mcDir,tpcHV));
00059 MC_fs[3] = new TFile(Form("%sZany%s.wana.hist.root",mcDir,tpcHV));
00060 MC_fs[4] = new TFile(Form("%sZe+e-Interf%s.wana.hist.root",mcDir,tpcHV));
00061
00062
00063 TH1F *MC_dists_raw[5][3];
00064 for (int i=0; i<5; i++) {
00065 if (charge == 1) {
00066 MC_dists_raw[i][0] = (TH1F*)((TH2F*)MC_fs[i]->Get("pos_muclustpTbal_wE_etaBin"))->ProjectionY(Form("%d_0_py",i),etaLow,etaHigh);
00067 MC_dists_raw[i][1] = (TH1F*)((TH2F*)MC_fs[i]->Get("pos_muclustpTbal_noE_etaBin"))->ProjectionY(Form("%d_1_py",i),etaLow,etaHigh);
00068 MC_dists_raw[i][2] = (TH1F*)((TH2F*)MC_fs[i]->Get("pos_muclustpTbal_back_etaBin"))->ProjectionY(Form("%d_2_py",i),etaLow,etaHigh);
00069
00070 } else if (charge == -1) {
00071 MC_dists_raw[i][0] = (TH1F*)((TH2F*)MC_fs[i]->Get("neg_muclustpTbal_wE_etaBin"))->ProjectionY(Form("%d_0_py",i),etaLow,etaHigh);
00072 MC_dists_raw[i][1] = (TH1F*)((TH2F*)MC_fs[i]->Get("neg_muclustpTbal_noE_etaBin"))->ProjectionY(Form("%d_1_py",i),etaLow,etaHigh);
00073 MC_dists_raw[i][2] = (TH1F*)((TH2F*)MC_fs[i]->Get("neg_muclustpTbal_back_etaBin"))->ProjectionY(Form("%d_2_py",i),etaLow,etaHigh);
00074 } else if (charge == 0) {
00075 MC_dists_raw[i][0] = (TH1F*)MC_fs[i]->Get("muclustPtBal");
00076 MC_dists_raw[i][1] = (TH1F*)MC_fs[i]->Get("muclustPtBalnoE");
00077 MC_dists_raw[i][2] = (TH1F*)MC_fs[i]->Get("muclustPtBal_bckgrd");
00078 }
00079 }
00080
00081
00082 float lumi[5] = {128.6,385.0,96.2,53.1,531.9};
00083
00084
00085 float lumi_fact[6];
00086 for (int i=0; i<5; i++) {lumi_fact[i] = 13.18/lumi[i];}
00087 for (int i=0; i<5; i++) {
00088 for (int j=0; j<3; j++) {
00089 MC_dists_raw[i][j]->Scale(lumi_fact[i]);
00090
00091 }
00092 }
00093
00094
00095
00096 char str[200];
00097 TH1F *MC_dists_repack[5][3];
00098 for (int i=0; i<5; i++) {
00099 sprintf(str,"mcclustPtBal_%d",i);
00100 MC_dists_repack[i][0] = new TH1F(str,str,49,1.,99.);
00101 sprintf(str,"mcclustPtBalnoE_%d",i);
00102 MC_dists_repack[i][1] = new TH1F(str,str,49,1.,99.);
00103 sprintf(str,"mcclustPtBal_bckgrd_%d",i);
00104 MC_dists_repack[i][2] = new TH1F(str,str,49,1.,99.);
00105 }
00106
00107 for (int i=0; i<5; i++) {
00108 for (int j=0; j<3; j++) {
00109 for (int k=1; k<=49; k++) {
00110 MC_dists_repack[i][j]->SetBinContent(k,MC_dists_raw[i][j]->GetBinContent(2*k)+MC_dists_raw[i][j]->GetBinContent(2*k+1));
00111 }
00112 }
00113 }
00114
00115
00116 for (int i=0; i<5; i++) {
00117 MC_dists_repack[i][1]->Add(MC_dists_repack[i][0],-1);
00118 MC_dists_raw[i][1]->Add(MC_dists_raw[i][0],-1.);
00119 }
00120
00121
00122
00123
00124
00125 TH1F *eemc_bkgd = signal_wo_eemc->Clone();
00126 eemc_bkgd->Add(signal,-1.);
00127 eemc_bkgd->Add(MC_dists_raw[4][1],-1.);
00128
00129 TH1F *signal_final = signal->Clone();
00130 signal_final->Add(eemc_bkgd,-1);
00131
00132
00133 TH1F *eemc_bkgd2 = new TH1F("eemc_bkgd2","eemc_bkgd2",49,1,99);
00134 TH1F *zsig_bkgd2 = new TH1F("zsig_bkgd2","zsig_bkgd2",49,1,99);
00135 TH1F *zeemc_bkgd2 = new TH1F("zeemc_bgkd2","zeemc_bkgd2",49,1,99);
00136 TH1F *zback_bkgd2 = new TH1F("zback_bkgd2","zback_bkgd2",49,1,99);
00137
00138 TH1F *zanysig_bkgd2 = new TH1F("zanysig_bkgd2","zanysig_bkgd2",49,1,99);
00139 TH1F *zanyeemc_bkgd2 = new TH1F("zanyeemc_bgkd2","zanyeemc_bkgd2",49,1,99);
00140 TH1F *zanyback_bkgd2 = new TH1F("zanyback_bkgd2","zanyback_bkgd2",49,1,99);
00141
00142 TH1F *zsig = MC_dists_raw[4][0]->Clone();
00143 TH1F *zeemc = MC_dists_raw[4][1]->Clone();
00144 TH1F *zback = MC_dists_raw[4][2]->Clone();
00145
00146
00147 signal_final->Add(zsig,-1.);
00148
00149
00150 TH1F *bkgd_shape1 = (TH1F*)((TH2F*)f1->Get("pos_muclustpTbal_back_etaBin"))->ProjectionY("back1_py",etaLow,etaHigh);
00151 bkgd_shape1->Add((TH1F*)((TH2F*)f1->Get("neg_muclustpTbal_back_etaBin"))->ProjectionY("back2_py",etaLow,etaHigh));
00152
00153
00154 TH1F *bkgd_shape_nom = new TH1F("bkgd_shape","bkgd_shape",49,1,99);
00155 for (int i=1; i<=49; i++) {
00156 bkgd_shape_nom->SetBinContent(i,bkgd_shape1->GetBinContent(2*i)+
00157 bkgd_shape1->GetBinContent(2*i+1));
00158 }
00159 TH1F *bkgd_shape_nom2 = bkgd_shape_nom->Clone();
00160
00161 TH1F *signal_final2 = new TH1F("signal_final2","signal_final2",49,1,99);
00162 signal_final2->SetLineColor(2);
00163 signal_final2->SetLineWidth(2.*signal_final2->GetLineWidth());
00164 TH1F *signal2 = new TH1F("signal2","signal2",49,1,99);
00165 for (int i=1; i<=49; i++) {
00166 signal_final2->SetBinContent(i,signal_final->GetBinContent(2*i)+
00167 signal_final->GetBinContent(2*i+1));
00168 signal2->SetBinContent(i,signal->GetBinContent(2*i)+
00169 signal->GetBinContent(2*i+1));
00170 eemc_bkgd2->SetBinContent(i,eemc_bkgd->GetBinContent(2*i)+
00171 eemc_bkgd->GetBinContent(2*i+1));
00172 zsig_bkgd2->SetBinContent(i,zsig->GetBinContent(2*i)+
00173 zsig->GetBinContent(2*i+1));
00174 zeemc_bkgd2->SetBinContent(i,zeemc->GetBinContent(2*i)+
00175 zeemc->GetBinContent(2*i+1));
00176 zback_bkgd2->SetBinContent(i,zback->GetBinContent(2*i)+
00177 zback->GetBinContent(2*i+1));
00178 zanysig_bkgd2->SetBinContent(i,MC_dists_raw[3][0]->GetBinContent(2*i)+
00179 MC_dists_raw[3][0]->GetBinContent(2*i+1));
00180 zanyeemc_bkgd2->SetBinContent(i,MC_dists_raw[3][1]->GetBinContent(2*i)+
00181 MC_dists_raw[3][1]->GetBinContent(2*i+1));
00182 zanyback_bkgd2->SetBinContent(i,MC_dists_raw[3][2]->GetBinContent(2*i)+
00183 MC_dists_raw[3][2]->GetBinContent(2*i+1));
00184 }
00185
00186 TCanvas *can2 = new TCanvas("can2","can2",0,0,600,400);
00187 signal2->Draw();
00188 signal_final2->Draw("same");
00189
00190
00191
00192
00193
00194
00195
00196 eemc_bkgd->SetLineColor(8);
00197 eemc_bkgd->SetLineWidth(2.*eemc_bkgd->GetLineWidth());
00198 bkgd_shape_nom2->SetLineColor(4);
00199 bkgd_shape_nom2->SetLineWidth(2.*bkgd_shape_nom2->GetLineWidth());
00200
00201 TCanvas *can8 = new TCanvas("can8","can8",0,0,3000,1800);
00202 can8->Divide(5,3);
00203 for (int i=0; i<5; i++) {
00204 for (int j=0; j<3; j++) {
00205 can8->cd(5*(j)+i+1);
00206
00207 gPad->SetGridx(0);
00208 gPad->SetGridy(0);
00209 if (j == 0) {
00210 signal_final2->Draw();
00211 } else if (j == 1) {
00212 gPad->SetLogy();
00213 eemc_bkgd->Draw();
00214 } else if (j == 2) {
00215 gPad->SetLogy();
00216 bkgd_shape_nom2->Draw();
00217 }
00218 MC_dists_repack[i][j]->Draw("same");
00219 }
00220 }
00221
00222
00223
00224 for (int i=0; i<5; i++) {
00225 float signal_sum = 0.;
00226 float eemc_sum = 0.;
00227 float back_sum = 0.;
00228 for (int j=13; j<=49; j++) {
00229 signal_sum += MC_dists_repack[i][0]->GetBinContent(j);
00230 eemc_sum += MC_dists_repack[i][1]->GetBinContent(j);
00231 back_sum += MC_dists_repack[i][2]->GetBinContent(j);
00232 }
00233 }
00234
00235 float signal_in_normMC[3];
00236 if (charge == 1) {
00237 signal_in_normMC[0]=MC_dists_repack[0][0]->Integral(8,8);
00238 signal_in_normMC[1]=MC_dists_repack[0][0]->Integral(9,9);
00239 signal_in_normMC[2]=MC_dists_repack[0][0]->Integral(10,10);
00240 }
00241 if (charge == -1) {
00242 signal_in_normMC[0]=MC_dists_repack[1][0]->Integral(8,8);
00243 signal_in_normMC[1]=MC_dists_repack[1][0]->Integral(9,9);
00244 signal_in_normMC[2]=MC_dists_repack[1][0]->Integral(10,10);
00245 }
00246
00247
00248
00249 float taufrac=1.5;
00250
00251 signal_final2->Add(MC_dists_repack[2][0],-1.*taufrac);
00252
00253
00254
00255
00256
00257
00258
00259
00260 TF1 *func1 = new TF1("func1","[0]+[1]*x",23,39);
00261 func1->SetParameter(0,0.);
00262 func1->SetParameter(1,0.);
00263
00264 TCanvas *can4 = new TCanvas("can4","can4",0,0,600,400);
00265 signal_final2->Draw();
00266
00267
00268
00269 float signal_in_norm[50];
00270 TH1F *bkgd_shape_unnorm[20];
00271 TH1F *signal_for_new[20];
00272 for (int i=0; i<20; i++) {
00273 bkgd_shape_unnorm[i] = (TH1F*)bkgd_shape_nom->Clone();
00274 signal_for_new[i] = (TH1F*)signal_final2->Clone();
00275
00276
00277 bkgd_shape_unnorm[i]->Add(zback_bkgd2,-1.);
00278
00279
00280 signal_in_norm[8] = func1->Integral(15,17);
00281 signal_in_norm[9] = func1->Integral(17,19);
00282 signal_in_norm[10] = func1->Integral(19,21);
00283
00284 for (int j=8; j<=10; j++) {
00285 if (signal_in_norm[j] < 0) {signal_in_norm[j] = 0.;}
00286 }
00287
00288
00289 signal_in_norm[8]=signal_in_normMC[0];
00290 signal_in_norm[9]=signal_in_normMC[1];
00291 signal_in_norm[10]=signal_in_normMC[2];
00292
00293
00294
00295 float normt = 0, normb = 0.;
00296 for (int k=8; k<10; k++) {
00297 if (bkgd_shape_unnorm[i]->GetBinContent(k) > 0) {
00298 normt += signal_final2->GetBinContent(k)-signal_in_norm[k];
00299 normb += bkgd_shape_unnorm[i]->GetBinContent(k);
00300 }
00301 }
00302 if (normb > 0 && normt > 0) {
00303 float norm = normt/normb;
00304 bkgd_shape_unnorm[i]->Scale(norm);
00305 bkgd_shape_unnorm[i]->Draw("same");
00306
00307 }
00308 else if(normb > 0 && normt < 0){
00309 float norm = 0;
00310 bkgd_shape_unnorm[i]->Scale(norm);
00311 bkgd_shape_unnorm[i]->Draw("same");
00312 }
00313
00314
00315
00316 for (int j=1; j<=49; j++) {
00317 if (bkgd_shape_unnorm[i]->GetBinContent(j) < 0) {bkgd_shape_unnorm[i]->SetBinContent(j,0.);}
00318 }
00319 signal_for_new[i]->Add(bkgd_shape_unnorm[i],-1.);
00320 signal_for_new[i]->Fit(func1,"RQ");
00321 }
00322
00323
00324
00325 TH1F *signal_in_norm_region = new TH1F("signal_in_norm_region","signal_in_norm_region",49,1.,99.);
00326
00327 signal_in_norm_region->SetBinContent(8,signal_in_norm[8]);
00328 signal_in_norm_region->SetBinContent(9,signal_in_norm[9]);
00329
00330 TH1F *new_bkgd = new TH1F("new_bkgd","new_bkgd",49,1.,99.);
00331 new_bkgd = (TH1F*)bkgd_shape_unnorm[19]->Clone();
00332 new_bkgd->SetName("new_bkgd");
00333
00334 TCanvas *can5 = new TCanvas("can5","can5",0,0,600,400);
00335 signal_final2->Draw();
00336 new_bkgd->Draw("same");
00337 signal_in_norm_region->Draw("same");
00338
00339
00340
00341
00342
00343
00344
00345
00346
00347
00348 TH1F *bkgd_hists_from_file[21];
00349 TH1F *bkgd_hists_from_file2[21];
00350 char str[200];
00351 for (int i=0; i<=20; i++) {
00352
00353
00354 sprintf(str,"pos_failsPtBal_sPtBal_bin_%d_py",i);
00355 bkgd_hists_from_file[i] = (TH1F*)((TH2F*)f1->Get(Form("pos_failsPtBal_sPtBal_bin_%d",i)))->ProjectionY(str,etaLow,etaHigh);
00356 sprintf(str,"neg_failsPtBal_sPtBal_bin_%d_py",i);
00357 bkgd_hists_from_file2[i] = (TH1F*)((TH2F*)f1->Get(Form("neg_failsPtBal_sPtBal_bin_%d",i)))->ProjectionY(str,etaLow,etaHigh);
00358 bkgd_hists_from_file[i]->Add(bkgd_hists_from_file2[i]);
00359
00360 }
00361
00362
00363 TH1F *bkgd_hists1[21];
00364 TH1F *bkgd_hists2[21];
00365 TH1F *bkgd_hists3[21];
00366 for (int i=0; i<=20; i++) {
00367 sprintf(str,"bkgd_hist1_%d",i);
00368 bkgd_hists1[i] = new TH1F(str,str,49,1,99);
00369 sprintf(str,"bkgd_hist2_%d",i);
00370 bkgd_hists2[i] = new TH1F(str,str,49,1,99);
00371 sprintf(str,"bkgd_hist3_%d",i);
00372 bkgd_hists3[i] = new TH1F(str,str,49,1,99);
00373 for (int k=1; k<=49; k++) {
00374 bkgd_hists1[i]->SetBinContent(k,bkgd_hists_from_file[i]->GetBinContent(2*k)+bkgd_hists_from_file[i]->GetBinContent(2*k+1));
00375 bkgd_hists2[i]->SetBinContent(k,bkgd_hists_from_file[i]->GetBinContent(2*k)+bkgd_hists_from_file[i]->GetBinContent(2*k+1));
00376 bkgd_hists3[i]->SetBinContent(k,bkgd_hists_from_file[i]->GetBinContent(2*k)+bkgd_hists_from_file[i]->GetBinContent(2*k+1));
00377 }
00378 }
00379
00380
00381 TF1 *func2 = new TF1("func2","[0]+[1]*x",23,39);
00382 func2->SetParameter(0,0.);
00383 func2->SetParameter(1,0.);
00384 TF1 *func3 = new TF1("func3","[0]+[1]*x",23,39);
00385 func3->SetParameter(0,0.);
00386 func3->SetParameter(1,0.);
00387
00388
00389 float final_sig_in_norm[21][3];
00390 float final_chisquare[21];
00391 float signal_in_norm1[50];
00392 float signal_in_norm2[50];
00393 float signal_in_norm3[50];
00394 TH1F *new_bkgd_hists1[21];
00395 TH1F *new_bkgd_hists2[21];
00396 TH1F *new_bkgd_hists3[21];
00397 TH1F *bkgd_shape_unnorm1[20];
00398 TH1F *bkgd_shape_unnorm2[20];
00399 TH1F *bkgd_shape_unnorm3[20];
00400 TH1F *signal_for_new1[20];
00401 TH1F *signal_for_new2[20];
00402 TH1F *signal_for_new3[20];
00403 for (int i=0; i<=20; i++) {
00404
00405 func1->SetParameter(0,0.);
00406 func1->SetParameter(1,0.);
00407 func2->SetParameter(0,0.);
00408 func2->SetParameter(1,0.);
00409 func3->SetParameter(0,0.);
00410 func3->SetParameter(1,0.);
00411
00412 for (int l=0; l<20; l++) {
00413 bkgd_shape_unnorm1[l] = (TH1F*)bkgd_hists1[i]->Clone();
00414 bkgd_shape_unnorm2[l] = (TH1F*)bkgd_hists2[i]->Clone();
00415 bkgd_shape_unnorm3[l] = (TH1F*)bkgd_hists3[i]->Clone();
00416 signal_for_new1[l] = (TH1F*)signal_final2->Clone();
00417 signal_for_new2[l] = (TH1F*)signal_final2->Clone();
00418 signal_for_new3[l] = (TH1F*)signal_final2->Clone();
00419
00420
00421 bkgd_shape_unnorm1[l]->Add(zback_bkgd2,-1.);
00422 bkgd_shape_unnorm2[l]->Add(zback_bkgd2,-1.);
00423 bkgd_shape_unnorm3[l]->Add(zback_bkgd2,-1.);
00424
00425
00426 signal_in_norm1[8] = func1->Integral(15,17);
00427 signal_in_norm1[9] = func1->Integral(17,19);
00428 signal_in_norm1[10] = func1->Integral(19,21);
00429 signal_in_norm2[8] = func2->Integral(15,17);
00430 signal_in_norm2[9] = func2->Integral(17,19);
00431 signal_in_norm2[10] = func2->Integral(19,21);
00432 signal_in_norm3[8] = func3->Integral(15,17);
00433 signal_in_norm3[9] = func3->Integral(17,19);
00434 signal_in_norm3[10] = func3->Integral(19,21);
00435
00436 for (int m=8; m<=10; m++) {
00437 if (signal_in_norm1[m] < 0) {signal_in_norm1[m] = 0.;}
00438 if (signal_in_norm2[m] < 0) {signal_in_norm2[m] = 0.;}
00439 if (signal_in_norm3[m] < 0) {signal_in_norm3[m] = 0.;}
00440 }
00441
00442
00443 signal_in_norm1[8]=signal_in_normMC[0];
00444 signal_in_norm1[9]=signal_in_normMC[1];
00445 signal_in_norm1[10]=signal_in_normMC[2];
00446 signal_in_norm2[8]=signal_in_normMC[0];
00447 signal_in_norm2[9]=signal_in_normMC[1];
00448 signal_in_norm2[10]=signal_in_normMC[2];
00449 signal_in_norm3[8]=signal_in_normMC[0];
00450 signal_in_norm3[9]=signal_in_normMC[1];
00451 signal_in_norm3[10]=signal_in_normMC[2];
00452
00453
00454 float normt = 0, normb = 0.;
00455 for (int k=8; k<=8; k++) {
00456 if (bkgd_shape_unnorm1[l]->GetBinContent(k) > 0) {
00457 normt += signal_final2->GetBinContent(k)-signal_in_norm1[k];
00458 normb += bkgd_shape_unnorm1[l]->GetBinContent(k);
00459 }
00460 }
00461 if (normb > 0 && normt > 0) {
00462 float norm = normt/normb;
00463 bkgd_shape_unnorm1[l]->Scale(norm);
00464 }
00465 else if(normb > 0 && normt < 0){
00466 float norm = 0;
00467 bkgd_shape_unnorm1[l]->Scale(norm);
00468 }
00469 for (int m=1; m<=49; m++) {
00470 if (bkgd_shape_unnorm1[l]->GetBinContent(m) < 0) {bkgd_shape_unnorm1[l]->SetBinContent(m,0.);}
00471 }
00472 signal_for_new1[l]->Add(bkgd_shape_unnorm1[l],-1.);
00473 signal_for_new1[l]->Fit(func1,"RQ");
00474
00475
00476 normt = 0.; normb = 0.;
00477 for (int k=8; k<=9; k++) {
00478 if (bkgd_shape_unnorm2[l]->GetBinContent(k) > 0) {
00479 normt += signal_final2->GetBinContent(k)-signal_in_norm2[k];
00480 normb += bkgd_shape_unnorm2[l]->GetBinContent(k);
00481 }
00482 }
00483 if (normb > 0 && normt > 0) {
00484 float norm = normt/normb;
00485 bkgd_shape_unnorm2[l]->Scale(norm);
00486
00487 }
00488 else if(normb > 0 && normt < 0){
00489 float norm = 0;
00490 bkgd_shape_unnorm2[l]->Scale(norm);
00491 }
00492 for (int m=1; m<=49; m++) {
00493 if (bkgd_shape_unnorm2[l]->GetBinContent(m) < 0) {bkgd_shape_unnorm2[l]->SetBinContent(m,0.);}
00494 }
00495 signal_for_new2[l]->Add(bkgd_shape_unnorm2[l],-1.);
00496 signal_for_new2[l]->Fit(func2,"RQ");
00497
00498
00499 normt = 0.; normb = 0.;
00500 for (int k=8; k<=10; k++) {
00501 if (bkgd_shape_unnorm3[l]->GetBinContent(k) > 0) {
00502 normt += signal_final2->GetBinContent(k)-signal_in_norm3[k];
00503 normb += bkgd_shape_unnorm3[l]->GetBinContent(k);
00504 }
00505 }
00506 if (normb > 0 && normt > 0) {
00507 float norm = normt/normb;
00508 bkgd_shape_unnorm3[l]->Scale(norm);
00509 }
00510 else if(normb > 0 && normt < 0){
00511 float norm = 0;
00512 bkgd_shape_unnorm3[l]->Scale(norm);
00513 }
00514
00515 for (int m=1; m<=49; m++) {
00516 if (bkgd_shape_unnorm3[l]->GetBinContent(m) < 0) {bkgd_shape_unnorm3[l]->SetBinContent(m,0.);}
00517 }
00518 signal_for_new3[l]->Add(bkgd_shape_unnorm3[l],-1.);
00519 signal_for_new3[l]->Fit(func3,"RQ");
00520 }
00521
00522
00523 new_bkgd_hists1[i] = (TH1F*)bkgd_shape_unnorm1[19]->Clone();
00524 new_bkgd_hists2[i] = (TH1F*)bkgd_shape_unnorm2[19]->Clone();
00525 new_bkgd_hists3[i] = (TH1F*)bkgd_shape_unnorm3[19]->Clone();
00526
00527 }
00528
00529
00530 gStyle->SetTitleBorderSize(0);
00531 TCanvas *can6 = new TCanvas("can6","can6",0,0,600,400);
00532 signal_final2->SetStats(kFALSE);
00533 if (charge == 1) {
00534 signal_final2->SetTitle("W+ Background Shapes");
00535 } else if (charge == -1) {
00536 signal_final2->SetTitle("W- Background Shapes");
00537 }
00538 signal_final2->GetXaxis()->SetRangeUser(0.,70.);
00539 signal_final2->GetXaxis()->SetTitle("2x2 Cluster E_{T} (GeV)");
00540 signal_final2->Draw();
00541 for (int i=0; i<=20; i++) {
00542 new_bkgd_hists1[i]->Draw("same");
00543 new_bkgd_hists2[i]->Draw("same");
00544 new_bkgd_hists3[i]->Draw("same");
00545 }
00546 new_bkgd->SetLineColor(4);
00547
00548 new_bkgd->Draw("same");
00549 if (charge == 1) {
00550
00551
00552 } else if (charge == -1) {
00553
00554
00555 }
00556
00557 TH1F *chi2s = new TH1F("chi2s","chi2s",50,0.,10.);
00558 for (int i=0; i<=20; i++) {
00559 chi2s->Fill(final_chisquare[i]);
00560 }
00561
00562 TCanvas *can7 = new TCanvas("can7","can7",0,0,600,400);
00563 chi2s->Draw();
00564
00565
00566
00567
00568
00569
00570
00571
00572
00573 TH1F *tauhist = MC_dists_repack[2][0]->Clone();
00574 tauhist->Scale(taufrac);
00575 float tau_norm = lumi_fact[2];
00576 float Z_norm = lumi_fact[4];
00577 float bkgd_sum = 0.;
00578 float signal_sum = 0.;
00579 float raw_sum = 0.;
00580 float QCD_sum = 0., tau_sum = 0., eemc_sum = 0.;
00581 float QCD_raw_sum = 0.;
00582 float Zany_bkgd_sum = 0.;
00583 float Zany_eemc_sum = 0.;
00584 float zsig_sum = 0., zeemc_sum = 0.,zback_sum = 0.;
00585 float zanysig_sum = 0., zanyeemc_sum = 0.,zanyback_sum = 0.;
00586 for (int i=13; i<=49; i++) {
00587 bkgd_sum += new_bkgd->GetBinContent(i);
00588 bkgd_sum += tauhist->GetBinContent(i);
00589 bkgd_sum += eemc_bkgd2->GetBinContent(i);
00590 QCD_raw_sum += bkgd_shape_nom->GetBinContent(i);
00591 QCD_sum += new_bkgd->GetBinContent(i);
00592 tau_sum += tauhist->GetBinContent(i);
00593 eemc_sum += eemc_bkgd2->GetBinContent(i);
00594 signal_sum += signal_final2->GetBinContent(i);
00595 raw_sum += signal2->GetBinContent(i);
00596 zsig_sum += zsig_bkgd2->GetBinContent(i);
00597 zeemc_sum += zeemc_bkgd2->GetBinContent(i);
00598 zback_sum += zback_bkgd2->GetBinContent(i);
00599 zanysig_sum += zanysig_bkgd2->GetBinContent(i);
00600 zanyeemc_sum += zanyeemc_bkgd2->GetBinContent(i);
00601 zanyback_sum += zanyback_bkgd2->GetBinContent(i);
00602 }
00603 cout << "The total background for ET>25 is " << bkgd_sum+zsig_sum << endl;
00604 cout << "QCD = " << QCD_sum << ", tau = " << tau_sum << ", eemc = " << eemc_sum << ", and Z = " << zsig_sum << endl;
00605 cout << "Raw = " << raw_sum << endl;
00606 cout << "W Signal (w/o tau) = " << signal_sum-QCD_sum << endl;
00607 cout << "Z in sig = " << zsig_sum << endl;
00608 cout << "Z in eemc = " << zeemc_sum << endl;
00609 cout << "Z in back = " << zback_sum << endl;
00610 cout << "Zany in sig = " << zanysig_sum << endl;
00611 cout << "Zany in eemc = " << zanyeemc_sum << endl;
00612 cout << "Zany in back = " << zanyback_sum << endl;
00613 cout << "QCD raw in back = " << QCD_raw_sum << endl;
00614 cout << "The QCD stat unc. is " << sqrt(norm*QCD_sum) << endl;
00615 float tau_stat = tau_norm*taufrac*sqrt(tau_sum/(tau_norm*taufrac));
00616 float tau_syst = 0.13*tau_sum;
00617 cout << "The tau stat unc. is " << tau_stat << " syst is " << tau_syst << " and total is " << sqrt(tau_stat*tau_stat + tau_syst*tau_syst) << endl;
00618 float eemc_stat = sqrt(eemc_sum);
00619 float eemc_syst = 0.13*zeemc_sum;
00620 cout << "The eemc stat unc. is " << eemc_stat << " syst is " << eemc_syst << " and total is " << sqrt(eemc_stat*eemc_stat + eemc_syst*eemc_syst) << endl;
00621 float Z_stat = Z_norm*sqrt(zsig_sum/Z_norm);
00622 float Z_syst = 0.13*zsig_sum;
00623 cout << "The Z stat unc. is " << Z_stat << " syst is " << Z_syst << " and total is " << sqrt(Z_stat*Z_stat + Z_syst*Z_syst) << endl;
00624
00625
00626
00627
00628
00629
00630
00631
00632 TH1F *raw_stat_err2 = new TH1F("raw_stat_err2","raw_stat_err2",49,1.,99.);
00633 TH1F *QCD_stat_err2 = new TH1F("QCD_stat_err2","QCD_stat_err2",49,1.,99.);
00634 TH1F *eemc_stat_err2 = new TH1F("eemc_stat_err2","eemc_stat_err2",49,1.,99.);
00635 TH1F *tau_stat_err2 = new TH1F("tau_stat_err2","tau_stat_err2",49,1.,99.);
00636 TH1F *QCD_syst_high_err = new TH1F("QCD_syst_high_err","QCD_syst_high_err",49,1.,99.);
00637 TH1F *QCD_syst_low_err = new TH1F("QCD_syst_low_err","QCD_syst_low_err",49,1.,99.);
00638 TH1F *zsig_stat_err2 = new TH1F("zsig_stat_err2","zsig_stat_err2",49,1.,99.);
00639 TH1F *zback_stat_err2 = new TH1F("zback_stat_err2","zback_stat_err2",49,1.,99.);
00640 TH1F *zeemc_stat_err2 = new TH1F("zeemc_stat_err2","zeemc_stat_err2",49,1.,99.);
00641
00642
00643 for (int i=1; i<=49; i++) {
00644 raw_stat_err2->SetBinContent(i,signal2->GetBinContent(i));
00645 QCD_stat_err2->SetBinContent(i,fabs(norm*new_bkgd->GetBinContent(i)));
00646 eemc_stat_err2->SetBinContent(i,max(eemc_bkgd2->GetBinContent(i),0));
00647 tau_stat_err2->SetBinContent(i,tau_norm*taufrac*tauhist->GetBinContent(i));
00648 zsig_stat_err2->SetBinContent(i,Z_norm*zsig_bkgd2->GetBinContent(i));
00649 zback_stat_err2->SetBinContent(i,norm*norm*Z_norm*zback_bkgd2->GetBinContent(i));
00650 zeemc_stat_err2->SetBinContent(i,Z_norm*zeemc_bkgd2->GetBinContent(i));
00651
00652 }
00653
00654
00655
00656
00657
00658
00659 TH1F *low_bkgd = new_bkgd->Clone();
00660 low_bkgd->SetName("low_bkgd");
00661 TH1F *high_bkgd = new_bkgd->Clone();
00662 high_bkgd->SetName("high_bkgd");
00663
00664 float low_sum = 0.;
00665 float high_sum = 0.;
00666 for (int i=7; i<=49; i++) {
00667 float high = 0.;
00668 float low = 10000.;
00669 for (int j=0; j<=20; j++) {
00670 if (new_bkgd_hists1[j]->GetBinContent(i) < low) {
00671 if (new_bkgd_hists1[j]->GetBinContent(i) >= 0) {
00672 low = new_bkgd_hists1[j]->GetBinContent(i);
00673 }
00674 }
00675 if (new_bkgd_hists1[j]->GetBinContent(i) > high) {
00676 high = new_bkgd_hists1[j]->GetBinContent(i);
00677 }
00678
00679 if (new_bkgd_hists2[j]->GetBinContent(i) < low) {
00680 if (new_bkgd_hists2[j]->GetBinContent(i) >= 0) {
00681 low = new_bkgd_hists2[j]->GetBinContent(i);
00682 }
00683 }
00684 if (new_bkgd_hists2[j]->GetBinContent(i) > high) {
00685 high = new_bkgd_hists2[j]->GetBinContent(i);
00686 }
00687
00688 if (new_bkgd_hists3[j]->GetBinContent(i) < low) {
00689 if (new_bkgd_hists3[j]->GetBinContent(i) >= 0) {
00690 low = new_bkgd_hists3[j]->GetBinContent(i);
00691 }
00692 }
00693 if (new_bkgd_hists3[j]->GetBinContent(i) > high) {
00694 high = new_bkgd_hists3[j]->GetBinContent(i);
00695 }
00696
00697
00698 }
00699
00700
00701 low_bkgd->SetBinContent(i,0.);
00702 if ((low != 10000) && (new_bkgd->GetBinContent(i)-low > 0)) {
00703 if ((i >= 13)&&(i<=49)) {low_sum += low;}
00704 low_bkgd->SetBinContent(i,low);
00705 }
00706 if ((i >= 13)&&(i<=49)) {high_sum += high;}
00707 high_bkgd->SetBinContent(i,high);
00708
00709
00710
00711 if ((low != 10000) && (new_bkgd->GetBinContent(i)-low > 0)) {
00712 QCD_syst_low_err->SetBinContent(i,new_bkgd->GetBinContent(i)-low);
00713 } else {
00714 QCD_syst_low_err->SetBinContent(i,0.);
00715 }
00716 QCD_syst_high_err->SetBinContent(i,high-new_bkgd->GetBinContent(i));
00717
00718 }
00719
00720 cout << "QCD shape sys. unc. calc************" << endl;
00721 cout << "The QCD low sum = " << low_sum << endl;
00722 cout << "The QCD high sum = " << high_sum << endl;
00723
00724 cout << "The QCD low error = " << QCD_sum-low_sum << endl;
00725 cout << "The QCD high error = " << high_sum-QCD_sum << endl;
00726
00727
00728 float tot_stat = sqrt(tau_stat*tau_stat+eemc_stat*eemc_stat+Z_stat*Z_stat+norm*QCD_sum);
00729 cout << "total stat unc. is " << tot_stat << endl;
00730 float tot_syst_low = sqrt(tau_syst*tau_syst+eemc_syst*eemc_syst+Z_syst*Z_syst+(QCD_sum-low_sum)*(QCD_sum-low_sum));
00731 float tot_syst_high = sqrt(tau_syst*tau_syst+eemc_syst*eemc_syst+Z_syst*Z_syst+(QCD_sum-high_sum)*(QCD_sum-high_sum));
00732 cout << "total syst unc. is low: " << tot_syst_low << " and high: " << tot_syst_high << endl;
00733 cout << "total unc is low: " << sqrt(tot_syst_low*tot_syst_low+tot_stat*tot_stat) << " high: " << sqrt(tot_syst_high*tot_syst_high+tot_stat*tot_stat) <<endl;
00734
00735
00736 TH1F *signal_final3 = new TH1F("signal_final3","signal_final3",49,1.,99.);
00737 for (int i=1; i<=49; i++) {
00738 signal_final3->SetBinContent(i,signal_final2->GetBinContent(i));
00739 }
00740 signal_final3->Add(new_bkgd,-1.);
00741
00742
00743
00744 #if 1
00745 cout<<"ET min, ET max, N_obs, N_obs-Nbkgd, QCD stat, EEMC stat, Tau stat, Zee stat, QCD syst+, QCD syst-, total stat, MC bkgd tot"<<endl;
00746 for (int i=7; i<=49; i=i+2) {
00747 cout.setf(ios::fixed);
00748 cout.precision(2);
00749 float Qcd_stat_err2=QCD_stat_err2->GetBinContent(i)+QCD_stat_err2->GetBinContent(i+1);
00750 float Eemc_stat_err2=eemc_stat_err2->GetBinContent(i)+eemc_stat_err2->GetBinContent(i+1);
00751 float Tau_stat_err2=tau_stat_err2->GetBinContent(i)+tau_stat_err2->GetBinContent(i+1);
00752 float Z_stat_err2=zsig_stat_err2->GetBinContent(i)+zsig_stat_err2->GetBinContent(i+1);
00753 cout << signal2->GetBinCenter(i)-1 << "," << signal2->GetBinCenter(i)+3 << "," << signal2->GetBinContent(i)+signal2->GetBinContent(i+1) << "," << signal_final3->GetBinContent(i)+signal_final3->GetBinContent(i+1) << "," << sqrt(Qcd_stat_err2) << "," << sqrt(Eemc_stat_err2) << "," << sqrt(Tau_stat_err2) << "," << sqrt(Z_stat_err2) << "," << QCD_syst_high_err->GetBinContent(i)+QCD_syst_high_err->GetBinContent(i+1) << "," << QCD_syst_low_err->GetBinContent(i)+QCD_syst_low_err->GetBinContent(i+1) ;
00754
00755 cout<< "," <<sqrt(Tau_stat_err2+Z_stat_err2+Qcd_stat_err2+Eemc_stat_err2);
00756
00757 cout<< "," << zsig_bkgd2->GetBinContent(i)+zsig_bkgd2->GetBinContent(i+1) + tauhist->GetBinContent(i)+tauhist->GetBinContent(i+1)<<endl;
00758
00759 }
00760 #endif
00761
00762
00763
00764
00765
00766
00767 if (charge == 1) {
00768 TFile *f2 = new TFile("bkgd_histos_pos_final.root","recreate");
00769 } else if (charge == -1) {
00770 TFile *f2 = new TFile("bkgd_histos_neg_final.root","recreate");
00771 } else if (charge == 0) {
00772 TFile *f2 = new TFile("bkgd_histos_sum.root","recreate");
00773 }
00774
00775 f2->cd();
00776
00777 if (two_or_four == 2) {
00778
00779 TH1F *signal_final3 = new TH1F("signal_final3","signal_final3",49,1.,99.);
00780 for (int i=1; i<=49; i++) {
00781 signal_final3->SetBinContent(i,signal_final2->GetBinContent(i));
00782 }
00783 signal_final3->Add(new_bkgd,-1.);
00784
00785 tauhist->Write();
00786 zsig_bkgd2->Write();
00787 signal2->Write();
00788 signal_final2->Write();
00789 signal_final3->Write();
00790 eemc_bkgd2->Write();
00791 new_bkgd->Write();
00792 low_bkgd->Write();
00793 high_bkgd->Write();
00794 signal_in_norm_region->Write();
00795
00796 raw_stat_err2->Write();
00797 QCD_stat_err2->Write();
00798 eemc_stat_err2->Write();
00799 tau_stat_err2->Write();
00800 QCD_syst_high_err->Write();
00801 QCD_syst_low_err->Write();
00802 zsig_stat_err2->Write();
00803 zback_stat_err2->Write();
00804 zeemc_stat_err2->Write();
00805
00806 #if 0
00807 for (int i=1; i<=49; i++) {
00808 cout.setf(ios::fixed);
00809 cout.precision(2);
00810 cout << " " << signal2->GetBinCenter(i) << " & " << signal2->GetBinContent(i) << " & " << signal_final3->GetBinContent(i) << " & " << QCD_stat_err2->GetBinContent(i) << " & " << eemc_stat_err2->GetBinContent(i) << " & " << tau_stat_err2->GetBinContent(i) << " & " << zsig_stat_err2->GetBinContent(i) << " & " << zback_stat_err2->GetBinContent(i) << " & " << QCD_syst_high_err->GetBinContent(i) << " & " << QCD_syst_low_err->GetBinContent(i) << " \\\\" << endl;
00811
00812 }
00813 #endif
00814
00815 f2->Close();
00816
00817 } else if (two_or_four == 4) {
00818
00819 TH1F *tauhist_repack = new TH1F("tauhist_r","tauhist_r",24,3.,99.);
00820 TH1F *zsig_bkgd2_repack = new TH1F("zsig_bkgd2_r","zsig_bkgd2_r",24,3,99.);
00821 TH1F *signal2_repack = new TH1F("signal2_r","signal2_r",24,3.,99.);
00822 TH1F *signal_final2_repack = new TH1F("signal_final2_r","signal_final2_r",24,3.,99.);
00823 TH1F *signal_final3_repack = new TH1F("signal_final3_r","signal_final3_r",24,3.,99.);
00824 TH1F *eemc_bkgd2_repack = new TH1F("eemc_bkgd2_r","eemc_bkgd2_r",24,3.,99.);
00825 TH1F *new_bkgd_repack = new TH1F("new_bkgd_r","new_bkgd_r",24,3.,99.);
00826 TH1F *low_bkgd_repack = new TH1F("low_bkgd_r","low_bkgd_r",24,3.,99.);
00827 TH1F *high_bkgd_repack = new TH1F("high_bkgd_r","high_bkgd_r",24,3.,99.);
00828 TH1F *signal_in_norm_region_repack = new TH1F("signal_in_norm_region_r","signal_in_norm_region_r",24,3.,99.);
00829
00830 TH1F *raw_stat_err2_repack = new TH1F("raw_stat_err2_r","raw_stat_err2_r",24,3.,99.);
00831 TH1F *QCD_stat_err2_repack = new TH1F("QCD_stat_err2_r","QCD_stat_err2_r",24,3.,99.);
00832 TH1F *eemc_stat_err2_repack = new TH1F("eemc_stat_err2_r","eemc_stat_err2_r",24,3.,99.);
00833 TH1F *tau_stat_err2_repack = new TH1F("tau_stat_err2_r","tau_stat_err2_r",24,3.,99.);
00834 TH1F *QCD_syst_high_err_repack = new TH1F("QCD_syst_high_err_r","QCD_syst_high_err_r",24,3.,99.);
00835 TH1F *QCD_syst_low_err_repack = new TH1F("QCD_syst_low_err_r","QCD_syst_low_err_r",24,3.,99.);
00836 TH1F *zsig_stat_err2_repack = new TH1F("zsig_stat_err2_r","zsig_stat_err2_r",24,3.,99.);
00837 TH1F *zback_stat_err2_repack = new TH1F("zback_stat_err2_r","zback_stat_err2_r",24,3.,99.);
00838 TH1F *zeemc_stat_err2_repack = new TH1F("zeemc_stat_err2_r","zeemc_stat_err2_r",24,3.,99.);
00839
00840 for (int i=1; i<=24; i++) {
00841 tauhist_repack->SetBinContent(i,tauhist->GetBinContent(2*i)+
00842 tauhist->GetBinContent(2*i+1));
00843 zsig_bkgd2_repack->SetBinContent(i,zsig_bkgd2->GetBinContent(2*i)+
00844 zsig_bkgd2->GetBinContent(2*i+1));;
00845 signal2_repack->SetBinContent(i,signal2->GetBinContent(2*i)+
00846 signal2->GetBinContent(2*i+1));
00847 signal_final2_repack->SetBinContent(i,signal_final2->GetBinContent(2*i)+
00848 signal_final2->GetBinContent(2*i+1));
00849 signal_final3_repack->SetBinContent(i,signal_final3->GetBinContent(2*i)+
00850 signal_final3->GetBinContent(2*i+1));
00851 eemc_bkgd2_repack->SetBinContent(i,eemc_bkgd2->GetBinContent(2*i)+
00852 eemc_bkgd2->GetBinContent(2*i+1));
00853 new_bkgd_repack->SetBinContent(i,new_bkgd->GetBinContent(2*i)+
00854 new_bkgd->GetBinContent(2*i+1));
00855 low_bkgd_repack->SetBinContent(i,low_bkgd->GetBinContent(2*i)+
00856 low_bkgd->GetBinContent(2*i+1));
00857 high_bkgd_repack->SetBinContent(i,high_bkgd->GetBinContent(2*i)+
00858 high_bkgd->GetBinContent(2*i+1));
00859 signal_in_norm_region_repack->SetBinContent(i,signal_in_norm_region->GetBinContent(2*i)+signal_in_norm_region->GetBinContent(2*i+1));
00860
00861 raw_stat_err2_repack->SetBinContent(i,raw_stat_err2->GetBinContent(2*i)+
00862 raw_stat_err2->GetBinContent(2*i+1));
00863 QCD_stat_err2_repack->SetBinContent(i,QCD_stat_err2->GetBinContent(2*i)+
00864 QCD_stat_err2->GetBinContent(2*i+1));
00865 eemc_stat_err2_repack->SetBinContent(i,eemc_stat_err2->GetBinContent(2*i)+
00866 eemc_stat_err2->GetBinContent(2*i+1));
00867 tau_stat_err2_repack->SetBinContent(i,tau_stat_err2->GetBinContent(2*i)+
00868 tau_stat_err2->GetBinContent(2*i+1));
00869 QCD_syst_high_err_repack->SetBinContent(i,QCD_syst_high_err->GetBinContent(2*i)+QCD_syst_high_err->GetBinContent(2*i+1));
00870 QCD_syst_low_err_repack->SetBinContent(i,QCD_syst_low_err->GetBinContent(2*i)+QCD_syst_low_err->GetBinContent(2*i+1));
00871 zsig_stat_err2_repack->SetBinContent(i,zsig_stat_err2->GetBinContent(2*i)+
00872 zback_stat_err2->GetBinContent(2*i+1));
00873 zback_stat_err2_repack->SetBinContent(i,zback_stat_err2->GetBinContent(2*i)+
00874 zback_stat_err2->GetBinContent(2*i+1));
00875 zeemc_stat_err2_repack->SetBinContent(i,zeemc_stat_err2->GetBinContent(2*i)+
00876 zeemc_stat_err2->GetBinContent(2*i+1));
00877 }
00878
00879 tauhist_repack->Write();
00880 zsig_bkgd2_repack->Write();
00881 signal2_repack->Write();
00882 signal_final2_repack->Write();
00883 signal_final3_repack->Write();
00884 eemc_bkgd2_repack->Write();
00885 new_bkgd_repack->Write();
00886 low_bkgd_repack->Write();
00887 high_bkgd_repack->Write();
00888 signal_in_norm_region_repack->Write();
00889
00890 raw_stat_err2_repack->Write();
00891 QCD_stat_err2_repack->Write();
00892 eemc_stat_err2_repack->Write();
00893 tau_stat_err2_repack->Write();
00894 QCD_syst_high_err_repack->Write();
00895 QCD_syst_low_err_repack->Write();
00896 zsig_stat_err2_repack->Write();
00897 zback_stat_err2_repack->Write();
00898 zeemc_stat_err2_repack->Write();
00899
00900 #if 0
00901 for (int i=1; i<=24; i++) {
00902 cout.setf(ios::fixed);
00903 cout.precision(2);
00904 cout << " " << signal2_repack->GetBinCenter(i) << " & " << signal2_repack->GetBinContent(i) << " & " << signal_final3_repack->GetBinContent(i) << " & " << QCD_stat_err2_repack->GetBinContent(i) << " & " << eemc_stat_err2_repack->GetBinContent(i) << " & " << tau_stat_err2_repack->GetBinContent(i) << " & " << zsig_stat_err2_repack->GetBinContent(i) << " & " << zback_stat_err2_repack->GetBinContent(i) << " & " << QCD_syst_high_err_repack->GetBinContent(i) << " & " << QCD_syst_low_err_repack->GetBinContent(i) << " \\\\" << endl;
00905 }
00906 #endif
00907
00908 f2->Close();
00909
00910 }
00911
00912
00913 }