#include "rootlogon.h"

#include <TRandom.h>
#include <TMath.h>
#include <TH1F.h>
#include <TCanvas.h>
#include <TF1.h>
#include <TLine.h>

Double_t func(Double_t* x, Double_t* par)
{
  //double par[] = { 1.0 };
  //if(!x || !par) return 0;
  return pow(x[0], par[0]/2.0-1.0)*TMath::Exp(-x[0]/2.0)/(pow(2.0, par[0]/2.0) * TMath::Gamma(par[0]/2.0));
}

TF1* chisquare = new TF1("chisquare", func, 0, 10, 1);

int main(int argc, char* argv[])
{
  rootlogon();

  TCanvas* cnv = new TCanvas;
  chisquare->SetTitle("");
  chisquare->SetParameter(0, 1.0);

  cnv->DrawFrame(0, 0, 10, 0.5);
  //chisquare->GetYaxis()->SetRangeUser(0, 0.5);

  chisquare->DrawCopy("same");
  chisquare->SetParameter(0, 2.0);
  chisquare->SetLineColor(kRed);
  chisquare->DrawCopy("same");
  chisquare->SetParameter(0, 3.0);
  chisquare->SetLineColor(kBlue);
  chisquare->DrawCopy("same");
  chisquare->SetParameter(0, 4.0);
  chisquare->SetLineColor(kGreen);
  chisquare->DrawCopy("same");
  chisquare->SetParameter(0, 5.0);
  chisquare->SetLineColor(kMagenta);
  chisquare->DrawCopy("same");

  cnv->SaveAs("out/chisquare.eps");
}
