{ gROOT->SetStyle("Plain"); TCanvas c("c", "",600, 600); c.SetTheta(30); c.SetPhi(50); gStyle->SetOptStat(0); gStyle->SetHistTopMargin(0); gStyle->SetOptTitle(kFALSE); TF2 f("f", "[0]*cos(x)*cos(y)", -1, 1, -1, 1); f.SetParameter(0, 1); double s = 1./f.Integral(-1, 1, -1, 1); f.SetParameter(0, s); f.SetNpx(50); f.SetNpy(50); double x[11]={-0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5}; double y[11]={-0.985, -0.8, -0.6, -0.4, -0.2, 0.0, 0.2, 0.4, 0.6, 0.8, 0.985}; double z[11]={0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3}; for(int i = 0; i < 11; ++i) z[i] = s*cos(x[i])*cos(y[i]); TGraph2D g2(11, x, y, z); g2.SetTitle("g2"); g2.SetName("g2"); double xx[2]={-0.5, -0.5}; double yy[2]={-0.985, -0.985}; double zz[2]={0.11, s*cos(-0.5)*cos(-0.985)}; TGraph2D l2(2, xx, yy, zz); l2.SetTitle("l2"); l2.SetName("l2"); f.SetTitle("dP/dxdy=f(x,y)"); f.SetLineWidth(1); f.SetLineColor(kAzure-2); f.GetXaxis()->SetTitle("x"); f.GetXaxis()->SetTitleOffset(1.4); f.GetXaxis()->SetTitleSize(0.04); f.GetXaxis()->CenterTitle(); f.GetXaxis()->SetNdivisions(505); f.GetXaxis()->SetTitleOffset(1.3); f.GetYaxis()->SetTitle("y"); f.GetYaxis()->CenterTitle(); f.GetYaxis()->SetTitleOffset(1.4); f.GetYaxis()->SetTitleSize(0.04); f.GetYaxis()->SetTitleOffset(1.3); f.GetYaxis()->SetNdivisions(505); f.GetZaxis()->SetTitle("dP/dx"); f.GetZaxis()->CenterTitle(); f.GetZaxis()->SetTitleOffset(1.3); f.GetZaxis()->SetNdivisions(505); f.GetZaxis()->SetTitleSize(0.04); f.GetXaxis()->SetLabelSize(0.03); f.GetYaxis()->SetLabelSize(0.03); f.GetZaxis()->SetLabelSize(0.03); f.Draw("surf"); g2.SetLineColor(kRed); g2.SetLineWidth(3); g2.Draw("sameline"); l2.SetLineColor(kRed); l2.SetLineStyle(2); l2.SetLineWidth(1); l2.Draw("sameline"); TLatex txt(0.05, 0, "f(y|x_{0})"); txt.SetTextColor(kRed); txt.Draw(); TLatex txt1(0.12, 0.52, "f(x,y)"); txt1.SetTextColor(kBlue); txt1.Draw(); TLatex txt2(0.28, -0.76, "x_{0}"); txt2.SetTextColor(kRed); txt2.Draw(); c.SaveAs("../figures/2dpdfcond.pdf"); }