Docs | All | Real | Category | PDF | DataSet | Plot | Container | Misc | Aux | User

RooFit Toolkit for Data Modeling

Building more complex PDFs via addition

// Building more complex PDFs via addition
intro2()
{
  // Build two Gaussian PDFs
  RooRealVar x("x","x",0,10) ;
  RooRealVar mean1("mean1","mean of gaussian 1",2) ;
  RooRealVar mean2("mean2","mean of gaussian 2",3) ;
  RooRealVar sigma("sigma","width of gaussians",1) ;
  RooGaussian gauss1("gauss1","gaussian PDF",x,mean1,sigma) ;  
  RooGaussian gauss2("gauss2","gaussian PDF",x,mean2,sigma) ;  
  
  // Build Argus background PDF
  RooRealVar argpar("argpar","argus shape parameter",-1.0) ;
  RooRealVar cutoff("cutoff","argus cutoff",9.0) ;
  RooArgusBG argus("argus","Argus PDF",x,cutoff,argpar) ;

  // Add the components
  RooRealVar g1frac("g1frac","fraction of gauss1",0.5) ;
  RooRealVar g2frac("g2frac","fraction of gauss2",0.1) ;
  RooAddPdf  sum("sum","g1+g2+a",RooArgList(gauss1,gauss2,argus),RooArgList(g1frac,g2frac)) ;

  // Generate a toyMC sample
  RooDataSet *data = sum.generate(x,10000) ;
  
  // Plot data and PDF overlaid
  RooPlot* xframe = x.frame() ;
  data->plotOn(xframe) ;
  sum.plotOn(xframe) ;

  // Plot only argus and gauss1
  sum.plotOn(xframe,Components(RooArgSet(argus,gauss2))) ;

  // Looking at the parameters of a PDF
  RooArgSet *paramList = sum.getParameters(data) ;
  paramList->Print("v") ;

  xframe->Draw() ;
}

Last CVS Update: Top
Copyright © 2000-2005 University of California, Stanford University

Page maintained by Wouter Verkerke and David Kirkby

SourceForge.net Logo