void lognormal() { const int NMAX = 10; TF1* f[4] = { 0 }; double mu[4] = { 0, 0, 1, 2 }; double sigma[4] = { 0.5, 1, 1, 1 }; for( int i = 0; i < 4; ++i ) { f[i] = new TF1( Form( "hlognormal%d", i ), lognormal, 1e-6, 5, 2 ); f[i]->SetTitle( Form( "Log-Normal Probability: #mu = %3.1f, #sigma = %3.1f", mu[i], sigma[i] ) ); f[i]->SetMaximum( 1.0 ); f[i]->SetParameters( mu[i], sigma[i] ); f[i]->SetNpx( 1000 ); f[i]->Draw(); f[i]->GetXaxis()->SetTitle( "x" ); f[i]->GetYaxis()->SetTitle( "f(x;#mu,#sigma)" ); gPad->SaveAs( Form( "lognormal%d.pdf", i ) ); } } double lognormal( double* x, double* par ) { double val = x[0]; double mu = par[0]; double sigma = par[1]; double arg = ( log( val ) - mu ) / sigma; return exp( -0.5*arg*arg ) / ( sqrt( 2*TMath::Pi() ) * sigma * val ); }