19 class RooPoisson :
public RooAbsPdf {
21 RooPoisson() { _noRounding = kFALSE ; } ;
22 RooPoisson(
const char *name,
const char *title, RooAbsReal& _x, RooAbsReal& _mean, Bool_t noRounding=kFALSE);
23 RooPoisson(
const RooPoisson& other,
const char* name=0) ;
24 virtual TObject* clone(
const char* newname)
const override {
return new RooPoisson(*
this,newname); }
25 inline virtual ~RooPoisson() { }
27 Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars,
const char* rangeName=0)
const override;
28 Double_t analyticalIntegral(Int_t code,
const char* rangeName=0)
const override;
30 Int_t getGenerator(
const RooArgSet& directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE)
const override;
31 void generateEvent(Int_t code)
override;
33 void setNoRounding(
bool flag = kTRUE) {_noRounding = flag;}
34 void protectNegativeMean(
bool flag = kTRUE) {_protectNegative = flag;}
41 Bool_t _protectNegative ;
43 Double_t evaluate()
const override;
44 RooSpan<double> evaluateBatch(std::size_t begin, std::size_t batchSize)
const override;
46 ClassDefOverride(RooPoisson,3)