#include "TFile.h" #include "TCanvas.h" #include "TGraphAsymmErrors.h" #include "ComputeTotalCrossSection.C" #include #include #include #include "AtlasUtils.h" #include "AtlasStyle.C" #include "AtlasLabels.C" Double_t show_integrate(std::string gName, std::string gavinn, TFile* iFile, TFile* jFile, TFile* kFile, TFile* iShTotFile, TFile* iShZbFile, TFile* iShnoZbFile) { TH1D* gg = (TH1D*)kFile->Get(gavinn.c_str()); TGraphAsymmErrors* gMPInoZbJimmyOr = new TGraphAsymmErrors(gg); Double_t yTot[1000]; Double_t EyTot[1000]; double scaleF = 1.; if (gName=="j_bjet_ZdPhiF20_binned" || gName=="j_bjet_Y_binned" || gName=="j_bjet_ZY_binned" || gName=="j_2bjet_ZY_binned") { scaleF = 2.; } for (int k=0;kGetN(); ++k) { yTot[k]=scaleF*gMPInoZbJimmyOr->GetY()[k]; EyTot[k]=scaleF*gMPInoZbJimmyOr->GetEYlow()[k]; } TGraphAsymmErrors* gMPInoZbJimmy = new TGraphAsymmErrors(gMPInoZbJimmyOr->GetN(), gMPInoZbJimmyOr->GetX(), yTot, gMPInoZbJimmyOr->GetEXlow(), gMPInoZbJimmyOr->GetEXhigh(), EyTot, EyTot); TGraphAsymmErrors* gMCNLO_MPI = (TGraphAsymmErrors*)iFile->Get(gName.c_str()); TGraphAsymmErrors* gMCNLO_noMPI = (TGraphAsymmErrors*)jFile->Get(gName.c_str()); TGraphAsymmErrors* gMPIZbHerwigPP; TGraphAsymmErrors* gMPITotHerJimmy; Double_t yZbHerwigPP[1000]; Double_t EyZbHerwigPP[1000]; Double_t yDiffTot[1000]; Double_t EyDiffTot[1000]; Double_t yDiffZb[1000]; Double_t EyDiffZb[1000]; Double_t yDiffnoZb[1000]; Double_t EyDiffnoZb[1000]; TGraphAsymmErrors* gMPI_Sh_noZb = (TGraphAsymmErrors*)iShnoZbFile->Get(gName.c_str()); TGraphAsymmErrors* gMPI_Sh_tot = (TGraphAsymmErrors*)iShTotFile->Get(gName.c_str()); TGraphAsymmErrors* gMPI_Sh_Zb = (TGraphAsymmErrors*)iShZbFile->Get(gName.c_str()); if (gMPI_Sh_tot==NULL) { std::cout<<" not found "<GetN(); ++k) { yZbHerwigPP[k] = gMCNLO_MPI->GetY()[k]-gMCNLO_noMPI->GetY()[k]; EyZbHerwigPP[k] = sqrt( (gMCNLO_MPI->GetEYlow()[k])*(gMCNLO_MPI->GetEYlow()[k]) +(gMCNLO_noMPI->GetEYlow()[k])*(gMCNLO_noMPI->GetEYlow()[k]) ); yTot[k] = yZbHerwigPP[k]+gMPInoZbJimmy->GetY()[k]; EyTot[k] = sqrt( EyZbHerwigPP[k]*EyZbHerwigPP[k] + (gMPInoZbJimmy->GetEYlow()[k])*(gMPInoZbJimmy->GetEYlow()[k]) ); yDiffTot[k] = yTot[k]-gMPI_Sh_tot->GetY()[k]; EyDiffTot[k] = sqrt(EyTot[k]*EyTot[k] - (gMPI_Sh_tot->GetEYlow()[k])*(gMPI_Sh_tot->GetEYlow()[k])); yDiffZb[k] = yZbHerwigPP[k]-gMPI_Sh_Zb->GetY()[k]; EyDiffZb[k] = sqrt(EyZbHerwigPP[k]*EyZbHerwigPP[k] - (gMPI_Sh_Zb->GetEYlow()[k])*(gMPI_Sh_Zb->GetEYlow()[k])); yDiffnoZb[k] = gMPInoZbJimmy->GetY()[k]-gMPI_Sh_Zb->GetY()[k]; EyDiffnoZb[k] = sqrt((gMPInoZbJimmy->GetEYlow()[k])*(gMPInoZbJimmy->GetEYlow()[k]) + (gMPI_Sh_noZb->GetEYlow()[k])*(gMPI_Sh_noZb->GetEYlow()[k])); } gMPIZbHerwigPP = new TGraphAsymmErrors(gMCNLO_MPI->GetN(), gMCNLO_MPI->GetX(), yZbHerwigPP, gMCNLO_MPI->GetEXlow(), gMCNLO_MPI->GetEXhigh(), EyZbHerwigPP, EyZbHerwigPP); gMPITotHerJimmy = new TGraphAsymmErrors(gMCNLO_MPI->GetN(), gMCNLO_MPI->GetX(), yTot, gMCNLO_MPI->GetEXlow(), gMCNLO_MPI->GetEXhigh(), EyTot, EyTot); TGraphAsymmErrors* gDiffTot = new TGraphAsymmErrors(gMCNLO_MPI->GetN(), gMCNLO_MPI->GetX(), yDiffTot, gMCNLO_MPI->GetEXlow(), gMCNLO_MPI->GetEXhigh(), EyDiffTot, EyDiffTot); TGraphAsymmErrors* gDiffZb = new TGraphAsymmErrors(gMCNLO_MPI->GetN(), gMCNLO_MPI->GetX(), yDiffZb, gMCNLO_MPI->GetEXlow(), gMCNLO_MPI->GetEXhigh(), EyDiffZb, EyDiffZb); TGraphAsymmErrors* gDiffnoZb = new TGraphAsymmErrors(gMCNLO_MPI->GetN(), gMCNLO_MPI->GetX(), yDiffnoZb, gMCNLO_MPI->GetEXlow(), gMCNLO_MPI->GetEXhigh(), EyDiffnoZb, EyDiffnoZb); TCanvas* c = new TCanvas(gName.c_str(),gName.c_str()); c->Divide(2,2); c->cd(1); gMCNLO_MPI->Draw("AEPC"); gMCNLO_noMPI->SetLineColor(2); gMCNLO_noMPI->Draw("EPCSAME"); gMPI_Sh_tot->SetLineColor(3); gMPI_Sh_Zb->SetLineColor(3); gMPI_Sh_noZb->SetLineColor(3); gMPI_Sh_tot->SetMarkerColor(3); gMPI_Sh_Zb->SetMarkerColor(3); gMPI_Sh_noZb->SetMarkerColor(3); c->cd(2); gMPITotHerJimmy->Draw("AEPC"); gMPI_Sh_tot->Draw("EPCSAME"); myText(0.6,0.8,1,"Total MPI"); c->cd(3); gMPInoZbJimmy->Draw("AEPC"); gMPI_Sh_noZb->Draw("EPCSAME"); myText(0.6,0.8,1,"Z+X MPI"); c->cd(4); gMPIZbHerwigPP->Draw("AEPC"); gMPI_Sh_Zb->Draw("EPCSAME"); myText(0.6,0.8,1,"Zb+X MPI"); c->SaveAs(("MPI_"+gName+".eps").c_str()); // c->SaveAs(("MPI_"+gName+".eps").c_str()); std::cout<<"****************************** "<ls(); gROOT->LoadMacro("AtlasUtils.C"); std::string gname; std::string gavinn; Double_t xs = 0.; Double_t xs1 = 0.; TH1D* gg; std::cout<<"First histo file = "<GetName()<