#include using namespace std; #include "TString.h" #include "TFile.h" #include "TH1F.h" #include "TCanvas.h" #include "TStyle.h" #include "TLegend.h" #include "AtlasUtils.C" void MakeDistributionPlots(int mydistribution = 5) { gROOT ->ProcessLine(".x AtlasStyle.C"); int dbg = 1; if(mydistribution==2) { int nbin = 500; float nmin = 0 ; float nmax = 500; const int myn = 9 ; Double_t mynewBins [myn] = {25,30,40,55,75,100,150,200,500}; } if(mydistribution==3) { int nbin = 100 ; float nmin = 0 ; float nmax = 1000; const int myn = 9 ; Double_t mynewBins [myn] = {25,30,40,55,75,100,150,200,500}; } if(mydistribution==4) { int nbin = 200; float nmin = -10; float nmax = 10; const int myn = 11 ; Double_t mynewBins [myn] = {0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5}; } if(mydistribution==5) { int nbin = 60; float nmin = -3; float nmax = 3; const int myn = 11 ; Double_t mynewBins [myn] = {0,0.1,0.2,0.3,0.5,0.7,1.,1.2,1.5,2,2.5}; } if(mydistribution==6) { int nbin = 480; float nmin = 20; float nmax = 500; const int myn = 10 ; Double_t mynewBins [myn] = {20,25,30,40,55,75,100,150,200,500}; } if(mydistribution==7) { int nbin = 100 ; float nmin = -2.5; float nmax = 2.5; const int myn = 11 ; Double_t mynewBins [myn] = {0,0.1,0.2,0.3,0.5,0.7,1.,1.2,1.5,2,2.5}; } char distribution_char[1000]; if(mydistribution==1)sprintf(distribution_char,"Zmass"); if(mydistribution==2)sprintf(distribution_char,"Zpt"); if(mydistribution==3)sprintf(distribution_char,"Zp"); if(mydistribution==4)sprintf(distribution_char,"Zeta"); if(mydistribution==5)sprintf(distribution_char,"Zy"); if(mydistribution==6)sprintf(distribution_char,"Jpt"); if(mydistribution==7)sprintf(distribution_char,"Jeta"); char fileName_abkm09 [1000]; sprintf(fileName_abkm09 ,"/afs/le.infn.it/user/n/niko/LesHouches2013/mcfmGraph_PDF_abkm09_var_%s.root" , distribution_char); char fileName_ct10 [1000]; sprintf(fileName_ct10 ,"/afs/le.infn.it/user/n/niko/LesHouches2013/mcfmGraph_PDF_ct10_var_%s.root" , distribution_char); char fileName_herapdf [1000]; sprintf(fileName_herapdf ,"/afs/le.infn.it/user/n/niko/LesHouches2013/mcfmGraph_PDF_herapdf_var_%s.root" , distribution_char); char fileName_mstw2008 [1000]; sprintf(fileName_mstw2008 ,"/afs/le.infn.it/user/n/niko/LesHouches2013/mcfmGraph_PDF_mstw2008_var_%s.root" , distribution_char); char fileName_nnpdf22 [1000]; sprintf(fileName_nnpdf22 ,"/afs/le.infn.it/user/n/niko/LesHouches2013/mcfmGraph_PDF_nnpdf22_var_%s.root" , distribution_char); char fileName_ct10_scale1[1000]; sprintf(fileName_ct10_scale1,"/afs/le.infn.it/user/n/niko/LesHouches2013/mcfmGraph_PDF_ct10_scale1_var_%s.root" , distribution_char); char fileName_ct10_scale2[1000]; sprintf(fileName_ct10_scale2,"/afs/le.infn.it/user/n/niko/LesHouches2013/mcfmGraph_PDF_ct10_scale2_var_%s.root" , distribution_char); char fileName_ct10_scale3[1000]; sprintf(fileName_ct10_scale3,"/afs/le.infn.it/user/n/niko/LesHouches2013/mcfmGraph_PDF_ct10_scale3_var_%s.root" , distribution_char); char fileName_ct10_scale4[1000]; sprintf(fileName_ct10_scale4,"/afs/le.infn.it/user/n/niko/LesHouches2013/mcfmGraph_PDF_ct10_scale4_var_%s.root" , distribution_char); char fileName_ct10_scale5[1000]; sprintf(fileName_ct10_scale5,"/afs/le.infn.it/user/n/niko/LesHouches2013/mcfmGraph_PDF_ct10_scale5_var_%s.root" , distribution_char); char fileName_ct10_scale6[1000]; sprintf(fileName_ct10_scale6,"/afs/le.infn.it/user/n/niko/LesHouches2013/mcfmGraph_PDF_ct10_scale6_var_%s.root" , distribution_char); char fileName_ct10_scale7[1000]; sprintf(fileName_ct10_scale7,"/afs/le.infn.it/user/n/niko/LesHouches2013/mcfmGraph_PDF_ct10_scale7_var_%s.root" , distribution_char); char fileName_ct10_scale8[1000]; sprintf(fileName_ct10_scale8,"/afs/le.infn.it/user/n/niko/LesHouches2013/mcfmGraph_PDF_ct10_scale8_var_%s.root" , distribution_char); TH1 *h_NPROC_263_LORD_abkm09 = new TH1F( ); TH1 *h_NPROC_50_LORD_abkm09 = new TH1F( ); TH1 *h_NPROC_261_VIRT_abkm09 = new TH1F( ); TH1 *h_NPROC_263_LORD_ct10 = new TH1F( ); TH1 *h_NPROC_50_LORD_ct10 = new TH1F( ); TH1 *h_NPROC_261_VIRT_ct10 = new TH1F( ); TH1 *h_NPROC_263_LORD_herapdf = new TH1F( ); TH1 *h_NPROC_50_LORD_herapdf = new TH1F( ); TH1 *h_NPROC_261_VIRT_herapdf = new TH1F( ); TH1 *h_NPROC_263_LORD_mstw2008 = new TH1F( ); TH1 *h_NPROC_50_LORD_mstw2008 = new TH1F( ); TH1 *h_NPROC_261_VIRT_mstw2008 = new TH1F( ); TH1 *h_NPROC_263_LORD_nnpdf22 = new TH1F( ); TH1 *h_NPROC_50_LORD_nnpdf22 = new TH1F( ); TH1 *h_NPROC_261_VIRT_nnpdf22 = new TH1F( ); TH1 *h_NPROC_263_LORD_ct10_scale1 = new TH1F( ); TH1 *h_NPROC_50_LORD_ct10_scale1 = new TH1F( ); TH1 *h_NPROC_261_VIRT_ct10_scale1 = new TH1F( ); TH1 *h_NPROC_263_LORD_ct10_scale2 = new TH1F( ); TH1 *h_NPROC_50_LORD_ct10_scale2 = new TH1F( ); TH1 *h_NPROC_261_VIRT_ct10_scale2 = new TH1F( ); TH1 *h_NPROC_263_LORD_ct10_scale3 = new TH1F( ); TH1 *h_NPROC_50_LORD_ct10_scale3 = new TH1F( ); TH1 *h_NPROC_261_VIRT_ct10_scale3 = new TH1F( ); TH1 *h_NPROC_263_LORD_ct10_scale4 = new TH1F( ); TH1 *h_NPROC_50_LORD_ct10_scale4 = new TH1F( ); TH1 *h_NPROC_261_VIRT_ct10_scale4 = new TH1F( ); TH1 *h_NPROC_263_LORD_ct10_scale5 = new TH1F( ); TH1 *h_NPROC_50_LORD_ct10_scale5 = new TH1F( ); TH1 *h_NPROC_261_VIRT_ct10_scale5 = new TH1F( ); TH1 *h_NPROC_263_LORD_ct10_scale6 = new TH1F( ); TH1 *h_NPROC_50_LORD_ct10_scale6 = new TH1F( ); TH1 *h_NPROC_261_VIRT_ct10_scale6 = new TH1F( ); TH1 *h_NPROC_263_LORD_ct10_scale7 = new TH1F( ); TH1 *h_NPROC_50_LORD_ct10_scale7 = new TH1F( ); TH1 *h_NPROC_261_VIRT_ct10_scale7 = new TH1F( ); TH1 *h_NPROC_263_LORD_ct10_scale8 = new TH1F( ); TH1 *h_NPROC_50_LORD_ct10_scale8 = new TH1F( ); TH1 *h_NPROC_261_VIRT_ct10_scale8 = new TH1F( ); TH1 *h_NPROC_41_VIRT_abkm09 = new TH1F( ); TH1 *h_NPROC_261_RE_abkm09 = new TH1F( ); TH1 *h_NPROC_266_RE_abkm09 = new TH1F( ); TH1 *h_NPROC_41_VIRT_ct10 = new TH1F( ); TH1 *h_NPROC_261_RE_ct10 = new TH1F( ); TH1 *h_NPROC_266_RE_ct10 = new TH1F( ); TH1 *h_NPROC_41_VIRT_herapdf = new TH1F( ); TH1 *h_NPROC_261_RE_herapdf = new TH1F( ); TH1 *h_NPROC_266_RE_herapdf = new TH1F( ); TH1 *h_NPROC_41_VIRT_mstw2008 = new TH1F( ); TH1 *h_NPROC_261_RE_mstw2008 = new TH1F( ); TH1 *h_NPROC_266_RE_mstw2008 = new TH1F( ); TH1 *h_NPROC_41_VIRT_nnpdf22 = new TH1F( ); TH1 *h_NPROC_261_RE_nnpdf22 = new TH1F( ); TH1 *h_NPROC_266_RE_nnpdf22 = new TH1F( ); TH1 *h_NPROC_41_VIRT_ct10_scale1 = new TH1F( ); TH1 *h_NPROC_261_RE_ct10_scale1 = new TH1F( ); TH1 *h_NPROC_266_RE_ct10_scale1 = new TH1F( ); TH1 *h_NPROC_41_VIRT_ct10_scale2 = new TH1F( ); TH1 *h_NPROC_261_RE_ct10_scale2 = new TH1F( ); TH1 *h_NPROC_266_RE_ct10_scale2 = new TH1F( ); TH1 *h_NPROC_41_VIRT_ct10_scale3 = new TH1F( ); TH1 *h_NPROC_261_RE_ct10_scale3 = new TH1F( ); TH1 *h_NPROC_266_RE_ct10_scale3 = new TH1F( ); TH1 *h_NPROC_41_VIRT_ct10_scale4 = new TH1F( ); TH1 *h_NPROC_261_RE_ct10_scale4 = new TH1F( ); TH1 *h_NPROC_266_RE_ct10_scale4 = new TH1F( ); TH1 *h_NPROC_41_VIRT_ct10_scale5 = new TH1F( ); TH1 *h_NPROC_261_RE_ct10_scale5 = new TH1F( ); TH1 *h_NPROC_266_RE_ct10_scale5 = new TH1F( ); TH1 *h_NPROC_41_VIRT_ct10_scale6 = new TH1F( ); TH1 *h_NPROC_261_RE_ct10_scale6 = new TH1F( ); TH1 *h_NPROC_266_RE_ct10_scale6 = new TH1F( ); TH1 *h_NPROC_41_VIRT_ct10_scale7 = new TH1F( ); TH1 *h_NPROC_261_RE_ct10_scale7 = new TH1F( ); TH1 *h_NPROC_266_RE_ct10_scale7 = new TH1F( ); TH1 *h_NPROC_41_VIRT_ct10_scale8 = new TH1F( ); TH1 *h_NPROC_261_RE_ct10_scale8 = new TH1F( ); TH1 *h_NPROC_266_RE_ct10_scale8 = new TH1F( ); TH1 *h_NPROC_41_RE_abkm09 = new TH1F( ); TH1 *h_ZbTot_abkm09 = new TH1F( ); TH1 *h_ZjetTot_abkm09 = new TH1F( ); TH1 *h_NPROC_41_RE_ct10 = new TH1F( ); TH1 *h_ZbTot_ct10 = new TH1F( ); TH1 *h_ZjetTot_ct10 = new TH1F( ); TH1 *h_NPROC_41_RE_herapdf = new TH1F( ); TH1 *h_ZbTot_herapdf = new TH1F( ); TH1 *h_ZjetTot_herapdf = new TH1F( ); TH1 *h_NPROC_41_RE_mstw2008 = new TH1F( ); TH1 *h_ZbTot_mstw2008 = new TH1F( ); TH1 *h_ZjetTot_mstw2008 = new TH1F( ); TH1 *h_NPROC_41_RE_nnpdf22 = new TH1F( ); TH1 *h_ZbTot_nnpdf22 = new TH1F( ); TH1 *h_ZjetTot_nnpdf22 = new TH1F( ); TH1 *h_NPROC_41_RE_ct10_scale1 = new TH1F( ); TH1 *h_ZbTot_ct10_scale1 = new TH1F( ); TH1 *h_ZjetTot_ct10_scale1 = new TH1F( ); TH1 *h_NPROC_41_RE_ct10_scale2 = new TH1F( ); TH1 *h_ZbTot_ct10_scale2 = new TH1F( ); TH1 *h_ZjetTot_ct10_scale2 = new TH1F( ); TH1 *h_NPROC_41_RE_ct10_scale3 = new TH1F( ); TH1 *h_ZbTot_ct10_scale3 = new TH1F( ); TH1 *h_ZjetTot_ct10_scale3 = new TH1F( ); TH1 *h_NPROC_41_RE_ct10_scale4 = new TH1F( ); TH1 *h_ZbTot_ct10_scale4 = new TH1F( ); TH1 *h_ZjetTot_ct10_scale4 = new TH1F( ); TH1 *h_NPROC_41_RE_ct10_scale5 = new TH1F( ); TH1 *h_ZbTot_ct10_scale5 = new TH1F( ); TH1 *h_ZjetTot_ct10_scale5 = new TH1F( ); TH1 *h_NPROC_41_RE_ct10_scale6 = new TH1F( ); TH1 *h_ZbTot_ct10_scale6 = new TH1F( ); TH1 *h_ZjetTot_ct10_scale6 = new TH1F( ); TH1 *h_NPROC_41_RE_ct10_scale7 = new TH1F( ); TH1 *h_ZbTot_ct10_scale7 = new TH1F( ); TH1 *h_ZjetTot_ct10_scale7 = new TH1F( ); TH1 *h_NPROC_41_RE_ct10_scale8 = new TH1F( ); TH1 *h_ZbTot_ct10_scale8 = new TH1F( ); TH1 *h_ZjetTot_ct10_scale8 = new TH1F( ); TFile *f__abkm09 = new TFile(fileName_abkm09); f__abkm09->GetObject ("ZjetTot" , h_ZjetTot_abkm09 ); f__abkm09->GetObject ("ZbTot" , h_ZbTot_abkm09 ); TFile *f__ct10 = new TFile(fileName_ct10); f__ct10->GetObject ("ZjetTot" , h_ZjetTot_ct10 ); f__ct10->GetObject ("ZbTot" , h_ZbTot_ct10 ); TFile *f__herapdf = new TFile(fileName_herapdf); f__herapdf->GetObject ("ZjetTot" , h_ZjetTot_herapdf ); f__herapdf->GetObject ("ZbTot" , h_ZbTot_herapdf ); TFile *f__mstw2008 = new TFile(fileName_mstw2008); f__mstw2008->GetObject ("ZjetTot" , h_ZjetTot_mstw2008 ); f__mstw2008->GetObject ("ZbTot" , h_ZbTot_mstw2008 ); TFile *f__nnpdf22 = new TFile(fileName_nnpdf22); f__nnpdf22->GetObject ("ZjetTot" , h_ZjetTot_nnpdf22 ); f__nnpdf22->GetObject ("ZbTot" , h_ZbTot_nnpdf22 ); TFile *f__ct10_scale1 = new TFile(fileName_ct10_scale1); f__ct10_scale1->GetObject ("ZjetTot" , h_ZjetTot_ct10_scale1 ); f__ct10_scale1->GetObject ("ZbTot" , h_ZbTot_ct10_scale1 ); TFile *f__ct10_scale2 = new TFile(fileName_ct10_scale2); f__ct10_scale2->GetObject ("ZjetTot" , h_ZjetTot_ct10_scale2 ); f__ct10_scale2->GetObject ("ZbTot" , h_ZbTot_ct10_scale2 ); TFile *f__ct10_scale3 = new TFile(fileName_ct10_scale3); f__ct10_scale3->GetObject ("ZjetTot" , h_ZjetTot_ct10_scale3 ); f__ct10_scale3->GetObject ("ZbTot" , h_ZbTot_ct10_scale3 ); TFile *f__ct10_scale4 = new TFile(fileName_ct10_scale4); f__ct10_scale4->GetObject ("ZjetTot" , h_ZjetTot_ct10_scale4 ); f__ct10_scale4->GetObject ("ZbTot" , h_ZbTot_ct10_scale4 ); TFile *f__ct10_scale5 = new TFile(fileName_ct10_scale5); f__ct10_scale5->GetObject ("ZjetTot" , h_ZjetTot_ct10_scale5 ); f__ct10_scale5->GetObject ("ZbTot" , h_ZbTot_ct10_scale5 ); TFile *f__ct10_scale6 = new TFile(fileName_ct10_scale6); f__ct10_scale6->GetObject ("ZjetTot" , h_ZjetTot_ct10_scale6 ); f__ct10_scale6->GetObject ("ZbTot" , h_ZbTot_ct10_scale6 ); TFile *f__ct10_scale7 = new TFile(fileName_ct10_scale7); f__ct10_scale7->GetObject ("ZjetTot" , h_ZjetTot_ct10_scale7 ); f__ct10_scale7->GetObject ("ZbTot" , h_ZbTot_ct10_scale7 ); TFile *f__ct10_scale8 = new TFile(fileName_ct10_scale8); f__ct10_scale8->GetObject ("ZjetTot" , h_ZjetTot_ct10_scale8 ); f__ct10_scale8->GetObject ("ZbTot" , h_ZbTot_ct10_scale8 ); TH1F *h_ZbZjRatio_abkm09 =(*h_ZbTot_abkm09 ) .Clone(); TH1F *h_ZbZjRatio_ct10 =(*h_ZbTot_ct10 ) .Clone(); TH1F *h_ZbZjRatio_herapdf =(*h_ZbTot_herapdf ) .Clone(); TH1F *h_ZbZjRatio_mstw2008 =(*h_ZbTot_mstw2008 ) .Clone(); TH1F *h_ZbZjRatio_nnpdf22 =(*h_ZbTot_nnpdf22 ) .Clone(); TH1F *h_ZbZJRatio_ct10_scale1 =(*h_ZbTot_ct10_scale1 ) .Clone(); TH1F *h_ZbZJRatio_ct10_scale2 =(*h_ZbTot_ct10_scale2 ) .Clone(); TH1F *h_ZbZjRatio_ct10_scale3 =(*h_ZbTot_ct10_scale3 ) .Clone(); TH1F *h_ZbZjRatio_ct10_scale4 =(*h_ZbTot_ct10_scale4 ) .Clone(); TH1F *h_ZbZJRatio_ct10_scale5 =(*h_ZbTot_ct10_scale5 ) .Clone(); TH1F *h_ZbZJRatio_ct10_scale6 =(*h_ZbTot_ct10_scale6 ) .Clone(); TH1F *h_ZbZjRatio_ct10_scale7 =(*h_ZbTot_ct10_scale7 ) .Clone(); TH1F *h_ZbZjRatio_ct10_scale8 =(*h_ZbTot_ct10_scale8 ) .Clone(); h_ZbZjRatio_abkm09 ->Divide(h_ZjetTot_abkm09 ); h_ZbZjRatio_ct10 ->Divide(h_ZjetTot_ct10 ); h_ZbZjRatio_herapdf ->Divide(h_ZjetTot_herapdf ); h_ZbZjRatio_mstw2008 ->Divide(h_ZjetTot_mstw2008 ); h_ZbZjRatio_nnpdf22 ->Divide(h_ZjetTot_nnpdf22 ); h_ZbZJRatio_ct10_scale1->Divide(h_ZjetTot_ct10_scale1); h_ZbZJRatio_ct10_scale2->Divide(h_ZjetTot_ct10_scale2); h_ZbZjRatio_ct10_scale3->Divide(h_ZjetTot_ct10_scale3); h_ZbZjRatio_ct10_scale4->Divide(h_ZjetTot_ct10_scale4); h_ZbZJRatio_ct10_scale5->Divide(h_ZjetTot_ct10_scale5); h_ZbZJRatio_ct10_scale6->Divide(h_ZjetTot_ct10_scale6); h_ZbZjRatio_ct10_scale7->Divide(h_ZjetTot_ct10_scale7); h_ZbZjRatio_ct10_scale8->Divide(h_ZjetTot_ct10_scale8); const int n = 100; float xVar[n],Central_Zb[n],Central_Zj[n],xVarErr[n],xVarErr[n],ErrUp_Zb[n],ErrDown_Zb[n],ErrUp_Zj[n],ErrDown_Zj[n], Central_ZbZjRatio[n],ErrUp_ZbZjRatio[n],ErrDown_ZbZjRatio[n], ratioToCT10_Central_Zb[n],ratioToCT10_Central_Zj[n],ratioToCT10_Central_ZbZjRatio[n], ratioToCT10_ErrUp_Zb[n],ratioToCT10_ErrDown_Zb[n],ratioToCT10_ErrUp_Zj[n],ratioToCT10_ErrDown_Zj[n],ratioToCT10_ErrUp_ZbZjRatio[n],ratioToCT10_ErrDown_ZbZjRatio[n]; for( int index = 1 ; index != myn ; index ++ ) { xVar [index-1]= (mynewBins[index-1]+mynewBins[index]) /2; xVarErr [index-1]= (-mynewBins[index-1]+mynewBins[index])/2; Central_Zb [index-1]= h_ZbTot_ct10 ->GetBinContent(index) ; Central_Zj [index-1]= h_ZjetTot_ct10 ->GetBinContent(index) ; Central_ZbZjRatio[index-1]= h_ZbZjRatio_ct10->GetBinContent(index) ; float v0_Zb = h_ZbTot_ct10 ->GetBinContent(index);float v0_Zj = h_ZjetTot_ct10 ->GetBinContent(index);float v0_ZbZjRatio = h_ZbZjRatio_ct10 ->GetBinContent(index); float v1_Zb = h_ZbTot_ct10_scale1->GetBinContent(index);float v1_Zj = h_ZjetTot_ct10_scale1->GetBinContent(index);float v1_ZbZjRatio = h_ZbZJRatio_ct10_scale1->GetBinContent(index); float v2_Zb = h_ZbTot_ct10_scale2->GetBinContent(index);float v2_Zj = h_ZjetTot_ct10_scale2->GetBinContent(index);float v2_ZbZjRatio = h_ZbZJRatio_ct10_scale2->GetBinContent(index); float v3_Zb = h_ZbTot_ct10_scale3->GetBinContent(index);float v3_Zj = h_ZjetTot_ct10_scale3->GetBinContent(index);float v3_ZbZjRatio = h_ZbZjRatio_ct10_scale3->GetBinContent(index); float v4_Zb = h_ZbTot_ct10_scale4->GetBinContent(index);float v4_Zj = h_ZjetTot_ct10_scale4->GetBinContent(index);float v4_ZbZjRatio = h_ZbZjRatio_ct10_scale4->GetBinContent(index); float v5_Zb = h_ZbTot_ct10_scale5->GetBinContent(index);float v5_Zj = h_ZjetTot_ct10_scale5->GetBinContent(index);float v5_ZbZjRatio = h_ZbZJRatio_ct10_scale5->GetBinContent(index); float v6_Zb = h_ZbTot_ct10_scale6->GetBinContent(index);float v6_Zj = h_ZjetTot_ct10_scale6->GetBinContent(index);float v6_ZbZjRatio = h_ZbZJRatio_ct10_scale6->GetBinContent(index); float v7_Zb = h_ZbTot_ct10_scale7->GetBinContent(index);float v7_Zj = h_ZjetTot_ct10_scale7->GetBinContent(index);float v7_ZbZjRatio = h_ZbZjRatio_ct10_scale7->GetBinContent(index); float v8_Zb = h_ZbTot_ct10_scale8->GetBinContent(index);float v8_Zj = h_ZjetTot_ct10_scale8->GetBinContent(index);float v8_ZbZjRatio = h_ZbZjRatio_ct10_scale8->GetBinContent(index); if(dbg==1)std::cout<<"\n"<SetLineColor(col_abkm09 ); h_ZjetTot_abkm09 ->SetLineColor(col_abkm09 ); h_ZbZjRatio_abkm09 ->SetLineColor(col_abkm09 ); h_ZbTot_ct10 ->SetLineColor(col_ct10 ); h_ZjetTot_ct10 ->SetLineColor(col_ct10 ); h_ZbZjRatio_ct10 ->SetLineColor(col_ct10 ); h_ZbTot_herapdf ->SetLineColor(col_herapdf ); h_ZjetTot_herapdf ->SetLineColor(col_herapdf ); h_ZbZjRatio_herapdf ->SetLineColor(col_herapdf ); h_ZbTot_mstw2008 ->SetLineColor(col_mstw2008 ); h_ZjetTot_mstw2008 ->SetLineColor(col_mstw2008 ); h_ZbZjRatio_mstw2008 ->SetLineColor(col_mstw2008 ); h_ZbTot_nnpdf22 ->SetLineColor(col_nnpdf22 ); h_ZjetTot_nnpdf22 ->SetLineColor(col_nnpdf22 ); h_ZbZjRatio_nnpdf22 ->SetLineColor(col_nnpdf22 ); Zb_CTEQ_withUnc ->SetLineColor(col_ct10 ); Zj_CTEQ_withUnc ->SetLineColor(col_ct10 ); ZbZjRatio_CTEQ_withUnc->SetLineColor(col_ct10 ); h_ZbTot_abkm09 ->SetLineStyle(s_abkm09 ); h_ZjetTot_abkm09 ->SetLineStyle(s_abkm09 ); h_ZbZjRatio_abkm09 ->SetLineStyle(s_abkm09 ); h_ZbTot_ct10 ->SetLineStyle(s_ct10 ); h_ZjetTot_ct10 ->SetLineStyle(s_ct10 ); h_ZbZjRatio_ct10 ->SetLineStyle(s_ct10 ); h_ZbTot_herapdf ->SetLineStyle(s_herapdf ); h_ZjetTot_herapdf ->SetLineStyle(s_herapdf ); h_ZbZjRatio_herapdf ->SetLineStyle(s_herapdf ); h_ZbTot_mstw2008 ->SetLineStyle(s_mstw2008 ); h_ZjetTot_mstw2008 ->SetLineStyle(s_mstw2008 ); h_ZbZjRatio_mstw2008 ->SetLineStyle(s_mstw2008 ); h_ZbTot_nnpdf22 ->SetLineStyle(s_nnpdf22 ); h_ZjetTot_nnpdf22 ->SetLineStyle(s_nnpdf22 ); h_ZbZjRatio_nnpdf22 ->SetLineStyle(s_nnpdf22 ); Zb_CTEQ_withUnc ->SetLineStyle(s_withUnc ); Zj_CTEQ_withUnc ->SetLineStyle(s_withUnc ); ZbZjRatio_CTEQ_withUnc->SetLineStyle(s_withUnc ); h_ZbTot_abkm09 ->SetLineWidth(w_abkm09 ); h_ZjetTot_abkm09 ->SetLineWidth(w_abkm09 ); h_ZbZjRatio_abkm09 ->SetLineWidth(w_abkm09 ); h_ZbTot_ct10 ->SetLineWidth(w_ct10 ); h_ZjetTot_ct10 ->SetLineWidth(w_ct10 ); h_ZbZjRatio_ct10 ->SetLineWidth(w_ct10 ); h_ZbTot_herapdf ->SetLineWidth(w_herapdf ); h_ZjetTot_herapdf ->SetLineWidth(w_herapdf ); h_ZbZjRatio_herapdf ->SetLineWidth(w_herapdf ); h_ZbTot_mstw2008 ->SetLineWidth(w_mstw2008); h_ZjetTot_mstw2008 ->SetLineWidth(w_mstw2008); h_ZbZjRatio_mstw2008 ->SetLineWidth(w_mstw2008); h_ZbTot_nnpdf22 ->SetLineWidth(w_nnpdf22 ); h_ZjetTot_nnpdf22 ->SetLineWidth(w_nnpdf22 ); h_ZbZjRatio_nnpdf22 ->SetLineWidth(w_nnpdf22 ); Zb_CTEQ_withUnc ->SetLineWidth(w_ct10 ); Zj_CTEQ_withUnc ->SetLineWidth(w_ct10 ); ZbZjRatio_CTEQ_withUnc->SetLineWidth(w_ct10 ); //Zb_CTEQ_withUnc ->SetFillStyle (s_withUnc ); Zj_CTEQ_withUnc->SetFillStyle (s_withUnc ); ZbZjRatio_CTEQ_withUnc ->SetFillStyle (s_withUnc ); Zb_CTEQ_withUnc ->SetFillColor (col_withUnc); Zj_CTEQ_withUnc->SetFillColor (col_withUnc); ZbZjRatio_CTEQ_withUnc ->SetFillColor (col_withUnc); Zb_CTEQ_withUnc ->SetMarkerStyle(6 ); Zj_CTEQ_withUnc->SetMarkerStyle(6 ); ZbZjRatio_CTEQ_withUnc ->SetMarkerStyle(6 ); Zb_CTEQ_withUnc ->SetMarkerSize (0.0001 ); Zj_CTEQ_withUnc->SetMarkerSize (0.0001 ); ZbZjRatio_CTEQ_withUnc ->SetMarkerSize (0.0001 ); //Special ratio plot ratioToCT10_Zb_CTEQ_withUnc ->SetLineColor(col_ct10 ); ratioToCT10_Zb_CTEQ_withUnc ->SetLineStyle(s_withUnc ); ratioToCT10_Zb_CTEQ_withUnc ->SetLineWidth(w_ct10 ); ratioToCT10_Zj_CTEQ_withUnc ->SetLineColor(col_ct10 ); ratioToCT10_Zj_CTEQ_withUnc ->SetLineStyle(s_withUnc ); ratioToCT10_Zj_CTEQ_withUnc ->SetLineWidth(w_ct10 ); ratioToCT10_ZbZjRatio_CTEQ_withUnc->SetLineColor(col_ct10 ); ratioToCT10_ZbZjRatio_CTEQ_withUnc->SetLineStyle(s_withUnc ); ratioToCT10_ZbZjRatio_CTEQ_withUnc->SetLineWidth(w_ct10 ); //ratioToCT10_Zb_CTEQ_withUnc ->SetFillStyle (s_withUnc ); ratioToCT10_Zj_CTEQ_withUnc ->SetFillStyle (s_withUnc ); ratioToCT10_ZbZjRatio_CTEQ_withUnc->SetFillStyle (s_withUnc ); ratioToCT10_Zb_CTEQ_withUnc ->SetFillColor (col_withUnc); ratioToCT10_Zj_CTEQ_withUnc ->SetFillColor (col_withUnc); ratioToCT10_ZbZjRatio_CTEQ_withUnc->SetFillColor (col_withUnc); ratioToCT10_Zb_CTEQ_withUnc ->SetMarkerStyle(6 ); ratioToCT10_Zj_CTEQ_withUnc ->SetMarkerStyle(6 ); ratioToCT10_ZbZjRatio_CTEQ_withUnc->SetMarkerStyle(6 ); ratioToCT10_Zb_CTEQ_withUnc ->SetMarkerSize (0.0001 ); ratioToCT10_Zj_CTEQ_withUnc ->SetMarkerSize (0.0001 ); ratioToCT10_ZbZjRatio_CTEQ_withUnc->SetMarkerSize (0.0001 ); //Axis size stuff /* Zb_CTEQ_withUnc->GetYaxis()->SetTitleSize(0.12); Zj_CTEQ_withUnc->GetYaxis()->SetTitleSize(0.12); ZbZjRatio_CTEQ_withUnc->GetYaxis()->SetTitleSize(0.12); Zb_CTEQ_withUnc->GetYaxis()->SetTitleOffset(0.35); Zj_CTEQ_withUnc->GetYaxis()->SetTitleOffset(0.35); ZbZjRatio_CTEQ_withUnc->GetYaxis()->SetTitleOffset(0.35); Zb_CTEQ_withUnc->GetYaxis()->SetLabelSize(0.12); Zj_CTEQ_withUnc->GetYaxis()->SetLabelSize(0.12); ZbZjRatio_CTEQ_withUnc->GetYaxis()->SetLabelSize(0.12); Zb_CTEQ_withUnc->GetXaxis()->SetLabelSize(0.12); Zj_CTEQ_withUnc->GetXaxis()->SetLabelSize(0.12); ZbZjRatio_CTEQ_withUnc->GetXaxis()->SetLabelSize(0.12); Zb_CTEQ_withUnc->GetXaxis()->SetTitleSize(0.15); Zj_CTEQ_withUnc->GetXaxis()->SetTitleSize(0.15); ZbZjRatio_CTEQ_withUnc->GetXaxis()->SetTitleSize(0.15); Zb_CTEQ_withUnc->GetXaxis()->SetTitleOffset(1.0); Zj_CTEQ_withUnc->GetXaxis()->SetTitleOffset(1.0); ZbZjRatio_CTEQ_withUnc->GetXaxis()->SetTitleOffset(1.0); Zb_CTEQ_withUnc->GetXaxis()->SetTickLength(0.09); Zj_CTEQ_withUnc->GetXaxis()->SetTickLength(0.09); ZbZjRatio_CTEQ_withUnc->GetXaxis()->SetTickLength(0.09); */ TH1F *h_ratioToCT10_ZbTot_abkm09 =(*h_ZbTot_abkm09 ) .Clone(); TH1F *h_ratioToCT10_ZbTot_ct10 =(*h_ZbTot_ct10 ) .Clone(); TH1F *h_ratioToCT10_ZbTot_herapdf =(*h_ZbTot_herapdf ) .Clone(); TH1F *h_ratioToCT10_ZbTot_mstw2008 =(*h_ZbTot_mstw2008 ) .Clone(); TH1F *h_ratioToCT10_ZbTot_nnpdf22 =(*h_ZbTot_nnpdf22 ) .Clone(); TH1F *h_ratioToCT10_ZjetTot_abkm09 =(*h_ZjetTot_abkm09 ) .Clone(); TH1F *h_ratioToCT10_ZjetTot_ct10 =(*h_ZjetTot_ct10 ) .Clone(); TH1F *h_ratioToCT10_ZjetTot_herapdf =(*h_ZjetTot_herapdf ) .Clone(); TH1F *h_ratioToCT10_ZjetTot_mstw2008 =(*h_ZjetTot_mstw2008 ) .Clone(); TH1F *h_ratioToCT10_ZjetTot_nnpdf22 =(*h_ZjetTot_nnpdf22 ) .Clone(); TH1F *h_ratioToCT10_ZbZjRatio_abkm09 =(*h_ZbZjRatio_abkm09 ) .Clone(); TH1F *h_ratioToCT10_ZbZjRatio_ct10 =(*h_ZbZjRatio_ct10 ) .Clone(); TH1F *h_ratioToCT10_ZbZjRatio_herapdf =(*h_ZbZjRatio_herapdf ) .Clone(); TH1F *h_ratioToCT10_ZbZjRatio_mstw2008 =(*h_ZbZjRatio_mstw2008 ) .Clone(); TH1F *h_ratioToCT10_ZbZjRatio_nnpdf22 =(*h_ZbZjRatio_nnpdf22 ) .Clone(); h_ratioToCT10_ZbTot_abkm09 ->Divide(h_ZbTot_ct10); h_ratioToCT10_ZjetTot_abkm09 ->Divide(h_ZjetTot_ct10); h_ratioToCT10_ZbZjRatio_abkm09 ->Divide(h_ZbZjRatio_ct10); h_ratioToCT10_ZbTot_ct10 ->Divide(h_ZbTot_ct10); h_ratioToCT10_ZjetTot_ct10 ->Divide(h_ZjetTot_ct10); h_ratioToCT10_ZbZjRatio_ct10 ->Divide(h_ZbZjRatio_ct10); h_ratioToCT10_ZbTot_herapdf ->Divide(h_ZbTot_ct10); h_ratioToCT10_ZjetTot_herapdf ->Divide(h_ZjetTot_ct10); h_ratioToCT10_ZbZjRatio_herapdf ->Divide(h_ZbZjRatio_ct10); h_ratioToCT10_ZbTot_mstw2008->Divide(h_ZbTot_ct10); h_ratioToCT10_ZjetTot_mstw2008->Divide(h_ZjetTot_ct10); h_ratioToCT10_ZbZjRatio_mstw2008->Divide(h_ZbZjRatio_ct10); h_ratioToCT10_ZbTot_nnpdf22 ->Divide(h_ZbTot_ct10); h_ratioToCT10_ZjetTot_nnpdf22 ->Divide(h_ZjetTot_ct10); h_ratioToCT10_ZbZjRatio_nnpdf22 ->Divide(h_ZbZjRatio_ct10); float minx = mynewBins[0]-mynewBins[0]*0.005; //float minx = 27; float maxx = mynewBins[myn-1]-mynewBins[myn-1]*0.005; char xTitle_Zb[1000]; char yTitle_Zb[1000]; if(mydistribution==2)sprintf(xTitle_Zb,"p^{Z}_{T}[GeV]"); if(mydistribution==2)sprintf(yTitle_Zb,"#frac{1}{#sigma(Z+b)} #frac{d#sigma(Z+b)}{dp^{Z}_{T}}[GeV^{-1}]"); if(mydistribution==3)sprintf(xTitle_Zb,"p^{Z} [GeV]"); if(mydistribution==3)sprintf(yTitle_Zb,"#frac{1}{#sigma(Z+b)} #frac{d#sigma(Z+b)}{dp^{Z}}[GeV^{-1}]"); if(mydistribution==4)sprintf(xTitle_Zb,"|#eta_{Z}|"); if(mydistribution==4)sprintf(yTitle_Zb,"#frac{1}{#sigma(Z+b)} #frac{d#sigma(Z+b)}{d|#eta_{Z}|}"); if(mydistribution==5)sprintf(xTitle_Zb,"|y_{Z}|"); if(mydistribution==5)sprintf(yTitle_Zb,"#frac{1}{#sigma(Z+b)} #frac{d#sigma(Z+b)}{d|y_{Z}|}"); if(mydistribution==6)sprintf(xTitle_Zb,"p^{jet}_{T} [GeV]"); if(mydistribution==6)sprintf(yTitle_Zb,"#frac{1}{#sigma(Z+b)} #frac{d#sigma(Z+b)}{dp^{jet}_{T}}[GeV^{-1}]"); if(mydistribution==7)sprintf(xTitle_Zb,"|#eta_{jet}|"); if(mydistribution==7)sprintf(yTitle_Zb,"#frac{1}{#sigma(Z+b)} #frac{d#sigma(Z+b)}{d|#eta_{jet}|}"); char xTitle_Zj[1000]; char yTitle_Zj[1000]; if(mydistribution==2)sprintf(xTitle_Zj,"p^{Z}_{T}[GeV]"); if(mydistribution==2)sprintf(yTitle_Zj,"#frac{1}{#sigma(Z+jets)} #frac{d#sigma(Z+jets)}{dp^{Z}_{T}}[GeV^{-1}]"); if(mydistribution==3)sprintf(xTitle_Zj,"p^{Z} [GeV]"); if(mydistribution==3)sprintf(yTitle_Zj,"#frac{1}{#sigma(Z+jets)} #frac{d#sigma(Z+jets)}{dp^{Z}}[GeV^{-1}]"); if(mydistribution==4)sprintf(xTitle_Zj,"|#eta_{Z}|"); if(mydistribution==4)sprintf(yTitle_Zj,"#frac{1}{#sigma(Z+jets)} #frac{d#sigma(Z+jets)}{d|#eta_{Z}|}"); if(mydistribution==5)sprintf(xTitle_Zj,"|y_{Z}|"); if(mydistribution==5)sprintf(yTitle_Zj,"#frac{1}{#sigma(Z+jets)} #frac{d#sigma(Z+jets)}{d|y_{Z}|}"); if(mydistribution==6)sprintf(xTitle_Zj,"p^{jet}_{T} [GeV]");if(mydistribution==6)sprintf(yTitle_Zj,"#frac{1}{#sigma(Z+jets)} #frac{d#sigma(Z+jets)}{dp^{jet}_{T}}[GeV^{-1}]"); if(mydistribution==7)sprintf(xTitle_Zj,"|#eta_{jet}|"); if(mydistribution==7)sprintf(yTitle_Zj,"#frac{1}{#sigma(Z+jets)} #frac{d#sigma(Z+jets)}{d|#eta_{jet}|}"); char xTitle_ZbZjRatio[1000]; char yTitle_ZbZjRatio[1000]; if(mydistribution==2)sprintf(xTitle_ZbZjRatio,"p^{Z}_{T}[GeV]"); if(mydistribution==3)sprintf(xTitle_ZbZjRatio,"p^{Z} [GeV]"); if(mydistribution==4)sprintf(xTitle_ZbZjRatio,"|#eta_{Z}|"); if(mydistribution==5)sprintf(xTitle_ZbZjRatio,"|y_{Z}|"); if(mydistribution==6)sprintf(xTitle_ZbZjRatio,"p^{jet}_{T} [GeV]"); if(mydistribution==7)sprintf(xTitle_ZbZjRatio,"|#eta_{jet}|"); if(mydistribution==2)sprintf(yTitle_ZbZjRatio,"#frac{1}{#sigma(Z+b)} #frac{d#sigma(Z+b)}{dp^{Z}_{T}} #left[ #frac{1}{#sigma(Z+jets)} #frac{d#sigma(Z+jets)}{dp^{Z}_{T}}#right]^{-1}"); if(mydistribution==3)sprintf(yTitle_ZbZjRatio,"#frac{1}{#sigma(Z+b)} #frac{d#sigma(Z+b)}{dp^{Z}} #left[#frac{1}{#sigma(Z+jets)} #frac{d#sigma(Z+jets)}{dp^{Z}}#right]^{-1}"); if(mydistribution==4)sprintf(yTitle_ZbZjRatio,"#frac{1}{#sigma(Z+b)} #frac{d#sigma(Z+b)}{d|#eta_{Z}|} #left[#frac{1}{#sigma(Z+jets)} #frac{d#sigma(Z+jets)}{d|#eta_{Z}|}#right]^{-1}"); if(mydistribution==5)sprintf(yTitle_ZbZjRatio,"#frac{1}{#sigma(Z+b)} #frac{d#sigma(Z+b)}{d|y_{Z}|} #left[#frac{1}{#sigma(Z+jets)} #frac{d#sigma(Z+jets)}{d|y_{Z}|}#right]^{-1}"); if(mydistribution==6)sprintf(yTitle_ZbZjRatio,"#frac{1}{#sigma(Z+b)} #frac{d#sigma(Z+b)}{dp^{jet}_{T}} #left[#frac{1}{#sigma(Z+jets)} #frac{d#sigma(Z+jets)}{dp^{jet}_{T}}#right]^{-1}"); if(mydistribution==7)sprintf(yTitle_ZbZjRatio,"#frac{1}{#sigma(Z+b)} #frac{d#sigma(Z+b)}{d|#eta_{jet}|} #left[#frac{1}{#sigma(Z+jets)} #frac{d#sigma(Z+jets)}{d|#eta_{jet}|}#right]^{-1}"); char plotName_Zb [1000]; char plotName_Zjet [1000]; char plotName_ZbZjRatio[1000]; if(mydistribution==2)sprintf(plotName_Zb,"Zb_Zpt.eps"); if(mydistribution==2)sprintf(plotName_Zjet,"Zj_Zpt.eps"); if(mydistribution==2)sprintf(plotName_ZbZjRatio,"ZbZjRatio_Zpt.eps"); if(mydistribution==3)sprintf(plotName_Zb,"Zb_Zp.eps"); if(mydistribution==3)sprintf(plotName_Zjet,"Zj_Zp.eps"); if(mydistribution==3)sprintf(plotName_ZbZjRatio,"ZbZjRatio_Zp.eps"); if(mydistribution==4)sprintf(plotName_Zb,"Zb_Zeta.eps"); if(mydistribution==4)sprintf(plotName_Zjet,"Zj_Zeta.eps"); if(mydistribution==4)sprintf(plotName_ZbZjRatio,"ZbZjRatio_Zeta.eps"); if(mydistribution==5)sprintf(plotName_Zb,"Zb_Zy.eps"); if(mydistribution==5)sprintf(plotName_Zjet,"Zj_Zy.eps"); if(mydistribution==5)sprintf(plotName_ZbZjRatio,"ZbZjRatio_Zy.eps"); if(mydistribution==6)sprintf(plotName_Zb,"Zb_jetPt.eps"); if(mydistribution==6)sprintf(plotName_Zjet,"Zj_jetPt.eps"); if(mydistribution==6)sprintf(plotName_ZbZjRatio,"ZbZjRatio_jetPt.eps"); if(mydistribution==7)sprintf(plotName_Zb,"Zb_jetEta.eps"); if(mydistribution==7)sprintf(plotName_Zjet,"Zj_jetEta.eps"); if(mydistribution==7)sprintf(plotName_ZbZjRatio,"ZbZjRatio_jetEta.eps"); //****************************************************************** // Zb plot //****************************************************************** TCanvas *myPlot_ZbTot= new TCanvas("cv_ZbTot","",600,600); TPad* cv_Zb_a = new TPad("cv_Zb_a", "",0.0,0.30,1.0,1.0); cv_Zb_a->SetTopMargin(0.05); cv_Zb_a->SetBottomMargin(0.001); cv_Zb_a->Draw(); TPad* cv_Zb_b = new TPad("cv_Zb_b", "",0.0,0.0,1.0,0.30); cv_Zb_b->SetTopMargin(0.0); cv_Zb_b->SetBottomMargin(0.35); cv_Zb_b->Draw(); if(mydistribution==2||mydistribution==3||mydistribution==6) cv_Zb_a->SetLogx(); cv_Zb_a->cd(); if( !(mydistribution==4||mydistribution==5||mydistribution==7) ) cv_Zb_a->SetLogy(); if( ! (mydistribution==2||mydistribution==3||mydistribution==6) ) Zb_CTEQ_withUnc ->GetYaxis()->SetMoreLogLabels(); Zb_CTEQ_withUnc ->GetYaxis()->SetNdivisions(5,3,2); Zb_CTEQ_withUnc ->GetXaxis()->SetRangeUser(minx,maxx); Zb_CTEQ_withUnc ->GetYaxis()->SetTitle(yTitle_Zb); Zb_CTEQ_withUnc ->GetYaxis()->SetTitleOffset(1.5); if(mydistribution==2||mydistribution==3||mydistribution==6) Zb_CTEQ_withUnc ->GetXaxis()->SetMoreLogLabels(); Zb_CTEQ_withUnc ->Draw("ape2]["); h_ZbTot_ct10 ->Draw("same]["); h_ZbTot_abkm09 ->Draw("same]["); h_ZbTot_herapdf ->Draw("same]["); h_ZbTot_mstw2008 ->Draw("same]["); h_ZbTot_nnpdf22 ->Draw("same]["); TLegend * leg_Zb = new TLegend(0.7,0.6,0.92,0.92); leg_Zb->AddEntry(Zb_CTEQ_withUnc ,"CT10" , "lf"); leg_Zb->AddEntry(h_ZbTot_abkm09 ,"ABKM09" , "l"); leg_Zb->AddEntry(h_ZbTot_herapdf ,"HERA1.5" , "l"); leg_Zb->AddEntry(h_ZbTot_mstw2008 ,"MSTW2008" , "l"); leg_Zb->AddEntry(h_ZbTot_nnpdf22 ,"NNPDF2.2" , "l"); leg_Zb->SetShadowColor(1); leg_Zb->SetBorderSize(0); leg_Zb->SetFillColor(kWhite); leg_Zb->SetFillStyle(0); leg_Zb->SetTextSize(0.04); leg_Zb->Draw(); cv_Zb_b->cd()->SetGridy(); if(mydistribution==2||mydistribution==3||mydistribution==6) cv_Zb_b->SetLogx(); ratioToCT10_Zb_CTEQ_withUnc ->GetXaxis()->SetRangeUser(minx,maxx); ratioToCT10_Zb_CTEQ_withUnc ->GetYaxis()->SetRangeUser(0.7,1.3); ratioToCT10_Zb_CTEQ_withUnc ->GetYaxis()->SetTitle("Ratio to CT10"); ratioToCT10_Zb_CTEQ_withUnc ->GetYaxis()->SetTitleSize(0.12); ratioToCT10_Zb_CTEQ_withUnc ->GetYaxis()->SetTitleOffset(0.5); ratioToCT10_Zb_CTEQ_withUnc ->GetYaxis()->SetNdivisions(5,3,2); ratioToCT10_Zb_CTEQ_withUnc ->GetXaxis()->SetTitle(xTitle_Zb); ratioToCT10_Zb_CTEQ_withUnc ->GetXaxis()->SetTitleSize(0.12); if(mydistribution==2||mydistribution==3||mydistribution==6) ratioToCT10_Zb_CTEQ_withUnc->GetXaxis()->SetMoreLogLabels(); ratioToCT10_Zb_CTEQ_withUnc ->GetXaxis()->SetLabelSize(0.12); ratioToCT10_Zb_CTEQ_withUnc ->GetYaxis()->SetLabelSize(0.12); ratioToCT10_Zb_CTEQ_withUnc ->Draw("ape2]["); h_ratioToCT10_ZbTot_ct10 ->Draw("same]["); h_ratioToCT10_ZbTot_abkm09 ->Draw("same]["); h_ratioToCT10_ZbTot_herapdf ->Draw("same]["); h_ratioToCT10_ZbTot_mstw2008->Draw("same]["); h_ratioToCT10_ZbTot_nnpdf22 ->Draw("same]["); myPlot_ZbTot->SaveAs(plotName_Zb); //****************************************************************** // Zjet plot //****************************************************************** TCanvas *myPlot_ZjetTot= new TCanvas("cv_ZjetTot","",600,600); TPad* cv_Zjet_a = new TPad("cv_Zjet_a", "",0.0,0.30,1.0,1.0); cv_Zjet_a->SetTopMargin(0.05); cv_Zjet_a->SetBottomMargin(0.001); cv_Zjet_a->Draw(); TPad* cv_Zjet_b = new TPad("cv_Zjet_b", "",0.0,0.0,1.0,0.30); cv_Zjet_b->SetTopMargin(0.0); cv_Zjet_b->SetBottomMargin(0.35); cv_Zjet_b->Draw(); cv_Zjet_a->cd(); if( !(mydistribution==4||mydistribution==5||mydistribution==7) ) cv_Zjet_a->SetLogy(); if(mydistribution==2||mydistribution==3||mydistribution==6) cv_Zjet_a->SetLogx(); if( ! (mydistribution==2||mydistribution==3||mydistribution==6) ) Zj_CTEQ_withUnc ->GetYaxis()->SetMoreLogLabels(); Zj_CTEQ_withUnc ->GetYaxis()->SetNdivisions(5,3,2); Zj_CTEQ_withUnc ->GetXaxis()->SetRangeUser(minx,maxx); Zj_CTEQ_withUnc ->GetYaxis()->SetTitle(yTitle_Zj); Zj_CTEQ_withUnc ->GetYaxis()->SetTitleOffset(1.5); if(mydistribution==2||mydistribution==3||mydistribution==6) Zj_CTEQ_withUnc ->GetXaxis()->SetMoreLogLabels(); Zj_CTEQ_withUnc ->Draw("ape2]["); h_ZjetTot_ct10 ->Draw("same]["); h_ZjetTot_abkm09 ->Draw("same]["); h_ZjetTot_herapdf ->Draw("same]["); h_ZjetTot_mstw2008 ->Draw("same]["); h_ZjetTot_nnpdf22 ->Draw("same]["); TLegend * leg_Zjet = new TLegend(0.7,0.6,0.92,0.92); leg_Zjet->AddEntry(Zj_CTEQ_withUnc ,"CT10" , "lf"); leg_Zjet->AddEntry(h_ZjetTot_abkm09 ,"ABKM09" , "l"); leg_Zjet->AddEntry(h_ZjetTot_herapdf ,"HERA1.5" , "l"); leg_Zjet->AddEntry(h_ZjetTot_mstw2008 ,"MSTW2008" , "l"); leg_Zjet->AddEntry(h_ZjetTot_nnpdf22 ,"NNPDF2.2" , "l"); leg_Zjet->SetShadowColor(1); leg_Zjet->SetBorderSize(0); leg_Zjet->SetFillColor(kWhite); leg_Zjet->SetFillStyle(0); leg_Zjet->SetTextSize(0.04); leg_Zjet->Draw(); cv_Zjet_b->cd()->SetGridy(); if(mydistribution==2||mydistribution==3||mydistribution==6) cv_Zjet_b->SetLogx(); ratioToCT10_Zj_CTEQ_withUnc ->GetXaxis()->SetRangeUser(minx,maxx); ratioToCT10_Zj_CTEQ_withUnc ->GetYaxis()->SetRangeUser(0.7,1.3); ratioToCT10_Zj_CTEQ_withUnc ->GetYaxis()->SetTitle("Ratio to CT10"); ratioToCT10_Zj_CTEQ_withUnc ->GetYaxis()->SetTitleSize(0.12); ratioToCT10_Zj_CTEQ_withUnc ->GetYaxis()->SetTitleOffset(0.5); ratioToCT10_Zj_CTEQ_withUnc ->GetYaxis()->SetNdivisions(5,3,2); ratioToCT10_Zj_CTEQ_withUnc ->GetXaxis()->SetTitle(xTitle_Zj); ratioToCT10_Zj_CTEQ_withUnc ->GetXaxis()->SetTitleSize(0.12); if(mydistribution==2||mydistribution==3||mydistribution==6) ratioToCT10_Zj_CTEQ_withUnc->GetXaxis()->SetMoreLogLabels(); ratioToCT10_Zj_CTEQ_withUnc ->GetXaxis()->SetLabelSize(0.12); ratioToCT10_Zj_CTEQ_withUnc ->GetYaxis()->SetLabelSize(0.12); ratioToCT10_Zj_CTEQ_withUnc ->Draw("ape2]["); h_ratioToCT10_ZjetTot_ct10 ->Draw("same]["); h_ratioToCT10_ZjetTot_abkm09 ->Draw("same]["); h_ratioToCT10_ZjetTot_herapdf ->Draw("same]["); h_ratioToCT10_ZjetTot_mstw2008->Draw("same]["); h_ratioToCT10_ZjetTot_nnpdf22 ->Draw("same]["); myPlot_ZjetTot->SaveAs(plotName_Zjet); //****************************************************************** // ZbZjRatio plot //****************************************************************** TCanvas *myPlot_ZbZjRatioTot= new TCanvas("cv_ZbZjRatioTot","",600,600); TPad* cv_ZbZjRatio_a = new TPad("cv_ZbZjRatio_a", "",0.0,0.30,1.0,1.0); cv_ZbZjRatio_a->SetTopMargin(0.05); cv_ZbZjRatio_a->SetBottomMargin(0.001); cv_ZbZjRatio_a->Draw(); TPad* cv_ZbZjRatio_b = new TPad("cv_ZbZjRatio_b", "",0.0,0.0,1.0,0.30); cv_ZbZjRatio_b->SetTopMargin(0.0); cv_ZbZjRatio_b->SetBottomMargin(0.35); cv_ZbZjRatio_b->Draw(); cv_ZbZjRatio_a->cd(); //cv_ZbZjRatio_a->SetLogy(); if(mydistribution==2||mydistribution==3||mydistribution==6) cv_ZbZjRatio_a->SetLogx(); ZbZjRatio_CTEQ_withUnc ->GetYaxis()->SetMoreLogLabels(); ZbZjRatio_CTEQ_withUnc ->GetYaxis()->SetNdivisions(5,3,2); ZbZjRatio_CTEQ_withUnc ->GetXaxis()->SetRangeUser(minx,maxx); ZbZjRatio_CTEQ_withUnc ->GetYaxis()->SetTitle(yTitle_ZbZjRatio); ZbZjRatio_CTEQ_withUnc ->GetYaxis()->SetTitleOffset(1.5); if(mydistribution==2||mydistribution==3||mydistribution==6) ZbZjRatio_CTEQ_withUnc ->GetXaxis()->SetMoreLogLabels(); ZbZjRatio_CTEQ_withUnc ->Draw("ape2]["); h_ZbZjRatio_ct10 ->Draw("same]["); h_ZbZjRatio_abkm09 ->Draw("same]["); h_ZbZjRatio_herapdf ->Draw("same]["); h_ZbZjRatio_mstw2008 ->Draw("same]["); h_ZbZjRatio_nnpdf22 ->Draw("same]["); TLegend * leg_ZbZjRatio = new TLegend(0.7,0.6,0.92,0.92); leg_ZbZjRatio->AddEntry(ZbZjRatio_CTEQ_withUnc,"CT10" , "lf"); leg_ZbZjRatio->AddEntry(h_ZbZjRatio_abkm09 ,"ABKM09" , "l"); leg_ZbZjRatio->AddEntry(h_ZbZjRatio_herapdf ,"HERA1.5" , "l"); leg_ZbZjRatio->AddEntry(h_ZbZjRatio_mstw2008 ,"MSTW2008" , "l"); leg_ZbZjRatio->AddEntry(h_ZbZjRatio_nnpdf22 ,"NNPDF2.2" , "l"); leg_ZbZjRatio->SetShadowColor(1); leg_ZbZjRatio->SetBorderSize(0); leg_ZbZjRatio->SetFillColor(kWhite); leg_ZbZjRatio->SetFillStyle(0); leg_ZbZjRatio->SetTextSize(0.04); leg_ZbZjRatio->Draw(); cv_ZbZjRatio_b->cd()->SetGridy(); if(mydistribution==2||mydistribution==3||mydistribution==6) cv_ZbZjRatio_b->SetLogx(); ratioToCT10_ZbZjRatio_CTEQ_withUnc ->GetXaxis()->SetRangeUser(minx,maxx); ratioToCT10_ZbZjRatio_CTEQ_withUnc ->GetYaxis()->SetRangeUser(0.7,1.3); ratioToCT10_ZbZjRatio_CTEQ_withUnc ->GetYaxis()->SetTitle("Ratio to CT10"); ratioToCT10_ZbZjRatio_CTEQ_withUnc ->GetYaxis()->SetTitleSize(0.12); ratioToCT10_ZbZjRatio_CTEQ_withUnc ->GetYaxis()->SetTitleOffset(0.5); ratioToCT10_ZbZjRatio_CTEQ_withUnc ->GetYaxis()->SetNdivisions(5,3,2); ratioToCT10_ZbZjRatio_CTEQ_withUnc ->GetXaxis()->SetTitle(xTitle_ZbZjRatio); ratioToCT10_ZbZjRatio_CTEQ_withUnc ->GetXaxis()->SetTitleSize(0.12); if(mydistribution==2||mydistribution==3||mydistribution==6) ratioToCT10_ZbZjRatio_CTEQ_withUnc->GetXaxis()->SetMoreLogLabels(); ratioToCT10_ZbZjRatio_CTEQ_withUnc ->GetXaxis()->SetLabelSize(0.12); ratioToCT10_ZbZjRatio_CTEQ_withUnc ->GetYaxis()->SetLabelSize(0.12); ratioToCT10_ZbZjRatio_CTEQ_withUnc ->Draw("ape2]["); h_ratioToCT10_ZbZjRatio_ct10 ->Draw("same]["); h_ratioToCT10_ZbZjRatio_abkm09 ->Draw("same]["); h_ratioToCT10_ZbZjRatio_herapdf ->Draw("same]["); h_ratioToCT10_ZbZjRatio_mstw2008 ->Draw("same]["); h_ratioToCT10_ZbZjRatio_nnpdf22 ->Draw("same]["); myPlot_ZbZjRatioTot->SaveAs(plotName_ZbZjRatio); return; } float Minimum(float &minimum, float var1, float var2, float var3, float var4, float var5, float var6, float var7, float var8, float var9) { minimum=0; if(var2var1)maximum=-var1+var2; if(var3>var2)maximum=-var1+var3; if(var4>var3)maximum=-var1+var4; if(var5>var4)maximum=-var1+var5; if(var6>var5)maximum=-var1+var6; if(var7>var6)maximum=-var1+var7; if(var8>var7)maximum=-var1+var8; if(var9>var8)maximum=-var1+var9; maximum=fabs(maximum); return 0; }