void drawSample(TCanvas* C,TString Group1, TFile* F1,TString Group2, TFile* F2,TString channel, TString sample,bool PrintDiff){ drawHisto(C,Group1,F1,Group2,F2,channel,"nobtag_low",sample,1&&PrintDiff); drawHisto(C,Group1,F1,Group2,F2,channel,"nobtag_medium",sample,1&&PrintDiff); drawHisto(C,Group1,F1,Group2,F2,channel,"nobtag_high",sample,1&&PrintDiff); drawHisto(C,Group1,F1,Group2,F2,channel,"btag_low",sample,1&&PrintDiff); drawHisto(C,Group1,F1,Group2,F2,channel,"btag_high",sample,1&&PrintDiff); // drawHisto(C,Group1,F1,Group2,F2,channel,"0jet_low",sample,1&&PrintDiff); // drawHisto(C,Group1,F1,Group2,F2,channel,"0jet_high",sample,1&&PrintDiff); // drawHisto(C,Group1,F1,Group2,F2,channel,"boost_low",sample,1&&PrintDiff); // drawHisto(C,Group1,F1,Group2,F2,channel,"boost_high",sample,1&&PrintDiff); // drawHisto(C,Group1,F1,Group2,F2,channel,"vbf",sample,1&&PrintDiff); }
void drawCategory(TCanvas* C,TString Group1, TFile* F1,TString Group2, TFile* F2,TString channel, TString category,bool PrintDiff){ drawHisto(C,Group1,F1,Group2,F2,channel,category,"data_obs",1&&PrintDiff); drawHisto(C,Group1,F1,Group2,F2,channel,category,"ZTT",1&&PrintDiff); drawHisto(C,Group1,F1,Group2,F2,channel,category,"W",1&&PrintDiff); drawHisto(C,Group1,F1,Group2,F2,channel,category,"QCD",1&&PrintDiff); drawHisto(C,Group1,F1,Group2,F2,channel,category,"TT",1&&PrintDiff); drawHisto(C,Group1,F1,Group2,F2,channel,category,"ZL",0&&PrintDiff); drawHisto(C,Group1,F1,Group2,F2,channel,category,"ZJ",0&&PrintDiff); drawHisto(C,Group1,F1,Group2,F2,channel,category,"ZLL",0&&PrintDiff); drawHisto(C,Group1,F1,Group2,F2,channel,category,"VV",0&&PrintDiff); // drawHisto(C,Group1,F1,Group2,F2,channel,category,"ggH125",1&&PrintDiff); // drawHisto(C,Group1,F1,Group2,F2,channel,category,"qqH125",1&&PrintDiff); // drawHisto(C,Group1,F1,Group2,F2,channel,category,"VH125",0&&PrintDiff); }
void drawFlattp(){ gROOT->Reset(); gStyle->SetOptStat(0); gStyle->SetTitleSize(0.08); std::string inputName[] = { "analyz_W01J_5F_NLO_FXFX.root", "analyz_W0J_5F_NLO.root", "analyz_W0J_5F_NLO_Herwig.root", "analyz_W01JetLO_5F.root", "analyz_W0Jet_5F_LO.root", "analyz_W0Jet_5F_LO_Herwig.root" }; std::string legName[] = { "W+0/1 jet NLO with Pythia 8", "W+0 jet NLO with Pythia 8", "W+0 jet NLO with Herwig++", "W+0/1 jet LO with Pythia 8", "W+0 jet LO with Pythia 8", "W+0 jet LO with Herwig++" }; Int_t N = sizeof(inputName)/sizeof(inputName[0]); Int_t cN = 9; TFile *f[N]; TTree *t[N]; TH1F *hnJet[N]; TH1F *hjetPt[N]; TH1F *hjetEta[N]; TH1F *hMet[N]; TH1F *hlepPt[N]; TH1F *hplusYlepjet[N]; TH1F *hminusYlepjet[N]; TH1F *hplusYWjet[N]; TH1F *hminusYWjet[N]; for(Int_t i = 0; i < N; i++){ f[i] = TFile::Open(inputName[i].data()); t[i] = (TTree*) f[i]->Get("tree"); hnJet[i] = (TH1F*) f[i]->Get("hnJet"); hjetPt[i] = new TH1F(Form("hjetPt%d",i), "", 40, 0, 200); hjetEta[i] = new TH1F(Form("hjetEta%d",i), "", 20, -3, 3); hMet[i] = new TH1F(Form("hMet%d",i), "", 40, 0, 200); hlepPt[i] = new TH1F(Form("hlepPt%d",i), "", 40, 0, 200); hplusYlepjet[i] = new TH1F(Form("hplusYlepjet%d",i), "", 50, -5, 5); hminusYlepjet[i] = new TH1F(Form("hminusYlepjet%d",i), "", 50, -5, 5); hplusYWjet[i] = new TH1F(Form("hplusYWjet%d",i), "", 50, -5, 5); hminusYWjet[i] = new TH1F(Form("hminusYWjet%d",i), "", 50, -5, 5); if( i > 1 ){ hnJet[i]->Sumw2(); hjetPt[i]->Sumw2(); hjetEta[i]->Sumw2(); hMet[i]->Sumw2(); hlepPt[i]->Sumw2(); hplusYlepjet[i]->Sumw2(); hminusYlepjet[i]->Sumw2(); hplusYWjet[i]->Sumw2(); hminusYWjet[i]->Sumw2(); } hnJet[i]->Scale(1./hnJet[i]->Integral()); t[i]->Draw(Form("JetPt>>hjetPt%d",i), "(nJet>0)*weight"); hjetPt[i]->Scale(1./hjetPt[i]->Integral()); t[i]->Draw(Form("JetEta>>hjetEta%d",i), "(nJet>0)*weight"); hjetEta[i]->Scale(1./hjetEta[i]->Integral()); t[i]->Draw(Form("metPt>>hMet%d",i), "(nJet>0)*weight"); hMet[i]->Scale(1./hMet[i]->Integral()); t[i]->Draw(Form("LepPt>>hlepPt%d",i), "abs(LepId)==11", "(nJet>0)*weight"); hlepPt[i]->Scale(1./hlepPt[i]->Integral()); t[i]->Draw(Form("plusYLepJet>>hplusYlepjet%d",i), "(nJet>0)*weight"); hplusYlepjet[i]->Scale(1./hplusYlepjet[i]->Integral()); t[i]->Draw(Form("minusYLepJet>>hminusYlepjet%d",i), "(nJet>0)*weight"); hminusYlepjet[i]->Scale(1./hminusYlepjet[i]->Integral()); t[i]->Draw(Form("plusYWJet>>hplusYWjet%d",i), "(nJet>0)*weight"); hplusYWjet[i]->Scale(1./hplusYWjet[i]->Integral()); t[i]->Draw(Form("minusYWJet>>hminusYWjet%d",i), "(nJet>0)*weight"); hminusYWjet[i]->Scale(1./hminusYWjet[i]->Integral()); } TLegend *leg = new TLegend(0.6, 0.65, 0.85, 0.89); TCanvas *c[cN]; for(Int_t i = 0; i < cN; i++){ c[i] = new TCanvas(Form("c%d",i), "", 800, 600); } for(Int_t i = 0; i < N; i++){ if( i < 2 ) leg->AddEntry(hnJet[i], legName[i].data(), "f"); else leg->AddEntry(hnJet[i], legName[i].data(), "pl"); c[0]->cd()->SetLogy(); hnJet[i]->SetTitle("Jet multiplicity"); hnJet[i]->GetXaxis()->SetTitle("Jet multiplicity"); drawHisto(leg, hnJet, &i); c[1]->cd(); hjetPt[i]->SetTitle("Leading Jet p_{T}"); hjetPt[i]->GetXaxis()->SetTitle("Leading Jet p_{T} [GeV]"); hjetPt[i]->GetYaxis()->SetRangeUser(0, 0.31); drawHisto(leg, hjetPt, &i); c[2]->cd(); hjetEta[i]->SetTitle("Leading Jet #eta"); hjetEta[i]->GetXaxis()->SetTitle("Leading Jet #eta"); hjetEta[i]->GetYaxis()->SetRangeUser(0, 0.075); drawHisto(leg, hjetEta, &i); c[3]->cd(); hMet[i]->SetTitle("Leading #slashE_{T}"); hMet[i]->GetXaxis()->SetTitle("Leading #slashE_{T} [GeV]"); hMet[i]->GetYaxis()->SetRangeUser(0, 0.3); drawHisto(leg, hMet, &i); c[4]->cd(); hlepPt[i]->SetTitle("Leading p_{T}^{e}"); hlepPt[i]->GetXaxis()->SetTitle("Leading p_{T}^{e} [GeV]"); hlepPt[i]->GetYaxis()->SetRangeUser(0, 0.31); drawHisto(leg, hlepPt, &i); c[5]->cd(); hplusYlepjet[i]->SetTitle("[Y_{lep} + Y_{jet}]/2"); hplusYlepjet[i]->GetXaxis()->SetTitle("[Y_{lep} + Y_{jet}]/2"); hplusYlepjet[i]->GetYaxis()->SetRangeUser(0, 0.055); drawHisto(leg, hplusYlepjet, &i); c[6]->cd(); hminusYlepjet[i]->SetTitle("[Y_{lep} - Y_{jet}]/2"); hminusYlepjet[i]->GetXaxis()->SetTitle("[Y_{lep} - Y_{jet}]/2"); hminusYlepjet[i]->GetYaxis()->SetRangeUser(0, 0.13); drawHisto(leg, hminusYlepjet, &i); c[7]->cd(); hplusYWjet[i]->SetTitle("[Y_{W} + Y_{jet}]/2"); hplusYWjet[i]->GetXaxis()->SetTitle("[Y_{W} + Y_{jet}]/2"); hplusYWjet[i]->GetYaxis()->SetRangeUser(0, 0.055); drawHisto(leg, hplusYWjet, &i); c[8]->cd(); hminusYWjet[i]->SetTitle("[Y_{W} - Y_{jet}]/2"); hminusYWjet[i]->GetXaxis()->SetTitle("[Y_{W} - Y_{jet}]/2"); hminusYWjet[i]->GetYaxis()->SetRangeUser(0, 0.25); drawHisto(leg, hminusYWjet, &i); } c[0]->Print("WplusJet.pdf(", "pdf"); for(Int_t i = 0; i < cN; i++){ if( i > 0 && i < cN-1 ) c[i]->Print("WplusJet.pdf", "pdf"); } c[cN-1]->Print("WplusJet.pdf)", "pdf"); }