File indexing completed on 2025-08-06 08:12:37
0001
0002 double EMG(double *x, double *par)
0003 {
0004 double mu = par[0];
0005 double sigma = par[1];
0006 double lambda = par[2];
0007
0008 double t = x[0];
0009 double z = ( mu + lambda * sigma * sigma - t) / (sqrt(2) * sigma);
0010
0011 double prefactor = lambda / 2.0;
0012 double exp_part = exp((lambda / 2.0) * (2.0 * mu + lambda * sigma * sigma - 2.0 * t));
0013 double erfc_part = TMath::Erfc(z);
0014
0015 return prefactor * exp_part * erfc_part;
0016 }
0017
0018 void drawEMG()
0019 {
0020
0021 TF1 *fEMG = new TF1("fEMG", EMG, -10, 10, 3);
0022 fEMG->SetParameters(0, 1, 1);
0023 fEMG->SetParNames("mu", "sigma", "lambda");
0024
0025 TCanvas *c = new TCanvas("c", "c", 800, 700);
0026 c->cd();
0027 fEMG->Draw();
0028 c->Draw();
0029 c->SaveAs("EMG.png");
0030 c->SaveAs("EMG.pdf");
0031 }