Double_t ErGauss(Double_t *x, Double_t *par) { Double_t zz = x[0]; Double_t xx = x[1]; Double_t E0 = par[0]; Double_t Z0 = par[1]; Double_t X0 = par[2]; Double_t f = (X0*X0/xx) * TMath::Exp(-zz*zz/(2*Z0*Z0)) * (1.0-TMath::Exp(-xx*xx/(2*X0*X0))); return f; } void testHisto2D() { gROOT->Reset(); Double_t E0 = 1; Double_t Z0 = 0.1; Double_t X0 = 0.1; TF2 *fErBeam = new TF2("fErBeam",ErGauss,-5*Z0,5*Z0,-30*X0,30*X0,3); fErBeam->SetParameters(E0,Z0,X0); fErBeam->SetParNames("E0","Z0","X0"); fErBeam->SetTitle(""); fErBeam->GetXaxis()->SetTitle("z"); fErBeam->GetYaxis()->SetTitle("x"); gStyle->SetPalette(55); fErBeam->SetContour(128); fErBeam->Draw("colz"); Double_t Max = 0.02; Double_t Min = -0.02; fErBeam->SetMaximum(Max); fErBeam->SetMinimum(Min); fErBeam->Draw("colz"); }