예제 #1
0
void CutFlow::standardCutFlowPlot(TH1D* data, THStack *hs, AllSamples samples, Variable variable){
	//Style
	TdrStyle style;
	style.setTDRStyle();

	//draw histos to files
	TCanvas *c1 = new TCanvas("Plot","Plot",900, 600);

	data->Draw();
	hs->Draw("hist");

	setBinLabels(hs, data);

	if(Globals::addHashErrors){
		TH1D* hashErrs = hashErrors(samples, variable);
		hashErrs->Draw("same e2");
	}

	data->Draw("E same");
	data->SetMarkerStyle(20);
	data->SetMarkerSize(0.5);

	hs->SetMaximum(data->GetBinContent(data->GetMaximumBin())*1.3);
	hs->GetXaxis()->SetLimits(variable.minX, variable.maxX);
	hs->GetXaxis()->SetTitle(variable.xTitle); hs->GetXaxis()->SetTitleSize(0.05);
	hs->GetYaxis()->SetTitle("Number of Events");hs->GetYaxis()->SetTitleSize(0.05);

	TLegend* leg = legend(samples);
	leg->Draw();

	TText* textChan = doChan(0.12,0.96);
	textChan->Draw();
	TText* textPrelim = doPrelim(0.58,0.96);
	textPrelim->Draw();

	c1->SetLogy();
	c1->SaveAs("Plots/ControlPlots/"+objName+"/Log/"+variable.name+".png");
	c1->SaveAs("Plots/ControlPlots/"+objName+"/Log/"+variable.name+".pdf");

	delete c1;
	delete leg;
	delete textChan;
	delete textPrelim;
}
예제 #2
0
void Plots2D::standardPlot(TH2D* ttbar, Variable variable){
	//Style
	TdrStyle style;
	style.setTDRStyle();
	gStyle->SetPalette(1);
	gStyle->SetPadRightMargin(0.12);
	//draw histos to files
	TCanvas *c1 = new TCanvas("Plot","Plot",900, 800);

	ttbar->Draw("COLZ");

//	ttbar->SetMaximum(ttbar->GetBinContent(ttbar->GetMaximumBin())*1.3);
	ttbar->SetAxisRange(variable.minX, variable.maxX, "X");
	ttbar->SetAxisRange(variable.minX, variable.maxX, "Y");
	ttbar->GetXaxis()->SetTitle("Gen " +variable.xTitle);
	ttbar->GetXaxis()->SetTitleSize(0.05);
	ttbar->GetYaxis()->SetTitle("Reco " +variable.xTitle);
	ttbar->GetYaxis()->SetTitleSize(0.05);

	for(unsigned int i = 0; i < bins.size(); i++){
 	TLine *line = new TLine(bins[i],variable.minX,bins[i], variable.maxX);
 	TLine *liney = new TLine(variable.minX,bins[i], variable.maxX, bins[i]);
	line->SetLineWidth(2);
	liney->SetLineWidth(2);
	liney->Draw();
	line->Draw();
	}

	TText* textChan = doChan(0.12,0.96);
	textChan->Draw();
	TText* textPrelim = doPrelim(0.58,0.96);
	textPrelim->Draw();

	c1->SaveAs("Plots/ControlPlots/2DPlots/"+variable.name+".png");
	c1->SaveAs("Plots/ControlPlots/2DPlots/"+variable.name+".pdf");

	delete c1;
	delete textChan;
	delete textPrelim;
}