void plotBDTG_p2(void) { auto resultsFile = TFile::Open("TMVAOutputBDT_p2.root"); TCut mycutst("target>0.200 && target<5.0"); // Use with plotting results TCanvas *c1 = new TCanvas("c1","",1600, 1100); auto p1 = new TPad("p1","", 0.0, 0.5, 1.0, 1.0); p1->Draw(); p1->cd(); auto resultsTree = (TTree*)resultsFile->Get("dataset/TestTree"); auto trainTree = (TTree*)resultsFile->Get("dataset/TrainTree"); auto htarget = new TH1D("htarget", "Momentum: Testing Set;p (GeV)", 200, 0.0, 5.2); auto hBDTG = new TH1D("hBDTG", "Momentum: Testing Set;p (GeV)", 200, 0.0, 5.2); resultsTree->Project("htarget", "target", mycutst); resultsTree->Project("hBDTG", "BDTG", mycutst); htarget->SetFillStyle(3000); htarget->SetFillColor(kGray); htarget->SetLineColor(kBlack); hBDTG->SetLineColor(kRed); htarget->SetLineWidth(3); hBDTG->SetLineWidth(3); htarget->Draw(); hBDTG->Draw("same"); TLegend *leg = new TLegend(0.3, 0.85, 0.5, 0.9); leg->AddEntry(htarget, "target"); leg->Draw(); leg = new TLegend(0.5, 0.85, 0.7, 0.9); leg->AddEntry(hBDTG, "BDTG"); leg->Draw(); c1->cd(); auto p2= new TPad("p2","", 0.0, 0.0, 0.5, 0.5); p2->Draw(); p2->cd(); auto hdiff = new TH1D("hdiff", "BDTG-target: Testing Set;#Deltap (GeV)", 200, -4.5, 3.0); resultsTree->Project("hdiff", "BDTG-target", mycutst); hdiff->SetLineWidth(3); gStyle->SetOptFit(1111); hdiff->Fit("gaus","", "", -0.5, 0.5); auto p2_1= new TPad("p2","", 0.125, 0.5, 0.5, 0.89); p2_1->Draw(); p2_1->cd(); resultsTree->Draw("BDTG-target:target>>h2(50,0.2,5.0,100,-2.0,2.0)", mycutst, "colz"); c1->cd(); auto p3= new TPad("p3","", 0.5, 0.0, 1.0, 0.5); p3->Draw(); p3->cd(); auto htraintarget = new TH1D("htraintarget", "Momentum: Training set;p (GeV)", 200, 0.0, 5.2); auto htrainBDTG = new TH1D("htrainBDTG", "Momentum: Training set;p (GeV)", 200, 0.0, 5.2); trainTree->Project("htraintarget", "target", mycutst); trainTree->Project("htrainBDTG", "BDTG", mycutst); htraintarget->SetFillStyle(3000); htraintarget->SetFillColor(kGray); htraintarget->SetLineColor(kBlack); htrainBDTG->SetLineColor(kRed); htraintarget->SetLineWidth(3); htrainBDTG->SetLineWidth(3); htraintarget->Draw(); htrainBDTG->Draw("same"); leg = new TLegend(0.3, 0.85, 0.5, 0.9); leg->AddEntry(htraintarget, "target"); leg->Draw(); leg = new TLegend(0.5, 0.85, 0.7, 0.9); leg->AddEntry(htrainBDTG, "BDTG"); leg->Draw(); c1->SaveAs("plotBDTG_p2.pdf"); c1->SaveAs("plotBDTG_p2.png"); }