21 int main(
int argc,
char **argv)
32 JParser<> zap(
"Example program to plot various M-Estimators.");
35 zap[
'M'] =
make_field(mestimator) =
"normal",
"lorentzian",
"linear",
"tukey",
"normalwithbackground";
40 catch(
const exception &error) {
41 FATAL(error.what() << endl);
47 if (mestimator ==
"normal")
49 else if (mestimator ==
"lorentzian")
51 else if (mestimator ==
"linear")
53 else if (mestimator ==
"tukey")
55 else if (mestimator ==
"normalwithbackground")
58 FATAL(
"Missing M-Estimator.");
63 TH1D h0(
"rho", NULL, 4000, -10.0, +10.0);
64 TH1D h1(
"psi", NULL, 4000, -10.0, +10.0);
66 for (
int i = 1; i <= h0.GetNbinsX(); ++i) {
68 const double x = h0.GetBinCenter(i);
70 const double rho = me->
getRho(
x);
71 const double psi = me->
getPsi(
x);
73 h0.SetBinContent(i, rho);
74 h1.SetBinContent(i, psi);
int main(int argc, char **argv)
Maximum likelihood estimator (M-estimators).
General purpose messaging.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Utility class to parse command line options.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Normal M-estimator with background.
Tukey's biweight M-estimator.
Interface for maximum likelihood estimator (M-estimator).
virtual double getRho(const double z) const =0
Get maximum likelihood estimate.
virtual double getPsi(const double z) const =0
Get derivative of maximum likelihood estimate.