RooPoisson.h

Go to the documentation of this file.
00001  /***************************************************************************** 
00002   * Project: RooFit                                                           * 
00003   *                                                                           * 
00004   * Simple Poisson PDF
00005   * author: Kyle Cranmer <cranmer@cern.ch>
00006   *                                                                           * 
00007   *****************************************************************************/ 
00008 
00009 #ifndef ROOPOISSON
00010 #define ROOPOISSON
00011 
00012 #include "RooAbsPdf.h"
00013 #include "RooRealProxy.h"
00014 #include "RooCategoryProxy.h"
00015 #include "RooAbsReal.h"
00016 #include "RooAbsCategory.h"
00017  
00018 class RooPoisson : public RooAbsPdf {
00019 public:
00020   RooPoisson() { _noRounding = kFALSE ; } ;
00021   RooPoisson(const char *name, const char *title, RooAbsReal& _x, RooAbsReal& _mean, Bool_t noRounding=kFALSE);
00022   RooPoisson(const RooPoisson& other, const char* name=0) ;
00023   virtual TObject* clone(const char* newname) const { return new RooPoisson(*this,newname); }
00024   inline virtual ~RooPoisson() { }
00025 
00026   Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
00027   Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ;
00028 
00029   Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const;
00030   void generateEvent(Int_t code);
00031   
00032   void setNoRounding(bool flag = kTRUE){_noRounding = flag;}
00033   void protectNegativeMean(bool flag = kTRUE){_protectNegative = flag;}
00034 
00035 protected:
00036 
00037   RooRealProxy x ;
00038   RooRealProxy mean ;
00039   Bool_t  _noRounding ;
00040   Bool_t  _protectNegative ;
00041   
00042   Double_t evaluate() const ;
00043   Double_t evaluate(Double_t k) const;
00044   
00045 
00046 private:
00047 
00048   ClassDef(RooPoisson,3) // A Poisson PDF
00049 };
00050  
00051 #endif

Generated on Tue Jul 5 14:26:17 2011 for ROOT_528-00b_version by  doxygen 1.5.1